yuyeon 0.3.1-rc.0 → 0.3.1-rc.4
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/LICENSE +191 -191
- package/README.md +15 -15
- package/dist/yuyeon.js +1813 -1876
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/abstract/items.mjs.map +1 -1
- package/lib/components/alert/YAlert.mjs +2 -2
- package/lib/components/alert/YAlert.mjs.map +1 -1
- package/lib/components/alert/YAlert.scss +77 -77
- package/lib/components/app/YApp.mjs +2 -2
- package/lib/components/app/YApp.mjs.map +1 -1
- package/lib/components/bench/YBench.mjs +2 -2
- package/lib/components/bench/YBench.mjs.map +1 -1
- package/lib/components/button/YButton.scss +137 -137
- package/lib/components/card/YCard.mjs.map +1 -1
- package/lib/components/card/YCard.scss +45 -45
- package/lib/components/card/YCardBody.mjs.map +1 -1
- package/lib/components/card/YCardFooter.mjs.map +1 -1
- package/lib/components/card/YCardHeader.mjs.map +1 -1
- package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
- package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -1
- package/lib/components/checkbox/YInputCheckbox.scss +84 -84
- package/lib/components/checkbox/index.mjs.map +1 -1
- package/lib/components/chip/YChip.scss +36 -36
- package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
- package/lib/components/date-picker/YDateCalendar.scss +84 -84
- package/lib/components/date-picker/YDatePicker.mjs +2 -2
- package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
- package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
- package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
- package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
- package/lib/components/dialog/index.mjs.map +1 -1
- package/lib/components/divider/YDivider.mjs.map +1 -1
- package/lib/components/divider/YDivider.scss +2 -2
- package/lib/components/draggable/YDraggable.mjs +2 -2
- package/lib/components/draggable/YDraggable.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.scss +27 -27
- package/lib/components/field-input/index.mjs.map +1 -1
- package/lib/components/form/YForm.mjs.map +1 -1
- package/lib/components/hover/YHover.mjs +1 -1
- package/lib/components/hover/YHover.mjs.map +1 -1
- package/lib/components/icon/YIcon.mjs.map +1 -1
- package/lib/components/icon/YIcon.scss +18 -18
- package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
- package/lib/components/icons/YIconClear.mjs.map +1 -1
- package/lib/components/icons/YIconDropdown.mjs.map +1 -1
- package/lib/components/icons/YIconExpand.mjs.map +1 -1
- package/lib/components/icons/YIconPageControl.mjs.map +1 -1
- package/lib/components/icons/YIconSort.mjs.map +1 -1
- package/lib/components/icons/YIconSort.scss +24 -24
- package/lib/components/icons/index.mjs.map +1 -1
- package/lib/components/img/YImg.mjs +4 -4
- package/lib/components/img/YImg.mjs.map +1 -1
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/input/YInput.mjs.map +1 -1
- package/lib/components/input/YInput.scss +258 -258
- package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
- package/lib/components/layer/YLayer.mjs.map +1 -1
- package/lib/components/layer/active-stack.mjs.map +1 -1
- package/lib/components/layer/base.mjs.map +1 -1
- package/lib/components/layer/content.mjs.map +1 -1
- package/lib/components/layer/scroll-strategies.mjs.map +1 -1
- package/lib/components/list/YList.mjs.map +1 -1
- package/lib/components/list/YListItem.mjs.map +1 -1
- package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
- package/lib/components/menu/YMenu.mjs +2 -2
- package/lib/components/menu/YMenu.mjs.map +1 -1
- package/lib/components/menu/YMenu.scss +25 -25
- package/lib/components/navigation/YNavigation.mjs.map +1 -1
- package/lib/components/pagination/YPagination.mjs.map +1 -1
- package/lib/components/pagination/YPagination.scss +52 -52
- package/lib/components/panel/YDividePanel.mjs.map +1 -1
- package/lib/components/plate/YPlate.mjs +2 -2
- package/lib/components/plate/YPlate.mjs.map +1 -1
- package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
- package/lib/components/progress-bar/YProgressBar.scss +120 -120
- package/lib/components/progress-ring/YProgressRing.mjs +2 -2
- package/lib/components/progress-ring/YProgressRing.mjs.map +1 -1
- package/lib/components/progress-ring/YProgressRing.scss +38 -38
- package/lib/components/progress-ring/index.mjs.map +1 -1
- package/lib/components/select/YSelect.mjs.map +1 -1
- package/lib/components/slider/YSlider.mjs.map +1 -1
- package/lib/components/snackbar/YSnackbar.mjs +5 -5
- package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
- package/lib/components/switch/YSwitch.mjs.map +1 -1
- package/lib/components/switch/YSwitch.scss +211 -211
- package/lib/components/tab/YTab.mjs.map +1 -1
- package/lib/components/tab/YTab.scss +73 -73
- package/lib/components/tab/YTabs.mjs.map +1 -1
- package/lib/components/tab/YTabs.scss +8 -8
- package/lib/components/tab/index.mjs.map +1 -1
- package/lib/components/tab/types.mjs.map +1 -1
- package/lib/components/table/YDataTableBody.mjs.map +1 -1
- package/lib/components/table/YDataTableCell.mjs.map +1 -1
- package/lib/components/table/YDataTableHead.mjs.map +1 -1
- package/lib/components/table/YDataTableLayer.mjs.map +1 -1
- package/lib/components/table/YDataTableRow.mjs.map +1 -1
- package/lib/components/table/YTable.mjs.map +1 -1
- package/lib/components/table/YTable.scss +157 -157
- package/lib/components/table/composibles/header.mjs.map +1 -1
- package/lib/components/table/composibles/items.mjs.map +1 -1
- package/lib/components/table/composibles/options.mjs.map +1 -1
- package/lib/components/table/composibles/pagination.mjs.map +1 -1
- package/lib/components/table/composibles/selection.mjs.map +1 -1
- package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
- package/lib/components/table/composibles/sorting.mjs.map +1 -1
- package/lib/components/table/types/header.mjs.map +1 -1
- package/lib/components/table/types/index.mjs.map +1 -1
- package/lib/components/table/types/row.mjs.map +1 -1
- package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
- package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
- package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
- package/lib/components/text-interpolation/YTi.mjs.map +1 -1
- package/lib/components/textarea/YTextarea.mjs.map +1 -1
- package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
- package/lib/components/tooltip/YTooltip.mjs +2 -2
- package/lib/components/tooltip/YTooltip.mjs.map +1 -1
- package/lib/components/tree-view/YTreeView.mjs +5 -0
- package/lib/components/tree-view/YTreeView.mjs.map +1 -1
- package/lib/components/tree-view/YTreeView.scss +81 -81
- package/lib/components/tree-view/types.mjs.map +1 -1
- package/lib/components/tree-view/util.mjs.map +1 -1
- package/lib/composables/choice.mjs.map +1 -1
- package/lib/composables/communication.mjs.map +1 -1
- package/lib/composables/component.mjs.map +1 -1
- package/lib/composables/coordinate/arrangement.mjs.map +1 -1
- package/lib/composables/coordinate/index.mjs.map +1 -1
- package/lib/composables/coordinate/levitation.mjs +2 -2
- package/lib/composables/coordinate/levitation.mjs.map +1 -1
- package/lib/composables/coordinate/types.mjs.map +1 -1
- package/lib/composables/coordinate/utils/point.mjs.map +1 -1
- package/lib/composables/date/factory.mjs.map +1 -1
- package/lib/composables/date/index.mjs.map +1 -1
- package/lib/composables/date/setting.mjs.map +1 -1
- package/lib/composables/date/types.mjs.map +1 -1
- package/lib/composables/defaults/index.mjs.map +1 -1
- package/lib/composables/defaults/share.mjs.map +1 -1
- package/lib/composables/defaults/types.mjs.map +1 -1
- package/lib/composables/dimension.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/i18n/index.mjs.map +1 -1
- package/lib/composables/i18n/locale.mjs.map +1 -1
- package/lib/composables/i18n/rtl.mjs.map +1 -1
- package/lib/composables/i18n/share.mjs.map +1 -1
- package/lib/composables/icon.mjs.map +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/layer-group.mjs.map +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/list-items.mjs.map +1 -1
- package/lib/composables/progress.mjs.map +1 -1
- package/lib/composables/ref.mjs.map +1 -1
- package/lib/composables/resize-observer.mjs.map +1 -1
- package/lib/composables/scope.mjs.map +1 -1
- package/lib/composables/theme/factory.mjs.map +1 -1
- package/lib/composables/theme/index.mjs.map +1 -1
- package/lib/composables/theme/setting.mjs.map +1 -1
- package/lib/composables/theme/types.mjs.map +1 -1
- package/lib/composables/timing.mjs.map +1 -1
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/vue-router.mjs.map +1 -1
- package/lib/directives/plate-wave/index.mjs +2 -2
- package/lib/directives/plate-wave/index.mjs.map +1 -1
- package/lib/etc/index.mjs.map +1 -1
- package/lib/i18n/built-in.mjs.map +1 -1
- package/lib/i18n/config.mjs.map +1 -1
- package/lib/i18n/types.mjs.map +1 -1
- package/lib/index.mjs +2 -1
- package/lib/index.mjs.map +1 -1
- package/lib/locales/en.mjs.map +1 -1
- package/lib/locales/index.mjs.map +1 -1
- package/lib/locales/ko.mjs.map +1 -1
- package/lib/styles/_elevation.scss +16 -16
- package/lib/styles/_palette.scss +1 -1
- package/lib/styles/base.scss +130 -130
- package/lib/styles/settings/_elevation.scss +20 -20
- package/lib/styles/settings/_variables.scss +14 -14
- package/lib/styles/theme/dark.scss +11 -11
- package/lib/styles/theme/light.scss +11 -11
- package/lib/styles/util/_mixin.scss +33 -33
- package/lib/styles/util/_var.scss +18 -18
- package/lib/util/anchor.mjs.map +1 -1
- package/lib/util/collection.mjs.map +1 -1
- package/lib/util/color/const.mjs.map +1 -1
- package/lib/util/color/index.mjs +12 -12
- package/lib/util/color/index.mjs.map +1 -1
- package/lib/util/color/types.mjs.map +1 -1
- package/lib/util/color/utils/math-utils.mjs +62 -62
- package/lib/util/color/utils/math-utils.mjs.map +1 -1
- package/lib/util/component/component.mjs.map +1 -1
- package/lib/util/component/index.mjs.map +1 -1
- package/lib/util/component/inject-self.mjs.map +1 -1
- package/lib/util/component/props.mjs.map +1 -1
- package/lib/util/component/types.mjs.map +1 -1
- package/lib/util/date/index.mjs.map +1 -1
- package/lib/util/date/types.mjs.map +1 -1
- package/lib/util/debounce.mjs.map +1 -1
- package/lib/util/environments.mjs.map +1 -1
- package/lib/util/index.mjs.map +1 -1
- package/lib/util/reactivity.mjs +3 -3
- package/lib/util/reactivity.mjs.map +1 -1
- package/lib/util/rect.mjs.map +1 -1
- package/lib/util/validation.mjs.map +1 -1
- package/package.json +120 -120
- package/types/globals.d.ts +20 -20
- package/types/shims.d.ts +55 -55
- package/lib/components/icon/poly.mjs +0 -57
- package/lib/components/icon/poly.mjs.map +0 -1
- package/lib/composables/group.mjs +0 -194
- package/lib/composables/group.mjs.map +0 -1
- package/lib/util/parser.mjs +0 -31
- package/lib/util/parser.mjs.map +0 -1
- package/lib/util/vue-component/index.mjs +0 -63
- package/lib/util/vue-component/index.mjs.map +0 -1
- package/lib/util/vue-component/props.mjs +0 -37
- package/lib/util/vue-component/props.mjs.map +0 -1
- package/lib/util/vue-component/types.mjs +0 -2
- package/lib/util/vue-component/types.mjs.map +0 -1
- package/lib/util/vue-component.mjs +0 -102
- package/lib/util/vue-component.mjs.map +0 -1
- package/types/components/select/YSelect.d.ts +0 -7062
- package/types/components/table/pagination.d.ts +0 -78
- package/types/components/tooltip/YTooltip.d.ts +0 -3711
- package/types/util/color/hct/hct_solver.d.ts +0 -146
- package/types/util/color/hct/viewing_conditions.d.ts +0 -74
- package/types/util/color/palettes/tonal_palette.d.ts +0 -55
- package/types/util/color/utils/math_utils.d.ts +0 -82
- package/types/util/parser.d.ts +0 -4
- package/types/util/vue-component/index.d.ts +0 -10
- package/types/util/vue-component/props.d.ts +0 -31
- package/types/util/vue-component/types.d.ts +0 -4
- package/types/util/vue-component.d.ts +0 -39
- /package/types/util/{Rect.d.ts → rect.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"group.mjs","names":["computed","getCurrentInstance","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","watch","wrapInArray","deepEqual","getUid","propsFactory","useModelDuplex","pressGroupPropsOptions","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","pressGroupItemPropsOptions","value","useGroupItem","props","injectKey","required","arguments","length","vm","Error","id","Symbol","for","description","group","register","unregister","isSelected","emit","toggle","select","useGroup","isUnmounted","items","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","findChildrenWithProvide","vnode","index","indexOf","splice","push","forceMandatoryValue","findIndex","find","internalValue","slice","includes","step","offset","currentId","currentIndex","i","newIndex","newItem","state","prev","next","getItemIndex","ids","forEach","itemByIndex","values","itemIndex"],"sources":["../../src/composables/group.ts"],"sourcesContent":["import type {\n ComponentInternalInstance,\n ComputedRef,\n ExtractPropTypes,\n InjectionKey,\n PropType,\n Ref,\n UnwrapRef,\n} from 'vue';\nimport {\n computed,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n toRef,\n watch,\n} from 'vue';\n\nimport { wrapInArray } from '../util/array';\nimport { deepEqual } from '../util/common';\nimport { getUid, propsFactory } from '../util/vue-component';\nimport { useModelDuplex } from './communication';\n\nexport interface GroupItem {\n id: number;\n value: Ref<unknown>;\n disabled: Ref<boolean | undefined>;\n}\n\nexport interface GroupProps {\n disabled: boolean;\n modelValue: unknown;\n multiple?: boolean;\n mandatory?: boolean | 'force' | undefined;\n max?: number | undefined;\n selectedClass: string | undefined;\n 'onUpdate:modelValue': ((value: unknown) => void) | undefined;\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, instance: ComponentInternalInstance) => void;\n unregister: (id: number) => void;\n select: (id: number, value: boolean) => void;\n selected: Ref<Readonly<number[]>>;\n selectedClass: Ref<string | undefined>;\n isSelected: (id: number) => boolean;\n disabled: Ref<boolean | undefined>;\n getItemIndex: (value: unknown) => number;\n prev: () => void;\n next: () => void;\n items: ComputedRef<\n { id: number; value: unknown; disabled: boolean | undefined }[]\n >;\n}\n\nexport interface GroupItemProvide {\n id: number;\n isSelected: Ref<boolean>;\n toggle: () => void;\n select: (value: boolean) => void;\n selectedClass: Ref<(string | undefined)[] | false>;\n value: Ref<unknown>;\n disabled: Ref<boolean | undefined>;\n group: GroupProvide;\n}\n\nexport const pressGroupPropsOptions = propsFactory(\n {\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n },\n 'group',\n);\n\nexport const pressGroupItemPropsOptions = propsFactory(\n {\n value: null,\n disabled: Boolean,\n selectedClass: String,\n },\n 'group-item',\n);\n\nexport interface GroupItemProps\n extends ExtractPropTypes<ReturnType<typeof pressGroupItemPropsOptions>> {\n 'onGroup:selected': ((val: { value: boolean }) => void) | undefined;\n}\n\nexport function useGroupItem(\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide;\nexport function useGroupItem(\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null;\nexport function useGroupItem(\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance();\n\n if (!vm) {\n throw new Error(\n 'useGroupItem composable must be used inside a component setup function',\n );\n }\n\n const id = getUid();\n\n provide(Symbol.for(`${injectKey.description}:id`), id);\n\n const group = inject(injectKey, null);\n\n if (!group) {\n if (!required) return group;\n\n throw new Error(\n `[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`,\n );\n }\n\n const value = toRef(props, 'value');\n const disabled = computed(() => !!(group.disabled.value || props.disabled));\n\n group.register(\n {\n id,\n value,\n disabled,\n },\n vm,\n );\n\n onBeforeUnmount(() => {\n group.unregister(id);\n });\n\n const isSelected = computed(() => {\n return group.isSelected(id);\n });\n\n const selectedClass = computed(\n () => isSelected.value && [group.selectedClass.value, props.selectedClass],\n );\n\n watch(isSelected, (value) => {\n vm.emit('group:selected', { value });\n });\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n };\n}\n\nexport function useGroup(\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>,\n) {\n let isUnmounted = false;\n const items = reactive<GroupItem[]>([]);\n const selected = useModelDuplex(\n props,\n 'modelValue',\n [],\n (v) => {\n if (v == null) return [];\n\n return getIds(items, wrapInArray(v));\n },\n (v) => {\n const arr = getValues(items, v);\n\n return props.multiple ? arr : arr[0];\n },\n );\n\n const groupVm = getCurrentInstance();\n\n function register(item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>;\n\n const key = Symbol.for(`${injectKey.description}:id`);\n const children = findChildrenWithProvide(key, groupVm?.vnode);\n const index = children.indexOf(vm);\n\n if (index > -1) {\n items.splice(index, 0, unwrapped);\n } else {\n items.push(unwrapped);\n }\n }\n\n function unregister(id: number) {\n if (isUnmounted) return;\n forceMandatoryValue();\n const index = items.findIndex((item) => item.id === id);\n items.splice(index, 1);\n }\n\n function forceMandatoryValue() {\n const item = items.find((item) => !item.disabled);\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id];\n }\n }\n\n onMounted(() => {\n forceMandatoryValue();\n });\n\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n\n function select(id: number, value?: boolean) {\n const item = items.find((item) => item.id === id);\n if (value && item?.disabled) return;\n\n if (props.multiple) {\n const internalValue = selected.value.slice();\n const index = internalValue.findIndex((v) => v === id);\n const isSelected = ~index;\n value = value ?? !isSelected;\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (isSelected && props.mandatory && internalValue.length <= 1) return;\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n )\n return;\n\n if (index < 0 && value) internalValue.push(id);\n else if (index >= 0 && !value) internalValue.splice(index, 1);\n\n selected.value = internalValue;\n } else {\n const isSelected = selected.value.includes(id);\n if (props.mandatory && isSelected) return;\n\n selected.value = value ?? !isSelected ? [id] : [];\n }\n }\n\n function step(offset: number) {\n if (props.multiple) {\n }\n\n if (!selected.value.length) {\n const item = items.find((item) => !item.disabled);\n item && (selected.value = [item.id]);\n } else {\n const currentId = selected.value[0];\n const currentIndex = items.findIndex((i) => i.id === currentId);\n\n let newIndex = (currentIndex + offset) % items.length;\n let newItem = items[newIndex];\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length;\n newItem = items[newIndex];\n }\n\n if (newItem.disabled) return;\n\n selected.value = [items[newIndex].id];\n }\n }\n\n const state: GroupProvide = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: (value: unknown) => getItemIndex(items, value),\n };\n\n provide(injectKey, state);\n\n return state;\n}\n\nfunction getItemIndex(items: UnwrapRef<GroupItem[]>, value: unknown) {\n const ids = getIds(items, [value]);\n\n if (!ids.length) return -1;\n\n return items.findIndex((item) => item.id === ids[0]);\n}\n\nfunction getIds(items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids: number[] = [];\n\n modelValue.forEach((value) => {\n const item = items.find((item) => deepEqual(value, item.value));\n const itemByIndex = items[value];\n\n if (item?.value != null) {\n ids.push(item.id);\n } else if (itemByIndex != null) {\n ids.push(itemByIndex.id);\n }\n });\n\n return ids;\n}\n\nfunction getValues(items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values: unknown[] = [];\n\n ids.forEach((id) => {\n const itemIndex = items.findIndex((item) => item.id === id);\n if (~itemIndex) {\n const item = items[itemIndex];\n values.push(item.value != null ? item.value : itemIndex);\n }\n });\n\n return values;\n}\n"],"mappings":"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"}
|
package/lib/util/parser.mjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export function simpleBraceParse(input) {
|
|
2
|
-
const pattern = /\{([^{}]+)\}/g;
|
|
3
|
-
const results = [];
|
|
4
|
-
let match;
|
|
5
|
-
let pointer = 0;
|
|
6
|
-
while ((match = pattern.exec(input)) !== null) {
|
|
7
|
-
const variable = match[1];
|
|
8
|
-
const start = match.index;
|
|
9
|
-
const end = pattern.lastIndex;
|
|
10
|
-
if (start > 0) {
|
|
11
|
-
const prevText = input.substring(pointer, start);
|
|
12
|
-
results.push({
|
|
13
|
-
type: 'text',
|
|
14
|
-
content: prevText
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
if (variable.trim()) {
|
|
18
|
-
results.push({
|
|
19
|
-
type: 'variable',
|
|
20
|
-
content: variable.trim()
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
pointer = end;
|
|
24
|
-
}
|
|
25
|
-
results.push({
|
|
26
|
-
type: 'text',
|
|
27
|
-
content: input.substring(pointer, input.length)
|
|
28
|
-
});
|
|
29
|
-
return results;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=parser.mjs.map
|
package/lib/util/parser.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.mjs","names":["simpleBraceParse","input","pattern","results","match","pointer","exec","variable","start","index","end","lastIndex","prevText","substring","push","type","content","trim","length"],"sources":["../../src/util/parser.ts"],"sourcesContent":["export function simpleBraceParse(input: string) {\r\n const pattern = /\\{([^{}]+)\\}/g;\r\n const results = [];\r\n let match;\r\n let pointer = 0;\r\n\r\n while ((match = pattern.exec(input)) !== null) {\r\n const variable = match[1];\r\n const start = match.index;\r\n const end = pattern.lastIndex;\r\n if (start > 0) {\r\n const prevText = input.substring(pointer, start);\r\n results.push({\r\n type: 'text',\r\n content: prevText,\r\n });\r\n }\r\n if (variable.trim()) {\r\n results.push({\r\n type: 'variable',\r\n content: variable.trim(),\r\n });\r\n }\r\n\r\n pointer = end;\r\n }\r\n\r\n results.push({\r\n type: 'text',\r\n content: input.substring(pointer, input.length),\r\n });\r\n\r\n return results;\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,gBAAgBA,CAACC,KAAa,EAAE;EAC9C,MAAMC,OAAO,GAAG,eAAe;EAC/B,MAAMC,OAAO,GAAG,EAAE;EAClB,IAAIC,KAAK;EACT,IAAIC,OAAO,GAAG,CAAC;EAEf,OAAO,CAACD,KAAK,GAAGF,OAAO,CAACI,IAAI,CAACL,KAAK,CAAC,MAAM,IAAI,EAAE;IAC7C,MAAMM,QAAQ,GAAGH,KAAK,CAAC,CAAC,CAAC;IACzB,MAAMI,KAAK,GAAGJ,KAAK,CAACK,KAAK;IACzB,MAAMC,GAAG,GAAGR,OAAO,CAACS,SAAS;IAC7B,IAAIH,KAAK,GAAG,CAAC,EAAE;MACb,MAAMI,QAAQ,GAAGX,KAAK,CAACY,SAAS,CAACR,OAAO,EAAEG,KAAK,CAAC;MAChDL,OAAO,CAACW,IAAI,CAAC;QACXC,IAAI,EAAE,MAAM;QACZC,OAAO,EAAEJ;MACX,CAAC,CAAC;IACJ;IACA,IAAIL,QAAQ,CAACU,IAAI,CAAC,CAAC,EAAE;MACnBd,OAAO,CAACW,IAAI,CAAC;QACXC,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAET,QAAQ,CAACU,IAAI,CAAC;MACzB,CAAC,CAAC;IACJ;IAEAZ,OAAO,GAAGK,GAAG;EACf;EAEAP,OAAO,CAACW,IAAI,CAAC;IACXC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAEf,KAAK,CAACY,SAAS,CAACR,OAAO,EAAEJ,KAAK,CAACiB,MAAM;EAChD,CAAC,CAAC;EAEF,OAAOf,OAAO;AAChB"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { getCurrentInstance } from 'vue';
|
|
2
|
-
export * from "./props.mjs";
|
|
3
|
-
export function getSlot(vm) {
|
|
4
|
-
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
|
|
5
|
-
let data = arguments.length > 2 ? arguments[2] : undefined;
|
|
6
|
-
let optional = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
7
|
-
if (vm.$slots?.[name]) {
|
|
8
|
-
const slot = vm.$slots[name](data instanceof Function ? data() : data);
|
|
9
|
-
return slot.filter(node => {
|
|
10
|
-
return node.el?.nodeType !== 8;
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
return undefined;
|
|
14
|
-
}
|
|
15
|
-
export function getUid() {
|
|
16
|
-
const vm = getCurrentInstance();
|
|
17
|
-
return vm?.uid;
|
|
18
|
-
}
|
|
19
|
-
export function bindClasses(classes) {
|
|
20
|
-
const boundClasses = {};
|
|
21
|
-
if (typeof classes === 'string') {
|
|
22
|
-
boundClasses[classes] = true;
|
|
23
|
-
} else if (Array.isArray(classes)) {
|
|
24
|
-
classes.reduce((acc, clas) => {
|
|
25
|
-
acc[clas] = true;
|
|
26
|
-
return acc;
|
|
27
|
-
}, boundClasses);
|
|
28
|
-
} else if (typeof classes === 'object') {
|
|
29
|
-
Object.keys(classes).reduce((acc, clas) => {
|
|
30
|
-
acc[clas] = !!classes[clas];
|
|
31
|
-
return acc;
|
|
32
|
-
}, boundClasses);
|
|
33
|
-
}
|
|
34
|
-
return boundClasses;
|
|
35
|
-
}
|
|
36
|
-
export function getHtmlElement(node) {
|
|
37
|
-
if (node && '$el' in node) {
|
|
38
|
-
const el = node.$el;
|
|
39
|
-
if (el.nodeType === Node.TEXT_NODE) {
|
|
40
|
-
return el.nextElementSibling;
|
|
41
|
-
}
|
|
42
|
-
return el;
|
|
43
|
-
}
|
|
44
|
-
return node;
|
|
45
|
-
}
|
|
46
|
-
export function findChildrenWithProvide(key, vnode) {
|
|
47
|
-
if (!vnode || typeof vnode !== 'object') {
|
|
48
|
-
return [];
|
|
49
|
-
}
|
|
50
|
-
if (Array.isArray(vnode)) {
|
|
51
|
-
return vnode.map(child => findChildrenWithProvide(key, child)).flat(1);
|
|
52
|
-
} else if (Array.isArray(vnode.children)) {
|
|
53
|
-
return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);
|
|
54
|
-
} else if (vnode.component) {
|
|
55
|
-
if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key)) {
|
|
56
|
-
return [vnode.component];
|
|
57
|
-
} else if (vnode.component.subTree) {
|
|
58
|
-
return findChildrenWithProvide(key, vnode.component.subTree).flat(1);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return [];
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["getCurrentInstance","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","bindClasses","classes","boundClasses","Array","isArray","reduce","acc","clas","Object","keys","getHtmlElement","$el","Node","TEXT_NODE","nextElementSibling","findChildrenWithProvide","key","vnode","map","child","flat","children","component","getOwnPropertySymbols","provides","includes","subTree"],"sources":["../../../src/util/vue-component/index.ts"],"sourcesContent":["import { ComponentInternalInstance } from '@vue/runtime-core';\nimport type {\n ComponentPublicInstance,\n InjectionKey,\n VNode,\n VNodeChild,\n} from 'vue';\nimport { getCurrentInstance } from 'vue';\n\nexport { type EventProp } from './types';\nexport * from './props';\n\nexport function getSlot(\n vm: ComponentPublicInstance | any,\n // eslint-disable-next-line default-param-last\n name = 'default',\n data?: any | (() => any),\n optional = false,\n): VNode[] | undefined {\n if (vm.$slots?.[name]) {\n const slot = vm.$slots[name]!(data instanceof Function ? data() : data);\n return slot.filter((node: VNode) => {\n return node.el?.nodeType !== 8;\n });\n }\n return undefined;\n}\n\nexport function getUid() {\n const vm = getCurrentInstance();\n return vm?.uid;\n}\n\nexport function bindClasses(\n classes: string | string[] | Record<string, any> | undefined,\n) {\n const boundClasses = {} as Record<string, boolean>;\n if (typeof classes === 'string') {\n boundClasses[classes] = true;\n } else if (Array.isArray(classes)) {\n (classes as string[]).reduce((acc, clas) => {\n acc[clas] = true;\n return acc;\n }, boundClasses);\n } else if (typeof classes === 'object') {\n Object.keys(classes).reduce((acc, clas) => {\n acc[clas] = !!classes[clas];\n return acc;\n }, boundClasses);\n }\n return boundClasses;\n}\n\nexport function getHtmlElement<N extends object | undefined>(\n node: N,\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\n if (node && '$el' in node) {\n const el = (node as ComponentPublicInstance).$el as HTMLElement;\n if (el.nodeType === Node.TEXT_NODE) {\n return el.nextElementSibling as HTMLElement;\n }\n return el;\n }\n return node as HTMLElement;\n}\n\nexport function findChildrenWithProvide(\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return [];\n }\n\n if (Array.isArray(vnode)) {\n return vnode.map((child) => findChildrenWithProvide(key, child)).flat(1);\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map((child) => findChildrenWithProvide(key, child))\n .flat(1);\n } else if (vnode.component) {\n if (\n Object.getOwnPropertySymbols((vnode.component as any).provides).includes(\n key as symbol,\n )\n ) {\n return [vnode.component];\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\n }\n }\n\n return [];\n}\n"],"mappings":"AAOA,SAASA,kBAAkB,QAAQ,KAAK;AAAC;AAKzC,OAAO,SAASC,OAAOA,CACrBC,EAAiC,EAKZ;EAAA,IAHrBC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EAAA,IAChBG,IAAwB,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAAA,IACxBE,QAAQ,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEhB,IAAIF,EAAE,CAACO,MAAM,GAAGN,IAAI,CAAC,EAAE;IACrB,MAAMO,IAAI,GAAGR,EAAE,CAACO,MAAM,CAACN,IAAI,CAAC,CAAEI,IAAI,YAAYI,QAAQ,GAAGJ,IAAI,CAAC,CAAC,GAAGA,IAAI,CAAC;IACvE,OAAOG,IAAI,CAACE,MAAM,CAAEC,IAAW,IAAK;MAClC,OAAOA,IAAI,CAACC,EAAE,EAAEC,QAAQ,KAAK,CAAC;IAChC,CAAC,CAAC;EACJ;EACA,OAAOT,SAAS;AAClB;AAEA,OAAO,SAASU,MAAMA,CAAA,EAAG;EACvB,MAAMd,EAAE,GAAGF,kBAAkB,CAAC,CAAC;EAC/B,OAAOE,EAAE,EAAEe,GAAG;AAChB;AAEA,OAAO,SAASC,WAAWA,CACzBC,OAA4D,EAC5D;EACA,MAAMC,YAAY,GAAG,CAAC,CAA4B;EAClD,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;IAC/BC,YAAY,CAACD,OAAO,CAAC,GAAG,IAAI;EAC9B,CAAC,MAAM,IAAIE,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,EAAE;IAChCA,OAAO,CAAcI,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;MAC1CD,GAAG,CAACC,IAAI,CAAC,GAAG,IAAI;MAChB,OAAOD,GAAG;IACZ,CAAC,EAAEJ,YAAY,CAAC;EAClB,CAAC,MAAM,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;IACtCO,MAAM,CAACC,IAAI,CAACR,OAAO,CAAC,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;MACzCD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,CAACN,OAAO,CAACM,IAAI,CAAC;MAC3B,OAAOD,GAAG;IACZ,CAAC,EAAEJ,YAAY,CAAC;EAClB;EACA,OAAOA,YAAY;AACrB;AAEA,OAAO,SAASQ,cAAcA,CAC5Bf,IAAO,EAC4C;EACnD,IAAIA,IAAI,IAAI,KAAK,IAAIA,IAAI,EAAE;IACzB,MAAMC,EAAE,GAAID,IAAI,CAA6BgB,GAAkB;IAC/D,IAAIf,EAAE,CAACC,QAAQ,KAAKe,IAAI,CAACC,SAAS,EAAE;MAClC,OAAOjB,EAAE,CAACkB,kBAAkB;IAC9B;IACA,OAAOlB,EAAE;EACX;EACA,OAAOD,IAAI;AACb;AAEA,OAAO,SAASoB,uBAAuBA,CACrCC,GAA+B,EAC/BC,KAAkB,EACW;EAC7B,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvC,OAAO,EAAE;EACX;EAEA,IAAId,KAAK,CAACC,OAAO,CAACa,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACC,GAAG,CAAEC,KAAK,IAAKJ,uBAAuB,CAACC,GAAG,EAAEG,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;EAC1E,CAAC,MAAM,IAAIjB,KAAK,CAACC,OAAO,CAACa,KAAK,CAACI,QAAQ,CAAC,EAAE;IACxC,OAAOJ,KAAK,CAACI,QAAQ,CAClBH,GAAG,CAAEC,KAAK,IAAKJ,uBAAuB,CAACC,GAAG,EAAEG,KAAK,CAAC,CAAC,CACnDC,IAAI,CAAC,CAAC,CAAC;EACZ,CAAC,MAAM,IAAIH,KAAK,CAACK,SAAS,EAAE;IAC1B,IACEd,MAAM,CAACe,qBAAqB,CAAEN,KAAK,CAACK,SAAS,CAASE,QAAQ,CAAC,CAACC,QAAQ,CACtET,GACF,CAAC,EACD;MACA,OAAO,CAACC,KAAK,CAACK,SAAS,CAAC;IAC1B,CAAC,MAAM,IAAIL,KAAK,CAACK,SAAS,CAACI,OAAO,EAAE;MAClC,OAAOX,uBAAuB,CAACC,GAAG,EAAEC,KAAK,CAACK,SAAS,CAACI,OAAO,CAAC,CAACN,IAAI,CAAC,CAAC,CAAC;IACtE;EACF;EAEA,OAAO,EAAE;AACX"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { capitalize } from '@vue/runtime-core';
|
|
2
|
-
export function propsFactory(props, source) {
|
|
3
|
-
return defaults => {
|
|
4
|
-
return Object.keys(props).reduce((options, prop) => {
|
|
5
|
-
const option = props[prop];
|
|
6
|
-
const isObjectOption = typeof option === 'object' && option != null && !Array.isArray(option);
|
|
7
|
-
const objectOption = isObjectOption ? option : {
|
|
8
|
-
type: option
|
|
9
|
-
};
|
|
10
|
-
if (defaults && prop in defaults) {
|
|
11
|
-
options[prop] = {
|
|
12
|
-
...objectOption,
|
|
13
|
-
default: defaults[prop]
|
|
14
|
-
};
|
|
15
|
-
} else {
|
|
16
|
-
options[prop] = objectOption;
|
|
17
|
-
}
|
|
18
|
-
if (source && !options[prop].source) {
|
|
19
|
-
options[prop].source = source;
|
|
20
|
-
}
|
|
21
|
-
return options;
|
|
22
|
-
}, {});
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
export function chooseProps(props, target) {
|
|
26
|
-
return Object.keys(target).reduce((acc, prop) => {
|
|
27
|
-
if (props && prop in props) {
|
|
28
|
-
acc[prop] = props[prop];
|
|
29
|
-
}
|
|
30
|
-
return acc;
|
|
31
|
-
}, {});
|
|
32
|
-
}
|
|
33
|
-
export function hasEventProp(props, type) {
|
|
34
|
-
const onType = `on${capitalize(type)}`;
|
|
35
|
-
return !!(props[onType] || props[`${onType}Once`] || props[`${onType}Capture`] || props[`${onType}OnceCapture`] || props[`${onType}CaptureOnce`]);
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=props.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"props.mjs","names":["capitalize","propsFactory","props","source","defaults","Object","keys","reduce","options","prop","option","isObjectOption","Array","isArray","objectOption","type","default","chooseProps","target","acc","hasEventProp","onType"],"sources":["../../../src/util/vue-component/props.ts"],"sourcesContent":["import { capitalize } from '@vue/runtime-core';\nimport type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ExtractPropTypes,\n Prop,\n PropType,\n} from 'vue';\n\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\n props: PropsOptions,\n source: string,\n) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults,\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((options, prop) => {\n const option = props[prop];\n const isObjectOption =\n typeof option === 'object' && option != null && !Array.isArray(option);\n const objectOption = isObjectOption ? option : { type: option };\n if (defaults && prop in defaults) {\n options[prop] = {\n ...objectOption,\n default: defaults[prop],\n };\n } else {\n options[prop] = objectOption;\n }\n\n if (source && !options[prop].source) {\n options[prop].source = source;\n }\n return options;\n }, {} as PropsOptions);\n };\n}\n\nexport function chooseProps<PropsOptions extends ComponentObjectPropsOptions>(\n props: any,\n target: PropsOptions,\n): ExtractPropTypes<PropsOptions> {\n return Object.keys(target).reduce((acc, prop) => {\n if (props && prop in props) {\n acc[prop as keyof ExtractPropTypes<PropsOptions>] = props[prop];\n }\n return acc;\n }, {} as ExtractPropTypes<PropsOptions>);\n}\n\nexport function hasEventProp(props: Record<string, any>, type: string) {\n const onType = `on${capitalize(type)}`;\n return !!(\n props[onType] ||\n props[`${onType}Once`] ||\n props[`${onType}Capture`] ||\n props[`${onType}OnceCapture`] ||\n props[`${onType}CaptureOnce`]\n );\n}\n\ntype OverwrittenPropOptions<\n T extends ComponentObjectPropsOptions,\n D extends PartialKeys<T>,\n> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n };\n};\n\ntype MergeDefault<T, D> = unknown extends D\n ? InferPropType<T>\n : NonNullable<InferPropType<T>> | D;\n\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\n ? T\n : PropType<MergeDefault<P, D>>;\n\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\n\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAS9C,OAAO,SAASC,YAAYA,CAC1BC,KAAmB,EACnBC,MAAc,EACd;EACA,OACEC,QAAmB,IACgC;IACnD,OAAOC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,MAAM,CAAM,CAACC,OAAO,EAAEC,IAAI,KAAK;MACvD,MAAMC,MAAM,GAAGR,KAAK,CAACO,IAAI,CAAC;MAC1B,MAAME,cAAc,GAClB,OAAOD,MAAM,KAAK,QAAQ,IAAIA,MAAM,IAAI,IAAI,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC;MACxE,MAAMI,YAAY,GAAGH,cAAc,GAAGD,MAAM,GAAG;QAAEK,IAAI,EAAEL;MAAO,CAAC;MAC/D,IAAIN,QAAQ,IAAIK,IAAI,IAAIL,QAAQ,EAAE;QAChCI,OAAO,CAACC,IAAI,CAAC,GAAG;UACd,GAAGK,YAAY;UACfE,OAAO,EAAEZ,QAAQ,CAACK,IAAI;QACxB,CAAC;MACH,CAAC,MAAM;QACLD,OAAO,CAACC,IAAI,CAAC,GAAGK,YAAY;MAC9B;MAEA,IAAIX,MAAM,IAAI,CAACK,OAAO,CAACC,IAAI,CAAC,CAACN,MAAM,EAAE;QACnCK,OAAO,CAACC,IAAI,CAAC,CAACN,MAAM,GAAGA,MAAM;MAC/B;MACA,OAAOK,OAAO;IAChB,CAAC,EAAE,CAAC,CAAiB,CAAC;EACxB,CAAC;AACH;AAEA,OAAO,SAASS,WAAWA,CACzBf,KAAU,EACVgB,MAAoB,EACY;EAChC,OAAOb,MAAM,CAACC,IAAI,CAACY,MAAM,CAAC,CAACX,MAAM,CAAC,CAACY,GAAG,EAAEV,IAAI,KAAK;IAC/C,IAAIP,KAAK,IAAIO,IAAI,IAAIP,KAAK,EAAE;MAC1BiB,GAAG,CAACV,IAAI,CAAyC,GAAGP,KAAK,CAACO,IAAI,CAAC;IACjE;IACA,OAAOU,GAAG;EACZ,CAAC,EAAE,CAAC,CAAmC,CAAC;AAC1C;AAEA,OAAO,SAASC,YAAYA,CAAClB,KAA0B,EAAEa,IAAY,EAAE;EACrE,MAAMM,MAAM,GAAI,KAAIrB,UAAU,CAACe,IAAI,CAAE,EAAC;EACtC,OAAO,CAAC,EACNb,KAAK,CAACmB,MAAM,CAAC,IACbnB,KAAK,CAAE,GAAEmB,MAAO,MAAK,CAAC,IACtBnB,KAAK,CAAE,GAAEmB,MAAO,SAAQ,CAAC,IACzBnB,KAAK,CAAE,GAAEmB,MAAO,aAAY,CAAC,IAC7BnB,KAAK,CAAE,GAAEmB,MAAO,aAAY,CAAC,CAC9B;AACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","names":["EventPropOption","Function","Array"],"sources":["../../../src/util/vue-component/types.ts"],"sourcesContent":["import type { PropType } from 'vue';\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> =\n | F\n | F[];\n\nexport const EventPropOption = <T extends any[] = any[]>() =>\n [Function, Array] as PropType<EventProp<T>>;\n"],"mappings":"AAMA,OAAO,MAAMA,eAAe,GAAGA,CAAA,KAC7B,CAACC,QAAQ,EAAEC,KAAK,CAA2B"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { capitalize } from '@vue/runtime-core';
|
|
2
|
-
import { getCurrentInstance } from 'vue';
|
|
3
|
-
export function getSlot(vm) {
|
|
4
|
-
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
|
|
5
|
-
let data = arguments.length > 2 ? arguments[2] : undefined;
|
|
6
|
-
let optional = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
7
|
-
if (vm.$slots?.[name]) {
|
|
8
|
-
const slot = vm.$slots[name](data instanceof Function ? data() : data);
|
|
9
|
-
return slot.filter(node => {
|
|
10
|
-
return node.el?.nodeType !== 8;
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
return undefined;
|
|
14
|
-
}
|
|
15
|
-
export function getUid() {
|
|
16
|
-
const vm = getCurrentInstance();
|
|
17
|
-
return vm?.uid;
|
|
18
|
-
}
|
|
19
|
-
export function chooseProps(props, target) {
|
|
20
|
-
return Object.keys(target).reduce((acc, prop) => {
|
|
21
|
-
if (props && prop in props) {
|
|
22
|
-
acc[prop] = props[prop];
|
|
23
|
-
}
|
|
24
|
-
return acc;
|
|
25
|
-
}, {});
|
|
26
|
-
}
|
|
27
|
-
export function bindClasses(classes) {
|
|
28
|
-
const boundClasses = {};
|
|
29
|
-
if (typeof classes === 'string') {
|
|
30
|
-
boundClasses[classes] = true;
|
|
31
|
-
} else if (Array.isArray(classes)) {
|
|
32
|
-
classes.reduce((acc, clas) => {
|
|
33
|
-
acc[clas] = true;
|
|
34
|
-
return acc;
|
|
35
|
-
}, boundClasses);
|
|
36
|
-
} else if (typeof classes === 'object') {
|
|
37
|
-
Object.keys(classes).reduce((acc, clas) => {
|
|
38
|
-
acc[clas] = !!classes[clas];
|
|
39
|
-
return acc;
|
|
40
|
-
}, boundClasses);
|
|
41
|
-
}
|
|
42
|
-
return boundClasses;
|
|
43
|
-
}
|
|
44
|
-
export function getHtmlElement(node) {
|
|
45
|
-
if (node && '$el' in node) {
|
|
46
|
-
const el = node.$el;
|
|
47
|
-
if (el.nodeType === Node.TEXT_NODE) {
|
|
48
|
-
return el.nextElementSibling;
|
|
49
|
-
}
|
|
50
|
-
return el;
|
|
51
|
-
}
|
|
52
|
-
return node;
|
|
53
|
-
}
|
|
54
|
-
export function findChildrenWithProvide(key, vnode) {
|
|
55
|
-
if (!vnode || typeof vnode !== 'object') {
|
|
56
|
-
return [];
|
|
57
|
-
}
|
|
58
|
-
if (Array.isArray(vnode)) {
|
|
59
|
-
return vnode.map(child => findChildrenWithProvide(key, child)).flat(1);
|
|
60
|
-
} else if (Array.isArray(vnode.children)) {
|
|
61
|
-
return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);
|
|
62
|
-
} else if (vnode.component) {
|
|
63
|
-
if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key)) {
|
|
64
|
-
return [vnode.component];
|
|
65
|
-
} else if (vnode.component.subTree) {
|
|
66
|
-
return findChildrenWithProvide(key, vnode.component.subTree).flat(1);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return [];
|
|
70
|
-
}
|
|
71
|
-
export function propsFactory(props, source) {
|
|
72
|
-
return defaults => {
|
|
73
|
-
return Object.keys(props).reduce((options, prop) => {
|
|
74
|
-
const option = props[prop];
|
|
75
|
-
const isObjectOption = typeof option === 'object' && option != null && !Array.isArray(option);
|
|
76
|
-
const objectOption = isObjectOption ? option : {
|
|
77
|
-
type: option
|
|
78
|
-
};
|
|
79
|
-
if (defaults && prop in defaults) {
|
|
80
|
-
options[prop] = {
|
|
81
|
-
...objectOption,
|
|
82
|
-
default: defaults[prop]
|
|
83
|
-
};
|
|
84
|
-
} else {
|
|
85
|
-
options[prop] = objectOption;
|
|
86
|
-
}
|
|
87
|
-
if (source && !options[prop].source) {
|
|
88
|
-
options[prop].source = source;
|
|
89
|
-
}
|
|
90
|
-
return options;
|
|
91
|
-
}, {});
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
export function hasEventProp(props, type) {
|
|
95
|
-
const onType = `on${capitalize(type)}`;
|
|
96
|
-
return !!(props[onType] || props[`${onType}Once`] || props[`${onType}Capture`] || props[`${onType}OnceCapture`] || props[`${onType}CaptureOnce`]);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// Copied from Vue
|
|
100
|
-
|
|
101
|
-
export const EventPropOption = () => [Function, Array];
|
|
102
|
-
//# sourceMappingURL=vue-component.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vue-component.mjs","names":["capitalize","getCurrentInstance","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","chooseProps","props","target","Object","keys","reduce","acc","prop","bindClasses","classes","boundClasses","Array","isArray","clas","getHtmlElement","$el","Node","TEXT_NODE","nextElementSibling","findChildrenWithProvide","key","vnode","map","child","flat","children","component","getOwnPropertySymbols","provides","includes","subTree","propsFactory","source","defaults","options","option","isObjectOption","objectOption","type","default","hasEventProp","onType","EventPropOption"],"sources":["../../src/util/vue-component.ts"],"sourcesContent":["import { ComponentInternalInstance, capitalize } from '@vue/runtime-core';\nimport type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ComponentPublicInstance,\n ExtractPropTypes,\n InjectionKey,\n Prop,\n PropType,\n VNode,\n VNodeChild,\n} from 'vue';\nimport { getCurrentInstance } from 'vue';\n\nimport { hasOwnProperty } from './common';\n\nexport function getSlot(\n vm: ComponentPublicInstance | any,\n // eslint-disable-next-line default-param-last\n name = 'default',\n data?: any | (() => any),\n optional = false,\n): VNode[] | undefined {\n if (vm.$slots?.[name]) {\n const slot = vm.$slots[name]!(data instanceof Function ? data() : data);\n return slot.filter((node: VNode) => {\n return node.el?.nodeType !== 8;\n });\n }\n return undefined;\n}\n\nexport function getUid() {\n const vm = getCurrentInstance();\n return vm?.uid;\n}\n\nexport function chooseProps<PropsOptions extends ComponentObjectPropsOptions>(\n props: any,\n target: PropsOptions,\n): ExtractPropTypes<PropsOptions> {\n return Object.keys(target).reduce((acc, prop) => {\n if (props && prop in props) {\n acc[prop as keyof ExtractPropTypes<PropsOptions>] = props[prop];\n }\n return acc;\n }, {} as ExtractPropTypes<PropsOptions>);\n}\n\nexport function bindClasses(\n classes: string | string[] | Record<string, any> | undefined,\n) {\n const boundClasses = {} as Record<string, boolean>;\n if (typeof classes === 'string') {\n boundClasses[classes] = true;\n } else if (Array.isArray(classes)) {\n (classes as string[]).reduce((acc, clas) => {\n acc[clas] = true;\n return acc;\n }, boundClasses);\n } else if (typeof classes === 'object') {\n Object.keys(classes).reduce((acc, clas) => {\n acc[clas] = !!classes[clas];\n return acc;\n }, boundClasses);\n }\n return boundClasses;\n}\n\nexport function getHtmlElement<N extends object | undefined>(\n node: N,\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\n if (node && '$el' in node) {\n const el = ((node as ComponentPublicInstance).$el as HTMLElement);\n if (el.nodeType === Node.TEXT_NODE) {\n return el.nextElementSibling as HTMLElement;\n }\n return el;\n }\n return (node as HTMLElement);\n}\n\nexport function findChildrenWithProvide(\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return [];\n }\n\n if (Array.isArray(vnode)) {\n return vnode.map((child) => findChildrenWithProvide(key, child)).flat(1);\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map((child) => findChildrenWithProvide(key, child))\n .flat(1);\n } else if (vnode.component) {\n if (\n Object.getOwnPropertySymbols((vnode.component as any).provides).includes(\n key as symbol,\n )\n ) {\n return [vnode.component];\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\n }\n }\n\n return [];\n}\n\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\n props: PropsOptions,\n source: string,\n) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults,\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((options, prop) => {\n const option = props[prop];\n const isObjectOption =\n typeof option === 'object' && option != null && !Array.isArray(option);\n const objectOption = isObjectOption ? option : { type: option };\n if (defaults && prop in defaults) {\n options[prop] = {\n ...objectOption,\n default: defaults[prop],\n };\n } else {\n options[prop] = objectOption;\n }\n\n if (source && !options[prop].source) {\n options[prop].source = source;\n }\n return options;\n }, {} as PropsOptions);\n };\n}\n\nexport function hasEventProp(props: Record<string, any>, type: string) {\n const onType = `on${capitalize(type)}`;\n return !!(\n props[onType] ||\n props[`${onType}Once`] ||\n props[`${onType}Capture`] ||\n props[`${onType}OnceCapture`] ||\n props[`${onType}CaptureOnce`]\n );\n}\n\ntype OverwrittenPropOptions<\n T extends ComponentObjectPropsOptions,\n D extends PartialKeys<T>,\n> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n };\n};\n\ntype MergeDefault<T, D> = unknown extends D\n ? InferPropType<T>\n : NonNullable<InferPropType<T>> | D;\n\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\n ? T\n : PropType<MergeDefault<P, D>>;\n\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\n\n// Copied from Vue\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T;\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> =\n | F\n | F[];\n\nexport const EventPropOption = <T extends any[] = any[]>() =>\n [Function, Array] as PropType<EventProp<T>>;\n"],"mappings":"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"}
|