yuyeon 0.2.2 → 0.2.3-rc.1
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.
- package/dist/style.css +1 -1
- package/dist/yuyeon.js +1955 -2002
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/components/dialog/YDialog.mjs +1 -1
- package/lib/components/dialog/YDialog.mjs.map +1 -1
- package/lib/components/switch/YSwitch.mjs +162 -209
- package/lib/components/switch/YSwitch.mjs.map +1 -1
- package/lib/components/switch/YSwitch.scss +211 -204
- package/lib/components/table/YDataTableHead.mjs +1 -1
- package/lib/components/table/YDataTableHead.mjs.map +1 -1
- package/lib/components/tree-view/YTreeView.mjs +1 -1
- package/lib/components/tree-view/YTreeView.mjs.map +1 -1
- package/lib/index.mjs +3 -2
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
- package/types/components/dropdown/YDropdown.d.ts +12 -12
- package/types/components/select/YSelect.d.ts +13 -13
- package/types/components/switch/YSwitch.d.ts +101 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTreeView.mjs","names":["computed","defineComponent","onMounted","provide","ref","shallowRef","watch","watchEffect","useModelDuplex","useRender","differenceBetween","isColorValue","deepEqual","getObjectValueByPath","hasOwnProperty","chooseProps","debounce","YProgressBar","YTreeViewNode","pressYTreeViewNodeProps","filterTreeItem","filterTreeItems","getKeys","treeViewNodeProps","YTreeView","name","props","expanded","type","Array","default","active","multipleActive","Boolean","activeStrategy","String","selected","selectStrategy","returnItem","defaultExpand","Number","filter","Function","searchDebounceWait","emits","setup","_ref","slots","emit","expose","nodes","expandedSet","Set","selectedSet","activeSet","excludedSet","filterItemsFn","excludeItem","expandedCache","searchLoading","items","search","arguments","length","undefined","excluded","value","diff","forEach","key","updateExpanded","item","itemKey","itemText","itemChildren","expand","getDescendants","descendants","childKeys","push","remains","slice","childKey","splice","getNodeKey","itemOrKey","updateNodes","parentKey","level","children","exist","existNode","vnode","indeterminate","node","map","child","add","issueVnodeState","to","isArray","delete","neo","deep","until","Object","entries","_ref2","emitExpanded","updateActive","event","inactiveKey","requiredActive","size","activeSingleModifier","getModifierState","descendant","updateSelected","arr","emitActive","emitSelected","stateWatcher","stateSet","updater","emitter","valuesOfKey","v","old","oldKeys","keys","nodeKey","neoKeys","k","oldSelected","oldActive","clear","flush","isExcluded","has","register","renderLeaves","leaf","classes","styles","color","activeColor","activeValue","selectedValue","_createVNode","_Fragment","_mergeProps","_createTextVNode"],"sources":["../../../src/components/tree-view/YTreeView.tsx"],"sourcesContent":["import {\r\n type PropType,\r\n type Ref,\r\n type VNode,\r\n computed,\r\n defineComponent,\r\n onMounted,\r\n provide,\r\n ref,\r\n shallowRef,\r\n watch,\r\n watchEffect,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { CandidateKey } from '@/types';\r\nimport { differenceBetween } from '@/util/array';\r\nimport { isColorValue } from '@/util/color';\r\nimport { deepEqual, getObjectValueByPath, hasOwnProperty } from '@/util/common';\r\nimport { chooseProps } from '@/util/component';\r\nimport { debounce } from '@/util/debounce';\r\n\r\nimport { YProgressBar } from '../progress-bar';\r\nimport { YTreeViewNode, pressYTreeViewNodeProps } from './YTreeViewNode';\r\nimport { NodeState, TreeviewFilterFn } from './types';\r\nimport { filterTreeItem, filterTreeItems, getKeys } from './util';\r\n\r\nimport './YTreeView.scss';\r\n\r\nconst treeViewNodeProps = pressYTreeViewNodeProps();\r\n\r\nexport const YTreeView = defineComponent({\r\n name: 'YTreeView',\r\n props: {\r\n expanded: {\r\n type: [Array] as PropType<CandidateKey[]>,\r\n default: () => [],\r\n },\r\n active: {\r\n type: [Array] as PropType<CandidateKey[]>,\r\n default: () => [],\r\n },\r\n multipleActive: Boolean,\r\n activeStrategy: {\r\n type: String as PropType<'independent' | 'cascade'>, // TODO: 'leaf'\r\n default: 'independent',\r\n },\r\n selected: {\r\n type: [Array] as PropType<CandidateKey[]>,\r\n default: () => [],\r\n },\r\n selectStrategy: {\r\n type: String as PropType<'independent' | 'cascade'>, // TODO: 'leaf'\r\n default: 'leaf',\r\n },\r\n returnItem: Boolean,\r\n defaultExpand: [Boolean, String, Number],\r\n filter: Function as PropType<TreeviewFilterFn>,\r\n searchDebounceWait: {\r\n type: Number as PropType<number>,\r\n default: 700,\r\n },\r\n ...treeViewNodeProps,\r\n },\r\n emits: ['update:expanded', 'update:active', 'update:selected'],\r\n setup(props, { slots, emit, expose }) {\r\n const nodes = ref<Record<CandidateKey, any>>({});\r\n\r\n const expanded = useModelDuplex(props, 'expanded');\r\n const active = useModelDuplex(props, 'active');\r\n const selected = useModelDuplex(props, 'selected');\r\n\r\n const expandedSet = ref(new Set<CandidateKey>());\r\n const selectedSet = ref(new Set<CandidateKey>());\r\n const activeSet = ref(new Set<CandidateKey>());\r\n const excludedSet = ref(new Set<CandidateKey>());\r\n const filterItemsFn = shallowRef(\r\n debounce(excludeItem, props.searchDebounceWait),\r\n );\r\n const expandedCache = ref<CandidateKey[]>([]);\r\n const searchLoading = shallowRef(false);\r\n\r\n function excludeItem(items: any[], search = '', filter = filterTreeItem) {\r\n const excluded = new Set<CandidateKey>();\r\n if (!search) {\r\n searchLoading.value = false;\r\n excludedSet.value = excluded;\r\n const diff = differenceBetween(expandedCache.value, [\r\n ...expandedSet.value,\r\n ]);\r\n diff.forEach((key) => {\r\n updateExpanded(key, false);\r\n });\r\n expandedCache.value.forEach((key) => {\r\n updateExpanded(key, true);\r\n });\r\n return;\r\n }\r\n for (const item of items) {\r\n filterTreeItems(\r\n filter,\r\n item,\r\n search ?? '',\r\n props.itemKey,\r\n props.itemText,\r\n props.itemChildren as string,\r\n excluded,\r\n );\r\n }\r\n excludedSet.value = excluded;\r\n searchLoading.value = false;\r\n expand();\r\n }\r\n\r\n watchEffect(() => {\r\n searchLoading.value = true;\r\n filterItemsFn.value(props.items, props.search, props.filter);\r\n });\r\n\r\n // Util Methods\r\n function getDescendants(key: CandidateKey) {\r\n const descendants: CandidateKey[] = [];\r\n const { childKeys } = nodes.value[key];\r\n descendants.push(...childKeys);\r\n const remains: CandidateKey[] = childKeys.slice();\r\n\r\n while (remains.length > 0) {\r\n const childKey: CandidateKey = remains.splice(0, 1)[0];\r\n const item = nodes.value[childKey];\r\n if (item) {\r\n descendants.push(...item.childKeys);\r\n remains.push(...item.childKeys);\r\n }\r\n }\r\n\r\n return descendants;\r\n }\r\n\r\n function getNodeKey(itemOrKey: any) {\r\n return props.returnItem\r\n ? getObjectValueByPath(itemOrKey, props.itemKey)\r\n : itemOrKey;\r\n }\r\n\r\n // State Methods\r\n function updateNodes(\r\n items: any[],\r\n parentKey: CandidateKey | null = null,\r\n level = 0,\r\n ) {\r\n for (const item of items) {\r\n const key = getObjectValueByPath(item, props.itemKey);\r\n const children =\r\n getObjectValueByPath(item, props.itemChildren as string) ?? [];\r\n const exist = hasOwnProperty(nodes.value, key);\r\n const existNode = exist\r\n ? nodes.value[key]\r\n : {\r\n vnode: null,\r\n selected: false,\r\n indeterminate: false,\r\n active: false,\r\n expanded: false,\r\n };\r\n const node: NodeState = {\r\n vnode: existNode.vnode,\r\n item,\r\n level,\r\n parentKey,\r\n childKeys: children.map((child: any) =>\r\n getObjectValueByPath(child, props.itemKey),\r\n ),\r\n expanded: children.length > 0 && existNode.expanded,\r\n active: existNode.active,\r\n indeterminate: existNode.indeterminate,\r\n selected: existNode.selected,\r\n };\r\n\r\n updateNodes(children, key, level + 1);\r\n\r\n nodes.value[key] = node;\r\n if (nodes.value[key].expanded) {\r\n expandedSet.value.add(key);\r\n }\r\n if (nodes.value[key].selected) {\r\n expandedSet.value.add(key);\r\n }\r\n if (nodes.value[key].active) {\r\n activeSet.value.add(key);\r\n }\r\n\r\n issueVnodeState(key);\r\n }\r\n }\r\n\r\n function updateExpanded(key: CandidateKey, to: boolean) {\r\n if (!(key in nodes.value)) return;\r\n const node = nodes.value[key];\r\n const children = getObjectValueByPath(\r\n node.item,\r\n props.itemChildren as string,\r\n );\r\n if (Array.isArray(children) && children.length > 0) {\r\n to ? expandedSet.value.add(key) : expandedSet.value.delete(key);\r\n node.expanded = to;\r\n issueVnodeState(key);\r\n }\r\n }\r\n\r\n watch(\r\n expandedSet,\r\n (neo) => {\r\n if (!props.search) {\r\n expandedCache.value = [...neo];\r\n }\r\n },\r\n { deep: true },\r\n );\r\n\r\n function expand(until: boolean | string | number = true) {\r\n Object.entries(nodes.value).forEach(([key, node]) => {\r\n if (until === true || until >= node.level) {\r\n updateExpanded(key, true);\r\n }\r\n });\r\n emitExpanded();\r\n return expandedSet.value;\r\n }\r\n\r\n function updateActive(key: CandidateKey, to: boolean, event?: MouseEvent) {\r\n if (!(key in nodes.value)) return;\r\n const node = nodes.value[key];\r\n let inactiveKey = !to ? key : '';\r\n if (!props.multipleActive) {\r\n [inactiveKey] = [...activeSet.value];\r\n }\r\n if (to) {\r\n activeSet.value.add(key);\r\n node.active = true;\r\n issueVnodeState(key);\r\n } else {\r\n if (\r\n props.requiredActive &&\r\n activeSet.value.size === 1 &&\r\n key === inactiveKey\r\n ) {\r\n issueVnodeState(key);\r\n return;\r\n }\r\n }\r\n if (inactiveKey && inactiveKey in nodes.value) {\r\n activeSet.value.delete(inactiveKey);\r\n nodes.value[inactiveKey].active = false;\r\n issueVnodeState(inactiveKey);\r\n }\r\n\r\n if (\r\n props.activeSingleModifier &&\r\n event?.getModifierState(props.activeSingleModifier)\r\n ) {\r\n return;\r\n }\r\n\r\n if (props.multipleActive && props.activeStrategy === 'cascade') {\r\n for (const descendant of getDescendants(key)) {\r\n if (descendant in nodes.value) {\r\n to\r\n ? activeSet.value.add(descendant)\r\n : activeSet.value.delete(descendant);\r\n nodes.value[descendant].active = to;\r\n issueVnodeState(descendant);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function updateSelected(key: CandidateKey, to: boolean) {\r\n if (!(key in nodes.value)) return;\r\n const node = nodes.value[key];\r\n\r\n if (to) {\r\n selectedSet.value.add(key);\r\n node.selected = true;\r\n }\r\n\r\n if (!to && key in nodes.value) {\r\n selectedSet.value.delete(key);\r\n nodes.value[key].selected = false;\r\n issueVnodeState(key);\r\n }\r\n\r\n if (props.selectStrategy === 'cascade') {\r\n for (const descendant of getDescendants(key)) {\r\n if (descendant in nodes.value) {\r\n to\r\n ? selectedSet.value.add(descendant)\r\n : selectedSet.value.delete(descendant);\r\n nodes.value[descendant].selected = to;\r\n issueVnodeState(descendant);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function emitExpanded() {\r\n const arr = [...expandedSet.value];\r\n expanded.value = props.returnItem\r\n ? arr.map((key) => nodes.value[key].item)\r\n : arr;\r\n }\r\n\r\n function emitActive() {\r\n const arr = [...activeSet.value];\r\n active.value = props.returnItem\r\n ? arr.map((key) => nodes.value[key].item)\r\n : arr;\r\n }\r\n\r\n function emitSelected() {\r\n const arr = [...selectedSet.value];\r\n selected.value = props.returnItem\r\n ? arr.map((key) => nodes.value[key].item)\r\n : arr;\r\n }\r\n\r\n function stateWatcher(\r\n value: any[],\r\n stateSet: Ref<Set<CandidateKey>>,\r\n updater: (key: CandidateKey, to: boolean) => void,\r\n emitter: () => void,\r\n ) {\r\n const valuesOfKey = props.returnItem\r\n ? value.map((v) => getObjectValueByPath(v, props.itemKey))\r\n : value;\r\n const old = [...stateSet.value];\r\n if (deepEqual(old, valuesOfKey)) {\r\n return;\r\n }\r\n old.forEach((key) => updater(key, false));\r\n valuesOfKey.forEach((key) => updater(key, true));\r\n emitter();\r\n }\r\n\r\n watch(expanded, (neo) => {\r\n stateWatcher(neo, expandedSet, updateExpanded, emitExpanded);\r\n });\r\n\r\n watch(active, (neo) => {\r\n stateWatcher(neo, activeSet, updateActive, emitActive);\r\n });\r\n\r\n watch(selected, (neo) => {\r\n stateWatcher(neo, selectedSet, updateSelected, emitSelected);\r\n });\r\n\r\n watch(\r\n () => props.items,\r\n (neo: any[]) => {\r\n const oldKeys = Object.keys(nodes.value).map((nodeKey) =>\r\n getObjectValueByPath(nodes.value[nodeKey].item, props.itemKey),\r\n );\r\n const neoKeys = getKeys(\r\n neo,\r\n props.itemKey,\r\n props.itemChildren as string,\r\n );\r\n const diff = differenceBetween(oldKeys, neoKeys);\r\n if (diff.length < 1 && neoKeys.length < oldKeys.length) {\r\n return;\r\n }\r\n diff.forEach((k) => delete nodes.value[k]);\r\n\r\n // init\r\n const oldSelected = [...selectedSet.value];\r\n const oldActive = [...activeSet.value];\r\n selectedSet.value.clear();\r\n expandedSet.value.clear();\r\n activeSet.value.clear();\r\n updateNodes(neo);\r\n if (!deepEqual(oldSelected, [...selectedSet.value])) {\r\n emitSelected();\r\n }\r\n if (!deepEqual(oldActive, [...activeSet.value])) {\r\n emitActive();\r\n }\r\n },\r\n { deep: true, flush: 'sync' },\r\n );\r\n\r\n // Search\r\n function isExcluded(key: CandidateKey) {\r\n return !!props.search && excludedSet.value.has(key);\r\n }\r\n\r\n // Provide & Issue\r\n function issueVnodeState(key: CandidateKey) {\r\n const node = nodes.value[key];\r\n if (node && node.vnode) {\r\n node.vnode.active = node.active;\r\n node.vnode.selected = node.selected;\r\n node.vnode.indeterminate = node.indeterminate;\r\n node.vnode.expanded = node.expanded;\r\n }\r\n }\r\n\r\n function register(key: CandidateKey, vnode: VNode) {\r\n if (nodes.value[key]) {\r\n nodes.value[key].vnode = vnode;\r\n }\r\n\r\n issueVnodeState(key);\r\n }\r\n\r\n updateNodes(props.items);\r\n\r\n provide('tree-view', {\r\n register,\r\n updateExpanded,\r\n updateActive,\r\n updateSelected,\r\n emitExpanded,\r\n emitActive,\r\n emitSelected,\r\n isExcluded,\r\n searchLoading,\r\n });\r\n\r\n const renderLeaves = computed(() => {\r\n return props.items.slice().filter((leaf) => {\r\n return !isExcluded(getObjectValueByPath(leaf, props.itemKey));\r\n });\r\n });\r\n\r\n const classes = computed(() => {\r\n return {\r\n 'y-tree-view': true,\r\n };\r\n });\r\n\r\n const styles = computed(() => {\r\n let color = props.activeColor;\r\n if (props.activeColor && !isColorValue(props.activeColor)) {\r\n color = `var(--y-theme-${props.activeColor})`;\r\n }\r\n return {\r\n [`--y-tree-view__active-color`]: color,\r\n };\r\n });\r\n\r\n onMounted(() => {\r\n if (props.defaultExpand != null && props.defaultExpand !== false) {\r\n expandedCache.value = [...expand(props.defaultExpand)];\r\n } else {\r\n expanded.value.forEach((v: any) => updateExpanded(getNodeKey(v), true));\r\n emitExpanded();\r\n }\r\n\r\n for (const activeValue of props.active.map(getNodeKey)) {\r\n updateActive(activeValue, true);\r\n }\r\n\r\n for (const selectedValue of props.selected.map(getNodeKey)) {\r\n updateSelected(selectedValue, true);\r\n }\r\n });\r\n\r\n expose({\r\n expand,\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n <div class={classes.value} style={styles.value} role=\"tree\">\r\n {searchLoading.value && <YProgressBar indeterminate />}\r\n {renderLeaves.value.length > 0 ? (\r\n renderLeaves.value.slice().map((leaf) => {\r\n return (\r\n <YTreeViewNode\r\n v-slots={slots}\r\n key={getObjectValueByPath(leaf, props.itemKey)}\r\n {...{\r\n ...chooseProps(props, treeViewNodeProps),\r\n item: leaf,\r\n level: 0,\r\n }}\r\n ></YTreeViewNode>\r\n );\r\n })\r\n ) : (\r\n <div class=\"y-tree-view__no-data\">\r\n {slots['no-data'] ? slots['no-data']() : <span>No Data</span>}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n nodes,\r\n expandedSet,\r\n selectedSet,\r\n activeSet,\r\n excludedSet,\r\n searchLoading,\r\n expandedCache,\r\n };\r\n },\r\n});\r\n\r\nexport type YTreeView = InstanceType<typeof YTreeView>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YTreeView.mjs","names":["computed","defineComponent","onMounted","provide","ref","shallowRef","watch","watchEffect","useModelDuplex","useRender","differenceBetween","isColorValue","deepEqual","getObjectValueByPath","hasOwnProperty","chooseProps","debounce","YProgressBar","YTreeViewNode","pressYTreeViewNodeProps","filterTreeItem","filterTreeItems","getKeys","treeViewNodeProps","YTreeView","name","props","expanded","type","Array","default","active","multipleActive","Boolean","activeStrategy","String","selected","selectStrategy","returnItem","defaultExpand","Number","filter","Function","searchDebounceWait","emits","setup","_ref","slots","emit","expose","nodes","expandedSet","Set","selectedSet","activeSet","excludedSet","filterItemsFn","excludeItem","expandedCache","searchLoading","items","search","arguments","length","undefined","excluded","value","diff","forEach","key","updateExpanded","item","itemKey","itemText","itemChildren","expand","getDescendants","descendants","childKeys","push","remains","slice","childKey","splice","getNodeKey","itemOrKey","updateNodes","parentKey","level","children","exist","existNode","vnode","indeterminate","node","map","child","add","issueVnodeState","to","isArray","delete","neo","deep","until","Object","entries","_ref2","emitExpanded","updateActive","event","inactiveKey","requiredActive","size","activeSingleModifier","getModifierState","descendant","updateSelected","arr","emitActive","emitSelected","stateWatcher","stateSet","updater","emitter","valuesOfKey","v","old","oldKeys","keys","nodeKey","neoKeys","k","oldSelected","oldActive","clear","flush","isExcluded","has","register","renderLeaves","leaf","classes","styles","color","activeColor","activeValue","selectedValue","_createVNode","_Fragment","_mergeProps","_createTextVNode"],"sources":["../../../src/components/tree-view/YTreeView.tsx"],"sourcesContent":["import {\r\n type PropType,\r\n type Ref,\r\n type VNode,\r\n computed,\r\n defineComponent,\r\n onMounted,\r\n provide,\r\n ref,\r\n shallowRef,\r\n watch,\r\n watchEffect,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { CandidateKey } from '@/types';\r\nimport { differenceBetween } from '@/util/array';\r\nimport { isColorValue } from '@/util/color';\r\nimport { deepEqual, getObjectValueByPath, hasOwnProperty } from '@/util/common';\r\nimport { chooseProps } from '@/util/component';\r\nimport { debounce } from '@/util/debounce';\r\n\r\nimport { YProgressBar } from '../progress-bar';\r\nimport { YTreeViewNode, pressYTreeViewNodeProps } from './YTreeViewNode';\r\nimport { NodeState, TreeviewFilterFn } from './types';\r\nimport { filterTreeItem, filterTreeItems, getKeys } from './util';\r\n\r\nimport './YTreeView.scss';\r\n\r\nconst treeViewNodeProps = pressYTreeViewNodeProps();\r\n\r\nexport const YTreeView = defineComponent({\r\n name: 'YTreeView',\r\n props: {\r\n expanded: {\r\n type: [Array] as PropType<CandidateKey[]>,\r\n default: () => [],\r\n },\r\n active: {\r\n type: [Array] as PropType<CandidateKey[]>,\r\n default: () => [],\r\n },\r\n multipleActive: Boolean,\r\n activeStrategy: {\r\n type: String as PropType<'independent' | 'cascade'>, // TODO: 'leaf'\r\n default: 'independent',\r\n },\r\n selected: {\r\n type: [Array] as PropType<CandidateKey[]>,\r\n default: () => [],\r\n },\r\n selectStrategy: {\r\n type: String as PropType<'independent' | 'cascade'>, // TODO: 'leaf'\r\n default: 'leaf',\r\n },\r\n returnItem: Boolean,\r\n defaultExpand: [Boolean, String, Number],\r\n filter: Function as PropType<TreeviewFilterFn>,\r\n searchDebounceWait: {\r\n type: Number as PropType<number>,\r\n default: 700,\r\n },\r\n ...treeViewNodeProps,\r\n },\r\n emits: ['update:expanded', 'update:active', 'update:selected'],\r\n setup(props, { slots, emit, expose }) {\r\n const nodes = ref<Record<CandidateKey, any>>({});\r\n\r\n const expanded = useModelDuplex(props, 'expanded');\r\n const active = useModelDuplex(props, 'active');\r\n const selected = useModelDuplex(props, 'selected');\r\n\r\n const expandedSet = ref(new Set<CandidateKey>());\r\n const selectedSet = ref(new Set<CandidateKey>());\r\n const activeSet = ref(new Set<CandidateKey>());\r\n const excludedSet = ref(new Set<CandidateKey>());\r\n const filterItemsFn = shallowRef(\r\n debounce(excludeItem, props.searchDebounceWait),\r\n );\r\n const expandedCache = ref<CandidateKey[]>([]);\r\n const searchLoading = shallowRef(false);\r\n\r\n function excludeItem(items: any[], search = '', filter = filterTreeItem) {\r\n const excluded = new Set<CandidateKey>();\r\n if (!search) {\r\n searchLoading.value = false;\r\n excludedSet.value = excluded;\r\n const diff = differenceBetween(expandedCache.value, [\r\n ...expandedSet.value,\r\n ]);\r\n diff.forEach((key) => {\r\n updateExpanded(key, false);\r\n });\r\n expandedCache.value.forEach((key) => {\r\n updateExpanded(key, true);\r\n });\r\n return;\r\n }\r\n for (const item of items) {\r\n filterTreeItems(\r\n filter,\r\n item,\r\n search ?? '',\r\n props.itemKey,\r\n props.itemText,\r\n props.itemChildren as string,\r\n excluded,\r\n );\r\n }\r\n excludedSet.value = excluded;\r\n searchLoading.value = false;\r\n expand();\r\n }\r\n\r\n watchEffect(() => {\r\n searchLoading.value = true;\r\n filterItemsFn.value(props.items, props.search, props.filter);\r\n });\r\n\r\n // Util Methods\r\n function getDescendants(key: CandidateKey) {\r\n const descendants: CandidateKey[] = [];\r\n const { childKeys } = nodes.value[key];\r\n descendants.push(...childKeys);\r\n const remains: CandidateKey[] = childKeys.slice();\r\n\r\n while (remains.length > 0) {\r\n const childKey: CandidateKey = remains.splice(0, 1)[0];\r\n const item = nodes.value[childKey];\r\n if (item) {\r\n descendants.push(...item.childKeys);\r\n remains.push(...item.childKeys);\r\n }\r\n }\r\n\r\n return descendants;\r\n }\r\n\r\n function getNodeKey(itemOrKey: any) {\r\n return props.returnItem\r\n ? getObjectValueByPath(itemOrKey, props.itemKey)\r\n : itemOrKey;\r\n }\r\n\r\n // State Methods\r\n function updateNodes(\r\n items: any[],\r\n parentKey: CandidateKey | null = null,\r\n level = 0,\r\n ) {\r\n for (const item of items) {\r\n const key = getObjectValueByPath(item, props.itemKey);\r\n const children =\r\n getObjectValueByPath(item, props.itemChildren as string) ?? [];\r\n const exist = hasOwnProperty(nodes.value, key);\r\n const existNode = exist\r\n ? nodes.value[key]\r\n : {\r\n vnode: null,\r\n selected: false,\r\n indeterminate: false,\r\n active: false,\r\n expanded: false,\r\n };\r\n const node: NodeState = {\r\n vnode: existNode.vnode,\r\n item,\r\n level,\r\n parentKey,\r\n childKeys: children.map((child: any) =>\r\n getObjectValueByPath(child, props.itemKey),\r\n ),\r\n expanded: children.length > 0 && existNode.expanded,\r\n active: existNode.active,\r\n indeterminate: existNode.indeterminate,\r\n selected: existNode.selected,\r\n };\r\n\r\n updateNodes(children, key, level + 1);\r\n\r\n nodes.value[key] = node;\r\n if (nodes.value[key].expanded) {\r\n expandedSet.value.add(key);\r\n }\r\n if (nodes.value[key].selected) {\r\n selectedSet.value.add(key);\r\n }\r\n if (nodes.value[key].active) {\r\n activeSet.value.add(key);\r\n }\r\n\r\n issueVnodeState(key);\r\n }\r\n }\r\n\r\n function updateExpanded(key: CandidateKey, to: boolean) {\r\n if (!(key in nodes.value)) return;\r\n const node = nodes.value[key];\r\n const children = getObjectValueByPath(\r\n node.item,\r\n props.itemChildren as string,\r\n );\r\n if (Array.isArray(children) && children.length > 0) {\r\n to ? expandedSet.value.add(key) : expandedSet.value.delete(key);\r\n node.expanded = to;\r\n issueVnodeState(key);\r\n }\r\n }\r\n\r\n watch(\r\n expandedSet,\r\n (neo) => {\r\n if (!props.search) {\r\n expandedCache.value = [...neo];\r\n }\r\n },\r\n { deep: true },\r\n );\r\n\r\n function expand(until: boolean | string | number = true) {\r\n Object.entries(nodes.value).forEach(([key, node]) => {\r\n if (until === true || until >= node.level) {\r\n updateExpanded(key, true);\r\n }\r\n });\r\n emitExpanded();\r\n return expandedSet.value;\r\n }\r\n\r\n function updateActive(key: CandidateKey, to: boolean, event?: MouseEvent) {\r\n if (!(key in nodes.value)) return;\r\n const node = nodes.value[key];\r\n let inactiveKey = !to ? key : '';\r\n if (!props.multipleActive) {\r\n [inactiveKey] = [...activeSet.value];\r\n }\r\n if (to) {\r\n activeSet.value.add(key);\r\n node.active = true;\r\n issueVnodeState(key);\r\n } else {\r\n if (\r\n props.requiredActive &&\r\n activeSet.value.size === 1 &&\r\n key === inactiveKey\r\n ) {\r\n issueVnodeState(key);\r\n return;\r\n }\r\n }\r\n if (inactiveKey && inactiveKey in nodes.value) {\r\n activeSet.value.delete(inactiveKey);\r\n nodes.value[inactiveKey].active = false;\r\n issueVnodeState(inactiveKey);\r\n }\r\n\r\n if (\r\n props.activeSingleModifier &&\r\n event?.getModifierState(props.activeSingleModifier)\r\n ) {\r\n return;\r\n }\r\n\r\n if (props.multipleActive && props.activeStrategy === 'cascade') {\r\n for (const descendant of getDescendants(key)) {\r\n if (descendant in nodes.value) {\r\n to\r\n ? activeSet.value.add(descendant)\r\n : activeSet.value.delete(descendant);\r\n nodes.value[descendant].active = to;\r\n issueVnodeState(descendant);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function updateSelected(key: CandidateKey, to: boolean) {\r\n if (!(key in nodes.value)) return;\r\n const node = nodes.value[key];\r\n\r\n if (to) {\r\n selectedSet.value.add(key);\r\n node.selected = true;\r\n }\r\n\r\n if (!to && key in nodes.value) {\r\n selectedSet.value.delete(key);\r\n nodes.value[key].selected = false;\r\n issueVnodeState(key);\r\n }\r\n\r\n if (props.selectStrategy === 'cascade') {\r\n for (const descendant of getDescendants(key)) {\r\n if (descendant in nodes.value) {\r\n to\r\n ? selectedSet.value.add(descendant)\r\n : selectedSet.value.delete(descendant);\r\n nodes.value[descendant].selected = to;\r\n issueVnodeState(descendant);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function emitExpanded() {\r\n const arr = [...expandedSet.value];\r\n expanded.value = props.returnItem\r\n ? arr.map((key) => nodes.value[key].item)\r\n : arr;\r\n }\r\n\r\n function emitActive() {\r\n const arr = [...activeSet.value];\r\n active.value = props.returnItem\r\n ? arr.map((key) => nodes.value[key].item)\r\n : arr;\r\n }\r\n\r\n function emitSelected() {\r\n const arr = [...selectedSet.value];\r\n selected.value = props.returnItem\r\n ? arr.map((key) => nodes.value[key].item)\r\n : arr;\r\n }\r\n\r\n function stateWatcher(\r\n value: any[],\r\n stateSet: Ref<Set<CandidateKey>>,\r\n updater: (key: CandidateKey, to: boolean) => void,\r\n emitter: () => void,\r\n ) {\r\n const valuesOfKey = props.returnItem\r\n ? value.map((v) => getObjectValueByPath(v, props.itemKey))\r\n : value;\r\n const old = [...stateSet.value];\r\n if (deepEqual(old, valuesOfKey)) {\r\n return;\r\n }\r\n old.forEach((key) => updater(key, false));\r\n valuesOfKey.forEach((key) => updater(key, true));\r\n emitter();\r\n }\r\n\r\n watch(expanded, (neo) => {\r\n stateWatcher(neo, expandedSet, updateExpanded, emitExpanded);\r\n });\r\n\r\n watch(active, (neo) => {\r\n stateWatcher(neo, activeSet, updateActive, emitActive);\r\n });\r\n\r\n watch(selected, (neo) => {\r\n stateWatcher(neo, selectedSet, updateSelected, emitSelected);\r\n });\r\n\r\n watch(\r\n () => props.items,\r\n (neo: any[]) => {\r\n const oldKeys = Object.keys(nodes.value).map((nodeKey) =>\r\n getObjectValueByPath(nodes.value[nodeKey].item, props.itemKey),\r\n );\r\n const neoKeys = getKeys(\r\n neo,\r\n props.itemKey,\r\n props.itemChildren as string,\r\n );\r\n const diff = differenceBetween(oldKeys, neoKeys);\r\n if (diff.length < 1 && neoKeys.length < oldKeys.length) {\r\n return;\r\n }\r\n diff.forEach((k) => delete nodes.value[k]);\r\n\r\n // init\r\n const oldSelected = [...selectedSet.value];\r\n const oldActive = [...activeSet.value];\r\n selectedSet.value.clear();\r\n expandedSet.value.clear();\r\n activeSet.value.clear();\r\n updateNodes(neo);\r\n if (!deepEqual(oldSelected, [...selectedSet.value])) {\r\n emitSelected();\r\n }\r\n if (!deepEqual(oldActive, [...activeSet.value])) {\r\n emitActive();\r\n }\r\n },\r\n { deep: true, flush: 'sync' },\r\n );\r\n\r\n // Search\r\n function isExcluded(key: CandidateKey) {\r\n return !!props.search && excludedSet.value.has(key);\r\n }\r\n\r\n // Provide & Issue\r\n function issueVnodeState(key: CandidateKey) {\r\n const node = nodes.value[key];\r\n if (node && node.vnode) {\r\n node.vnode.active = node.active;\r\n node.vnode.selected = node.selected;\r\n node.vnode.indeterminate = node.indeterminate;\r\n node.vnode.expanded = node.expanded;\r\n }\r\n }\r\n\r\n function register(key: CandidateKey, vnode: VNode) {\r\n if (nodes.value[key]) {\r\n nodes.value[key].vnode = vnode;\r\n }\r\n\r\n issueVnodeState(key);\r\n }\r\n\r\n updateNodes(props.items);\r\n\r\n provide('tree-view', {\r\n register,\r\n updateExpanded,\r\n updateActive,\r\n updateSelected,\r\n emitExpanded,\r\n emitActive,\r\n emitSelected,\r\n isExcluded,\r\n searchLoading,\r\n });\r\n\r\n const renderLeaves = computed(() => {\r\n return props.items.slice().filter((leaf) => {\r\n return !isExcluded(getObjectValueByPath(leaf, props.itemKey));\r\n });\r\n });\r\n\r\n const classes = computed(() => {\r\n return {\r\n 'y-tree-view': true,\r\n };\r\n });\r\n\r\n const styles = computed(() => {\r\n let color = props.activeColor;\r\n if (props.activeColor && !isColorValue(props.activeColor)) {\r\n color = `var(--y-theme-${props.activeColor})`;\r\n }\r\n return {\r\n [`--y-tree-view__active-color`]: color,\r\n };\r\n });\r\n\r\n onMounted(() => {\r\n if (props.defaultExpand != null && props.defaultExpand !== false) {\r\n expandedCache.value = [...expand(props.defaultExpand)];\r\n } else {\r\n expanded.value.forEach((v: any) => updateExpanded(getNodeKey(v), true));\r\n emitExpanded();\r\n }\r\n\r\n for (const activeValue of props.active.map(getNodeKey)) {\r\n updateActive(activeValue, true);\r\n }\r\n\r\n for (const selectedValue of props.selected.map(getNodeKey)) {\r\n updateSelected(selectedValue, true);\r\n }\r\n });\r\n\r\n expose({\r\n expand,\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n <div class={classes.value} style={styles.value} role=\"tree\">\r\n {searchLoading.value && <YProgressBar indeterminate />}\r\n {renderLeaves.value.length > 0 ? (\r\n renderLeaves.value.slice().map((leaf) => {\r\n return (\r\n <YTreeViewNode\r\n v-slots={slots}\r\n key={getObjectValueByPath(leaf, props.itemKey)}\r\n {...{\r\n ...chooseProps(props, treeViewNodeProps),\r\n item: leaf,\r\n level: 0,\r\n }}\r\n ></YTreeViewNode>\r\n );\r\n })\r\n ) : (\r\n <div class=\"y-tree-view__no-data\">\r\n {slots['no-data'] ? slots['no-data']() : <span>No Data</span>}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n nodes,\r\n expandedSet,\r\n selectedSet,\r\n activeSet,\r\n excludedSet,\r\n searchLoading,\r\n expandedCache,\r\n };\r\n },\r\n});\r\n\r\nexport type YTreeView = InstanceType<typeof YTreeView>;\r\n"],"mappings":";AAAA,SAIEA,QAAQ,EACRC,eAAe,EACfC,SAAS,EACTC,OAAO,EACPC,GAAG,EACHC,UAAU,EACVC,KAAK,EACLC,WAAW,QACN,KAAK;AAAC,SAEJC,cAAc;AAAA,SACdC,SAAS;AAAA,SAETC,iBAAiB;AAAA,SACjBC,YAAY;AAAA,SACZC,SAAS,EAAEC,oBAAoB,EAAEC,cAAc;AAAA,SAC/CC,WAAW;AAAA,SACXC,QAAQ;AAAA,SAERC,YAAY;AAAA,SACZC,aAAa,EAAEC,uBAAuB;AAAA,SAEtCC,cAAc,EAAEC,eAAe,EAAEC,OAAO;AAEjD;AAEA,MAAMC,iBAAiB,GAAGJ,uBAAuB,CAAC,CAAC;AAEnD,OAAO,MAAMK,SAAS,GAAGvB,eAAe,CAAC;EACvCwB,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE;IACLC,QAAQ,EAAE;MACRC,IAAI,EAAE,CAACC,KAAK,CAA6B;MACzCC,OAAO,EAAEA,CAAA,KAAM;IACjB,CAAC;IACDC,MAAM,EAAE;MACNH,IAAI,EAAE,CAACC,KAAK,CAA6B;MACzCC,OAAO,EAAEA,CAAA,KAAM;IACjB,CAAC;IACDE,cAAc,EAAEC,OAAO;IACvBC,cAAc,EAAE;MACdN,IAAI,EAAEO,MAA6C;MAAE;MACrDL,OAAO,EAAE;IACX,CAAC;IACDM,QAAQ,EAAE;MACRR,IAAI,EAAE,CAACC,KAAK,CAA6B;MACzCC,OAAO,EAAEA,CAAA,KAAM;IACjB,CAAC;IACDO,cAAc,EAAE;MACdT,IAAI,EAAEO,MAA6C;MAAE;MACrDL,OAAO,EAAE;IACX,CAAC;IACDQ,UAAU,EAAEL,OAAO;IACnBM,aAAa,EAAE,CAACN,OAAO,EAAEE,MAAM,EAAEK,MAAM,CAAC;IACxCC,MAAM,EAAEC,QAAsC;IAC9CC,kBAAkB,EAAE;MAClBf,IAAI,EAAEY,MAA0B;MAChCV,OAAO,EAAE;IACX,CAAC;IACD,GAAGP;EACL,CAAC;EACDqB,KAAK,EAAE,CAAC,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,CAAC;EAC9DC,KAAKA,CAACnB,KAAK,EAAAoB,IAAA,EAA2B;IAAA,IAAzB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAO,CAAC,GAAAH,IAAA;IAClC,MAAMI,KAAK,GAAG9C,GAAG,CAA4B,CAAC,CAAC,CAAC;IAEhD,MAAMuB,QAAQ,GAAGnB,cAAc,CAACkB,KAAK,EAAE,UAAU,CAAC;IAClD,MAAMK,MAAM,GAAGvB,cAAc,CAACkB,KAAK,EAAE,QAAQ,CAAC;IAC9C,MAAMU,QAAQ,GAAG5B,cAAc,CAACkB,KAAK,EAAE,UAAU,CAAC;IAElD,MAAMyB,WAAW,GAAG/C,GAAG,CAAC,IAAIgD,GAAG,CAAe,CAAC,CAAC;IAChD,MAAMC,WAAW,GAAGjD,GAAG,CAAC,IAAIgD,GAAG,CAAe,CAAC,CAAC;IAChD,MAAME,SAAS,GAAGlD,GAAG,CAAC,IAAIgD,GAAG,CAAe,CAAC,CAAC;IAC9C,MAAMG,WAAW,GAAGnD,GAAG,CAAC,IAAIgD,GAAG,CAAe,CAAC,CAAC;IAChD,MAAMI,aAAa,GAAGnD,UAAU,CAC9BW,QAAQ,CAACyC,WAAW,EAAE/B,KAAK,CAACiB,kBAAkB,CAChD,CAAC;IACD,MAAMe,aAAa,GAAGtD,GAAG,CAAiB,EAAE,CAAC;IAC7C,MAAMuD,aAAa,GAAGtD,UAAU,CAAC,KAAK,CAAC;IAEvC,SAASoD,WAAWA,CAACG,KAAY,EAAwC;MAAA,IAAtCC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;MAAA,IAAErB,MAAM,GAAAqB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG1C,cAAc;MACrE,MAAM6C,QAAQ,GAAG,IAAIb,GAAG,CAAe,CAAC;MACxC,IAAI,CAACS,MAAM,EAAE;QACXF,aAAa,CAACO,KAAK,GAAG,KAAK;QAC3BX,WAAW,CAACW,KAAK,GAAGD,QAAQ;QAC5B,MAAME,IAAI,GAAGzD,iBAAiB,CAACgD,aAAa,CAACQ,KAAK,EAAE,CAClD,GAAGf,WAAW,CAACe,KAAK,CACrB,CAAC;QACFC,IAAI,CAACC,OAAO,CAAEC,GAAG,IAAK;UACpBC,cAAc,CAACD,GAAG,EAAE,KAAK,CAAC;QAC5B,CAAC,CAAC;QACFX,aAAa,CAACQ,KAAK,CAACE,OAAO,CAAEC,GAAG,IAAK;UACnCC,cAAc,CAACD,GAAG,EAAE,IAAI,CAAC;QAC3B,CAAC,CAAC;QACF;MACF;MACA,KAAK,MAAME,IAAI,IAAIX,KAAK,EAAE;QACxBvC,eAAe,CACboB,MAAM,EACN8B,IAAI,EACJV,MAAM,IAAI,EAAE,EACZnC,KAAK,CAAC8C,OAAO,EACb9C,KAAK,CAAC+C,QAAQ,EACd/C,KAAK,CAACgD,YAAY,EAClBT,QACF,CAAC;MACH;MACAV,WAAW,CAACW,KAAK,GAAGD,QAAQ;MAC5BN,aAAa,CAACO,KAAK,GAAG,KAAK;MAC3BS,MAAM,CAAC,CAAC;IACV;IAEApE,WAAW,CAAC,MAAM;MAChBoD,aAAa,CAACO,KAAK,GAAG,IAAI;MAC1BV,aAAa,CAACU,KAAK,CAACxC,KAAK,CAACkC,KAAK,EAAElC,KAAK,CAACmC,MAAM,EAAEnC,KAAK,CAACe,MAAM,CAAC;IAC9D,CAAC,CAAC;;IAEF;IACA,SAASmC,cAAcA,CAACP,GAAiB,EAAE;MACzC,MAAMQ,WAA2B,GAAG,EAAE;MACtC,MAAM;QAAEC;MAAU,CAAC,GAAG5B,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC;MACtCQ,WAAW,CAACE,IAAI,CAAC,GAAGD,SAAS,CAAC;MAC9B,MAAME,OAAuB,GAAGF,SAAS,CAACG,KAAK,CAAC,CAAC;MAEjD,OAAOD,OAAO,CAACjB,MAAM,GAAG,CAAC,EAAE;QACzB,MAAMmB,QAAsB,GAAGF,OAAO,CAACG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAMZ,IAAI,GAAGrB,KAAK,CAACgB,KAAK,CAACgB,QAAQ,CAAC;QAClC,IAAIX,IAAI,EAAE;UACRM,WAAW,CAACE,IAAI,CAAC,GAAGR,IAAI,CAACO,SAAS,CAAC;UACnCE,OAAO,CAACD,IAAI,CAAC,GAAGR,IAAI,CAACO,SAAS,CAAC;QACjC;MACF;MAEA,OAAOD,WAAW;IACpB;IAEA,SAASO,UAAUA,CAACC,SAAc,EAAE;MAClC,OAAO3D,KAAK,CAACY,UAAU,GACnBzB,oBAAoB,CAACwE,SAAS,EAAE3D,KAAK,CAAC8C,OAAO,CAAC,GAC9Ca,SAAS;IACf;;IAEA;IACA,SAASC,WAAWA,CAClB1B,KAAY,EAGZ;MAAA,IAFA2B,SAA8B,GAAAzB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MAAA,IACrC0B,KAAK,GAAA1B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;MAET,KAAK,MAAMS,IAAI,IAAIX,KAAK,EAAE;QACxB,MAAMS,GAAG,GAAGxD,oBAAoB,CAAC0D,IAAI,EAAE7C,KAAK,CAAC8C,OAAO,CAAC;QACrD,MAAMiB,QAAQ,GACZ5E,oBAAoB,CAAC0D,IAAI,EAAE7C,KAAK,CAACgD,YAAsB,CAAC,IAAI,EAAE;QAChE,MAAMgB,KAAK,GAAG5E,cAAc,CAACoC,KAAK,CAACgB,KAAK,EAAEG,GAAG,CAAC;QAC9C,MAAMsB,SAAS,GAAGD,KAAK,GACnBxC,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,GAChB;UACEuB,KAAK,EAAE,IAAI;UACXxD,QAAQ,EAAE,KAAK;UACfyD,aAAa,EAAE,KAAK;UACpB9D,MAAM,EAAE,KAAK;UACbJ,QAAQ,EAAE;QACZ,CAAC;QACL,MAAMmE,IAAe,GAAG;UACtBF,KAAK,EAAED,SAAS,CAACC,KAAK;UACtBrB,IAAI;UACJiB,KAAK;UACLD,SAAS;UACTT,SAAS,EAAEW,QAAQ,CAACM,GAAG,CAAEC,KAAU,IACjCnF,oBAAoB,CAACmF,KAAK,EAAEtE,KAAK,CAAC8C,OAAO,CAC3C,CAAC;UACD7C,QAAQ,EAAE8D,QAAQ,CAAC1B,MAAM,GAAG,CAAC,IAAI4B,SAAS,CAAChE,QAAQ;UACnDI,MAAM,EAAE4D,SAAS,CAAC5D,MAAM;UACxB8D,aAAa,EAAEF,SAAS,CAACE,aAAa;UACtCzD,QAAQ,EAAEuD,SAAS,CAACvD;QACtB,CAAC;QAEDkD,WAAW,CAACG,QAAQ,EAAEpB,GAAG,EAAEmB,KAAK,GAAG,CAAC,CAAC;QAErCtC,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,GAAGyB,IAAI;QACvB,IAAI5C,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,CAAC1C,QAAQ,EAAE;UAC7BwB,WAAW,CAACe,KAAK,CAAC+B,GAAG,CAAC5B,GAAG,CAAC;QAC5B;QACA,IAAInB,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,CAACjC,QAAQ,EAAE;UAC7BiB,WAAW,CAACa,KAAK,CAAC+B,GAAG,CAAC5B,GAAG,CAAC;QAC5B;QACA,IAAInB,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,CAACtC,MAAM,EAAE;UAC3BuB,SAAS,CAACY,KAAK,CAAC+B,GAAG,CAAC5B,GAAG,CAAC;QAC1B;QAEA6B,eAAe,CAAC7B,GAAG,CAAC;MACtB;IACF;IAEA,SAASC,cAAcA,CAACD,GAAiB,EAAE8B,EAAW,EAAE;MACtD,IAAI,EAAE9B,GAAG,IAAInB,KAAK,CAACgB,KAAK,CAAC,EAAE;MAC3B,MAAM4B,IAAI,GAAG5C,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC;MAC7B,MAAMoB,QAAQ,GAAG5E,oBAAoB,CACnCiF,IAAI,CAACvB,IAAI,EACT7C,KAAK,CAACgD,YACR,CAAC;MACD,IAAI7C,KAAK,CAACuE,OAAO,CAACX,QAAQ,CAAC,IAAIA,QAAQ,CAAC1B,MAAM,GAAG,CAAC,EAAE;QAClDoC,EAAE,GAAGhD,WAAW,CAACe,KAAK,CAAC+B,GAAG,CAAC5B,GAAG,CAAC,GAAGlB,WAAW,CAACe,KAAK,CAACmC,MAAM,CAAChC,GAAG,CAAC;QAC/DyB,IAAI,CAACnE,QAAQ,GAAGwE,EAAE;QAClBD,eAAe,CAAC7B,GAAG,CAAC;MACtB;IACF;IAEA/D,KAAK,CACH6C,WAAW,EACVmD,GAAG,IAAK;MACP,IAAI,CAAC5E,KAAK,CAACmC,MAAM,EAAE;QACjBH,aAAa,CAACQ,KAAK,GAAG,CAAC,GAAGoC,GAAG,CAAC;MAChC;IACF,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAED,SAAS5B,MAAMA,CAAA,EAA0C;MAAA,IAAzC6B,KAAgC,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MACrD2C,MAAM,CAACC,OAAO,CAACxD,KAAK,CAACgB,KAAK,CAAC,CAACE,OAAO,CAACuC,KAAA,IAAiB;QAAA,IAAhB,CAACtC,GAAG,EAAEyB,IAAI,CAAC,GAAAa,KAAA;QAC9C,IAAIH,KAAK,KAAK,IAAI,IAAIA,KAAK,IAAIV,IAAI,CAACN,KAAK,EAAE;UACzClB,cAAc,CAACD,GAAG,EAAE,IAAI,CAAC;QAC3B;MACF,CAAC,CAAC;MACFuC,YAAY,CAAC,CAAC;MACd,OAAOzD,WAAW,CAACe,KAAK;IAC1B;IAEA,SAAS2C,YAAYA,CAACxC,GAAiB,EAAE8B,EAAW,EAAEW,KAAkB,EAAE;MACxE,IAAI,EAAEzC,GAAG,IAAInB,KAAK,CAACgB,KAAK,CAAC,EAAE;MAC3B,MAAM4B,IAAI,GAAG5C,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC;MAC7B,IAAI0C,WAAW,GAAG,CAACZ,EAAE,GAAG9B,GAAG,GAAG,EAAE;MAChC,IAAI,CAAC3C,KAAK,CAACM,cAAc,EAAE;QACzB,CAAC+E,WAAW,CAAC,GAAG,CAAC,GAAGzD,SAAS,CAACY,KAAK,CAAC;MACtC;MACA,IAAIiC,EAAE,EAAE;QACN7C,SAAS,CAACY,KAAK,CAAC+B,GAAG,CAAC5B,GAAG,CAAC;QACxByB,IAAI,CAAC/D,MAAM,GAAG,IAAI;QAClBmE,eAAe,CAAC7B,GAAG,CAAC;MACtB,CAAC,MAAM;QACL,IACE3C,KAAK,CAACsF,cAAc,IACpB1D,SAAS,CAACY,KAAK,CAAC+C,IAAI,KAAK,CAAC,IAC1B5C,GAAG,KAAK0C,WAAW,EACnB;UACAb,eAAe,CAAC7B,GAAG,CAAC;UACpB;QACF;MACF;MACA,IAAI0C,WAAW,IAAIA,WAAW,IAAI7D,KAAK,CAACgB,KAAK,EAAE;QAC7CZ,SAAS,CAACY,KAAK,CAACmC,MAAM,CAACU,WAAW,CAAC;QACnC7D,KAAK,CAACgB,KAAK,CAAC6C,WAAW,CAAC,CAAChF,MAAM,GAAG,KAAK;QACvCmE,eAAe,CAACa,WAAW,CAAC;MAC9B;MAEA,IACErF,KAAK,CAACwF,oBAAoB,IAC1BJ,KAAK,EAAEK,gBAAgB,CAACzF,KAAK,CAACwF,oBAAoB,CAAC,EACnD;QACA;MACF;MAEA,IAAIxF,KAAK,CAACM,cAAc,IAAIN,KAAK,CAACQ,cAAc,KAAK,SAAS,EAAE;QAC9D,KAAK,MAAMkF,UAAU,IAAIxC,cAAc,CAACP,GAAG,CAAC,EAAE;UAC5C,IAAI+C,UAAU,IAAIlE,KAAK,CAACgB,KAAK,EAAE;YAC7BiC,EAAE,GACE7C,SAAS,CAACY,KAAK,CAAC+B,GAAG,CAACmB,UAAU,CAAC,GAC/B9D,SAAS,CAACY,KAAK,CAACmC,MAAM,CAACe,UAAU,CAAC;YACtClE,KAAK,CAACgB,KAAK,CAACkD,UAAU,CAAC,CAACrF,MAAM,GAAGoE,EAAE;YACnCD,eAAe,CAACkB,UAAU,CAAC;UAC7B;QACF;MACF;IACF;IAEA,SAASC,cAAcA,CAAChD,GAAiB,EAAE8B,EAAW,EAAE;MACtD,IAAI,EAAE9B,GAAG,IAAInB,KAAK,CAACgB,KAAK,CAAC,EAAE;MAC3B,MAAM4B,IAAI,GAAG5C,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC;MAE7B,IAAI8B,EAAE,EAAE;QACN9C,WAAW,CAACa,KAAK,CAAC+B,GAAG,CAAC5B,GAAG,CAAC;QAC1ByB,IAAI,CAAC1D,QAAQ,GAAG,IAAI;MACtB;MAEA,IAAI,CAAC+D,EAAE,IAAI9B,GAAG,IAAInB,KAAK,CAACgB,KAAK,EAAE;QAC7Bb,WAAW,CAACa,KAAK,CAACmC,MAAM,CAAChC,GAAG,CAAC;QAC7BnB,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,CAACjC,QAAQ,GAAG,KAAK;QACjC8D,eAAe,CAAC7B,GAAG,CAAC;MACtB;MAEA,IAAI3C,KAAK,CAACW,cAAc,KAAK,SAAS,EAAE;QACtC,KAAK,MAAM+E,UAAU,IAAIxC,cAAc,CAACP,GAAG,CAAC,EAAE;UAC5C,IAAI+C,UAAU,IAAIlE,KAAK,CAACgB,KAAK,EAAE;YAC7BiC,EAAE,GACE9C,WAAW,CAACa,KAAK,CAAC+B,GAAG,CAACmB,UAAU,CAAC,GACjC/D,WAAW,CAACa,KAAK,CAACmC,MAAM,CAACe,UAAU,CAAC;YACxClE,KAAK,CAACgB,KAAK,CAACkD,UAAU,CAAC,CAAChF,QAAQ,GAAG+D,EAAE;YACrCD,eAAe,CAACkB,UAAU,CAAC;UAC7B;QACF;MACF;IACF;IAEA,SAASR,YAAYA,CAAA,EAAG;MACtB,MAAMU,GAAG,GAAG,CAAC,GAAGnE,WAAW,CAACe,KAAK,CAAC;MAClCvC,QAAQ,CAACuC,KAAK,GAAGxC,KAAK,CAACY,UAAU,GAC7BgF,GAAG,CAACvB,GAAG,CAAE1B,GAAG,IAAKnB,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,CAACE,IAAI,CAAC,GACvC+C,GAAG;IACT;IAEA,SAASC,UAAUA,CAAA,EAAG;MACpB,MAAMD,GAAG,GAAG,CAAC,GAAGhE,SAAS,CAACY,KAAK,CAAC;MAChCnC,MAAM,CAACmC,KAAK,GAAGxC,KAAK,CAACY,UAAU,GAC3BgF,GAAG,CAACvB,GAAG,CAAE1B,GAAG,IAAKnB,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,CAACE,IAAI,CAAC,GACvC+C,GAAG;IACT;IAEA,SAASE,YAAYA,CAAA,EAAG;MACtB,MAAMF,GAAG,GAAG,CAAC,GAAGjE,WAAW,CAACa,KAAK,CAAC;MAClC9B,QAAQ,CAAC8B,KAAK,GAAGxC,KAAK,CAACY,UAAU,GAC7BgF,GAAG,CAACvB,GAAG,CAAE1B,GAAG,IAAKnB,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,CAACE,IAAI,CAAC,GACvC+C,GAAG;IACT;IAEA,SAASG,YAAYA,CACnBvD,KAAY,EACZwD,QAAgC,EAChCC,OAAiD,EACjDC,OAAmB,EACnB;MACA,MAAMC,WAAW,GAAGnG,KAAK,CAACY,UAAU,GAChC4B,KAAK,CAAC6B,GAAG,CAAE+B,CAAC,IAAKjH,oBAAoB,CAACiH,CAAC,EAAEpG,KAAK,CAAC8C,OAAO,CAAC,CAAC,GACxDN,KAAK;MACT,MAAM6D,GAAG,GAAG,CAAC,GAAGL,QAAQ,CAACxD,KAAK,CAAC;MAC/B,IAAItD,SAAS,CAACmH,GAAG,EAAEF,WAAW,CAAC,EAAE;QAC/B;MACF;MACAE,GAAG,CAAC3D,OAAO,CAAEC,GAAG,IAAKsD,OAAO,CAACtD,GAAG,EAAE,KAAK,CAAC,CAAC;MACzCwD,WAAW,CAACzD,OAAO,CAAEC,GAAG,IAAKsD,OAAO,CAACtD,GAAG,EAAE,IAAI,CAAC,CAAC;MAChDuD,OAAO,CAAC,CAAC;IACX;IAEAtH,KAAK,CAACqB,QAAQ,EAAG2E,GAAG,IAAK;MACvBmB,YAAY,CAACnB,GAAG,EAAEnD,WAAW,EAAEmB,cAAc,EAAEsC,YAAY,CAAC;IAC9D,CAAC,CAAC;IAEFtG,KAAK,CAACyB,MAAM,EAAGuE,GAAG,IAAK;MACrBmB,YAAY,CAACnB,GAAG,EAAEhD,SAAS,EAAEuD,YAAY,EAAEU,UAAU,CAAC;IACxD,CAAC,CAAC;IAEFjH,KAAK,CAAC8B,QAAQ,EAAGkE,GAAG,IAAK;MACvBmB,YAAY,CAACnB,GAAG,EAAEjD,WAAW,EAAEgE,cAAc,EAAEG,YAAY,CAAC;IAC9D,CAAC,CAAC;IAEFlH,KAAK,CACH,MAAMoB,KAAK,CAACkC,KAAK,EAChB0C,GAAU,IAAK;MACd,MAAM0B,OAAO,GAAGvB,MAAM,CAACwB,IAAI,CAAC/E,KAAK,CAACgB,KAAK,CAAC,CAAC6B,GAAG,CAAEmC,OAAO,IACnDrH,oBAAoB,CAACqC,KAAK,CAACgB,KAAK,CAACgE,OAAO,CAAC,CAAC3D,IAAI,EAAE7C,KAAK,CAAC8C,OAAO,CAC/D,CAAC;MACD,MAAM2D,OAAO,GAAG7G,OAAO,CACrBgF,GAAG,EACH5E,KAAK,CAAC8C,OAAO,EACb9C,KAAK,CAACgD,YACR,CAAC;MACD,MAAMP,IAAI,GAAGzD,iBAAiB,CAACsH,OAAO,EAAEG,OAAO,CAAC;MAChD,IAAIhE,IAAI,CAACJ,MAAM,GAAG,CAAC,IAAIoE,OAAO,CAACpE,MAAM,GAAGiE,OAAO,CAACjE,MAAM,EAAE;QACtD;MACF;MACAI,IAAI,CAACC,OAAO,CAAEgE,CAAC,IAAK,OAAOlF,KAAK,CAACgB,KAAK,CAACkE,CAAC,CAAC,CAAC;;MAE1C;MACA,MAAMC,WAAW,GAAG,CAAC,GAAGhF,WAAW,CAACa,KAAK,CAAC;MAC1C,MAAMoE,SAAS,GAAG,CAAC,GAAGhF,SAAS,CAACY,KAAK,CAAC;MACtCb,WAAW,CAACa,KAAK,CAACqE,KAAK,CAAC,CAAC;MACzBpF,WAAW,CAACe,KAAK,CAACqE,KAAK,CAAC,CAAC;MACzBjF,SAAS,CAACY,KAAK,CAACqE,KAAK,CAAC,CAAC;MACvBjD,WAAW,CAACgB,GAAG,CAAC;MAChB,IAAI,CAAC1F,SAAS,CAACyH,WAAW,EAAE,CAAC,GAAGhF,WAAW,CAACa,KAAK,CAAC,CAAC,EAAE;QACnDsD,YAAY,CAAC,CAAC;MAChB;MACA,IAAI,CAAC5G,SAAS,CAAC0H,SAAS,EAAE,CAAC,GAAGhF,SAAS,CAACY,KAAK,CAAC,CAAC,EAAE;QAC/CqD,UAAU,CAAC,CAAC;MACd;IACF,CAAC,EACD;MAAEhB,IAAI,EAAE,IAAI;MAAEiC,KAAK,EAAE;IAAO,CAC9B,CAAC;;IAED;IACA,SAASC,UAAUA,CAACpE,GAAiB,EAAE;MACrC,OAAO,CAAC,CAAC3C,KAAK,CAACmC,MAAM,IAAIN,WAAW,CAACW,KAAK,CAACwE,GAAG,CAACrE,GAAG,CAAC;IACrD;;IAEA;IACA,SAAS6B,eAAeA,CAAC7B,GAAiB,EAAE;MAC1C,MAAMyB,IAAI,GAAG5C,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC;MAC7B,IAAIyB,IAAI,IAAIA,IAAI,CAACF,KAAK,EAAE;QACtBE,IAAI,CAACF,KAAK,CAAC7D,MAAM,GAAG+D,IAAI,CAAC/D,MAAM;QAC/B+D,IAAI,CAACF,KAAK,CAACxD,QAAQ,GAAG0D,IAAI,CAAC1D,QAAQ;QACnC0D,IAAI,CAACF,KAAK,CAACC,aAAa,GAAGC,IAAI,CAACD,aAAa;QAC7CC,IAAI,CAACF,KAAK,CAACjE,QAAQ,GAAGmE,IAAI,CAACnE,QAAQ;MACrC;IACF;IAEA,SAASgH,QAAQA,CAACtE,GAAiB,EAAEuB,KAAY,EAAE;MACjD,IAAI1C,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,EAAE;QACpBnB,KAAK,CAACgB,KAAK,CAACG,GAAG,CAAC,CAACuB,KAAK,GAAGA,KAAK;MAChC;MAEAM,eAAe,CAAC7B,GAAG,CAAC;IACtB;IAEAiB,WAAW,CAAC5D,KAAK,CAACkC,KAAK,CAAC;IAExBzD,OAAO,CAAC,WAAW,EAAE;MACnBwI,QAAQ;MACRrE,cAAc;MACduC,YAAY;MACZQ,cAAc;MACdT,YAAY;MACZW,UAAU;MACVC,YAAY;MACZiB,UAAU;MACV9E;IACF,CAAC,CAAC;IAEF,MAAMiF,YAAY,GAAG5I,QAAQ,CAAC,MAAM;MAClC,OAAO0B,KAAK,CAACkC,KAAK,CAACqB,KAAK,CAAC,CAAC,CAACxC,MAAM,CAAEoG,IAAI,IAAK;QAC1C,OAAO,CAACJ,UAAU,CAAC5H,oBAAoB,CAACgI,IAAI,EAAEnH,KAAK,CAAC8C,OAAO,CAAC,CAAC;MAC/D,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAMsE,OAAO,GAAG9I,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,aAAa,EAAE;MACjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM+I,MAAM,GAAG/I,QAAQ,CAAC,MAAM;MAC5B,IAAIgJ,KAAK,GAAGtH,KAAK,CAACuH,WAAW;MAC7B,IAAIvH,KAAK,CAACuH,WAAW,IAAI,CAACtI,YAAY,CAACe,KAAK,CAACuH,WAAW,CAAC,EAAE;QACzDD,KAAK,GAAI,iBAAgBtH,KAAK,CAACuH,WAAY,GAAE;MAC/C;MACA,OAAO;QACL,CAAE,6BAA4B,GAAGD;MACnC,CAAC;IACH,CAAC,CAAC;IAEF9I,SAAS,CAAC,MAAM;MACd,IAAIwB,KAAK,CAACa,aAAa,IAAI,IAAI,IAAIb,KAAK,CAACa,aAAa,KAAK,KAAK,EAAE;QAChEmB,aAAa,CAACQ,KAAK,GAAG,CAAC,GAAGS,MAAM,CAACjD,KAAK,CAACa,aAAa,CAAC,CAAC;MACxD,CAAC,MAAM;QACLZ,QAAQ,CAACuC,KAAK,CAACE,OAAO,CAAE0D,CAAM,IAAKxD,cAAc,CAACc,UAAU,CAAC0C,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvElB,YAAY,CAAC,CAAC;MAChB;MAEA,KAAK,MAAMsC,WAAW,IAAIxH,KAAK,CAACK,MAAM,CAACgE,GAAG,CAACX,UAAU,CAAC,EAAE;QACtDyB,YAAY,CAACqC,WAAW,EAAE,IAAI,CAAC;MACjC;MAEA,KAAK,MAAMC,aAAa,IAAIzH,KAAK,CAACU,QAAQ,CAAC2D,GAAG,CAACX,UAAU,CAAC,EAAE;QAC1DiC,cAAc,CAAC8B,aAAa,EAAE,IAAI,CAAC;MACrC;IACF,CAAC,CAAC;IAEFlG,MAAM,CAAC;MACL0B;IACF,CAAC,CAAC;IAEFlE,SAAS,CAAC,MAAM;MACd,OAAA2I,YAAA,CAAAC,SAAA,SAAAD,YAAA;QAAA,SAEgBN,OAAO,CAAC5E,KAAK;QAAA,SAAS6E,MAAM,CAAC7E,KAAK;QAAA;MAAA,IAC3CP,aAAa,CAACO,KAAK,IAAAkF,YAAA,CAAAnI,YAAA;QAAA;MAAA,QAAkC,EACrD2H,YAAY,CAAC1E,KAAK,CAACH,MAAM,GAAG,CAAC,GAC5B6E,YAAY,CAAC1E,KAAK,CAACe,KAAK,CAAC,CAAC,CAACc,GAAG,CAAE8C,IAAI,IAAK;QACvC,OAAAO,YAAA,CAAAlI,aAAA,EAAAoI,WAAA;UAAA,OAGSzI,oBAAoB,CAACgI,IAAI,EAAEnH,KAAK,CAAC8C,OAAO;QAAC;UAE5C,GAAGzD,WAAW,CAACW,KAAK,EAAEH,iBAAiB,CAAC;UACxCgD,IAAI,EAAEsE,IAAI;UACVrD,KAAK,EAAE;QAAC,IALDzC,KAAK;MASpB,CAAC,CAAC,GAAAqG,YAAA;QAAA;MAAA,IAGCrG,KAAK,CAAC,SAAS,CAAC,GAAGA,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAAqG,YAAA,gBAAAG,gBAAA,aAAuB,EAEhE;IAIT,CAAC,CAAC;IAEF,OAAO;MACLrG,KAAK;MACLC,WAAW;MACXE,WAAW;MACXC,SAAS;MACTC,WAAW;MACXI,aAAa;MACbD;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
|
package/lib/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getCurrentInstance, nextTick, reactive } from 'vue';
|
|
2
|
-
import * as
|
|
2
|
+
import * as allComponents from "./components/index.mjs";
|
|
3
3
|
import { YUYEON_DATE_KEY, YUYEON_DATE_OPTIONS_KEY, createDateModule } from "./composables/date/index.mjs";
|
|
4
4
|
import { createDefaultsModule } from "./composables/defaults/index.mjs";
|
|
5
5
|
import { YUYEON_DEFAULTS_KEY } from "./composables/defaults/share.mjs";
|
|
@@ -20,6 +20,7 @@ export function init() {
|
|
|
20
20
|
const i18nModule = createI18nModule(options?.i18n);
|
|
21
21
|
const dateModule = createDateModule(options?.date, i18nModule.localeModule);
|
|
22
22
|
const iconModule = createIconModule(options?.icon);
|
|
23
|
+
const components = options?.components ?? allComponents;
|
|
23
24
|
const install = app => {
|
|
24
25
|
themeModule.install(app);
|
|
25
26
|
const yuyeon = reactive({
|
|
@@ -33,7 +34,7 @@ export function init() {
|
|
|
33
34
|
date: dateModule,
|
|
34
35
|
defaults: defaultsModule
|
|
35
36
|
});
|
|
36
|
-
Object.keys(
|
|
37
|
+
Object.keys(components).forEach(componentName => {
|
|
37
38
|
const comp = components[componentName];
|
|
38
39
|
if (typeof comp === 'object' && 'name' in comp) app.component(componentName, comp);
|
|
39
40
|
});
|
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["getCurrentInstance","nextTick","reactive","
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["getCurrentInstance","nextTick","reactive","allComponents","YUYEON_DATE_KEY","YUYEON_DATE_OPTIONS_KEY","createDateModule","createDefaultsModule","YUYEON_DEFAULTS_KEY","createI18nModule","YUYEON_I18N_KEY","YUYEON_ICON_KEY","createIconModule","YUYEON_THEME_KEY","createThemeModule","useTheme","PlateWave","YUYEON_LOGO","defaultOptions","credit","init","options","arguments","length","undefined","defaultsModule","defaults","themeModule","theme","i18nModule","i18n","dateModule","date","localeModule","iconModule","icon","components","install","app","yuyeon","root","instance","rtlModule","Object","keys","forEach","componentName","comp","component","directive","provide","config","globalProperties","$yuyeon","_container","_instance","classList","add","setAttribute","console","log","unmount","mount","vm","scope","stop","useYuyeon","Error","appContext"],"sources":["../src/index.ts"],"sourcesContent":["import type { App, Component, ComponentInternalInstance } from 'vue';\r\nimport { getCurrentInstance, nextTick, reactive } from 'vue';\r\nimport * as allComponents from '@/components/';\r\n\r\nimport {\r\n YUYEON_DATE_KEY,\r\n YUYEON_DATE_OPTIONS_KEY,\r\n createDateModule,\r\n} from '@/composables/date';\r\nimport { createDefaultsModule } from '@/composables/defaults';\r\nimport { YUYEON_DEFAULTS_KEY } from '@/composables/defaults/share';\r\nimport { createI18nModule } from '@/composables/i18n';\r\nimport { YUYEON_I18N_KEY } from '@/composables/i18n/share';\r\nimport { YUYEON_ICON_KEY, createIconModule } from '@/composables/icon';\r\nimport {\r\n YUYEON_THEME_KEY,\r\n createThemeModule,\r\n useTheme,\r\n} from '@/composables/theme';\r\nimport PlateWave from '@/directives/plate-wave';\r\nimport { YUYEON_LOGO } from '@/etc';\r\n\r\nimport './styles/base.scss';\r\n\r\nconst defaultOptions = {\r\n credit: true,\r\n};\r\n\r\ndeclare module 'vue' {\r\n interface ComponentCustomProperties {\r\n $yuyeon: any;\r\n }\r\n}\r\n\r\nexport function init(options: any = defaultOptions) {\r\n const defaultsModule = createDefaultsModule(options?.defaults);\r\n const themeModule = createThemeModule(options?.theme);\r\n const i18nModule = createI18nModule(options?.i18n);\r\n const dateModule = createDateModule(options?.date, i18nModule.localeModule);\r\n const iconModule = createIconModule(options?.icon);\r\n const components = options?.components ?? allComponents;\r\n\r\n const install = (app: App) => {\r\n themeModule.install(app);\r\n\r\n const yuyeon = reactive({\r\n app: null as ComponentInternalInstance | null,\r\n root: null as HTMLElement | null,\r\n theme: themeModule.instance,\r\n i18n: {\r\n ...i18nModule.localeModule,\r\n ...i18nModule.rtlModule,\r\n },\r\n date: dateModule,\r\n defaults: defaultsModule,\r\n });\r\n\r\n Object.keys(components).forEach((componentName) => {\r\n const comp = components[componentName as keyof typeof components];\r\n if (typeof comp === 'object' && 'name' in comp)\r\n app.component(componentName, comp as Component);\r\n });\r\n\r\n app.directive('plate-wave', PlateWave);\r\n\r\n app.provide(YUYEON_DEFAULTS_KEY, defaultsModule);\r\n app.provide(YUYEON_THEME_KEY, themeModule.instance);\r\n app.provide(YUYEON_ICON_KEY, iconModule);\r\n app.provide(YUYEON_I18N_KEY, {\r\n ...i18nModule.localeModule,\r\n ...i18nModule.rtlModule,\r\n });\r\n app.provide(YUYEON_DATE_OPTIONS_KEY, dateModule.options);\r\n app.provide(YUYEON_DATE_KEY, dateModule.instance);\r\n\r\n app.config.globalProperties.$yuyeon = yuyeon;\r\n\r\n nextTick(() => {\r\n yuyeon.root = app._container;\r\n yuyeon.app = app._instance as any;\r\n if (yuyeon.root) {\r\n yuyeon.root.classList.add('y-root');\r\n yuyeon.root.setAttribute('data-y-root', '');\r\n themeModule.init(yuyeon);\r\n }\r\n });\r\n\r\n if (options?.credit) {\r\n console.log(YUYEON_LOGO);\r\n }\r\n const { unmount, mount } = app;\r\n app.mount = (...args) => {\r\n const vm = mount(...args);\r\n if (!yuyeon.app) {\r\n yuyeon.app = app._instance as any;\r\n }\r\n if (!yuyeon.root) {\r\n nextTick(() => {\r\n yuyeon.root = app._container;\r\n if (yuyeon.root) {\r\n yuyeon.root.classList.add('y-root');\r\n yuyeon.root.setAttribute('data-y-root', '');\r\n themeModule.init(yuyeon);\r\n }\r\n });\r\n }\r\n app.mount = mount;\r\n return vm;\r\n };\r\n app.unmount = () => {\r\n unmount();\r\n themeModule.scope.stop();\r\n app.unmount = unmount;\r\n };\r\n };\r\n\r\n return {\r\n install,\r\n };\r\n}\r\n\r\nexport function useYuyeon() {\r\n const vm = getCurrentInstance();\r\n if (!vm) throw new Error('[yuyeon] Called outside of setup context');\r\n\r\n return vm.appContext.config.globalProperties.$yuyeon;\r\n}\r\n\r\nexport { useTheme };\r\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -24,7 +24,6 @@ export declare const pressYDropdownPropsOptions: <Defaults extends {
|
|
|
24
24
|
closeDelay?: unknown;
|
|
25
25
|
openDelay?: unknown;
|
|
26
26
|
minWidth?: unknown;
|
|
27
|
-
classes?: unknown;
|
|
28
27
|
minHeight?: unknown;
|
|
29
28
|
maxWidth?: unknown;
|
|
30
29
|
maxHeight?: unknown;
|
|
@@ -34,6 +33,7 @@ export declare const pressYDropdownPropsOptions: <Defaults extends {
|
|
|
34
33
|
scrim?: unknown;
|
|
35
34
|
scrimOpacity?: unknown;
|
|
36
35
|
eager?: unknown;
|
|
36
|
+
classes?: unknown;
|
|
37
37
|
contentClasses?: unknown;
|
|
38
38
|
closeClickScrim?: unknown;
|
|
39
39
|
contentStyles?: unknown;
|
|
@@ -248,14 +248,6 @@ export declare const pressYDropdownPropsOptions: <Defaults extends {
|
|
|
248
248
|
type: PropType<unknown extends Defaults["minWidth"] ? string | number : NonNullable<string | number> | Defaults["minWidth"]>;
|
|
249
249
|
default: unknown extends Defaults["minWidth"] ? string | number : NonNullable<string | number> | Defaults["minWidth"];
|
|
250
250
|
};
|
|
251
|
-
classes: unknown extends Defaults["classes"] ? {
|
|
252
|
-
type: PropType<string | string[] | Record<string, any>>;
|
|
253
|
-
} : Omit<{
|
|
254
|
-
type: PropType<string | string[] | Record<string, any>>;
|
|
255
|
-
}, "type" | "default"> & {
|
|
256
|
-
type: PropType<unknown extends Defaults["classes"] ? string | string[] | Record<string, any> : NonNullable<string | string[] | Record<string, any>> | Defaults["classes"]>;
|
|
257
|
-
default: unknown extends Defaults["classes"] ? string | string[] | Record<string, any> : NonNullable<string | string[] | Record<string, any>> | Defaults["classes"];
|
|
258
|
-
};
|
|
259
251
|
minHeight: unknown extends Defaults["minHeight"] ? PropType<string | number> : {
|
|
260
252
|
type: PropType<unknown extends Defaults["minHeight"] ? string | number : NonNullable<string | number> | Defaults["minHeight"]>;
|
|
261
253
|
default: unknown extends Defaults["minHeight"] ? string | number : NonNullable<string | number> | Defaults["minHeight"];
|
|
@@ -328,6 +320,14 @@ export declare const pressYDropdownPropsOptions: <Defaults extends {
|
|
|
328
320
|
type: PropType<unknown extends Defaults["eager"] ? boolean : boolean | Defaults["eager"]>;
|
|
329
321
|
default: unknown extends Defaults["eager"] ? boolean : boolean | Defaults["eager"];
|
|
330
322
|
};
|
|
323
|
+
classes: unknown extends Defaults["classes"] ? {
|
|
324
|
+
type: PropType<string | string[] | Record<string, any>>;
|
|
325
|
+
} : Omit<{
|
|
326
|
+
type: PropType<string | string[] | Record<string, any>>;
|
|
327
|
+
}, "type" | "default"> & {
|
|
328
|
+
type: PropType<unknown extends Defaults["classes"] ? string | string[] | Record<string, any> : NonNullable<string | string[] | Record<string, any>> | Defaults["classes"]>;
|
|
329
|
+
default: unknown extends Defaults["classes"] ? string | string[] | Record<string, any> : NonNullable<string | string[] | Record<string, any>> | Defaults["classes"];
|
|
330
|
+
};
|
|
331
331
|
contentClasses: unknown extends Defaults["contentClasses"] ? {
|
|
332
332
|
type: PropType<string | string[] | Record<string, any>>;
|
|
333
333
|
} : Omit<{
|
|
@@ -491,9 +491,6 @@ export declare const YDropdown: import('vue').DefineComponent<{
|
|
|
491
491
|
default: number;
|
|
492
492
|
};
|
|
493
493
|
minWidth: PropType<string | number>;
|
|
494
|
-
classes: {
|
|
495
|
-
type: PropType<string | string[] | Record<string, any>>;
|
|
496
|
-
};
|
|
497
494
|
minHeight: PropType<string | number>;
|
|
498
495
|
maxWidth: PropType<string | number>;
|
|
499
496
|
maxHeight: PropType<string | number>;
|
|
@@ -521,6 +518,9 @@ export declare const YDropdown: import('vue').DefineComponent<{
|
|
|
521
518
|
eager: {
|
|
522
519
|
type: PropType<boolean>;
|
|
523
520
|
};
|
|
521
|
+
classes: {
|
|
522
|
+
type: PropType<string | string[] | Record<string, any>>;
|
|
523
|
+
};
|
|
524
524
|
contentClasses: {
|
|
525
525
|
type: PropType<string | string[] | Record<string, any>>;
|
|
526
526
|
};
|
|
@@ -140,7 +140,6 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
140
140
|
readonly height?: string | number | undefined;
|
|
141
141
|
readonly theme?: string | undefined;
|
|
142
142
|
readonly minWidth?: string | number | undefined;
|
|
143
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
144
143
|
readonly offset?: string | number | number[] | undefined;
|
|
145
144
|
readonly minHeight?: string | number | undefined;
|
|
146
145
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -149,6 +148,7 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
149
148
|
readonly scrim?: boolean | undefined;
|
|
150
149
|
readonly scrimOpacity?: number | undefined;
|
|
151
150
|
readonly eager?: boolean | undefined;
|
|
151
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
152
152
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
153
153
|
readonly closeClickScrim?: boolean | undefined;
|
|
154
154
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -331,7 +331,6 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
331
331
|
readonly height?: string | number | undefined;
|
|
332
332
|
readonly theme?: string | undefined;
|
|
333
333
|
readonly minWidth?: string | number | undefined;
|
|
334
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
335
334
|
readonly offset?: string | number | number[] | undefined;
|
|
336
335
|
readonly minHeight?: string | number | undefined;
|
|
337
336
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -340,6 +339,7 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
340
339
|
readonly scrim?: boolean | undefined;
|
|
341
340
|
readonly scrimOpacity?: number | undefined;
|
|
342
341
|
readonly eager?: boolean | undefined;
|
|
342
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
343
343
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
344
344
|
readonly closeClickScrim?: boolean | undefined;
|
|
345
345
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -522,7 +522,6 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
522
522
|
readonly height?: string | number | undefined;
|
|
523
523
|
readonly theme?: string | undefined;
|
|
524
524
|
readonly minWidth?: string | number | undefined;
|
|
525
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
526
525
|
readonly offset?: string | number | number[] | undefined;
|
|
527
526
|
readonly minHeight?: string | number | undefined;
|
|
528
527
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -531,6 +530,7 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
531
530
|
readonly scrim?: boolean | undefined;
|
|
532
531
|
readonly scrimOpacity?: number | undefined;
|
|
533
532
|
readonly eager?: boolean | undefined;
|
|
533
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
534
534
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
535
535
|
readonly closeClickScrim?: boolean | undefined;
|
|
536
536
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -711,7 +711,6 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
711
711
|
readonly height?: string | number | undefined;
|
|
712
712
|
readonly theme?: string | undefined;
|
|
713
713
|
readonly minWidth?: string | number | undefined;
|
|
714
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
715
714
|
readonly offset?: string | number | number[] | undefined;
|
|
716
715
|
readonly minHeight?: string | number | undefined;
|
|
717
716
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -720,6 +719,7 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
720
719
|
readonly scrim?: boolean | undefined;
|
|
721
720
|
readonly scrimOpacity?: number | undefined;
|
|
722
721
|
readonly eager?: boolean | undefined;
|
|
722
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
723
723
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
724
724
|
readonly closeClickScrim?: boolean | undefined;
|
|
725
725
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -901,7 +901,6 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
901
901
|
readonly height?: string | number | undefined;
|
|
902
902
|
readonly theme?: string | undefined;
|
|
903
903
|
readonly minWidth?: string | number | undefined;
|
|
904
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
905
904
|
readonly offset?: string | number | number[] | undefined;
|
|
906
905
|
readonly minHeight?: string | number | undefined;
|
|
907
906
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -910,6 +909,7 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
910
909
|
readonly scrim?: boolean | undefined;
|
|
911
910
|
readonly scrimOpacity?: number | undefined;
|
|
912
911
|
readonly eager?: boolean | undefined;
|
|
912
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
913
913
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
914
914
|
readonly closeClickScrim?: boolean | undefined;
|
|
915
915
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -1090,7 +1090,6 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
1090
1090
|
readonly height?: string | number | undefined;
|
|
1091
1091
|
readonly theme?: string | undefined;
|
|
1092
1092
|
readonly minWidth?: string | number | undefined;
|
|
1093
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
1094
1093
|
readonly offset?: string | number | number[] | undefined;
|
|
1095
1094
|
readonly minHeight?: string | number | undefined;
|
|
1096
1095
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -1099,6 +1098,7 @@ export declare const pressSelectPropsOptions: <Defaults extends {
|
|
|
1099
1098
|
readonly scrim?: boolean | undefined;
|
|
1100
1099
|
readonly scrimOpacity?: number | undefined;
|
|
1101
1100
|
readonly eager?: boolean | undefined;
|
|
1101
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
1102
1102
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
1103
1103
|
readonly closeClickScrim?: boolean | undefined;
|
|
1104
1104
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -1667,7 +1667,6 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
1667
1667
|
readonly height?: string | number | undefined;
|
|
1668
1668
|
readonly theme?: string | undefined;
|
|
1669
1669
|
readonly minWidth?: string | number | undefined;
|
|
1670
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
1671
1670
|
readonly offset?: string | number | number[] | undefined;
|
|
1672
1671
|
readonly minHeight?: string | number | undefined;
|
|
1673
1672
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -1676,6 +1675,7 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
1676
1675
|
readonly scrim?: boolean | undefined;
|
|
1677
1676
|
readonly scrimOpacity?: number | undefined;
|
|
1678
1677
|
readonly eager?: boolean | undefined;
|
|
1678
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
1679
1679
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
1680
1680
|
readonly closeClickScrim?: boolean | undefined;
|
|
1681
1681
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -1858,7 +1858,6 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
1858
1858
|
readonly height?: string | number | undefined;
|
|
1859
1859
|
readonly theme?: string | undefined;
|
|
1860
1860
|
readonly minWidth?: string | number | undefined;
|
|
1861
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
1862
1861
|
readonly offset?: string | number | number[] | undefined;
|
|
1863
1862
|
readonly minHeight?: string | number | undefined;
|
|
1864
1863
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -1867,6 +1866,7 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
1867
1866
|
readonly scrim?: boolean | undefined;
|
|
1868
1867
|
readonly scrimOpacity?: number | undefined;
|
|
1869
1868
|
readonly eager?: boolean | undefined;
|
|
1869
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
1870
1870
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
1871
1871
|
readonly closeClickScrim?: boolean | undefined;
|
|
1872
1872
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -2049,7 +2049,6 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
2049
2049
|
readonly height?: string | number | undefined;
|
|
2050
2050
|
readonly theme?: string | undefined;
|
|
2051
2051
|
readonly minWidth?: string | number | undefined;
|
|
2052
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2053
2052
|
readonly offset?: string | number | number[] | undefined;
|
|
2054
2053
|
readonly minHeight?: string | number | undefined;
|
|
2055
2054
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -2058,6 +2057,7 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
2058
2057
|
readonly scrim?: boolean | undefined;
|
|
2059
2058
|
readonly scrimOpacity?: number | undefined;
|
|
2060
2059
|
readonly eager?: boolean | undefined;
|
|
2060
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2061
2061
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
2062
2062
|
readonly closeClickScrim?: boolean | undefined;
|
|
2063
2063
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -2238,7 +2238,6 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
2238
2238
|
readonly height?: string | number | undefined;
|
|
2239
2239
|
readonly theme?: string | undefined;
|
|
2240
2240
|
readonly minWidth?: string | number | undefined;
|
|
2241
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2242
2241
|
readonly offset?: string | number | number[] | undefined;
|
|
2243
2242
|
readonly minHeight?: string | number | undefined;
|
|
2244
2243
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -2247,6 +2246,7 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
2247
2246
|
readonly scrim?: boolean | undefined;
|
|
2248
2247
|
readonly scrimOpacity?: number | undefined;
|
|
2249
2248
|
readonly eager?: boolean | undefined;
|
|
2249
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2250
2250
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
2251
2251
|
readonly closeClickScrim?: boolean | undefined;
|
|
2252
2252
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -2428,7 +2428,6 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
2428
2428
|
readonly height?: string | number | undefined;
|
|
2429
2429
|
readonly theme?: string | undefined;
|
|
2430
2430
|
readonly minWidth?: string | number | undefined;
|
|
2431
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2432
2431
|
readonly offset?: string | number | number[] | undefined;
|
|
2433
2432
|
readonly minHeight?: string | number | undefined;
|
|
2434
2433
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -2437,6 +2436,7 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
2437
2436
|
readonly scrim?: boolean | undefined;
|
|
2438
2437
|
readonly scrimOpacity?: number | undefined;
|
|
2439
2438
|
readonly eager?: boolean | undefined;
|
|
2439
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2440
2440
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
2441
2441
|
readonly closeClickScrim?: boolean | undefined;
|
|
2442
2442
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -2617,7 +2617,6 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
2617
2617
|
readonly height?: string | number | undefined;
|
|
2618
2618
|
readonly theme?: string | undefined;
|
|
2619
2619
|
readonly minWidth?: string | number | undefined;
|
|
2620
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2621
2620
|
readonly offset?: string | number | number[] | undefined;
|
|
2622
2621
|
readonly minHeight?: string | number | undefined;
|
|
2623
2622
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -2626,6 +2625,7 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
|
|
|
2626
2625
|
readonly scrim?: boolean | undefined;
|
|
2627
2626
|
readonly scrimOpacity?: number | undefined;
|
|
2628
2627
|
readonly eager?: boolean | undefined;
|
|
2628
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2629
2629
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
2630
2630
|
readonly closeClickScrim?: boolean | undefined;
|
|
2631
2631
|
readonly layerGroup?: string | Element | undefined;
|
|
@@ -2969,7 +2969,6 @@ export declare const YSelect: import('vue').DefineComponent<{
|
|
|
2969
2969
|
readonly height?: string | number | undefined;
|
|
2970
2970
|
readonly theme?: string | undefined;
|
|
2971
2971
|
readonly minWidth?: string | number | undefined;
|
|
2972
|
-
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2973
2972
|
readonly offset?: string | number | number[] | undefined;
|
|
2974
2973
|
readonly minHeight?: string | number | undefined;
|
|
2975
2974
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -2978,6 +2977,7 @@ export declare const YSelect: import('vue').DefineComponent<{
|
|
|
2978
2977
|
readonly scrim?: boolean | undefined;
|
|
2979
2978
|
readonly scrimOpacity?: number | undefined;
|
|
2980
2979
|
readonly eager?: boolean | undefined;
|
|
2980
|
+
readonly classes?: string | string[] | Record<string, any> | undefined;
|
|
2981
2981
|
readonly contentClasses?: string | string[] | Record<string, any> | undefined;
|
|
2982
2982
|
readonly closeClickScrim?: boolean | undefined;
|
|
2983
2983
|
readonly layerGroup?: string | Element | undefined;
|