yuyeon 0.1.2-rc.2 → 0.2.1-rc.2
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 +5152 -6751
- package/dist/yuyeon.umd.cjs +4 -26
- package/lib/abstract/items.mjs +1 -1
- package/lib/abstract/items.mjs.map +1 -1
- package/lib/components/alert/YAlert.mjs +2 -1
- package/lib/components/alert/YAlert.mjs.map +1 -1
- package/lib/components/alert/YAlert.scss +75 -76
- package/lib/components/alert/index.mjs.map +1 -1
- package/lib/components/app/YApp.mjs +3 -2
- package/lib/components/app/YApp.mjs.map +1 -1
- package/lib/components/app/YApp.scss +14 -14
- package/lib/components/app/index.mjs.map +1 -1
- package/lib/components/badge/YBadge.mjs +2 -2
- package/lib/components/badge/YBadge.mjs.map +1 -1
- package/lib/components/badge/YBadge.scss +76 -76
- package/lib/components/badge/index.mjs.map +1 -1
- package/lib/components/bench/YBench.mjs +2 -3
- package/lib/components/bench/YBench.mjs.map +1 -1
- package/lib/components/bench/index.mjs.map +1 -1
- package/lib/components/button/YButton.mjs +2 -2
- package/lib/components/button/YButton.mjs.map +1 -1
- package/lib/components/button/YButton.scss +128 -129
- package/lib/components/button/index.mjs.map +1 -1
- package/lib/components/card/YCard.mjs +3 -2
- package/lib/components/card/YCard.mjs.map +1 -1
- package/lib/components/card/YCard.scss +45 -43
- package/lib/components/card/YCardBody.mjs +2 -1
- package/lib/components/card/YCardBody.mjs.map +1 -1
- package/lib/components/card/YCardFooter.mjs +2 -1
- package/lib/components/card/YCardFooter.mjs.map +1 -1
- package/lib/components/card/YCardHeader.mjs +2 -1
- package/lib/components/card/YCardHeader.mjs.map +1 -1
- package/lib/components/checkbox/YCheckbox.mjs +2 -2
- package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
- package/lib/components/checkbox/YCheckbox.scss +48 -48
- package/lib/components/checkbox/YInputCheckbox.mjs +2 -1
- package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -1
- package/lib/components/checkbox/YInputCheckbox.scss +84 -86
- package/lib/components/checkbox/index.mjs +1 -1
- package/lib/components/checkbox/index.mjs.map +1 -1
- package/lib/components/chip/YChip.mjs +2 -2
- package/lib/components/chip/YChip.mjs.map +1 -1
- package/lib/components/date-picker/YDateCalendar.mjs +3 -3
- package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
- package/lib/components/date-picker/YDateCalendar.scss +84 -82
- package/lib/components/date-picker/YDatePicker.mjs +2 -2
- package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
- package/lib/components/date-picker/YDatePicker.scss +3 -3
- package/lib/components/date-picker/YDatePickerControl.mjs +2 -2
- package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
- package/lib/components/date-picker/YDatePickerControl.scss +35 -35
- package/lib/components/date-picker/YMonthPicker.mjs +3 -3
- package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
- package/lib/components/date-picker/YMonthPicker.scss +25 -25
- package/lib/components/date-picker/YYearPicker.mjs +4 -3
- package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
- package/lib/components/date-picker/YYearPicker.scss +23 -23
- package/lib/components/date-picker/index.mjs.map +1 -1
- package/lib/components/dialog/YDialog.mjs +3 -3
- package/lib/components/dialog/YDialog.mjs.map +1 -1
- package/lib/components/dialog/YDialog.scss +50 -50
- package/lib/components/dialog/index.mjs.map +1 -1
- package/lib/components/divider/YDivider.mjs +1 -2
- package/lib/components/divider/YDivider.mjs.map +1 -1
- package/lib/components/divider/YDivider.scss +2 -3
- package/lib/components/divider/index.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.mjs +2 -2
- package/lib/components/dropdown/YDropdown.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.scss +27 -28
- package/lib/components/dropdown/index.mjs.map +1 -1
- package/lib/components/field-input/YFieldInput.mjs +2 -2
- package/lib/components/field-input/YFieldInput.mjs.map +1 -1
- package/lib/components/field-input/YFieldInput.scss +66 -66
- package/lib/components/field-input/index.mjs.map +1 -1
- package/lib/components/form/YForm.mjs +3 -2
- package/lib/components/form/YForm.mjs.map +1 -1
- package/lib/components/hover/YHover.mjs +2 -2
- package/lib/components/hover/YHover.mjs.map +1 -1
- package/lib/components/hover/index.mjs.map +1 -1
- package/lib/components/icon/YIcon.mjs +4 -3
- package/lib/components/icon/YIcon.mjs.map +1 -1
- package/lib/components/icon/YIcon.scss +18 -18
- package/lib/components/icon/index.mjs.map +1 -1
- package/lib/components/icons/YIconCheckbox.mjs +1 -1
- package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
- package/lib/components/icons/YIconCheckbox.scss +60 -60
- package/lib/components/icons/YIconClear.mjs +1 -1
- package/lib/components/icons/YIconClear.mjs.map +1 -1
- package/lib/components/icons/YIconDropdown.mjs +1 -1
- package/lib/components/icons/YIconDropdown.mjs.map +1 -1
- package/lib/components/icons/YIconExpand.mjs +1 -1
- package/lib/components/icons/YIconExpand.mjs.map +1 -1
- package/lib/components/icons/YIconPageControl.mjs +1 -1
- package/lib/components/icons/YIconPageControl.mjs.map +1 -1
- package/lib/components/icons/YIconSort.mjs +1 -1
- package/lib/components/icons/YIconSort.mjs.map +1 -1
- package/lib/components/icons/YIconSort.scss +24 -23
- package/lib/components/icons/index.mjs +1 -1
- package/lib/components/icons/index.mjs.map +1 -1
- package/lib/components/img/YImg.mjs +2 -3
- package/lib/components/img/YImg.mjs.map +1 -1
- package/lib/components/input/YInput.mjs +3 -4
- package/lib/components/input/YInput.mjs.map +1 -1
- package/lib/components/input/YInput.scss +258 -254
- package/lib/components/input/index.mjs.map +1 -1
- package/lib/components/ip-field/YIpField.scss +74 -74
- package/lib/components/ip-field/YIpv4Field.mjs +2 -2
- package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
- package/lib/components/ip-field/index.mjs.map +1 -1
- package/lib/components/layer/YLayer.mjs +2 -2
- package/lib/components/layer/YLayer.mjs.map +1 -1
- package/lib/components/layer/YLayer.scss +38 -38
- package/lib/components/layer/active-delay.mjs.map +1 -1
- package/lib/components/layer/active-stack.mjs.map +1 -1
- package/lib/components/layer/base.mjs +1 -1
- package/lib/components/layer/base.mjs.map +1 -1
- package/lib/components/layer/content.mjs +1 -1
- package/lib/components/layer/content.mjs.map +1 -1
- package/lib/components/layer/scroll-strategies.mjs +1 -1
- package/lib/components/layer/scroll-strategies.mjs.map +1 -1
- package/lib/components/list/YList.mjs +2 -2
- package/lib/components/list/YList.mjs.map +1 -1
- package/lib/components/list/YList.scss +3 -3
- package/lib/components/list/YListItem.mjs +2 -2
- package/lib/components/list/YListItem.mjs.map +1 -1
- package/lib/components/list/YListItem.scss +62 -62
- package/lib/components/list/index.mjs.map +1 -1
- package/lib/components/loading/YSpinnerRing.mjs +1 -1
- package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
- package/lib/components/menu/YMenu.mjs +5 -4
- package/lib/components/menu/YMenu.mjs.map +1 -1
- package/lib/components/menu/YMenu.scss +25 -22
- package/lib/components/menu/index.mjs.map +1 -1
- package/lib/components/navigation/YNavigation.mjs +2 -1
- package/lib/components/navigation/YNavigation.mjs.map +1 -1
- package/lib/components/pagination/YPagination.mjs +2 -2
- package/lib/components/pagination/YPagination.mjs.map +1 -1
- package/lib/components/pagination/YPagination.scss +52 -51
- package/lib/components/pagination/index.mjs.map +1 -1
- package/lib/components/panel/YDividePanel.mjs.map +1 -1
- package/lib/components/panel/YDividePanel.scss +43 -43
- package/lib/components/panel/index.mjs.map +1 -1
- package/lib/components/plate/YPlate.mjs +2 -1
- package/lib/components/plate/YPlate.mjs.map +1 -1
- package/lib/components/plate/YPlate.scss +9 -9
- package/lib/components/progress-bar/YProgressBar.mjs +2 -2
- package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
- package/lib/components/progress-bar/YProgressBar.scss +6 -4
- package/lib/components/select/YSelect.mjs +3 -5
- package/lib/components/select/YSelect.mjs.map +1 -1
- package/lib/components/select/YSelect.scss +43 -43
- package/lib/components/select/index.mjs.map +1 -1
- package/lib/components/snackbar/YSnackbar.mjs +3 -4
- package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
- package/lib/components/snackbar/YSnackbar.scss +38 -38
- package/lib/components/switch/YSwitch.mjs +2 -1
- package/lib/components/switch/YSwitch.mjs.map +1 -1
- package/lib/components/switch/YSwitch.scss +204 -198
- package/lib/components/tab/YTab.mjs +2 -3
- package/lib/components/tab/YTab.mjs.map +1 -1
- package/lib/components/tab/YTab.scss +6 -3
- package/lib/components/tab/YTabs.mjs +2 -2
- package/lib/components/tab/YTabs.mjs.map +1 -1
- package/lib/components/tab/YTabs.scss +8 -10
- package/lib/components/tab/index.mjs.map +1 -1
- package/lib/components/tab/types.mjs.map +1 -1
- package/lib/components/table/YDataTable.mjs +5 -5
- package/lib/components/table/YDataTable.mjs.map +1 -1
- package/lib/components/table/YDataTableBody.mjs +2 -2
- package/lib/components/table/YDataTableBody.mjs.map +1 -1
- package/lib/components/table/YDataTableCell.mjs +2 -1
- package/lib/components/table/YDataTableCell.mjs.map +1 -1
- package/lib/components/table/YDataTableControl.mjs +1 -1
- package/lib/components/table/YDataTableControl.mjs.map +1 -1
- package/lib/components/table/YDataTableControl.scss +7 -7
- package/lib/components/table/YDataTableHead.mjs +2 -3
- package/lib/components/table/YDataTableHead.mjs.map +1 -1
- package/lib/components/table/YDataTableLayer.mjs +2 -1
- package/lib/components/table/YDataTableLayer.mjs.map +1 -1
- package/lib/components/table/YDataTableRow.mjs +3 -2
- package/lib/components/table/YDataTableRow.mjs.map +1 -1
- package/lib/components/table/YDataTableServer.mjs +3 -4
- package/lib/components/table/YDataTableServer.mjs.map +1 -1
- package/lib/components/table/YTable.mjs +2 -2
- package/lib/components/table/YTable.mjs.map +1 -1
- package/lib/components/table/YTable.scss +157 -152
- package/lib/components/table/composibles/header.mjs +1 -1
- package/lib/components/table/composibles/header.mjs.map +1 -1
- package/lib/components/table/composibles/items.mjs +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 +1 -1
- package/lib/components/table/composibles/pagination.mjs.map +1 -1
- package/lib/components/table/composibles/selection.mjs +2 -2
- package/lib/components/table/composibles/selection.mjs.map +1 -1
- package/lib/components/table/composibles/sorted-items.mjs +1 -1
- package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
- package/lib/components/table/composibles/sorting.mjs +2 -3
- package/lib/components/table/composibles/sorting.mjs.map +1 -1
- package/lib/components/table/index.mjs.map +1 -1
- package/lib/components/table/types/common.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 +4 -2
- package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
- package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
- package/lib/components/text-ellipsis/index.mjs.map +1 -1
- package/lib/components/text-highlighter/YTextHighlighter.mjs +2 -1
- package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
- package/lib/components/text-interpolation/YTi.mjs +2 -1
- package/lib/components/text-interpolation/YTi.mjs.map +1 -1
- package/lib/components/text-interpolation/index.mjs.map +1 -1
- package/lib/components/textarea/YTextarea.mjs +2 -2
- package/lib/components/textarea/YTextarea.mjs.map +1 -1
- package/lib/components/textarea/YTextarea.scss +25 -25
- package/lib/components/textarea/index.mjs.map +1 -1
- package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
- package/lib/components/toggle-button/index.mjs.map +1 -1
- package/lib/components/tooltip/YTooltip.mjs +4 -4
- package/lib/components/tooltip/YTooltip.mjs.map +1 -1
- package/lib/components/tooltip/YTooltip.scss +19 -19
- package/lib/components/tooltip/index.mjs.map +1 -1
- package/lib/components/transitions/expand-transition.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/components/tree-view/YTreeView.scss +81 -79
- package/lib/components/tree-view/YTreeViewNode.mjs +3 -2
- package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
- package/lib/components/tree-view/index.mjs.map +1 -1
- 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 +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 +1 -1
- package/lib/composables/coordinate/index.mjs.map +1 -1
- package/lib/composables/coordinate/levitation.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 +2 -2
- 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 +99 -0
- package/lib/composables/defaults/index.mjs.map +1 -0
- package/lib/composables/defaults/share.mjs +2 -0
- package/lib/composables/defaults/share.mjs.map +1 -0
- package/lib/composables/defaults/types.mjs +2 -0
- package/lib/composables/defaults/types.mjs.map +1 -0
- package/lib/composables/dimension.mjs +1 -1
- package/lib/composables/dimension.mjs.map +1 -1
- package/lib/composables/focus.mjs +2 -2
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/form.mjs +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/i18n/index.mjs +2 -2
- package/lib/composables/i18n/index.mjs.map +1 -1
- package/lib/composables/icon.mjs +5 -4
- package/lib/composables/icon.mjs.map +1 -1
- package/lib/composables/layer-group.mjs +1 -1
- package/lib/composables/layer-group.mjs.map +1 -1
- package/lib/composables/layout.mjs +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/list-items.mjs +1 -1
- package/lib/composables/list-items.mjs.map +1 -1
- package/lib/composables/ref.mjs +1 -1
- package/lib/composables/ref.mjs.map +1 -1
- package/lib/composables/resize-observer.mjs +2 -4
- package/lib/composables/resize-observer.mjs.map +1 -1
- package/lib/composables/scope.mjs +1 -2
- package/lib/composables/scope.mjs.map +1 -1
- package/lib/composables/theme/factory.mjs.map +1 -1
- package/lib/composables/theme/index.mjs +2 -2
- 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 +1 -1
- package/lib/composables/timing.mjs.map +1 -1
- package/lib/composables/transition.mjs +1 -1
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +1 -1
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/vue-router.mjs +1 -1
- package/lib/composables/vue-router.mjs.map +1 -1
- package/lib/index.mjs +7 -2
- package/lib/index.mjs.map +1 -1
- package/lib/util/anchor.mjs.map +1 -1
- package/lib/util/array.mjs.map +1 -1
- package/lib/util/component/component.mjs +22 -0
- package/lib/util/component/component.mjs.map +1 -0
- package/lib/util/component/index.mjs +65 -0
- package/lib/util/component/index.mjs.map +1 -0
- package/lib/util/component/inject-self.mjs +10 -0
- package/lib/util/component/inject-self.mjs.map +1 -0
- package/lib/util/component/props.mjs +41 -0
- package/lib/util/component/props.mjs.map +1 -0
- package/lib/util/component/types.mjs +2 -0
- package/lib/util/component/types.mjs.map +1 -0
- package/lib/util/date/index.mjs.map +1 -1
- package/lib/util/dom.mjs.map +1 -1
- package/lib/util/index.mjs +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/ui.mjs.map +1 -1
- package/lib/util/validation.mjs.map +1 -1
- package/lib/util/vue-component/index.mjs +63 -0
- package/lib/util/vue-component/index.mjs.map +1 -0
- package/lib/util/vue-component/props.mjs +37 -0
- package/lib/util/vue-component/props.mjs.map +1 -0
- package/lib/util/vue-component/types.mjs +2 -0
- package/lib/util/vue-component/types.mjs.map +1 -0
- package/package.json +1 -1
- package/types/abstract/items.d.ts +4 -4
- package/types/components/alert/YAlert.d.ts +2 -13
- package/types/components/app/YApp.d.ts +1 -1
- package/types/components/badge/YBadge.d.ts +7 -41
- package/types/components/bench/YBench.d.ts +1 -1
- package/types/components/button/YButton.d.ts +10 -69
- package/types/components/card/YCard.d.ts +1 -6
- package/types/components/card/YCardBody.d.ts +1 -1
- package/types/components/card/YCardFooter.d.ts +1 -1
- package/types/components/card/YCardHeader.d.ts +1 -1
- package/types/components/checkbox/YCheckbox.d.ts +1 -26
- package/types/components/checkbox/YInputCheckbox.d.ts +2 -26
- package/types/components/checkbox/index.d.ts +1 -0
- package/types/components/chip/YChip.d.ts +2 -13
- package/types/components/date-picker/YDateCalendar.d.ts +7 -35
- package/types/components/date-picker/YDatePicker.d.ts +19 -48
- package/types/components/date-picker/YDatePickerControl.d.ts +12 -44
- package/types/components/date-picker/YMonthPicker.d.ts +3 -7
- package/types/components/date-picker/YYearPicker.d.ts +3 -9
- package/types/components/dialog/YDialog.d.ts +135 -378
- package/types/components/divider/YDivider.d.ts +1 -3
- package/types/components/dropdown/YDropdown.d.ts +100 -273
- package/types/components/field-input/YFieldInput.d.ts +16 -122
- package/types/components/form/YForm.d.ts +2 -24
- package/types/components/hover/YHover.d.ts +4 -26
- package/types/components/icon/YIcon.d.ts +6 -21
- package/types/components/icons/YIconCheckbox.d.ts +1 -9
- package/types/components/icons/YIconClear.d.ts +1 -1
- package/types/components/icons/YIconDropdown.d.ts +1 -1
- package/types/components/icons/YIconExpand.d.ts +1 -1
- package/types/components/icons/YIconPageControl.d.ts +1 -8
- package/types/components/icons/YIconSort.d.ts +1 -10
- package/types/components/icons/index.d.ts +8 -46
- package/types/components/img/YImg.d.ts +7 -47
- package/types/components/input/YInput.d.ts +13 -101
- package/types/components/ip-field/YIpv4Field.d.ts +3 -71
- package/types/components/layer/YLayer.d.ts +48 -165
- package/types/components/layer/content.d.ts +1 -1
- package/types/components/layer/scroll-strategies.d.ts +1 -1
- package/types/components/list/YList.d.ts +1 -6
- package/types/components/list/YListItem.d.ts +3 -21
- package/types/components/loading/YSpinnerRing.d.ts +1 -1
- package/types/components/menu/YMenu.d.ts +26 -291
- package/types/components/navigation/YNavigation.d.ts +1 -1
- package/types/components/pagination/YPagination.d.ts +25 -65
- package/types/components/plate/YPlate.d.ts +1 -3
- package/types/components/progress-bar/YProgressBar.d.ts +1 -36
- package/types/components/select/YSelect.d.ts +482 -1106
- package/types/components/snackbar/YSnackbar.d.ts +51 -176
- package/types/components/switch/YSwitch.d.ts +1 -43
- package/types/components/tab/YTab.d.ts +14 -80
- package/types/components/tab/YTabs.d.ts +6 -39
- package/types/components/table/YDataTable.d.ts +24 -173
- package/types/components/table/YDataTableBody.d.ts +3 -26
- package/types/components/table/YDataTableCell.d.ts +2 -31
- package/types/components/table/YDataTableControl.d.ts +3 -18
- package/types/components/table/YDataTableHead.d.ts +3 -21
- package/types/components/table/YDataTableLayer.d.ts +1 -3
- package/types/components/table/YDataTableRow.d.ts +1 -9
- package/types/components/table/YDataTableServer.d.ts +27 -179
- package/types/components/table/YTable.d.ts +5 -24
- package/types/components/table/composibles/header.d.ts +9 -9
- package/types/components/table/composibles/items.d.ts +3 -3
- package/types/components/table/composibles/pagination.d.ts +3 -3
- package/types/components/table/composibles/selection.d.ts +4 -4
- package/types/components/table/composibles/sorting.d.ts +1 -1
- package/types/components/table/types/index.d.ts +1 -1
- package/types/components/text-ellipsis/YTextEllipsis.d.ts +1 -8
- package/types/components/text-highlighter/YTextHighlighter.d.ts +2 -17
- package/types/components/text-interpolation/YTi.d.ts +1 -10
- package/types/components/textarea/YTextarea.d.ts +20 -116
- package/types/components/tooltip/YTooltip.d.ts +44 -278
- package/types/components/tree-view/YTreeView.d.ts +4 -4
- package/types/components/tree-view/YTreeViewNode.d.ts +10 -67
- package/types/composables/choice.d.ts +1 -1
- package/types/composables/coordinate/index.d.ts +16 -16
- package/types/composables/coordinate/utils/point.d.ts +1 -1
- package/types/composables/defaults/index.d.ts +11 -0
- package/types/composables/defaults/share.d.ts +4 -0
- package/types/composables/defaults/types.d.ts +12 -0
- package/types/composables/form.d.ts +3 -3
- package/types/composables/icon.d.ts +5 -22
- package/types/composables/layer-group.d.ts +1 -1
- package/types/composables/list-items.d.ts +10 -10
- package/types/composables/timing.d.ts +1 -1
- package/types/composables/transition.d.ts +1 -1
- package/types/composables/validation.d.ts +3 -3
- package/types/composables/vue-router.d.ts +1 -1
- package/types/globals.d.ts +1 -0
- package/types/util/Rect.d.ts +1 -1
- package/types/util/anchor.d.ts +1 -1
- package/types/util/component/component.d.ts +5 -0
- package/types/util/component/index.d.ts +11 -0
- package/types/util/component/inject-self.d.ts +3 -0
- package/types/util/component/props.d.ts +32 -0
- package/types/util/component/types.d.ts +21 -0
- package/types/util/index.d.ts +1 -1
- package/types/util/vue-component/index.d.ts +10 -0
- package/types/util/vue-component/props.d.ts +31 -0
- package/types/util/vue-component/types.d.ts +4 -0
package/lib/index.mjs
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { getCurrentInstance, nextTick, reactive } from 'vue';
|
|
2
2
|
import * as components from "./components/index.mjs";
|
|
3
3
|
import { YUYEON_DATE_KEY, YUYEON_DATE_OPTIONS_KEY, createDateModule } from "./composables/date/index.mjs";
|
|
4
|
+
import { createDefaultsModule } from "./composables/defaults/index.mjs";
|
|
5
|
+
import { YUYEON_DEFAULTS_KEY } from "./composables/defaults/share.mjs";
|
|
4
6
|
import { createI18nModule } from "./composables/i18n/index.mjs";
|
|
5
7
|
import { YUYEON_I18N_KEY } from "./composables/i18n/share.mjs";
|
|
6
8
|
import { YUYEON_ICON_KEY, createIconModule } from "./composables/icon.mjs";
|
|
7
9
|
import { YUYEON_THEME_KEY, createThemeModule, useTheme } from "./composables/theme/index.mjs";
|
|
8
10
|
import PlateWave from "./directives/plate-wave/index.mjs";
|
|
9
|
-
import { YUYEON_LOGO } from "./etc/index.mjs";
|
|
11
|
+
import { YUYEON_LOGO } from "./etc/index.mjs";
|
|
10
12
|
import "./styles/base.scss";
|
|
11
13
|
const defaultOptions = {
|
|
12
14
|
credit: true
|
|
13
15
|
};
|
|
14
16
|
export function init() {
|
|
15
17
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultOptions;
|
|
18
|
+
const defaultsModule = createDefaultsModule(options?.defaults);
|
|
16
19
|
const themeModule = createThemeModule(options?.theme);
|
|
17
20
|
const i18nModule = createI18nModule(options?.i18n);
|
|
18
21
|
const dateModule = createDateModule(options?.date, i18nModule.localeModule);
|
|
@@ -27,13 +30,15 @@ export function init() {
|
|
|
27
30
|
...i18nModule.localeModule,
|
|
28
31
|
...i18nModule.rtlModule
|
|
29
32
|
},
|
|
30
|
-
date: dateModule
|
|
33
|
+
date: dateModule,
|
|
34
|
+
defaults: defaultsModule
|
|
31
35
|
});
|
|
32
36
|
Object.keys(components).forEach(componentName => {
|
|
33
37
|
const comp = components[componentName];
|
|
34
38
|
if (typeof comp === 'object' && 'name' in comp) app.component(componentName, comp);
|
|
35
39
|
});
|
|
36
40
|
app.directive('plate-wave', PlateWave);
|
|
41
|
+
app.provide(YUYEON_DEFAULTS_KEY, defaultsModule);
|
|
37
42
|
app.provide(YUYEON_THEME_KEY, themeModule.instance);
|
|
38
43
|
app.provide(YUYEON_ICON_KEY, iconModule);
|
|
39
44
|
app.provide(YUYEON_I18N_KEY, {
|
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["getCurrentInstance","nextTick","reactive","components","YUYEON_DATE_KEY","YUYEON_DATE_OPTIONS_KEY","createDateModule","createI18nModule","YUYEON_I18N_KEY","YUYEON_ICON_KEY","createIconModule","YUYEON_THEME_KEY","createThemeModule","useTheme","PlateWave","YUYEON_LOGO","defaultOptions","credit","init","options","arguments","length","undefined","themeModule","theme","i18nModule","i18n","dateModule","date","localeModule","iconModule","icon","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 { Component, ComponentInternalInstance } from '
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["getCurrentInstance","nextTick","reactive","components","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","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';\nimport { getCurrentInstance, nextTick, reactive } from 'vue';\n\nimport * as components from '@/components';\nimport {\n YUYEON_DATE_KEY,\n YUYEON_DATE_OPTIONS_KEY,\n createDateModule,\n} from '@/composables/date';\nimport { createDefaultsModule } from '@/composables/defaults';\nimport { YUYEON_DEFAULTS_KEY } from '@/composables/defaults/share';\nimport { createI18nModule } from '@/composables/i18n';\nimport { YUYEON_I18N_KEY } from '@/composables/i18n/share';\nimport { YUYEON_ICON_KEY, createIconModule } from '@/composables/icon';\nimport {\n YUYEON_THEME_KEY,\n createThemeModule,\n useTheme,\n} from '@/composables/theme';\nimport PlateWave from '@/directives/plate-wave';\nimport { YUYEON_LOGO } from '@/etc';\n\nimport './styles/base.scss';\n\nconst defaultOptions = {\n credit: true,\n};\n\ndeclare module 'vue' {\n interface ComponentCustomProperties {\n $yuyeon: any;\n }\n}\n\nexport function init(options: any = defaultOptions) {\n const defaultsModule = createDefaultsModule(options?.defaults);\n const themeModule = createThemeModule(options?.theme);\n const i18nModule = createI18nModule(options?.i18n);\n const dateModule = createDateModule(options?.date, i18nModule.localeModule);\n const iconModule = createIconModule(options?.icon);\n const install = (app: App): any => {\n themeModule.install(app);\n\n const yuyeon = reactive({\n app: null as ComponentInternalInstance | null,\n root: null as HTMLElement | null,\n theme: themeModule.instance,\n i18n: {\n ...i18nModule.localeModule,\n ...i18nModule.rtlModule,\n },\n date: dateModule,\n defaults: defaultsModule,\n });\n\n Object.keys(components).forEach((componentName) => {\n const comp = components[componentName as keyof typeof components];\n if (typeof comp === 'object' && 'name' in comp)\n app.component(componentName, comp as Component);\n });\n\n app.directive('plate-wave', PlateWave);\n\n app.provide(YUYEON_DEFAULTS_KEY, defaultsModule);\n app.provide(YUYEON_THEME_KEY, themeModule.instance);\n app.provide(YUYEON_ICON_KEY, iconModule);\n app.provide(YUYEON_I18N_KEY, {\n ...i18nModule.localeModule,\n ...i18nModule.rtlModule,\n });\n app.provide(YUYEON_DATE_OPTIONS_KEY, dateModule.options);\n app.provide(YUYEON_DATE_KEY, dateModule.instance);\n\n app.config.globalProperties.$yuyeon = yuyeon;\n\n nextTick(() => {\n yuyeon.root = app._container;\n yuyeon.app = app._instance as any;\n if (yuyeon.root) {\n yuyeon.root.classList.add('y-root');\n yuyeon.root.setAttribute('data-y-root', '');\n themeModule.init(yuyeon);\n }\n });\n\n if (options?.credit) {\n console.log(YUYEON_LOGO);\n }\n const { unmount, mount } = app;\n app.mount = (...args) => {\n const vm = mount(...args);\n if (!yuyeon.app) {\n yuyeon.app = app._instance as any;\n }\n if (!yuyeon.root) {\n nextTick(() => {\n yuyeon.root = app._container;\n if (yuyeon.root) {\n yuyeon.root.classList.add('y-root');\n yuyeon.root.setAttribute('data-y-root', '');\n themeModule.init(yuyeon);\n }\n });\n }\n app.mount = mount;\n return vm;\n };\n app.unmount = () => {\n unmount();\n themeModule.scope.stop();\n app.unmount = unmount;\n };\n };\n\n return {\n install,\n };\n}\n\nexport function useYuyeon() {\n const vm = getCurrentInstance();\n if (!vm) throw new Error('[yuyeon] Called outside of setup context');\n\n return vm.appContext.config.globalProperties.$yuyeon;\n}\n\nexport { useTheme };\n"],"mappings":"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"}
|
package/lib/util/anchor.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor.mjs","names":["includes","array","item","block","inline","parseAnchor","anchor","isRtl","side","align","split","toPhysical","str","flipSide","center","top","bottom","left","right","flipAlign","flipCorner","getAxis"],"sources":["../../src/util/anchor.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"anchor.mjs","names":["includes","array","item","block","inline","parseAnchor","anchor","isRtl","side","align","split","toPhysical","str","flipSide","center","top","bottom","left","right","flipAlign","flipCorner","getAxis"],"sources":["../../src/util/anchor.ts"],"sourcesContent":["const includes = <T, A extends T>(\n array: ReadonlyArray<A>,\n item: T,\n): item is A => array.includes(item as A);\n\nconst block = ['top', 'bottom'] as const;\nconst inline = ['start', 'end', 'left', 'right'] as const;\ntype Tblock = (typeof block)[number];\ntype Tinline = (typeof inline)[number];\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`;\nexport type ParsedAnchor =\n | { side: 'center'; align: 'center' }\n | { side: Tblock; align: 'left' | 'right' | 'center' }\n | { side: 'left' | 'right'; align: Tblock | 'center' };\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor(anchor: Anchor, isRtl: boolean) {\n let [side, align] = anchor.split(' ') as [\n Tblock | Tinline | 'center',\n Tblock | Tinline | 'center' | undefined,\n ];\n if (!align) {\n align = includes(block, side)\n ? 'start'\n : includes(inline, side)\n ? 'top'\n : 'center';\n }\n\n return {\n side: toPhysical(side, isRtl),\n align: toPhysical(align, isRtl),\n } as ParsedAnchor;\n}\n\nexport function toPhysical(str: 'center' | Tblock | Tinline, isRtl: boolean) {\n if (str === 'start') return isRtl ? 'right' : 'left';\n if (str === 'end') return isRtl ? 'left' : 'right';\n return str;\n}\n\nexport function flipSide(anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor;\n}\n\nexport function flipAlign(anchor: ParsedAnchor) {\n return {\n side: anchor.side,\n align: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.align],\n } as ParsedAnchor;\n}\n\nexport function flipCorner(anchor: ParsedAnchor) {\n return {\n side: anchor.align,\n align: anchor.side,\n } as ParsedAnchor;\n}\n\nexport function getAxis(anchor: ParsedAnchor) {\n return includes(block, anchor.side) ? 'y' : 'x';\n}\n"],"mappings":"AAAA,MAAMA,QAAQ,GAAGA,CACfC,KAAuB,EACvBC,IAAO,KACOD,KAAK,CAACD,QAAQ,CAACE,IAAS,CAAC;AAEzC,MAAMC,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU;AACxC,MAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU;AAezD;AACA,OAAO,SAASC,WAAWA,CAACC,MAAc,EAAEC,KAAc,EAAE;EAC1D,IAAI,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAGH,MAAM,CAACI,KAAK,CAAC,GAAG,CAGnC;EACD,IAAI,CAACD,KAAK,EAAE;IACVA,KAAK,GAAGT,QAAQ,CAACG,KAAK,EAAEK,IAAI,CAAC,GACzB,OAAO,GACPR,QAAQ,CAACI,MAAM,EAAEI,IAAI,CAAC,GACpB,KAAK,GACL,QAAQ;EAChB;EAEA,OAAO;IACLA,IAAI,EAAEG,UAAU,CAACH,IAAI,EAAED,KAAK,CAAC;IAC7BE,KAAK,EAAEE,UAAU,CAACF,KAAK,EAAEF,KAAK;EAChC,CAAC;AACH;AAEA,OAAO,SAASI,UAAUA,CAACC,GAAgC,EAAEL,KAAc,EAAE;EAC3E,IAAIK,GAAG,KAAK,OAAO,EAAE,OAAOL,KAAK,GAAG,OAAO,GAAG,MAAM;EACpD,IAAIK,GAAG,KAAK,KAAK,EAAE,OAAOL,KAAK,GAAG,MAAM,GAAG,OAAO;EAClD,OAAOK,GAAG;AACZ;AAEA,OAAO,SAASC,QAAQA,CAACP,MAAoB,EAAE;EAC7C,OAAO;IACLE,IAAI,EAAE;MACJM,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACE,IAAI,CAAC;IACdC,KAAK,EAAEH,MAAM,CAACG;EAChB,CAAC;AACH;AAEA,OAAO,SAASU,SAASA,CAACb,MAAoB,EAAE;EAC9C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACE,IAAI;IACjBC,KAAK,EAAE;MACLK,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACG,KAAK;EAChB,CAAC;AACH;AAEA,OAAO,SAASW,UAAUA,CAACd,MAAoB,EAAE;EAC/C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACG,KAAK;IAClBA,KAAK,EAAEH,MAAM,CAACE;EAChB,CAAC;AACH;AAEA,OAAO,SAASa,OAAOA,CAACf,MAAoB,EAAE;EAC5C,OAAON,QAAQ,CAACG,KAAK,EAAEG,MAAM,CAACE,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG;AACjD"}
|
package/lib/util/array.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.mjs","names":["differenceBetween","inspect","exclude","ret","target","includes","push","wrapInArray","arrOrNot","Array","isArray"],"sources":["../../src/util/array.ts"],"sourcesContent":["export function differenceBetween(inspect: any[], exclude: any[]) {\
|
|
1
|
+
{"version":3,"file":"array.mjs","names":["differenceBetween","inspect","exclude","ret","target","includes","push","wrapInArray","arrOrNot","Array","isArray"],"sources":["../../src/util/array.ts"],"sourcesContent":["export function differenceBetween(inspect: any[], exclude: any[]) {\n const ret = [];\n for (const target of exclude) {\n if (!inspect.includes(target)) {\n ret.push(target);\n }\n }\n return ret;\n}\n\nexport function wrapInArray(arrOrNot: any | any[]) {\n return Array.isArray(arrOrNot) ? arrOrNot : [arrOrNot];\n}\n"],"mappings":"AAAA,OAAO,SAASA,iBAAiBA,CAACC,OAAc,EAAEC,OAAc,EAAE;EAChE,MAAMC,GAAG,GAAG,EAAE;EACd,KAAK,MAAMC,MAAM,IAAIF,OAAO,EAAE;IAC5B,IAAI,CAACD,OAAO,CAACI,QAAQ,CAACD,MAAM,CAAC,EAAE;MAC7BD,GAAG,CAACG,IAAI,CAACF,MAAM,CAAC;IAClB;EACF;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASI,WAAWA,CAACC,QAAqB,EAAE;EACjD,OAAOC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;AACxD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useDefaultsModule, useSuperDefaults } from "../../composables/defaults/index.mjs"; // overload 1: no props from options
|
|
2
|
+
// overload 2: defineComponent with options object, infer props from options
|
|
3
|
+
function redefineComponent(options) {
|
|
4
|
+
options._setup = options._setup ?? options.setup;
|
|
5
|
+
if (options._setup) {
|
|
6
|
+
options.setup = function (props, ctx) {
|
|
7
|
+
const defaults = useDefaultsModule();
|
|
8
|
+
// Skip props proxy if defaults are not provided
|
|
9
|
+
if (!defaults.value) return options._setup(props, ctx);
|
|
10
|
+
const {
|
|
11
|
+
props: _props,
|
|
12
|
+
provideSubDefaults
|
|
13
|
+
} = useSuperDefaults(props, options.name, defaults);
|
|
14
|
+
const setupBindings = options._setup(_props, ctx);
|
|
15
|
+
provideSubDefaults();
|
|
16
|
+
return setupBindings;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return options;
|
|
20
|
+
}
|
|
21
|
+
export { redefineComponent as defineComponent };
|
|
22
|
+
//# sourceMappingURL=component.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.mjs","names":["useDefaultsModule","useSuperDefaults","redefineComponent","options","_setup","setup","props","ctx","defaults","value","_props","provideSubDefaults","name","setupBindings","defineComponent"],"sources":["../../../src/util/component/component.ts"],"sourcesContent":["import { ComponentOptionsWithObjectProps, ComponentOptionsWithoutProps, defineComponent } from 'vue';\nimport type {\n Component,\n ComponentInjectOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentPropsOptions,\n ComponentProvideOptions,\n ComputedOptions,\n DefineComponent,\n Directive,\n EmitsOptions,\n MethodOptions,\n SlotsType,\n} from 'vue';\n\nimport {\n useDefaultsModule,\n useSuperDefaults,\n} from '../../composables/defaults';\nimport { EmitsToProps } from './types';\n\ntype ToResolvedProps<Props, Emits extends EmitsOptions> = Readonly<Props> &\n Readonly<EmitsToProps<Emits>>;\n\n// overload 1: no props from options\nfunction redefineComponent<\n // props\n PropsOptions = {},\n //\n RawBindings = {},\n // emits\n E extends EmitsOptions = {},\n EE extends string = string,\n // other options\n Data = {},\n SetupBindings = {},\n Computed extends ComputedOptions = {},\n Methods extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n InjectOptions extends ComponentInjectOptions = {},\n InjectKeys extends string = string,\n Slots extends SlotsType = {},\n LocalComponents extends Record<string, Component> = {},\n Directives extends Record<string, Directive> = {},\n Exposed extends string = string,\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\n>(\n options: ComponentOptionsWithoutProps<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE,\n InjectOptions,\n InjectKeys,\n Slots\n >,\n): DefineComponent<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE\n>;\n\n\n// overload 2: defineComponent with options object, infer props from options\nfunction redefineComponent<\n // props\n PropsOptions extends Readonly<ComponentPropsOptions>,\n //\n RawBindings,\n // emits\n E extends EmitsOptions = {},\n EE extends string = string,\n // other options\n Data = {},\n SetupBindings = {},\n Computed extends ComputedOptions = {},\n Methods extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n InjectOptions extends ComponentInjectOptions = {},\n InjectKeys extends string = string,\n Slots extends SlotsType = {},\n LocalComponents extends Record<string, Component> = {},\n Directives extends Record<string, Directive> = {},\n Exposed extends string = string,\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\n>(\n options: ComponentOptionsWithObjectProps<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE,\n InjectOptions,\n InjectKeys,\n Slots\n >,\n): DefineComponent<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE\n>;\n\nfunction redefineComponent(options: ComponentOptions) {\n options._setup = options._setup ?? options.setup;\n\n if (options._setup) {\n options.setup = function (props, ctx) {\n const defaults = useDefaultsModule();\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx);\n\n const { props: _props, provideSubDefaults } = useSuperDefaults(\n props,\n options.name,\n defaults,\n );\n\n const setupBindings = options._setup(_props, ctx);\n\n provideSubDefaults();\n\n return setupBindings;\n };\n }\n\n return options;\n}\n\nexport { redefineComponent as defineComponent };\n"],"mappings":"SAiBEA,iBAAiB,EACjBC,gBAAgB,gDAOlB;AAmDA;AAkDA,SAASC,iBAAiBA,CAACC,OAAyB,EAAE;EACpDA,OAAO,CAACC,MAAM,GAAGD,OAAO,CAACC,MAAM,IAAID,OAAO,CAACE,KAAK;EAEhD,IAAIF,OAAO,CAACC,MAAM,EAAE;IAClBD,OAAO,CAACE,KAAK,GAAG,UAAUC,KAAK,EAAEC,GAAG,EAAE;MACpC,MAAMC,QAAQ,GAAGR,iBAAiB,CAAC,CAAC;MACpC;MACA,IAAI,CAACQ,QAAQ,CAACC,KAAK,EAAE,OAAON,OAAO,CAACC,MAAM,CAACE,KAAK,EAAEC,GAAG,CAAC;MAEtD,MAAM;QAAED,KAAK,EAAEI,MAAM;QAAEC;MAAmB,CAAC,GAAGV,gBAAgB,CAC5DK,KAAK,EACLH,OAAO,CAACS,IAAI,EACZJ,QACF,CAAC;MAED,MAAMK,aAAa,GAAGV,OAAO,CAACC,MAAM,CAACM,MAAM,EAAEH,GAAG,CAAC;MAEjDI,kBAAkB,CAAC,CAAC;MAEpB,OAAOE,aAAa;IACtB,CAAC;EACH;EAEA,OAAOV,OAAO;AAChB;AAEA,SAASD,iBAAiB,IAAIY,eAAe"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { getCurrentInstance } from 'vue';
|
|
2
|
+
import { defineComponent } from "./component.mjs";
|
|
3
|
+
export * from "./props.mjs";
|
|
4
|
+
export { defineComponent };
|
|
5
|
+
export function getSlot(vm) {
|
|
6
|
+
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
|
|
7
|
+
let data = arguments.length > 2 ? arguments[2] : undefined;
|
|
8
|
+
let optional = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
9
|
+
if (vm.$slots?.[name]) {
|
|
10
|
+
const slot = vm.$slots[name](data instanceof Function ? data() : data);
|
|
11
|
+
return slot.filter(node => {
|
|
12
|
+
return node.el?.nodeType !== 8;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
export function getUid() {
|
|
18
|
+
const vm = getCurrentInstance();
|
|
19
|
+
return vm?.uid;
|
|
20
|
+
}
|
|
21
|
+
export function bindClasses(classes) {
|
|
22
|
+
const boundClasses = {};
|
|
23
|
+
if (typeof classes === 'string') {
|
|
24
|
+
boundClasses[classes] = true;
|
|
25
|
+
} else if (Array.isArray(classes)) {
|
|
26
|
+
classes.reduce((acc, clas) => {
|
|
27
|
+
acc[clas] = true;
|
|
28
|
+
return acc;
|
|
29
|
+
}, boundClasses);
|
|
30
|
+
} else if (typeof classes === 'object') {
|
|
31
|
+
Object.keys(classes).reduce((acc, clas) => {
|
|
32
|
+
acc[clas] = !!classes[clas];
|
|
33
|
+
return acc;
|
|
34
|
+
}, boundClasses);
|
|
35
|
+
}
|
|
36
|
+
return boundClasses;
|
|
37
|
+
}
|
|
38
|
+
export function getHtmlElement(node) {
|
|
39
|
+
if (node && '$el' in node) {
|
|
40
|
+
const el = node.$el;
|
|
41
|
+
if (el.nodeType === Node.TEXT_NODE) {
|
|
42
|
+
return el.nextElementSibling;
|
|
43
|
+
}
|
|
44
|
+
return el;
|
|
45
|
+
}
|
|
46
|
+
return node;
|
|
47
|
+
}
|
|
48
|
+
export function findChildrenWithProvide(key, vnode) {
|
|
49
|
+
if (!vnode || typeof vnode !== 'object') {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
if (Array.isArray(vnode)) {
|
|
53
|
+
return vnode.map(child => findChildrenWithProvide(key, child)).flat(1);
|
|
54
|
+
} else if (Array.isArray(vnode.children)) {
|
|
55
|
+
return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);
|
|
56
|
+
} else if (vnode.component) {
|
|
57
|
+
if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key)) {
|
|
58
|
+
return [vnode.component];
|
|
59
|
+
} else if (vnode.component.subTree) {
|
|
60
|
+
return findChildrenWithProvide(key, vnode.component.subTree).flat(1);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["getCurrentInstance","defineComponent","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/component/index.ts"],"sourcesContent":["import type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n InjectionKey,\n VNode,\n VNodeChild,\n} from 'vue';\nimport { getCurrentInstance } from 'vue';\n\nimport { defineComponent } from './component';\n\nexport type { EventProp } from './types';\nexport * from './props';\n\nexport { defineComponent };\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":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getCurrentInstance } from 'vue';
|
|
2
|
+
export function injectSelf(key) {
|
|
3
|
+
let vm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstance();
|
|
4
|
+
const provides = vm?.provides;
|
|
5
|
+
if (provides && key in provides) {
|
|
6
|
+
return provides[key];
|
|
7
|
+
}
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=inject-self.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-self.mjs","names":["getCurrentInstance","injectSelf","key","vm","arguments","length","undefined","provides"],"sources":["../../../src/util/component/inject-self.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n type InjectionKey,\n getCurrentInstance,\n} from 'vue';\n\nexport function injectSelf<T>(\n key: InjectionKey<T> | string,\n vm?: ComponentInternalInstance,\n): T | undefined;\nexport function injectSelf(\n key: InjectionKey<any> | string,\n vm = getCurrentInstance(),\n) {\n const provides = vm?.provides;\n\n if (provides && (key as string | symbol) in provides) {\n return provides[key as string];\n }\n\n return undefined;\n}\n"],"mappings":"AAAA,SAGEA,kBAAkB,QACb,KAAK;AAMZ,OAAO,SAASC,UAAUA,CACxBC,GAA+B,EAE/B;EAAA,IADAC,EAAE,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGJ,kBAAkB,CAAC,CAAC;EAEzB,MAAMO,QAAQ,GAAGJ,EAAE,EAAEI,QAAQ;EAE7B,IAAIA,QAAQ,IAAKL,GAAG,IAAwBK,QAAQ,EAAE;IACpD,OAAOA,QAAQ,CAACL,GAAG,CAAW;EAChC;EAEA,OAAOI,SAAS;AAClB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { capitalize } from 'vue';
|
|
2
|
+
import { toKebabCase } from "../string.mjs";
|
|
3
|
+
export function propsFactory(props, source) {
|
|
4
|
+
return defaults => {
|
|
5
|
+
return Object.keys(props).reduce((options, prop) => {
|
|
6
|
+
const option = props[prop];
|
|
7
|
+
const isObjectOption = typeof option === 'object' && option != null && !Array.isArray(option);
|
|
8
|
+
const objectOption = isObjectOption ? option : {
|
|
9
|
+
type: option
|
|
10
|
+
};
|
|
11
|
+
if (defaults && prop in defaults) {
|
|
12
|
+
options[prop] = {
|
|
13
|
+
...objectOption,
|
|
14
|
+
default: defaults[prop]
|
|
15
|
+
};
|
|
16
|
+
} else {
|
|
17
|
+
options[prop] = objectOption;
|
|
18
|
+
}
|
|
19
|
+
if (source && !options[prop].source) {
|
|
20
|
+
options[prop].source = source;
|
|
21
|
+
}
|
|
22
|
+
return options;
|
|
23
|
+
}, {});
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function chooseProps(props, target) {
|
|
27
|
+
return Object.keys(target).reduce((acc, prop) => {
|
|
28
|
+
if (props && prop in props) {
|
|
29
|
+
acc[prop] = props[prop];
|
|
30
|
+
}
|
|
31
|
+
return acc;
|
|
32
|
+
}, {});
|
|
33
|
+
}
|
|
34
|
+
export function hasEventProp(props, type) {
|
|
35
|
+
const onType = `on${capitalize(type)}`;
|
|
36
|
+
return !!(props[onType] || props[`${onType}Once`] || props[`${onType}Capture`] || props[`${onType}OnceCapture`] || props[`${onType}CaptureOnce`]);
|
|
37
|
+
}
|
|
38
|
+
export function propIsDefined(vnode, prop) {
|
|
39
|
+
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=props.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"props.mjs","names":["capitalize","toKebabCase","propsFactory","props","source","defaults","Object","keys","reduce","options","prop","option","isObjectOption","Array","isArray","objectOption","type","default","chooseProps","target","acc","hasEventProp","onType","propIsDefined","vnode"],"sources":["../../../src/util/component/props.ts"],"sourcesContent":["import { capitalize } from 'vue';\nimport type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ExtractPropTypes,\n Prop,\n PropType,\n VNode,\n} from 'vue';\n\nimport { toKebabCase } from '../string';\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\nexport function propIsDefined(vnode: VNode, prop: string) {\n return (\n typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\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,KAAK;AAAC,SAUxBC,WAAW;AAEpB,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,KAAItB,UAAU,CAACgB,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;AAEA,OAAO,SAASC,aAAaA,CAACC,KAAY,EAAEd,IAAY,EAAE;EACxD,OACE,OAAOc,KAAK,CAACrB,KAAK,GAAGO,IAAI,CAAC,KAAK,WAAW,IAC1C,OAAOc,KAAK,CAACrB,KAAK,GAAGF,WAAW,CAACS,IAAI,CAAC,CAAC,KAAK,WAAW;AAE3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","names":["EventPropOption","Function","Array"],"sources":["../../../src/util/component/types.ts"],"sourcesContent":["import type { EmitsOptions, ObjectEmitsOptions, PropType } from 'vue';\r\n\r\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> =\r\n | F\r\n | F[];\r\n\r\nexport const EventPropOption = <T extends any[] = any[]>() =>\r\n [Function, Array] as PropType<EventProp<T>>;\r\n\r\nexport type ComponentTypeEmits =\r\n | ((...args: any[]) => any)\r\n | Record<string, any[]>\r\n\r\nexport type EmitsToProps<T extends EmitsOptions | ComponentTypeEmits> =\r\n T extends string[]\r\n ? {\r\n [K in `on${Capitalize<T[number]>}`]?: (...args: any[]) => any\r\n }\r\n : T extends ObjectEmitsOptions\r\n ? {\r\n [K in string & keyof T as `on${Capitalize<K>}`]?: (\r\n ...args: T[K] extends (...args: infer P) => any\r\n ? P\r\n : T[K] extends null\r\n ? any[]\r\n : never\r\n ) => any\r\n }\r\n : {}\r\n\r\nexport type TypeEmitsToOptions<T extends ComponentTypeEmits> = {\r\n [K in keyof T & string]: T[K] extends [...args: infer Args]\r\n ? (...args: Args) => any\r\n : () => any\r\n} & (T extends (...args: any[]) => any\r\n ? ParametersToFns<OverloadParameters<T>>\r\n : {})\r\n\r\ntype ParametersToFns<T extends any[]> = {\r\n [K in T[0]]: K extends `${infer C}`\r\n ? (...args: T extends [C, ...infer Args] ? Args : never) => any\r\n : never\r\n}\r\n\r\nexport type OverloadParameters<T extends (...args: any[]) => any> = Parameters<\r\n OverloadUnion<T>\r\n>\r\n\r\ntype OverloadProps<TOverload> = Pick<TOverload, keyof TOverload>\r\n\r\ntype OverloadUnionRecursive<\r\n TOverload,\r\n TPartialOverload = unknown,\r\n> = TOverload extends (...args: infer TArgs) => infer TReturn\r\n ? TPartialOverload extends TOverload\r\n ? never\r\n :\r\n | OverloadUnionRecursive<\r\n TPartialOverload & TOverload,\r\n TPartialOverload &\r\n ((...args: TArgs) => TReturn) &\r\n OverloadProps<TOverload>\r\n >\r\n | ((...args: TArgs) => TReturn)\r\n : never\r\n\r\ntype OverloadUnion<TOverload extends (...args: any[]) => any> = Exclude<\r\n OverloadUnionRecursive<(() => never) & TOverload>,\r\n TOverload extends () => never ? never : () => never\r\n>\r\n"],"mappings":"AAMA,OAAO,MAAMA,eAAe,GAAGA,CAAA,KAC7B,CAACC,QAAQ,EAAEC,KAAK,CAA2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["YuyeonDateAdapter","createDateAdapter"],"sources":["../../../src/util/date/index.ts"],"sourcesContent":["export * from './built-in';\
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["YuyeonDateAdapter","createDateAdapter"],"sources":["../../../src/util/date/index.ts"],"sourcesContent":["export * from './built-in';\nexport { YuyeonDateAdapter } from './adapters/yuyeon-date-adapter';\n\nexport function createDateAdapter() {}\n"],"mappings":";SACSA,iBAAiB;AAE1B,OAAO,SAASC,iBAAiBA,CAAA,EAAG,CAAC"}
|
package/lib/util/dom.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.mjs","names":["documentRoot","domNode","root","getRootNode","document","composed","hasElementMouseEvent","mouseEvent","element","include","ShadowRoot","host","target","elements","push","some","el","contains","isOverflow","offsetWidth","scrollWidth"],"sources":["../../src/util/dom.ts"],"sourcesContent":["export function documentRoot(domNode: Node): null | HTMLDocument | ShadowRoot {\
|
|
1
|
+
{"version":3,"file":"dom.mjs","names":["documentRoot","domNode","root","getRootNode","document","composed","hasElementMouseEvent","mouseEvent","element","include","ShadowRoot","host","target","elements","push","some","el","contains","isOverflow","offsetWidth","scrollWidth"],"sources":["../../src/util/dom.ts"],"sourcesContent":["export function documentRoot(domNode: Node): null | HTMLDocument | ShadowRoot {\n const root = domNode.getRootNode();\n if (root !== document && root.getRootNode({ composed: true }) !== document)\n return null;\n return root as HTMLDocument | ShadowRoot;\n}\n\nexport function hasElementMouseEvent(\n mouseEvent: Event,\n element: HTMLElement,\n include?: HTMLElement[],\n): boolean {\n if (!mouseEvent) {\n return false;\n }\n const root = documentRoot(element);\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === mouseEvent.target\n ) {\n return false;\n }\n const elements = include ?? [];\n elements.push(element);\n return !elements.some((el) => el?.contains(mouseEvent.target as Node));\n}\n\nexport function isOverflow(el: HTMLElement) {\n return el.offsetWidth < el.scrollWidth;\n}\n"],"mappings":"AAAA,OAAO,SAASA,YAAYA,CAACC,OAAa,EAAoC;EAC5E,MAAMC,IAAI,GAAGD,OAAO,CAACE,WAAW,CAAC,CAAC;EAClC,IAAID,IAAI,KAAKE,QAAQ,IAAIF,IAAI,CAACC,WAAW,CAAC;IAAEE,QAAQ,EAAE;EAAK,CAAC,CAAC,KAAKD,QAAQ,EACxE,OAAO,IAAI;EACb,OAAOF,IAAI;AACb;AAEA,OAAO,SAASI,oBAAoBA,CAClCC,UAAiB,EACjBC,OAAoB,EACpBC,OAAuB,EACd;EACT,IAAI,CAACF,UAAU,EAAE;IACf,OAAO,KAAK;EACd;EACA,MAAML,IAAI,GAAGF,YAAY,CAACQ,OAAO,CAAC;EAClC,IACE,OAAOE,UAAU,KAAK,WAAW,IACjCR,IAAI,YAAYQ,UAAU,IAC1BR,IAAI,CAACS,IAAI,KAAKJ,UAAU,CAACK,MAAM,EAC/B;IACA,OAAO,KAAK;EACd;EACA,MAAMC,QAAQ,GAAGJ,OAAO,IAAI,EAAE;EAC9BI,QAAQ,CAACC,IAAI,CAACN,OAAO,CAAC;EACtB,OAAO,CAACK,QAAQ,CAACE,IAAI,CAAEC,EAAE,IAAKA,EAAE,EAAEC,QAAQ,CAACV,UAAU,CAACK,MAAc,CAAC,CAAC;AACxE;AAEA,OAAO,SAASM,UAAUA,CAACF,EAAe,EAAE;EAC1C,OAAOA,EAAE,CAACG,WAAW,GAAGH,EAAE,CAACI,WAAW;AACxC"}
|
package/lib/util/index.mjs
CHANGED
|
@@ -10,7 +10,7 @@ export * from "./rect.mjs";
|
|
|
10
10
|
export * from "./anchor.mjs";
|
|
11
11
|
export * from "./scroll.mjs";
|
|
12
12
|
export * from "./frame-scheduler.mjs";
|
|
13
|
-
export * from "./
|
|
13
|
+
export * from "./component/index.mjs";
|
|
14
14
|
export * from "./reactivity.mjs";
|
|
15
15
|
export * from "./color/index.mjs";
|
|
16
16
|
export * from "./date/index.mjs";
|
package/lib/util/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/util/index.ts"],"sourcesContent":["export * from './common';\r\nexport * from './collection';\r\nexport * from './array';\r\nexport * from './string';\r\nexport * from './validation';\r\nexport * from './debounce';\r\nexport * from './dom';\r\nexport * from './ui';\r\nexport * from './rect';\r\nexport * from './anchor';\r\nexport * from './scroll';\r\nexport * from './frame-scheduler';\r\nexport * from './
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/util/index.ts"],"sourcesContent":["export * from './common';\r\nexport * from './collection';\r\nexport * from './array';\r\nexport * from './string';\r\nexport * from './validation';\r\nexport * from './debounce';\r\nexport * from './dom';\r\nexport * from './ui';\r\nexport * from './rect';\r\nexport * from './anchor';\r\nexport * from './scroll';\r\nexport * from './frame-scheduler';\r\nexport * from './component';\r\nexport * from './reactivity';\r\nexport * from './color';\r\nexport * from './date';\r\n"],"mappings":""}
|
package/lib/util/reactivity.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactivity.mjs","names":["computed","reactive","toRefs","watchEffect","$computed","getter","refs","base","key","value","flush"],"sources":["../../src/util/reactivity.ts"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"reactivity.mjs","names":["computed","reactive","toRefs","watchEffect","$computed","getter","refs","base","key","value","flush"],"sources":["../../src/util/reactivity.ts"],"sourcesContent":["import {\n type ComputedGetter,\n computed,\n reactive,\n toRefs,\n watchEffect,\n} from 'vue';\n\n/**\n * For Destructuring assignment\n * @param getter\n */\nexport function $computed<T extends object>(getter: ComputedGetter<T>) {\n const refs = reactive({}) as T;\n const base = computed(getter);\n watchEffect(\n () => {\n for (const key in base.value) {\n refs[key] = base.value[key];\n }\n },\n { flush: 'sync' },\n );\n return toRefs(refs);\n}\n"],"mappings":"AAAA,SAEEA,QAAQ,EACRC,QAAQ,EACRC,MAAM,EACNC,WAAW,QACN,KAAK;;AAEZ;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAmBC,MAAyB,EAAE;EACrE,MAAMC,IAAI,GAAGL,QAAQ,CAAC,CAAC,CAAC,CAAM;EAC9B,MAAMM,IAAI,GAAGP,QAAQ,CAACK,MAAM,CAAC;EAC7BF,WAAW,CACT,MAAM;IACJ,KAAK,MAAMK,GAAG,IAAID,IAAI,CAACE,KAAK,EAAE;MAC5BH,IAAI,CAACE,GAAG,CAAC,GAAGD,IAAI,CAACE,KAAK,CAACD,GAAG,CAAC;IAC7B;EACF,CAAC,EACD;IAAEE,KAAK,EAAE;EAAO,CAClB,CAAC;EACD,OAAOR,MAAM,CAACI,IAAI,CAAC;AACrB"}
|
package/lib/util/rect.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rect.mjs","names":["MutableRect","constructor","_ref","x","y","width","height","top","bottom","left","right","getOverflow","a","b","before","Math","max","after"],"sources":["../../src/util/rect.ts"],"sourcesContent":["export interface Rect {\
|
|
1
|
+
{"version":3,"file":"rect.mjs","names":["MutableRect","constructor","_ref","x","y","width","height","top","bottom","left","right","getOverflow","a","b","before","Math","max","after"],"sources":["../../src/util/rect.ts"],"sourcesContent":["export interface Rect {\n x: number;\n y: number;\n width: number;\n height: number;\n\n get top(): number;\n get bottom(): number;\n get left(): number;\n get right(): number;\n}\n\nexport class MutableRect implements Rect {\n public x: number;\n\n public y: number;\n\n public width: number;\n\n public height: number;\n\n constructor({\n x,\n y,\n width,\n height,\n }: {\n x: number;\n y: number;\n width: number;\n height: number;\n }) {\n this.x = x ?? 0;\n this.y = y ?? 0;\n this.width = width ?? 0;\n this.height = height ?? 0;\n }\n\n public get top(): number {\n return this.y;\n }\n\n public get bottom(): number {\n return this.y + this.height;\n }\n\n public get left(): number {\n return this.x;\n }\n\n public get right(): number {\n return this.x + this.width;\n }\n}\n\nexport function getOverflow(a: MutableRect, b: MutableRect) {\n return {\n x: {\n before: Math.max(0, b.left - a.left),\n after: Math.max(0, a.right - b.right),\n },\n y: {\n before: Math.max(0, b.top - a.top),\n after: Math.max(0, a.bottom - b.bottom),\n },\n };\n}\n"],"mappings":"AAYA,OAAO,MAAMA,WAAW,CAAiB;EASvCC,WAAWA,CAAAC,IAAA,EAUR;IAAA,IAVS;MACVC,CAAC;MACDC,CAAC;MACDC,KAAK;MACLC;IAMF,CAAC,GAAAJ,IAAA;IACC,IAAI,CAACC,CAAC,GAAGA,CAAC,IAAI,CAAC;IACf,IAAI,CAACC,CAAC,GAAGA,CAAC,IAAI,CAAC;IACf,IAAI,CAACC,KAAK,GAAGA,KAAK,IAAI,CAAC;IACvB,IAAI,CAACC,MAAM,GAAGA,MAAM,IAAI,CAAC;EAC3B;EAEA,IAAWC,GAAGA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACH,CAAC;EACf;EAEA,IAAWI,MAAMA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACJ,CAAC,GAAG,IAAI,CAACE,MAAM;EAC7B;EAEA,IAAWG,IAAIA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACN,CAAC;EACf;EAEA,IAAWO,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACP,CAAC,GAAG,IAAI,CAACE,KAAK;EAC5B;AACF;AAEA,OAAO,SAASM,WAAWA,CAACC,CAAc,EAAEC,CAAc,EAAE;EAC1D,OAAO;IACLV,CAAC,EAAE;MACDW,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACJ,IAAI,GAAGG,CAAC,CAACH,IAAI,CAAC;MACpCQ,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACF,KAAK,GAAGG,CAAC,CAACH,KAAK;IACtC,CAAC;IACDN,CAAC,EAAE;MACDU,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACN,GAAG,GAAGK,CAAC,CAACL,GAAG,CAAC;MAClCU,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACJ,MAAM,GAAGK,CAAC,CAACL,MAAM;IACxC;EACF,CAAC;AACH"}
|
package/lib/util/ui.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.mjs","names":["getBoundingPureRect","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","sx","sy","dx","dy","startsWith","ta","slice","split","to","transformOrigin","x","parseFloat","y","indexOf","w","width","offsetWidth","h","height","offsetHeight","top","right","bottom","left","pixelRound","val","Math","round","devicePixelRatio","pixelCeil","ceil","toStyleSizeValue","size","unit","arguments","length","undefined","value","Number","isNaN","isFinite"],"sources":["../../src/util/ui.ts"],"sourcesContent":["export function getBoundingPureRect(el: HTMLElement) {\
|
|
1
|
+
{"version":3,"file":"ui.mjs","names":["getBoundingPureRect","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","sx","sy","dx","dy","startsWith","ta","slice","split","to","transformOrigin","x","parseFloat","y","indexOf","w","width","offsetWidth","h","height","offsetHeight","top","right","bottom","left","pixelRound","val","Math","round","devicePixelRatio","pixelCeil","ceil","toStyleSizeValue","size","unit","arguments","length","undefined","value","Number","isNaN","isFinite"],"sources":["../../src/util/ui.ts"],"sourcesContent":["export function getBoundingPureRect(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n const tx = style.transform;\n\n if (tx) {\n let sx, sy, dx, dy;\n if (tx.startsWith('matrix3d(')) {\n const ta = tx.slice(9, -1).split(/, /);\n sx = +ta[0];\n sy = +ta[5];\n dx = +ta[12];\n dy = +ta[13];\n } else if (tx.startsWith('matrix(')) {\n const ta = tx.slice(7, -1).split(/, /);\n sx = +ta[0];\n sy = +ta[3];\n dx = +ta[4];\n dy = +ta[5];\n } else {\n return rect;\n }\n\n const to = style.transformOrigin;\n const x = rect.x - dx - (1 - sx) * parseFloat(to);\n const y =\n rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1));\n const w = sx ? rect.width / sx : el.offsetWidth;\n const h = sy ? rect.height / sy : el.offsetHeight;\n return {\n x: x,\n y: y,\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x,\n } as DOMRect;\n } else {\n return rect;\n }\n}\n\nexport function pixelRound (val: number) {\n return Math.round(val * devicePixelRatio) / devicePixelRatio\n}\n\nexport function pixelCeil (val: number) {\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio\n}\n\nexport function toStyleSizeValue(\n size: number | string | null | undefined,\n unit = 'px',\n): string | undefined {\n if (size == null || size === '') {\n return undefined;\n }\n let value = Number(size);\n if (typeof(size) === 'string' && isNaN(value)) {\n return size;\n } else if (!isFinite(value)) {\n return undefined;\n }\n\n return `${value}${unit}`;\n}\n"],"mappings":"AAAA,OAAO,SAASA,mBAAmBA,CAACC,EAAe,EAAE;EACnD,MAAMC,IAAI,GAAGD,EAAE,CAACE,qBAAqB,CAAC,CAAC;EACvC,MAAMC,KAAK,GAAGC,gBAAgB,CAACJ,EAAE,CAAC;EAClC,MAAMK,EAAE,GAAGF,KAAK,CAACG,SAAS;EAE1B,IAAID,EAAE,EAAE;IACN,IAAIE,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE;IAClB,IAAIL,EAAE,CAACM,UAAU,CAAC,WAAW,CAAC,EAAE;MAC9B,MAAMC,EAAE,GAAGP,EAAE,CAACQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,IAAI,CAAC;MACtCP,EAAE,GAAG,CAACK,EAAE,CAAC,CAAC,CAAC;MACXJ,EAAE,GAAG,CAACI,EAAE,CAAC,CAAC,CAAC;MACXH,EAAE,GAAG,CAACG,EAAE,CAAC,EAAE,CAAC;MACZF,EAAE,GAAG,CAACE,EAAE,CAAC,EAAE,CAAC;IACd,CAAC,MAAM,IAAIP,EAAE,CAACM,UAAU,CAAC,SAAS,CAAC,EAAE;MACnC,MAAMC,EAAE,GAAGP,EAAE,CAACQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,IAAI,CAAC;MACtCP,EAAE,GAAG,CAACK,EAAE,CAAC,CAAC,CAAC;MACXJ,EAAE,GAAG,CAACI,EAAE,CAAC,CAAC,CAAC;MACXH,EAAE,GAAG,CAACG,EAAE,CAAC,CAAC,CAAC;MACXF,EAAE,GAAG,CAACE,EAAE,CAAC,CAAC,CAAC;IACb,CAAC,MAAM;MACL,OAAOX,IAAI;IACb;IAEA,MAAMc,EAAE,GAAGZ,KAAK,CAACa,eAAe;IAChC,MAAMC,CAAC,GAAGhB,IAAI,CAACgB,CAAC,GAAGR,EAAE,GAAG,CAAC,CAAC,GAAGF,EAAE,IAAIW,UAAU,CAACH,EAAE,CAAC;IACjD,MAAMI,CAAC,GACLlB,IAAI,CAACkB,CAAC,GAAGT,EAAE,GAAG,CAAC,CAAC,GAAGF,EAAE,IAAIU,UAAU,CAACH,EAAE,CAACF,KAAK,CAACE,EAAE,CAACK,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,MAAMC,CAAC,GAAGd,EAAE,GAAGN,IAAI,CAACqB,KAAK,GAAGf,EAAE,GAAGP,EAAE,CAACuB,WAAW;IAC/C,MAAMC,CAAC,GAAGhB,EAAE,GAAGP,IAAI,CAACwB,MAAM,GAAGjB,EAAE,GAAGR,EAAE,CAAC0B,YAAY;IACjD,OAAO;MACLT,CAAC,EAAEA,CAAC;MACJE,CAAC,EAAEA,CAAC;MACJG,KAAK,EAAED,CAAC;MACRI,MAAM,EAAED,CAAC;MACTG,GAAG,EAAER,CAAC;MACNS,KAAK,EAAEX,CAAC,GAAGI,CAAC;MACZQ,MAAM,EAAEV,CAAC,GAAGK,CAAC;MACbM,IAAI,EAAEb;IACR,CAAC;EACH,CAAC,MAAM;IACL,OAAOhB,IAAI;EACb;AACF;AAEA,OAAO,SAAS8B,UAAUA,CAAEC,GAAW,EAAE;EACvC,OAAOC,IAAI,CAACC,KAAK,CAACF,GAAG,GAAGG,gBAAgB,CAAC,GAAGA,gBAAgB;AAC9D;AAEA,OAAO,SAASC,SAASA,CAAEJ,GAAW,EAAE;EACtC,OAAOC,IAAI,CAACI,IAAI,CAACL,GAAG,GAAGG,gBAAgB,CAAC,GAAGA,gBAAgB;AAC7D;AAEA,OAAO,SAASG,gBAAgBA,CAC9BC,IAAwC,EAEpB;EAAA,IADpBC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEX,IAAIF,IAAI,IAAI,IAAI,IAAIA,IAAI,KAAK,EAAE,EAAE;IAC/B,OAAOI,SAAS;EAClB;EACA,IAAIC,KAAK,GAAGC,MAAM,CAACN,IAAI,CAAC;EACxB,IAAI,OAAOA,IAAK,KAAK,QAAQ,IAAIO,KAAK,CAACF,KAAK,CAAC,EAAE;IAC7C,OAAOL,IAAI;EACb,CAAC,MAAM,IAAI,CAACQ,QAAQ,CAACH,KAAK,CAAC,EAAE;IAC3B,OAAOD,SAAS;EAClB;EAEA,OAAQ,GAAEC,KAAM,GAAEJ,IAAK,EAAC;AAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.mjs","names":["REQUIRE_RULE","value"],"sources":["../../src/util/validation.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"validation.mjs","names":["REQUIRE_RULE","value"],"sources":["../../src/util/validation.ts"],"sourcesContent":["export function REQUIRE_RULE(value: any): boolean {\n return !!value;\n}\n\nexport default {};\n"],"mappings":"AAAA,OAAO,SAASA,YAAYA,CAACC,KAAU,EAAW;EAChD,OAAO,CAAC,CAACA,KAAK;AAChB;AAEA,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|