feat: initial commit - Phase 1 & 2 core features

This commit is contained in:
hiderfong
2026-04-22 17:07:33 +08:00
commit 1773bda06b
25005 changed files with 6252106 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
import { EpPropMergeType } from "../../utils/vue/props/types.js";
import { ComponentSize } from "../../constants/size.js";
import "../../utils/index.js";
import * as vue from "vue";
import { InjectionKey, Ref } from "vue";
//#region ../../packages/hooks/use-size/index.d.ts
declare const useSizeProp: {
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
declare const useSizeProps: {
size: {
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
};
interface SizeContext {
size: Ref<ComponentSize>;
}
declare const SIZE_INJECTION_KEY: InjectionKey<SizeContext>;
declare const useGlobalSize: () => vue.ComputedRef<"" | "default" | "small" | "large">;
//#endregion
export { SIZE_INJECTION_KEY, SizeContext, useGlobalSize, useSizeProp, useSizeProps };
+22
View File
@@ -0,0 +1,22 @@
import { componentSizes } from "../../constants/size.mjs";
import { buildProp } from "../../utils/vue/props/runtime.mjs";
import { computed, inject, unref } from "vue";
//#region ../../packages/hooks/use-size/index.ts
const useSizeProp = buildProp({
type: String,
values: componentSizes,
required: false
});
const useSizeProps = { size: useSizeProp };
const SIZE_INJECTION_KEY = Symbol("size");
const useGlobalSize = () => {
const injectedSize = inject(SIZE_INJECTION_KEY, {});
return computed(() => {
return unref(injectedSize.size) || "";
});
};
//#endregion
export { SIZE_INJECTION_KEY, useGlobalSize, useSizeProp, useSizeProps };
//# sourceMappingURL=index.mjs.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../packages/hooks/use-size/index.ts"],"sourcesContent":["import { computed, inject, unref } from 'vue'\nimport { buildProp } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\n\nimport type { InjectionKey, Ref } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\n\nexport const useSizeProp = buildProp({\n type: String,\n values: componentSizes,\n required: false,\n} as const)\n\nexport const useSizeProps = {\n size: useSizeProp,\n}\n\nexport interface SizeContext {\n size: Ref<ComponentSize>\n}\n\nexport const SIZE_INJECTION_KEY: InjectionKey<SizeContext> = Symbol('size')\n\nexport const useGlobalSize = () => {\n const injectedSize = inject(SIZE_INJECTION_KEY, {} as SizeContext)\n\n return computed<ComponentSize>(() => {\n return unref(injectedSize.size) || ''\n })\n}\n"],"mappings":";;;;;AAOA,MAAa,cAAc,UAAU;CACnC,MAAM;CACN,QAAQ;CACR,UAAU;CACX,CAAU;AAEX,MAAa,eAAe,EAC1B,MAAM,aACP;AAMD,MAAa,qBAAgD,OAAO,OAAO;AAE3E,MAAa,sBAAsB;CACjC,MAAM,eAAe,OAAO,oBAAoB,EAAE,CAAgB;AAElE,QAAO,eAA8B;AACnC,SAAO,MAAM,aAAa,KAAK,IAAI;GACnC"}