@element-plus/nightly 0.0.20211231 → 0.0.20220101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/index.full.js +47534 -47505
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +6 -6
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +5125 -5097
  7. package/es/components/config-provider/index.d.ts +1 -1
  8. package/es/components/config-provider/src/config-provider.d.ts +1 -1
  9. package/es/components/config-provider/src/config-provider.mjs +4 -14
  10. package/es/components/config-provider/src/config-provider.mjs.map +1 -1
  11. package/es/components/tree/src/model/tree-store.mjs +1 -1
  12. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  13. package/es/defaults.d.ts +11 -1
  14. package/es/hooks/index.mjs +1 -1
  15. package/es/hooks/use-global-config/index.d.ts +14 -2
  16. package/es/hooks/use-global-config/index.mjs +25 -5
  17. package/es/hooks/use-global-config/index.mjs.map +1 -1
  18. package/es/index.d.ts +11 -1
  19. package/es/index.mjs +1 -1
  20. package/es/make-installer.d.ts +2 -1
  21. package/es/make-installer.mjs +12 -1
  22. package/es/make-installer.mjs.map +1 -1
  23. package/es/tokens/config-provider.d.ts +2 -2
  24. package/es/tokens/config-provider.mjs.map +1 -1
  25. package/es/utils/util.d.ts +1 -0
  26. package/es/utils/util.mjs +12 -1
  27. package/es/utils/util.mjs.map +1 -1
  28. package/es/version.d.ts +1 -1
  29. package/es/version.mjs +1 -1
  30. package/es/version.mjs.map +1 -1
  31. package/lib/components/config-provider/index.d.ts +1 -1
  32. package/lib/components/config-provider/src/config-provider.d.ts +1 -1
  33. package/lib/components/config-provider/src/config-provider.js +3 -13
  34. package/lib/components/config-provider/src/config-provider.js.map +1 -1
  35. package/lib/components/tree/src/model/tree-store.js +1 -1
  36. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  37. package/lib/defaults.d.ts +11 -1
  38. package/lib/hooks/index.js +1 -0
  39. package/lib/hooks/index.js.map +1 -1
  40. package/lib/hooks/use-global-config/index.d.ts +14 -2
  41. package/lib/hooks/use-global-config/index.js +24 -3
  42. package/lib/hooks/use-global-config/index.js.map +1 -1
  43. package/lib/index.d.ts +11 -1
  44. package/lib/index.js +1 -0
  45. package/lib/index.js.map +1 -1
  46. package/lib/make-installer.d.ts +2 -1
  47. package/lib/make-installer.js +12 -1
  48. package/lib/make-installer.js.map +1 -1
  49. package/lib/tokens/config-provider.d.ts +2 -2
  50. package/lib/tokens/config-provider.js.map +1 -1
  51. package/lib/utils/util.d.ts +1 -0
  52. package/lib/utils/util.js +12 -0
  53. package/lib/utils/util.js.map +1 -1
  54. package/lib/version.d.ts +1 -1
  55. package/lib/version.js +1 -1
  56. package/lib/version.js.map +1 -1
  57. package/package.json +2 -2
  58. package/web-types.json +1 -1
@@ -5,7 +5,7 @@ export declare const ElConfigProvider: import("../../utils/types").SFCWithInstal
5
5
  readonly locale: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<import("../../locale").Language>, unknown, unknown, unknown, unknown>;
6
6
  }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
7
7
  [key: string]: any;
8
- }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
8
+ }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
9
9
  readonly size?: unknown;
10
10
  readonly button?: unknown;
11
11
  readonly zIndex?: unknown;
@@ -12,7 +12,7 @@ declare const _default: import("vue").DefineComponent<{
12
12
  readonly locale: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<import("../../../locale").Language>, unknown, unknown, unknown, unknown>;
13
13
  }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
14
14
  [key: string]: any;
15
- }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
15
+ }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
16
16
  readonly size?: unknown;
17
17
  readonly button?: unknown;
18
18
  readonly zIndex?: unknown;
@@ -1,11 +1,8 @@
1
- import { defineComponent, provide, watch } from 'vue';
1
+ import { defineComponent, renderSlot } from 'vue';
2
2
  import { buildProps, definePropType } from '../../../utils/props.mjs';
3
3
  import '../../../hooks/index.mjs';
4
- import '../../../tokens/index.mjs';
5
- import { PopupManager } from '../../../utils/popup-manager.mjs';
6
- import { isNumber } from '../../../utils/util.mjs';
7
4
  import { useLocaleProps, provideLocale } from '../../../hooks/use-locale/index.mjs';
8
- import { configProviderContextKey } from '../../../tokens/config-provider.mjs';
5
+ import { provideGlobalConfig } from '../../../hooks/use-global-config/index.mjs';
9
6
 
