yuyeon 0.3.4-rc.4 → 0.3.6-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/style.css +1 -1
- package/dist/yuyeon.js +3963 -3707
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/abstract/items.js.map +1 -1
- package/lib/components/alert/YAlert.js +1 -2
- package/lib/components/alert/YAlert.js.map +1 -1
- package/lib/components/alert/index.js.map +1 -1
- package/lib/components/app/YApp.js +2 -2
- package/lib/components/app/YApp.js.map +1 -1
- package/lib/components/app/index.js.map +1 -1
- package/lib/components/badge/YBadge.js +7 -5
- package/lib/components/badge/YBadge.js.map +1 -1
- package/lib/components/badge/YBadge.scss +87 -86
- package/lib/components/badge/index.js.map +1 -1
- package/lib/components/bench/YBench.js +3 -4
- package/lib/components/bench/YBench.js.map +1 -1
- package/lib/components/bench/index.js.map +1 -1
- package/lib/components/button/YButton.js +1 -2
- package/lib/components/button/YButton.js.map +1 -1
- package/lib/components/button/index.js.map +1 -1
- package/lib/components/card/YCard.js.map +1 -1
- package/lib/components/card/YCard.scss +2 -2
- package/lib/components/card/YCardBody.js.map +1 -1
- package/lib/components/card/YCardFooter.js.map +1 -1
- package/lib/components/card/YCardHeader.js.map +1 -1
- package/lib/components/card/index.js.map +1 -1
- package/lib/components/checkbox/YCheckbox.js +1 -2
- package/lib/components/checkbox/YCheckbox.js.map +1 -1
- package/lib/components/checkbox/YInputCheckbox.js +1 -2
- package/lib/components/checkbox/YInputCheckbox.js.map +1 -1
- package/lib/components/checkbox/index.js.map +1 -1
- package/lib/components/chip/YChip.js +1 -2
- package/lib/components/chip/YChip.js.map +1 -1
- package/lib/components/chip/index.js.map +1 -1
- package/lib/components/date-picker/YDateCalendar.js +59 -54
- package/lib/components/date-picker/YDateCalendar.js.map +1 -1
- package/lib/components/date-picker/YDatePicker.js +24 -25
- package/lib/components/date-picker/YDatePicker.js.map +1 -1
- package/lib/components/date-picker/YDatePickerControl.js +19 -20
- package/lib/components/date-picker/YDatePickerControl.js.map +1 -1
- package/lib/components/date-picker/YMonthPicker.js +10 -11
- package/lib/components/date-picker/YMonthPicker.js.map +1 -1
- package/lib/components/date-picker/YYearPicker.js +11 -13
- package/lib/components/date-picker/YYearPicker.js.map +1 -1
- package/lib/components/date-picker/index.js.map +1 -1
- package/lib/components/default-provider/YDefaultProvider.js.map +1 -1
- package/lib/components/default-provider/index.js.map +1 -1
- package/lib/components/dialog/YDialog.js +32 -32
- package/lib/components/dialog/YDialog.js.map +1 -1
- package/lib/components/dialog/index.js.map +1 -1
- package/lib/components/divider/YDivider.js +5 -5
- package/lib/components/divider/YDivider.js.map +1 -1
- package/lib/components/divider/index.js.map +1 -1
- package/lib/components/draggable/YDraggable.js +10 -11
- package/lib/components/draggable/YDraggable.js.map +1 -1
- package/lib/components/draggable/index.js.map +1 -1
- package/lib/components/dropdown/YDropdown.js +16 -17
- package/lib/components/dropdown/YDropdown.js.map +1 -1
- package/lib/components/dropdown/index.js.map +1 -1
- package/lib/components/field-input/YFieldInput.js +39 -39
- package/lib/components/field-input/YFieldInput.js.map +1 -1
- package/lib/components/field-input/index.js.map +1 -1
- package/lib/components/form/YForm.js +12 -14
- package/lib/components/form/YForm.js.map +1 -1
- package/lib/components/form/index.js.map +1 -1
- package/lib/components/hover/YHover.js +9 -8
- package/lib/components/hover/YHover.js.map +1 -1
- package/lib/components/hover/index.js.map +1 -1
- package/lib/components/icon/YIcon.js +2 -4
- package/lib/components/icon/YIcon.js.map +1 -1
- package/lib/components/icon/index.js.map +1 -1
- package/lib/components/icons/YIconCheckbox.js +7 -6
- package/lib/components/icons/YIconCheckbox.js.map +1 -1
- package/lib/components/icons/YIconCheckbox.scss +4 -5
- package/lib/components/icons/YIconClear.js +2 -1
- package/lib/components/icons/YIconClear.js.map +1 -1
- package/lib/components/icons/YIconDropdown.js +2 -1
- package/lib/components/icons/YIconDropdown.js.map +1 -1
- package/lib/components/icons/YIconExpand.js +1 -0
- package/lib/components/icons/YIconExpand.js.map +1 -1
- package/lib/components/icons/YIconPageControl.js +7 -6
- package/lib/components/icons/YIconPageControl.js.map +1 -1
- package/lib/components/icons/YIconSort.js +6 -5
- package/lib/components/icons/YIconSort.js.map +1 -1
- package/lib/components/icons/YIconSort.scss +2 -0
- package/lib/components/icons/index.js.map +1 -1
- package/lib/components/img/YImg.js +38 -33
- package/lib/components/img/YImg.js.map +1 -1
- package/lib/components/img/index.js +1 -1
- package/lib/components/img/index.js.map +1 -1
- package/lib/components/index.js +1 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/YInput.js +1 -2
- package/lib/components/input/YInput.js.map +1 -1
- package/lib/components/input/YInput.scss +9 -8
- package/lib/components/input/index.js.map +1 -1
- package/lib/components/ip-field/YIpv4Field.js +1 -2
- package/lib/components/ip-field/YIpv4Field.js.map +1 -1
- package/lib/components/ip-field/index.js.map +1 -1
- package/lib/components/layer/YLayer.js +38 -25
- package/lib/components/layer/YLayer.js.map +1 -1
- package/lib/components/layer/active-delay.js.map +1 -1
- package/lib/components/layer/active-stack.js.map +1 -1
- package/lib/components/layer/base.js +11 -1
- package/lib/components/layer/base.js.map +1 -1
- package/lib/components/layer/content.js.map +1 -1
- package/lib/components/layer/index.js.map +1 -1
- package/lib/components/layer/scroll-strategies.js.map +1 -1
- package/lib/components/list/YList.js +1 -2
- package/lib/components/list/YList.js.map +1 -1
- package/lib/components/list/YListItem.js +1 -2
- package/lib/components/list/YListItem.js.map +1 -1
- package/lib/components/list/index.js.map +1 -1
- package/lib/components/loading/YSpinnerRing.js.map +1 -1
- package/lib/components/loading/index.js.map +1 -1
- package/lib/components/menu/YMenu.js +22 -25
- package/lib/components/menu/YMenu.js.map +1 -1
- package/lib/components/menu/YMenu.scss +3 -4
- package/lib/components/menu/index.js.map +1 -1
- package/lib/components/navigation/YNavigation.js +1 -2
- package/lib/components/navigation/YNavigation.js.map +1 -1
- package/lib/components/navigation/index.js.map +1 -1
- package/lib/components/pagination/YPagination.js +1 -2
- package/lib/components/pagination/YPagination.js.map +1 -1
- package/lib/components/pagination/index.js.map +1 -1
- package/lib/components/panel/YDividePanel.js +1 -2
- package/lib/components/panel/YDividePanel.js.map +1 -1
- package/lib/components/panel/YDividePanel.scss +44 -43
- package/lib/components/panel/index.js.map +1 -1
- package/lib/components/plate/YPlate.js +1 -2
- package/lib/components/plate/YPlate.js.map +1 -1
- package/lib/components/plate/index.js.map +1 -1
- package/lib/components/progress-bar/YProgressBar.js +1 -2
- package/lib/components/progress-bar/YProgressBar.js.map +1 -1
- package/lib/components/progress-bar/index.js.map +1 -1
- package/lib/components/progress-ring/YProgressRing.js +3 -4
- package/lib/components/progress-ring/YProgressRing.js.map +1 -1
- package/lib/components/progress-ring/index.js.map +1 -1
- package/lib/components/radio/YRadio.js +1 -1
- package/lib/components/radio/YRadio.js.map +1 -1
- package/lib/components/radio/YRadioIcon.js.map +1 -1
- package/lib/components/radio/YRadioIcon.scss +2 -3
- package/lib/components/radio/index.js.map +1 -1
- package/lib/components/select/YSelect.js +41 -42
- package/lib/components/select/YSelect.js.map +1 -1
- package/lib/components/select/index.js.map +1 -1
- package/lib/components/slider/YSlider.js.map +1 -1
- package/lib/components/slider/index.js.map +1 -1
- package/lib/components/slider/slider.js.map +1 -1
- package/lib/components/snackbar/YSnackbar.js +6 -6
- package/lib/components/snackbar/YSnackbar.js.map +1 -1
- package/lib/components/snackbar/index.js.map +1 -1
- package/lib/components/switch/YSwitch.js +1 -2
- package/lib/components/switch/YSwitch.js.map +1 -1
- package/lib/components/switch/index.js.map +1 -1
- package/lib/components/tab/YTab.js +2 -3
- package/lib/components/tab/YTab.js.map +1 -1
- package/lib/components/tab/YTab.scss +1 -1
- package/lib/components/tab/YTabs.js +1 -2
- package/lib/components/tab/YTabs.js.map +1 -1
- package/lib/components/tab/index.js.map +1 -1
- package/lib/components/tab/shared.js.map +1 -1
- package/lib/components/tab/types.js.map +1 -1
- package/lib/components/table/YDataTable.js +1 -2
- package/lib/components/table/YDataTable.js.map +1 -1
- package/lib/components/table/YDataTableBody.js +2 -3
- package/lib/components/table/YDataTableBody.js.map +1 -1
- package/lib/components/table/YDataTableCell.js +1 -2
- package/lib/components/table/YDataTableCell.js.map +1 -1
- package/lib/components/table/YDataTableControl.js +1 -1
- package/lib/components/table/YDataTableControl.js.map +1 -1
- package/lib/components/table/YDataTableControl.scss +17 -17
- package/lib/components/table/YDataTableHead.js +1 -1
- package/lib/components/table/YDataTableHead.js.map +1 -1
- package/lib/components/table/YDataTableLayer.js +1 -2
- package/lib/components/table/YDataTableLayer.js.map +1 -1
- package/lib/components/table/YDataTableLayerRow.js +1 -2
- package/lib/components/table/YDataTableLayerRow.js.map +1 -1
- package/lib/components/table/YDataTableLayerRows.js +3 -4
- package/lib/components/table/YDataTableLayerRows.js.map +1 -1
- package/lib/components/table/YDataTableRow.js +1 -2
- package/lib/components/table/YDataTableRow.js.map +1 -1
- package/lib/components/table/YDataTableServer.js +1 -2
- package/lib/components/table/YDataTableServer.js.map +1 -1
- package/lib/components/table/YTable.js +1 -2
- package/lib/components/table/YTable.js.map +1 -1
- package/lib/components/table/composables/expand.js.map +1 -1
- package/lib/components/table/composables/header.js.map +1 -1
- package/lib/components/table/composables/items.js.map +1 -1
- package/lib/components/table/composables/measure.js +1 -1
- package/lib/components/table/composables/measure.js.map +1 -1
- package/lib/components/table/composables/options.js.map +1 -1
- package/lib/components/table/composables/pagination.js.map +1 -1
- package/lib/components/table/composables/provides.js.map +1 -1
- package/lib/components/table/composables/selection.js.map +1 -1
- package/lib/components/table/composables/sorted-items.js.map +1 -1
- package/lib/components/table/composables/sorting.js.map +1 -1
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/types/common.js.map +1 -1
- package/lib/components/table/types/header.js.map +1 -1
- package/lib/components/table/types/index.js.map +1 -1
- package/lib/components/table/types/item.js.map +1 -1
- package/lib/components/table/types/row.js.map +1 -1
- package/lib/components/text-ellipsis/YTextEllipsis.js +1 -2
- package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -1
- package/lib/components/text-ellipsis/index.js.map +1 -1
- package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -1
- package/lib/components/text-highlighter/index.js.map +1 -1
- package/lib/components/text-interpolation/YTi.js +2 -2
- package/lib/components/text-interpolation/YTi.js.map +1 -1
- package/lib/components/text-interpolation/index.js.map +1 -1
- package/lib/components/textarea/YTextarea.js +1 -2
- package/lib/components/textarea/YTextarea.js.map +1 -1
- package/lib/components/textarea/index.js.map +1 -1
- package/lib/components/toggle-button/YToggleButton.js.map +1 -1
- package/lib/components/toggle-button/index.js.map +1 -1
- package/lib/components/tooltip/YTooltip.js +20 -21
- package/lib/components/tooltip/YTooltip.js.map +1 -1
- package/lib/components/tooltip/index.js.map +1 -1
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/components/transitions/index.js.map +1 -1
- package/lib/components/tree-view/YTreeView.js +23 -29
- package/lib/components/tree-view/YTreeView.js.map +1 -1
- package/lib/components/tree-view/YTreeViewNode.js +58 -21
- package/lib/components/tree-view/YTreeViewNode.js.map +1 -1
- package/lib/components/tree-view/index.js.map +1 -1
- package/lib/components/tree-view/tree-view.js +61 -8
- package/lib/components/tree-view/tree-view.js.map +1 -1
- package/lib/components/tree-view/types.js.map +1 -1
- package/lib/components/tree-view/util.js.map +1 -1
- package/lib/composables/choice-link.js.map +1 -1
- package/lib/composables/choice.js.map +1 -1
- package/lib/composables/communication.js.map +1 -1
- package/lib/composables/component.js.map +1 -1
- package/lib/composables/coordinate/arrangement.js.map +1 -1
- package/lib/composables/coordinate/index.js +23 -13
- package/lib/composables/coordinate/index.js.map +1 -1
- package/lib/composables/coordinate/levitation.js +79 -50
- package/lib/composables/coordinate/levitation.js.map +1 -1
- package/lib/composables/coordinate/types.js.map +1 -1
- package/lib/composables/coordinate/utils/point.js.map +1 -1
- package/lib/composables/date/factory.js.map +1 -1
- package/lib/composables/date/index.js.map +1 -1
- package/lib/composables/date/setting.js.map +1 -1
- package/lib/composables/date/types.js.map +1 -1
- package/lib/composables/defaults/index.js.map +1 -1
- package/lib/composables/defaults/share.js.map +1 -1
- package/lib/composables/defaults/types.js.map +1 -1
- package/lib/composables/dimension.js.map +1 -1
- package/lib/composables/focus.js.map +1 -1
- package/lib/composables/form.js +5 -5
- package/lib/composables/form.js.map +1 -1
- package/lib/composables/i18n/index.js.map +1 -1
- package/lib/composables/i18n/locale.js.map +1 -1
- package/lib/composables/i18n/rtl.js.map +1 -1
- package/lib/composables/i18n/share.js.map +1 -1
- package/lib/composables/icon.js +1 -2
- package/lib/composables/icon.js.map +1 -1
- package/lib/composables/index.js.map +1 -1
- package/lib/composables/layer-group.js.map +1 -1
- package/lib/composables/layout.js.map +1 -1
- package/lib/composables/list-items.js.map +1 -1
- package/lib/composables/progress.js.map +1 -1
- package/lib/composables/ref.js.map +1 -1
- package/lib/composables/resize-observer.js.map +1 -1
- package/lib/composables/scope.js.map +1 -1
- package/lib/composables/style-color.js +6 -5
- package/lib/composables/style-color.js.map +1 -1
- package/lib/composables/theme/factory.js.map +1 -1
- package/lib/composables/theme/helper.js.map +1 -1
- package/lib/composables/theme/index.js +8 -1
- package/lib/composables/theme/index.js.map +1 -1
- package/lib/composables/theme/setting.js.map +1 -1
- package/lib/composables/theme/types.js.map +1 -1
- package/lib/composables/timing.js +13 -5
- package/lib/composables/timing.js.map +1 -1
- package/lib/composables/transition.js.map +1 -1
- package/lib/composables/validation.js.map +1 -1
- package/lib/composables/vue-router.js.map +1 -1
- package/lib/directives/complement-click/index.js.map +1 -1
- package/lib/directives/index.js +3 -0
- package/lib/directives/index.js.map +1 -0
- package/lib/directives/plate-wave/index.js.map +1 -1
- package/lib/directives/plate-wave/plate-wave.scss +44 -33
- package/lib/directives/theme-class/index.js +24 -0
- package/lib/directives/theme-class/index.js.map +1 -0
- package/lib/etc/index.js.map +1 -1
- package/lib/i18n/built-in.js.map +1 -1
- package/lib/i18n/config.js.map +1 -1
- package/lib/i18n/types.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/locales/en.js.map +1 -1
- package/lib/locales/index.js.map +1 -1
- package/lib/locales/ko.js.map +1 -1
- package/lib/mixins/di.js.map +1 -1
- package/lib/mixins/rebind-attrs.js +0 -2
- package/lib/mixins/rebind-attrs.js.map +1 -1
- package/lib/styles/_elevation.scss +0 -1
- package/lib/styles/base.scss +3 -1
- package/lib/styles/settings/_elevation.scss +12 -12
- package/lib/styles/settings/_provided.scss +33 -33
- package/lib/styles/theme/dark.scss +3 -3
- package/lib/styles/theme/index.scss +4 -5
- package/lib/styles/theme/light.scss +3 -3
- package/lib/styles/util/_mixin.scss +16 -16
- package/lib/types/index.js.map +1 -1
- package/lib/util/anchor.js.map +1 -1
- package/lib/util/array.js.map +1 -1
- package/lib/util/collection.js.map +1 -1
- package/lib/util/color/apca.js +31 -30
- package/lib/util/color/apca.js.map +1 -1
- package/lib/util/color/const.js.map +1 -1
- package/lib/util/color/contrast/contrast.js.map +1 -1
- package/lib/util/color/conversion.js.map +1 -1
- package/lib/util/color/hct/cam16.js +95 -95
- package/lib/util/color/hct/cam16.js.map +1 -1
- package/lib/util/color/hct/hct-solver.js +113 -113
- package/lib/util/color/hct/hct-solver.js.map +1 -1
- package/lib/util/color/hct/hct.js +71 -71
- package/lib/util/color/hct/hct.js.map +1 -1
- package/lib/util/color/hct/viewing-conditions.js +6 -4
- package/lib/util/color/hct/viewing-conditions.js.map +1 -1
- package/lib/util/color/index.js +12 -12
- package/lib/util/color/index.js.map +1 -1
- package/lib/util/color/palettes/core-palette.js.map +1 -1
- package/lib/util/color/palettes/tonal-palette.js +3 -3
- package/lib/util/color/palettes/tonal-palette.js.map +1 -1
- package/lib/util/color/types.js.map +1 -1
- package/lib/util/color/utils/math-utils.js +62 -62
- package/lib/util/color/utils/math-utils.js.map +1 -1
- package/lib/util/common.js +28 -13
- package/lib/util/common.js.map +1 -1
- package/lib/util/component/component.js.map +1 -1
- package/lib/util/component/index.js.map +1 -1
- package/lib/util/component/inject-self.js.map +1 -1
- package/lib/util/component/props.js.map +1 -1
- package/lib/util/component/types.js.map +1 -1
- package/lib/util/date/adapters/yuyeon-date-adapter.js +3 -3
- package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -1
- package/lib/util/date/built-in.js +2 -0
- package/lib/util/date/built-in.js.map +1 -1
- package/lib/util/date/index.js +1 -1
- package/lib/util/date/index.js.map +1 -1
- package/lib/util/date/types.js.map +1 -1
- package/lib/util/debounce.js +1 -1
- package/lib/util/debounce.js.map +1 -1
- package/lib/util/dom.js +10 -1
- package/lib/util/dom.js.map +1 -1
- package/lib/util/environments.js.map +1 -1
- package/lib/util/frame-scheduler.js +3 -3
- package/lib/util/frame-scheduler.js.map +1 -1
- package/lib/util/index.js +11 -11
- package/lib/util/index.js.map +1 -1
- package/lib/util/reactivity.js +3 -3
- package/lib/util/reactivity.js.map +1 -1
- package/lib/util/rect.js.map +1 -1
- package/lib/util/scroll.js.map +1 -1
- package/lib/util/string.js +3 -1
- package/lib/util/string.js.map +1 -1
- package/lib/util/ui.js +8 -7
- package/lib/util/ui.js.map +1 -1
- package/lib/util/validation.js.map +1 -1
- package/package.json +11 -2
- package/types/abstract/items.d.ts +4 -4
- package/types/components/alert/YAlert.d.ts +2 -2
- package/types/components/badge/YBadge.d.ts +9 -3
- package/types/components/button/YButton.d.ts +3 -3
- package/types/components/checkbox/YCheckbox.d.ts +4 -4
- package/types/components/chip/YChip.d.ts +0 -3
- package/types/components/date-picker/YDateCalendar.d.ts +4 -3
- package/types/components/date-picker/YDatePickerControl.d.ts +7 -7
- package/types/components/dialog/YDialog.d.ts +116 -6484
- package/types/components/draggable/YDraggable.d.ts +6 -6
- package/types/components/dropdown/YDropdown.d.ts +87 -87
- package/types/components/field-input/YFieldInput.d.ts +14 -14
- package/types/components/form/YForm.d.ts +3 -3
- package/types/components/icon/YIcon.d.ts +4 -4
- package/types/components/icons/YIconPageControl.d.ts +1 -1
- package/types/components/icons/YIconSort.d.ts +1 -1
- package/types/components/icons/index.d.ts +4 -4
- package/types/components/img/YImg.d.ts +30 -27
- package/types/components/img/index.d.ts +1 -0
- package/types/components/index.d.ts +1 -0
- package/types/components/input/YInput.d.ts +13 -13
- package/types/components/ip-field/YIpv4Field.d.ts +5 -5
- package/types/components/layer/YLayer.d.ts +59 -3242
- package/types/components/layer/base.d.ts +4 -0
- package/types/components/layer/scroll-strategies.d.ts +4 -4
- package/types/components/menu/YMenu.d.ts +83 -6451
- package/types/components/pagination/YPagination.d.ts +3 -3
- package/types/components/select/YSelect.d.ts +172 -496
- package/types/components/slider/YSlider.d.ts +1 -1
- package/types/components/snackbar/YSnackbar.d.ts +55 -55
- package/types/components/tab/YTab.d.ts +3 -3
- package/types/components/tab/YTabs.d.ts +1 -1
- package/types/components/table/YDataTable.d.ts +30 -87
- package/types/components/table/YDataTableBody.d.ts +3 -3
- package/types/components/table/YDataTableCell.d.ts +2 -2
- package/types/components/table/YDataTableControl.d.ts +6 -6
- package/types/components/table/YDataTableLayer.d.ts +2 -2
- package/types/components/table/YDataTableRow.d.ts +1 -1
- package/types/components/table/YDataTableServer.d.ts +37 -94
- package/types/components/table/YTable.d.ts +3 -3
- package/types/components/table/composables/expand.d.ts +4 -4
- package/types/components/table/composables/header.d.ts +16 -48
- package/types/components/table/composables/items.d.ts +2 -2
- package/types/components/table/composables/pagination.d.ts +10 -10
- package/types/components/table/composables/selection.d.ts +6 -6
- package/types/components/table/composables/sorting.d.ts +8 -14
- package/types/components/table/types/item.d.ts +1 -1
- package/types/components/textarea/YTextarea.d.ts +30 -30
- package/types/components/tooltip/YTooltip.d.ts +67 -67
- package/types/components/tree-view/YTreeView.d.ts +21 -29
- package/types/components/tree-view/YTreeViewNode.d.ts +76 -6
- package/types/components/tree-view/tree-view.d.ts +19 -3
- package/types/composables/choice.d.ts +2 -2
- package/types/composables/coordinate/index.d.ts +28 -3207
- package/types/composables/coordinate/levitation.d.ts +4 -2
- package/types/composables/coordinate/types.d.ts +1 -0
- package/types/composables/dimension.d.ts +6 -6
- package/types/composables/form.d.ts +17 -27
- package/types/composables/list-items.d.ts +3 -3
- package/types/composables/style-color.d.ts +22 -1
- package/types/composables/theme/index.d.ts +1 -0
- package/types/composables/transition.d.ts +10 -10
- package/types/composables/validation.d.ts +6 -6
- package/types/composables/vue-router.d.ts +3 -3
- package/types/declares.d.ts +1 -0
- package/types/directives/index.d.ts +2 -0
- package/types/directives/plate-wave/index.d.ts +7 -1
- package/types/globals.d.ts +4 -5
- package/types/shims.d.ts +65 -59
- package/types/types/index.d.ts +3 -0
- package/types/util/anchor.d.ts +1 -1
- package/types/util/common.d.ts +3 -0
- package/types/util/component/component.d.ts +1 -2
- package/types/util/component/props.d.ts +1 -1
- package/types/util/component/types.d.ts +1 -1
- package/types/util/date/index.d.ts +1 -1
- package/types/util/dom.d.ts +2 -0
- package/types/util/index.d.ts +11 -11
- package/types/components/table/composibles/header.d.ts +0 -207
- package/types/components/table/composibles/items.d.ts +0 -55
- package/types/components/table/composibles/measure.d.ts +0 -8
- package/types/components/table/composibles/options.d.ts +0 -11
- package/types/components/table/composibles/pagination.d.ts +0 -81
- package/types/components/table/composibles/selection.d.ts +0 -82
- package/types/components/table/composibles/sorted-items.d.ts +0 -7
- package/types/components/table/composibles/sorting.d.ts +0 -62
- /package/types/directives/{theme-class.d.ts → theme-class/index.d.ts} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Teleport, Transition, computed, getCurrentInstance, mergeProps, reactive, ref, shallowRef, toRef } from 'vue';
|
|
1
|
+
import { computed, getCurrentInstance, mergeProps, reactive, ref, shallowRef, Teleport, Transition, toRef, Fragment as _Fragment, createVNode as _createVNode, vShow as _vShow, resolveDirective as _resolveDirective, mergeProps as _mergeProps, withDirectives as _withDirectives } from "vue";
|
|
3
2
|
import { useModelDuplex } from "../../composables/communication.js";
|
|
4
3
|
import { useRender } from "../../composables/component.js";
|
|
5
4
|
import { pressCoordinateProps, useCoordinate } from "../../composables/coordinate/index.js";
|
|
@@ -14,6 +13,7 @@ import { pressBasePropsOptions, useBase } from "./base.js";
|
|
|
14
13
|
import { pressContentPropsOptions, useContent } from "./content.js";
|
|
15
14
|
import { pressScrollStrategyProps, useScrollStrategies } from "./scroll-strategies.js";
|
|
16
15
|
import "./YLayer.scss";
|
|
16
|
+
import { noop } from "../../util/index.js";
|
|
17
17
|
export const pressYLayerProps = propsFactory({
|
|
18
18
|
modelValue: {
|
|
19
19
|
type: Boolean
|
|
@@ -72,9 +72,9 @@ export const pressYLayerProps = propsFactory({
|
|
|
72
72
|
...pressCoordinateProps(),
|
|
73
73
|
...pressScrollStrategyProps(),
|
|
74
74
|
...pressDimensionPropsOptions()
|
|
75
|
-
},
|
|
75
|
+
}, "YLayer");
|
|
76
76
|
export const YLayer = defineComponent({
|
|
77
|
-
name:
|
|
77
|
+
name: "YLayer",
|
|
78
78
|
inheritAttrs: false,
|
|
79
79
|
components: {
|
|
80
80
|
PolyTransition
|
|
@@ -87,8 +87,8 @@ export const YLayer = defineComponent({
|
|
|
87
87
|
...pressYLayerProps()
|
|
88
88
|
},
|
|
89
89
|
emits: {
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
"update:modelValue": value => true,
|
|
91
|
+
"click:complement": mouseEvent => true,
|
|
92
92
|
afterLeave: () => true
|
|
93
93
|
},
|
|
94
94
|
slots: Object,
|
|
@@ -140,15 +140,16 @@ export const YLayer = defineComponent({
|
|
|
140
140
|
const {
|
|
141
141
|
lazyValue,
|
|
142
142
|
onAfterUpdate
|
|
143
|
-
} = useLazy(toRef(props,
|
|
143
|
+
} = useLazy(toRef(props, "eager"), active);
|
|
144
144
|
// States
|
|
145
145
|
const finish = shallowRef(false);
|
|
146
146
|
const hovered = ref(false);
|
|
147
147
|
const focused = ref(false);
|
|
148
|
-
const disabled = toRef(props,
|
|
149
|
-
const maximized = toRef(props,
|
|
148
|
+
const disabled = toRef(props, "disabled");
|
|
149
|
+
const maximized = toRef(props, "maximized");
|
|
150
150
|
const rendered = computed(() => !disabled.value && (lazyValue.value || active.value));
|
|
151
151
|
const {
|
|
152
|
+
coordination,
|
|
152
153
|
coordinateStyles,
|
|
153
154
|
updateCoordinate
|
|
154
155
|
} = useCoordinate(props, {
|
|
@@ -164,7 +165,7 @@ export const YLayer = defineComponent({
|
|
|
164
165
|
updateCoordinate
|
|
165
166
|
});
|
|
166
167
|
function onClickComplementLayer(mouseEvent) {
|
|
167
|
-
emit(
|
|
168
|
+
emit("click:complement", mouseEvent);
|
|
168
169
|
if (!props.modal) {
|
|
169
170
|
if (scrim$.value !== null && scrim$.value === mouseEvent.target && props.closeClickScrim) {
|
|
170
171
|
active.value = false;
|
|
@@ -176,7 +177,6 @@ export const YLayer = defineComponent({
|
|
|
176
177
|
function closeConditional() {
|
|
177
178
|
return (!props.openOnHover || props.openOnHover && !hovered.value) && active.value && finish.value; // TODO: && groupTopLevel.value;
|
|
178
179
|
}
|
|
179
|
-
|
|
180
180
|
const complementClickOption = reactive({
|
|
181
181
|
handler: onClickComplementLayer,
|
|
182
182
|
determine: closeConditional,
|
|
@@ -188,7 +188,7 @@ export const YLayer = defineComponent({
|
|
|
188
188
|
function onAfterLeave() {
|
|
189
189
|
onAfterUpdate();
|
|
190
190
|
finish.value = false;
|
|
191
|
-
emit(
|
|
191
|
+
emit("afterLeave");
|
|
192
192
|
}
|
|
193
193
|
function onClickScrim() {
|
|
194
194
|
if (props.closeClickScrim) {
|
|
@@ -203,7 +203,7 @@ export const YLayer = defineComponent({
|
|
|
203
203
|
}
|
|
204
204
|
const computedStyle = computed(() => {
|
|
205
205
|
return {
|
|
206
|
-
zIndex: (props.zIndex ??
|
|
206
|
+
zIndex: (props.zIndex ?? "2000").toString()
|
|
207
207
|
};
|
|
208
208
|
});
|
|
209
209
|
const computedClass = computed(() => {
|
|
@@ -213,13 +213,19 @@ export const YLayer = defineComponent({
|
|
|
213
213
|
const boundClasses = bindClasses(classes);
|
|
214
214
|
return {
|
|
215
215
|
...boundClasses,
|
|
216
|
-
|
|
216
|
+
"y-layer--active": !!active.value
|
|
217
217
|
};
|
|
218
218
|
});
|
|
219
219
|
const computedContentClasses = computed(() => {
|
|
220
220
|
const boundClasses = bindClasses(props.contentClasses);
|
|
221
|
+
const {
|
|
222
|
+
side,
|
|
223
|
+
align
|
|
224
|
+
} = coordination.value;
|
|
221
225
|
return {
|
|
222
|
-
...boundClasses
|
|
226
|
+
...boundClasses,
|
|
227
|
+
[`y-layer--side-${side}`]: !!side,
|
|
228
|
+
[`y-layer--align-${align}`]: !!align
|
|
223
229
|
};
|
|
224
230
|
});
|
|
225
231
|
expose({
|
|
@@ -236,7 +242,8 @@ export const YLayer = defineComponent({
|
|
|
236
242
|
getActiveLayers,
|
|
237
243
|
isMe: vnode => {
|
|
238
244
|
return vnode === vm;
|
|
239
|
-
}
|
|
245
|
+
},
|
|
246
|
+
coordination
|
|
240
247
|
});
|
|
241
248
|
useRender(() => {
|
|
242
249
|
const slotBase = slots.base?.({
|
|
@@ -244,8 +251,8 @@ export const YLayer = defineComponent({
|
|
|
244
251
|
props: mergeProps({
|
|
245
252
|
ref: base$,
|
|
246
253
|
class: {
|
|
247
|
-
|
|
248
|
-
|
|
254
|
+
"y-layer-base": true,
|
|
255
|
+
"y-layer-base--active": active.value
|
|
249
256
|
},
|
|
250
257
|
...(props.baseProps ?? {})
|
|
251
258
|
})
|
|
@@ -257,9 +264,9 @@ export const YLayer = defineComponent({
|
|
|
257
264
|
}, {
|
|
258
265
|
default: () => [rendered.value && _createVNode("div", _mergeProps({
|
|
259
266
|
"class": [{
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
267
|
+
"y-layer": true,
|
|
268
|
+
"y-layer--finish": finish.value,
|
|
269
|
+
"y-layer--contained": props.contained,
|
|
263
270
|
...computedClass.value
|
|
264
271
|
}, themeClasses.value],
|
|
265
272
|
"onMouseenter": onMouseenter,
|
|
@@ -270,12 +277,16 @@ export const YLayer = defineComponent({
|
|
|
270
277
|
"name": "fade",
|
|
271
278
|
"appear": true
|
|
272
279
|
}, {
|
|
273
|
-
default: () => [active.value && props.scrim &&
|
|
280
|
+
default: () => [active.value && props.scrim && // biome-ignore lint/a11y/noStaticElementInteractions: <explanation>
|
|
281
|
+
// biome-ignore lint/a11y/useKeyWithClickEvents: <explanation>
|
|
282
|
+
_createVNode("div", {
|
|
274
283
|
"class": "y-layer__scrim",
|
|
275
284
|
"style": {
|
|
276
|
-
|
|
285
|
+
"--y-layer-scrim-opacity": props.scrimOpacity
|
|
277
286
|
},
|
|
278
287
|
"onClick": onClickScrim,
|
|
288
|
+
"onKeydown": noop(),
|
|
289
|
+
"onKeyup": noop(),
|
|
279
290
|
"ref": "scrim$"
|
|
280
291
|
}, null)]
|
|
281
292
|
}), _createVNode(PolyTransition, _mergeProps({
|
|
@@ -285,7 +296,7 @@ export const YLayer = defineComponent({
|
|
|
285
296
|
}, polyTransitionBindProps.value), {
|
|
286
297
|
default: () => [_withDirectives(_createVNode("div", _mergeProps({
|
|
287
298
|
"class": {
|
|
288
|
-
|
|
299
|
+
"y-layer__content": true,
|
|
289
300
|
...computedContentClasses.value
|
|
290
301
|
},
|
|
291
302
|
"style": [{
|
|
@@ -313,13 +324,15 @@ export const YLayer = defineComponent({
|
|
|
313
324
|
onAfterUpdate: onAfterUpdate,
|
|
314
325
|
scrim$,
|
|
315
326
|
content$,
|
|
327
|
+
base,
|
|
316
328
|
base$,
|
|
317
329
|
baseEl,
|
|
318
330
|
baseFromSlotEl,
|
|
319
331
|
polyTransitionBindProps,
|
|
320
332
|
coordinateStyles,
|
|
321
333
|
layerGroupState,
|
|
322
|
-
getActiveLayers
|
|
334
|
+
getActiveLayers,
|
|
335
|
+
coordination
|
|
323
336
|
};
|
|
324
337
|
}
|
|
325
338
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YLayer.js","names":["Teleport","Transition","computed","getCurrentInstance","mergeProps","reactive","ref","shallowRef","toRef","useModelDuplex","useRender","pressCoordinateProps","useCoordinate","pressDimensionPropsOptions","useDimension","useLayerGroup","pressThemePropsOptions","useLocalTheme","useLazy","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","ComplementClick","bindClasses","defineComponent","propsFactory","pressBasePropsOptions","useBase","pressContentPropsOptions","useContent","pressScrollStrategyProps","useScrollStrategies","pressYLayerProps","modelValue","type","Boolean","scrim","scrimOpacity","Number","eager","classes","Array","String","Object","contentClasses","closeClickScrim","contentStyles","default","disabled","maximized","openOnHover","openDelay","closeDelay","zIndex","contained","layerGroup","YLayer","name","inheritAttrs","components","directives","props","modal","emits","value","mouseEvent","afterLeave","slots","setup","_ref","emit","expose","attrs","vm","scrim$","content$","root$","model","active","get","set","v","base","base$","baseEl","baseSlot","baseFromSlotEl","contentEvents","themeClasses","layerGroupState","getActiveLayers","polyTransitionBindProps","dimensionStyles","lazyValue","onAfterUpdate","finish","hovered","focused","rendered","coordinateStyles","updateCoordinate","contentEl","root","onClickComplementLayer","target","closeConditional","complementClickOption","handler","determine","include","onAfterEnter","onAfterLeave","onClickScrim","onMouseenter","event","onMouseleave","computedStyle","toString","computedClass","boundClasses","computedContentClasses","isMe","vnode","slotBase","class","baseProps","_createVNode","_Fragment","_mergeProps","_withDirectives","_vShow","_resolveDirective"],"sources":["../../../src/components/layer/YLayer.tsx"],"sourcesContent":["import type {\r\n CSSProperties,\r\n ComponentInternalInstance,\r\n PropType,\r\n SlotsType,\r\n} from 'vue';\r\nimport {\r\n Teleport,\r\n Transition,\r\n computed,\r\n getCurrentInstance,\r\n mergeProps,\r\n reactive,\r\n ref,\r\n shallowRef,\r\n toRef,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { pressCoordinateProps, useCoordinate } from '@/composables/coordinate';\r\nimport {\r\n pressDimensionPropsOptions,\r\n useDimension,\r\n} from '@/composables/dimension';\r\nimport { useLayerGroup } from '@/composables/layer-group';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport { useLazy } from '@/composables/timing';\r\nimport {\r\n PolyTransition,\r\n pressPolyTransitionPropsOptions,\r\n usePolyTransition,\r\n} from '@/composables/transition';\r\nimport {\r\n ComplementClick,\r\n ComplementClickBindingOptions,\r\n} from '@/directives/complement-click';\r\nimport { bindClasses, defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport { pressBasePropsOptions, useBase } from './base';\r\nimport { pressContentPropsOptions, useContent } from './content';\r\nimport {\r\n pressScrollStrategyProps,\r\n useScrollStrategies,\r\n} from './scroll-strategies';\r\n\r\nimport './YLayer.scss';\r\n\r\nexport const pressYLayerProps = propsFactory(\r\n {\r\n modelValue: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n scrim: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n scrimOpacity: {\r\n type: Number as PropType<number>,\r\n },\r\n eager: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n classes: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n contentClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n closeClickScrim: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n contentStyles: {\r\n type: Object as PropType<CSSProperties>,\r\n default: () => {},\r\n },\r\n disabled: {\r\n type: Boolean as PropType<boolean>,\r\n default: false,\r\n },\r\n maximized: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n openOnHover: {\r\n type: Boolean as PropType<boolean>,\r\n default: false,\r\n },\r\n openDelay: {\r\n type: Number as PropType<number>,\r\n default: 200,\r\n },\r\n closeDelay: {\r\n type: Number as PropType<number>,\r\n default: 200,\r\n },\r\n zIndex: {\r\n type: [Number, String] as PropType<number | string>,\r\n default: 2000,\r\n },\r\n contained: Boolean,\r\n layerGroup: [String, Object] as PropType<string | Element>,\r\n ...pressThemePropsOptions(),\r\n ...pressPolyTransitionPropsOptions(),\r\n ...pressBasePropsOptions(),\r\n ...pressContentPropsOptions(),\r\n ...pressCoordinateProps(),\r\n ...pressScrollStrategyProps(),\r\n ...pressDimensionPropsOptions(),\r\n },\r\n 'YLayer',\r\n);\r\n\r\nexport const YLayer = defineComponent({\r\n name: 'YLayer',\r\n inheritAttrs: false,\r\n components: {\r\n PolyTransition,\r\n },\r\n directives: {\r\n ComplementClick,\r\n },\r\n props: {\r\n modal: Boolean as PropType<boolean>,\r\n ...pressYLayerProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: boolean) => true,\r\n 'click:complement': (mouseEvent: MouseEvent) => true,\r\n afterLeave: () => true,\r\n },\r\n slots: Object as SlotsType<{\r\n base: any;\r\n default: any;\r\n }>,\r\n setup(props, { emit, expose, attrs, slots }) {\r\n const vm = getCurrentInstance();\r\n const scrim$ = ref<HTMLElement>();\r\n const content$ = ref<HTMLElement>();\r\n const root$ = ref<HTMLElement>();\r\n const model = useModelDuplex(props);\r\n const active = computed({\r\n get: (): boolean => {\r\n return !!model.value;\r\n },\r\n set: (v: boolean) => {\r\n if (!(v && props.disabled)) model.value = v;\r\n },\r\n });\r\n // Frags\r\n const { base, base$, baseEl, baseSlot, baseFromSlotEl } = useBase(props);\r\n const { contentEvents } = useContent(props, active);\r\n const { themeClasses } = useLocalTheme(props);\r\n const { layerGroup, layerGroupState, getActiveLayers } = useLayerGroup(props);\r\n const { polyTransitionBindProps } = usePolyTransition(props);\r\n const { dimensionStyles } = useDimension(props);\r\n\r\n const { lazyValue, onAfterUpdate } = useLazy(toRef(props, 'eager'), active);\r\n // States\r\n const finish = shallowRef(false);\r\n const hovered = ref(false);\r\n const focused = ref(false);\r\n const disabled = toRef(props, 'disabled');\r\n const maximized = toRef(props, 'maximized');\r\n\r\n const rendered = computed<boolean>(\r\n () => !disabled.value && (lazyValue.value || active.value),\r\n );\r\n\r\n const { coordinateStyles, updateCoordinate } = useCoordinate(props, {\r\n contentEl: content$,\r\n base,\r\n active,\r\n });\r\n useScrollStrategies(props, {\r\n root: root$,\r\n contentEl: content$,\r\n active,\r\n baseEl: base,\r\n updateCoordinate,\r\n });\r\n\r\n function onClickComplementLayer(mouseEvent: MouseEvent) {\r\n emit('click:complement', mouseEvent);\r\n if (!props.modal) {\r\n if (\r\n scrim$.value !== null &&\r\n scrim$.value === mouseEvent.target &&\r\n props.closeClickScrim\r\n ) {\r\n active.value = false;\r\n }\r\n } else {\r\n // TODO: shrug ani\r\n }\r\n }\r\n\r\n function closeConditional(): boolean {\r\n return (\r\n (!props.openOnHover || (props.openOnHover && !hovered.value)) &&\r\n active.value &&\r\n finish.value\r\n ); // TODO: && groupTopLevel.value;\r\n }\r\n\r\n const complementClickOption = reactive<ComplementClickBindingOptions>({\r\n handler: onClickComplementLayer,\r\n determine: closeConditional,\r\n include: () => [baseEl.value],\r\n });\r\n\r\n function onAfterEnter() {\r\n finish.value = true;\r\n }\r\n\r\n function onAfterLeave() {\r\n onAfterUpdate();\r\n finish.value = false;\r\n emit('afterLeave');\r\n }\r\n\r\n function onClickScrim() {\r\n if (props.closeClickScrim) {\r\n active.value = false;\r\n }\r\n }\r\n\r\n function onMouseenter(event: Event) {\r\n hovered.value = true;\r\n }\r\n\r\n function onMouseleave(event: Event) {\r\n hovered.value = false;\r\n }\r\n\r\n const computedStyle = computed(() => {\r\n return {\r\n zIndex: (props.zIndex ?? '2000').toString(),\r\n };\r\n });\r\n\r\n const computedClass = computed<Record<string, boolean>>(() => {\r\n const { classes } = props;\r\n const boundClasses = bindClasses(classes);\r\n return {\r\n ...boundClasses,\r\n 'y-layer--active': !!active.value,\r\n };\r\n });\r\n\r\n const computedContentClasses = computed<Record<string, boolean>>(() => {\r\n const boundClasses = bindClasses(props.contentClasses);\r\n return {\r\n ...boundClasses,\r\n };\r\n });\r\n\r\n expose({\r\n scrim$,\r\n base$,\r\n content$: computed(() => content$.value),\r\n baseEl,\r\n active,\r\n onAfterUpdate,\r\n updateCoordinate,\r\n hovered,\r\n finish,\r\n modal: computed(() => props.modal),\r\n getActiveLayers,\r\n isMe: (vnode: ComponentInternalInstance) => {\r\n return vnode === vm;\r\n },\r\n });\r\n\r\n useRender(() => {\r\n const slotBase = slots.base?.({\r\n active: active.value,\r\n props: mergeProps({\r\n ref: base$,\r\n class: {\r\n 'y-layer-base': true,\r\n 'y-layer-base--active': active.value,\r\n },\r\n ...(props.baseProps ?? {}),\r\n }),\r\n });\r\n baseSlot.value = slotBase;\r\n return (\r\n <>\r\n {slotBase}\r\n <Teleport disabled={!layerGroup.value} to={layerGroup.value as any}>\r\n {rendered.value && (\r\n <div\r\n class={[\r\n {\r\n 'y-layer': true,\r\n 'y-layer--finish': finish.value,\r\n 'y-layer--contained': props.contained,\r\n ...computedClass.value,\r\n },\r\n themeClasses.value,\r\n ]}\r\n onMouseenter={onMouseenter}\r\n onMouseleave={onMouseleave}\r\n style={computedStyle.value}\r\n ref={root$}\r\n {...attrs}\r\n >\r\n <Transition name=\"fade\" appear>\r\n {active.value && props.scrim && (\r\n <div\r\n class=\"y-layer__scrim\"\r\n style={{ '--y-layer-scrim-opacity': props.scrimOpacity }}\r\n onClick={onClickScrim}\r\n ref=\"scrim$\"\r\n ></div>\r\n )}\r\n </Transition>\r\n <PolyTransition\r\n onAfterEnter={onAfterEnter}\r\n onAfterLeave={onAfterLeave}\r\n appear\r\n {...polyTransitionBindProps.value}\r\n >\r\n <div\r\n v-show={active.value}\r\n v-complement-click={{ ...complementClickOption }}\r\n class={{\r\n 'y-layer__content': true,\r\n ...computedContentClasses.value,\r\n }}\r\n style={[\r\n {\r\n ...dimensionStyles.value,\r\n ...coordinateStyles.value,\r\n ...props.contentStyles,\r\n },\r\n ]}\r\n {...contentEvents.value}\r\n ref={content$}\r\n >\r\n {slots.default?.({ active: active.value })}\r\n </div>\r\n </PolyTransition>\r\n </div>\r\n )}\r\n </Teleport>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n complementClickOption,\r\n layerGroup,\r\n active,\r\n finish,\r\n rendered,\r\n lazyValue,\r\n onAfterUpdate: onAfterUpdate as () => void,\r\n scrim$,\r\n content$,\r\n base$,\r\n baseEl,\r\n baseFromSlotEl,\r\n polyTransitionBindProps,\r\n coordinateStyles,\r\n layerGroupState,\r\n getActiveLayers,\r\n };\r\n },\r\n});\r\n\r\nexport type YLayer = InstanceType<typeof YLayer>;\r\n"],"mappings":";AAMA,SACEA,QAAQ,EACRC,UAAU,EACVC,QAAQ,EACRC,kBAAkB,EAClBC,UAAU,EACVC,QAAQ,EACRC,GAAG,EACHC,UAAU,EACVC,KAAK,QACA,KAAK;AAAC,SAEJC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,oBAAoB,EAAEC,aAAa;AAAA,SAE1CC,0BAA0B,EAC1BC,YAAY;AAAA,SAELC,aAAa;AAAA,SACbC,sBAAsB,EAAEC,aAAa;AAAA,SACrCC,OAAO;AAAA,SAEdC,cAAc,EACdC,+BAA+B,EAC/BC,iBAAiB;AAAA,SAGjBC,eAAe;AAAA,SAGRC,WAAW,EAAEC,eAAe,EAAEC,YAAY;AAAA,SAE1CC,qBAAqB,EAAEC,OAAO;AAAA,SAC9BC,wBAAwB,EAAEC,UAAU;AAAA,SAE3CC,wBAAwB,EACxBC,mBAAmB;AAGrB;AAEA,OAAO,MAAMC,gBAAgB,GAAGP,YAAY,CAC1C;EACEQ,UAAU,EAAE;IACVC,IAAI,EAAEC;EACR,CAAC;EACDC,KAAK,EAAE;IACLF,IAAI,EAAEC;EACR,CAAC;EACDE,YAAY,EAAE;IACZH,IAAI,EAAEI;EACR,CAAC;EACDC,KAAK,EAAE;IACLL,IAAI,EAAEC;EACR,CAAC;EACDK,OAAO,EAAE;IACPN,IAAI,EAAE,CAACO,KAAK,EAAEC,MAAM,EAAEC,MAAM;EAG9B,CAAC;EACDC,cAAc,EAAE;IACdV,IAAI,EAAE,CAACO,KAAK,EAAEC,MAAM,EAAEC,MAAM;EAG9B,CAAC;EACDE,eAAe,EAAE;IACfX,IAAI,EAAEC;EACR,CAAC;EACDW,aAAa,EAAE;IACbZ,IAAI,EAAES,MAAiC;IACvCI,OAAO,EAAEA,CAAA,KAAM,CAAC;EAClB,CAAC;EACDC,QAAQ,EAAE;IACRd,IAAI,EAAEC,OAA4B;IAClCY,OAAO,EAAE;EACX,CAAC;EACDE,SAAS,EAAE;IACTf,IAAI,EAAEC;EACR,CAAC;EACDe,WAAW,EAAE;IACXhB,IAAI,EAAEC,OAA4B;IAClCY,OAAO,EAAE;EACX,CAAC;EACDI,SAAS,EAAE;IACTjB,IAAI,EAAEI,MAA0B;IAChCS,OAAO,EAAE;EACX,CAAC;EACDK,UAAU,EAAE;IACVlB,IAAI,EAAEI,MAA0B;IAChCS,OAAO,EAAE;EACX,CAAC;EACDM,MAAM,EAAE;IACNnB,IAAI,EAAE,CAACI,MAAM,EAAEI,MAAM,CAA8B;IACnDK,OAAO,EAAE;EACX,CAAC;EACDO,SAAS,EAAEnB,OAAO;EAClBoB,UAAU,EAAE,CAACb,MAAM,EAAEC,MAAM,CAA+B;EAC1D,GAAG3B,sBAAsB,CAAC,CAAC;EAC3B,GAAGI,+BAA+B,CAAC,CAAC;EACpC,GAAGM,qBAAqB,CAAC,CAAC;EAC1B,GAAGE,wBAAwB,CAAC,CAAC;EAC7B,GAAGjB,oBAAoB,CAAC,CAAC;EACzB,GAAGmB,wBAAwB,CAAC,CAAC;EAC7B,GAAGjB,0BAA0B,CAAC;AAChC,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAM2C,MAAM,GAAGhC,eAAe,CAAC;EACpCiC,IAAI,EAAE,QAAQ;EACdC,YAAY,EAAE,KAAK;EACnBC,UAAU,EAAE;IACVxC;EACF,CAAC;EACDyC,UAAU,EAAE;IACVtC;EACF,CAAC;EACDuC,KAAK,EAAE;IACLC,KAAK,EAAE3B,OAA4B;IACnC,GAAGH,gBAAgB,CAAC;EACtB,CAAC;EACD+B,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7C,kBAAkB,EAAGC,UAAsB,IAAK,IAAI;IACpDC,UAAU,EAAEA,CAAA,KAAM;EACpB,CAAC;EACDC,KAAK,EAAExB,MAGL;EACFyB,KAAKA,CAACP,KAAK,EAAAQ,IAAA,EAAkC;IAAA,IAAhC;MAAEC,IAAI;MAAEC,MAAM;MAAEC,KAAK;MAAEL;IAAM,CAAC,GAAAE,IAAA;IACzC,MAAMI,EAAE,GAAGtE,kBAAkB,CAAC,CAAC;IAC/B,MAAMuE,MAAM,GAAGpE,GAAG,CAAc,CAAC;IACjC,MAAMqE,QAAQ,GAAGrE,GAAG,CAAc,CAAC;IACnC,MAAMsE,KAAK,GAAGtE,GAAG,CAAc,CAAC;IAChC,MAAMuE,KAAK,GAAGpE,cAAc,CAACoD,KAAK,CAAC;IACnC,MAAMiB,MAAM,GAAG5E,QAAQ,CAAC;MACtB6E,GAAG,EAAEA,CAAA,KAAe;QAClB,OAAO,CAAC,CAACF,KAAK,CAACb,KAAK;MACtB,CAAC;MACDgB,GAAG,EAAGC,CAAU,IAAK;QACnB,IAAI,EAAEA,CAAC,IAAIpB,KAAK,CAACb,QAAQ,CAAC,EAAE6B,KAAK,CAACb,KAAK,GAAGiB,CAAC;MAC7C;IACF,CAAC,CAAC;IACF;IACA,MAAM;MAAEC,IAAI;MAAEC,KAAK;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAe,CAAC,GAAG3D,OAAO,CAACkC,KAAK,CAAC;IACxE,MAAM;MAAE0B;IAAc,CAAC,GAAG1D,UAAU,CAACgC,KAAK,EAAEiB,MAAM,CAAC;IACnD,MAAM;MAAEU;IAAa,CAAC,GAAGvE,aAAa,CAAC4C,KAAK,CAAC;IAC7C,MAAM;MAAEN,UAAU;MAAEkC,eAAe;MAAEC;IAAgB,CAAC,GAAG3E,aAAa,CAAC8C,KAAK,CAAC;IAC7E,MAAM;MAAE8B;IAAwB,CAAC,GAAGtE,iBAAiB,CAACwC,KAAK,CAAC;IAC5D,MAAM;MAAE+B;IAAgB,CAAC,GAAG9E,YAAY,CAAC+C,KAAK,CAAC;IAE/C,MAAM;MAAEgC,SAAS;MAAEC;IAAc,CAAC,GAAG5E,OAAO,CAACV,KAAK,CAACqD,KAAK,EAAE,OAAO,CAAC,EAAEiB,MAAM,CAAC;IAC3E;IACA,MAAMiB,MAAM,GAAGxF,UAAU,CAAC,KAAK,CAAC;IAChC,MAAMyF,OAAO,GAAG1F,GAAG,CAAC,KAAK,CAAC;IAC1B,MAAM2F,OAAO,GAAG3F,GAAG,CAAC,KAAK,CAAC;IAC1B,MAAM0C,QAAQ,GAAGxC,KAAK,CAACqD,KAAK,EAAE,UAAU,CAAC;IACzC,MAAMZ,SAAS,GAAGzC,KAAK,CAACqD,KAAK,EAAE,WAAW,CAAC;IAE3C,MAAMqC,QAAQ,GAAGhG,QAAQ,CACvB,MAAM,CAAC8C,QAAQ,CAACgB,KAAK,KAAK6B,SAAS,CAAC7B,KAAK,IAAIc,MAAM,CAACd,KAAK,CAC3D,CAAC;IAED,MAAM;MAAEmC,gBAAgB;MAAEC;IAAiB,CAAC,GAAGxF,aAAa,CAACiD,KAAK,EAAE;MAClEwC,SAAS,EAAE1B,QAAQ;MACnBO,IAAI;MACJJ;IACF,CAAC,CAAC;IACF/C,mBAAmB,CAAC8B,KAAK,EAAE;MACzByC,IAAI,EAAE1B,KAAK;MACXyB,SAAS,EAAE1B,QAAQ;MACnBG,MAAM;MACNM,MAAM,EAAEF,IAAI;MACZkB;IACF,CAAC,CAAC;IAEF,SAASG,sBAAsBA,CAACtC,UAAsB,EAAE;MACtDK,IAAI,CAAC,kBAAkB,EAAEL,UAAU,CAAC;MACpC,IAAI,CAACJ,KAAK,CAACC,KAAK,EAAE;QAChB,IACEY,MAAM,CAACV,KAAK,KAAK,IAAI,IACrBU,MAAM,CAACV,KAAK,KAAKC,UAAU,CAACuC,MAAM,IAClC3C,KAAK,CAAChB,eAAe,EACrB;UACAiC,MAAM,CAACd,KAAK,GAAG,KAAK;QACtB;MACF,CAAC,MAAM;QACL;MAAA;IAEJ;IAEA,SAASyC,gBAAgBA,CAAA,EAAY;MACnC,OACE,CAAC,CAAC5C,KAAK,CAACX,WAAW,IAAKW,KAAK,CAACX,WAAW,IAAI,CAAC8C,OAAO,CAAChC,KAAM,KAC5Dc,MAAM,CAACd,KAAK,IACZ+B,MAAM,CAAC/B,KAAK,CACZ,CAAC;IACL;;IAEA,MAAM0C,qBAAqB,GAAGrG,QAAQ,CAAgC;MACpEsG,OAAO,EAAEJ,sBAAsB;MAC/BK,SAAS,EAAEH,gBAAgB;MAC3BI,OAAO,EAAEA,CAAA,KAAM,CAACzB,MAAM,CAACpB,KAAK;IAC9B,CAAC,CAAC;IAEF,SAAS8C,YAAYA,CAAA,EAAG;MACtBf,MAAM,CAAC/B,KAAK,GAAG,IAAI;IACrB;IAEA,SAAS+C,YAAYA,CAAA,EAAG;MACtBjB,aAAa,CAAC,CAAC;MACfC,MAAM,CAAC/B,KAAK,GAAG,KAAK;MACpBM,IAAI,CAAC,YAAY,CAAC;IACpB;IAEA,SAAS0C,YAAYA,CAAA,EAAG;MACtB,IAAInD,KAAK,CAAChB,eAAe,EAAE;QACzBiC,MAAM,CAACd,KAAK,GAAG,KAAK;MACtB;IACF;IAEA,SAASiD,YAAYA,CAACC,KAAY,EAAE;MAClClB,OAAO,CAAChC,KAAK,GAAG,IAAI;IACtB;IAEA,SAASmD,YAAYA,CAACD,KAAY,EAAE;MAClClB,OAAO,CAAChC,KAAK,GAAG,KAAK;IACvB;IAEA,MAAMoD,aAAa,GAAGlH,QAAQ,CAAC,MAAM;MACnC,OAAO;QACLmD,MAAM,EAAE,CAACQ,KAAK,CAACR,MAAM,IAAI,MAAM,EAAEgE,QAAQ,CAAC;MAC5C,CAAC;IACH,CAAC,CAAC;IAEF,MAAMC,aAAa,GAAGpH,QAAQ,CAA0B,MAAM;MAC5D,MAAM;QAAEsC;MAAQ,CAAC,GAAGqB,KAAK;MACzB,MAAM0D,YAAY,GAAGhG,WAAW,CAACiB,OAAO,CAAC;MACzC,OAAO;QACL,GAAG+E,YAAY;QACf,iBAAiB,EAAE,CAAC,CAACzC,MAAM,CAACd;MAC9B,CAAC;IACH,CAAC,CAAC;IAEF,MAAMwD,sBAAsB,GAAGtH,QAAQ,CAA0B,MAAM;MACrE,MAAMqH,YAAY,GAAGhG,WAAW,CAACsC,KAAK,CAACjB,cAAc,CAAC;MACtD,OAAO;QACL,GAAG2E;MACL,CAAC;IACH,CAAC,CAAC;IAEFhD,MAAM,CAAC;MACLG,MAAM;MACNS,KAAK;MACLR,QAAQ,EAAEzE,QAAQ,CAAC,MAAMyE,QAAQ,CAACX,KAAK,CAAC;MACxCoB,MAAM;MACNN,MAAM;MACNgB,aAAa;MACbM,gBAAgB;MAChBJ,OAAO;MACPD,MAAM;MACNjC,KAAK,EAAE5D,QAAQ,CAAC,MAAM2D,KAAK,CAACC,KAAK,CAAC;MAClC4B,eAAe;MACf+B,IAAI,EAAGC,KAAgC,IAAK;QAC1C,OAAOA,KAAK,KAAKjD,EAAE;MACrB;IACF,CAAC,CAAC;IAEF/D,SAAS,CAAC,MAAM;MACd,MAAMiH,QAAQ,GAAGxD,KAAK,CAACe,IAAI,GAAG;QAC5BJ,MAAM,EAAEA,MAAM,CAACd,KAAK;QACpBH,KAAK,EAAEzD,UAAU,CAAC;UAChBE,GAAG,EAAE6E,KAAK;UACVyC,KAAK,EAAE;YACL,cAAc,EAAE,IAAI;YACpB,sBAAsB,EAAE9C,MAAM,CAACd;UACjC,CAAC;UACD,IAAIH,KAAK,CAACgE,SAAS,IAAI,CAAC,CAAC;QAC3B,CAAC;MACH,CAAC,CAAC;MACFxC,QAAQ,CAACrB,KAAK,GAAG2D,QAAQ;MACzB,OAAAG,YAAA,CAAAC,SAAA,SAEKJ,QAAQ,EAAAG,YAAA,CAAA9H,QAAA;QAAA,YACW,CAACuD,UAAU,CAACS,KAAK;QAAA,MAAMT,UAAU,CAACS;MAAK;QAAAjB,OAAA,EAAAA,CAAA,MACxDmD,QAAQ,CAAClC,KAAK,IAAA8D,YAAA,QAAAE,WAAA;UAAA,SAEJ,CACL;YACE,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAEjC,MAAM,CAAC/B,KAAK;YAC/B,oBAAoB,EAAEH,KAAK,CAACP,SAAS;YACrC,GAAGgE,aAAa,CAACtD;UACnB,CAAC,EACDwB,YAAY,CAACxB,KAAK,CACnB;UAAA,gBACaiD,YAAY;UAAA,gBACZE,YAAY;UAAA,SACnBC,aAAa,CAACpD,KAAK;UAAA,OACrBY;QAAK,GACNJ,KAAK,IAAAsD,YAAA,CAAA7H,UAAA;UAAA;UAAA;QAAA;UAAA8C,OAAA,EAAAA,CAAA,MAGN+B,MAAM,CAACd,KAAK,IAAIH,KAAK,CAACzB,KAAK,IAAA0F,YAAA;YAAA;YAAA,SAGjB;cAAE,yBAAyB,EAAEjE,KAAK,CAACxB;YAAa,CAAC;YAAA,WAC/C2E,YAAY;YAAA;UAAA,QAGxB;QAAA,IAAAc,YAAA,CAAA3G,cAAA,EAAA6G,WAAA;UAAA,gBAGalB,YAAY;UAAA,gBACZC,YAAY;UAAA;QAAA,GAEtBpB,uBAAuB,CAAC3B,KAAK;UAAAjB,OAAA,EAAAA,CAAA,MAAAkF,eAAA,CAAAH,YAAA,QAAAE,WAAA;YAAA,SAKxB;cACL,kBAAkB,EAAE,IAAI;cACxB,GAAGR,sBAAsB,CAACxD;YAC5B,CAAC;YAAA,SACM,CACL;cACE,GAAG4B,eAAe,CAAC5B,KAAK;cACxB,GAAGmC,gBAAgB,CAACnC,KAAK;cACzB,GAAGH,KAAK,CAACf;YACX,CAAC;UACF,GACGyC,aAAa,CAACvB,KAAK;YAAA,OAClBW;UAAQ,KAEZR,KAAK,CAACpB,OAAO,GAAG;YAAE+B,MAAM,EAAEA,MAAM,CAACd;UAAM,CAAC,CAAC,MAAAkE,MAAA,EAhBlCpD,MAAM,CAACd,KAAK,IAAAmE,iBAAA,sBACA;YAAE,GAAGzB;UAAsB,CAAC;QAAA,IAmBvD;MAAA;IAIT,CAAC,CAAC;IAEF,OAAO;MACLA,qBAAqB;MACrBnD,UAAU;MACVuB,MAAM;MACNiB,MAAM;MACNG,QAAQ;MACRL,SAAS;MACTC,aAAa,EAAEA,aAA2B;MAC1CpB,MAAM;MACNC,QAAQ;MACRQ,KAAK;MACLC,MAAM;MACNE,cAAc;MACdK,uBAAuB;MACvBQ,gBAAgB;MAChBV,eAAe;MACfC;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"YLayer.js","names":["computed","getCurrentInstance","mergeProps","reactive","ref","shallowRef","Teleport","Transition","toRef","Fragment","_Fragment","createVNode","_createVNode","vShow","_vShow","resolveDirective","_resolveDirective","_mergeProps","withDirectives","_withDirectives","useModelDuplex","useRender","pressCoordinateProps","useCoordinate","pressDimensionPropsOptions","useDimension","useLayerGroup","pressThemePropsOptions","useLocalTheme","useLazy","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","ComplementClick","bindClasses","defineComponent","propsFactory","pressBasePropsOptions","useBase","pressContentPropsOptions","useContent","pressScrollStrategyProps","useScrollStrategies","noop","pressYLayerProps","modelValue","type","Boolean","scrim","scrimOpacity","Number","eager","classes","Array","String","Object","contentClasses","closeClickScrim","contentStyles","default","disabled","maximized","openOnHover","openDelay","closeDelay","zIndex","contained","layerGroup","YLayer","name","inheritAttrs","components","directives","props","modal","emits","value","mouseEvent","afterLeave","slots","setup","_ref","emit","expose","attrs","vm","scrim$","content$","root$","model","active","get","set","v","base","base$","baseEl","baseSlot","baseFromSlotEl","contentEvents","themeClasses","layerGroupState","getActiveLayers","polyTransitionBindProps","dimensionStyles","lazyValue","onAfterUpdate","finish","hovered","focused","rendered","coordination","coordinateStyles","updateCoordinate","contentEl","root","onClickComplementLayer","target","closeConditional","complementClickOption","handler","determine","include","onAfterEnter","onAfterLeave","onClickScrim","onMouseenter","event","onMouseleave","computedStyle","toString","computedClass","boundClasses","computedContentClasses","side","align","isMe","vnode","slotBase","class","baseProps"],"sources":["../../../src/components/layer/YLayer.tsx"],"sourcesContent":["import type { ComponentInternalInstance, PropType, SlotsType } from \"vue\";\r\nimport {\r\n\tcomputed,\r\n\tgetCurrentInstance,\r\n\tmergeProps,\r\n\treactive,\r\n\tref,\r\n\tshallowRef,\r\n\tTeleport,\r\n\tTransition,\r\n\ttoRef,\r\n} from \"vue\";\r\n\r\nimport { useModelDuplex } from \"@/composables/communication\";\r\nimport { useRender } from \"@/composables/component\";\r\nimport { pressCoordinateProps, useCoordinate } from \"@/composables/coordinate\";\r\nimport {\r\n\tpressDimensionPropsOptions,\r\n\tuseDimension,\r\n} from \"@/composables/dimension\";\r\nimport { useLayerGroup } from \"@/composables/layer-group\";\r\nimport { pressThemePropsOptions, useLocalTheme } from \"@/composables/theme\";\r\nimport { useLazy } from \"@/composables/timing\";\r\nimport {\r\n\tPolyTransition,\r\n\tpressPolyTransitionPropsOptions,\r\n\tusePolyTransition,\r\n} from \"@/composables/transition\";\r\nimport {\r\n\tComplementClick,\r\n\ttype ComplementClickBindingOptions,\r\n} from \"@/directives/complement-click\";\r\nimport { bindClasses, defineComponent, propsFactory } from \"@/util/component\";\r\n\r\nimport { pressBasePropsOptions, useBase } from \"./base\";\r\nimport { pressContentPropsOptions, useContent } from \"./content\";\r\nimport {\r\n\tpressScrollStrategyProps,\r\n\tuseScrollStrategies,\r\n} from \"./scroll-strategies\";\r\n\r\nimport \"./YLayer.scss\";\r\nimport type { CssProperties } from \"@/types\";\r\nimport { noop } from \"@/util\";\r\n\r\nexport const pressYLayerProps = propsFactory(\r\n\t{\r\n\t\tmodelValue: {\r\n\t\t\ttype: Boolean as PropType<boolean>,\r\n\t\t},\r\n\t\tscrim: {\r\n\t\t\ttype: Boolean as PropType<boolean>,\r\n\t\t},\r\n\t\tscrimOpacity: {\r\n\t\t\ttype: Number as PropType<number>,\r\n\t\t},\r\n\t\teager: {\r\n\t\t\ttype: Boolean as PropType<boolean>,\r\n\t\t},\r\n\t\tclasses: {\r\n\t\t\ttype: [Array, String, Object] as PropType<\r\n\t\t\t\tstring[] | string | Record<string, any>\r\n\t\t\t>,\r\n\t\t},\r\n\t\tcontentClasses: {\r\n\t\t\ttype: [Array, String, Object] as PropType<\r\n\t\t\t\tstring[] | string | Record<string, any>\r\n\t\t\t>,\r\n\t\t},\r\n\t\tcloseClickScrim: {\r\n\t\t\ttype: Boolean as PropType<boolean>,\r\n\t\t},\r\n\t\tcontentStyles: {\r\n\t\t\ttype: Object as PropType<CssProperties>,\r\n\t\t\tdefault: () => {},\r\n\t\t},\r\n\t\tdisabled: {\r\n\t\t\ttype: Boolean as PropType<boolean>,\r\n\t\t\tdefault: false,\r\n\t\t},\r\n\t\tmaximized: {\r\n\t\t\ttype: Boolean as PropType<boolean>,\r\n\t\t},\r\n\t\topenOnHover: {\r\n\t\t\ttype: Boolean as PropType<boolean>,\r\n\t\t\tdefault: false,\r\n\t\t},\r\n\t\topenDelay: {\r\n\t\t\ttype: Number as PropType<number>,\r\n\t\t\tdefault: 200,\r\n\t\t},\r\n\t\tcloseDelay: {\r\n\t\t\ttype: Number as PropType<number>,\r\n\t\t\tdefault: 200,\r\n\t\t},\r\n\t\tzIndex: {\r\n\t\t\ttype: [Number, String] as PropType<number | string>,\r\n\t\t\tdefault: 2000,\r\n\t\t},\r\n\t\tcontained: Boolean,\r\n\t\tlayerGroup: [String, Object] as PropType<string | Element>,\r\n\t\t...pressThemePropsOptions(),\r\n\t\t...pressPolyTransitionPropsOptions(),\r\n\t\t...pressBasePropsOptions(),\r\n\t\t...pressContentPropsOptions(),\r\n\t\t...pressCoordinateProps(),\r\n\t\t...pressScrollStrategyProps(),\r\n\t\t...pressDimensionPropsOptions(),\r\n\t},\r\n\t\"YLayer\",\r\n);\r\n\r\nexport const YLayer = defineComponent({\r\n\tname: \"YLayer\",\r\n\tinheritAttrs: false,\r\n\tcomponents: {\r\n\t\tPolyTransition,\r\n\t},\r\n\tdirectives: {\r\n\t\tComplementClick,\r\n\t},\r\n\tprops: {\r\n\t\tmodal: Boolean as PropType<boolean>,\r\n\t\t...pressYLayerProps(),\r\n\t},\r\n\temits: {\r\n\t\t\"update:modelValue\": (value: boolean) => true,\r\n\t\t\"click:complement\": (mouseEvent: MouseEvent) => true,\r\n\t\tafterLeave: () => true,\r\n\t},\r\n\tslots: Object as SlotsType<{\r\n\t\tbase: any;\r\n\t\tdefault: any;\r\n\t}>,\r\n\tsetup(props, { emit, expose, attrs, slots }) {\r\n\t\tconst vm = getCurrentInstance();\r\n\t\tconst scrim$ = ref<HTMLElement>();\r\n\t\tconst content$ = ref<HTMLElement>();\r\n\t\tconst root$ = ref<HTMLElement>();\r\n\t\tconst model = useModelDuplex(props);\r\n\t\tconst active = computed({\r\n\t\t\tget: (): boolean => {\r\n\t\t\t\treturn !!model.value;\r\n\t\t\t},\r\n\t\t\tset: (v: boolean) => {\r\n\t\t\t\tif (!(v && props.disabled)) model.value = v;\r\n\t\t\t},\r\n\t\t});\r\n\t\t// Frags\r\n\t\tconst { base, base$, baseEl, baseSlot, baseFromSlotEl } = useBase(props);\r\n\t\tconst { contentEvents } = useContent(props, active);\r\n\t\tconst { themeClasses } = useLocalTheme(props);\r\n\t\tconst { layerGroup, layerGroupState, getActiveLayers } =\r\n\t\t\tuseLayerGroup(props);\r\n\t\tconst { polyTransitionBindProps } = usePolyTransition(props);\r\n\t\tconst { dimensionStyles } = useDimension(props);\r\n\r\n\t\tconst { lazyValue, onAfterUpdate } = useLazy(toRef(props, \"eager\"), active);\r\n\t\t// States\r\n\t\tconst finish = shallowRef(false);\r\n\t\tconst hovered = ref(false);\r\n\t\tconst focused = ref(false);\r\n\t\tconst disabled = toRef(props, \"disabled\");\r\n\t\tconst maximized = toRef(props, \"maximized\");\r\n\r\n\t\tconst rendered = computed<boolean>(\r\n\t\t\t() => !disabled.value && (lazyValue.value || active.value),\r\n\t\t);\r\n\r\n\t\tconst { coordination, coordinateStyles, updateCoordinate } = useCoordinate(props, {\r\n\t\t\tcontentEl: content$,\r\n\t\t\tbase,\r\n\t\t\tactive,\r\n\t\t});\r\n\t\tuseScrollStrategies(props, {\r\n\t\t\troot: root$,\r\n\t\t\tcontentEl: content$,\r\n\t\t\tactive,\r\n\t\t\tbaseEl: base,\r\n\t\t\tupdateCoordinate,\r\n\t\t});\r\n\r\n\t\tfunction onClickComplementLayer(mouseEvent: MouseEvent) {\r\n\t\t\temit(\"click:complement\", mouseEvent);\r\n\t\t\tif (!props.modal) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tscrim$.value !== null &&\r\n\t\t\t\t\tscrim$.value === mouseEvent.target &&\r\n\t\t\t\t\tprops.closeClickScrim\r\n\t\t\t\t) {\r\n\t\t\t\t\tactive.value = false;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// TODO: shrug ani\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction closeConditional(): boolean {\r\n\t\t\treturn (\r\n\t\t\t\t(!props.openOnHover || (props.openOnHover && !hovered.value)) &&\r\n\t\t\t\tactive.value &&\r\n\t\t\t\tfinish.value\r\n\t\t\t); // TODO: && groupTopLevel.value;\r\n\t\t}\r\n\r\n\t\tconst complementClickOption = reactive<ComplementClickBindingOptions>({\r\n\t\t\thandler: onClickComplementLayer,\r\n\t\t\tdetermine: closeConditional,\r\n\t\t\tinclude: () => [baseEl.value],\r\n\t\t});\r\n\r\n\t\tfunction onAfterEnter() {\r\n\t\t\tfinish.value = true;\r\n\t\t}\r\n\r\n\t\tfunction onAfterLeave() {\r\n\t\t\tonAfterUpdate();\r\n\t\t\tfinish.value = false;\r\n\t\t\temit(\"afterLeave\");\r\n\t\t}\r\n\r\n\t\tfunction onClickScrim() {\r\n\t\t\tif (props.closeClickScrim) {\r\n\t\t\t\tactive.value = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction onMouseenter(event: Event) {\r\n\t\t\thovered.value = true;\r\n\t\t}\r\n\r\n\t\tfunction onMouseleave(event: Event) {\r\n\t\t\thovered.value = false;\r\n\t\t}\r\n\r\n\t\tconst computedStyle = computed(() => {\r\n\t\t\treturn {\r\n\t\t\t\tzIndex: (props.zIndex ?? \"2000\").toString(),\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\tconst computedClass = computed<Record<string, boolean>>(() => {\r\n\t\t\tconst { classes } = props;\r\n\t\t\tconst boundClasses = bindClasses(classes);\r\n\t\t\treturn {\r\n\t\t\t\t...boundClasses,\r\n\t\t\t\t\"y-layer--active\": !!active.value,\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\tconst computedContentClasses = computed<Record<string, boolean>>(() => {\r\n\t\t\tconst boundClasses = bindClasses(props.contentClasses);\r\n\t\t\tconst { side, align } = coordination.value;\r\n\t\t\treturn {\r\n\t\t\t\t...boundClasses,\r\n [`y-layer--side-${side}`]: !!side,\r\n [`y-layer--align-${align}`]: !!align,\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\texpose({\r\n\t\t\tscrim$,\r\n\t\t\tbase$,\r\n\t\t\tcontent$: computed(() => content$.value),\r\n\t\t\tbaseEl,\r\n\t\t\tactive,\r\n\t\t\tonAfterUpdate,\r\n\t\t\tupdateCoordinate,\r\n\t\t\thovered,\r\n\t\t\tfinish,\r\n\t\t\tmodal: computed(() => props.modal),\r\n\t\t\tgetActiveLayers,\r\n\t\t\tisMe: (vnode: ComponentInternalInstance) => {\r\n\t\t\t\treturn vnode === vm;\r\n\t\t\t},\r\n\t\t\tcoordination,\r\n\t\t});\r\n\r\n\t\tuseRender(() => {\r\n\t\t\tconst slotBase = slots.base?.({\r\n\t\t\t\tactive: active.value,\r\n\t\t\t\tprops: mergeProps({\r\n\t\t\t\t\tref: base$,\r\n\t\t\t\t\tclass: {\r\n\t\t\t\t\t\t\"y-layer-base\": true,\r\n\t\t\t\t\t\t\"y-layer-base--active\": active.value,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t...(props.baseProps ?? {}),\r\n\t\t\t\t}),\r\n\t\t\t});\r\n\t\t\tbaseSlot.value = slotBase;\r\n\t\t\treturn (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{slotBase}\r\n\t\t\t\t\t<Teleport disabled={!layerGroup.value} to={layerGroup.value as any}>\r\n\t\t\t\t\t\t{rendered.value && (\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass={[\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\"y-layer\": true,\r\n\t\t\t\t\t\t\t\t\t\t\"y-layer--finish\": finish.value,\r\n\t\t\t\t\t\t\t\t\t\t\"y-layer--contained\": props.contained,\r\n\t\t\t\t\t\t\t\t\t\t...computedClass.value,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\tthemeClasses.value,\r\n\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\tonMouseenter={onMouseenter}\r\n\t\t\t\t\t\t\t\tonMouseleave={onMouseleave}\r\n\t\t\t\t\t\t\t\tstyle={computedStyle.value}\r\n\t\t\t\t\t\t\t\tref={root$}\r\n\t\t\t\t\t\t\t\t{...attrs}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<Transition name=\"fade\" appear>\r\n\t\t\t\t\t\t\t\t\t{active.value && props.scrim && (\r\n\t\t\t\t\t\t\t\t\t\t// biome-ignore lint/a11y/noStaticElementInteractions: <explanation>\r\n\t\t\t\t\t\t\t\t\t\t// biome-ignore lint/a11y/useKeyWithClickEvents: <explanation>\r\n\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"y-layer__scrim\"\r\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ \"--y-layer-scrim-opacity\": props.scrimOpacity }}\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={onClickScrim}\r\n\t\t\t\t\t\t\t\t\t\t\tonKeydown={noop()}\r\n\t\t\t\t\t\t\t\t\t\t\tonKeyup={noop()}\r\n\t\t\t\t\t\t\t\t\t\t\tref=\"scrim$\"\r\n\t\t\t\t\t\t\t\t\t\t></div>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</Transition>\r\n\t\t\t\t\t\t\t\t<PolyTransition\r\n\t\t\t\t\t\t\t\t\tonAfterEnter={onAfterEnter}\r\n\t\t\t\t\t\t\t\t\tonAfterLeave={onAfterLeave}\r\n\t\t\t\t\t\t\t\t\tappear\r\n\t\t\t\t\t\t\t\t\t{...polyTransitionBindProps.value}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\tv-show={active.value}\r\n\t\t\t\t\t\t\t\t\t\tv-complement-click={{ ...complementClickOption }}\r\n\t\t\t\t\t\t\t\t\t\tclass={{\r\n\t\t\t\t\t\t\t\t\t\t\t\"y-layer__content\": true,\r\n\t\t\t\t\t\t\t\t\t\t\t...computedContentClasses.value,\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tstyle={[\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t...dimensionStyles.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t...coordinateStyles.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t...props.contentStyles,\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\t{...contentEvents.value}\r\n\t\t\t\t\t\t\t\t\t\tref={content$}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{slots.default?.({ active: active.value })}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</PolyTransition>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</Teleport>\r\n\t\t\t\t</>\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\treturn {\r\n\t\t\tcomplementClickOption,\r\n\t\t\tlayerGroup,\r\n\t\t\tactive,\r\n\t\t\tfinish,\r\n\t\t\trendered,\r\n\t\t\tlazyValue,\r\n\t\t\tonAfterUpdate: onAfterUpdate as () => void,\r\n\t\t\tscrim$,\r\n\t\t\tcontent$,\r\n\t\t\tbase,\r\n\t\t\tbase$,\r\n\t\t\tbaseEl,\r\n\t\t\tbaseFromSlotEl,\r\n\t\t\tpolyTransitionBindProps,\r\n\t\t\tcoordinateStyles,\r\n\t\t\tlayerGroupState,\r\n\t\t\tgetActiveLayers,\r\n\t\t\tcoordination,\r\n\t\t};\r\n\t},\r\n});\r\n\r\nexport type YLayer = InstanceType<typeof YLayer>;\r\n"],"mappings":"AACA,SACCA,QAAQ,EACRC,kBAAkB,EAClBC,UAAU,EACVC,QAAQ,EACRC,GAAG,EACHC,UAAU,EACVC,QAAQ,EACRC,UAAU,EACVC,KAAK,EAAAC,QAAA,IAAAC,SAAA,EAAAC,WAAA,IAAAC,YAAA,EAAAC,KAAA,IAAAC,MAAA,EAAAC,gBAAA,IAAAC,iBAAA,EAAAd,UAAA,IAAAe,WAAA,EAAAC,cAAA,IAAAC,eAAA,QACC,KAAK;AAAC,SAEJC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,oBAAoB,EAAEC,aAAa;AAAA,SAE3CC,0BAA0B,EAC1BC,YAAY;AAAA,SAEJC,aAAa;AAAA,SACbC,sBAAsB,EAAEC,aAAa;AAAA,SACrCC,OAAO;AAAA,SAEfC,cAAc,EACdC,+BAA+B,EAC/BC,iBAAiB;AAAA,SAGjBC,eAAe;AAAA,SAGPC,WAAW,EAAEC,eAAe,EAAEC,YAAY;AAAA,SAE1CC,qBAAqB,EAAEC,OAAO;AAAA,SAC9BC,wBAAwB,EAAEC,UAAU;AAAA,SAE5CC,wBAAwB,EACxBC,mBAAmB;AAGpB;AAAuB,SAEdC,IAAI;AAEb,OAAO,MAAMC,gBAAgB,GAAGR,YAAY,CAC3C;EACCS,UAAU,EAAE;IACXC,IAAI,EAAEC;EACP,CAAC;EACDC,KAAK,EAAE;IACNF,IAAI,EAAEC;EACP,CAAC;EACDE,YAAY,EAAE;IACbH,IAAI,EAAEI;EACP,CAAC;EACDC,KAAK,EAAE;IACNL,IAAI,EAAEC;EACP,CAAC;EACDK,OAAO,EAAE;IACRN,IAAI,EAAE,CAACO,KAAK,EAAEC,MAAM,EAAEC,MAAM;EAG7B,CAAC;EACDC,cAAc,EAAE;IACfV,IAAI,EAAE,CAACO,KAAK,EAAEC,MAAM,EAAEC,MAAM;EAG7B,CAAC;EACDE,eAAe,EAAE;IAChBX,IAAI,EAAEC;EACP,CAAC;EACDW,aAAa,EAAE;IACdZ,IAAI,EAAES,MAAiC;IACvCI,OAAO,EAAEA,CAAA,KAAM,CAAC;EACjB,CAAC;EACDC,QAAQ,EAAE;IACTd,IAAI,EAAEC,OAA4B;IAClCY,OAAO,EAAE;EACV,CAAC;EACDE,SAAS,EAAE;IACVf,IAAI,EAAEC;EACP,CAAC;EACDe,WAAW,EAAE;IACZhB,IAAI,EAAEC,OAA4B;IAClCY,OAAO,EAAE;EACV,CAAC;EACDI,SAAS,EAAE;IACVjB,IAAI,EAAEI,MAA0B;IAChCS,OAAO,EAAE;EACV,CAAC;EACDK,UAAU,EAAE;IACXlB,IAAI,EAAEI,MAA0B;IAChCS,OAAO,EAAE;EACV,CAAC;EACDM,MAAM,EAAE;IACPnB,IAAI,EAAE,CAACI,MAAM,EAAEI,MAAM,CAA8B;IACnDK,OAAO,EAAE;EACV,CAAC;EACDO,SAAS,EAAEnB,OAAO;EAClBoB,UAAU,EAAE,CAACb,MAAM,EAAEC,MAAM,CAA+B;EAC1D,GAAG5B,sBAAsB,CAAC,CAAC;EAC3B,GAAGI,+BAA+B,CAAC,CAAC;EACpC,GAAGM,qBAAqB,CAAC,CAAC;EAC1B,GAAGE,wBAAwB,CAAC,CAAC;EAC7B,GAAGjB,oBAAoB,CAAC,CAAC;EACzB,GAAGmB,wBAAwB,CAAC,CAAC;EAC7B,GAAGjB,0BAA0B,CAAC;AAC/B,CAAC,EACD,QACD,CAAC;AAED,OAAO,MAAM4C,MAAM,GAAGjC,eAAe,CAAC;EACrCkC,IAAI,EAAE,QAAQ;EACdC,YAAY,EAAE,KAAK;EACnBC,UAAU,EAAE;IACXzC;EACD,CAAC;EACD0C,UAAU,EAAE;IACXvC;EACD,CAAC;EACDwC,KAAK,EAAE;IACNC,KAAK,EAAE3B,OAA4B;IACnC,GAAGH,gBAAgB,CAAC;EACrB,CAAC;EACD+B,KAAK,EAAE;IACN,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7C,kBAAkB,EAAGC,UAAsB,IAAK,IAAI;IACpDC,UAAU,EAAEA,CAAA,KAAM;EACnB,CAAC;EACDC,KAAK,EAAExB,MAGL;EACFyB,KAAKA,CAACP,KAAK,EAAAQ,IAAA,EAAkC;IAAA,IAAhC;MAAEC,IAAI;MAAEC,MAAM;MAAEC,KAAK;MAAEL;IAAM,CAAC,GAAAE,IAAA;IAC1C,MAAMI,EAAE,GAAGpF,kBAAkB,CAAC,CAAC;IAC/B,MAAMqF,MAAM,GAAGlF,GAAG,CAAc,CAAC;IACjC,MAAMmF,QAAQ,GAAGnF,GAAG,CAAc,CAAC;IACnC,MAAMoF,KAAK,GAAGpF,GAAG,CAAc,CAAC;IAChC,MAAMqF,KAAK,GAAGrE,cAAc,CAACqD,KAAK,CAAC;IACnC,MAAMiB,MAAM,GAAG1F,QAAQ,CAAC;MACvB2F,GAAG,EAAEA,CAAA,KAAe;QACnB,OAAO,CAAC,CAACF,KAAK,CAACb,KAAK;MACrB,CAAC;MACDgB,GAAG,EAAGC,CAAU,IAAK;QACpB,IAAI,EAAEA,CAAC,IAAIpB,KAAK,CAACb,QAAQ,CAAC,EAAE6B,KAAK,CAACb,KAAK,GAAGiB,CAAC;MAC5C;IACD,CAAC,CAAC;IACF;IACA,MAAM;MAAEC,IAAI;MAAEC,KAAK;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAe,CAAC,GAAG5D,OAAO,CAACmC,KAAK,CAAC;IACxE,MAAM;MAAE0B;IAAc,CAAC,GAAG3D,UAAU,CAACiC,KAAK,EAAEiB,MAAM,CAAC;IACnD,MAAM;MAAEU;IAAa,CAAC,GAAGxE,aAAa,CAAC6C,KAAK,CAAC;IAC7C,MAAM;MAAEN,UAAU;MAAEkC,eAAe;MAAEC;IAAgB,CAAC,GACrD5E,aAAa,CAAC+C,KAAK,CAAC;IACrB,MAAM;MAAE8B;IAAwB,CAAC,GAAGvE,iBAAiB,CAACyC,KAAK,CAAC;IAC5D,MAAM;MAAE+B;IAAgB,CAAC,GAAG/E,YAAY,CAACgD,KAAK,CAAC;IAE/C,MAAM;MAAEgC,SAAS;MAAEC;IAAc,CAAC,GAAG7E,OAAO,CAACrB,KAAK,CAACiE,KAAK,EAAE,OAAO,CAAC,EAAEiB,MAAM,CAAC;IAC3E;IACA,MAAMiB,MAAM,GAAGtG,UAAU,CAAC,KAAK,CAAC;IAChC,MAAMuG,OAAO,GAAGxG,GAAG,CAAC,KAAK,CAAC;IAC1B,MAAMyG,OAAO,GAAGzG,GAAG,CAAC,KAAK,CAAC;IAC1B,MAAMwD,QAAQ,GAAGpD,KAAK,CAACiE,KAAK,EAAE,UAAU,CAAC;IACzC,MAAMZ,SAAS,GAAGrD,KAAK,CAACiE,KAAK,EAAE,WAAW,CAAC;IAE3C,MAAMqC,QAAQ,GAAG9G,QAAQ,CACxB,MAAM,CAAC4D,QAAQ,CAACgB,KAAK,KAAK6B,SAAS,CAAC7B,KAAK,IAAIc,MAAM,CAACd,KAAK,CAC1D,CAAC;IAED,MAAM;MAAEmC,YAAY;MAAEC,gBAAgB;MAAEC;IAAiB,CAAC,GAAG1F,aAAa,CAACkD,KAAK,EAAE;MACjFyC,SAAS,EAAE3B,QAAQ;MACnBO,IAAI;MACJJ;IACD,CAAC,CAAC;IACFhD,mBAAmB,CAAC+B,KAAK,EAAE;MAC1B0C,IAAI,EAAE3B,KAAK;MACX0B,SAAS,EAAE3B,QAAQ;MACnBG,MAAM;MACNM,MAAM,EAAEF,IAAI;MACZmB;IACD,CAAC,CAAC;IAEF,SAASG,sBAAsBA,CAACvC,UAAsB,EAAE;MACvDK,IAAI,CAAC,kBAAkB,EAAEL,UAAU,CAAC;MACpC,IAAI,CAACJ,KAAK,CAACC,KAAK,EAAE;QACjB,IACCY,MAAM,CAACV,KAAK,KAAK,IAAI,IACrBU,MAAM,CAACV,KAAK,KAAKC,UAAU,CAACwC,MAAM,IAClC5C,KAAK,CAAChB,eAAe,EACpB;UACDiC,MAAM,CAACd,KAAK,GAAG,KAAK;QACrB;MACD,CAAC,MAAM;QACN;MAAA;IAEF;IAEA,SAAS0C,gBAAgBA,CAAA,EAAY;MACpC,OACC,CAAC,CAAC7C,KAAK,CAACX,WAAW,IAAKW,KAAK,CAACX,WAAW,IAAI,CAAC8C,OAAO,CAAChC,KAAM,KAC5Dc,MAAM,CAACd,KAAK,IACZ+B,MAAM,CAAC/B,KAAK,CACX,CAAC;IACJ;IAEA,MAAM2C,qBAAqB,GAAGpH,QAAQ,CAAgC;MACrEqH,OAAO,EAAEJ,sBAAsB;MAC/BK,SAAS,EAAEH,gBAAgB;MAC3BI,OAAO,EAAEA,CAAA,KAAM,CAAC1B,MAAM,CAACpB,KAAK;IAC7B,CAAC,CAAC;IAEF,SAAS+C,YAAYA,CAAA,EAAG;MACvBhB,MAAM,CAAC/B,KAAK,GAAG,IAAI;IACpB;IAEA,SAASgD,YAAYA,CAAA,EAAG;MACvBlB,aAAa,CAAC,CAAC;MACfC,MAAM,CAAC/B,KAAK,GAAG,KAAK;MACpBM,IAAI,CAAC,YAAY,CAAC;IACnB;IAEA,SAAS2C,YAAYA,CAAA,EAAG;MACvB,IAAIpD,KAAK,CAAChB,eAAe,EAAE;QAC1BiC,MAAM,CAACd,KAAK,GAAG,KAAK;MACrB;IACD;IAEA,SAASkD,YAAYA,CAACC,KAAY,EAAE;MACnCnB,OAAO,CAAChC,KAAK,GAAG,IAAI;IACrB;IAEA,SAASoD,YAAYA,CAACD,KAAY,EAAE;MACnCnB,OAAO,CAAChC,KAAK,GAAG,KAAK;IACtB;IAEA,MAAMqD,aAAa,GAAGjI,QAAQ,CAAC,MAAM;MACpC,OAAO;QACNiE,MAAM,EAAE,CAACQ,KAAK,CAACR,MAAM,IAAI,MAAM,EAAEiE,QAAQ,CAAC;MAC3C,CAAC;IACF,CAAC,CAAC;IAEF,MAAMC,aAAa,GAAGnI,QAAQ,CAA0B,MAAM;MAC7D,MAAM;QAAEoD;MAAQ,CAAC,GAAGqB,KAAK;MACzB,MAAM2D,YAAY,GAAGlG,WAAW,CAACkB,OAAO,CAAC;MACzC,OAAO;QACN,GAAGgF,YAAY;QACf,iBAAiB,EAAE,CAAC,CAAC1C,MAAM,CAACd;MAC7B,CAAC;IACF,CAAC,CAAC;IAEF,MAAMyD,sBAAsB,GAAGrI,QAAQ,CAA0B,MAAM;MACtE,MAAMoI,YAAY,GAAGlG,WAAW,CAACuC,KAAK,CAACjB,cAAc,CAAC;MACtD,MAAM;QAAE8E,IAAI;QAAEC;MAAM,CAAC,GAAGxB,YAAY,CAACnC,KAAK;MAC1C,OAAO;QACN,GAAGwD,YAAY;QACX,CAAC,iBAAiBE,IAAI,EAAE,GAAG,CAAC,CAACA,IAAI;QACjC,CAAC,kBAAkBC,KAAK,EAAE,GAAG,CAAC,CAACA;MACpC,CAAC;IACF,CAAC,CAAC;IAEFpD,MAAM,CAAC;MACNG,MAAM;MACNS,KAAK;MACLR,QAAQ,EAAEvF,QAAQ,CAAC,MAAMuF,QAAQ,CAACX,KAAK,CAAC;MACxCoB,MAAM;MACNN,MAAM;MACNgB,aAAa;MACbO,gBAAgB;MAChBL,OAAO;MACPD,MAAM;MACNjC,KAAK,EAAE1E,QAAQ,CAAC,MAAMyE,KAAK,CAACC,KAAK,CAAC;MAClC4B,eAAe;MACfkC,IAAI,EAAGC,KAAgC,IAAK;QAC3C,OAAOA,KAAK,KAAKpD,EAAE;MACpB,CAAC;MACD0B;IACD,CAAC,CAAC;IAEF1F,SAAS,CAAC,MAAM;MACf,MAAMqH,QAAQ,GAAG3D,KAAK,CAACe,IAAI,GAAG;QAC7BJ,MAAM,EAAEA,MAAM,CAACd,KAAK;QACpBH,KAAK,EAAEvE,UAAU,CAAC;UACjBE,GAAG,EAAE2F,KAAK;UACV4C,KAAK,EAAE;YACN,cAAc,EAAE,IAAI;YACpB,sBAAsB,EAAEjD,MAAM,CAACd;UAChC,CAAC;UACD,IAAIH,KAAK,CAACmE,SAAS,IAAI,CAAC,CAAC;QAC1B,CAAC;MACF,CAAC,CAAC;MACF3C,QAAQ,CAACrB,KAAK,GAAG8D,QAAQ;MACzB,OAAA9H,YAAA,CAAAF,SAAA,SAEGgI,QAAQ,EAAA9H,YAAA,CAAAN,QAAA;QAAA,YACW,CAAC6D,UAAU,CAACS,KAAK;QAAA,MAAMT,UAAU,CAACS;MAAK;QAAAjB,OAAA,EAAAA,CAAA,MACzDmD,QAAQ,CAAClC,KAAK,IAAAhE,YAAA,QAAAK,WAAA;UAAA,SAEN,CACN;YACC,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE0F,MAAM,CAAC/B,KAAK;YAC/B,oBAAoB,EAAEH,KAAK,CAACP,SAAS;YACrC,GAAGiE,aAAa,CAACvD;UAClB,CAAC,EACDwB,YAAY,CAACxB,KAAK,CAClB;UAAA,gBACakD,YAAY;UAAA,gBACZE,YAAY;UAAA,SACnBC,aAAa,CAACrD,KAAK;UAAA,OACrBY;QAAK,GACNJ,KAAK,IAAAxE,YAAA,CAAAL,UAAA;UAAA;UAAA;QAAA;UAAAoD,OAAA,EAAAA,CAAA,MAGP+B,MAAM,CAACd,KAAK,IAAIH,KAAK,CAACzB,KAAK,IAC3B;UACA;UAAApC,YAAA;YAAA;YAAA,SAGQ;cAAE,yBAAyB,EAAE6D,KAAK,CAACxB;YAAa,CAAC;YAAA,WAC/C4E,YAAY;YAAA,aACVlF,IAAI,CAAC,CAAC;YAAA,WACRA,IAAI,CAAC,CAAC;YAAA;UAAA,QAGhB;QAAA,IAAA/B,YAAA,CAAAkB,cAAA,EAAAb,WAAA;UAAA,gBAGa0G,YAAY;UAAA,gBACZC,YAAY;UAAA;QAAA,GAEtBrB,uBAAuB,CAAC3B,KAAK;UAAAjB,OAAA,EAAAA,CAAA,MAAAxC,eAAA,CAAAP,YAAA,QAAAK,WAAA;YAAA,SAKzB;cACN,kBAAkB,EAAE,IAAI;cACxB,GAAGoH,sBAAsB,CAACzD;YAC3B,CAAC;YAAA,SACM,CACN;cACC,GAAG4B,eAAe,CAAC5B,KAAK;cACxB,GAAGoC,gBAAgB,CAACpC,KAAK;cACzB,GAAGH,KAAK,CAACf;YACV,CAAC;UACD,GACGyC,aAAa,CAACvB,KAAK;YAAA,OAClBW;UAAQ,KAEZR,KAAK,CAACpB,OAAO,GAAG;YAAE+B,MAAM,EAAEA,MAAM,CAACd;UAAM,CAAC,CAAC,MAAA9D,MAAA,EAhBlC4E,MAAM,CAACd,KAAK,IAAA5D,iBAAA,sBACA;YAAE,GAAGuG;UAAsB,CAAC;QAAA,IAmBnD;MAAA;IAIL,CAAC,CAAC;IAEF,OAAO;MACNA,qBAAqB;MACrBpD,UAAU;MACVuB,MAAM;MACNiB,MAAM;MACNG,QAAQ;MACRL,SAAS;MACTC,aAAa,EAAEA,aAA2B;MAC1CpB,MAAM;MACNC,QAAQ;MACRO,IAAI;MACJC,KAAK;MACLC,MAAM;MACNE,cAAc;MACdK,uBAAuB;MACvBS,gBAAgB;MAChBX,eAAe;MACfC,eAAe;MACfS;IACD,CAAC;EACF;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-delay.js","names":["useDelay","props","callback","state","clearDelay","propKey","window","clearTimeout","setDelay","timeout","resolve","setTimeout","active","generateDelay","delayTime","Promise","delay","parseInt","String","startOpenDelay","startCloseDelay"],"sources":["../../../src/components/layer/active-delay.ts"],"sourcesContent":["type DelayType = 'closeDelay' | 'openDelay';\n\nexport function useDelay(props: any, callback?: (active: boolean) => void) {\n const state: Partial<Record<DelayType, number>> = {};\n\n function clearDelay(propKey: DelayType) {\n state[propKey] && window.clearTimeout(state[propKey]);\n delete state[propKey];\n }\n\n function setDelay(propKey: DelayType, timeout: number, resolve: any) {\n state[propKey] = window.setTimeout(() => {\n const active = propKey === 'openDelay';\n callback?.(active);\n resolve(active);\n }, timeout);\n }\n\n const generateDelay = (propKey: DelayType) => () => {\n clearDelay('openDelay');\n clearDelay('closeDelay');\n const delayTime = props[propKey] ?? 0;\n return new Promise<boolean>((resolve) => {\n const delay = parseInt(String(delayTime), 10);\n setDelay(propKey, delay, resolve);\n });\n };\n\n return {\n startOpenDelay: generateDelay('openDelay'),\n startCloseDelay: generateDelay('closeDelay'),\n };\n}\n"],"mappings":"AAEA,OAAO,SAASA,QAAQA,CAACC,KAAU,EAAEC,QAAoC,EAAE;EACzE,MAAMC,KAAyC,GAAG,CAAC,CAAC;EAEpD,SAASC,UAAUA,CAACC,OAAkB,EAAE;IACtCF,KAAK,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACC,YAAY,CAACJ,KAAK,CAACE,OAAO,CAAC,CAAC;IACrD,OAAOF,KAAK,CAACE,OAAO,CAAC;EACvB;EAEA,SAASG,QAAQA,CAACH,OAAkB,EAAEI,OAAe,EAAEC,OAAY,EAAE;IACnEP,KAAK,CAACE,OAAO,CAAC,GAAGC,MAAM,CAACK,UAAU,CAAC,MAAM;MACvC,MAAMC,MAAM,GAAGP,OAAO,KAAK,WAAW;MACtCH,QAAQ,GAAGU,MAAM,CAAC;MAClBF,OAAO,CAACE,MAAM,CAAC;IACjB,CAAC,EAAEH,OAAO,CAAC;EACb;EAEA,MAAMI,aAAa,GAAIR,OAAkB,IAAK,MAAM;IAClDD,UAAU,CAAC,WAAW,CAAC;IACvBA,UAAU,CAAC,YAAY,CAAC;IACxB,MAAMU,SAAS,GAAGb,KAAK,CAACI,OAAO,CAAC,IAAI,CAAC;IACrC,OAAO,IAAIU,OAAO,CAAWL,OAAO,IAAK;MACvC,MAAMM,KAAK,GAAGC,QAAQ,CAACC,MAAM,CAACJ,SAAS,CAAC,EAAE,EAAE,CAAC;MAC7CN,QAAQ,CAACH,OAAO,EAAEW,KAAK,EAAEN,OAAO,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLS,cAAc,EAAEN,aAAa,CAAC,WAAW,CAAC;IAC1CO,eAAe,EAAEP,aAAa,CAAC,YAAY;EAC7C,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"active-delay.js","names":["useDelay","props","callback","state","clearDelay","propKey","window","clearTimeout","setDelay","timeout","resolve","setTimeout","active","generateDelay","delayTime","Promise","delay","parseInt","String","startOpenDelay","startCloseDelay"],"sources":["../../../src/components/layer/active-delay.ts"],"sourcesContent":["type DelayType = 'closeDelay' | 'openDelay';\n\nexport function useDelay(props: any, callback?: (active: boolean) => void) {\n const state: Partial<Record<DelayType, number>> = {};\n\n function clearDelay(propKey: DelayType) {\n state[propKey] && window.clearTimeout(state[propKey]);\n delete state[propKey];\n }\n\n function setDelay(propKey: DelayType, timeout: number, resolve: any) {\n state[propKey] = window.setTimeout(() => {\n const active = propKey === 'openDelay';\n callback?.(active);\n resolve(active);\n }, timeout);\n }\n\n const generateDelay = (propKey: DelayType) => () => {\n clearDelay('openDelay');\n clearDelay('closeDelay');\n const delayTime = props[propKey] ?? 0;\n return new Promise<boolean>((resolve) => {\n const delay = parseInt(String(delayTime), 10);\n setDelay(propKey, delay, resolve);\n });\n };\n\n return {\n startOpenDelay: generateDelay('openDelay'),\n startCloseDelay: generateDelay('closeDelay'),\n };\n}\n"],"mappings":"AAEA,OAAO,SAASA,QAAQA,CAACC,KAAU,EAAEC,QAAoC,EAAE;EACzE,MAAMC,KAAyC,GAAG,CAAC,CAAC;EAEpD,SAASC,UAAUA,CAACC,OAAkB,EAAE;IACtCF,KAAK,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACC,YAAY,CAACJ,KAAK,CAACE,OAAO,CAAC,CAAC;IACrD,OAAOF,KAAK,CAACE,OAAO,CAAC;EACvB;EAEA,SAASG,QAAQA,CAACH,OAAkB,EAAEI,OAAe,EAAEC,OAAY,EAAE;IACnEP,KAAK,CAACE,OAAO,CAAC,GAAGC,MAAM,CAACK,UAAU,CAAC,MAAM;MACvC,MAAMC,MAAM,GAAGP,OAAO,KAAK,WAAW;MACtCH,QAAQ,GAAGU,MAAM,CAAC;MAClBF,OAAO,CAACE,MAAM,CAAC;IACjB,CAAC,EAAEH,OAAO,CAAC;EACb;EAEA,MAAMI,aAAa,GAAIR,OAAkB,IAAK,MAAM;IAClDD,UAAU,CAAC,WAAW,CAAC;IACvBA,UAAU,CAAC,YAAY,CAAC;IACxB,MAAMU,SAAS,GAAGb,KAAK,CAACI,OAAO,CAAC,IAAI,CAAC;IACrC,OAAO,IAAIU,OAAO,CAAWL,OAAO,IAAK;MACvC,MAAMM,KAAK,GAAGC,QAAQ,CAACC,MAAM,CAACJ,SAAS,CAAC,EAAE,EAAE,CAAC;MAC7CN,QAAQ,CAACH,OAAO,EAAEW,KAAK,EAAEN,OAAO,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLS,cAAc,EAAEN,aAAa,CAAC,WAAW,CAAC;IAC1CO,eAAe,EAAEP,aAAa,CAAC,YAAY;EAC7C,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-stack.js","names":["getCurrentInstance","inject","provide","shallowRef","watch","watchPostEffect","YUYEON_ACTIVE_STACK_KEY","Symbol","for","useActiveStack","$el","active","sequential","parent","children","vm","push","instance","value","pop","index","findIndex","child","splice","clear","modal","bubble","length","neo"],"sources":["../../../src/components/layer/active-stack.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\
|
|
1
|
+
{"version":3,"file":"active-stack.js","names":["getCurrentInstance","inject","provide","shallowRef","watch","watchPostEffect","YUYEON_ACTIVE_STACK_KEY","Symbol","for","useActiveStack","$el","active","sequential","parent","children","vm","push","instance","value","pop","index","findIndex","child","splice","clear","modal","bubble","length","neo"],"sources":["../../../src/components/layer/active-stack.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\nimport {\n getCurrentInstance,\n inject,\n provide,\n shallowRef,\n watch,\n watchPostEffect,\n} from 'vue';\n\nimport { YLayer } from './YLayer';\n\nexport interface ActiveStackProvide {\n push: (instance: any) => void;\n pop: (instance?: any) => void;\n clear: () => void;\n $el: Ref<typeof YLayer | undefined>;\n}\n\nexport const YUYEON_ACTIVE_STACK_KEY: InjectionKey<ActiveStackProvide> =\n Symbol.for('yuyeon.active-stack');\n\nexport function useActiveStack(\n $el: Ref<typeof YLayer | undefined>,\n active: Ref<boolean>,\n sequential?: Ref<boolean | undefined>,\n) {\n const parent = inject(YUYEON_ACTIVE_STACK_KEY, null);\n const children = shallowRef<any[]>([]);\n const vm = getCurrentInstance();\n\n function push(instance: any) {\n children.value.push(instance);\n }\n\n function pop(instance?: any) {\n if (instance) {\n const index = children.value.findIndex((child) => child === instance);\n if (index > -1) {\n children.value.splice(index, 1);\n return;\n }\n }\n children.value.pop();\n }\n\n function clear() {\n if ($el.value?.modal) return;\n active.value = false;\n const bubble = () => {\n if (children.value.length === 0) {\n parent?.clear();\n }\n };\n if (!sequential?.value) {\n watchPostEffect(bubble);\n }\n }\n\n watch(active, (neo) => {\n if (neo) {\n parent?.push(vm);\n } else {\n parent?.pop(vm);\n }\n });\n\n provide(YUYEON_ACTIVE_STACK_KEY, {\n push,\n pop,\n clear,\n $el,\n });\n\n return {\n push,\n pop,\n parent,\n children,\n };\n}\n"],"mappings":"AACA,SACEA,kBAAkB,EAClBC,MAAM,EACNC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,eAAe,QACV,KAAK;AAWZ,OAAO,MAAMC,uBAAyD,GACpEC,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAEnC,OAAO,SAASC,cAAcA,CAC5BC,GAAmC,EACnCC,MAAoB,EACpBC,UAAqC,EACrC;EACA,MAAMC,MAAM,GAAGZ,MAAM,CAACK,uBAAuB,EAAE,IAAI,CAAC;EACpD,MAAMQ,QAAQ,GAAGX,UAAU,CAAQ,EAAE,CAAC;EACtC,MAAMY,EAAE,GAAGf,kBAAkB,CAAC,CAAC;EAE/B,SAASgB,IAAIA,CAACC,QAAa,EAAE;IAC3BH,QAAQ,CAACI,KAAK,CAACF,IAAI,CAACC,QAAQ,CAAC;EAC/B;EAEA,SAASE,GAAGA,CAACF,QAAc,EAAE;IAC3B,IAAIA,QAAQ,EAAE;MACZ,MAAMG,KAAK,GAAGN,QAAQ,CAACI,KAAK,CAACG,SAAS,CAAEC,KAAK,IAAKA,KAAK,KAAKL,QAAQ,CAAC;MACrE,IAAIG,KAAK,GAAG,CAAC,CAAC,EAAE;QACdN,QAAQ,CAACI,KAAK,CAACK,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC;QAC/B;MACF;IACF;IACAN,QAAQ,CAACI,KAAK,CAACC,GAAG,CAAC,CAAC;EACtB;EAEA,SAASK,KAAKA,CAAA,EAAG;IACf,IAAId,GAAG,CAACQ,KAAK,EAAEO,KAAK,EAAE;IACtBd,MAAM,CAACO,KAAK,GAAG,KAAK;IACpB,MAAMQ,MAAM,GAAGA,CAAA,KAAM;MACnB,IAAIZ,QAAQ,CAACI,KAAK,CAACS,MAAM,KAAK,CAAC,EAAE;QAC/Bd,MAAM,EAAEW,KAAK,CAAC,CAAC;MACjB;IACF,CAAC;IACD,IAAI,CAACZ,UAAU,EAAEM,KAAK,EAAE;MACtBb,eAAe,CAACqB,MAAM,CAAC;IACzB;EACF;EAEAtB,KAAK,CAACO,MAAM,EAAGiB,GAAG,IAAK;IACrB,IAAIA,GAAG,EAAE;MACPf,MAAM,EAAEG,IAAI,CAACD,EAAE,CAAC;IAClB,CAAC,MAAM;MACLF,MAAM,EAAEM,GAAG,CAACJ,EAAE,CAAC;IACjB;EACF,CAAC,CAAC;EAEFb,OAAO,CAACI,uBAAuB,EAAE;IAC/BU,IAAI;IACJG,GAAG;IACHK,KAAK;IACLd;EACF,CAAC,CAAC;EAEF,OAAO;IACLM,IAAI;IACJG,GAAG;IACHN,MAAM;IACNC;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, getCurrentInstance, ref, watchEffect } from 'vue';
|
|
1
|
+
import { computed, getCurrentInstance, nextTick, ref, watchEffect } from 'vue';
|
|
2
2
|
import { propsFactory } from "../../util/component/index.js";
|
|
3
3
|
export const pressBasePropsOptions = propsFactory({
|
|
4
4
|
base: [String, Object, Array],
|
|
@@ -47,7 +47,17 @@ export function useBase(props) {
|
|
|
47
47
|
}, {
|
|
48
48
|
flush: 'post'
|
|
49
49
|
});
|
|
50
|
+
|
|
51
|
+
// If the node is created before rendering or before its parent layer component, baseEl is looked up once more.
|
|
52
|
+
nextTick(() => {
|
|
53
|
+
if (vm?.proxy?.$el && !base.value) {
|
|
54
|
+
baseEl.value = getBase(props.base, vm);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
50
57
|
return {
|
|
58
|
+
/**
|
|
59
|
+
* for templateRef from base slot
|
|
60
|
+
*/
|
|
51
61
|
base$,
|
|
52
62
|
baseEl,
|
|
53
63
|
baseSlot,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","names":["computed","getCurrentInstance","ref","watchEffect","propsFactory","pressBasePropsOptions","base","String","Object","Array","baseProps","useBase","props","vm","base$","baseSlot","baseEl","baseFromSlotEl","el","value","nodeType","Node","ELEMENT_NODE","undefined","getBase","isArray","toEl","$el","flush","
|
|
1
|
+
{"version":3,"file":"base.js","names":["computed","getCurrentInstance","nextTick","ref","watchEffect","propsFactory","pressBasePropsOptions","base","String","Object","Array","baseProps","useBase","props","vm","base$","baseSlot","baseEl","baseFromSlotEl","el","value","nodeType","Node","ELEMENT_NODE","undefined","getBase","isArray","toEl","$el","flush","proxy","selector","ret","parentNode","parentEl","hasAttribute","document","querySelector"],"sources":["../../../src/components/layer/base.ts"],"sourcesContent":["import {\r\n type ComponentInternalInstance,\r\n type ComponentPublicInstance,\r\n computed,\r\n getCurrentInstance,\r\n nextTick,\r\n type PropType,\r\n ref,\r\n watchEffect,\r\n} from 'vue';\r\n\r\nimport { propsFactory } from '@/util/component';\r\n\r\nexport type BaseType =\r\n | string\r\n | Element\r\n | ComponentPublicInstance\r\n | [x: number, y: number]\r\n | undefined;\r\n\r\nexport const pressBasePropsOptions = propsFactory(\r\n {\r\n base: [String, Object, Array] as PropType<BaseType>,\r\n baseProps: Object as PropType<Record<string, any>>,\r\n },\r\n 'YLayer.base',\r\n);\r\n\r\ninterface BaseProps {\r\n base: BaseType;\r\n baseProps: Record<string, any> | undefined;\r\n modelValue?: boolean;\r\n}\r\n\r\nexport function useBase(props: BaseProps) {\r\n const vm = getCurrentInstance()!;\r\n\r\n const base$ = ref();\r\n const baseSlot = ref();\r\n const baseEl = ref<HTMLElement>();\r\n\r\n const baseFromSlotEl = computed(() => {\r\n const el = baseSlot.value?.[0]?.el;\r\n if (el && el.nodeType === Node.ELEMENT_NODE) {\r\n return el;\r\n }\r\n return undefined;\r\n });\r\n\r\n const base = computed(() => {\r\n if (baseEl.value && !props.base) {\r\n return baseEl.value;\r\n }\r\n return getBase(props.base, vm);\r\n });\r\n\r\n watchEffect(\r\n () => {\r\n if (!base$.value) {\r\n if (!baseFromSlotEl.value && props.base && !Array.isArray(props.base)) {\r\n baseEl.value = base.value as HTMLElement;\r\n return;\r\n }\r\n baseEl.value = baseFromSlotEl.value;\r\n return;\r\n }\r\n let toEl = base$.value;\r\n if (toEl.baseEl) {\r\n toEl = toEl.baseEl;\r\n }\r\n if (base$.value?.$el) {\r\n if (base$.value.$el.nodeType === Node.ELEMENT_NODE) {\r\n toEl = base$.value.$el;\r\n }\r\n }\r\n if (toEl?.nodeType !== Node.ELEMENT_NODE) {\r\n toEl = baseFromSlotEl.value;\r\n }\r\n baseEl.value = toEl;\r\n },\r\n { flush: 'post' },\r\n );\r\n\r\n // If the node is created before rendering or before its parent layer component, baseEl is looked up once more.\r\n nextTick(() => {\r\n if (vm?.proxy?.$el && !base.value) {\r\n baseEl.value = getBase(props.base, vm);\r\n }\r\n });\r\n\r\n return {\r\n /**\r\n * for templateRef from base slot\r\n */\r\n base$,\r\n baseEl,\r\n baseSlot,\r\n base,\r\n baseFromSlotEl,\r\n };\r\n}\r\n\r\nfunction getBase(selector: BaseType, vm: ComponentInternalInstance) {\r\n if (!selector) return;\r\n\r\n let ret: any;\r\n\r\n if (selector === 'parent') {\r\n let el = vm?.proxy?.$el?.parentNode;\r\n let parentEl = el;\r\n while (el) {\r\n if (el?.hasAttribute('data-base-parent')) {\r\n parentEl = el;\r\n break;\r\n }\r\n el = el.parentNode;\r\n }\r\n ret = parentEl;\r\n }\r\n // Selector\r\n else if (typeof selector === 'string') {\r\n ret = document.querySelector(selector);\r\n }\r\n // Component\r\n else if ('$el' in selector) {\r\n ret = selector.$el;\r\n }\r\n // HTMLElement | Element | [x, y]\r\n else {\r\n ret = selector;\r\n }\r\n\r\n return ret;\r\n}\r\n"],"mappings":"AAAA,SAGEA,QAAQ,EACRC,kBAAkB,EAClBC,QAAQ,EAERC,GAAG,EACHC,WAAW,QACN,KAAK;AAAC,SAEJC,YAAY;AASrB,OAAO,MAAMC,qBAAqB,GAAGD,YAAY,CAC/C;EACEE,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,EAAEC,KAAK,CAAuB;EACnDC,SAAS,EAAEF;AACb,CAAC,EACD,aACF,CAAC;AAQD,OAAO,SAASG,OAAOA,CAACC,KAAgB,EAAE;EACxC,MAAMC,EAAE,GAAGb,kBAAkB,CAAC,CAAE;EAEhC,MAAMc,KAAK,GAAGZ,GAAG,CAAC,CAAC;EACnB,MAAMa,QAAQ,GAAGb,GAAG,CAAC,CAAC;EACtB,MAAMc,MAAM,GAAGd,GAAG,CAAc,CAAC;EAEjC,MAAMe,cAAc,GAAGlB,QAAQ,CAAC,MAAM;IACpC,MAAMmB,EAAE,GAAGH,QAAQ,CAACI,KAAK,GAAG,CAAC,CAAC,EAAED,EAAE;IAClC,IAAIA,EAAE,IAAIA,EAAE,CAACE,QAAQ,KAAKC,IAAI,CAACC,YAAY,EAAE;MAC3C,OAAOJ,EAAE;IACX;IACA,OAAOK,SAAS;EAClB,CAAC,CAAC;EAEF,MAAMjB,IAAI,GAAGP,QAAQ,CAAC,MAAM;IAC1B,IAAIiB,MAAM,CAACG,KAAK,IAAI,CAACP,KAAK,CAACN,IAAI,EAAE;MAC/B,OAAOU,MAAM,CAACG,KAAK;IACrB;IACA,OAAOK,OAAO,CAACZ,KAAK,CAACN,IAAI,EAAEO,EAAE,CAAC;EAChC,CAAC,CAAC;EAEFV,WAAW,CACT,MAAM;IACJ,IAAI,CAACW,KAAK,CAACK,KAAK,EAAE;MAChB,IAAI,CAACF,cAAc,CAACE,KAAK,IAAIP,KAAK,CAACN,IAAI,IAAI,CAACG,KAAK,CAACgB,OAAO,CAACb,KAAK,CAACN,IAAI,CAAC,EAAE;QACrEU,MAAM,CAACG,KAAK,GAAGb,IAAI,CAACa,KAAoB;QACxC;MACF;MACAH,MAAM,CAACG,KAAK,GAAGF,cAAc,CAACE,KAAK;MACnC;IACF;IACA,IAAIO,IAAI,GAAGZ,KAAK,CAACK,KAAK;IACtB,IAAIO,IAAI,CAACV,MAAM,EAAE;MACfU,IAAI,GAAGA,IAAI,CAACV,MAAM;IACpB;IACA,IAAIF,KAAK,CAACK,KAAK,EAAEQ,GAAG,EAAE;MACpB,IAAIb,KAAK,CAACK,KAAK,CAACQ,GAAG,CAACP,QAAQ,KAAKC,IAAI,CAACC,YAAY,EAAE;QAClDI,IAAI,GAAGZ,KAAK,CAACK,KAAK,CAACQ,GAAG;MACxB;IACF;IACA,IAAID,IAAI,EAAEN,QAAQ,KAAKC,IAAI,CAACC,YAAY,EAAE;MACxCI,IAAI,GAAGT,cAAc,CAACE,KAAK;IAC7B;IACAH,MAAM,CAACG,KAAK,GAAGO,IAAI;EACrB,CAAC,EACD;IAAEE,KAAK,EAAE;EAAO,CAClB,CAAC;;EAED;EACA3B,QAAQ,CAAC,MAAM;IACb,IAAIY,EAAE,EAAEgB,KAAK,EAAEF,GAAG,IAAI,CAACrB,IAAI,CAACa,KAAK,EAAE;MACjCH,MAAM,CAACG,KAAK,GAAGK,OAAO,CAACZ,KAAK,CAACN,IAAI,EAAEO,EAAE,CAAC;IACxC;EACF,CAAC,CAAC;EAEF,OAAO;IACL;AACJ;AACA;IACIC,KAAK;IACLE,MAAM;IACND,QAAQ;IACRT,IAAI;IACJW;EACF,CAAC;AACH;AAEA,SAASO,OAAOA,CAACM,QAAkB,EAAEjB,EAA6B,EAAE;EAClE,IAAI,CAACiB,QAAQ,EAAE;EAEf,IAAIC,GAAQ;EAEZ,IAAID,QAAQ,KAAK,QAAQ,EAAE;IACzB,IAAIZ,EAAE,GAAGL,EAAE,EAAEgB,KAAK,EAAEF,GAAG,EAAEK,UAAU;IACnC,IAAIC,QAAQ,GAAGf,EAAE;IACjB,OAAOA,EAAE,EAAE;MACT,IAAIA,EAAE,EAAEgB,YAAY,CAAC,kBAAkB,CAAC,EAAE;QACxCD,QAAQ,GAAGf,EAAE;QACb;MACF;MACAA,EAAE,GAAGA,EAAE,CAACc,UAAU;IACpB;IACAD,GAAG,GAAGE,QAAQ;EAChB;EACA;EAAA,KACK,IAAI,OAAOH,QAAQ,KAAK,QAAQ,EAAE;IACrCC,GAAG,GAAGI,QAAQ,CAACC,aAAa,CAACN,QAAQ,CAAC;EACxC;EACA;EAAA,KACK,IAAI,KAAK,IAAIA,QAAQ,EAAE;IAC1BC,GAAG,GAAGD,QAAQ,CAACH,GAAG;EACpB;EACA;EAAA,KACK;IACHI,GAAG,GAAGD,QAAQ;EAChB;EAEA,OAAOC,GAAG;AACZ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","names":["computed","propsFactory","pressContentPropsOptions","closeClickContent","type","Boolean","useContent","props","active","contentEvents","events","onClick","e","value"],"sources":["../../../src/components/layer/content.ts"],"sourcesContent":["import { type PropType, type Ref
|
|
1
|
+
{"version":3,"file":"content.js","names":["computed","propsFactory","pressContentPropsOptions","closeClickContent","type","Boolean","useContent","props","active","contentEvents","events","onClick","e","value"],"sources":["../../../src/components/layer/content.ts"],"sourcesContent":["import { computed, type PropType, type Ref } from 'vue';\r\n\r\nimport { propsFactory } from '@/util/component';\r\n\r\nexport const pressContentPropsOptions = propsFactory(\r\n {\r\n closeClickContent: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n },\r\n 'YLayer.content',\r\n);\r\n\r\ninterface ContentProps {\r\n closeClickContent: boolean | undefined;\r\n}\r\n\r\nexport function useContent(props: ContentProps, active: Ref<boolean>) {\r\n const contentEvents = computed(() => {\r\n const events: Record<string, EventListener> = {};\r\n\r\n if (props.closeClickContent) {\r\n events.onClick = (e: Event) => {\r\n active.value = false;\r\n };\r\n }\r\n\r\n return events;\r\n });\r\n\r\n return {\r\n contentEvents,\r\n };\r\n}\r\n"],"mappings":"AAAA,SAASA,QAAQ,QAAiC,KAAK;AAAC,SAE/CC,YAAY;AAErB,OAAO,MAAMC,wBAAwB,GAAGD,YAAY,CAClD;EACEE,iBAAiB,EAAE;IACjBC,IAAI,EAAEC;EACR;AACF,CAAC,EACD,gBACF,CAAC;AAMD,OAAO,SAASC,UAAUA,CAACC,KAAmB,EAAEC,MAAoB,EAAE;EACpE,MAAMC,aAAa,GAAGT,QAAQ,CAAC,MAAM;IACnC,MAAMU,MAAqC,GAAG,CAAC,CAAC;IAEhD,IAAIH,KAAK,CAACJ,iBAAiB,EAAE;MAC3BO,MAAM,CAACC,OAAO,GAAIC,CAAQ,IAAK;QAC7BJ,MAAM,CAACK,KAAK,GAAG,KAAK;MACtB,CAAC;IACH;IAEA,OAAOH,MAAM;EACf,CAAC,CAAC;EAEF,OAAO;IACLD;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/layer/index.ts"],"sourcesContent":["export * from './YLayer';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/layer/index.ts"],"sourcesContent":["export * from './YLayer';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-strategies.js","names":["effectScope","nextTick","onScopeDispose","watchEffect","propsFactory","FrameScheduler","getScrollParents","hasScrollbar","toStyleSizeValue","frameScheduler","scrollStrategies","none","close","closeScrollStrategy","block","blockScrollStrategy","reposition","repositionScrollStrategy","pressScrollStrategyProps","scrollStrategy","type","String","Function","default","validator","val","useScrollStrategies","props","data","scope","stop","active","value","run","onScroll","e","bindScroll","baseEl","contentEl","BLOCKER_LAYER_CLASS","BLOCKER_CLASS","BLOCKER_SCROLL_X_VAR","BLOCKER_SCROLL_Y_VAR","BLOCKER_SCROLL_OFFSET_VAR","offsetParent","root","scrollElements","Set","contained","undefined","filter","el","classList","contains","scrollbarWidth","window","innerWidth","document","documentElement","offsetWidth","scrollableParent","add","forEach","i","style","setProperty","scrollLeft","scrollTop","x","parseFloat","getPropertyValue","y","removeProperty","remove","slow","raf","ric","update","requestNewFrame","start","performance","now","updateCoordinate","time","requestIdleCallback","cb","cancelAnimationFrame","requestAnimationFrame","cancelIdleCallback","addEventListener","passive","removeEventListener"],"sources":["../../../src/components/layer/scroll-strategies.ts"],"sourcesContent":["import type { EffectScope, PropType, Ref } from 'vue';\r\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue';\r\n\r\nimport { propsFactory } from '@/util/component';\r\nimport { FrameScheduler } from '@/util/frame-scheduler';\r\nimport { getScrollParents, hasScrollbar } from '@/util/scroll';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nconst frameScheduler = new FrameScheduler();\r\n\r\nexport interface ScrollStrategyData {\r\n root: Ref<HTMLElement | undefined>;\r\n contentEl: Ref<HTMLElement | undefined>;\r\n baseEl: Ref<HTMLElement | undefined>;\r\n active: Ref<boolean>;\r\n updateCoordinate: Ref<((e: Event) => void) | undefined>;\r\n}\r\n\r\ntype ScrollStrategyFn = (\r\n data: ScrollStrategyData,\r\n props: StrategyProps,\r\n scope: EffectScope,\r\n) => void;\r\n\r\nconst scrollStrategies = {\r\n none: null,\r\n close: closeScrollStrategy,\r\n block: blockScrollStrategy,\r\n reposition: repositionScrollStrategy,\r\n};\r\n\r\nexport interface StrategyProps {\r\n scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFn;\r\n contained: boolean | undefined;\r\n}\r\n\r\nexport const pressScrollStrategyProps = propsFactory(\r\n {\r\n scrollStrategy: {\r\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\r\n default: 'block',\r\n validator: (val: any) =>\r\n typeof val === 'function' || val in scrollStrategies,\r\n },\r\n },\r\n 'YLayer__scroll-strategies',\r\n);\r\n\r\nexport function useScrollStrategies(\r\n props: StrategyProps,\r\n data: ScrollStrategyData,\r\n) {\r\n let scope: EffectScope | undefined;\r\n watchEffect(async () => {\r\n scope?.stop();\r\n\r\n if (!(data.active.value && props.scrollStrategy)) return;\r\n\r\n scope = effectScope();\r\n await nextTick();\r\n scope.active &&\r\n scope.run(() => {\r\n if (typeof props.scrollStrategy === 'function') {\r\n props.scrollStrategy(data, props, scope!);\r\n } else {\r\n scrollStrategies[props.scrollStrategy]?.(data, props, scope!);\r\n }\r\n });\r\n });\r\n\r\n onScopeDispose(() => {\r\n scope?.stop();\r\n });\r\n}\r\n\r\nfunction closeScrollStrategy(data: ScrollStrategyData) {\r\n function onScroll(e: Event) {\r\n data.active.value = false;\r\n }\r\n\r\n bindScroll(data.baseEl.value ?? data.contentEl.value, onScroll);\r\n}\r\n\r\nconst BLOCKER_LAYER_CLASS = 'y-layer--scroll-blocked';\r\nconst BLOCKER_CLASS = 'y-layer-scroll-blocked';\r\nconst BLOCKER_SCROLL_X_VAR = '--y-body-scroll-x';\r\nconst BLOCKER_SCROLL_Y_VAR = '--y-body-scroll-y';\r\nconst BLOCKER_SCROLL_OFFSET_VAR = '--y-scrollbar-offset';\r\n\r\nfunction blockScrollStrategy(data: ScrollStrategyData, props: StrategyProps) {\r\n const offsetParent = data.root.value?.offsetParent;\r\n const scrollElements = [\r\n ...new Set([\r\n ...getScrollParents(\r\n data.baseEl.value,\r\n props.contained ? offsetParent : undefined,\r\n ),\r\n ...getScrollParents(\r\n data.contentEl.value,\r\n props.contained ? offsetParent : undefined,\r\n ),\r\n ]),\r\n ].filter((el) => !el.classList.contains(BLOCKER_CLASS));\r\n const scrollbarWidth =\r\n window.innerWidth - document.documentElement.offsetWidth;\r\n\r\n const scrollableParent = ((el) => hasScrollbar(el) && el)(\r\n offsetParent || document.documentElement,\r\n );\r\n if (scrollableParent) {\r\n data.root.value!.classList.add(BLOCKER_LAYER_CLASS);\r\n }\r\n\r\n scrollElements.forEach((el, i) => {\r\n el.style.setProperty(\r\n BLOCKER_SCROLL_X_VAR,\r\n toStyleSizeValue(-el.scrollLeft) ?? null,\r\n );\r\n el.style.setProperty(\r\n BLOCKER_SCROLL_Y_VAR,\r\n toStyleSizeValue(-el.scrollTop) ?? null,\r\n );\r\n el.style.setProperty(\r\n BLOCKER_SCROLL_OFFSET_VAR,\r\n toStyleSizeValue(scrollbarWidth) ?? null,\r\n );\r\n el.classList.add(BLOCKER_LAYER_CLASS);\r\n });\r\n\r\n onScopeDispose(() => {\r\n scrollElements.forEach((el, i) => {\r\n const x = parseFloat(el.style.getPropertyValue(BLOCKER_SCROLL_X_VAR));\r\n const y = parseFloat(el.style.getPropertyValue(BLOCKER_SCROLL_Y_VAR));\r\n\r\n el.style.removeProperty(BLOCKER_SCROLL_X_VAR);\r\n el.style.removeProperty(BLOCKER_SCROLL_Y_VAR);\r\n el.style.removeProperty(BLOCKER_SCROLL_OFFSET_VAR);\r\n el.classList.remove(BLOCKER_CLASS);\r\n\r\n el.scrollLeft = -x;\r\n el.scrollTop = -y;\r\n });\r\n if (scrollableParent) {\r\n data.root.value!.classList.remove(BLOCKER_LAYER_CLASS);\r\n }\r\n });\r\n}\r\n\r\nfunction repositionScrollStrategy(\r\n data: ScrollStrategyData,\r\n props: StrategyProps,\r\n scope: EffectScope,\r\n) {\r\n let slow = false;\r\n let raf = -1;\r\n let ric = -1;\r\n\r\n function update(e: Event) {\r\n frameScheduler.requestNewFrame(() => {\r\n const start = performance.now();\r\n data.updateCoordinate.value?.(e);\r\n const time = performance.now() - start;\r\n slow = time / (1000 / 60) > 2;\r\n });\r\n }\r\n\r\n ric = (\r\n typeof requestIdleCallback === 'undefined'\r\n ? (cb: Function) => cb()\r\n : requestIdleCallback\r\n )(() => {\r\n scope.run(() => {\r\n bindScroll(data.baseEl.value ?? data.contentEl.value, (e) => {\r\n if (slow) {\r\n // If the position calculation is slow,\r\n // defer updates until scrolling is finished.\r\n // Browsers usually fire one scroll event per frame so\r\n // we just wait until we've got two frames without an event\r\n cancelAnimationFrame(raf);\r\n raf = requestAnimationFrame(() => {\r\n raf = requestAnimationFrame(() => {\r\n update(e);\r\n });\r\n });\r\n } else {\r\n update(e);\r\n }\r\n });\r\n });\r\n });\r\n\r\n onScopeDispose(() => {\r\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric);\r\n cancelAnimationFrame(raf);\r\n });\r\n}\r\n\r\n/** @private */\r\nfunction bindScroll(el: HTMLElement | undefined, onScroll: (e: Event) => void) {\r\n const scrollElements = [document, ...getScrollParents(el)];\r\n scrollElements.forEach((el) => {\r\n el.addEventListener('scroll', onScroll, { passive: true });\r\n });\r\n\r\n onScopeDispose(() => {\r\n scrollElements.forEach((el) => {\r\n el.removeEventListener('scroll', onScroll);\r\n });\r\n });\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scroll-strategies.js","names":["effectScope","nextTick","onScopeDispose","watchEffect","propsFactory","FrameScheduler","getScrollParents","hasScrollbar","toStyleSizeValue","frameScheduler","scrollStrategies","none","close","closeScrollStrategy","block","blockScrollStrategy","reposition","repositionScrollStrategy","pressScrollStrategyProps","scrollStrategy","type","String","Function","default","validator","val","useScrollStrategies","props","data","scope","stop","active","value","run","onScroll","e","bindScroll","baseEl","contentEl","BLOCKER_LAYER_CLASS","BLOCKER_CLASS","BLOCKER_SCROLL_X_VAR","BLOCKER_SCROLL_Y_VAR","BLOCKER_SCROLL_OFFSET_VAR","offsetParent","root","scrollElements","Set","contained","undefined","filter","el","classList","contains","scrollbarWidth","window","innerWidth","document","documentElement","offsetWidth","scrollableParent","add","forEach","i","style","setProperty","scrollLeft","scrollTop","x","parseFloat","getPropertyValue","y","removeProperty","remove","slow","raf","ric","update","requestNewFrame","start","performance","now","updateCoordinate","time","requestIdleCallback","cb","cancelAnimationFrame","requestAnimationFrame","cancelIdleCallback","addEventListener","passive","removeEventListener"],"sources":["../../../src/components/layer/scroll-strategies.ts"],"sourcesContent":["import type { EffectScope, PropType, Ref } from 'vue';\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue';\n\nimport { propsFactory } from '@/util/component';\nimport { FrameScheduler } from '@/util/frame-scheduler';\nimport { getScrollParents, hasScrollbar } from '@/util/scroll';\nimport { toStyleSizeValue } from '@/util/ui';\n\nconst frameScheduler = new FrameScheduler();\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>;\n contentEl: Ref<HTMLElement | undefined>;\n baseEl: Ref<HTMLElement | undefined>;\n active: Ref<boolean>;\n updateCoordinate: Ref<((e: Event) => void) | undefined>;\n}\n\ntype ScrollStrategyFn = (\n data: ScrollStrategyData,\n props: StrategyProps,\n scope: EffectScope,\n) => void;\n\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n};\n\nexport interface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFn;\n contained: boolean | undefined;\n}\n\nexport const pressScrollStrategyProps = propsFactory(\n {\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) =>\n typeof val === 'function' || val in scrollStrategies,\n },\n },\n 'YLayer__scroll-strategies',\n);\n\nexport function useScrollStrategies(\n props: StrategyProps,\n data: ScrollStrategyData,\n) {\n let scope: EffectScope | undefined;\n watchEffect(async () => {\n scope?.stop();\n\n if (!(data.active.value && props.scrollStrategy)) return;\n\n scope = effectScope();\n await nextTick();\n scope.active &&\n scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data, props, scope!);\n } else {\n scrollStrategies[props.scrollStrategy]?.(data, props, scope!);\n }\n });\n });\n\n onScopeDispose(() => {\n scope?.stop();\n });\n}\n\nfunction closeScrollStrategy(data: ScrollStrategyData) {\n function onScroll(e: Event) {\n data.active.value = false;\n }\n\n bindScroll(data.baseEl.value ?? data.contentEl.value, onScroll);\n}\n\nconst BLOCKER_LAYER_CLASS = 'y-layer--scroll-blocked';\nconst BLOCKER_CLASS = 'y-layer-scroll-blocked';\nconst BLOCKER_SCROLL_X_VAR = '--y-body-scroll-x';\nconst BLOCKER_SCROLL_Y_VAR = '--y-body-scroll-y';\nconst BLOCKER_SCROLL_OFFSET_VAR = '--y-scrollbar-offset';\n\nfunction blockScrollStrategy(data: ScrollStrategyData, props: StrategyProps) {\n const offsetParent = data.root.value?.offsetParent;\n const scrollElements = [\n ...new Set([\n ...getScrollParents(\n data.baseEl.value,\n props.contained ? offsetParent : undefined,\n ),\n ...getScrollParents(\n data.contentEl.value,\n props.contained ? offsetParent : undefined,\n ),\n ]),\n ].filter((el) => !el.classList.contains(BLOCKER_CLASS));\n const scrollbarWidth =\n window.innerWidth - document.documentElement.offsetWidth;\n\n const scrollableParent = ((el) => hasScrollbar(el) && el)(\n offsetParent || document.documentElement,\n );\n if (scrollableParent) {\n data.root.value!.classList.add(BLOCKER_LAYER_CLASS);\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty(\n BLOCKER_SCROLL_X_VAR,\n toStyleSizeValue(-el.scrollLeft) ?? null,\n );\n el.style.setProperty(\n BLOCKER_SCROLL_Y_VAR,\n toStyleSizeValue(-el.scrollTop) ?? null,\n );\n el.style.setProperty(\n BLOCKER_SCROLL_OFFSET_VAR,\n toStyleSizeValue(scrollbarWidth) ?? null,\n );\n el.classList.add(BLOCKER_LAYER_CLASS);\n });\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue(BLOCKER_SCROLL_X_VAR));\n const y = parseFloat(el.style.getPropertyValue(BLOCKER_SCROLL_Y_VAR));\n\n el.style.removeProperty(BLOCKER_SCROLL_X_VAR);\n el.style.removeProperty(BLOCKER_SCROLL_Y_VAR);\n el.style.removeProperty(BLOCKER_SCROLL_OFFSET_VAR);\n el.classList.remove(BLOCKER_CLASS);\n\n el.scrollLeft = -x;\n el.scrollTop = -y;\n });\n if (scrollableParent) {\n data.root.value!.classList.remove(BLOCKER_LAYER_CLASS);\n }\n });\n}\n\nfunction repositionScrollStrategy(\n data: ScrollStrategyData,\n props: StrategyProps,\n scope: EffectScope,\n) {\n let slow = false;\n let raf = -1;\n let ric = -1;\n\n function update(e: Event) {\n frameScheduler.requestNewFrame(() => {\n const start = performance.now();\n data.updateCoordinate.value?.(e);\n const time = performance.now() - start;\n slow = time / (1000 / 60) > 2;\n });\n }\n\n ric = (\n typeof requestIdleCallback === 'undefined'\n ? (cb: Function) => cb()\n : requestIdleCallback\n )(() => {\n scope.run(() => {\n bindScroll(data.baseEl.value ?? data.contentEl.value, (e) => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e);\n });\n });\n } else {\n update(e);\n }\n });\n });\n });\n\n onScopeDispose(() => {\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric);\n cancelAnimationFrame(raf);\n });\n}\n\n/** @private */\nfunction bindScroll(el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)];\n scrollElements.forEach((el) => {\n el.addEventListener('scroll', onScroll, { passive: true });\n });\n\n onScopeDispose(() => {\n scrollElements.forEach((el) => {\n el.removeEventListener('scroll', onScroll);\n });\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ref, shallowRef } from 'vue';
|
|
1
|
+
import { ref, shallowRef, mergeProps as _mergeProps, createVNode as _createVNode } from 'vue';
|
|
3
2
|
import { useRender } from "../../composables/component.js";
|
|
4
3
|
import { pressThemePropsOptions, useLocalTheme } from "../../composables/theme/index.js";
|
|
5
4
|
import { defineComponent, propsFactory } from "../../util/component/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YList.js","names":["ref","shallowRef","useRender","pressThemePropsOptions","useLocalTheme","defineComponent","propsFactory","pressYListPropsOptions","disabled","Boolean","YList","name","props","setup","_ref","slots","attrs","el$","themeClasses","focused","onFocus","event","value","relatedTarget","contains","focus","onFocusIn","onFocusOut","onKeydown","target","
|
|
1
|
+
{"version":3,"file":"YList.js","names":["ref","shallowRef","mergeProps","_mergeProps","createVNode","_createVNode","useRender","pressThemePropsOptions","useLocalTheme","defineComponent","propsFactory","pressYListPropsOptions","disabled","Boolean","YList","name","props","setup","_ref","slots","attrs","el$","themeClasses","focused","onFocus","event","value","relatedTarget","contains","focus","onFocusIn","onFocusOut","onKeydown","target","tabindex","default"],"sources":["../../../src/components/list/YList.tsx"],"sourcesContent":["import { ref, shallowRef } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport './YList.scss';\n\nexport const pressYListPropsOptions = propsFactory(\n {\n disabled: Boolean,\n ...pressThemePropsOptions(),\n },\n 'YList',\n);\n\nexport const YList = defineComponent({\n name: 'YList',\n props: {\n ...pressYListPropsOptions(),\n },\n setup(props, { slots, attrs }) {\n const el$ = ref<HTMLElement>();\n\n const { themeClasses } = useLocalTheme(props);\n\n const focused = shallowRef(false);\n\n function onFocus(event: FocusEvent) {\n if (\n !focused.value &&\n !(\n event.relatedTarget &&\n el$.value?.contains(event.relatedTarget as Node)\n )\n ) {\n focus();\n }\n }\n\n function onFocusIn(event: FocusEvent) {\n focused.value = true;\n }\n\n function onFocusOut(event: FocusEvent) {\n focused.value = false;\n }\n\n function onKeydown(event: KeyboardEvent) {\n //\n }\n\n function focus(target?: string) {\n //\n }\n\n useRender(() => (\n <div\n ref={el$}\n class={['y-list', themeClasses.value]}\n role=\"listbox\"\n tabindex={\n (attrs.tabindex as number | string) ??\n (props.disabled || focused.value ? -1 : 0)\n }\n onFocus={onFocus}\n onFocusin={onFocusIn}\n onFocusout={onFocusOut}\n onKeydown={onKeydown}\n {...attrs}\n >\n {slots.default?.()}\n </div>\n ));\n },\n});\n\nexport type YList = InstanceType<typeof YList>;\n"],"mappings":"AAAA,SAASA,GAAG,EAAEC,UAAU,EAAAC,UAAA,IAAAC,WAAA,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAE7BC,SAAS;AAAA,SACTC,sBAAsB,EAAEC,aAAa;AAAA,SACrCC,eAAe,EAAEC,YAAY;AAEtC;AAEA,OAAO,MAAMC,sBAAsB,GAAGD,YAAY,CAChD;EACEE,QAAQ,EAAEC,OAAO;EACjB,GAAGN,sBAAsB,CAAC;AAC5B,CAAC,EACD,OACF,CAAC;AAED,OAAO,MAAMO,KAAK,GAAGL,eAAe,CAAC;EACnCM,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;IACL,GAAGL,sBAAsB,CAAC;EAC5B,CAAC;EACDM,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,GAAG,GAAGrB,GAAG,CAAc,CAAC;IAE9B,MAAM;MAAEsB;IAAa,CAAC,GAAGd,aAAa,CAACQ,KAAK,CAAC;IAE7C,MAAMO,OAAO,GAAGtB,UAAU,CAAC,KAAK,CAAC;IAEjC,SAASuB,OAAOA,CAACC,KAAiB,EAAE;MAClC,IACE,CAACF,OAAO,CAACG,KAAK,IACd,EACED,KAAK,CAACE,aAAa,IACnBN,GAAG,CAACK,KAAK,EAAEE,QAAQ,CAACH,KAAK,CAACE,aAAqB,CAAC,CACjD,EACD;QACAE,KAAK,CAAC,CAAC;MACT;IACF;IAEA,SAASC,SAASA,CAACL,KAAiB,EAAE;MACpCF,OAAO,CAACG,KAAK,GAAG,IAAI;IACtB;IAEA,SAASK,UAAUA,CAACN,KAAiB,EAAE;MACrCF,OAAO,CAACG,KAAK,GAAG,KAAK;IACvB;IAEA,SAASM,SAASA,CAACP,KAAoB,EAAE;MACvC;IAAA;IAGF,SAASI,KAAKA,CAACI,MAAe,EAAE;MAC9B;IAAA;IAGF3B,SAAS,CAAC,MAAAD,YAAA,QAAAF,WAAA;MAAA,OAEDkB,GAAG;MAAA,SACD,CAAC,QAAQ,EAAEC,YAAY,CAACI,KAAK,CAAC;MAAA;MAAA,YAGlCN,KAAK,CAACc,QAAQ,KACdlB,KAAK,CAACJ,QAAQ,IAAIW,OAAO,CAACG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;MAAA,WAEnCF,OAAO;MAAA,aACLM,SAAS;MAAA,cACRC,UAAU;MAAA,aACXC;IAAS,GAChBZ,KAAK,IAERD,KAAK,CAACgB,OAAO,GAAG,CAAC,EAErB,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { createVNode as _createVNode } from
|
|
2
|
-
import { computed } from 'vue';
|
|
1
|
+
import { computed, createVNode as _createVNode } from 'vue';
|
|
3
2
|
import { useRender } from "../../composables/component.js";
|
|
4
3
|
import { pressThemePropsOptions, useLocalTheme } from "../../composables/theme/index.js";
|
|
5
4
|
import { defineComponent, propsFactory } from "../../util/component/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YListItem.js","names":["computed","useRender","pressThemePropsOptions","useLocalTheme","defineComponent","propsFactory","pressYListItemProps","tag","type","String","default","onClick","Function","disabled","Boolean","YListItem","name","props","emits","click","e","slots","Object","setup","_ref","emit","themeClasses","clickable","ElTag","
|
|
1
|
+
{"version":3,"file":"YListItem.js","names":["computed","createVNode","_createVNode","useRender","pressThemePropsOptions","useLocalTheme","defineComponent","propsFactory","pressYListItemProps","tag","type","String","default","onClick","Function","disabled","Boolean","YListItem","name","props","emits","click","e","slots","Object","setup","_ref","emit","themeClasses","clickable","ElTag","value","leading","trailing"],"sources":["../../../src/components/list/YListItem.tsx"],"sourcesContent":["import { computed, SlotsType } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport { defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport './YListItem.scss';\r\n\r\nexport const pressYListItemProps = propsFactory(\r\n {\r\n tag: {\r\n type: String,\r\n default: 'div',\r\n },\r\n onClick: Function,\r\n disabled: Boolean,\r\n ...pressThemePropsOptions(),\r\n },\r\n 'YListItem',\r\n);\r\n\r\nexport const YListItem = defineComponent({\r\n name: 'YListItem',\r\n props: {\r\n ...pressYListItemProps(),\r\n },\r\n emits: {\r\n click: (e: MouseEvent) => true,\r\n },\r\n slots: Object as SlotsType<{\r\n default: any;\r\n leading: any;\r\n trailing: any;\r\n }>,\r\n setup(props, { slots, emit }) {\r\n const { themeClasses } = useLocalTheme(props);\r\n\r\n function onClick(e: MouseEvent) {\r\n emit('click', e);\r\n }\r\n\r\n const clickable = computed(() => {\r\n return !props.disabled && !!props.onClick;\r\n });\r\n\r\n useRender(() => {\r\n const ElTag = props.tag as keyof HTMLElementTagNameMap;\r\n return (\r\n <ElTag\r\n class={[\r\n 'y-list-item',\r\n {\r\n 'y-list-item--pointer': clickable.value,\r\n 'y-list-item--disabled': props.disabled,\r\n },\r\n themeClasses.value,\r\n ]}\r\n onClick={onClick}\r\n >\r\n {slots.leading && (\r\n <div class={'y-list-item__leading'}>{slots.leading()}</div>\r\n )}\r\n <div class={'y-list-item__content'}>{slots.default?.()}</div>\r\n {slots.trailing && (\r\n <div class={'y-list-item__trailing'}>{slots.trailing()}</div>\r\n )}\r\n </ElTag>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YListItem = InstanceType<typeof YListItem>;\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAAAC,WAAA,IAAAC,YAAA,QAAmB,KAAK;AAAC,SAEjCC,SAAS;AAAA,SACTC,sBAAsB,EAAEC,aAAa;AAAA,SACrCC,eAAe,EAAEC,YAAY;AAEtC;AAEA,OAAO,MAAMC,mBAAmB,GAAGD,YAAY,CAC7C;EACEE,GAAG,EAAE;IACHC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,OAAO,EAAEC,QAAQ;EACjBC,QAAQ,EAAEC,OAAO;EACjB,GAAGZ,sBAAsB,CAAC;AAC5B,CAAC,EACD,WACF,CAAC;AAED,OAAO,MAAMa,SAAS,GAAGX,eAAe,CAAC;EACvCY,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE;IACL,GAAGX,mBAAmB,CAAC;EACzB,CAAC;EACDY,KAAK,EAAE;IACLC,KAAK,EAAGC,CAAa,IAAK;EAC5B,CAAC;EACDC,KAAK,EAAEC,MAIL;EACFC,KAAKA,CAACN,KAAK,EAAAO,IAAA,EAAmB;IAAA,IAAjB;MAAEH,KAAK;MAAEI;IAAK,CAAC,GAAAD,IAAA;IAC1B,MAAM;MAAEE;IAAa,CAAC,GAAGvB,aAAa,CAACc,KAAK,CAAC;IAE7C,SAASN,OAAOA,CAACS,CAAa,EAAE;MAC9BK,IAAI,CAAC,OAAO,EAAEL,CAAC,CAAC;IAClB;IAEA,MAAMO,SAAS,GAAG7B,QAAQ,CAAC,MAAM;MAC/B,OAAO,CAACmB,KAAK,CAACJ,QAAQ,IAAI,CAAC,CAACI,KAAK,CAACN,OAAO;IAC3C,CAAC,CAAC;IAEFV,SAAS,CAAC,MAAM;MACd,MAAM2B,KAAK,GAAGX,KAAK,CAACV,GAAkC;MACtD,OAAAP,YAAA,CAAA4B,KAAA;QAAA,SAEW,CACL,aAAa,EACb;UACE,sBAAsB,EAAED,SAAS,CAACE,KAAK;UACvC,uBAAuB,EAAEZ,KAAK,CAACJ;QACjC,CAAC,EACDa,YAAY,CAACG,KAAK,CACnB;QAAA,WACQlB;MAAO;QAAAD,OAAA,EAAAA,CAAA,MAEfW,KAAK,CAACS,OAAO,IAAA9B,YAAA;UAAA,SACA;QAAsB,IAAGqB,KAAK,CAACS,OAAO,CAAC,CAAC,EACrD,EAAA9B,YAAA;UAAA,SACW;QAAsB,IAAGqB,KAAK,CAACX,OAAO,GAAG,CAAC,IACrDW,KAAK,CAACU,QAAQ,IAAA/B,YAAA;UAAA,SACD;QAAuB,IAAGqB,KAAK,CAACU,QAAQ,CAAC,CAAC,EACvD;MAAA;IAGP,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/list/index.ts"],"sourcesContent":["export * from './YListItem';\nexport * from './YList';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/list/index.ts"],"sourcesContent":["export * from './YListItem';\nexport * from './YList';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YSpinnerRing.js","names":["defineComponent","NAME","YSpinnerRing","name","render","_createVNode"],"sources":["../../../src/components/loading/YSpinnerRing.tsx"],"sourcesContent":["import { defineComponent } from '@/util/component';\
|
|
1
|
+
{"version":3,"file":"YSpinnerRing.js","names":["defineComponent","NAME","YSpinnerRing","name","render","_createVNode"],"sources":["../../../src/components/loading/YSpinnerRing.tsx"],"sourcesContent":["import { defineComponent } from '@/util/component';\n\nimport './YSpinnerRing.scss';\n\nconst NAME = 'YSpinnerRing';\n\nexport const YSpinnerRing = defineComponent({\n name: NAME,\n render() {\n return (\n <svg\n class=\"y-spinner-ring\"\n width=\"48\"\n height=\"48\"\n viewBox=\"0 0 48 48\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"y-spinner-ring__circle\"\n cx=\"24\"\n cy=\"24\"\n r=\"18\"\n stroke-width=\"4\"\n stroke-dasharray=\"113.097\"\n stroke-dashoffset=\"113.097\"\n />\n </svg>\n );\n },\n});\n\nexport type YSpinnerRing = InstanceType<typeof YSpinnerRing>;\n"],"mappings":";SAASA,eAAe;AAExB;AAEA,MAAMC,IAAI,GAAG,cAAc;AAE3B,OAAO,MAAMC,YAAY,GAAGF,eAAe,CAAC;EAC1CG,IAAI,EAAEF,IAAI;EACVG,MAAMA,CAAA,EAAG;IACP,OAAAC,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA,IAAAA,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;EAmBF;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/loading/index.ts"],"sourcesContent":["export * from './YSpinnerRing';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/loading/index.ts"],"sourcesContent":["export * from './YSpinnerRing';\n"],"mappings":"","ignoreList":[]}
|