yuyeon 0.3.1-rc.6 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/yuyeon.js +1 -1
- package/dist/yuyeon.umd.cjs +1 -1
- package/lib/abstract/items.js +20 -0
- package/lib/abstract/items.js.map +1 -0
- package/lib/components/alert/YAlert.js +83 -0
- package/lib/components/alert/YAlert.js.map +1 -0
- package/lib/components/alert/index.js +2 -0
- package/lib/components/alert/index.js.map +1 -0
- package/lib/components/app/YApp.js +21 -0
- package/lib/components/app/YApp.js.map +1 -0
- package/lib/components/app/index.js +2 -0
- package/lib/components/app/index.js.map +1 -0
- package/lib/components/badge/YBadge.js +83 -0
- package/lib/components/badge/YBadge.js.map +1 -0
- package/lib/components/badge/index.js +2 -0
- package/lib/components/badge/index.js.map +1 -0
- package/lib/components/bench/YBench.js +43 -0
- package/lib/components/bench/YBench.js.map +1 -0
- package/lib/components/bench/index.js +2 -0
- package/lib/components/bench/index.js.map +1 -0
- package/lib/components/button/YButton.js +169 -0
- package/lib/components/button/YButton.js.map +1 -0
- package/lib/components/button/index.js +2 -0
- package/lib/components/button/index.js.map +1 -0
- package/lib/components/card/YCard.js +28 -0
- package/lib/components/card/YCard.js.map +1 -0
- package/lib/components/card/YCardBody.js +11 -0
- package/lib/components/card/YCardBody.js.map +1 -0
- package/lib/components/card/YCardFooter.js +11 -0
- package/lib/components/card/YCardFooter.js.map +1 -0
- package/lib/components/card/YCardHeader.js +11 -0
- package/lib/components/card/YCardHeader.js.map +1 -0
- package/lib/components/card/index.js +5 -0
- package/lib/components/card/index.js.map +1 -0
- package/lib/components/checkbox/YCheckbox.js +160 -0
- package/lib/components/checkbox/YCheckbox.js.map +1 -0
- package/lib/components/checkbox/YInputCheckbox.js +114 -0
- package/lib/components/checkbox/YInputCheckbox.js.map +1 -0
- package/lib/components/checkbox/index.js +4 -0
- package/lib/components/checkbox/index.js.map +1 -0
- package/lib/components/chip/YChip.js +39 -0
- package/lib/components/chip/YChip.js.map +1 -0
- package/lib/components/chip/index.js +2 -0
- package/lib/components/chip/index.js.map +1 -0
- package/lib/components/date-picker/YDateCalendar.js +243 -0
- package/lib/components/date-picker/YDateCalendar.js.map +1 -0
- package/lib/components/date-picker/YDatePicker.js +132 -0
- package/lib/components/date-picker/YDatePicker.js.map +1 -0
- package/lib/components/date-picker/YDatePickerControl.js +107 -0
- package/lib/components/date-picker/YDatePickerControl.js.map +1 -0
- package/lib/components/date-picker/YMonthPicker.js +64 -0
- package/lib/components/date-picker/YMonthPicker.js.map +1 -0
- package/lib/components/date-picker/YYearPicker.js +87 -0
- package/lib/components/date-picker/YYearPicker.js.map +1 -0
- package/lib/components/date-picker/index.js +4 -0
- package/lib/components/date-picker/index.js.map +1 -0
- package/lib/components/default-provider/YDefaultProvider.js +2 -0
- package/lib/components/default-provider/YDefaultProvider.js.map +1 -0
- package/lib/components/default-provider/index.js +2 -0
- package/lib/components/default-provider/index.js.map +1 -0
- package/lib/components/dialog/YDialog.js +213 -0
- package/lib/components/dialog/YDialog.js.map +1 -0
- package/lib/components/dialog/index.js +2 -0
- package/lib/components/dialog/index.js.map +1 -0
- package/lib/components/divider/YDivider.js +20 -0
- package/lib/components/divider/YDivider.js.map +1 -0
- package/lib/components/divider/index.js +2 -0
- package/lib/components/divider/index.js.map +1 -0
- package/lib/components/draggable/YDraggable.js +95 -0
- package/lib/components/draggable/YDraggable.js.map +1 -0
- package/lib/components/dropdown/YDropdown.js +109 -0
- package/lib/components/dropdown/YDropdown.js.map +1 -0
- package/lib/components/dropdown/index.js +2 -0
- package/lib/components/dropdown/index.js.map +1 -0
- package/lib/components/field-input/YFieldInput.js +229 -0
- package/lib/components/field-input/YFieldInput.js.map +1 -0
- package/lib/components/field-input/index.js +2 -0
- package/lib/components/field-input/index.js.map +1 -0
- package/lib/components/form/YForm.js +65 -0
- package/lib/components/form/YForm.js.map +1 -0
- package/lib/components/form/index.js +2 -0
- package/lib/components/form/index.js.map +1 -0
- package/lib/components/hover/YHover.js +54 -0
- package/lib/components/hover/YHover.js.map +1 -0
- package/lib/components/hover/index.js +2 -0
- package/lib/components/hover/index.js.map +1 -0
- package/lib/components/icon/YIcon.js +63 -0
- package/lib/components/icon/YIcon.js.map +1 -0
- package/lib/components/icon/index.js +2 -0
- package/lib/components/icon/index.js.map +1 -0
- package/lib/components/icons/YIconCheckbox.js +32 -0
- package/lib/components/icons/YIconCheckbox.js.map +1 -0
- package/lib/components/icons/YIconClear.js +16 -0
- package/lib/components/icons/YIconClear.js.map +1 -0
- package/lib/components/icons/YIconDropdown.js +16 -0
- package/lib/components/icons/YIconDropdown.js.map +1 -0
- package/lib/components/icons/YIconExpand.js +20 -0
- package/lib/components/icons/YIconExpand.js.map +1 -0
- package/lib/components/icons/YIconPageControl.js +32 -0
- package/lib/components/icons/YIconPageControl.js.map +1 -0
- package/lib/components/icons/YIconSort.js +45 -0
- package/lib/components/icons/YIconSort.js.map +1 -0
- package/lib/components/icons/index.js +32 -0
- package/lib/components/icons/index.js.map +1 -0
- package/lib/components/img/YImg.js +173 -0
- package/lib/components/img/YImg.js.map +1 -0
- package/lib/components/img/index.js +2 -0
- package/lib/components/img/index.js.map +1 -0
- package/lib/components/index.js +39 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/input/YInput.js +258 -0
- package/lib/components/input/YInput.js.map +1 -0
- package/lib/components/input/index.js +2 -0
- package/lib/components/input/index.js.map +1 -0
- package/lib/components/ip-field/YIpv4Field.js +297 -0
- package/lib/components/ip-field/YIpv4Field.js.map +1 -0
- package/lib/components/ip-field/index.js +2 -0
- package/lib/components/ip-field/index.js.map +1 -0
- package/lib/components/layer/YLayer.js +326 -0
- package/lib/components/layer/YLayer.js.map +1 -0
- package/lib/components/layer/active-delay.js +28 -0
- package/lib/components/layer/active-delay.js.map +1 -0
- package/lib/components/layer/active-stack.js +52 -0
- package/lib/components/layer/active-stack.js.map +1 -0
- package/lib/components/layer/base.js +87 -0
- package/lib/components/layer/base.js.map +1 -0
- package/lib/components/layer/content.js +22 -0
- package/lib/components/layer/content.js.map +1 -0
- package/lib/components/layer/index.js +2 -0
- package/lib/components/layer/index.js.map +1 -0
- package/lib/components/layer/scroll-strategies.js +132 -0
- package/lib/components/layer/scroll-strategies.js.map +1 -0
- package/lib/components/list/YList.js +55 -0
- package/lib/components/list/YList.js.map +1 -0
- package/lib/components/list/YListItem.js +59 -0
- package/lib/components/list/YListItem.js.map +1 -0
- package/lib/components/list/index.js +3 -0
- package/lib/components/list/index.js.map +1 -0
- package/lib/components/loading/YSpinnerRing.js +25 -0
- package/lib/components/loading/YSpinnerRing.js.map +1 -0
- package/lib/components/loading/index.js +2 -0
- package/lib/components/loading/index.js.map +1 -0
- package/lib/components/menu/YMenu.js +211 -0
- package/lib/components/menu/YMenu.js.map +1 -0
- package/lib/components/menu/index.js +2 -0
- package/lib/components/menu/index.js.map +1 -0
- package/lib/components/navigation/YNavigation.js +18 -0
- package/lib/components/navigation/YNavigation.js.map +1 -0
- package/lib/components/navigation/index.js +2 -0
- package/lib/components/navigation/index.js.map +1 -0
- package/lib/components/pagination/YPagination.js +288 -0
- package/lib/components/pagination/YPagination.js.map +1 -0
- package/lib/components/pagination/index.js +2 -0
- package/lib/components/pagination/index.js.map +1 -0
- package/lib/components/panel/YDividePanel.js +90 -0
- package/lib/components/panel/YDividePanel.js.map +1 -0
- package/lib/components/panel/index.js +2 -0
- package/lib/components/panel/index.js.map +1 -0
- package/lib/components/plate/YPlate.js +28 -0
- package/lib/components/plate/YPlate.js.map +1 -0
- package/lib/components/plate/index.js +2 -0
- package/lib/components/plate/index.js.map +1 -0
- package/lib/components/progress-bar/YProgressBar.js +117 -0
- package/lib/components/progress-bar/YProgressBar.js.map +1 -0
- package/lib/components/progress-bar/index.js +2 -0
- package/lib/components/progress-bar/index.js.map +1 -0
- package/lib/components/progress-ring/YProgressRing.js +128 -0
- package/lib/components/progress-ring/YProgressRing.js.map +1 -0
- package/lib/components/progress-ring/index.js +2 -0
- package/lib/components/progress-ring/index.js.map +1 -0
- package/lib/components/select/YSelect.js +344 -0
- package/lib/components/select/YSelect.js.map +1 -0
- package/lib/components/select/index.js +2 -0
- package/lib/components/select/index.js.map +1 -0
- package/lib/components/slider/YSlider.js +26 -0
- package/lib/components/slider/YSlider.js.map +1 -0
- package/lib/components/slider/index.js +2 -0
- package/lib/components/slider/index.js.map +1 -0
- package/lib/components/snackbar/YSnackbar.js +209 -0
- package/lib/components/snackbar/YSnackbar.js.map +1 -0
- package/lib/components/snackbar/index.js +2 -0
- package/lib/components/snackbar/index.js.map +1 -0
- package/lib/components/switch/YSwitch.js +184 -0
- package/lib/components/switch/YSwitch.js.map +1 -0
- package/lib/components/switch/index.js +2 -0
- package/lib/components/switch/index.js.map +1 -0
- package/lib/components/tab/YTab.js +64 -0
- package/lib/components/tab/YTab.js.map +1 -0
- package/lib/components/tab/YTabs.js +86 -0
- package/lib/components/tab/YTabs.js.map +1 -0
- package/lib/components/tab/index.js +4 -0
- package/lib/components/tab/index.js.map +1 -0
- package/lib/components/tab/shared.js +2 -0
- package/lib/components/tab/shared.js.map +1 -0
- package/lib/components/tab/types.js +2 -0
- package/lib/components/tab/types.js.map +1 -0
- package/lib/components/table/YDataTable.js +182 -0
- package/lib/components/table/YDataTable.js.map +1 -0
- package/lib/components/table/YDataTableBody.js +131 -0
- package/lib/components/table/YDataTableBody.js.map +1 -0
- package/lib/components/table/YDataTableCell.js +78 -0
- package/lib/components/table/YDataTableCell.js.map +1 -0
- package/lib/components/table/YDataTableControl.js +46 -0
- package/lib/components/table/YDataTableControl.js.map +1 -0
- package/lib/components/table/YDataTableHead.js +172 -0
- package/lib/components/table/YDataTableHead.js.map +1 -0
- package/lib/components/table/YDataTableLayer.js +29 -0
- package/lib/components/table/YDataTableLayer.js.map +1 -0
- package/lib/components/table/YDataTableRow.js +150 -0
- package/lib/components/table/YDataTableRow.js.map +1 -0
- package/lib/components/table/YDataTableServer.js +173 -0
- package/lib/components/table/YDataTableServer.js.map +1 -0
- package/lib/components/table/YTable.js +77 -0
- package/lib/components/table/YTable.js.map +1 -0
- package/lib/components/table/composibles/header.js +127 -0
- package/lib/components/table/composibles/header.js.map +1 -0
- package/lib/components/table/composibles/items.js +52 -0
- package/lib/components/table/composibles/items.js.map +1 -0
- package/lib/components/table/composibles/measure.js +39 -0
- package/lib/components/table/composibles/measure.js.map +1 -0
- package/lib/components/table/composibles/options.js +33 -0
- package/lib/components/table/composibles/options.js.map +1 -0
- package/lib/components/table/composibles/pagination.js +99 -0
- package/lib/components/table/composibles/pagination.js.map +1 -0
- package/lib/components/table/composibles/selection.js +196 -0
- package/lib/components/table/composibles/selection.js.map +1 -0
- package/lib/components/table/composibles/sorted-items.js +50 -0
- package/lib/components/table/composibles/sorted-items.js.map +1 -0
- package/lib/components/table/composibles/sorting.js +73 -0
- package/lib/components/table/composibles/sorting.js.map +1 -0
- package/lib/components/table/index.js +9 -0
- package/lib/components/table/index.js.map +1 -0
- package/lib/components/table/types/common.js +2 -0
- package/lib/components/table/types/common.js.map +1 -0
- package/lib/components/table/types/header.js +2 -0
- package/lib/components/table/types/header.js.map +1 -0
- package/lib/components/table/types/index.js +2 -0
- package/lib/components/table/types/index.js.map +1 -0
- package/lib/components/table/types/item.js +2 -0
- package/lib/components/table/types/item.js.map +1 -0
- package/lib/components/table/types/row.js +2 -0
- package/lib/components/table/types/row.js.map +1 -0
- package/lib/components/text-ellipsis/YTextEllipsis.js +66 -0
- package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -0
- package/lib/components/text-ellipsis/index.js +2 -0
- package/lib/components/text-ellipsis/index.js.map +1 -0
- package/lib/components/text-highlighter/YTextHighlighter.js +95 -0
- package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -0
- package/lib/components/text-highlighter/index.js +2 -0
- package/lib/components/text-highlighter/index.js.map +1 -0
- package/lib/components/text-interpolation/YTi.js +47 -0
- package/lib/components/text-interpolation/YTi.js.map +1 -0
- package/lib/components/text-interpolation/index.js +2 -0
- package/lib/components/text-interpolation/index.js.map +1 -0
- package/lib/components/textarea/YTextarea.js +157 -0
- package/lib/components/textarea/YTextarea.js.map +1 -0
- package/lib/components/textarea/index.js +2 -0
- package/lib/components/textarea/index.js.map +1 -0
- package/lib/components/toggle-button/YToggleButton.js +2 -0
- package/lib/components/toggle-button/YToggleButton.js.map +1 -0
- package/lib/components/toggle-button/index.js +2 -0
- package/lib/components/toggle-button/index.js.map +1 -0
- package/lib/components/tooltip/YTooltip.js +157 -0
- package/lib/components/tooltip/YTooltip.js.map +1 -0
- package/lib/components/tooltip/index.js +2 -0
- package/lib/components/tooltip/index.js.map +1 -0
- package/lib/components/transitions/expand-transition.js +109 -0
- package/lib/components/transitions/expand-transition.js.map +1 -0
- package/lib/components/transitions/index.js +4 -0
- package/lib/components/transitions/index.js.map +1 -0
- package/lib/components/tree-view/YTreeView.js +289 -0
- package/lib/components/tree-view/YTreeView.js.map +1 -0
- package/lib/components/tree-view/YTreeViewNode.js +250 -0
- package/lib/components/tree-view/YTreeViewNode.js.map +1 -0
- package/lib/components/tree-view/index.js +3 -0
- package/lib/components/tree-view/index.js.map +1 -0
- package/lib/components/tree-view/tree-view.js +179 -0
- package/lib/components/tree-view/tree-view.js.map +1 -0
- package/lib/components/tree-view/types.js +2 -0
- package/lib/components/tree-view/types.js.map +1 -0
- package/lib/components/tree-view/util.js +40 -0
- package/lib/components/tree-view/util.js.map +1 -0
- package/lib/composables/choice-link.js +13 -0
- package/lib/composables/choice-link.js.map +1 -0
- package/lib/composables/choice.js +187 -0
- package/lib/composables/choice.js.map +1 -0
- package/lib/composables/communication.js +55 -0
- package/lib/composables/communication.js.map +1 -0
- package/lib/composables/component.js +8 -0
- package/lib/composables/component.js.map +1 -0
- package/lib/composables/coordinate/arrangement.js +14 -0
- package/lib/composables/coordinate/arrangement.js.map +1 -0
- package/lib/composables/coordinate/index.js +67 -0
- package/lib/composables/coordinate/index.js.map +1 -0
- package/lib/composables/coordinate/levitation.js +315 -0
- package/lib/composables/coordinate/levitation.js.map +1 -0
- package/lib/composables/coordinate/types.js +2 -0
- package/lib/composables/coordinate/types.js.map +1 -0
- package/lib/composables/coordinate/utils/point.js +55 -0
- package/lib/composables/coordinate/utils/point.js.map +1 -0
- package/lib/composables/date/factory.js +12 -0
- package/lib/composables/date/factory.js.map +1 -0
- package/lib/composables/date/index.js +20 -0
- package/lib/composables/date/index.js.map +1 -0
- package/lib/composables/date/setting.js +11 -0
- package/lib/composables/date/setting.js.map +1 -0
- package/lib/composables/date/types.js +2 -0
- package/lib/composables/date/types.js.map +1 -0
- package/lib/composables/defaults/index.js +99 -0
- package/lib/composables/defaults/index.js.map +1 -0
- package/lib/composables/defaults/share.js +2 -0
- package/lib/composables/defaults/share.js.map +1 -0
- package/lib/composables/defaults/types.js +2 -0
- package/lib/composables/defaults/types.js.map +1 -0
- package/lib/composables/dimension.js +26 -0
- package/lib/composables/dimension.js.map +1 -0
- package/lib/composables/focus.js +29 -0
- package/lib/composables/focus.js.map +1 -0
- package/lib/composables/form.js +100 -0
- package/lib/composables/form.js.map +1 -0
- package/lib/composables/i18n/index.js +30 -0
- package/lib/composables/i18n/index.js.map +1 -0
- package/lib/composables/i18n/locale.js +5 -0
- package/lib/composables/i18n/locale.js.map +1 -0
- package/lib/composables/i18n/rtl.js +34 -0
- package/lib/composables/i18n/rtl.js.map +1 -0
- package/lib/composables/i18n/share.js +2 -0
- package/lib/composables/i18n/share.js.map +1 -0
- package/lib/composables/icon.js +164 -0
- package/lib/composables/icon.js.map +1 -0
- package/lib/composables/index.js +11 -0
- package/lib/composables/index.js.map +1 -0
- package/lib/composables/layer-group.js +66 -0
- package/lib/composables/layer-group.js.map +1 -0
- package/lib/composables/layout.js +13 -0
- package/lib/composables/layout.js.map +1 -0
- package/lib/composables/list-items.js +66 -0
- package/lib/composables/list-items.js.map +1 -0
- package/lib/composables/progress.js +26 -0
- package/lib/composables/progress.js.map +1 -0
- package/lib/composables/ref.js +13 -0
- package/lib/composables/ref.js.map +1 -0
- package/lib/composables/resize-observer.js +33 -0
- package/lib/composables/resize-observer.js.map +1 -0
- package/lib/composables/scope.js +26 -0
- package/lib/composables/scope.js.map +1 -0
- package/lib/composables/style-color.js +37 -0
- package/lib/composables/style-color.js.map +1 -0
- package/lib/composables/theme/factory.js +47 -0
- package/lib/composables/theme/factory.js.map +1 -0
- package/lib/composables/theme/helper.js +14 -0
- package/lib/composables/theme/helper.js.map +1 -0
- package/lib/composables/theme/index.js +187 -0
- package/lib/composables/theme/index.js.map +1 -0
- package/lib/composables/theme/setting.js +112 -0
- package/lib/composables/theme/setting.js.map +1 -0
- package/lib/composables/theme/types.js +2 -0
- package/lib/composables/theme/types.js.map +1 -0
- package/lib/composables/timing.js +102 -0
- package/lib/composables/timing.js.map +1 -0
- package/lib/composables/transition.js +51 -0
- package/lib/composables/transition.js.map +1 -0
- package/lib/composables/validation.js +126 -0
- package/lib/composables/validation.js.map +1 -0
- package/lib/composables/vue-router.js +32 -0
- package/lib/composables/vue-router.js.map +1 -0
- package/lib/directives/complement-click/index.js +78 -0
- package/lib/directives/complement-click/index.js.map +1 -0
- package/lib/directives/plate-wave/index.js +100 -0
- package/lib/directives/plate-wave/index.js.map +1 -0
- package/lib/directives/theme-class.js +24 -0
- package/lib/directives/theme-class.js.map +1 -0
- package/lib/etc/index.js +6 -0
- package/lib/etc/index.js.map +1 -0
- package/lib/i18n/built-in.js +77 -0
- package/lib/i18n/built-in.js.map +1 -0
- package/lib/i18n/config.js +82 -0
- package/lib/i18n/config.js.map +1 -0
- package/lib/i18n/types.js +2 -0
- package/lib/i18n/types.js.map +1 -0
- package/lib/index.js +103 -0
- package/lib/index.js.map +1 -0
- package/lib/locales/en.js +6 -0
- package/lib/locales/en.js.map +1 -0
- package/lib/locales/index.js +3 -0
- package/lib/locales/index.js.map +1 -0
- package/lib/locales/ko.js +6 -0
- package/lib/locales/ko.js.map +1 -0
- package/lib/mixins/di.js +19 -0
- package/lib/mixins/di.js.map +1 -0
- package/lib/mixins/rebind-attrs.js +37 -0
- package/lib/mixins/rebind-attrs.js.map +1 -0
- package/lib/types/index.js +2 -0
- package/lib/types/index.js.map +1 -0
- package/lib/util/anchor.js +53 -0
- package/lib/util/anchor.js.map +1 -0
- package/lib/util/array.js +13 -0
- package/lib/util/array.js.map +1 -0
- package/lib/util/collection.js +10 -0
- package/lib/util/collection.js.map +1 -0
- package/lib/util/color/apca.js +201 -0
- package/lib/util/color/apca.js.map +1 -0
- package/lib/util/color/const.js +6 -0
- package/lib/util/color/const.js.map +1 -0
- package/lib/util/color/contrast/contrast.js +149 -0
- package/lib/util/color/contrast/contrast.js.map +1 -0
- package/lib/util/color/conversion.js +310 -0
- package/lib/util/color/conversion.js.map +1 -0
- package/lib/util/color/hct/cam16.js +349 -0
- package/lib/util/color/hct/cam16.js.map +1 -0
- package/lib/util/color/hct/hct-solver.js +389 -0
- package/lib/util/color/hct/hct-solver.js.map +1 -0
- package/lib/util/color/hct/hct.js +153 -0
- package/lib/util/color/hct/hct.js.map +1 -0
- package/lib/util/color/hct/viewing-conditions.js +110 -0
- package/lib/util/color/hct/viewing-conditions.js.map +1 -0
- package/lib/util/color/index.js +40 -0
- package/lib/util/color/index.js.map +1 -0
- package/lib/util/color/palettes/core-palette.js +99 -0
- package/lib/util/color/palettes/core-palette.js.map +1 -0
- package/lib/util/color/palettes/tonal-palette.js +112 -0
- package/lib/util/color/palettes/tonal-palette.js.map +1 -0
- package/lib/util/color/types.js +2 -0
- package/lib/util/color/types.js.map +1 -0
- package/lib/util/color/utils/math-utils.js +139 -0
- package/lib/util/color/utils/math-utils.js.map +1 -0
- package/lib/util/common.js +107 -0
- package/lib/util/common.js.map +1 -0
- package/lib/util/component/component.js +26 -0
- package/lib/util/component/component.js.map +1 -0
- package/lib/util/component/index.js +65 -0
- package/lib/util/component/index.js.map +1 -0
- package/lib/util/component/inject-self.js +10 -0
- package/lib/util/component/inject-self.js.map +1 -0
- package/lib/util/component/props.js +41 -0
- package/lib/util/component/props.js.map +1 -0
- package/lib/util/component/types.js +2 -0
- package/lib/util/component/types.js.map +1 -0
- package/lib/util/date/adapters/yuyeon-date-adapter.js +111 -0
- package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -0
- package/lib/util/date/built-in.js +416 -0
- package/lib/util/date/built-in.js.map +1 -0
- package/lib/util/date/index.js +4 -0
- package/lib/util/date/index.js.map +1 -0
- package/lib/util/date/types.js +2 -0
- package/lib/util/date/types.js.map +1 -0
- package/lib/util/debounce.js +114 -0
- package/lib/util/debounce.js.map +1 -0
- package/lib/util/dom.js +23 -0
- package/lib/util/dom.js.map +1 -0
- package/lib/util/environments.js +8 -0
- package/lib/util/environments.js.map +1 -0
- package/lib/util/frame-scheduler.js +29 -0
- package/lib/util/frame-scheduler.js.map +1 -0
- package/lib/util/index.js +17 -0
- package/lib/util/index.js.map +1 -0
- package/lib/util/reactivity.js +19 -0
- package/lib/util/reactivity.js.map +1 -0
- package/lib/util/rect.js +39 -0
- package/lib/util/rect.js.map +1 -0
- package/lib/util/scroll.js +28 -0
- package/lib/util/scroll.js.map +1 -0
- package/lib/util/string.js +69 -0
- package/lib/util/string.js.map +1 -0
- package/lib/util/ui.js +60 -0
- package/lib/util/ui.js.map +1 -0
- package/lib/util/validation.js +5 -0
- package/lib/util/validation.js.map +1 -0
- package/package.json +12 -12
- package/lib/abstract/items.mjs +0 -20
- package/lib/abstract/items.mjs.map +0 -1
- package/lib/components/alert/YAlert.mjs +0 -83
- package/lib/components/alert/YAlert.mjs.map +0 -1
- package/lib/components/alert/index.mjs +0 -2
- package/lib/components/alert/index.mjs.map +0 -1
- package/lib/components/app/YApp.mjs +0 -21
- package/lib/components/app/YApp.mjs.map +0 -1
- package/lib/components/app/index.mjs +0 -2
- package/lib/components/app/index.mjs.map +0 -1
- package/lib/components/badge/YBadge.mjs +0 -83
- package/lib/components/badge/YBadge.mjs.map +0 -1
- package/lib/components/badge/index.mjs +0 -2
- package/lib/components/badge/index.mjs.map +0 -1
- package/lib/components/bench/YBench.mjs +0 -43
- package/lib/components/bench/YBench.mjs.map +0 -1
- package/lib/components/bench/index.mjs +0 -2
- package/lib/components/bench/index.mjs.map +0 -1
- package/lib/components/button/YButton.mjs +0 -169
- package/lib/components/button/YButton.mjs.map +0 -1
- package/lib/components/button/index.mjs +0 -2
- package/lib/components/button/index.mjs.map +0 -1
- package/lib/components/card/YCard.mjs +0 -28
- package/lib/components/card/YCard.mjs.map +0 -1
- package/lib/components/card/YCardBody.mjs +0 -11
- package/lib/components/card/YCardBody.mjs.map +0 -1
- package/lib/components/card/YCardFooter.mjs +0 -11
- package/lib/components/card/YCardFooter.mjs.map +0 -1
- package/lib/components/card/YCardHeader.mjs +0 -11
- package/lib/components/card/YCardHeader.mjs.map +0 -1
- package/lib/components/card/index.mjs +0 -5
- package/lib/components/card/index.mjs.map +0 -1
- package/lib/components/checkbox/YCheckbox.mjs +0 -160
- package/lib/components/checkbox/YCheckbox.mjs.map +0 -1
- package/lib/components/checkbox/YInputCheckbox.mjs +0 -114
- package/lib/components/checkbox/YInputCheckbox.mjs.map +0 -1
- package/lib/components/checkbox/index.mjs +0 -4
- package/lib/components/checkbox/index.mjs.map +0 -1
- package/lib/components/chip/YChip.mjs +0 -39
- package/lib/components/chip/YChip.mjs.map +0 -1
- package/lib/components/chip/index.mjs +0 -2
- package/lib/components/chip/index.mjs.map +0 -1
- package/lib/components/date-picker/YDateCalendar.mjs +0 -243
- package/lib/components/date-picker/YDateCalendar.mjs.map +0 -1
- package/lib/components/date-picker/YDatePicker.mjs +0 -132
- package/lib/components/date-picker/YDatePicker.mjs.map +0 -1
- package/lib/components/date-picker/YDatePickerControl.mjs +0 -107
- package/lib/components/date-picker/YDatePickerControl.mjs.map +0 -1
- package/lib/components/date-picker/YMonthPicker.mjs +0 -64
- package/lib/components/date-picker/YMonthPicker.mjs.map +0 -1
- package/lib/components/date-picker/YYearPicker.mjs +0 -87
- package/lib/components/date-picker/YYearPicker.mjs.map +0 -1
- package/lib/components/date-picker/index.mjs +0 -4
- package/lib/components/date-picker/index.mjs.map +0 -1
- package/lib/components/default-provider/YDefaultProvider.mjs +0 -2
- package/lib/components/default-provider/YDefaultProvider.mjs.map +0 -1
- package/lib/components/default-provider/index.mjs +0 -2
- package/lib/components/default-provider/index.mjs.map +0 -1
- package/lib/components/dialog/YDialog.mjs +0 -213
- package/lib/components/dialog/YDialog.mjs.map +0 -1
- package/lib/components/dialog/index.mjs +0 -2
- package/lib/components/dialog/index.mjs.map +0 -1
- package/lib/components/divider/YDivider.mjs +0 -20
- package/lib/components/divider/YDivider.mjs.map +0 -1
- package/lib/components/divider/index.mjs +0 -2
- package/lib/components/divider/index.mjs.map +0 -1
- package/lib/components/draggable/YDraggable.mjs +0 -95
- package/lib/components/draggable/YDraggable.mjs.map +0 -1
- package/lib/components/dropdown/YDropdown.mjs +0 -109
- package/lib/components/dropdown/YDropdown.mjs.map +0 -1
- package/lib/components/dropdown/index.mjs +0 -2
- package/lib/components/dropdown/index.mjs.map +0 -1
- package/lib/components/field-input/YFieldInput.mjs +0 -229
- package/lib/components/field-input/YFieldInput.mjs.map +0 -1
- package/lib/components/field-input/index.mjs +0 -2
- package/lib/components/field-input/index.mjs.map +0 -1
- package/lib/components/form/YForm.mjs +0 -65
- package/lib/components/form/YForm.mjs.map +0 -1
- package/lib/components/form/index.mjs +0 -2
- package/lib/components/form/index.mjs.map +0 -1
- package/lib/components/hover/YHover.mjs +0 -54
- package/lib/components/hover/YHover.mjs.map +0 -1
- package/lib/components/hover/index.mjs +0 -2
- package/lib/components/hover/index.mjs.map +0 -1
- package/lib/components/icon/YIcon.mjs +0 -63
- package/lib/components/icon/YIcon.mjs.map +0 -1
- package/lib/components/icon/index.mjs +0 -2
- package/lib/components/icon/index.mjs.map +0 -1
- package/lib/components/icon/poly.mjs +0 -57
- package/lib/components/icon/poly.mjs.map +0 -1
- package/lib/components/icons/YIconCheckbox.mjs +0 -32
- package/lib/components/icons/YIconCheckbox.mjs.map +0 -1
- package/lib/components/icons/YIconClear.mjs +0 -16
- package/lib/components/icons/YIconClear.mjs.map +0 -1
- package/lib/components/icons/YIconDropdown.mjs +0 -16
- package/lib/components/icons/YIconDropdown.mjs.map +0 -1
- package/lib/components/icons/YIconExpand.mjs +0 -20
- package/lib/components/icons/YIconExpand.mjs.map +0 -1
- package/lib/components/icons/YIconPageControl.mjs +0 -32
- package/lib/components/icons/YIconPageControl.mjs.map +0 -1
- package/lib/components/icons/YIconSort.mjs +0 -45
- package/lib/components/icons/YIconSort.mjs.map +0 -1
- package/lib/components/icons/index.mjs +0 -32
- package/lib/components/icons/index.mjs.map +0 -1
- package/lib/components/img/YImg.mjs +0 -173
- package/lib/components/img/YImg.mjs.map +0 -1
- package/lib/components/img/index.mjs +0 -2
- package/lib/components/img/index.mjs.map +0 -1
- package/lib/components/index.mjs +0 -39
- package/lib/components/index.mjs.map +0 -1
- package/lib/components/input/YInput.mjs +0 -258
- package/lib/components/input/YInput.mjs.map +0 -1
- package/lib/components/input/index.mjs +0 -2
- package/lib/components/input/index.mjs.map +0 -1
- package/lib/components/ip-field/YIpv4Field.mjs +0 -297
- package/lib/components/ip-field/YIpv4Field.mjs.map +0 -1
- package/lib/components/ip-field/index.mjs +0 -2
- package/lib/components/ip-field/index.mjs.map +0 -1
- package/lib/components/layer/YLayer.mjs +0 -326
- package/lib/components/layer/YLayer.mjs.map +0 -1
- package/lib/components/layer/active-delay.mjs +0 -28
- package/lib/components/layer/active-delay.mjs.map +0 -1
- package/lib/components/layer/active-stack.mjs +0 -52
- package/lib/components/layer/active-stack.mjs.map +0 -1
- package/lib/components/layer/base.mjs +0 -87
- package/lib/components/layer/base.mjs.map +0 -1
- package/lib/components/layer/content.mjs +0 -22
- package/lib/components/layer/content.mjs.map +0 -1
- package/lib/components/layer/index.mjs +0 -2
- package/lib/components/layer/index.mjs.map +0 -1
- package/lib/components/layer/scroll-strategies.mjs +0 -132
- package/lib/components/layer/scroll-strategies.mjs.map +0 -1
- package/lib/components/list/YList.mjs +0 -55
- package/lib/components/list/YList.mjs.map +0 -1
- package/lib/components/list/YListItem.mjs +0 -59
- package/lib/components/list/YListItem.mjs.map +0 -1
- package/lib/components/list/index.mjs +0 -3
- package/lib/components/list/index.mjs.map +0 -1
- package/lib/components/loading/YSpinnerRing.mjs +0 -25
- package/lib/components/loading/YSpinnerRing.mjs.map +0 -1
- package/lib/components/loading/index.mjs +0 -2
- package/lib/components/loading/index.mjs.map +0 -1
- package/lib/components/menu/YMenu.mjs +0 -211
- package/lib/components/menu/YMenu.mjs.map +0 -1
- package/lib/components/menu/index.mjs +0 -2
- package/lib/components/menu/index.mjs.map +0 -1
- package/lib/components/navigation/YNavigation.mjs +0 -18
- package/lib/components/navigation/YNavigation.mjs.map +0 -1
- package/lib/components/navigation/index.mjs +0 -2
- package/lib/components/navigation/index.mjs.map +0 -1
- package/lib/components/pagination/YPagination.mjs +0 -288
- package/lib/components/pagination/YPagination.mjs.map +0 -1
- package/lib/components/pagination/index.mjs +0 -2
- package/lib/components/pagination/index.mjs.map +0 -1
- package/lib/components/panel/YDividePanel.mjs +0 -90
- package/lib/components/panel/YDividePanel.mjs.map +0 -1
- package/lib/components/panel/index.mjs +0 -2
- package/lib/components/panel/index.mjs.map +0 -1
- package/lib/components/plate/YPlate.mjs +0 -28
- package/lib/components/plate/YPlate.mjs.map +0 -1
- package/lib/components/plate/index.mjs +0 -2
- package/lib/components/plate/index.mjs.map +0 -1
- package/lib/components/progress-bar/YProgressBar.mjs +0 -117
- package/lib/components/progress-bar/YProgressBar.mjs.map +0 -1
- package/lib/components/progress-bar/index.mjs +0 -2
- package/lib/components/progress-bar/index.mjs.map +0 -1
- package/lib/components/progress-ring/YProgressRing.mjs +0 -128
- package/lib/components/progress-ring/YProgressRing.mjs.map +0 -1
- package/lib/components/progress-ring/index.mjs +0 -2
- package/lib/components/progress-ring/index.mjs.map +0 -1
- package/lib/components/select/YSelect.mjs +0 -344
- package/lib/components/select/YSelect.mjs.map +0 -1
- package/lib/components/select/index.mjs +0 -2
- package/lib/components/select/index.mjs.map +0 -1
- package/lib/components/slider/YSlider.mjs +0 -26
- package/lib/components/slider/YSlider.mjs.map +0 -1
- package/lib/components/slider/index.mjs +0 -2
- package/lib/components/slider/index.mjs.map +0 -1
- package/lib/components/snackbar/YSnackbar.mjs +0 -209
- package/lib/components/snackbar/YSnackbar.mjs.map +0 -1
- package/lib/components/snackbar/index.mjs +0 -2
- package/lib/components/snackbar/index.mjs.map +0 -1
- package/lib/components/switch/YSwitch.mjs +0 -184
- package/lib/components/switch/YSwitch.mjs.map +0 -1
- package/lib/components/switch/index.mjs +0 -2
- package/lib/components/switch/index.mjs.map +0 -1
- package/lib/components/tab/YTab.mjs +0 -64
- package/lib/components/tab/YTab.mjs.map +0 -1
- package/lib/components/tab/YTabs.mjs +0 -86
- package/lib/components/tab/YTabs.mjs.map +0 -1
- package/lib/components/tab/index.mjs +0 -4
- package/lib/components/tab/index.mjs.map +0 -1
- package/lib/components/tab/shared.mjs +0 -2
- package/lib/components/tab/shared.mjs.map +0 -1
- package/lib/components/tab/types.mjs +0 -2
- package/lib/components/tab/types.mjs.map +0 -1
- package/lib/components/table/YDataTable.mjs +0 -182
- package/lib/components/table/YDataTable.mjs.map +0 -1
- package/lib/components/table/YDataTableBody.mjs +0 -131
- package/lib/components/table/YDataTableBody.mjs.map +0 -1
- package/lib/components/table/YDataTableCell.mjs +0 -78
- package/lib/components/table/YDataTableCell.mjs.map +0 -1
- package/lib/components/table/YDataTableControl.mjs +0 -46
- package/lib/components/table/YDataTableControl.mjs.map +0 -1
- package/lib/components/table/YDataTableHead.mjs +0 -172
- package/lib/components/table/YDataTableHead.mjs.map +0 -1
- package/lib/components/table/YDataTableLayer.mjs +0 -29
- package/lib/components/table/YDataTableLayer.mjs.map +0 -1
- package/lib/components/table/YDataTableRow.mjs +0 -150
- package/lib/components/table/YDataTableRow.mjs.map +0 -1
- package/lib/components/table/YDataTableServer.mjs +0 -173
- package/lib/components/table/YDataTableServer.mjs.map +0 -1
- package/lib/components/table/YTable.mjs +0 -77
- package/lib/components/table/YTable.mjs.map +0 -1
- package/lib/components/table/composibles/header.mjs +0 -127
- package/lib/components/table/composibles/header.mjs.map +0 -1
- package/lib/components/table/composibles/items.mjs +0 -52
- package/lib/components/table/composibles/items.mjs.map +0 -1
- package/lib/components/table/composibles/measure.mjs +0 -39
- package/lib/components/table/composibles/measure.mjs.map +0 -1
- package/lib/components/table/composibles/options.mjs +0 -33
- package/lib/components/table/composibles/options.mjs.map +0 -1
- package/lib/components/table/composibles/pagination.mjs +0 -99
- package/lib/components/table/composibles/pagination.mjs.map +0 -1
- package/lib/components/table/composibles/selection.mjs +0 -196
- package/lib/components/table/composibles/selection.mjs.map +0 -1
- package/lib/components/table/composibles/sorted-items.mjs +0 -50
- package/lib/components/table/composibles/sorted-items.mjs.map +0 -1
- package/lib/components/table/composibles/sorting.mjs +0 -73
- package/lib/components/table/composibles/sorting.mjs.map +0 -1
- package/lib/components/table/index.mjs +0 -9
- package/lib/components/table/index.mjs.map +0 -1
- package/lib/components/table/types/common.mjs +0 -2
- package/lib/components/table/types/common.mjs.map +0 -1
- package/lib/components/table/types/header.mjs +0 -2
- package/lib/components/table/types/header.mjs.map +0 -1
- package/lib/components/table/types/index.mjs +0 -2
- package/lib/components/table/types/index.mjs.map +0 -1
- package/lib/components/table/types/item.mjs +0 -2
- package/lib/components/table/types/item.mjs.map +0 -1
- package/lib/components/table/types/row.mjs +0 -2
- package/lib/components/table/types/row.mjs.map +0 -1
- package/lib/components/text-ellipsis/YTextEllipsis.mjs +0 -66
- package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +0 -1
- package/lib/components/text-ellipsis/index.mjs +0 -2
- package/lib/components/text-ellipsis/index.mjs.map +0 -1
- package/lib/components/text-highlighter/YTextHighlighter.mjs +0 -95
- package/lib/components/text-highlighter/YTextHighlighter.mjs.map +0 -1
- package/lib/components/text-highlighter/index.mjs +0 -2
- package/lib/components/text-highlighter/index.mjs.map +0 -1
- package/lib/components/text-interpolation/YTi.mjs +0 -47
- package/lib/components/text-interpolation/YTi.mjs.map +0 -1
- package/lib/components/text-interpolation/index.mjs +0 -2
- package/lib/components/text-interpolation/index.mjs.map +0 -1
- package/lib/components/textarea/YTextarea.mjs +0 -157
- package/lib/components/textarea/YTextarea.mjs.map +0 -1
- package/lib/components/textarea/index.mjs +0 -2
- package/lib/components/textarea/index.mjs.map +0 -1
- package/lib/components/toggle-button/YToggleButton.mjs +0 -2
- package/lib/components/toggle-button/YToggleButton.mjs.map +0 -1
- package/lib/components/toggle-button/index.mjs +0 -2
- package/lib/components/toggle-button/index.mjs.map +0 -1
- package/lib/components/tooltip/YTooltip.mjs +0 -157
- package/lib/components/tooltip/YTooltip.mjs.map +0 -1
- package/lib/components/tooltip/index.mjs +0 -2
- package/lib/components/tooltip/index.mjs.map +0 -1
- package/lib/components/transitions/expand-transition.mjs +0 -109
- package/lib/components/transitions/expand-transition.mjs.map +0 -1
- package/lib/components/transitions/index.mjs +0 -4
- package/lib/components/transitions/index.mjs.map +0 -1
- package/lib/components/tree-view/YTreeView.mjs +0 -289
- package/lib/components/tree-view/YTreeView.mjs.map +0 -1
- package/lib/components/tree-view/YTreeViewNode.mjs +0 -250
- package/lib/components/tree-view/YTreeViewNode.mjs.map +0 -1
- package/lib/components/tree-view/index.mjs +0 -3
- package/lib/components/tree-view/index.mjs.map +0 -1
- package/lib/components/tree-view/tree-view.mjs +0 -179
- package/lib/components/tree-view/tree-view.mjs.map +0 -1
- package/lib/components/tree-view/types.mjs +0 -2
- package/lib/components/tree-view/types.mjs.map +0 -1
- package/lib/components/tree-view/util.mjs +0 -40
- package/lib/components/tree-view/util.mjs.map +0 -1
- package/lib/composables/choice-link.mjs +0 -13
- package/lib/composables/choice-link.mjs.map +0 -1
- package/lib/composables/choice.mjs +0 -187
- package/lib/composables/choice.mjs.map +0 -1
- package/lib/composables/communication.mjs +0 -55
- package/lib/composables/communication.mjs.map +0 -1
- package/lib/composables/component.mjs +0 -8
- package/lib/composables/component.mjs.map +0 -1
- package/lib/composables/coordinate/arrangement.mjs +0 -14
- package/lib/composables/coordinate/arrangement.mjs.map +0 -1
- package/lib/composables/coordinate/index.mjs +0 -67
- package/lib/composables/coordinate/index.mjs.map +0 -1
- package/lib/composables/coordinate/levitation.mjs +0 -315
- package/lib/composables/coordinate/levitation.mjs.map +0 -1
- package/lib/composables/coordinate/types.mjs +0 -2
- package/lib/composables/coordinate/types.mjs.map +0 -1
- package/lib/composables/coordinate/utils/point.mjs +0 -55
- package/lib/composables/coordinate/utils/point.mjs.map +0 -1
- package/lib/composables/date/factory.mjs +0 -12
- package/lib/composables/date/factory.mjs.map +0 -1
- package/lib/composables/date/index.mjs +0 -20
- package/lib/composables/date/index.mjs.map +0 -1
- package/lib/composables/date/setting.mjs +0 -11
- package/lib/composables/date/setting.mjs.map +0 -1
- package/lib/composables/date/types.mjs +0 -2
- package/lib/composables/date/types.mjs.map +0 -1
- package/lib/composables/defaults/index.mjs +0 -99
- package/lib/composables/defaults/index.mjs.map +0 -1
- package/lib/composables/defaults/share.mjs +0 -2
- package/lib/composables/defaults/share.mjs.map +0 -1
- package/lib/composables/defaults/types.mjs +0 -2
- package/lib/composables/defaults/types.mjs.map +0 -1
- package/lib/composables/dimension.mjs +0 -26
- package/lib/composables/dimension.mjs.map +0 -1
- package/lib/composables/focus.mjs +0 -29
- package/lib/composables/focus.mjs.map +0 -1
- package/lib/composables/form.mjs +0 -100
- package/lib/composables/form.mjs.map +0 -1
- package/lib/composables/group.mjs +0 -194
- package/lib/composables/group.mjs.map +0 -1
- package/lib/composables/i18n/index.mjs +0 -30
- package/lib/composables/i18n/index.mjs.map +0 -1
- package/lib/composables/i18n/locale.mjs +0 -5
- package/lib/composables/i18n/locale.mjs.map +0 -1
- package/lib/composables/i18n/rtl.mjs +0 -34
- package/lib/composables/i18n/rtl.mjs.map +0 -1
- package/lib/composables/i18n/share.mjs +0 -2
- package/lib/composables/i18n/share.mjs.map +0 -1
- package/lib/composables/icon.mjs +0 -164
- package/lib/composables/icon.mjs.map +0 -1
- package/lib/composables/index.mjs +0 -11
- package/lib/composables/index.mjs.map +0 -1
- package/lib/composables/layer-group.mjs +0 -66
- package/lib/composables/layer-group.mjs.map +0 -1
- package/lib/composables/layout.mjs +0 -13
- package/lib/composables/layout.mjs.map +0 -1
- package/lib/composables/list-items.mjs +0 -66
- package/lib/composables/list-items.mjs.map +0 -1
- package/lib/composables/progress.mjs +0 -26
- package/lib/composables/progress.mjs.map +0 -1
- package/lib/composables/ref.mjs +0 -13
- package/lib/composables/ref.mjs.map +0 -1
- package/lib/composables/resize-observer.mjs +0 -33
- package/lib/composables/resize-observer.mjs.map +0 -1
- package/lib/composables/scope.mjs +0 -26
- package/lib/composables/scope.mjs.map +0 -1
- package/lib/composables/style-color.mjs +0 -37
- package/lib/composables/style-color.mjs.map +0 -1
- package/lib/composables/theme/factory.mjs +0 -47
- package/lib/composables/theme/factory.mjs.map +0 -1
- package/lib/composables/theme/helper.mjs +0 -14
- package/lib/composables/theme/helper.mjs.map +0 -1
- package/lib/composables/theme/index.mjs +0 -187
- package/lib/composables/theme/index.mjs.map +0 -1
- package/lib/composables/theme/setting.mjs +0 -112
- package/lib/composables/theme/setting.mjs.map +0 -1
- package/lib/composables/theme/types.mjs +0 -2
- package/lib/composables/theme/types.mjs.map +0 -1
- package/lib/composables/timing.mjs +0 -102
- package/lib/composables/timing.mjs.map +0 -1
- package/lib/composables/transition.mjs +0 -51
- package/lib/composables/transition.mjs.map +0 -1
- package/lib/composables/validation.mjs +0 -126
- package/lib/composables/validation.mjs.map +0 -1
- package/lib/composables/vue-router.mjs +0 -32
- package/lib/composables/vue-router.mjs.map +0 -1
- package/lib/directives/complement-click/index.mjs +0 -78
- package/lib/directives/complement-click/index.mjs.map +0 -1
- package/lib/directives/plate-wave/index.mjs +0 -100
- package/lib/directives/plate-wave/index.mjs.map +0 -1
- package/lib/directives/theme-class.mjs +0 -24
- package/lib/directives/theme-class.mjs.map +0 -1
- package/lib/etc/index.mjs +0 -6
- package/lib/etc/index.mjs.map +0 -1
- package/lib/i18n/built-in.mjs +0 -77
- package/lib/i18n/built-in.mjs.map +0 -1
- package/lib/i18n/config.mjs +0 -82
- package/lib/i18n/config.mjs.map +0 -1
- package/lib/i18n/types.mjs +0 -2
- package/lib/i18n/types.mjs.map +0 -1
- package/lib/index.mjs +0 -103
- package/lib/index.mjs.map +0 -1
- package/lib/locales/en.mjs +0 -6
- package/lib/locales/en.mjs.map +0 -1
- package/lib/locales/index.mjs +0 -3
- package/lib/locales/index.mjs.map +0 -1
- package/lib/locales/ko.mjs +0 -6
- package/lib/locales/ko.mjs.map +0 -1
- package/lib/mixins/di.mjs +0 -19
- package/lib/mixins/di.mjs.map +0 -1
- package/lib/mixins/rebind-attrs.mjs +0 -37
- package/lib/mixins/rebind-attrs.mjs.map +0 -1
- package/lib/types/index.mjs +0 -2
- package/lib/types/index.mjs.map +0 -1
- package/lib/util/anchor.mjs +0 -53
- package/lib/util/anchor.mjs.map +0 -1
- package/lib/util/array.mjs +0 -13
- package/lib/util/array.mjs.map +0 -1
- package/lib/util/collection.mjs +0 -10
- package/lib/util/collection.mjs.map +0 -1
- package/lib/util/color/apca.mjs +0 -201
- package/lib/util/color/apca.mjs.map +0 -1
- package/lib/util/color/const.mjs +0 -6
- package/lib/util/color/const.mjs.map +0 -1
- package/lib/util/color/contrast/contrast.mjs +0 -149
- package/lib/util/color/contrast/contrast.mjs.map +0 -1
- package/lib/util/color/conversion.mjs +0 -310
- package/lib/util/color/conversion.mjs.map +0 -1
- package/lib/util/color/hct/cam16.mjs +0 -349
- package/lib/util/color/hct/cam16.mjs.map +0 -1
- package/lib/util/color/hct/hct-solver.mjs +0 -389
- package/lib/util/color/hct/hct-solver.mjs.map +0 -1
- package/lib/util/color/hct/hct.mjs +0 -153
- package/lib/util/color/hct/hct.mjs.map +0 -1
- package/lib/util/color/hct/viewing-conditions.mjs +0 -110
- package/lib/util/color/hct/viewing-conditions.mjs.map +0 -1
- package/lib/util/color/index.mjs +0 -40
- package/lib/util/color/index.mjs.map +0 -1
- package/lib/util/color/palettes/core-palette.mjs +0 -99
- package/lib/util/color/palettes/core-palette.mjs.map +0 -1
- package/lib/util/color/palettes/tonal-palette.mjs +0 -112
- package/lib/util/color/palettes/tonal-palette.mjs.map +0 -1
- package/lib/util/color/types.mjs +0 -2
- package/lib/util/color/types.mjs.map +0 -1
- package/lib/util/color/utils/math-utils.mjs +0 -139
- package/lib/util/color/utils/math-utils.mjs.map +0 -1
- package/lib/util/common.mjs +0 -107
- package/lib/util/common.mjs.map +0 -1
- package/lib/util/component/component.mjs +0 -26
- package/lib/util/component/component.mjs.map +0 -1
- package/lib/util/component/index.mjs +0 -65
- package/lib/util/component/index.mjs.map +0 -1
- package/lib/util/component/inject-self.mjs +0 -10
- package/lib/util/component/inject-self.mjs.map +0 -1
- package/lib/util/component/props.mjs +0 -41
- package/lib/util/component/props.mjs.map +0 -1
- package/lib/util/component/types.mjs +0 -2
- package/lib/util/component/types.mjs.map +0 -1
- package/lib/util/date/adapters/yuyeon-date-adapter.mjs +0 -111
- package/lib/util/date/adapters/yuyeon-date-adapter.mjs.map +0 -1
- package/lib/util/date/built-in.mjs +0 -416
- package/lib/util/date/built-in.mjs.map +0 -1
- package/lib/util/date/index.mjs +0 -4
- package/lib/util/date/index.mjs.map +0 -1
- package/lib/util/date/types.mjs +0 -2
- package/lib/util/date/types.mjs.map +0 -1
- package/lib/util/debounce.mjs +0 -114
- package/lib/util/debounce.mjs.map +0 -1
- package/lib/util/dom.mjs +0 -23
- package/lib/util/dom.mjs.map +0 -1
- package/lib/util/environments.mjs +0 -8
- package/lib/util/environments.mjs.map +0 -1
- package/lib/util/frame-scheduler.mjs +0 -29
- package/lib/util/frame-scheduler.mjs.map +0 -1
- package/lib/util/index.mjs +0 -17
- package/lib/util/index.mjs.map +0 -1
- package/lib/util/parser.mjs +0 -31
- package/lib/util/parser.mjs.map +0 -1
- package/lib/util/reactivity.mjs +0 -19
- package/lib/util/reactivity.mjs.map +0 -1
- package/lib/util/rect.mjs +0 -39
- package/lib/util/rect.mjs.map +0 -1
- package/lib/util/scroll.mjs +0 -28
- package/lib/util/scroll.mjs.map +0 -1
- package/lib/util/string.mjs +0 -69
- package/lib/util/string.mjs.map +0 -1
- package/lib/util/ui.mjs +0 -60
- package/lib/util/ui.mjs.map +0 -1
- package/lib/util/validation.mjs +0 -5
- package/lib/util/validation.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
|
@@ -1,315 +0,0 @@
|
|
|
1
|
-
import { computed, nextTick, onScopeDispose, ref, watch } from 'vue';
|
|
2
|
-
import { flipAlign, flipCorner, flipSide, getAxis, parseAnchor } from "../../util/anchor.mjs";
|
|
3
|
-
import { clamp } from "../../util/common.mjs";
|
|
4
|
-
import { $computed } from "../../util/reactivity.mjs";
|
|
5
|
-
import { MutableRect, getOverflow } from "../../util/rect.mjs";
|
|
6
|
-
import { getScrollParents } from "../../util/scroll.mjs";
|
|
7
|
-
import { getBoundingPureRect, pixelCeil, pixelRound, toStyleSizeValue } from "../../util/ui.mjs";
|
|
8
|
-
import { anchorToPoint, getOffset } from "./utils/point.mjs";
|
|
9
|
-
export function applyLevitation(props, state, coordinate, coordinateStyles) {
|
|
10
|
-
const {
|
|
11
|
-
contentEl,
|
|
12
|
-
base,
|
|
13
|
-
active
|
|
14
|
-
} = state;
|
|
15
|
-
const isRtl = ref(false);
|
|
16
|
-
|
|
17
|
-
/* Content Limitations */
|
|
18
|
-
const [minWidth, minHeight, maxWidth, maxHeight] = ['minWidth', 'minHeight', 'maxWidth', 'maxHeight'].map(key => {
|
|
19
|
-
return computed(() => {
|
|
20
|
-
const val = parseFloat(props[key]);
|
|
21
|
-
return isNaN(val) ? Infinity : val;
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
/* Offset */
|
|
26
|
-
const offset = computed(() => {
|
|
27
|
-
if (Array.isArray(props.offset)) {
|
|
28
|
-
return props.offset;
|
|
29
|
-
}
|
|
30
|
-
if (typeof props.offset === 'string') {
|
|
31
|
-
const offset = props.offset.split(' ').map(parseFloat);
|
|
32
|
-
if (offset.length < 2) offset.push(0);
|
|
33
|
-
return offset;
|
|
34
|
-
}
|
|
35
|
-
return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
/* Viewport Margin */
|
|
39
|
-
const viewportMargin = computed(() => {
|
|
40
|
-
if (Array.isArray(props.viewportMargin)) {
|
|
41
|
-
return props.viewportMargin;
|
|
42
|
-
}
|
|
43
|
-
if (typeof props.viewportMargin === 'string') {
|
|
44
|
-
const offset = props.viewportMargin.split(' ').map(parseFloat);
|
|
45
|
-
if (offset.length < 2) offset.push(0);
|
|
46
|
-
return offset;
|
|
47
|
-
}
|
|
48
|
-
return typeof props.viewportMargin === 'number' ? [props.viewportMargin, 0] : [0, 0];
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
/* Observing Update */
|
|
52
|
-
let observe = false;
|
|
53
|
-
const resizeObserver = new ResizeObserver(() => {
|
|
54
|
-
if (observe) updateCoordinate();
|
|
55
|
-
});
|
|
56
|
-
watch([state.base, state.contentEl], (_ref, _ref2) => {
|
|
57
|
-
let [neoBaseEl, neoContentEl] = _ref;
|
|
58
|
-
let [oldBaseEl, oldContentEl] = _ref2;
|
|
59
|
-
if (oldBaseEl && !Array.isArray(oldBaseEl) && oldBaseEl.nodeType === 1) resizeObserver.unobserve(oldBaseEl);
|
|
60
|
-
if (neoBaseEl && !Array.isArray(neoBaseEl) && neoBaseEl.nodeType === 1) resizeObserver.observe(neoBaseEl);
|
|
61
|
-
if (oldContentEl) resizeObserver.unobserve(oldContentEl);
|
|
62
|
-
if (neoContentEl) resizeObserver.observe(neoContentEl);
|
|
63
|
-
}, {
|
|
64
|
-
immediate: true
|
|
65
|
-
});
|
|
66
|
-
onScopeDispose(() => {
|
|
67
|
-
resizeObserver.disconnect();
|
|
68
|
-
});
|
|
69
|
-
function getIgnoreInsetRect(el) {
|
|
70
|
-
const rect = getBoundingPureRect(el);
|
|
71
|
-
rect.x -= parseFloat(el.style.left || '0');
|
|
72
|
-
rect.y -= parseFloat(el.style.top || '0');
|
|
73
|
-
return rect;
|
|
74
|
-
}
|
|
75
|
-
function updateCoordinate() {
|
|
76
|
-
observe = false;
|
|
77
|
-
const $base = base.value;
|
|
78
|
-
const $content = contentEl.value;
|
|
79
|
-
requestAnimationFrame(() => {
|
|
80
|
-
requestAnimationFrame(() => observe = true);
|
|
81
|
-
});
|
|
82
|
-
if (!$base || !$content) return;
|
|
83
|
-
const baseRect = Array.isArray($base) ? new MutableRect({
|
|
84
|
-
x: $base?.[0] ?? 0,
|
|
85
|
-
y: $base?.[1] ?? 0,
|
|
86
|
-
width: 0,
|
|
87
|
-
height: 0
|
|
88
|
-
}) : $base.getBoundingClientRect();
|
|
89
|
-
const contentRect = getIgnoreInsetRect($content);
|
|
90
|
-
const scrollParents = getScrollParents($content);
|
|
91
|
-
if (scrollParents.length < 1) {
|
|
92
|
-
scrollParents.push(document.documentElement);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Viewport area
|
|
97
|
-
*/
|
|
98
|
-
const viewport = scrollParents.reduce((box, el) => {
|
|
99
|
-
const rect = el.getBoundingClientRect();
|
|
100
|
-
const scrollBox = new MutableRect({
|
|
101
|
-
x: el === document.documentElement ? 0 : rect.x,
|
|
102
|
-
y: el === document.documentElement ? 0 : rect.y,
|
|
103
|
-
width: el.clientWidth,
|
|
104
|
-
height: el.clientHeight
|
|
105
|
-
});
|
|
106
|
-
if (box) {
|
|
107
|
-
return new MutableRect({
|
|
108
|
-
x: Math.max(box.left, scrollBox.left),
|
|
109
|
-
y: Math.max(box.top, scrollBox.top),
|
|
110
|
-
width: Math.min(box.right, scrollBox.right) - Math.max(box.left, scrollBox.left),
|
|
111
|
-
height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top)
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
return scrollBox;
|
|
115
|
-
}, undefined);
|
|
116
|
-
viewport.x += viewportMargin.value[0];
|
|
117
|
-
viewport.y += viewportMargin.value[1];
|
|
118
|
-
viewport.width -= viewportMargin.value[0] * 2;
|
|
119
|
-
viewport.height -= viewportMargin.value[1] * 2;
|
|
120
|
-
const {
|
|
121
|
-
preferredAnchor,
|
|
122
|
-
preferredOrigin
|
|
123
|
-
} = $computed(() => {
|
|
124
|
-
const location = `${props.position} ${props.align}`;
|
|
125
|
-
const parsedAnchor = parseAnchor(location, false);
|
|
126
|
-
const parsedOrigin = props.origin === 'overlap' ? parsedAnchor : props.origin === 'auto' ? flipSide(parsedAnchor) : parseAnchor(props.origin, false);
|
|
127
|
-
|
|
128
|
-
// Some combinations of props may produce an invalid origin
|
|
129
|
-
if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {
|
|
130
|
-
return {
|
|
131
|
-
preferredAnchor: flipCorner(parsedAnchor),
|
|
132
|
-
preferredOrigin: flipCorner(parsedOrigin)
|
|
133
|
-
};
|
|
134
|
-
} else {
|
|
135
|
-
return {
|
|
136
|
-
preferredAnchor: parsedAnchor,
|
|
137
|
-
preferredOrigin: parsedOrigin
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
let placement = {
|
|
142
|
-
anchor: preferredAnchor.value,
|
|
143
|
-
origin: preferredOrigin.value
|
|
144
|
-
};
|
|
145
|
-
function checkOverflow(_placement) {
|
|
146
|
-
const box = new MutableRect(contentRect);
|
|
147
|
-
const targetPoint = anchorToPoint(_placement.anchor, baseRect);
|
|
148
|
-
const contentPoint = anchorToPoint(_placement.origin, box);
|
|
149
|
-
let {
|
|
150
|
-
x,
|
|
151
|
-
y
|
|
152
|
-
} = getOffset(targetPoint, contentPoint);
|
|
153
|
-
switch (_placement.anchor.side) {
|
|
154
|
-
case 'top':
|
|
155
|
-
y -= offset.value[0];
|
|
156
|
-
break;
|
|
157
|
-
case 'bottom':
|
|
158
|
-
y += offset.value[0];
|
|
159
|
-
break;
|
|
160
|
-
case 'left':
|
|
161
|
-
x -= offset.value[0];
|
|
162
|
-
break;
|
|
163
|
-
case 'right':
|
|
164
|
-
x += offset.value[0];
|
|
165
|
-
break;
|
|
166
|
-
}
|
|
167
|
-
switch (_placement.anchor.align) {
|
|
168
|
-
case 'top':
|
|
169
|
-
y -= offset.value[1];
|
|
170
|
-
break;
|
|
171
|
-
case 'bottom':
|
|
172
|
-
y += offset.value[1];
|
|
173
|
-
break;
|
|
174
|
-
case 'left':
|
|
175
|
-
x -= offset.value[1];
|
|
176
|
-
break;
|
|
177
|
-
case 'right':
|
|
178
|
-
x += offset.value[1];
|
|
179
|
-
break;
|
|
180
|
-
}
|
|
181
|
-
box.x += x;
|
|
182
|
-
box.y += y;
|
|
183
|
-
box.width = Math.min(box.width, maxWidth.value);
|
|
184
|
-
box.height = Math.min(box.height, maxHeight.value);
|
|
185
|
-
const overflows = getOverflow(box, viewport);
|
|
186
|
-
return {
|
|
187
|
-
overflows,
|
|
188
|
-
x,
|
|
189
|
-
y
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
let x = 0;
|
|
193
|
-
let y = 0;
|
|
194
|
-
const available = {
|
|
195
|
-
x: 0,
|
|
196
|
-
y: 0
|
|
197
|
-
};
|
|
198
|
-
const flipped = {
|
|
199
|
-
x: false,
|
|
200
|
-
y: false
|
|
201
|
-
};
|
|
202
|
-
let resets = -1;
|
|
203
|
-
while (true) {
|
|
204
|
-
if (resets++ > 10) {
|
|
205
|
-
break;
|
|
206
|
-
}
|
|
207
|
-
const {
|
|
208
|
-
x: _x,
|
|
209
|
-
y: _y,
|
|
210
|
-
overflows
|
|
211
|
-
} = checkOverflow(placement);
|
|
212
|
-
x += _x;
|
|
213
|
-
y += _y;
|
|
214
|
-
contentRect.x += _x;
|
|
215
|
-
contentRect.y += _y;
|
|
216
|
-
|
|
217
|
-
// flip
|
|
218
|
-
{
|
|
219
|
-
const axis = getAxis(placement.anchor);
|
|
220
|
-
const hasOverflowX = overflows.x.before || overflows.x.after;
|
|
221
|
-
const hasOverflowY = overflows.y.before || overflows.y.after;
|
|
222
|
-
let reset = false;
|
|
223
|
-
['x', 'y'].forEach(key => {
|
|
224
|
-
if (key === 'x' && hasOverflowX && !flipped.x || key === 'y' && hasOverflowY && !flipped.y) {
|
|
225
|
-
const newPlacement = {
|
|
226
|
-
anchor: {
|
|
227
|
-
...placement.anchor
|
|
228
|
-
},
|
|
229
|
-
origin: {
|
|
230
|
-
...placement.origin
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
const flip = key === 'x' ? axis === 'y' ? flipAlign : flipSide : axis === 'y' ? flipSide : flipAlign;
|
|
234
|
-
newPlacement.anchor = flip(newPlacement.anchor);
|
|
235
|
-
newPlacement.origin = flip(newPlacement.origin);
|
|
236
|
-
const {
|
|
237
|
-
overflows: newOverflows
|
|
238
|
-
} = checkOverflow(newPlacement);
|
|
239
|
-
if (newOverflows[key].before <= overflows[key].before && newOverflows[key].after <= overflows[key].after || newOverflows[key].before + newOverflows[key].after < (overflows[key].before + overflows[key].after) / 2) {
|
|
240
|
-
placement = newPlacement;
|
|
241
|
-
reset = flipped[key] = true;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
if (reset) continue;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
// shift
|
|
249
|
-
if (overflows.x.before) {
|
|
250
|
-
x += overflows.x.before;
|
|
251
|
-
contentRect.x += overflows.x.before;
|
|
252
|
-
}
|
|
253
|
-
if (overflows.x.after) {
|
|
254
|
-
x -= overflows.x.after;
|
|
255
|
-
contentRect.x -= overflows.x.after;
|
|
256
|
-
}
|
|
257
|
-
if (overflows.y.before) {
|
|
258
|
-
y += overflows.y.before;
|
|
259
|
-
contentRect.y += overflows.y.before;
|
|
260
|
-
}
|
|
261
|
-
if (overflows.y.after) {
|
|
262
|
-
y -= overflows.y.after;
|
|
263
|
-
contentRect.y -= overflows.y.after;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
// size
|
|
267
|
-
{
|
|
268
|
-
const overflows = getOverflow(contentRect, viewport);
|
|
269
|
-
available.x = viewport.width - overflows.x.before - overflows.x.after;
|
|
270
|
-
available.y = viewport.height - overflows.y.before - overflows.y.after;
|
|
271
|
-
x += overflows.x.before;
|
|
272
|
-
contentRect.x += overflows.x.before;
|
|
273
|
-
y += overflows.y.before;
|
|
274
|
-
contentRect.y += overflows.y.before;
|
|
275
|
-
}
|
|
276
|
-
break;
|
|
277
|
-
}
|
|
278
|
-
const axis = getAxis(placement.anchor);
|
|
279
|
-
Object.assign(coordinateStyles.value, {
|
|
280
|
-
'--y-levitation-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,
|
|
281
|
-
transformOrigin: `${placement.origin.side} ${placement.origin.align}`,
|
|
282
|
-
top: toStyleSizeValue(pixelRound(y)),
|
|
283
|
-
left: isRtl.value ? undefined : toStyleSizeValue(pixelRound(x)),
|
|
284
|
-
right: isRtl.value ? toStyleSizeValue(pixelRound(-x)) : undefined,
|
|
285
|
-
minWidth: toStyleSizeValue(axis === 'y' ? Math.min(minWidth.value, baseRect.width) : minWidth.value),
|
|
286
|
-
maxWidth: toStyleSizeValue(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),
|
|
287
|
-
maxHeight: toStyleSizeValue(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
|
|
288
|
-
});
|
|
289
|
-
return {
|
|
290
|
-
available,
|
|
291
|
-
contentRect
|
|
292
|
-
};
|
|
293
|
-
}
|
|
294
|
-
watch(() => [props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateCoordinate());
|
|
295
|
-
nextTick(() => {
|
|
296
|
-
const result = updateCoordinate();
|
|
297
|
-
if (!result) return;
|
|
298
|
-
const {
|
|
299
|
-
available,
|
|
300
|
-
contentRect
|
|
301
|
-
} = result;
|
|
302
|
-
if (contentRect.height > available.y) {
|
|
303
|
-
requestAnimationFrame(() => {
|
|
304
|
-
updateCoordinate();
|
|
305
|
-
requestAnimationFrame(() => {
|
|
306
|
-
updateCoordinate();
|
|
307
|
-
});
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
});
|
|
311
|
-
return {
|
|
312
|
-
updateCoordinate
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
//# sourceMappingURL=levitation.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"levitation.mjs","names":["computed","nextTick","onScopeDispose","ref","watch","flipAlign","flipCorner","flipSide","getAxis","parseAnchor","clamp","$computed","MutableRect","getOverflow","getScrollParents","getBoundingPureRect","pixelCeil","pixelRound","toStyleSizeValue","anchorToPoint","getOffset","applyLevitation","props","state","coordinate","coordinateStyles","contentEl","base","active","isRtl","minWidth","minHeight","maxWidth","maxHeight","map","key","val","parseFloat","isNaN","Infinity","offset","Array","isArray","split","length","push","viewportMargin","observe","resizeObserver","ResizeObserver","updateCoordinate","_ref","_ref2","neoBaseEl","neoContentEl","oldBaseEl","oldContentEl","nodeType","unobserve","immediate","disconnect","getIgnoreInsetRect","el","rect","x","style","left","y","top","$base","value","$content","requestAnimationFrame","baseRect","width","height","getBoundingClientRect","contentRect","scrollParents","document","documentElement","viewport","reduce","box","scrollBox","clientWidth","clientHeight","Math","max","min","right","bottom","undefined","preferredAnchor","preferredOrigin","location","position","align","parsedAnchor","parsedOrigin","origin","side","placement","anchor","checkOverflow","_placement","targetPoint","contentPoint","overflows","available","flipped","resets","_x","_y","axis","hasOverflowX","before","after","hasOverflowY","reset","forEach","newPlacement","flip","newOverflows","Object","assign","transformOrigin","result"],"sources":["../../../src/composables/coordinate/levitation.ts"],"sourcesContent":["import type { CSSProperties, Ref } from 'vue';\r\nimport { computed, nextTick, onScopeDispose, ref, watch } from 'vue';\r\n\r\nimport {\r\n type Anchor,\r\n flipAlign,\r\n flipCorner,\r\n flipSide,\r\n getAxis,\r\n parseAnchor,\r\n} from '@/util/anchor';\r\nimport { clamp } from '@/util/common';\r\nimport { $computed } from '@/util/reactivity';\r\nimport { MutableRect, Rect, getOverflow } from '@/util/rect';\r\nimport { getScrollParents } from '@/util/scroll';\r\nimport {\r\n getBoundingPureRect,\r\n pixelCeil,\r\n pixelRound,\r\n toStyleSizeValue,\r\n} from '@/util/ui';\r\n\r\nimport { CoordinateState } from './types';\r\nimport { anchorToPoint, getOffset } from './utils/point';\r\n\r\nexport function applyLevitation(\r\n props: any,\r\n state: CoordinateState,\r\n coordinate: Ref<Rect | undefined>,\r\n coordinateStyles: Ref<CSSProperties>,\r\n) {\r\n const { contentEl, base, active } = state;\r\n\r\n const isRtl = ref(false);\r\n\r\n /* Content Limitations */\r\n const [minWidth, minHeight, maxWidth, maxHeight] = (\r\n ['minWidth', 'minHeight', 'maxWidth', 'maxHeight'] as const\r\n ).map((key) => {\r\n return computed(() => {\r\n const val = parseFloat(props[key]!);\r\n return isNaN(val) ? Infinity : val;\r\n });\r\n });\r\n\r\n /* Offset */\r\n const offset = computed(() => {\r\n if (Array.isArray(props.offset)) {\r\n return props.offset;\r\n }\r\n if (typeof props.offset === 'string') {\r\n const offset = props.offset.split(' ').map(parseFloat);\r\n if (offset.length < 2) offset.push(0);\r\n return offset;\r\n }\r\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];\r\n });\r\n\r\n /* Viewport Margin */\r\n const viewportMargin = computed(() => {\r\n if (Array.isArray(props.viewportMargin)) {\r\n return props.viewportMargin;\r\n }\r\n if (typeof props.viewportMargin === 'string') {\r\n const offset = props.viewportMargin.split(' ').map(parseFloat);\r\n if (offset.length < 2) offset.push(0);\r\n return offset;\r\n }\r\n return typeof props.viewportMargin === 'number'\r\n ? [props.viewportMargin, 0]\r\n : [0, 0];\r\n });\r\n\r\n /* Observing Update */\r\n let observe = false;\r\n const resizeObserver = new ResizeObserver(() => {\r\n if (observe) updateCoordinate();\r\n });\r\n\r\n watch(\r\n [state.base, state.contentEl],\r\n ([neoBaseEl, neoContentEl], [oldBaseEl, oldContentEl]) => {\r\n if (oldBaseEl && !Array.isArray(oldBaseEl) && oldBaseEl.nodeType === 1)\r\n resizeObserver.unobserve(oldBaseEl);\r\n if (neoBaseEl && !Array.isArray(neoBaseEl) && neoBaseEl.nodeType === 1)\r\n resizeObserver.observe(neoBaseEl);\r\n\r\n if (oldContentEl) resizeObserver.unobserve(oldContentEl);\r\n if (neoContentEl) resizeObserver.observe(neoContentEl);\r\n },\r\n { immediate: true },\r\n );\r\n\r\n onScopeDispose(() => {\r\n resizeObserver.disconnect();\r\n });\r\n\r\n function getIgnoreInsetRect(el: HTMLElement) {\r\n const rect = getBoundingPureRect(el);\r\n rect.x -= parseFloat(el.style.left || '0');\r\n rect.y -= parseFloat(el.style.top || '0');\r\n return rect;\r\n }\r\n\r\n function updateCoordinate(): any {\r\n observe = false;\r\n const $base = base.value;\r\n const $content = contentEl.value;\r\n requestAnimationFrame(() => {\r\n requestAnimationFrame(() => (observe = true));\r\n });\r\n\r\n if (!$base || !$content) return;\r\n\r\n const baseRect = Array.isArray($base)\r\n ? new MutableRect({\r\n x: $base?.[0] ?? 0,\r\n y: $base?.[1] ?? 0,\r\n width: 0,\r\n height: 0,\r\n })\r\n : $base.getBoundingClientRect();\r\n const contentRect = getIgnoreInsetRect($content);\r\n const scrollParents = getScrollParents($content);\r\n\r\n if (scrollParents.length < 1) {\r\n scrollParents.push(document.documentElement);\r\n }\r\n\r\n /**\r\n * Viewport area\r\n */\r\n const viewport = scrollParents.reduce<MutableRect>(\r\n (box: MutableRect | undefined, el) => {\r\n const rect = el.getBoundingClientRect();\r\n const scrollBox = new MutableRect({\r\n x: el === document.documentElement ? 0 : rect.x,\r\n y: el === document.documentElement ? 0 : rect.y,\r\n width: el.clientWidth,\r\n height: el.clientHeight,\r\n });\r\n\r\n if (box) {\r\n return new MutableRect({\r\n x: Math.max(box.left, scrollBox.left),\r\n y: Math.max(box.top, scrollBox.top),\r\n width:\r\n Math.min(box.right, scrollBox.right) -\r\n Math.max(box.left, scrollBox.left),\r\n height:\r\n Math.min(box.bottom, scrollBox.bottom) -\r\n Math.max(box.top, scrollBox.top),\r\n });\r\n }\r\n return scrollBox;\r\n },\r\n undefined!,\r\n );\r\n viewport.x += viewportMargin.value[0];\r\n viewport.y += viewportMargin.value[1];\r\n viewport.width -= viewportMargin.value[0] * 2;\r\n viewport.height -= viewportMargin.value[1] * 2;\r\n\r\n const { preferredAnchor, preferredOrigin } = $computed(() => {\r\n const location = `${props.position} ${props.align}` as Anchor;\r\n const parsedAnchor = parseAnchor(location, false);\r\n const parsedOrigin =\r\n props.origin === 'overlap'\r\n ? parsedAnchor\r\n : props.origin === 'auto'\r\n ? flipSide(parsedAnchor)\r\n : parseAnchor(props.origin, false);\r\n\r\n // Some combinations of props may produce an invalid origin\r\n if (\r\n parsedAnchor.side === parsedOrigin.side &&\r\n parsedAnchor.align === flipAlign(parsedOrigin).align\r\n ) {\r\n return {\r\n preferredAnchor: flipCorner(parsedAnchor),\r\n preferredOrigin: flipCorner(parsedOrigin),\r\n };\r\n } else {\r\n return {\r\n preferredAnchor: parsedAnchor,\r\n preferredOrigin: parsedOrigin,\r\n };\r\n }\r\n });\r\n\r\n let placement = {\r\n anchor: preferredAnchor.value,\r\n origin: preferredOrigin.value,\r\n };\r\n\r\n function checkOverflow(_placement: typeof placement) {\r\n const box = new MutableRect(contentRect);\r\n const targetPoint = anchorToPoint(_placement.anchor, baseRect);\r\n const contentPoint = anchorToPoint(_placement.origin, box);\r\n\r\n let { x, y } = getOffset(targetPoint, contentPoint);\r\n\r\n switch (_placement.anchor.side) {\r\n case 'top':\r\n y -= offset.value[0];\r\n break;\r\n case 'bottom':\r\n y += offset.value[0];\r\n break;\r\n case 'left':\r\n x -= offset.value[0];\r\n break;\r\n case 'right':\r\n x += offset.value[0];\r\n break;\r\n }\r\n\r\n switch (_placement.anchor.align) {\r\n case 'top':\r\n y -= offset.value[1];\r\n break;\r\n case 'bottom':\r\n y += offset.value[1];\r\n break;\r\n case 'left':\r\n x -= offset.value[1];\r\n break;\r\n case 'right':\r\n x += offset.value[1];\r\n break;\r\n }\r\n\r\n box.x += x;\r\n box.y += y;\r\n\r\n box.width = Math.min(box.width, maxWidth.value);\r\n box.height = Math.min(box.height, maxHeight.value);\r\n\r\n const overflows = getOverflow(box, viewport);\r\n\r\n return { overflows, x, y };\r\n }\r\n\r\n let x = 0;\r\n let y = 0;\r\n const available = { x: 0, y: 0 };\r\n const flipped = { x: false, y: false };\r\n let resets = -1;\r\n while (true) {\r\n if (resets++ > 10) {\r\n break;\r\n }\r\n\r\n const { x: _x, y: _y, overflows } = checkOverflow(placement);\r\n\r\n x += _x;\r\n y += _y;\r\n\r\n contentRect.x += _x;\r\n contentRect.y += _y;\r\n\r\n // flip\r\n {\r\n const axis = getAxis(placement.anchor);\r\n const hasOverflowX = overflows.x.before || overflows.x.after;\r\n const hasOverflowY = overflows.y.before || overflows.y.after;\r\n\r\n let reset = false;\r\n ['x', 'y'].forEach((key) => {\r\n if (\r\n (key === 'x' && hasOverflowX && !flipped.x) ||\r\n (key === 'y' && hasOverflowY && !flipped.y)\r\n ) {\r\n const newPlacement = {\r\n anchor: { ...placement.anchor },\r\n origin: { ...placement.origin },\r\n };\r\n const flip =\r\n key === 'x'\r\n ? axis === 'y'\r\n ? flipAlign\r\n : flipSide\r\n : axis === 'y'\r\n ? flipSide\r\n : flipAlign;\r\n newPlacement.anchor = flip(newPlacement.anchor);\r\n newPlacement.origin = flip(newPlacement.origin);\r\n const { overflows: newOverflows } = checkOverflow(newPlacement);\r\n if (\r\n (newOverflows[key].before <= overflows[key].before &&\r\n newOverflows[key].after <= overflows[key].after) ||\r\n newOverflows[key].before + newOverflows[key].after <\r\n (overflows[key].before + overflows[key].after) / 2\r\n ) {\r\n placement = newPlacement;\r\n reset = flipped[key] = true;\r\n }\r\n }\r\n });\r\n if (reset) continue;\r\n }\r\n\r\n // shift\r\n if (overflows.x.before) {\r\n x += overflows.x.before;\r\n contentRect.x += overflows.x.before;\r\n }\r\n if (overflows.x.after) {\r\n x -= overflows.x.after;\r\n contentRect.x -= overflows.x.after;\r\n }\r\n if (overflows.y.before) {\r\n y += overflows.y.before;\r\n contentRect.y += overflows.y.before;\r\n }\r\n if (overflows.y.after) {\r\n y -= overflows.y.after;\r\n contentRect.y -= overflows.y.after;\r\n }\r\n\r\n // size\r\n {\r\n const overflows = getOverflow(contentRect, viewport);\r\n available.x = viewport.width - overflows.x.before - overflows.x.after;\r\n available.y = viewport.height - overflows.y.before - overflows.y.after;\r\n\r\n x += overflows.x.before;\r\n contentRect.x += overflows.x.before;\r\n y += overflows.y.before;\r\n contentRect.y += overflows.y.before;\r\n }\r\n\r\n break;\r\n }\r\n\r\n const axis = getAxis(placement.anchor);\r\n\r\n Object.assign(coordinateStyles.value, {\r\n '--y-levitation-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,\r\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\r\n top: toStyleSizeValue(pixelRound(y)),\r\n left: isRtl.value ? undefined : toStyleSizeValue(pixelRound(x)),\r\n right: isRtl.value ? toStyleSizeValue(pixelRound(-x)) : undefined,\r\n minWidth: toStyleSizeValue(\r\n axis === 'y'\r\n ? Math.min(minWidth.value, baseRect.width)\r\n : minWidth.value,\r\n ),\r\n maxWidth: toStyleSizeValue(\r\n pixelCeil(\r\n clamp(\r\n available.x,\r\n minWidth.value === Infinity ? 0 : minWidth.value,\r\n maxWidth.value,\r\n ),\r\n ),\r\n ),\r\n maxHeight: toStyleSizeValue(\r\n pixelCeil(\r\n clamp(\r\n available.y,\r\n minHeight.value === Infinity ? 0 : minHeight.value,\r\n maxHeight.value,\r\n ),\r\n ),\r\n ),\r\n });\r\n\r\n return {\r\n available,\r\n contentRect,\r\n };\r\n }\r\n\r\n watch(\r\n () => [\r\n props.offset,\r\n props.minWidth,\r\n props.minHeight,\r\n props.maxWidth,\r\n props.maxHeight,\r\n ],\r\n () => updateCoordinate(),\r\n );\r\n\r\n nextTick(() => {\r\n const result = updateCoordinate();\r\n if (!result) return;\r\n const { available, contentRect } = result;\r\n if (contentRect.height > available.y) {\r\n requestAnimationFrame(() => {\r\n updateCoordinate();\r\n requestAnimationFrame(() => {\r\n updateCoordinate();\r\n });\r\n });\r\n }\r\n });\r\n\r\n return {\r\n updateCoordinate,\r\n };\r\n}\r\n"],"mappings":"AACA,SAASA,QAAQ,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAInEC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,OAAO,EACPC,WAAW;AAAA,SAEJC,KAAK;AAAA,SACLC,SAAS;AAAA,SACTC,WAAW,EAAQC,WAAW;AAAA,SAC9BC,gBAAgB;AAAA,SAEvBC,mBAAmB,EACnBC,SAAS,EACTC,UAAU,EACVC,gBAAgB;AAAA,SAITC,aAAa,EAAEC,SAAS;AAEjC,OAAO,SAASC,eAAeA,CAC7BC,KAAU,EACVC,KAAsB,EACtBC,UAAiC,EACjCC,gBAAoC,EACpC;EACA,MAAM;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAGL,KAAK;EAEzC,MAAMM,KAAK,GAAG1B,GAAG,CAAC,KAAK,CAAC;;EAExB;EACA,MAAM,CAAC2B,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,CAAC,GAC9C,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAClDC,GAAG,CAAEC,GAAG,IAAK;IACb,OAAOnC,QAAQ,CAAC,MAAM;MACpB,MAAMoC,GAAG,GAAGC,UAAU,CAACf,KAAK,CAACa,GAAG,CAAE,CAAC;MACnC,OAAOG,KAAK,CAACF,GAAG,CAAC,GAAGG,QAAQ,GAAGH,GAAG;IACpC,CAAC,CAAC;EACJ,CAAC,CAAC;;EAEF;EACA,MAAMI,MAAM,GAAGxC,QAAQ,CAAC,MAAM;IAC5B,IAAIyC,KAAK,CAACC,OAAO,CAACpB,KAAK,CAACkB,MAAM,CAAC,EAAE;MAC/B,OAAOlB,KAAK,CAACkB,MAAM;IACrB;IACA,IAAI,OAAOlB,KAAK,CAACkB,MAAM,KAAK,QAAQ,EAAE;MACpC,MAAMA,MAAM,GAAGlB,KAAK,CAACkB,MAAM,CAACG,KAAK,CAAC,GAAG,CAAC,CAACT,GAAG,CAACG,UAAU,CAAC;MACtD,IAAIG,MAAM,CAACI,MAAM,GAAG,CAAC,EAAEJ,MAAM,CAACK,IAAI,CAAC,CAAC,CAAC;MACrC,OAAOL,MAAM;IACf;IACA,OAAO,OAAOlB,KAAK,CAACkB,MAAM,KAAK,QAAQ,GAAG,CAAClB,KAAK,CAACkB,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;EACtE,CAAC,CAAC;;EAEF;EACA,MAAMM,cAAc,GAAG9C,QAAQ,CAAC,MAAM;IACpC,IAAIyC,KAAK,CAACC,OAAO,CAACpB,KAAK,CAACwB,cAAc,CAAC,EAAE;MACvC,OAAOxB,KAAK,CAACwB,cAAc;IAC7B;IACA,IAAI,OAAOxB,KAAK,CAACwB,cAAc,KAAK,QAAQ,EAAE;MAC5C,MAAMN,MAAM,GAAGlB,KAAK,CAACwB,cAAc,CAACH,KAAK,CAAC,GAAG,CAAC,CAACT,GAAG,CAACG,UAAU,CAAC;MAC9D,IAAIG,MAAM,CAACI,MAAM,GAAG,CAAC,EAAEJ,MAAM,CAACK,IAAI,CAAC,CAAC,CAAC;MACrC,OAAOL,MAAM;IACf;IACA,OAAO,OAAOlB,KAAK,CAACwB,cAAc,KAAK,QAAQ,GAC3C,CAACxB,KAAK,CAACwB,cAAc,EAAE,CAAC,CAAC,GACzB,CAAC,CAAC,EAAE,CAAC,CAAC;EACZ,CAAC,CAAC;;EAEF;EACA,IAAIC,OAAO,GAAG,KAAK;EACnB,MAAMC,cAAc,GAAG,IAAIC,cAAc,CAAC,MAAM;IAC9C,IAAIF,OAAO,EAAEG,gBAAgB,CAAC,CAAC;EACjC,CAAC,CAAC;EAEF9C,KAAK,CACH,CAACmB,KAAK,CAACI,IAAI,EAAEJ,KAAK,CAACG,SAAS,CAAC,EAC7B,CAAAyB,IAAA,EAAAC,KAAA,KAA0D;IAAA,IAAzD,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAAH,IAAA;IAAA,IAAE,CAACI,SAAS,EAAEC,YAAY,CAAC,GAAAJ,KAAA;IACnD,IAAIG,SAAS,IAAI,CAACd,KAAK,CAACC,OAAO,CAACa,SAAS,CAAC,IAAIA,SAAS,CAACE,QAAQ,KAAK,CAAC,EACpET,cAAc,CAACU,SAAS,CAACH,SAAS,CAAC;IACrC,IAAIF,SAAS,IAAI,CAACZ,KAAK,CAACC,OAAO,CAACW,SAAS,CAAC,IAAIA,SAAS,CAACI,QAAQ,KAAK,CAAC,EACpET,cAAc,CAACD,OAAO,CAACM,SAAS,CAAC;IAEnC,IAAIG,YAAY,EAAER,cAAc,CAACU,SAAS,CAACF,YAAY,CAAC;IACxD,IAAIF,YAAY,EAAEN,cAAc,CAACD,OAAO,CAACO,YAAY,CAAC;EACxD,CAAC,EACD;IAAEK,SAAS,EAAE;EAAK,CACpB,CAAC;EAEDzD,cAAc,CAAC,MAAM;IACnB8C,cAAc,CAACY,UAAU,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEF,SAASC,kBAAkBA,CAACC,EAAe,EAAE;IAC3C,MAAMC,IAAI,GAAGhD,mBAAmB,CAAC+C,EAAE,CAAC;IACpCC,IAAI,CAACC,CAAC,IAAI3B,UAAU,CAACyB,EAAE,CAACG,KAAK,CAACC,IAAI,IAAI,GAAG,CAAC;IAC1CH,IAAI,CAACI,CAAC,IAAI9B,UAAU,CAACyB,EAAE,CAACG,KAAK,CAACG,GAAG,IAAI,GAAG,CAAC;IACzC,OAAOL,IAAI;EACb;EAEA,SAASb,gBAAgBA,CAAA,EAAQ;IAC/BH,OAAO,GAAG,KAAK;IACf,MAAMsB,KAAK,GAAG1C,IAAI,CAAC2C,KAAK;IACxB,MAAMC,QAAQ,GAAG7C,SAAS,CAAC4C,KAAK;IAChCE,qBAAqB,CAAC,MAAM;MAC1BA,qBAAqB,CAAC,MAAOzB,OAAO,GAAG,IAAK,CAAC;IAC/C,CAAC,CAAC;IAEF,IAAI,CAACsB,KAAK,IAAI,CAACE,QAAQ,EAAE;IAEzB,MAAME,QAAQ,GAAGhC,KAAK,CAACC,OAAO,CAAC2B,KAAK,CAAC,GACjC,IAAIzD,WAAW,CAAC;MACdoD,CAAC,EAAEK,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;MAClBF,CAAC,EAAEE,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;MAClBK,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACV,CAAC,CAAC,GACFN,KAAK,CAACO,qBAAqB,CAAC,CAAC;IACjC,MAAMC,WAAW,GAAGhB,kBAAkB,CAACU,QAAQ,CAAC;IAChD,MAAMO,aAAa,GAAGhE,gBAAgB,CAACyD,QAAQ,CAAC;IAEhD,IAAIO,aAAa,CAAClC,MAAM,GAAG,CAAC,EAAE;MAC5BkC,aAAa,CAACjC,IAAI,CAACkC,QAAQ,CAACC,eAAe,CAAC;IAC9C;;IAEA;AACJ;AACA;IACI,MAAMC,QAAQ,GAAGH,aAAa,CAACI,MAAM,CACnC,CAACC,GAA4B,EAAErB,EAAE,KAAK;MACpC,MAAMC,IAAI,GAAGD,EAAE,CAACc,qBAAqB,CAAC,CAAC;MACvC,MAAMQ,SAAS,GAAG,IAAIxE,WAAW,CAAC;QAChCoD,CAAC,EAAEF,EAAE,KAAKiB,QAAQ,CAACC,eAAe,GAAG,CAAC,GAAGjB,IAAI,CAACC,CAAC;QAC/CG,CAAC,EAAEL,EAAE,KAAKiB,QAAQ,CAACC,eAAe,GAAG,CAAC,GAAGjB,IAAI,CAACI,CAAC;QAC/CO,KAAK,EAAEZ,EAAE,CAACuB,WAAW;QACrBV,MAAM,EAAEb,EAAE,CAACwB;MACb,CAAC,CAAC;MAEF,IAAIH,GAAG,EAAE;QACP,OAAO,IAAIvE,WAAW,CAAC;UACrBoD,CAAC,EAAEuB,IAAI,CAACC,GAAG,CAACL,GAAG,CAACjB,IAAI,EAAEkB,SAAS,CAAClB,IAAI,CAAC;UACrCC,CAAC,EAAEoB,IAAI,CAACC,GAAG,CAACL,GAAG,CAACf,GAAG,EAAEgB,SAAS,CAAChB,GAAG,CAAC;UACnCM,KAAK,EACHa,IAAI,CAACE,GAAG,CAACN,GAAG,CAACO,KAAK,EAAEN,SAAS,CAACM,KAAK,CAAC,GACpCH,IAAI,CAACC,GAAG,CAACL,GAAG,CAACjB,IAAI,EAAEkB,SAAS,CAAClB,IAAI,CAAC;UACpCS,MAAM,EACJY,IAAI,CAACE,GAAG,CAACN,GAAG,CAACQ,MAAM,EAAEP,SAAS,CAACO,MAAM,CAAC,GACtCJ,IAAI,CAACC,GAAG,CAACL,GAAG,CAACf,GAAG,EAAEgB,SAAS,CAAChB,GAAG;QACnC,CAAC,CAAC;MACJ;MACA,OAAOgB,SAAS;IAClB,CAAC,EACDQ,SACF,CAAC;IACDX,QAAQ,CAACjB,CAAC,IAAIlB,cAAc,CAACwB,KAAK,CAAC,CAAC,CAAC;IACrCW,QAAQ,CAACd,CAAC,IAAIrB,cAAc,CAACwB,KAAK,CAAC,CAAC,CAAC;IACrCW,QAAQ,CAACP,KAAK,IAAI5B,cAAc,CAACwB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7CW,QAAQ,CAACN,MAAM,IAAI7B,cAAc,CAACwB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAE9C,MAAM;MAAEuB,eAAe;MAAEC;IAAgB,CAAC,GAAGnF,SAAS,CAAC,MAAM;MAC3D,MAAMoF,QAAQ,GAAI,GAAEzE,KAAK,CAAC0E,QAAS,IAAG1E,KAAK,CAAC2E,KAAM,EAAW;MAC7D,MAAMC,YAAY,GAAGzF,WAAW,CAACsF,QAAQ,EAAE,KAAK,CAAC;MACjD,MAAMI,YAAY,GAChB7E,KAAK,CAAC8E,MAAM,KAAK,SAAS,GACtBF,YAAY,GACZ5E,KAAK,CAAC8E,MAAM,KAAK,MAAM,GACrB7F,QAAQ,CAAC2F,YAAY,CAAC,GACtBzF,WAAW,CAACa,KAAK,CAAC8E,MAAM,EAAE,KAAK,CAAC;;MAExC;MACA,IACEF,YAAY,CAACG,IAAI,KAAKF,YAAY,CAACE,IAAI,IACvCH,YAAY,CAACD,KAAK,KAAK5F,SAAS,CAAC8F,YAAY,CAAC,CAACF,KAAK,EACpD;QACA,OAAO;UACLJ,eAAe,EAAEvF,UAAU,CAAC4F,YAAY,CAAC;UACzCJ,eAAe,EAAExF,UAAU,CAAC6F,YAAY;QAC1C,CAAC;MACH,CAAC,MAAM;QACL,OAAO;UACLN,eAAe,EAAEK,YAAY;UAC7BJ,eAAe,EAAEK;QACnB,CAAC;MACH;IACF,CAAC,CAAC;IAEF,IAAIG,SAAS,GAAG;MACdC,MAAM,EAAEV,eAAe,CAACvB,KAAK;MAC7B8B,MAAM,EAAEN,eAAe,CAACxB;IAC1B,CAAC;IAED,SAASkC,aAAaA,CAACC,UAA4B,EAAE;MACnD,MAAMtB,GAAG,GAAG,IAAIvE,WAAW,CAACiE,WAAW,CAAC;MACxC,MAAM6B,WAAW,GAAGvF,aAAa,CAACsF,UAAU,CAACF,MAAM,EAAE9B,QAAQ,CAAC;MAC9D,MAAMkC,YAAY,GAAGxF,aAAa,CAACsF,UAAU,CAACL,MAAM,EAAEjB,GAAG,CAAC;MAE1D,IAAI;QAAEnB,CAAC;QAAEG;MAAE,CAAC,GAAG/C,SAAS,CAACsF,WAAW,EAAEC,YAAY,CAAC;MAEnD,QAAQF,UAAU,CAACF,MAAM,CAACF,IAAI;QAC5B,KAAK,KAAK;UACRlC,CAAC,IAAI3B,MAAM,CAAC8B,KAAK,CAAC,CAAC,CAAC;UACpB;QACF,KAAK,QAAQ;UACXH,CAAC,IAAI3B,MAAM,CAAC8B,KAAK,CAAC,CAAC,CAAC;UACpB;QACF,KAAK,MAAM;UACTN,CAAC,IAAIxB,MAAM,CAAC8B,KAAK,CAAC,CAAC,CAAC;UACpB;QACF,KAAK,OAAO;UACVN,CAAC,IAAIxB,MAAM,CAAC8B,KAAK,CAAC,CAAC,CAAC;UACpB;MACJ;MAEA,QAAQmC,UAAU,CAACF,MAAM,CAACN,KAAK;QAC7B,KAAK,KAAK;UACR9B,CAAC,IAAI3B,MAAM,CAAC8B,KAAK,CAAC,CAAC,CAAC;UACpB;QACF,KAAK,QAAQ;UACXH,CAAC,IAAI3B,MAAM,CAAC8B,KAAK,CAAC,CAAC,CAAC;UACpB;QACF,KAAK,MAAM;UACTN,CAAC,IAAIxB,MAAM,CAAC8B,KAAK,CAAC,CAAC,CAAC;UACpB;QACF,KAAK,OAAO;UACVN,CAAC,IAAIxB,MAAM,CAAC8B,KAAK,CAAC,CAAC,CAAC;UACpB;MACJ;MAEAa,GAAG,CAACnB,CAAC,IAAIA,CAAC;MACVmB,GAAG,CAAChB,CAAC,IAAIA,CAAC;MAEVgB,GAAG,CAACT,KAAK,GAAGa,IAAI,CAACE,GAAG,CAACN,GAAG,CAACT,KAAK,EAAE1C,QAAQ,CAACsC,KAAK,CAAC;MAC/Ca,GAAG,CAACR,MAAM,GAAGY,IAAI,CAACE,GAAG,CAACN,GAAG,CAACR,MAAM,EAAE1C,SAAS,CAACqC,KAAK,CAAC;MAElD,MAAMsC,SAAS,GAAG/F,WAAW,CAACsE,GAAG,EAAEF,QAAQ,CAAC;MAE5C,OAAO;QAAE2B,SAAS;QAAE5C,CAAC;QAAEG;MAAE,CAAC;IAC5B;IAEA,IAAIH,CAAC,GAAG,CAAC;IACT,IAAIG,CAAC,GAAG,CAAC;IACT,MAAM0C,SAAS,GAAG;MAAE7C,CAAC,EAAE,CAAC;MAAEG,CAAC,EAAE;IAAE,CAAC;IAChC,MAAM2C,OAAO,GAAG;MAAE9C,CAAC,EAAE,KAAK;MAAEG,CAAC,EAAE;IAAM,CAAC;IACtC,IAAI4C,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,IAAI,EAAE;MACX,IAAIA,MAAM,EAAE,GAAG,EAAE,EAAE;QACjB;MACF;MAEA,MAAM;QAAE/C,CAAC,EAAEgD,EAAE;QAAE7C,CAAC,EAAE8C,EAAE;QAAEL;MAAU,CAAC,GAAGJ,aAAa,CAACF,SAAS,CAAC;MAE5DtC,CAAC,IAAIgD,EAAE;MACP7C,CAAC,IAAI8C,EAAE;MAEPpC,WAAW,CAACb,CAAC,IAAIgD,EAAE;MACnBnC,WAAW,CAACV,CAAC,IAAI8C,EAAE;;MAEnB;MACA;QACE,MAAMC,IAAI,GAAG1G,OAAO,CAAC8F,SAAS,CAACC,MAAM,CAAC;QACtC,MAAMY,YAAY,GAAGP,SAAS,CAAC5C,CAAC,CAACoD,MAAM,IAAIR,SAAS,CAAC5C,CAAC,CAACqD,KAAK;QAC5D,MAAMC,YAAY,GAAGV,SAAS,CAACzC,CAAC,CAACiD,MAAM,IAAIR,SAAS,CAACzC,CAAC,CAACkD,KAAK;QAE5D,IAAIE,KAAK,GAAG,KAAK;QACjB,CAAC,GAAG,EAAE,GAAG,CAAC,CAACC,OAAO,CAAErF,GAAG,IAAK;UAC1B,IACGA,GAAG,KAAK,GAAG,IAAIgF,YAAY,IAAI,CAACL,OAAO,CAAC9C,CAAC,IACzC7B,GAAG,KAAK,GAAG,IAAImF,YAAY,IAAI,CAACR,OAAO,CAAC3C,CAAE,EAC3C;YACA,MAAMsD,YAAY,GAAG;cACnBlB,MAAM,EAAE;gBAAE,GAAGD,SAAS,CAACC;cAAO,CAAC;cAC/BH,MAAM,EAAE;gBAAE,GAAGE,SAAS,CAACF;cAAO;YAChC,CAAC;YACD,MAAMsB,IAAI,GACRvF,GAAG,KAAK,GAAG,GACP+E,IAAI,KAAK,GAAG,GACV7G,SAAS,GACTE,QAAQ,GACV2G,IAAI,KAAK,GAAG,GACV3G,QAAQ,GACRF,SAAS;YACjBoH,YAAY,CAAClB,MAAM,GAAGmB,IAAI,CAACD,YAAY,CAAClB,MAAM,CAAC;YAC/CkB,YAAY,CAACrB,MAAM,GAAGsB,IAAI,CAACD,YAAY,CAACrB,MAAM,CAAC;YAC/C,MAAM;cAAEQ,SAAS,EAAEe;YAAa,CAAC,GAAGnB,aAAa,CAACiB,YAAY,CAAC;YAC/D,IACGE,YAAY,CAACxF,GAAG,CAAC,CAACiF,MAAM,IAAIR,SAAS,CAACzE,GAAG,CAAC,CAACiF,MAAM,IAChDO,YAAY,CAACxF,GAAG,CAAC,CAACkF,KAAK,IAAIT,SAAS,CAACzE,GAAG,CAAC,CAACkF,KAAK,IACjDM,YAAY,CAACxF,GAAG,CAAC,CAACiF,MAAM,GAAGO,YAAY,CAACxF,GAAG,CAAC,CAACkF,KAAK,GAChD,CAACT,SAAS,CAACzE,GAAG,CAAC,CAACiF,MAAM,GAAGR,SAAS,CAACzE,GAAG,CAAC,CAACkF,KAAK,IAAI,CAAC,EACpD;cACAf,SAAS,GAAGmB,YAAY;cACxBF,KAAK,GAAGT,OAAO,CAAC3E,GAAG,CAAC,GAAG,IAAI;YAC7B;UACF;QACF,CAAC,CAAC;QACF,IAAIoF,KAAK,EAAE;MACb;;MAEA;MACA,IAAIX,SAAS,CAAC5C,CAAC,CAACoD,MAAM,EAAE;QACtBpD,CAAC,IAAI4C,SAAS,CAAC5C,CAAC,CAACoD,MAAM;QACvBvC,WAAW,CAACb,CAAC,IAAI4C,SAAS,CAAC5C,CAAC,CAACoD,MAAM;MACrC;MACA,IAAIR,SAAS,CAAC5C,CAAC,CAACqD,KAAK,EAAE;QACrBrD,CAAC,IAAI4C,SAAS,CAAC5C,CAAC,CAACqD,KAAK;QACtBxC,WAAW,CAACb,CAAC,IAAI4C,SAAS,CAAC5C,CAAC,CAACqD,KAAK;MACpC;MACA,IAAIT,SAAS,CAACzC,CAAC,CAACiD,MAAM,EAAE;QACtBjD,CAAC,IAAIyC,SAAS,CAACzC,CAAC,CAACiD,MAAM;QACvBvC,WAAW,CAACV,CAAC,IAAIyC,SAAS,CAACzC,CAAC,CAACiD,MAAM;MACrC;MACA,IAAIR,SAAS,CAACzC,CAAC,CAACkD,KAAK,EAAE;QACrBlD,CAAC,IAAIyC,SAAS,CAACzC,CAAC,CAACkD,KAAK;QACtBxC,WAAW,CAACV,CAAC,IAAIyC,SAAS,CAACzC,CAAC,CAACkD,KAAK;MACpC;;MAEA;MACA;QACE,MAAMT,SAAS,GAAG/F,WAAW,CAACgE,WAAW,EAAEI,QAAQ,CAAC;QACpD4B,SAAS,CAAC7C,CAAC,GAAGiB,QAAQ,CAACP,KAAK,GAAGkC,SAAS,CAAC5C,CAAC,CAACoD,MAAM,GAAGR,SAAS,CAAC5C,CAAC,CAACqD,KAAK;QACrER,SAAS,CAAC1C,CAAC,GAAGc,QAAQ,CAACN,MAAM,GAAGiC,SAAS,CAACzC,CAAC,CAACiD,MAAM,GAAGR,SAAS,CAACzC,CAAC,CAACkD,KAAK;QAEtErD,CAAC,IAAI4C,SAAS,CAAC5C,CAAC,CAACoD,MAAM;QACvBvC,WAAW,CAACb,CAAC,IAAI4C,SAAS,CAAC5C,CAAC,CAACoD,MAAM;QACnCjD,CAAC,IAAIyC,SAAS,CAACzC,CAAC,CAACiD,MAAM;QACvBvC,WAAW,CAACV,CAAC,IAAIyC,SAAS,CAACzC,CAAC,CAACiD,MAAM;MACrC;MAEA;IACF;IAEA,MAAMF,IAAI,GAAG1G,OAAO,CAAC8F,SAAS,CAACC,MAAM,CAAC;IAEtCqB,MAAM,CAACC,MAAM,CAACpG,gBAAgB,CAAC6C,KAAK,EAAE;MACpC,8BAA8B,EAAG,GAAEgC,SAAS,CAACC,MAAM,CAACF,IAAK,IAAGC,SAAS,CAACC,MAAM,CAACN,KAAM,EAAC;MACpF6B,eAAe,EAAG,GAAExB,SAAS,CAACF,MAAM,CAACC,IAAK,IAAGC,SAAS,CAACF,MAAM,CAACH,KAAM,EAAC;MACrE7B,GAAG,EAAElD,gBAAgB,CAACD,UAAU,CAACkD,CAAC,CAAC,CAAC;MACpCD,IAAI,EAAErC,KAAK,CAACyC,KAAK,GAAGsB,SAAS,GAAG1E,gBAAgB,CAACD,UAAU,CAAC+C,CAAC,CAAC,CAAC;MAC/D0B,KAAK,EAAE7D,KAAK,CAACyC,KAAK,GAAGpD,gBAAgB,CAACD,UAAU,CAAC,CAAC+C,CAAC,CAAC,CAAC,GAAG4B,SAAS;MACjE9D,QAAQ,EAAEZ,gBAAgB,CACxBgG,IAAI,KAAK,GAAG,GACR3B,IAAI,CAACE,GAAG,CAAC3D,QAAQ,CAACwC,KAAK,EAAEG,QAAQ,CAACC,KAAK,CAAC,GACxC5C,QAAQ,CAACwC,KACf,CAAC;MACDtC,QAAQ,EAAEd,gBAAgB,CACxBF,SAAS,CACPN,KAAK,CACHmG,SAAS,CAAC7C,CAAC,EACXlC,QAAQ,CAACwC,KAAK,KAAK/B,QAAQ,GAAG,CAAC,GAAGT,QAAQ,CAACwC,KAAK,EAChDtC,QAAQ,CAACsC,KACX,CACF,CACF,CAAC;MACDrC,SAAS,EAAEf,gBAAgB,CACzBF,SAAS,CACPN,KAAK,CACHmG,SAAS,CAAC1C,CAAC,EACXpC,SAAS,CAACuC,KAAK,KAAK/B,QAAQ,GAAG,CAAC,GAAGR,SAAS,CAACuC,KAAK,EAClDrC,SAAS,CAACqC,KACZ,CACF,CACF;IACF,CAAC,CAAC;IAEF,OAAO;MACLuC,SAAS;MACThC;IACF,CAAC;EACH;EAEAzE,KAAK,CACH,MAAM,CACJkB,KAAK,CAACkB,MAAM,EACZlB,KAAK,CAACQ,QAAQ,EACdR,KAAK,CAACS,SAAS,EACfT,KAAK,CAACU,QAAQ,EACdV,KAAK,CAACW,SAAS,CAChB,EACD,MAAMiB,gBAAgB,CAAC,CACzB,CAAC;EAEDjD,QAAQ,CAAC,MAAM;IACb,MAAM8H,MAAM,GAAG7E,gBAAgB,CAAC,CAAC;IACjC,IAAI,CAAC6E,MAAM,EAAE;IACb,MAAM;MAAElB,SAAS;MAAEhC;IAAY,CAAC,GAAGkD,MAAM;IACzC,IAAIlD,WAAW,CAACF,MAAM,GAAGkC,SAAS,CAAC1C,CAAC,EAAE;MACpCK,qBAAqB,CAAC,MAAM;QAC1BtB,gBAAgB,CAAC,CAAC;QAClBsB,qBAAqB,CAAC,MAAM;UAC1BtB,gBAAgB,CAAC,CAAC;QACpB,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EAEF,OAAO;IACLA;EACF,CAAC;AACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","names":[],"sources":["../../../src/composables/coordinate/types.ts"],"sourcesContent":["import type { Ref } from \"vue\";\r\n\r\nexport interface CoordinateState {\r\n contentEl: Ref<HTMLElement | undefined>;\r\n base: Ref<HTMLElement | [x: number, y: number] | undefined>;\r\n active: Ref<boolean>;\r\n}\r\n"],"mappings":""}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/** Convert a point in local space to viewport space */
|
|
2
|
-
export function elementToViewport(point, offset) {
|
|
3
|
-
return {
|
|
4
|
-
x: point.x + offset.x,
|
|
5
|
-
y: point.y + offset.y
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/** Convert a point in viewport space to local space */
|
|
10
|
-
export function viewportToElement(point, offset) {
|
|
11
|
-
return {
|
|
12
|
-
x: point.x - offset.x,
|
|
13
|
-
y: point.y - offset.y
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/** Get the difference between two points */
|
|
18
|
-
export function getOffset(a, b) {
|
|
19
|
-
return {
|
|
20
|
-
x: a.x - b.x,
|
|
21
|
-
y: a.y - b.y
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/** Convert an anchor object to a point in local space */
|
|
26
|
-
export function anchorToPoint(anchor, box) {
|
|
27
|
-
if (anchor.side === 'top' || anchor.side === 'bottom') {
|
|
28
|
-
const {
|
|
29
|
-
side,
|
|
30
|
-
align
|
|
31
|
-
} = anchor;
|
|
32
|
-
const x = align === 'left' ? 0 : align === 'center' ? box.width / 2 : align === 'right' ? box.width : align;
|
|
33
|
-
const y = side === 'top' ? 0 : side === 'bottom' ? box.height : side;
|
|
34
|
-
return elementToViewport({
|
|
35
|
-
x,
|
|
36
|
-
y
|
|
37
|
-
}, box);
|
|
38
|
-
} else if (anchor.side === 'left' || anchor.side === 'right') {
|
|
39
|
-
const {
|
|
40
|
-
side,
|
|
41
|
-
align
|
|
42
|
-
} = anchor;
|
|
43
|
-
const x = side === 'left' ? 0 : side === 'right' ? box.width : side;
|
|
44
|
-
const y = align === 'top' ? 0 : align === 'center' ? box.height / 2 : align === 'bottom' ? box.height : align;
|
|
45
|
-
return elementToViewport({
|
|
46
|
-
x,
|
|
47
|
-
y
|
|
48
|
-
}, box);
|
|
49
|
-
}
|
|
50
|
-
return elementToViewport({
|
|
51
|
-
x: box.width / 2,
|
|
52
|
-
y: box.height / 2
|
|
53
|
-
}, box);
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=point.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"point.mjs","names":["elementToViewport","point","offset","x","y","viewportToElement","getOffset","a","b","anchorToPoint","anchor","box","side","align","width","height"],"sources":["../../../../src/composables/coordinate/utils/point.ts"],"sourcesContent":["import { type ParsedAnchor } from '@/util/anchor';\r\nimport { type MutableRect } from '@/util/rect';\r\n\r\ntype Point = { x: number; y: number };\r\ndeclare class As<T extends string> {\r\n private as: T;\r\n}\r\ntype ElementPoint = Point & As<'element'>;\r\ntype ViewportPoint = Point & As<'viewport'>;\r\ntype Offset = Point & As<'offset'>;\r\n\r\n/** Convert a point in local space to viewport space */\r\nexport function elementToViewport(\r\n point: ElementPoint,\r\n offset: Offset | MutableRect,\r\n) {\r\n return {\r\n x: point.x + offset.x,\r\n y: point.y + offset.y,\r\n } as ViewportPoint;\r\n}\r\n\r\n/** Convert a point in viewport space to local space */\r\nexport function viewportToElement(\r\n point: ViewportPoint,\r\n offset: Offset | MutableRect,\r\n) {\r\n return {\r\n x: point.x - offset.x,\r\n y: point.y - offset.y,\r\n } as ElementPoint;\r\n}\r\n\r\n/** Get the difference between two points */\r\nexport function getOffset<T extends Point>(a: T, b: T) {\r\n return {\r\n x: a.x - b.x,\r\n y: a.y - b.y,\r\n } as Offset;\r\n}\r\n\r\n/** Convert an anchor object to a point in local space */\r\nexport function anchorToPoint(\r\n anchor: ParsedAnchor,\r\n box: MutableRect,\r\n): ViewportPoint {\r\n if (anchor.side === 'top' || anchor.side === 'bottom') {\r\n const { side, align } = anchor;\r\n\r\n const x: number =\r\n align === 'left'\r\n ? 0\r\n : align === 'center'\r\n ? box.width / 2\r\n : align === 'right'\r\n ? box.width\r\n : align;\r\n const y: number =\r\n side === 'top' ? 0 : side === 'bottom' ? box.height : side;\r\n\r\n return elementToViewport({ x, y } as ElementPoint, box);\r\n } else if (anchor.side === 'left' || anchor.side === 'right') {\r\n const { side, align } = anchor;\r\n\r\n const x: number = side === 'left' ? 0 : side === 'right' ? box.width : side;\r\n const y: number =\r\n align === 'top'\r\n ? 0\r\n : align === 'center'\r\n ? box.height / 2\r\n : align === 'bottom'\r\n ? box.height\r\n : align;\r\n\r\n return elementToViewport({ x, y } as ElementPoint, box);\r\n }\r\n\r\n return elementToViewport(\r\n {\r\n x: box.width / 2,\r\n y: box.height / 2,\r\n } as ElementPoint,\r\n box,\r\n );\r\n}\r\n"],"mappings":"AAWA;AACA,OAAO,SAASA,iBAAiBA,CAC/BC,KAAmB,EACnBC,MAA4B,EAC5B;EACA,OAAO;IACLC,CAAC,EAAEF,KAAK,CAACE,CAAC,GAAGD,MAAM,CAACC,CAAC;IACrBC,CAAC,EAAEH,KAAK,CAACG,CAAC,GAAGF,MAAM,CAACE;EACtB,CAAC;AACH;;AAEA;AACA,OAAO,SAASC,iBAAiBA,CAC/BJ,KAAoB,EACpBC,MAA4B,EAC5B;EACA,OAAO;IACLC,CAAC,EAAEF,KAAK,CAACE,CAAC,GAAGD,MAAM,CAACC,CAAC;IACrBC,CAAC,EAAEH,KAAK,CAACG,CAAC,GAAGF,MAAM,CAACE;EACtB,CAAC;AACH;;AAEA;AACA,OAAO,SAASE,SAASA,CAAkBC,CAAI,EAAEC,CAAI,EAAE;EACrD,OAAO;IACLL,CAAC,EAAEI,CAAC,CAACJ,CAAC,GAAGK,CAAC,CAACL,CAAC;IACZC,CAAC,EAAEG,CAAC,CAACH,CAAC,GAAGI,CAAC,CAACJ;EACb,CAAC;AACH;;AAEA;AACA,OAAO,SAASK,aAAaA,CAC3BC,MAAoB,EACpBC,GAAgB,EACD;EACf,IAAID,MAAM,CAACE,IAAI,KAAK,KAAK,IAAIF,MAAM,CAACE,IAAI,KAAK,QAAQ,EAAE;IACrD,MAAM;MAAEA,IAAI;MAAEC;IAAM,CAAC,GAAGH,MAAM;IAE9B,MAAMP,CAAS,GACbU,KAAK,KAAK,MAAM,GACZ,CAAC,GACDA,KAAK,KAAK,QAAQ,GAChBF,GAAG,CAACG,KAAK,GAAG,CAAC,GACbD,KAAK,KAAK,OAAO,GACfF,GAAG,CAACG,KAAK,GACTD,KAAK;IACf,MAAMT,CAAS,GACbQ,IAAI,KAAK,KAAK,GAAG,CAAC,GAAGA,IAAI,KAAK,QAAQ,GAAGD,GAAG,CAACI,MAAM,GAAGH,IAAI;IAE5D,OAAOZ,iBAAiB,CAAC;MAAEG,CAAC;MAAEC;IAAE,CAAC,EAAkBO,GAAG,CAAC;EACzD,CAAC,MAAM,IAAID,MAAM,CAACE,IAAI,KAAK,MAAM,IAAIF,MAAM,CAACE,IAAI,KAAK,OAAO,EAAE;IAC5D,MAAM;MAAEA,IAAI;MAAEC;IAAM,CAAC,GAAGH,MAAM;IAE9B,MAAMP,CAAS,GAAGS,IAAI,KAAK,MAAM,GAAG,CAAC,GAAGA,IAAI,KAAK,OAAO,GAAGD,GAAG,CAACG,KAAK,GAAGF,IAAI;IAC3E,MAAMR,CAAS,GACbS,KAAK,KAAK,KAAK,GACX,CAAC,GACDA,KAAK,KAAK,QAAQ,GAChBF,GAAG,CAACI,MAAM,GAAG,CAAC,GACdF,KAAK,KAAK,QAAQ,GAChBF,GAAG,CAACI,MAAM,GACVF,KAAK;IAEf,OAAOb,iBAAiB,CAAC;MAAEG,CAAC;MAAEC;IAAE,CAAC,EAAkBO,GAAG,CAAC;EACzD;EAEA,OAAOX,iBAAiB,CACtB;IACEG,CAAC,EAAEQ,GAAG,CAACG,KAAK,GAAG,CAAC;IAChBV,CAAC,EAAEO,GAAG,CAACI,MAAM,GAAG;EAClB,CAAC,EACDJ,GACF,CAAC;AACH"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { reactive, watch } from 'vue';
|
|
2
|
-
export function constructAdapter(options, locale) {
|
|
3
|
-
const instance = reactive(typeof options.adapter === 'function' ? new options.adapter({
|
|
4
|
-
locale: options.locale[locale.locale.value] ?? locale.locale.value,
|
|
5
|
-
formats: options.formats
|
|
6
|
-
}) : options.adapter);
|
|
7
|
-
watch(locale.locale, value => {
|
|
8
|
-
instance.locale = options.locale[value] ?? value ?? instance.locale;
|
|
9
|
-
});
|
|
10
|
-
return instance;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=factory.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.mjs","names":["reactive","watch","constructAdapter","options","locale","instance","adapter","value","formats"],"sources":["../../../src/composables/date/factory.ts"],"sourcesContent":["import { reactive, watch } from 'vue';\r\n\r\nimport { LocaleModule } from '@/i18n/types';\r\n\r\nexport function constructAdapter(options: any, locale: LocaleModule) {\r\n const instance = reactive(\r\n typeof options.adapter === 'function'\r\n ? new options.adapter({\r\n locale: options.locale[locale.locale.value] ?? locale.locale.value,\r\n formats: options.formats,\r\n })\r\n : options.adapter,\r\n );\r\n\r\n watch(locale.locale, (value) => {\r\n instance.locale = options.locale[value] ?? value ?? instance.locale;\r\n });\r\n\r\n return instance;\r\n}\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAIrC,OAAO,SAASC,gBAAgBA,CAACC,OAAY,EAAEC,MAAoB,EAAE;EACnE,MAAMC,QAAQ,GAAGL,QAAQ,CACvB,OAAOG,OAAO,CAACG,OAAO,KAAK,UAAU,GACjC,IAAIH,OAAO,CAACG,OAAO,CAAC;IAClBF,MAAM,EAAED,OAAO,CAACC,MAAM,CAACA,MAAM,CAACA,MAAM,CAACG,KAAK,CAAC,IAAIH,MAAM,CAACA,MAAM,CAACG,KAAK;IAClEC,OAAO,EAAEL,OAAO,CAACK;EACnB,CAAC,CAAC,GACFL,OAAO,CAACG,OACd,CAAC;EAEDL,KAAK,CAACG,MAAM,CAACA,MAAM,EAAGG,KAAK,IAAK;IAC9BF,QAAQ,CAACD,MAAM,GAAGD,OAAO,CAACC,MAAM,CAACG,KAAK,CAAC,IAAIA,KAAK,IAAIF,QAAQ,CAACD,MAAM;EACrE,CAAC,CAAC;EAEF,OAAOC,QAAQ;AACjB"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { inject } from 'vue';
|
|
2
|
-
import { useI18n } from "../i18n/index.mjs";
|
|
3
|
-
import { constructAdapter } from "./factory.mjs";
|
|
4
|
-
import { configureOptions } from "./setting.mjs";
|
|
5
|
-
export const YUYEON_DATE_KEY = Symbol.for('yuyeon.date');
|
|
6
|
-
export const YUYEON_DATE_OPTIONS_KEY = Symbol.for('yuyeon.date-options');
|
|
7
|
-
export function createDateModule(options, locale) {
|
|
8
|
-
const _options = configureOptions(options);
|
|
9
|
-
return {
|
|
10
|
-
options: _options,
|
|
11
|
-
instance: constructAdapter(_options, locale)
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export function useDate() {
|
|
15
|
-
const options = inject(YUYEON_DATE_OPTIONS_KEY);
|
|
16
|
-
if (!options) throw new Error('【yuyeon】 Not found provided "DateModule" for options');
|
|
17
|
-
const i18n = useI18n();
|
|
18
|
-
return constructAdapter(options, i18n);
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["inject","useI18n","constructAdapter","configureOptions","YUYEON_DATE_KEY","Symbol","for","YUYEON_DATE_OPTIONS_KEY","createDateModule","options","locale","_options","instance","useDate","Error","i18n"],"sources":["../../../src/composables/date/index.ts"],"sourcesContent":["import { inject } from 'vue';\r\n\r\nimport { LocaleModule } from '@/i18n/types';\r\n\r\nimport { useI18n } from '../i18n';\r\nimport { constructAdapter } from './factory';\r\nimport { configureOptions } from './setting';\r\nimport { DateInstance, DateOptions } from './types';\r\n\r\nexport const YUYEON_DATE_KEY = Symbol.for('yuyeon.date');\r\nexport const YUYEON_DATE_OPTIONS_KEY = Symbol.for('yuyeon.date-options');\r\n\r\nexport function createDateModule(options: DateOptions, locale: LocaleModule) {\r\n const _options = configureOptions(options);\r\n return {\r\n options: _options,\r\n instance: constructAdapter(_options, locale),\r\n };\r\n}\r\n\r\nexport function useDate(): DateInstance {\r\n const options = inject<any>(YUYEON_DATE_OPTIONS_KEY);\r\n if (!options)\r\n throw new Error('【yuyeon】 Not found provided \"DateModule\" for options');\r\n\r\n const i18n = useI18n();\r\n\r\n return constructAdapter(options, i18n);\r\n}\r\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,KAAK;AAAC,SAIpBC,OAAO;AAAA,SACPC,gBAAgB;AAAA,SAChBC,gBAAgB;AAGzB,OAAO,MAAMC,eAAe,GAAGC,MAAM,CAACC,GAAG,CAAC,aAAa,CAAC;AACxD,OAAO,MAAMC,uBAAuB,GAAGF,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAExE,OAAO,SAASE,gBAAgBA,CAACC,OAAoB,EAAEC,MAAoB,EAAE;EAC3E,MAAMC,QAAQ,GAAGR,gBAAgB,CAACM,OAAO,CAAC;EAC1C,OAAO;IACLA,OAAO,EAAEE,QAAQ;IACjBC,QAAQ,EAAEV,gBAAgB,CAACS,QAAQ,EAAED,MAAM;EAC7C,CAAC;AACH;AAEA,OAAO,SAASG,OAAOA,CAAA,EAAiB;EACtC,MAAMJ,OAAO,GAAGT,MAAM,CAAMO,uBAAuB,CAAC;EACpD,IAAI,CAACE,OAAO,EACV,MAAM,IAAIK,KAAK,CAAC,sDAAsD,CAAC;EAEzE,MAAMC,IAAI,GAAGd,OAAO,CAAC,CAAC;EAEtB,OAAOC,gBAAgB,CAACO,OAAO,EAAEM,IAAI,CAAC;AACxC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { localeCodesMap } from "../../i18n/config.mjs";
|
|
2
|
-
import { mergeDeep } from "../../util/common.mjs";
|
|
3
|
-
import { YuyeonDateAdapter } from "../../util/date/index.mjs";
|
|
4
|
-
export function configureOptions(options) {
|
|
5
|
-
const _options = mergeDeep({
|
|
6
|
-
adapter: YuyeonDateAdapter,
|
|
7
|
-
locale: localeCodesMap
|
|
8
|
-
}, options);
|
|
9
|
-
return _options;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=setting.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setting.mjs","names":["localeCodesMap","mergeDeep","YuyeonDateAdapter","configureOptions","options","_options","adapter","locale"],"sources":["../../../src/composables/date/setting.ts"],"sourcesContent":["import { localeCodesMap } from '@/i18n/config';\r\nimport { mergeDeep } from '@/util/common';\r\nimport { YuyeonDateAdapter } from '@/util/date';\r\n\r\nimport type { DateOptions } from './types';\r\n\r\nexport function configureOptions(options?: DateOptions) {\r\n const _options = mergeDeep(\r\n {\r\n adapter: YuyeonDateAdapter,\r\n locale: localeCodesMap,\r\n },\r\n options,\r\n );\r\n\r\n return _options;\r\n}\r\n"],"mappings":"SAASA,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,iBAAiB;AAI1B,OAAO,SAASC,gBAAgBA,CAACC,OAAqB,EAAE;EACtD,MAAMC,QAAQ,GAAGJ,SAAS,CACxB;IACEK,OAAO,EAAEJ,iBAAiB;IAC1BK,MAAM,EAAEP;EACV,CAAC,EACDI,OACF,CAAC;EAED,OAAOC,QAAQ;AACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","names":[],"sources":["../../../src/composables/date/types.ts"],"sourcesContent":["import type { DateAdapter } from '@/util/date/types';\r\n\r\nexport interface DateOptions {\r\n adapter: any;\r\n locale: Record<string, any>;\r\n formats?: Record<string, any>;\r\n}\r\n\r\nexport interface DateInstanceType {\r\n instanceType: unknown;\r\n}\r\n\r\nexport interface DateInstance<T = DateInstanceType['instanceType']>\r\n extends DateAdapter<T> {\r\n locale?: any;\r\n}\r\n"],"mappings":""}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { computed, getCurrentInstance, inject, provide, ref, shallowRef, unref, watchEffect } from 'vue';
|
|
2
|
-
import { clamp, mergeDeep } from "../../util/common.mjs";
|
|
3
|
-
import { injectSelf } from "../../util/component/inject-self.mjs";
|
|
4
|
-
import { propIsDefined } from "../../util/component/props.mjs";
|
|
5
|
-
import { YUYEON_DEFAULTS_KEY } from "./share.mjs";
|
|
6
|
-
function configureOptions(options) {
|
|
7
|
-
return ref(options);
|
|
8
|
-
}
|
|
9
|
-
export function createDefaultsModule(options) {
|
|
10
|
-
return configureOptions(options);
|
|
11
|
-
}
|
|
12
|
-
export function useDefaultsModule() {
|
|
13
|
-
const defaults = inject(YUYEON_DEFAULTS_KEY);
|
|
14
|
-
if (!defaults) throw new Error('【yuyeon】 Not found provided "DefaultsModule"');
|
|
15
|
-
return defaults;
|
|
16
|
-
}
|
|
17
|
-
export function provideDefaults(defaults, options) {
|
|
18
|
-
const defaultsModule = useDefaultsModule();
|
|
19
|
-
const provides = ref(defaults);
|
|
20
|
-
const computedDefaults = computed(() => {
|
|
21
|
-
if (unref(options?.disabled)) return defaultsModule.value;
|
|
22
|
-
const root = unref(options?.root);
|
|
23
|
-
const reset = unref(options?.reset);
|
|
24
|
-
const scoped = unref(options?.scoped);
|
|
25
|
-
if (provides.value == null && !(scoped || reset || root)) return defaultsModule.value;
|
|
26
|
-
let revision = provides.value ?? {};
|
|
27
|
-
if (!Array.isArray(revision?.revisions)) {
|
|
28
|
-
revision.revisions = [];
|
|
29
|
-
}
|
|
30
|
-
revision.revisions.push(defaultsModule.value);
|
|
31
|
-
if (scoped) return revision;
|
|
32
|
-
if (reset || root) {
|
|
33
|
-
const {
|
|
34
|
-
revisions
|
|
35
|
-
} = revision;
|
|
36
|
-
const resetNum = isNaN(Number(reset)) ? 0 : clamp(Number(reset), 0, revisions.length);
|
|
37
|
-
revision = revisions[revisions.length - resetNum];
|
|
38
|
-
if (revision && typeof root === 'string' && root in revision) {
|
|
39
|
-
revision = mergeDeep(revision, revision[root]);
|
|
40
|
-
}
|
|
41
|
-
return revision;
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
provide(YUYEON_DEFAULTS_KEY, computedDefaults);
|
|
45
|
-
return computedDefaults;
|
|
46
|
-
}
|
|
47
|
-
export function useSuperDefaults() {
|
|
48
|
-
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
49
|
-
let name = arguments.length > 1 ? arguments[1] : undefined;
|
|
50
|
-
let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : useDefaultsModule();
|
|
51
|
-
const vm = getCurrentInstance();
|
|
52
|
-
name = name || vm?.type?.name || vm?.type?.__name;
|
|
53
|
-
if (!name) throw new Error('Missing component name');
|
|
54
|
-
const namedDefaults = computed(() => defaults.value?.[name]);
|
|
55
|
-
const _subcomponentDefaults = shallowRef();
|
|
56
|
-
const _props = new Proxy(props, {
|
|
57
|
-
get(target, prop) {
|
|
58
|
-
const propValue = Reflect.get(target, prop);
|
|
59
|
-
if (prop === 'class' || prop === 'style') {
|
|
60
|
-
return [namedDefaults.value?.[prop], propValue].filter(v => v != null);
|
|
61
|
-
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
|
62
|
-
return namedDefaults.value?.[prop] !== undefined ? namedDefaults.value?.[prop] : defaults.value?.global?.[prop] !== undefined ? defaults.value?.global?.[prop] : propValue;
|
|
63
|
-
}
|
|
64
|
-
return propValue;
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
watchEffect(() => {
|
|
68
|
-
if (namedDefaults.value) {
|
|
69
|
-
const subComponents = Object.entries(namedDefaults.value).filter(_ref => {
|
|
70
|
-
let [key] = _ref;
|
|
71
|
-
return key.startsWith(key[0].toUpperCase());
|
|
72
|
-
});
|
|
73
|
-
_subcomponentDefaults.value = subComponents.length ? Object.fromEntries(subComponents) : undefined;
|
|
74
|
-
} else {
|
|
75
|
-
_subcomponentDefaults.value = undefined;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
function provideSubDefaults() {
|
|
79
|
-
const injected = injectSelf(YUYEON_DEFAULTS_KEY, vm);
|
|
80
|
-
provide(YUYEON_DEFAULTS_KEY, computed(() => {
|
|
81
|
-
return _subcomponentDefaults.value ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value) : injected?.value;
|
|
82
|
-
}));
|
|
83
|
-
}
|
|
84
|
-
return {
|
|
85
|
-
props: _props,
|
|
86
|
-
provideSubDefaults
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
export function useDefaults() {
|
|
90
|
-
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
91
|
-
let name = arguments.length > 1 ? arguments[1] : undefined;
|
|
92
|
-
const {
|
|
93
|
-
props: _props,
|
|
94
|
-
provideSubDefaults
|
|
95
|
-
} = useSuperDefaults(props, name);
|
|
96
|
-
provideSubDefaults();
|
|
97
|
-
return _props;
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["computed","getCurrentInstance","inject","provide","ref","shallowRef","unref","watchEffect","clamp","mergeDeep","injectSelf","propIsDefined","YUYEON_DEFAULTS_KEY","configureOptions","options","createDefaultsModule","useDefaultsModule","defaults","Error","provideDefaults","defaultsModule","provides","computedDefaults","disabled","value","root","reset","scoped","revision","Array","isArray","revisions","push","resetNum","isNaN","Number","length","useSuperDefaults","props","arguments","undefined","name","vm","type","__name","namedDefaults","_subcomponentDefaults","_props","Proxy","get","target","prop","propValue","Reflect","filter","v","vnode","global","subComponents","Object","entries","_ref","key","startsWith","toUpperCase","fromEntries","provideSubDefaults","injected","useDefaults"],"sources":["../../../src/composables/defaults/index.ts"],"sourcesContent":["import {\r\n type MaybeRef,\r\n computed,\r\n getCurrentInstance,\r\n inject,\r\n provide,\r\n ref,\r\n shallowRef,\r\n unref,\r\n watchEffect,\r\n} from 'vue';\r\n\r\nimport { clamp, mergeDeep } from '@/util/common';\r\nimport { injectSelf } from '@/util/component/inject-self';\r\nimport { propIsDefined } from '@/util/component/props';\r\n\r\nimport { YUYEON_DEFAULTS_KEY } from './share';\r\nimport {\r\n DefaultsModuleInstance,\r\n DefaultsOptions,\r\n ProvideDefaultsOptions,\r\n} from './types';\r\n\r\nfunction configureOptions(options?: DefaultsOptions) {\r\n return ref<DefaultsModuleInstance>(options);\r\n}\r\n\r\nexport function createDefaultsModule(options?: DefaultsModuleInstance) {\r\n return configureOptions(options);\r\n}\r\n\r\nexport function useDefaultsModule() {\r\n const defaults = inject(YUYEON_DEFAULTS_KEY);\r\n if (!defaults)\r\n throw new Error('【yuyeon】 Not found provided \"DefaultsModule\"');\r\n\r\n return defaults;\r\n}\r\n\r\nexport function provideDefaults(\r\n defaults?: MaybeRef<DefaultsModuleInstance | undefined>,\r\n options?: ProvideDefaultsOptions,\r\n) {\r\n const defaultsModule = useDefaultsModule();\r\n const provides = ref(defaults);\r\n\r\n const computedDefaults = computed<DefaultsModuleInstance>(() => {\r\n if (unref(options?.disabled)) return defaultsModule.value;\r\n\r\n const root = unref(options?.root);\r\n const reset = unref(options?.reset);\r\n const scoped = unref(options?.scoped);\r\n\r\n if (provides.value == null && !(scoped || reset || root))\r\n return defaultsModule.value;\r\n\r\n let revision = provides.value ?? {};\r\n if (!Array.isArray(revision?.revisions)) {\r\n revision.revisions = [];\r\n }\r\n revision.revisions.push(defaultsModule.value);\r\n if (scoped) return revision;\r\n if (reset || root) {\r\n const { revisions } = revision;\r\n const resetNum = isNaN(Number(reset))\r\n ? 0\r\n : clamp(Number(reset), 0, revisions.length);\r\n revision = revisions[revisions.length - resetNum];\r\n if (revision && typeof root === 'string' && root in revision) {\r\n revision = mergeDeep(revision, revision[root]);\r\n }\r\n\r\n return revision;\r\n }\r\n });\r\n\r\n provide(YUYEON_DEFAULTS_KEY, computedDefaults);\r\n\r\n return computedDefaults;\r\n}\r\n\r\nexport function useSuperDefaults(\r\n props: Record<string, any> = {},\r\n name?: string,\r\n defaults = useDefaultsModule(),\r\n) {\r\n const vm = getCurrentInstance()!;\r\n name = name || vm?.type?.name || vm?.type?.__name;\r\n if (!name) throw new Error('Missing component name');\r\n\r\n const namedDefaults = computed(() => defaults.value?.[name]);\r\n const _subcomponentDefaults = shallowRef();\r\n\r\n const _props = new Proxy(props, {\r\n get(target, prop) {\r\n const propValue = Reflect.get(target, prop);\r\n if (prop === 'class' || prop === 'style') {\r\n return [namedDefaults.value?.[prop], propValue].filter(\r\n (v) => v != null,\r\n );\r\n } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {\r\n return namedDefaults.value?.[prop] !== undefined\r\n ? namedDefaults.value?.[prop]\r\n : defaults.value?.global?.[prop] !== undefined\r\n ? defaults.value?.global?.[prop]\r\n : propValue;\r\n }\r\n return propValue;\r\n },\r\n });\r\n\r\n watchEffect(() => {\r\n if (namedDefaults.value) {\r\n const subComponents = Object.entries(namedDefaults.value).filter(\r\n ([key]) => key.startsWith(key[0].toUpperCase()),\r\n );\r\n _subcomponentDefaults.value = subComponents.length\r\n ? Object.fromEntries(subComponents)\r\n : undefined;\r\n } else {\r\n _subcomponentDefaults.value = undefined;\r\n }\r\n });\r\n\r\n function provideSubDefaults() {\r\n const injected = injectSelf(YUYEON_DEFAULTS_KEY, vm);\r\n provide(\r\n YUYEON_DEFAULTS_KEY,\r\n computed(() => {\r\n return _subcomponentDefaults.value\r\n ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value)\r\n : injected?.value;\r\n }),\r\n );\r\n }\r\n\r\n return { props: _props, provideSubDefaults };\r\n}\r\n\r\nexport function useDefaults(\r\n props: undefined,\r\n name: string,\r\n): Record<string, any>;\r\nexport function useDefaults(props: Record<string, any> = {}, name?: string) {\r\n const { props: _props, provideSubDefaults } = useSuperDefaults(props, name);\r\n provideSubDefaults();\r\n\r\n return _props;\r\n}\r\n"],"mappings":"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"}
|