10
7
  const configProviderProps = buildProps({
11
8
  ...useLocaleProps,
@@ -25,15 +22,8 @@ var ConfigProvider = defineComponent({
25
22
  props: configProviderProps,
26
23
  setup(props, { slots }) {
27
24
  provideLocale();
28
- provide(configProviderContextKey, props);
29
- watch(() => props.zIndex, () => {
30
- if (isNumber(props.zIndex))
31
- PopupManager.globalInitialZIndex = props.zIndex;
32
- }, { immediate: true });
33
- return () => {
34
- var _a;
35
- return (_a = slots.default) == null ? void 0 : _a.call(slots);
36
- };
25
+ const config = provideGlobalConfig(props);
26
+ return () => renderSlot(slots, "default", { config: config == null ? void 0 : config.value });
37
27
  }
38
28
  });
39
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"config-provider.mjs","sources":["../../../../../../packages/components/config-provider/src/config-provider.ts"],"sourcesContent":["import { provide, defineComponent, watch } from 'vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { useLocaleProps, provideLocale } from '@element-plus/hooks'\nimport { configProviderContextKey } from '@element-plus/tokens'\nimport { PopupManager } from '@element-plus/utils/popup-manager'\nimport { isNumber } from '@element-plus/utils/util'\nimport type { ButtonConfigContext } from '@element-plus/components/button'\n\nexport const configProviderProps = buildProps({\n ...useLocaleProps,\n\n size: {\n type: String,\n values: ['large', 'default', 'small'],\n },\n\n button: {\n type: definePropType<ButtonConfigContext>(Object),\n },\n\n zIndex: {\n type: Number,\n },\n} as const)\n\nexport default defineComponent({\n name: 'ElConfigProvider',\n props: configProviderProps,\n\n setup(props, { slots }) {\n provideLocale()\n provide(configProviderContextKey, props)\n\n watch(\n () => props.zIndex,\n () => {\n if (isNumber(props.zIndex))\n PopupManager.globalInitialZIndex = props.zIndex\n },\n { immediate: true }\n )\n\n return () => slots.default?.()\n },\n})\n"],"names":[],"mappings":";;;;;;;;;AAMY,MAAC,mBAAmB,GAAG,UAAU,CAAC;AAC9C,EAAE,GAAG,cAAc;AACnB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AACzC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC,EAAE;AACH,qBAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,mBAAmB;AAC5B,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;AAC1B,IAAI,aAAa,EAAE,CAAC;AACpB,IAAI,OAAO,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM;AACpC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AAChC,QAAQ,YAAY,CAAC,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC;AACxD,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5B,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpE,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"config-provider.mjs","sources":["../../../../../../packages/components/config-provider/src/config-provider.ts"],"sourcesContent":["import { defineComponent, renderSlot } from 'vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport {\n useLocaleProps,\n provideLocale,\n provideGlobalConfig,\n} from '@element-plus/hooks'\nimport type { ButtonConfigContext } from '@element-plus/components/button'\n\nexport const configProviderProps = buildProps({\n ...useLocaleProps,\n\n size: {\n type: String,\n values: ['large', 'default', 'small'],\n },\n\n button: {\n type: definePropType<ButtonConfigContext>(Object),\n },\n\n zIndex: {\n type: Number,\n },\n} as const)\n\nexport default defineComponent({\n name: 'ElConfigProvider',\n props: configProviderProps,\n\n setup(props, { slots }) {\n provideLocale()\n const config = provideGlobalConfig(props)\n return () => renderSlot(slots, 'default', { config: config?.value })\n },\n})\n"],"names":[],"mappings":";;;;;;AAOY,MAAC,mBAAmB,GAAG,UAAU,CAAC;AAC9C,EAAE,GAAG,cAAc;AACnB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AACzC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC,EAAE;AACH,qBAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,mBAAmB;AAC5B,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;AAC1B,IAAI,aAAa,EAAE,CAAC;AACpB,IAAI,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAI,OAAO,MAAM,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAClG,GAAG;AACH,CAAC,CAAC;;;;"}
@@ -197,7 +197,7 @@ class TreeStore {
197
197
  }
198
198
  _setCheckedKeys(key, leafOnly = false, checkedKeys) {
199
199
  const allNodes = this._getAllNodes().sort((a, b) => b.level - a.level);
200
- const cache = Object.create(null);
200
+ const cache = /* @__PURE__ */ Object.create(null);
201
201
  const keys = Object.keys(checkedKeys);
202
202
  allNodes.forEach((node) => node.setChecked(false, false));
203
203
  for (let i = 0, j = allNodes.length; i < j; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"tree-store.mjs","sources":["../../../../../../../packages/components/tree/src/model/tree-store.ts"],"sourcesContent":["import { hasOwn } from '@vue/shared'\nimport Node from './node'\nimport { getNodeKey } from './util'\n\nimport type {\n TreeKey,\n TreeData,\n TreeStoreNodesMap,\n LoadFunction,\n FilterNodeMethodFunction,\n TreeOptionProps,\n TreeStoreOptions,\n FilterValue,\n TreeNodeData,\n} from '../tree.type'\n\nexport default class TreeStore {\n currentNode: Node\n currentNodeKey: TreeKey\n nodesMap: TreeStoreNodesMap\n root: Node\n data: TreeData\n lazy: boolean\n load: LoadFunction\n filterNodeMethod: FilterNodeMethodFunction\n key: TreeKey\n defaultCheckedKeys: TreeKey[]\n checkStrictly: boolean\n defaultExpandedKeys: TreeKey[]\n autoExpandParent: boolean\n defaultExpandAll: boolean\n checkDescendants: boolean\n props: TreeOptionProps\n\n constructor(options: TreeStoreOptions) {\n this.currentNode = null\n this.currentNodeKey = null\n\n for (const option in options) {\n if (hasOwn(options, option)) {\n this[option] = options[option]\n }\n }\n\n this.nodesMap = {}\n }\n\n initialize() {\n this.root = new Node({\n data: this.data,\n store: this,\n })\n this.root.initialize()\n\n if (this.lazy && this.load) {\n const loadFn = this.load\n loadFn(this.root, (data) => {\n this.root.doCreateChildren(data)\n this._initDefaultCheckedNodes()\n })\n } else {\n this._initDefaultCheckedNodes()\n }\n }\n\n filter(value: FilterValue): void {\n const filterNodeMethod = this.filterNodeMethod\n const lazy = this.lazy\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n child.visible = filterNodeMethod.call(child, value, child.data, child)\n\n traverse(child)\n })\n\n if (!(node as Node).visible && childNodes.length) {\n let allHidden = true\n allHidden = !childNodes.some((child) => child.visible)\n\n if ((node as TreeStore).root) {\n ;(node as TreeStore).root.visible = allHidden === false\n } else {\n ;(node as Node).visible = allHidden === false\n }\n }\n if (!value) return\n\n if ((node as Node).visible && !(node as Node).isLeaf && !lazy)\n (node as Node).expand()\n }\n\n traverse(this)\n }\n\n setData(newVal: TreeData): void {\n const instanceChanged = newVal !== this.root.data\n if (instanceChanged) {\n this.root.setData(newVal)\n this._initDefaultCheckedNodes()\n } else {\n this.root.updateChildren()\n }\n }\n\n getNode(data: TreeKey | TreeNodeData): Node {\n if (data instanceof Node) return data\n const key = typeof data !== 'object' ? data : getNodeKey(this.key, data)\n return this.nodesMap[key] || null\n }\n\n insertBefore(data: TreeNodeData, refData: TreeKey | TreeNodeData): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertBefore({ data }, refNode)\n }\n\n insertAfter(data: TreeNodeData, refData: TreeKey | TreeNodeData): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertAfter({ data }, refNode)\n }\n\n remove(data: TreeNodeData | Node): void {\n const node = this.getNode(data)\n\n if (node && node.parent) {\n if (node === this.currentNode) {\n this.currentNode = null\n }\n node.parent.removeChild(node)\n }\n }\n\n append(data: TreeNodeData, parentData: TreeNodeData | TreeKey | Node): void {\n const parentNode = parentData ? this.getNode(parentData) : this.root\n\n if (parentNode) {\n parentNode.insertChild({ data })\n }\n }\n\n _initDefaultCheckedNodes(): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n const nodesMap = this.nodesMap\n\n defaultCheckedKeys.forEach((checkedKey) => {\n const node = nodesMap[checkedKey]\n\n if (node) {\n node.setChecked(true, !this.checkStrictly)\n }\n })\n }\n\n _initDefaultCheckedNode(node: Node): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n\n if (defaultCheckedKeys.indexOf(node.key) !== -1) {\n node.setChecked(true, !this.checkStrictly)\n }\n }\n\n setDefaultCheckedKey(newVal: TreeKey[]): void {\n if (newVal !== this.defaultCheckedKeys) {\n this.defaultCheckedKeys = newVal\n this._initDefaultCheckedNodes()\n }\n }\n\n registerNode(node: Node): void {\n const key = this.key\n if (!node || !node.data) return\n\n if (!key) {\n this.nodesMap[node.id] = node\n } else {\n const nodeKey = node.key\n if (nodeKey !== undefined) this.nodesMap[node.key] = node\n }\n }\n\n deregisterNode(node: Node): void {\n const key = this.key\n if (!key || !node || !node.data) return\n\n node.childNodes.forEach((child) => {\n this.deregisterNode(child)\n })\n\n delete this.nodesMap[node.key]\n }\n\n getCheckedNodes(\n leafOnly = false,\n includeHalfChecked = false\n ): TreeNodeData[] {\n const checkedNodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (\n (child.checked || (includeHalfChecked && child.indeterminate)) &&\n (!leafOnly || (leafOnly && child.isLeaf))\n ) {\n checkedNodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return checkedNodes\n }\n\n getCheckedKeys(leafOnly = false): TreeKey[] {\n return this.getCheckedNodes(leafOnly).map((data) => (data || {})[this.key])\n }\n\n getHalfCheckedNodes(): TreeNodeData[] {\n const nodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (child.indeterminate) {\n nodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return nodes\n }\n\n getHalfCheckedKeys(): TreeKey[] {\n return this.getHalfCheckedNodes().map((data) => (data || {})[this.key])\n }\n\n _getAllNodes(): Node[] {\n const allNodes: Node[] = []\n const nodesMap = this.nodesMap\n for (const nodeKey in nodesMap) {\n if (hasOwn(nodesMap, nodeKey)) {\n allNodes.push(nodesMap[nodeKey])\n }\n }\n\n return allNodes\n }\n\n updateChildren(key: TreeKey, data: TreeData): void {\n const node = this.nodesMap[key]\n if (!node) return\n const childNodes = node.childNodes\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const child = childNodes[i]\n this.remove(child.data)\n }\n for (let i = 0, j = data.length; i < j; i++) {\n const child = data[i]\n this.append(child, node.data)\n }\n }\n\n _setCheckedKeys(\n key: TreeKey,\n leafOnly = false,\n checkedKeys: { [key: string]: boolean }\n ): void {\n const allNodes = this._getAllNodes().sort((a, b) => b.level - a.level)\n const cache = Object.create(null)\n const keys = Object.keys(checkedKeys)\n allNodes.forEach((node) => node.setChecked(false, false))\n for (let i = 0, j = allNodes.length; i < j; i++) {\n const node = allNodes[i]\n const nodeKey = node.data[key].toString()\n const checked = keys.indexOf(nodeKey) > -1\n if (!checked) {\n if (node.checked && !cache[nodeKey]) {\n node.setChecked(false, false)\n }\n continue\n }\n\n let parent = node.parent\n while (parent && parent.level > 0) {\n cache[parent.data[key]] = true\n parent = parent.parent\n }\n\n if (node.isLeaf || this.checkStrictly) {\n node.setChecked(true, false)\n continue\n }\n node.setChecked(true, true)\n\n if (leafOnly) {\n node.setChecked(false, false)\n const traverse = function (node: Node): void {\n const childNodes = node.childNodes\n childNodes.forEach((child) => {\n if (!child.isLeaf) {\n child.setChecked(false, false)\n }\n traverse(child)\n })\n }\n traverse(node)\n }\n }\n }\n\n setCheckedNodes(array: Node[], leafOnly = false): void {\n const key = this.key\n const checkedKeys = {}\n array.forEach((item) => {\n checkedKeys[(item || {})[key]] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setCheckedKeys(keys: TreeKey[], leafOnly = false): void {\n this.defaultCheckedKeys = keys\n const key = this.key\n const checkedKeys = {}\n keys.forEach((key) => {\n checkedKeys[key] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setDefaultExpandedKeys(keys: TreeKey[]) {\n keys = keys || []\n this.defaultExpandedKeys = keys\n keys.forEach((key) => {\n const node = this.getNode(key)\n if (node) node.expand(null, this.autoExpandParent)\n })\n }\n\n setChecked(\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ): void {\n const node = this.getNode(data)\n\n if (node) {\n node.setChecked(!!checked, deep)\n }\n }\n\n getCurrentNode(): Node {\n return this.currentNode\n }\n\n setCurrentNode(currentNode: Node): void {\n const prevCurrentNode = this.currentNode\n if (prevCurrentNode) {\n prevCurrentNode.isCurrent = false\n }\n this.currentNode = currentNode\n this.currentNode.isCurrent = true\n }\n\n setUserCurrentNode(node: Node, shouldAutoExpandParent = true): void {\n const key = node[this.key]\n const currNode = this.nodesMap[key]\n this.setCurrentNode(currNode)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n\n setCurrentNodeKey(key: TreeKey, shouldAutoExpandParent = true): void {\n if (key === null || key === undefined) {\n this.currentNode && (this.currentNode.isCurrent = false)\n this.currentNode = null\n return\n }\n const node = this.getNode(key)\n if (node) {\n this.setCurrentNode(node)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree-store.mjs","sources":["../../../../../../../packages/components/tree/src/model/tree-store.ts"],"sourcesContent":["import { hasOwn } from '@vue/shared'\nimport Node from './node'\nimport { getNodeKey } from './util'\n\nimport type {\n TreeKey,\n TreeData,\n TreeStoreNodesMap,\n LoadFunction,\n FilterNodeMethodFunction,\n TreeOptionProps,\n TreeStoreOptions,\n FilterValue,\n TreeNodeData,\n} from '../tree.type'\n\nexport default class TreeStore {\n currentNode: Node\n currentNodeKey: TreeKey\n nodesMap: TreeStoreNodesMap\n root: Node\n data: TreeData\n lazy: boolean\n load: LoadFunction\n filterNodeMethod: FilterNodeMethodFunction\n key: TreeKey\n defaultCheckedKeys: TreeKey[]\n checkStrictly: boolean\n defaultExpandedKeys: TreeKey[]\n autoExpandParent: boolean\n defaultExpandAll: boolean\n checkDescendants: boolean\n props: TreeOptionProps\n\n constructor(options: TreeStoreOptions) {\n this.currentNode = null\n this.currentNodeKey = null\n\n for (const option in options) {\n if (hasOwn(options, option)) {\n this[option] = options[option]\n }\n }\n\n this.nodesMap = {}\n }\n\n initialize() {\n this.root = new Node({\n data: this.data,\n store: this,\n })\n this.root.initialize()\n\n if (this.lazy && this.load) {\n const loadFn = this.load\n loadFn(this.root, (data) => {\n this.root.doCreateChildren(data)\n this._initDefaultCheckedNodes()\n })\n } else {\n this._initDefaultCheckedNodes()\n }\n }\n\n filter(value: FilterValue): void {\n const filterNodeMethod = this.filterNodeMethod\n const lazy = this.lazy\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n child.visible = filterNodeMethod.call(child, value, child.data, child)\n\n traverse(child)\n })\n\n if (!(node as Node).visible && childNodes.length) {\n let allHidden = true\n allHidden = !childNodes.some((child) => child.visible)\n\n if ((node as TreeStore).root) {\n ;(node as TreeStore).root.visible = allHidden === false\n } else {\n ;(node as Node).visible = allHidden === false\n }\n }\n if (!value) return\n\n if ((node as Node).visible && !(node as Node).isLeaf && !lazy)\n (node as Node).expand()\n }\n\n traverse(this)\n }\n\n setData(newVal: TreeData): void {\n const instanceChanged = newVal !== this.root.data\n if (instanceChanged) {\n this.root.setData(newVal)\n this._initDefaultCheckedNodes()\n } else {\n this.root.updateChildren()\n }\n }\n\n getNode(data: TreeKey | TreeNodeData): Node {\n if (data instanceof Node) return data\n const key = typeof data !== 'object' ? data : getNodeKey(this.key, data)\n return this.nodesMap[key] || null\n }\n\n insertBefore(data: TreeNodeData, refData: TreeKey | TreeNodeData): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertBefore({ data }, refNode)\n }\n\n insertAfter(data: TreeNodeData, refData: TreeKey | TreeNodeData): void {\n const refNode = this.getNode(refData)\n refNode.parent.insertAfter({ data }, refNode)\n }\n\n remove(data: TreeNodeData | Node): void {\n const node = this.getNode(data)\n\n if (node && node.parent) {\n if (node === this.currentNode) {\n this.currentNode = null\n }\n node.parent.removeChild(node)\n }\n }\n\n append(data: TreeNodeData, parentData: TreeNodeData | TreeKey | Node): void {\n const parentNode = parentData ? this.getNode(parentData) : this.root\n\n if (parentNode) {\n parentNode.insertChild({ data })\n }\n }\n\n _initDefaultCheckedNodes(): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n const nodesMap = this.nodesMap\n\n defaultCheckedKeys.forEach((checkedKey) => {\n const node = nodesMap[checkedKey]\n\n if (node) {\n node.setChecked(true, !this.checkStrictly)\n }\n })\n }\n\n _initDefaultCheckedNode(node: Node): void {\n const defaultCheckedKeys = this.defaultCheckedKeys || []\n\n if (defaultCheckedKeys.indexOf(node.key) !== -1) {\n node.setChecked(true, !this.checkStrictly)\n }\n }\n\n setDefaultCheckedKey(newVal: TreeKey[]): void {\n if (newVal !== this.defaultCheckedKeys) {\n this.defaultCheckedKeys = newVal\n this._initDefaultCheckedNodes()\n }\n }\n\n registerNode(node: Node): void {\n const key = this.key\n if (!node || !node.data) return\n\n if (!key) {\n this.nodesMap[node.id] = node\n } else {\n const nodeKey = node.key\n if (nodeKey !== undefined) this.nodesMap[node.key] = node\n }\n }\n\n deregisterNode(node: Node): void {\n const key = this.key\n if (!key || !node || !node.data) return\n\n node.childNodes.forEach((child) => {\n this.deregisterNode(child)\n })\n\n delete this.nodesMap[node.key]\n }\n\n getCheckedNodes(\n leafOnly = false,\n includeHalfChecked = false\n ): TreeNodeData[] {\n const checkedNodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (\n (child.checked || (includeHalfChecked && child.indeterminate)) &&\n (!leafOnly || (leafOnly && child.isLeaf))\n ) {\n checkedNodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return checkedNodes\n }\n\n getCheckedKeys(leafOnly = false): TreeKey[] {\n return this.getCheckedNodes(leafOnly).map((data) => (data || {})[this.key])\n }\n\n getHalfCheckedNodes(): TreeNodeData[] {\n const nodes: TreeNodeData[] = []\n const traverse = function (node: TreeStore | Node) {\n const childNodes = (node as TreeStore).root\n ? (node as TreeStore).root.childNodes\n : (node as Node).childNodes\n\n childNodes.forEach((child) => {\n if (child.indeterminate) {\n nodes.push(child.data)\n }\n\n traverse(child)\n })\n }\n\n traverse(this)\n\n return nodes\n }\n\n getHalfCheckedKeys(): TreeKey[] {\n return this.getHalfCheckedNodes().map((data) => (data || {})[this.key])\n }\n\n _getAllNodes(): Node[] {\n const allNodes: Node[] = []\n const nodesMap = this.nodesMap\n for (const nodeKey in nodesMap) {\n if (hasOwn(nodesMap, nodeKey)) {\n allNodes.push(nodesMap[nodeKey])\n }\n }\n\n return allNodes\n }\n\n updateChildren(key: TreeKey, data: TreeData): void {\n const node = this.nodesMap[key]\n if (!node) return\n const childNodes = node.childNodes\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const child = childNodes[i]\n this.remove(child.data)\n }\n for (let i = 0, j = data.length; i < j; i++) {\n const child = data[i]\n this.append(child, node.data)\n }\n }\n\n _setCheckedKeys(\n key: TreeKey,\n leafOnly = false,\n checkedKeys: { [key: string]: boolean }\n ): void {\n const allNodes = this._getAllNodes().sort((a, b) => b.level - a.level)\n const cache = Object.create(null)\n const keys = Object.keys(checkedKeys)\n allNodes.forEach((node) => node.setChecked(false, false))\n for (let i = 0, j = allNodes.length; i < j; i++) {\n const node = allNodes[i]\n const nodeKey = node.data[key].toString()\n const checked = keys.indexOf(nodeKey) > -1\n if (!checked) {\n if (node.checked && !cache[nodeKey]) {\n node.setChecked(false, false)\n }\n continue\n }\n\n let parent = node.parent\n while (parent && parent.level > 0) {\n cache[parent.data[key]] = true\n parent = parent.parent\n }\n\n if (node.isLeaf || this.checkStrictly) {\n node.setChecked(true, false)\n continue\n }\n node.setChecked(true, true)\n\n if (leafOnly) {\n node.setChecked(false, false)\n const traverse = function (node: Node): void {\n const childNodes = node.childNodes\n childNodes.forEach((child) => {\n if (!child.isLeaf) {\n child.setChecked(false, false)\n }\n traverse(child)\n })\n }\n traverse(node)\n }\n }\n }\n\n setCheckedNodes(array: Node[], leafOnly = false): void {\n const key = this.key\n const checkedKeys = {}\n array.forEach((item) => {\n checkedKeys[(item || {})[key]] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setCheckedKeys(keys: TreeKey[], leafOnly = false): void {\n this.defaultCheckedKeys = keys\n const key = this.key\n const checkedKeys = {}\n keys.forEach((key) => {\n checkedKeys[key] = true\n })\n\n this._setCheckedKeys(key, leafOnly, checkedKeys)\n }\n\n setDefaultExpandedKeys(keys: TreeKey[]) {\n keys = keys || []\n this.defaultExpandedKeys = keys\n keys.forEach((key) => {\n const node = this.getNode(key)\n if (node) node.expand(null, this.autoExpandParent)\n })\n }\n\n setChecked(\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ): void {\n const node = this.getNode(data)\n\n if (node) {\n node.setChecked(!!checked, deep)\n }\n }\n\n getCurrentNode(): Node {\n return this.currentNode\n }\n\n setCurrentNode(currentNode: Node): void {\n const prevCurrentNode = this.currentNode\n if (prevCurrentNode) {\n prevCurrentNode.isCurrent = false\n }\n this.currentNode = currentNode\n this.currentNode.isCurrent = true\n }\n\n setUserCurrentNode(node: Node, shouldAutoExpandParent = true): void {\n const key = node[this.key]\n const currNode = this.nodesMap[key]\n this.setCurrentNode(currNode)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n\n setCurrentNodeKey(key: TreeKey, shouldAutoExpandParent = true): void {\n if (key === null || key === undefined) {\n this.currentNode && (this.currentNode.isCurrent = false)\n this.currentNode = null\n return\n }\n const node = this.getNode(key)\n if (node) {\n this.setCurrentNode(node)\n if (shouldAutoExpandParent && this.currentNode.level > 1) {\n this.currentNode.parent.expand(null, true)\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
package/es/defaults.d.ts CHANGED
@@ -1,5 +1,15 @@
1
1
  declare const _default: {
2
2
  version: string;
3
- install: (app: import("vue").App<any>) => void;
3
+ install: (app: import("vue").App<any>, options?: {
4
+ readonly size?: unknown;
5
+ readonly button?: unknown;
6
+ readonly zIndex?: unknown;
7
+ readonly locale?: unknown;
8
+ } & {} & {
9
+ button?: import("./components").ButtonConfigContext | undefined;
10
+ size?: import("./utils/props").BuildPropType<StringConstructor, "small" | "default" | "large", unknown> | undefined;
11
+ locale?: import("./locale").Language | undefined;
12
+ zIndex?: number | undefined;
13
+ }) => void;
4
14
  };
5
15
  export default _default;
@@ -2,7 +2,7 @@ export { useAttrs } from './use-attrs/index.mjs';
2
2
  export { useDisabled, useSize, useSizeProp } from './use-common-props/index.mjs';
3
3
  export { useFocus } from './use-focus/index.mjs';
4
4
  export { useFormItem } from './use-form-item/index.mjs';
5
- export { useGlobalConfig } from './use-global-config/index.mjs';
5
+ export { provideGlobalConfig, useGlobalConfig } from './use-global-config/index.mjs';
6
6
  export { buildTranslator, localeContextKey, localeProviderMaker, provideLocale, translate, useLocale, useLocaleProps } from './use-locale/index.mjs';
7
7
  export { useLockscreen } from './use-lockscreen/index.mjs';
8
8
  export { useModal } from './use-modal/index.mjs';
@@ -1,4 +1,16 @@
1
- import type { Ref } from 'vue';
1
+ import type { MaybeRef } from '@vueuse/core';
2
+ import type { Ref, App } from 'vue';
2
3
  import type { ConfigProviderContext } from 'element-plus/es/tokens';
3
4
  export declare function useGlobalConfig<K extends keyof ConfigProviderContext>(key: K): Ref<ConfigProviderContext[K]>;
4
- export declare function useGlobalConfig(): ConfigProviderContext;
5
+ export declare function useGlobalConfig(): Ref<ConfigProviderContext>;
6
+ export declare const provideGlobalConfig: (config: MaybeRef<ConfigProviderContext>, app?: App<any> | undefined) => import("vue").ComputedRef<{
7
+ readonly size?: unknown;
8
+ readonly button?: unknown;
9
+ readonly zIndex?: unknown;
10
+ readonly locale?: unknown;
11
+ } & {} & {
12
+ button?: import("../..").ButtonConfigContext | undefined;
13
+ size?: import("../../utils/props").BuildPropType<StringConstructor, "small" | "default" | "large", unknown> | undefined;
14
+ locale?: import("../../locale").Language | undefined;
15
+ zIndex?: number | undefined;
16
+ }> | undefined;
@@ -1,17 +1,37 @@
1
- import { inject, toRef, ref } from 'vue';
1
+ import { ref, inject, computed, getCurrentInstance, provide, unref } from 'vue';
2
2
  import '../../tokens/index.mjs';
3
- import '../../utils/util.mjs';
3
+ import { merge } from '../../utils/util.mjs';
4
+ import { debugWarn } from '../../utils/error.mjs';
4
5
  import { configProviderContextKey } from '../../tokens/config-provider.mjs';
5
6
  import { isObject, hasOwn } from '@vue/shared';
6
7
 
8
+ const fallback = ref({});
7
9
  function useGlobalConfig(key) {
8
- const config = inject(configProviderContextKey, {});
10
+ const config = inject(configProviderContextKey, fallback);
9
11
  if (key) {
10
- return isObject(config) && hasOwn(config, key) ? toRef(config, key) : ref(void 0);
12
+ return isObject(config.value) && hasOwn(config.value, key) ? computed(() => config.value[key]) : ref(void 0);
11
13
  } else {
12
14
  return config;
13
15
  }
14
16
  }
17
+ const provideGlobalConfig = (config, app) => {
18
+ var _a;
19
+ const inSetup = !!getCurrentInstance();
20
+ const oldConfig = inSetup ? useGlobalConfig() : void 0;
21
+ const provideFn = (_a = app == null ? void 0 : app.provide) != null ? _a : inSetup ? provide : void 0;
22
+ if (!provideFn) {
23
+ debugWarn("provideGlobalConfig", "provideGlobalConfig() can only be used inside setup().");
24
+ return;
25
+ }
26
+ const context = computed(() => {
27
+ const cfg = unref(config);
28
+ if (!oldConfig)
29
+ return cfg;
30
+ return merge(oldConfig.value, cfg);
31
+ });
32
+ provideFn(configProviderContextKey, context);
33
+ return context;
34
+ };
15
35
 
16
- export { useGlobalConfig };
36
+ export { provideGlobalConfig, useGlobalConfig };
17
37
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-global-config/index.ts"],"sourcesContent":["import { inject, ref, toRef } from 'vue'\nimport { configProviderContextKey } from '@element-plus/tokens'\nimport { hasOwn, isObject } from '@element-plus/utils/util'\nimport type { Ref } from 'vue'\nimport type { ConfigProviderContext } from '@element-plus/tokens'\n\nexport function useGlobalConfig<K extends keyof ConfigProviderContext>(\n key: K\n): Ref<ConfigProviderContext[K]>\nexport function useGlobalConfig(): ConfigProviderContext\nexport function useGlobalConfig(key?: keyof ConfigProviderContext) {\n const config = inject(configProviderContextKey, {})\n if (key) {\n return isObject(config) && hasOwn(config, key)\n ? toRef(config, key)\n : ref(undefined)\n } else {\n return config\n }\n}\n"],"names":[],"mappings":";;;;;;AAGO,SAAS,eAAe,CAAC,GAAG,EAAE;AACrC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;AACtD,EAAE,IAAI,GAAG,EAAE;AACX,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACtF,GAAG,MAAM;AACT,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-global-config/index.ts"],"sourcesContent":["import { inject, ref, computed, unref, provide, getCurrentInstance } from 'vue'\nimport { configProviderContextKey } from '@element-plus/tokens'\nimport { hasOwn, isObject, merge } from '@element-plus/utils/util'\nimport { debugWarn } from '@element-plus/utils/error'\nimport type { MaybeRef } from '@vueuse/core'\nimport type { Ref, App } from 'vue'\nimport type { ConfigProviderContext } from '@element-plus/tokens'\n\nconst fallback = ref<ConfigProviderContext>({})\n\nexport function useGlobalConfig<K extends keyof ConfigProviderContext>(\n key: K\n): Ref<ConfigProviderContext[K]>\nexport function useGlobalConfig(): Ref<ConfigProviderContext>\nexport function useGlobalConfig(key?: keyof ConfigProviderContext) {\n const config = inject(configProviderContextKey, fallback)\n if (key) {\n return isObject(config.value) && hasOwn(config.value, key)\n ? computed(() => config.value[key])\n : ref(undefined)\n } else {\n return config\n }\n}\n\nexport const provideGlobalConfig = (\n config: MaybeRef<ConfigProviderContext>,\n app?: App\n) => {\n const inSetup = !!getCurrentInstance()\n const oldConfig = inSetup ? useGlobalConfig() : undefined\n\n const provideFn = app?.provide ?? (inSetup ? provide : undefined)\n if (!provideFn) {\n debugWarn(\n 'provideGlobalConfig',\n 'provideGlobalConfig() can only be used inside setup().'\n )\n return\n }\n\n const context = computed(() => {\n const cfg = unref(config)\n if (!oldConfig) return cfg\n return merge(oldConfig.value, cfg)\n })\n provideFn(configProviderContextKey, context)\n return context\n}\n"],"names":[],"mappings":";;;;;;;AAIA,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,SAAS,eAAe,CAAC,GAAG,EAAE;AACrC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AAC5D,EAAE,IAAI,GAAG,EAAE;AACX,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACjH,GAAG,MAAM;AACT,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,CAAC;AACW,MAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK;AACpD,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC;AACzC,EAAE,MAAM,SAAS,GAAG,OAAO,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC;AACzD,EAAE,MAAM,SAAS,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,KAAK,IAAI,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;AACxG,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,SAAS,CAAC,qBAAqB,EAAE,wDAAwD,CAAC,CAAC;AAC/F,IAAI,OAAO;AACX,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AACjC,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,IAAI,IAAI,CAAC,SAAS;AAClB,MAAM,OAAO,GAAG,CAAC;AACjB,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;AAC/C,EAAE,OAAO,OAAO,CAAC;AACjB;;;;"}
package/es/index.d.ts CHANGED
@@ -4,6 +4,16 @@ export * from 'element-plus/es/directives';
4
4
  export * from 'element-plus/es/hooks';
5
5
  export * from 'element-plus/es/tokens';
6
6
  export { makeInstaller } from './make-installer';
7
- export declare const install: (app: import("vue").App<any>) => void;
7
+ export declare const install: (app: import("vue").App<any>, options?: {
8
+ readonly size?: unknown;
9
+ readonly button?: unknown;
10
+ readonly zIndex?: unknown;
11
+ readonly locale?: unknown;
12
+ } & {} & {
13
+ button?: import("element-plus/es/components").ButtonConfigContext | undefined;
14
+ size?: import("./utils/props").BuildPropType<StringConstructor, "small" | "default" | "large", unknown> | undefined;
15
+ locale?: import("./locale").Language | undefined;
16
+ zIndex?: number | undefined;
17
+ }) => void;
8
18
  export declare const version: string;
9
19
  export default installer;
package/es/index.mjs CHANGED
@@ -158,7 +158,7 @@ export { useAttrs } from './hooks/use-attrs/index.mjs';
158
158
  export { useDisabled, useSize, useSizeProp } from './hooks/use-common-props/index.mjs';
159
159
  export { useFocus } from './hooks/use-focus/index.mjs';
160
160
  export { useFormItem } from './hooks/use-form-item/index.mjs';
161
- export { useGlobalConfig } from './hooks/use-global-config/index.mjs';
161
+ export { provideGlobalConfig, useGlobalConfig } from './hooks/use-global-config/index.mjs';
162
162
  export { buildTranslator, localeContextKey, localeProviderMaker, provideLocale, translate, useLocale, useLocaleProps } from './hooks/use-locale/index.mjs';
163
163
  export { useLockscreen } from './hooks/use-lockscreen/index.mjs';
164
164
  export { useModal } from './hooks/use-modal/index.mjs';
@@ -1,5 +1,6 @@
1
1
  import type { App, Plugin } from 'vue';
2
+ import type { ConfigProviderContext } from 'element-plus/es/tokens';
2
3
  export declare const makeInstaller: (components?: Plugin[]) => {
3
4
  version: string;
4
- install: (app: App) => void;
5
+ install: (app: App, options?: ConfigProviderContext) => void;
5
6
  };
@@ -1,12 +1,23 @@
1
+ import { watch, unref } from 'vue';
2
+ import './hooks/index.mjs';
3
+ import { isNumber } from './utils/util.mjs';
4
+ import { PopupManager } from './utils/popup-manager.mjs';
1
5
  import { version } from './version.mjs';
6
+ import { provideGlobalConfig } from './hooks/use-global-config/index.mjs';
2
7
 
3
8
  const INSTALLED_KEY = Symbol("INSTALLED_KEY");
4
9
  const makeInstaller = (components = []) => {
5
- const install = (app) => {
10
+ const install = (app, options = {}) => {
6
11
  if (app[INSTALLED_KEY])
7
12
  return;
8
13
  app[INSTALLED_KEY] = true;
9
14
  components.forEach((c) => app.use(c));
15
+ provideGlobalConfig(options, app);
16
+ watch(() => unref(options).zIndex, () => {
17
+ const zIndex = unref(options).zIndex;
18
+ if (isNumber(zIndex))
19
+ PopupManager.globalInitialZIndex = zIndex;
20
+ }, { immediate: true });
10
21
  };
11
22
  return {
12
23
  version,
@@ -1 +1 @@
1
- {"version":3,"file":"make-installer.mjs","sources":["../../../packages/element-plus/make-installer.ts"],"sourcesContent":["import { version } from './version'\nimport type { App, Plugin } from 'vue'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\n\nexport const makeInstaller = (components: Plugin[] = []) => {\n const install = (app: App) => {\n if (app[INSTALLED_KEY]) return\n\n app[INSTALLED_KEY] = true\n components.forEach((c) => app.use(c))\n }\n\n return {\n version,\n install,\n }\n}\n"],"names":[],"mappings":";;AACA,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAClC,MAAC,aAAa,GAAG,CAAC,UAAU,GAAG,EAAE,KAAK;AAClD,EAAE,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK;AAC3B,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC;AAC1B,MAAM,OAAO;AACb,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AAC9B,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,OAAO;AACX,IAAI,OAAO;AACX,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"make-installer.mjs","sources":["../../../packages/element-plus/make-installer.ts"],"sourcesContent":["import { watch, unref } from 'vue'\nimport { provideGlobalConfig } from '@element-plus/hooks'\nimport { isNumber } from '@element-plus/utils/util'\nimport { PopupManager } from '@element-plus/utils/popup-manager'\nimport { version } from './version'\nimport type { App, Plugin } from 'vue'\nimport type { ConfigProviderContext } from '@element-plus/tokens'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\n\nexport const makeInstaller = (components: Plugin[] = []) => {\n const install = (app: App, options: ConfigProviderContext = {}) => {\n if (app[INSTALLED_KEY]) return\n\n app[INSTALLED_KEY] = true\n components.forEach((c) => app.use(c))\n provideGlobalConfig(options, app)\n\n watch(\n () => unref(options).zIndex,\n () => {\n const zIndex = unref(options).zIndex\n if (isNumber(zIndex)) PopupManager.globalInitialZIndex = zIndex\n },\n { immediate: true }\n )\n }\n\n return {\n version,\n install,\n }\n}\n"],"names":[],"mappings":";;;;;;;AAKA,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAClC,MAAC,aAAa,GAAG,CAAC,UAAU,GAAG,EAAE,KAAK;AAClD,EAAE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,KAAK;AACzC,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC;AAC1B,MAAM,OAAO;AACb,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AAC9B,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,IAAI,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM;AAC7C,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAC3C,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;AAC1B,QAAQ,YAAY,CAAC,mBAAmB,GAAG,MAAM,CAAC;AAClD,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,OAAO;AACX,IAAI,OAAO;AACX,GAAG,CAAC;AACJ;;;;"}
@@ -1,4 +1,4 @@
1
1
  import type { configProviderProps } from 'element-plus/es/components/config-provider';
2
- import type { InjectionKey, ExtractPropTypes } from 'vue';
2
+ import type { InjectionKey, ExtractPropTypes, Ref } from 'vue';
3
3
  export declare type ConfigProviderContext = ExtractPropTypes<typeof configProviderProps>;
4
- export declare const configProviderContextKey: InjectionKey<ConfigProviderContext>;
4
+ export declare const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>>;
@@ -1 +1 @@
1
- {"version":3,"file":"config-provider.mjs","sources":["../../../../packages/tokens/config-provider.ts"],"sourcesContent":["import type { configProviderProps } from '@element-plus/components/config-provider'\nimport type { InjectionKey, ExtractPropTypes } from 'vue'\n\nexport type ConfigProviderContext = ExtractPropTypes<typeof configProviderProps>\n\nexport const configProviderContextKey: InjectionKey<ConfigProviderContext> =\n Symbol()\n"],"names":[],"mappings":"AAAY,MAAC,wBAAwB,GAAG,MAAM;;;;"}
1
+ {"version":3,"file":"config-provider.mjs","sources":["../../../../packages/tokens/config-provider.ts"],"sourcesContent":["import type { configProviderProps } from '@element-plus/components/config-provider'\nimport type { InjectionKey, ExtractPropTypes, Ref } from 'vue'\n\nexport type ConfigProviderContext = ExtractPropTypes<typeof configProviderProps>\n\nexport const configProviderContextKey: InjectionKey<\n Ref<ConfigProviderContext>\n> = Symbol()\n"],"names":[],"mappings":"AAAY,MAAC,wBAAwB,GAAG,MAAM;;;;"}
@@ -52,3 +52,4 @@ export declare function isEqualWithFunction(obj: any, other: any): boolean;
52
52
  * @returns (val: T) => void
53
53
  */
54
54
  export declare const refAttacher: <T extends HTMLElement | ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>>(ref: Ref<T>) => (val: T) => void;
55
+ export declare const merge: <T extends Record<string, any>>(a: T, b: T) => T;
package/es/utils/util.mjs CHANGED
@@ -138,6 +138,17 @@ const refAttacher = (ref) => {
138
138
  ref.value = val;
139
139
  };
140
140
  };
141
+ const merge = (a, b) => {
142
+ var _a;
143
+ const keys = [
144
+ .../* @__PURE__ */ new Set([...Object.keys(a), ...Object.keys(b)])
145
+ ];
146
+ const obj = {};
147
+ for (const key of keys) {
148
+ obj[key] = (_a = b[key]) != null ? _a : a[key];
149
+ }
150
+ return obj;
151
+ };
141
152
 
142
- export { SCOPE, addUnit, arrayFlat, autoprefixer, clearTimer, coerceTruthyValueToArray, deduplicate, escapeRegexpString, generateId, getPropByPath, getRandomInt, getValueByPath, isBool, isEmpty, isEqualWithFunction, isFirefox, isHTMLElement, isNumber, isUndefined, kebabCase, rafThrottle, refAttacher, toObject };
153
+ export { SCOPE, addUnit, arrayFlat, autoprefixer, clearTimer, coerceTruthyValueToArray, deduplicate, escapeRegexpString, generateId, getPropByPath, getRandomInt, getValueByPath, isBool, isEmpty, isEqualWithFunction, isFirefox, isHTMLElement, isNumber, isUndefined, kebabCase, merge, rafThrottle, refAttacher, toObject };
143
154
  //# sourceMappingURL=util.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.mjs","sources":["../../../../packages/utils/util.ts"],"sourcesContent":["import {\n camelize,\n capitalize,\n extend,\n hasOwn,\n hyphenate,\n isArray,\n isObject,\n isString,\n isFunction,\n looseEqual,\n toRawType,\n} from '@vue/shared'\nimport isEqualWith from 'lodash/isEqualWith'\nimport { isClient } from '@vueuse/core'\nimport { debugWarn, throwError } from './error'\n\nimport type { ComponentPublicInstance, CSSProperties, Ref } from 'vue'\nimport type { TimeoutHandle, Nullable } from './types'\n\nexport const SCOPE = 'Util'\n\nexport function toObject<T>(arr: Array<T>): Record<string, T> {\n const res = {}\n for (let i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i])\n }\n }\n return res\n}\n\nexport const getValueByPath = (obj, paths = ''): unknown => {\n let ret: unknown = obj\n paths.split('.').map((path) => {\n ret = ret?.[path]\n })\n return ret\n}\n\nexport function getPropByPath(\n obj: any,\n path: string,\n strict: boolean\n): {\n o: unknown\n k: string\n v: Nullable<unknown>\n} {\n let tempObj = obj\n let key, value\n\n if (obj && hasOwn(obj, path)) {\n key = path\n value = tempObj?.[path]\n } else {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1')\n path = path.replace(/^\\./, '')\n\n const keyArr = path.split('.')\n let i = 0\n for (i; i < keyArr.length - 1; i++) {\n if (!tempObj && !strict) break\n const key = keyArr[i]\n\n if (key in tempObj) {\n tempObj = tempObj[key]\n } else {\n if (strict) {\n throwError(SCOPE, 'Please transfer a valid prop path to form item!')\n }\n break\n }\n }\n key = keyArr[i]\n value = tempObj?.[keyArr[i]]\n }\n return {\n o: tempObj,\n k: key,\n v: value,\n }\n}\n\n/**\n * Generate random number in range [0, 1000]\n * Maybe replace with [uuid](https://www.npmjs.com/package/uuid)\n */\nexport const generateId = (): number => Math.floor(Math.random() * 10000)\n\n// use isEqual instead\n// export const valueEquals\n\nexport const escapeRegexpString = (value = ''): string =>\n String(value).replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\n// Use native Array.find, Array.findIndex instead\n\n// coerce truthy value to array\nexport const coerceTruthyValueToArray = (arr) => {\n if (!arr && arr !== 0) {\n return []\n }\n return Array.isArray(arr) ? arr : [arr]\n}\n\n// drop IE and (Edge < 79) support\n// export const isIE\n// export const isEdge\n\nexport const isFirefox = function (): boolean {\n return isClient && !!window.navigator.userAgent.match(/firefox/i)\n}\n\nexport const autoprefixer = function (style: CSSProperties): CSSProperties {\n const rules = ['transform', 'transition', 'animation']\n const prefixes = ['ms-', 'webkit-']\n rules.forEach((rule) => {\n const value = style[rule]\n if (rule && value) {\n prefixes.forEach((prefix) => {\n style[prefix + rule] = value\n })\n }\n })\n return style\n}\n\nexport const kebabCase = hyphenate\n\n// reexport from lodash & vue shared\nexport { isVNode } from 'vue'\nexport {\n hasOwn,\n // isEmpty,\n // isEqual,\n isObject,\n isArray,\n isString,\n capitalize,\n camelize,\n looseEqual,\n extend,\n}\n\nexport const isBool = (val: unknown): val is boolean => typeof val === 'boolean'\nexport const isNumber = (val: unknown): val is number => typeof val === 'number'\nexport const isHTMLElement = (val: unknown) => toRawType(val).startsWith('HTML')\n\nexport function rafThrottle<T extends (...args: any) => any>(fn: T): T {\n let locked = false\n return function (this: ThisParameterType<T>, ...args: any[]) {\n if (locked) return\n locked = true\n\n window.requestAnimationFrame(() => {\n Reflect.apply(fn, this, args)\n locked = false\n })\n } as T\n}\n\nexport const clearTimer = (timer: Ref<TimeoutHandle>) => {\n clearTimeout(timer.value)\n timer.value = null\n}\n\n/**\n * Generating a random int in range (0, max - 1)\n * @param max {number}\n */\nexport function getRandomInt(max: number) {\n return Math.floor(Math.random() * Math.floor(max))\n}\n\nexport function isUndefined(val: any): val is undefined {\n return val === undefined\n}\n\nexport function isEmpty(val: unknown) {\n if (\n (!val && val !== 0) ||\n (isArray(val) && !val.length) ||\n (isObject(val) && !Object.keys(val).length)\n )\n return true\n\n return false\n}\n\nexport function arrayFlat(arr: unknown[]) {\n return arr.reduce((acm: unknown[], item) => {\n const val = Array.isArray(item) ? arrayFlat(item) : item\n return acm.concat(val)\n }, [])\n}\n\nexport function deduplicate<T>(arr: T[]) {\n return Array.from(new Set(arr))\n}\n\nexport function addUnit(value: string | number) {\n if (isString(value)) {\n return value\n } else if (isNumber(value)) {\n return `${value}px`\n }\n debugWarn(SCOPE, 'binding value must be a string or number')\n return ''\n}\n\n/**\n * Enhance `lodash.isEqual` for it always return false even two functions have completely same statements.\n * @param obj The value to compare\n * @param other The other value to compare\n * @returns Returns `true` if the values are equivalent, else `false`.\n * @example\n * lodash.isEqual(() => 1, () => 1) // false\n * isEqualWith(() => 1, () => 1) // true\n */\nexport function isEqualWithFunction(obj: any, other: any) {\n return isEqualWith(obj, other, (objVal, otherVal) => {\n return isFunction(objVal) && isFunction(otherVal)\n ? `${objVal}` === `${otherVal}`\n : undefined\n })\n}\n\n/**\n * Generate function for attach ref for the h renderer\n * @param ref Ref<HTMLElement | ComponentPublicInstance>\n * @returns (val: T) => void\n */\n\nexport const refAttacher = <T extends HTMLElement | ComponentPublicInstance>(\n ref: Ref<T>\n) => {\n return (val: T) => {\n ref.value = val\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.mjs","sources":["../../../../packages/utils/util.ts"],"sourcesContent":["import {\n camelize,\n capitalize,\n extend,\n hasOwn,\n hyphenate,\n isArray,\n isObject,\n isString,\n isFunction,\n looseEqual,\n toRawType,\n} from '@vue/shared'\nimport isEqualWith from 'lodash/isEqualWith'\nimport { isClient } from '@vueuse/core'\nimport { debugWarn, throwError } from './error'\n\nimport type { ComponentPublicInstance, CSSProperties, Ref } from 'vue'\nimport type { TimeoutHandle, Nullable } from './types'\n\nexport const SCOPE = 'Util'\n\nexport function toObject<T>(arr: Array<T>): Record<string, T> {\n const res = {}\n for (let i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i])\n }\n }\n return res\n}\n\nexport const getValueByPath = (obj, paths = ''): unknown => {\n let ret: unknown = obj\n paths.split('.').map((path) => {\n ret = ret?.[path]\n })\n return ret\n}\n\nexport function getPropByPath(\n obj: any,\n path: string,\n strict: boolean\n): {\n o: unknown\n k: string\n v: Nullable<unknown>\n} {\n let tempObj = obj\n let key, value\n\n if (obj && hasOwn(obj, path)) {\n key = path\n value = tempObj?.[path]\n } else {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1')\n path = path.replace(/^\\./, '')\n\n const keyArr = path.split('.')\n let i = 0\n for (i; i < keyArr.length - 1; i++) {\n if (!tempObj && !strict) break\n const key = keyArr[i]\n\n if (key in tempObj) {\n tempObj = tempObj[key]\n } else {\n if (strict) {\n throwError(SCOPE, 'Please transfer a valid prop path to form item!')\n }\n break\n }\n }\n key = keyArr[i]\n value = tempObj?.[keyArr[i]]\n }\n return {\n o: tempObj,\n k: key,\n v: value,\n }\n}\n\n/**\n * Generate random number in range [0, 1000]\n * Maybe replace with [uuid](https://www.npmjs.com/package/uuid)\n */\nexport const generateId = (): number => Math.floor(Math.random() * 10000)\n\n// use isEqual instead\n// export const valueEquals\n\nexport const escapeRegexpString = (value = ''): string =>\n String(value).replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\n// Use native Array.find, Array.findIndex instead\n\n// coerce truthy value to array\nexport const coerceTruthyValueToArray = (arr) => {\n if (!arr && arr !== 0) {\n return []\n }\n return Array.isArray(arr) ? arr : [arr]\n}\n\n// drop IE and (Edge < 79) support\n// export const isIE\n// export const isEdge\n\nexport const isFirefox = function (): boolean {\n return isClient && !!window.navigator.userAgent.match(/firefox/i)\n}\n\nexport const autoprefixer = function (style: CSSProperties): CSSProperties {\n const rules = ['transform', 'transition', 'animation']\n const prefixes = ['ms-', 'webkit-']\n rules.forEach((rule) => {\n const value = style[rule]\n if (rule && value) {\n prefixes.forEach((prefix) => {\n style[prefix + rule] = value\n })\n }\n })\n return style\n}\n\nexport const kebabCase = hyphenate\n\n// reexport from lodash & vue shared\nexport { isVNode } from 'vue'\nexport {\n hasOwn,\n // isEmpty,\n // isEqual,\n isObject,\n isArray,\n isString,\n capitalize,\n camelize,\n looseEqual,\n extend,\n}\n\nexport const isBool = (val: unknown): val is boolean => typeof val === 'boolean'\nexport const isNumber = (val: unknown): val is number => typeof val === 'number'\nexport const isHTMLElement = (val: unknown) => toRawType(val).startsWith('HTML')\n\nexport function rafThrottle<T extends (...args: any) => any>(fn: T): T {\n let locked = false\n return function (this: ThisParameterType<T>, ...args: any[]) {\n if (locked) return\n locked = true\n\n window.requestAnimationFrame(() => {\n Reflect.apply(fn, this, args)\n locked = false\n })\n } as T\n}\n\nexport const clearTimer = (timer: Ref<TimeoutHandle>) => {\n clearTimeout(timer.value)\n timer.value = null\n}\n\n/**\n * Generating a random int in range (0, max - 1)\n * @param max {number}\n */\nexport function getRandomInt(max: number) {\n return Math.floor(Math.random() * Math.floor(max))\n}\n\nexport function isUndefined(val: any): val is undefined {\n return val === undefined\n}\n\nexport function isEmpty(val: unknown) {\n if (\n (!val && val !== 0) ||\n (isArray(val) && !val.length) ||\n (isObject(val) && !Object.keys(val).length)\n )\n return true\n\n return false\n}\n\nexport function arrayFlat(arr: unknown[]) {\n return arr.reduce((acm: unknown[], item) => {\n const val = Array.isArray(item) ? arrayFlat(item) : item\n return acm.concat(val)\n }, [])\n}\n\nexport function deduplicate<T>(arr: T[]) {\n return Array.from(new Set(arr))\n}\n\nexport function addUnit(value: string | number) {\n if (isString(value)) {\n return value\n } else if (isNumber(value)) {\n return `${value}px`\n }\n debugWarn(SCOPE, 'binding value must be a string or number')\n return ''\n}\n\n/**\n * Enhance `lodash.isEqual` for it always return false even two functions have completely same statements.\n * @param obj The value to compare\n * @param other The other value to compare\n * @returns Returns `true` if the values are equivalent, else `false`.\n * @example\n * lodash.isEqual(() => 1, () => 1) // false\n * isEqualWith(() => 1, () => 1) // true\n */\nexport function isEqualWithFunction(obj: any, other: any) {\n return isEqualWith(obj, other, (objVal, otherVal) => {\n return isFunction(objVal) && isFunction(otherVal)\n ? `${objVal}` === `${otherVal}`\n : undefined\n })\n}\n\n/**\n * Generate function for attach ref for the h renderer\n * @param ref Ref<HTMLElement | ComponentPublicInstance>\n * @returns (val: T) => void\n */\n\nexport const refAttacher = <T extends HTMLElement | ComponentPublicInstance>(\n ref: Ref<T>\n) => {\n return (val: T) => {\n ref.value = val\n }\n}\n\nexport const merge = <T extends Record<string, any>>(a: T, b: T) => {\n const keys = [\n ...new Set([...Object.keys(a), ...Object.keys(b)]),\n ] as (keyof T)[]\n const obj = {} as T\n for (const key of keys) {\n obj[key] = b[key] ?? a[key]\n }\n return obj\n}\n"],"names":[],"mappings":"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"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20211231";
1
+ export declare const version = "0.0.20220101";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20211231";
1
+ const version = "0.0.20220101";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20211231'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220101'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -5,7 +5,7 @@ export declare const ElConfigProvider: import("../../utils/types").SFCWithInstal
5
5
  readonly locale: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<import("../../locale").Language>, unknown, unknown, unknown, unknown>;
6
6
  }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
7
7
  [key: string]: any;
8
- }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
8
+ }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
9
9
  readonly size?: unknown;
10
10
  readonly button?: unknown;
11
11
  readonly zIndex?: unknown;
@@ -12,7 +12,7 @@ declare const _default: import("vue").DefineComponent<{
12
12
  readonly locale: import("element-plus/es/utils/props").BuildPropReturn<import("element-plus/es/utils/props").PropWrapper<import("../../../locale").Language>, unknown, unknown, unknown, unknown>;
13
13
  }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
14
14
  [key: string]: any;
15
- }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
15
+ }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
16
16
  readonly size?: unknown;
17
17
  readonly button?: unknown;
18
18
  readonly zIndex?: unknown;
@@ -5,11 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  var props = require('../../../utils/props.js');
7
7
  require('../../../hooks/index.js');
8
- require('../../../tokens/index.js');
9
- var popupManager = require('../../../utils/popup-manager.js');
10
- var util = require('../../../utils/util.js');
11
8
  var index = require('../../../hooks/use-locale/index.js');
12
- var configProvider = require('../../../tokens/config-provider.js');
9
+ var index$1 = require('../../../hooks/use-global-config/index.js');
13
10
 
14
11
  const configProviderProps = props.buildProps({
15
12
  ...index.useLocaleProps,
@@ -29,15 +26,8 @@ var ConfigProvider = vue.defineComponent({
29
26
  props: configProviderProps,
30
27
  setup(props, { slots }) {
31
28
  index.provideLocale();
32
- vue.provide(configProvider.configProviderContextKey, props);
33
- vue.watch(() => props.zIndex, () => {
34
- if (util.isNumber(props.zIndex))
35
- popupManager.PopupManager.globalInitialZIndex = props.zIndex;
36
- }, { immediate: true });
37
- return () => {
38
- var _a;
39
- return (_a = slots.default) == null ? void 0 : _a.call(slots);
40
- };
29
+ const config = index$1.provideGlobalConfig(props);
30
+ return () => vue.renderSlot(slots, "default", { config: config == null ? void 0 : config.value });
41
31
  }
42
32
  });
43
33
 
@@ -1 +1 @@
1
- {"version":3,"file":"config-provider.js","sources":["../../../../../../packages/components/config-provider/src/config-provider.ts"],"sourcesContent":["import { provide, defineComponent, watch } from 'vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { useLocaleProps, provideLocale } from '@element-plus/hooks'\nimport { configProviderContextKey } from '@element-plus/tokens'\nimport { PopupManager } from '@element-plus/utils/popup-manager'\nimport { isNumber } from '@element-plus/utils/util'\nimport type { ButtonConfigContext } from '@element-plus/components/button'\n\nexport const configProviderProps = buildProps({\n ...useLocaleProps,\n\n size: {\n type: String,\n values: ['large', 'default', 'small'],\n },\n\n button: {\n type: definePropType<ButtonConfigContext>(Object),\n },\n\n zIndex: {\n type: Number,\n },\n} as const)\n\nexport default defineComponent({\n name: 'ElConfigProvider',\n props: configProviderProps,\n\n setup(props, { slots }) {\n provideLocale()\n provide(configProviderContextKey, props)\n\n watch(\n () => props.zIndex,\n () => {\n if (isNumber(props.zIndex))\n PopupManager.globalInitialZIndex = props.zIndex\n },\n { immediate: true }\n )\n\n return () => slots.default?.()\n },\n})\n"],"names":["buildProps","useLocaleProps","definePropType","defineComponent","provideLocale","provide","configProviderContextKey","watch","isNumber","PopupManager"],"mappings":";;;;;;;;;;;;;AAMY,MAAC,mBAAmB,GAAGA,gBAAU,CAAC;AAC9C,EAAE,GAAGC,oBAAc;AACnB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AACzC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAEC,oBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC,EAAE;AACH,qBAAeC,mBAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,mBAAmB;AAC5B,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;AAC1B,IAAIC,mBAAa,EAAE,CAAC;AACpB,IAAIC,WAAO,CAACC,uCAAwB,EAAE,KAAK,CAAC,CAAC;AAC7C,IAAIC,SAAK,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM;AACpC,MAAM,IAAIC,aAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AAChC,QAAQC,yBAAY,CAAC,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC;AACxD,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5B,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpE,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;;"}
1
+ {"version":3,"file":"config-provider.js","sources":["../../../../../../packages/components/config-provider/src/config-provider.ts"],"sourcesContent":["import { defineComponent, renderSlot } from 'vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport {\n useLocaleProps,\n provideLocale,\n provideGlobalConfig,\n} from '@element-plus/hooks'\nimport type { ButtonConfigContext } from '@element-plus/components/button'\n\nexport const configProviderProps = buildProps({\n ...useLocaleProps,\n\n size: {\n type: String,\n values: ['large', 'default', 'small'],\n },\n\n button: {\n type: definePropType<ButtonConfigContext>(Object),\n },\n\n zIndex: {\n type: Number,\n },\n} as const)\n\nexport default defineComponent({\n name: 'ElConfigProvider',\n props: configProviderProps,\n\n setup(props, { slots }) {\n provideLocale()\n const config = provideGlobalConfig(props)\n return () => renderSlot(slots, 'default', { config: config?.value })\n },\n})\n"],"names":["buildProps","useLocaleProps","definePropType","defineComponent","provideLocale","provideGlobalConfig","renderSlot"],"mappings":";;;;;;;;;;AAOY,MAAC,mBAAmB,GAAGA,gBAAU,CAAC;AAC9C,EAAE,GAAGC,oBAAc;AACnB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AACzC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAEC,oBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC,EAAE;AACH,qBAAeC,mBAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,mBAAmB;AAC5B,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;AAC1B,IAAIC,mBAAa,EAAE,CAAC;AACpB,IAAI,MAAM,MAAM,GAAGC,2BAAmB,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAI,OAAO,MAAMC,cAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAClG,GAAG;AACH,CAAC,CAAC;;;;;"}
@@ -201,7 +201,7 @@ class TreeStore {
201
201
  }
202
202
  _setCheckedKeys(key, leafOnly = false, checkedKeys) {
203
203
  const allNodes = this._getAllNodes().sort((a, b) => b.level - a.level);
204
- const cache = Object.create(null);
204
+ const cache = /* @__PURE__ */ Object.create(null);
205
205
  const keys = Object.keys(checkedKeys);
206
206
  allNodes.forEach((node) => node.setChecked(false, false));
207
207
  for (let i = 0, j = allNodes.length; i < j; i++) {