yuyeon 0.3.3 → 0.3.4-beta.12
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 +3107 -3080
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/abstract/items.js.map +1 -1
- package/lib/components/alert/YAlert.js +3 -4
- 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 +3 -3
- package/lib/components/badge/YBadge.js.map +1 -1
- package/lib/components/badge/YBadge.scss +3 -2
- 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 +55 -53
- 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 +2 -0
- package/lib/components/draggable/index.js.map +1 -0
- 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 +42 -40
- 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/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 +30 -31
- package/lib/components/img/YImg.js.map +1 -1
- package/lib/components/img/index.js.map +1 -1
- 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 +10 -9
- 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 +4 -3
- 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.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 +5 -8
- 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 +1 -0
- package/lib/components/panel/index.js.map +1 -1
- package/lib/components/plate/YPlate.js +3 -4
- 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 +58 -0
- package/lib/components/radio/YRadio.js.map +1 -0
- package/lib/components/radio/YRadio.scss +38 -0
- package/lib/components/radio/YRadioIcon.js +33 -0
- package/lib/components/radio/YRadioIcon.js.map +1 -0
- package/lib/components/radio/YRadioIcon.scss +43 -0
- package/lib/components/radio/index.js +3 -0
- package/lib/components/radio/index.js.map +1 -0
- package/lib/components/select/YSelect.js +41 -43
- 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 +8 -6
- package/lib/components/table/YDataTable.js.map +1 -1
- package/lib/components/table/YDataTableBody.js +1 -2
- 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 +8 -6
- package/lib/components/table/YDataTableControl.js.map +1 -1
- package/lib/components/table/YDataTableControl.scss +10 -0
- 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 +1 -2
- 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 +8 -6
- 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 +2 -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 +1 -2
- 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 +1 -2
- package/lib/components/tree-view/YTreeView.js.map +1 -1
- package/lib/components/tree-view/YTreeViewNode.js +7 -4
- 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.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.map +1 -1
- package/lib/composables/coordinate/levitation.js +2 -2
- 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 +1 -2
- 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.map +1 -1
- package/lib/composables/transition.js.map +1 -1
- package/lib/composables/validation.js +7 -4
- 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 +2 -2
- package/lib/directives/plate-wave/index.js.map +1 -1
- 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 +23 -23
- package/lib/styles/theme/dark.scss +3 -3
- package/lib/styles/theme/index.scss +0 -1
- 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 +1 -0
- 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.map +1 -1
- package/lib/util/color/hct/hct-solver.js +6 -6
- package/lib/util/color/hct/hct-solver.js.map +1 -1
- 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 +13 -13
- 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 +6 -1
- package/lib/util/string.js.map +1 -1
- package/lib/util/ui.js.map +1 -1
- package/lib/util/validation.js.map +1 -1
- package/package.json +132 -123
- package/types/abstract/items.d.ts +4 -4
- package/types/components/alert/YAlert.d.ts +2 -2
- package/types/components/badge/YBadge.d.ts +0 -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 +3 -3
- package/types/components/date-picker/YDatePickerControl.d.ts +7 -7
- package/types/components/dialog/YDialog.d.ts +108 -6480
- package/types/components/draggable/YDraggable.d.ts +6 -6
- package/types/components/draggable/index.d.ts +1 -0
- package/types/components/dropdown/YDropdown.d.ts +87 -87
- package/types/components/field-input/YFieldInput.d.ts +20 -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 +26 -26
- 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 +55 -3240
- package/types/components/layer/scroll-strategies.d.ts +4 -4
- package/types/components/menu/YMenu.d.ts +74 -6446
- package/types/components/pagination/YPagination.d.ts +3 -3
- package/types/components/radio/YRadio.d.ts +25 -0
- package/types/components/radio/YRadioIcon.d.ts +6 -0
- package/types/components/radio/index.d.ts +2 -0
- package/types/components/select/YSelect.d.ts +178 -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 +33 -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 +18 -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 +54 -99
- 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 +7 -7
- package/types/components/tree-view/YTreeViewNode.d.ts +5 -5
- package/types/components/tree-view/tree-view.d.ts +2 -2
- package/types/composables/choice.d.ts +2 -2
- package/types/composables/coordinate/index.d.ts +27 -3205
- 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 +0 -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 +19 -20
- package/types/shims.d.ts +58 -52
- 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/util/string.d.ts +1 -0
- /package/types/directives/{theme-class.d.ts → theme-class/index.d.ts} +0 -0
|
@@ -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","selector","ret","proxy","parentNode","parentEl","hasAttribute","document","querySelector"],"sources":["../../../src/components/layer/base.ts"],"sourcesContent":["import {\
|
|
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","selector","ret","proxy","parentNode","parentEl","hasAttribute","document","querySelector"],"sources":["../../../src/components/layer/base.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n type ComponentPublicInstance,\n computed,\n getCurrentInstance,\n type PropType,\n ref,\n watchEffect,\n} from 'vue';\n\nimport { propsFactory } from '@/util/component';\n\nexport type BaseType =\n | string\n | Element\n | ComponentPublicInstance\n | [x: number, y: number]\n | undefined;\n\nexport const pressBasePropsOptions = propsFactory(\n {\n base: [String, Object, Array] as PropType<BaseType>,\n baseProps: Object as PropType<Record<string, any>>,\n },\n 'YLayer.base',\n);\n\ninterface BaseProps {\n base: BaseType;\n baseProps: Record<string, any> | undefined;\n}\n\nexport function useBase(props: BaseProps) {\n const vm = getCurrentInstance()!;\n\n const base$ = ref();\n const baseSlot = ref();\n const baseEl = ref<HTMLElement>();\n\n const baseFromSlotEl = computed(() => {\n const el = baseSlot.value?.[0]?.el;\n if (el && el.nodeType === Node.ELEMENT_NODE) {\n return el;\n }\n return undefined;\n });\n\n const base = computed(() => {\n if (baseEl.value && !props.base) {\n return baseEl.value;\n }\n return getBase(props.base, vm);\n });\n\n watchEffect(\n () => {\n if (!base$.value) {\n if (!baseFromSlotEl.value && props.base && !Array.isArray(props.base)) {\n baseEl.value = base.value;\n return;\n }\n baseEl.value = baseFromSlotEl.value;\n return;\n }\n let toEl = base$.value;\n if (toEl.baseEl) {\n toEl = toEl.baseEl;\n }\n if (base$.value?.$el) {\n if (base$.value.$el.nodeType === Node.ELEMENT_NODE) {\n toEl = base$.value.$el;\n }\n }\n if (toEl?.nodeType !== Node.ELEMENT_NODE) {\n toEl = baseFromSlotEl.value;\n }\n baseEl.value = toEl;\n },\n { flush: 'post' },\n );\n\n return {\n base$,\n baseEl,\n baseSlot,\n base,\n baseFromSlotEl,\n };\n}\n\nfunction getBase(selector: BaseType, vm: ComponentInternalInstance) {\n if (!selector) return;\n\n let ret;\n\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode;\n let parentEl = el;\n while (el) {\n if (el?.hasAttribute('data-base-parent')) {\n parentEl = el;\n break;\n }\n el = el.parentNode;\n }\n ret = parentEl;\n }\n // Selector\n else if (typeof selector === 'string') {\n ret = document.querySelector(selector);\n }\n // Component\n else if ('$el' in selector) {\n ret = selector.$el;\n }\n // HTMLElement | Element | [x, y]\n else {\n ret = selector;\n }\n\n return ret;\n}\n"],"mappings":"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","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';\n\nimport { propsFactory } from '@/util/component';\n\nexport const pressContentPropsOptions = propsFactory(\n {\n closeClickContent: {\n type: Boolean as PropType<boolean>,\n },\n },\n 'YLayer.content',\n);\n\ninterface ContentProps {\n closeClickContent: boolean | undefined;\n}\n\nexport function useContent(props: ContentProps, active: Ref<boolean>) {\n const contentEvents = computed(() => {\n const events: Record<string, EventListener> = {};\n\n if (props.closeClickContent) {\n events.onClick = (e: Event) => {\n active.value = false;\n };\n }\n\n return events;\n });\n\n return {\n contentEvents,\n };\n}\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';\n\nimport { useRender } from '@/composables/component';\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport './YListItem.scss';\n\nexport const pressYListItemProps = propsFactory(\n {\n tag: {\n type: String,\n default: 'div',\n },\n onClick: Function,\n disabled: Boolean,\n ...pressThemePropsOptions(),\n },\n 'YListItem',\n);\n\nexport const YListItem = defineComponent({\n name: 'YListItem',\n props: {\n ...pressYListItemProps(),\n },\n emits: {\n click: (e: MouseEvent) => true,\n },\n slots: Object as SlotsType<{\n default: any;\n leading: any;\n trailing: any;\n }>,\n setup(props, { slots, emit }) {\n const { themeClasses } = useLocalTheme(props);\n\n function onClick(e: MouseEvent) {\n emit('click', e);\n }\n\n const clickable = computed(() => {\n return !props.disabled && !!props.onClick;\n });\n\n useRender(() => {\n const ElTag = props.tag as keyof HTMLElementTagNameMap;\n return (\n <ElTag\n class={[\n 'y-list-item',\n {\n 'y-list-item--pointer': clickable.value,\n 'y-list-item--disabled': props.disabled,\n },\n themeClasses.value,\n ]}\n onClick={onClick}\n >\n {slots.leading && (\n <div class={'y-list-item__leading'}>{slots.leading()}</div>\n )}\n <div class={'y-list-item__content'}>{slots.default?.()}</div>\n {slots.trailing && (\n <div class={'y-list-item__trailing'}>{slots.trailing()}</div>\n )}\n </ElTag>\n );\n });\n },\n});\n\nexport type YListItem = InstanceType<typeof YListItem>;\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":[]}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getCurrentInstance } from 'vue';
|
|
3
|
-
import { computed, ref, toRef, watch } from 'vue';
|
|
1
|
+
import { computed, getCurrentInstance, ref, toRef, watch, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from 'vue';
|
|
4
2
|
import { useModelDuplex } from "../../composables/communication.js";
|
|
5
3
|
import { useRender } from "../../composables/component.js";
|
|
6
4
|
import { pressPolyTransitionPropsOptions } from "../../composables/transition.js";
|
|
7
|
-
import { defineComponent } from "../../util/component/index.js";
|
|
8
|
-
import { bindClasses, chooseProps } from "../../util/component/index.js";
|
|
5
|
+
import { bindClasses, chooseProps, defineComponent } from "../../util/component/index.js";
|
|
9
6
|
import { hasElementMouseEvent } from "../../util/dom.js";
|
|
10
7
|
import { toKebabCase } from "../../util/string.js";
|
|
11
|
-
import {
|
|
8
|
+
import { pressYLayerProps, YLayer } from "../layer/index.js";
|
|
12
9
|
import { useDelay } from "../layer/active-delay.js";
|
|
13
10
|
import { useActiveStack } from "../layer/active-stack.js";
|
|
14
11
|
import "./YMenu.scss";
|
|
@@ -37,8 +34,8 @@ export const YMenuPropOptions = {
|
|
|
37
34
|
preventCloseBubble: Boolean
|
|
38
35
|
};
|
|
39
36
|
|
|
40
|
-
/**
|
|
41
|
-
* # Component
|
|
37
|
+
/**
|
|
38
|
+
* # Component
|
|
42
39
|
*/
|
|
43
40
|
export const YMenu = defineComponent({
|
|
44
41
|
name: NAME,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YMenu.js","names":["getCurrentInstance","computed","ref","toRef","watch","useModelDuplex","useRender","pressPolyTransitionPropsOptions","defineComponent","bindClasses","chooseProps","hasElementMouseEvent","toKebabCase","YLayer","pressYLayerProps","useDelay","useActiveStack","NAME","CLASS_NAME","YMenuPropOptions","menuClasses","type","Array","String","Object","openOnClickBase","Boolean","default","closeCondition","Function","undefined","preventClip","coordinateStrategy","scrollStrategy","preventCloseBubble","YMenu","name","props","transition","emits","slots","expose","setup","_ref","emit","vm","layer$","classes","boundClasses","active","hovered","value","finish","children","parent","startOpenDelay","startCloseDelay","changeActive","openOnHover","length","onMouseenter","e","onMouseleave","onClick","stopPropagation","currentActive","disabled","onComplementClick","parentContent","$el","content$","parentModal","modal","clear","bindHover","el","addEventListener","unbindHover","removeEventListener","baseEl","neo","old","immediate","computedContentClasses","contentClasses","_createVNode","_Fragment","_mergeProps","onAfterLeave","scrim","$event","_len","arguments","args","_key","base","_len2","_key2"],"sources":["../../../src/components/menu/YMenu.tsx"],"sourcesContent":["import { getCurrentInstance, PropType, SlotsType } from 'vue';\r\nimport { computed, ref, toRef, watch } from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { pressPolyTransitionPropsOptions } from '@/composables/transition';\r\nimport { defineComponent } from '@/util/component';\r\nimport { bindClasses, chooseProps } from '@/util/component';\r\nimport { hasElementMouseEvent } from '@/util/dom';\r\nimport { toKebabCase } from '@/util/string';\r\n\r\nimport { YLayer, pressYLayerProps } from '../layer';\r\nimport { useDelay } from '../layer/active-delay';\r\nimport { useActiveStack } from '../layer/active-stack';\r\n\r\nimport './YMenu.scss';\r\n\r\nconst NAME = 'YMenu';\r\nconst CLASS_NAME = toKebabCase(NAME);\r\n\r\nexport const YMenuPropOptions = {\r\n menuClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n openOnClickBase: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n closeCondition: {\r\n type: [Boolean, Function],\r\n default: undefined,\r\n },\r\n preventClip: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n ...pressYLayerProps({\r\n coordinateStrategy: 'levitation' as const,\r\n scrollStrategy: 'reposition' as const,\r\n }),\r\n preventCloseBubble: Boolean as PropType<boolean>,\r\n};\r\n\r\n/**\r\n * # Component\r\n */\r\nexport const YMenu = defineComponent({\r\n name: NAME,\r\n props: {\r\n ...YMenuPropOptions,\r\n ...pressPolyTransitionPropsOptions({\r\n transition: 'fade',\r\n }),\r\n },\r\n emits: ['update:modelValue', 'afterLeave', 'hoverContent'],\r\n slots: Object as SlotsType<{\r\n default: any;\r\n base: any;\r\n }>,\r\n expose: ['layer$', 'baseEl'],\r\n setup(props, { slots, emit, expose }) {\r\n const vm = getCurrentInstance();\r\n const layer$ = ref<typeof YLayer>();\r\n\r\n const classes = computed(() => {\r\n const boundClasses = bindClasses(props.menuClasses);\r\n return {\r\n ...boundClasses,\r\n 'y-menu': true,\r\n };\r\n });\r\n\r\n const active = useModelDuplex(props);\r\n const hovered = computed(() => !!layer$.value?.hovered);\r\n const finish = computed(() => !!layer$.value?.finish);\r\n const { children, parent } = useActiveStack(\r\n layer$,\r\n active,\r\n toRef(props, 'preventCloseBubble'),\r\n );\r\n const { startOpenDelay, startCloseDelay } = useDelay(\r\n props,\r\n (changeActive) => {\r\n if (\r\n !changeActive &&\r\n props.openOnHover &&\r\n !hovered.value &&\r\n children.value.length === 0\r\n ) {\r\n active.value = false;\r\n } else if (changeActive) {\r\n active.value = true;\r\n }\r\n },\r\n );\r\n\r\n function onMouseenter(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startOpenDelay();\r\n }\r\n }\r\n\r\n function onMouseleave(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startCloseDelay();\r\n }\r\n }\r\n\r\n watch(hovered, (value) => {\r\n emit('hoverContent', value);\r\n if (!value) {\r\n startCloseDelay();\r\n }\r\n });\r\n\r\n function onClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n if (!props.openOnClickBase) {\r\n return;\r\n }\r\n const currentActive = active.value;\r\n if (!props.disabled) {\r\n if (props.openOnHover && finish.value && currentActive) {\r\n return;\r\n }\r\n active.value = !currentActive;\r\n }\r\n }\r\n\r\n function onComplementClick(e: Event) {\r\n if (props.closeCondition === false) {\r\n return;\r\n }\r\n if (typeof props.closeCondition === 'function') {\r\n if (props.closeCondition(e) === false) {\r\n active.value = false;\r\n return;\r\n }\r\n }\r\n if (active.value) {\r\n if ((children.value.length === 0)) {\r\n active.value = false;\r\n }\r\n const parentContent = parent?.$el.value?.content$;\r\n const parentModal = parent?.$el.value?.modal;\r\n if (\r\n !(parentContent && !hasElementMouseEvent(e, parentContent)) &&\r\n !parentModal &&\r\n !props.preventCloseBubble\r\n ) {\r\n parent?.clear();\r\n }\r\n }\r\n }\r\n\r\n function bindHover(el: HTMLElement) {\r\n el.addEventListener('mouseenter', onMouseenter);\r\n el.addEventListener('mouseleave', onMouseleave);\r\n }\r\n\r\n function unbindHover(el: HTMLElement) {\r\n el.removeEventListener('mouseenter', onMouseenter);\r\n el.removeEventListener('mouseleave', onMouseleave);\r\n }\r\n\r\n watch(\r\n () => layer$.value?.baseEl,\r\n (neo, old) => {\r\n if (neo) {\r\n bindHover(neo);\r\n neo.addEventListener('click', onClick);\r\n } else if (old) {\r\n unbindHover(old);\r\n old.removeEventListener('click', onClick);\r\n }\r\n },\r\n {\r\n immediate: true,\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 const baseEl = computed(() => {\r\n return layer$.value?.baseEl;\r\n });\r\n\r\n expose({\r\n layer$,\r\n baseEl,\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n <YLayer\r\n ref={layer$}\r\n transition={props.transition}\r\n onClick:complement={onComplementClick}\r\n onAfterLeave={() => emit('afterLeave')}\r\n {...{\r\n ...chooseProps(props, YLayer.props),\r\n classes: classes.value,\r\n scrim: false,\r\n contentClasses: {\r\n 'y-menu__content': true,\r\n ...computedContentClasses.value,\r\n },\r\n }}\r\n v-model={active.value}\r\n >\r\n {{\r\n default: (...args: any) => {\r\n return <>{slots.default?.(...args) ?? ''}</>;\r\n },\r\n base: (...args: any[]) => slots.base?.(...args),\r\n }}\r\n </YLayer>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n layer$,\r\n baseEl,\r\n classes,\r\n children,\r\n parent,\r\n active,\r\n hovered,\r\n };\r\n },\r\n});\r\n\r\nexport type YMenu = InstanceType<typeof YMenu>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YMenu.js","names":["computed","getCurrentInstance","ref","toRef","watch","Fragment","_Fragment","createVNode","_createVNode","mergeProps","_mergeProps","useModelDuplex","useRender","pressPolyTransitionPropsOptions","bindClasses","chooseProps","defineComponent","hasElementMouseEvent","toKebabCase","pressYLayerProps","YLayer","useDelay","useActiveStack","NAME","CLASS_NAME","YMenuPropOptions","menuClasses","type","Array","String","Object","openOnClickBase","Boolean","default","closeCondition","Function","undefined","preventClip","coordinateStrategy","scrollStrategy","preventCloseBubble","YMenu","name","props","transition","emits","slots","expose","setup","_ref","emit","vm","layer$","classes","boundClasses","active","hovered","value","finish","children","parent","startOpenDelay","startCloseDelay","changeActive","openOnHover","length","onMouseenter","e","onMouseleave","onClick","stopPropagation","currentActive","disabled","onComplementClick","parentContent","$el","content$","parentModal","modal","clear","bindHover","el","addEventListener","unbindHover","removeEventListener","baseEl","neo","old","immediate","computedContentClasses","contentClasses","onAfterLeave","scrim","$event","_len","arguments","args","_key","base","_len2","_key2"],"sources":["../../../src/components/menu/YMenu.tsx"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n PropType,\n ref,\n SlotsType,\n toRef,\n watch,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { pressPolyTransitionPropsOptions } from '@/composables/transition';\nimport { bindClasses, chooseProps, defineComponent } from '@/util/component';\nimport { hasElementMouseEvent } from '@/util/dom';\nimport { toKebabCase } from '@/util/string';\n\nimport { pressYLayerProps, YLayer } from '../layer';\nimport { useDelay } from '../layer/active-delay';\nimport { useActiveStack } from '../layer/active-stack';\n\nimport './YMenu.scss';\n\nconst NAME = 'YMenu';\nconst CLASS_NAME = toKebabCase(NAME);\n\nexport const YMenuPropOptions = {\n menuClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n openOnClickBase: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n closeCondition: {\n type: [Boolean, Function],\n default: undefined,\n },\n preventClip: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n ...pressYLayerProps({\n coordinateStrategy: 'levitation' as const,\n scrollStrategy: 'reposition' as const,\n }),\n preventCloseBubble: Boolean as PropType<boolean>,\n};\n\n/**\n * # Component\n */\nexport const YMenu = defineComponent({\n name: NAME,\n props: {\n ...YMenuPropOptions,\n ...pressPolyTransitionPropsOptions({\n transition: 'fade',\n }),\n },\n emits: ['update:modelValue', 'afterLeave', 'hoverContent'],\n slots: Object as SlotsType<{\n default: any;\n base: any;\n }>,\n expose: ['layer$', 'baseEl'],\n setup(props, { slots, emit, expose }) {\n const vm = getCurrentInstance();\n const layer$ = ref<typeof YLayer>();\n\n const classes = computed(() => {\n const boundClasses = bindClasses(props.menuClasses);\n return {\n ...boundClasses,\n 'y-menu': true,\n };\n });\n\n const active = useModelDuplex(props);\n const hovered = computed(() => !!layer$.value?.hovered);\n const finish = computed(() => !!layer$.value?.finish);\n const { children, parent } = useActiveStack(\n layer$,\n active,\n toRef(props, 'preventCloseBubble'),\n );\n const { startOpenDelay, startCloseDelay } = useDelay(\n props,\n (changeActive) => {\n if (\n !changeActive &&\n props.openOnHover &&\n !hovered.value &&\n children.value.length === 0\n ) {\n active.value = false;\n } else if (changeActive) {\n active.value = true;\n }\n },\n );\n\n function onMouseenter(e: MouseEvent) {\n if (props.openOnHover) {\n startOpenDelay();\n }\n }\n\n function onMouseleave(e: MouseEvent) {\n if (props.openOnHover) {\n startCloseDelay();\n }\n }\n\n watch(hovered, (value) => {\n emit('hoverContent', value);\n if (!value) {\n startCloseDelay();\n }\n });\n\n function onClick(e: MouseEvent) {\n e.stopPropagation();\n if (!props.openOnClickBase) {\n return;\n }\n const currentActive = active.value;\n if (!props.disabled) {\n if (props.openOnHover && finish.value && currentActive) {\n return;\n }\n active.value = !currentActive;\n }\n }\n\n function onComplementClick(e: Event) {\n if (props.closeCondition === false) {\n return;\n }\n if (typeof props.closeCondition === 'function') {\n if (props.closeCondition(e) === false) {\n active.value = false;\n return;\n }\n }\n if (active.value) {\n if (children.value.length === 0) {\n active.value = false;\n }\n const parentContent = parent?.$el.value?.content$;\n const parentModal = parent?.$el.value?.modal;\n if (\n !(parentContent && !hasElementMouseEvent(e, parentContent)) &&\n !parentModal &&\n !props.preventCloseBubble\n ) {\n parent?.clear();\n }\n }\n }\n\n function bindHover(el: HTMLElement) {\n el.addEventListener('mouseenter', onMouseenter);\n el.addEventListener('mouseleave', onMouseleave);\n }\n\n function unbindHover(el: HTMLElement) {\n el.removeEventListener('mouseenter', onMouseenter);\n el.removeEventListener('mouseleave', onMouseleave);\n }\n\n watch(\n () => layer$.value?.baseEl,\n (neo, old) => {\n if (neo) {\n bindHover(neo);\n neo.addEventListener('click', onClick);\n } else if (old) {\n unbindHover(old);\n old.removeEventListener('click', onClick);\n }\n },\n {\n immediate: true,\n },\n );\n\n const computedContentClasses = computed<Record<string, boolean>>(() => {\n const boundClasses = bindClasses(props.contentClasses);\n return {\n ...boundClasses,\n };\n });\n\n const baseEl = computed(() => {\n return layer$.value?.baseEl;\n });\n\n expose({\n layer$,\n baseEl,\n });\n\n useRender(() => {\n return (\n <>\n <YLayer\n ref={layer$}\n transition={props.transition}\n onClick:complement={onComplementClick}\n onAfterLeave={() => emit('afterLeave')}\n {...{\n ...chooseProps(props, YLayer.props),\n classes: classes.value,\n scrim: false,\n contentClasses: {\n 'y-menu__content': true,\n ...computedContentClasses.value,\n },\n }}\n v-model={active.value}\n >\n {{\n default: (...args: any) => {\n return <>{slots.default?.(...args) ?? ''}</>;\n },\n base: (...args: any[]) => slots.base?.(...args),\n }}\n </YLayer>\n </>\n );\n });\n\n return {\n layer$,\n baseEl,\n classes,\n children,\n parent,\n active,\n hovered,\n };\n },\n});\n\nexport type YMenu = InstanceType<typeof YMenu>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
.y-menu {
|
|
2
2
|
font-size: 0.875rem;
|
|
3
|
-
$elevation-fallback:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
-2px -2px 8px -2px rgba(0, 0, 0, 0.14);
|
|
3
|
+
$elevation-fallback: 1px 1px 8px -1px rgba(0, 0, 0, 0.14),
|
|
4
|
+
4px 4px 24px -4px rgba(0, 0, 0, 0.28),
|
|
5
|
+
-2px -2px 8px -2px rgba(0, 0, 0, 0.14);
|
|
7
6
|
|
|
8
7
|
--y-menu__border-radius: 8px;
|
|
9
8
|
--y-menu__elevation: var(--y-elevation--level2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/menu/index.ts"],"sourcesContent":["export * from './YMenu';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/menu/index.ts"],"sourcesContent":["export * from './YMenu';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { createVNode as _createVNode } from
|
|
2
|
-
import { getCurrentInstance } from 'vue';
|
|
1
|
+
import { getCurrentInstance, createVNode as _createVNode } from 'vue';
|
|
3
2
|
import { defineComponent } from "../../util/component/index.js";
|
|
4
3
|
import { YBench } from "../bench/YBench.js";
|
|
5
4
|
export const YNavigation = defineComponent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YNavigation.js","names":["getCurrentInstance","defineComponent","YBench","YNavigation","name","components","setup","props","_ref","slots","vm"
|
|
1
|
+
{"version":3,"file":"YNavigation.js","names":["getCurrentInstance","createVNode","_createVNode","defineComponent","YBench","YNavigation","name","components","setup","props","_ref","slots","vm"],"sources":["../../../src/components/navigation/YNavigation.tsx"],"sourcesContent":["import { getCurrentInstance } from 'vue';\n\nimport { defineComponent } from '@/util/component';\n\nimport { YBench } from '../bench/YBench';\n\nexport const YNavigation = defineComponent({\n name: 'YNavigation',\n components: {\n YBench,\n },\n setup(props, { slots }) {\n const vm = getCurrentInstance();\n return <YBench></YBench>;\n },\n});\n"],"mappings":"AAAA,SAASA,kBAAkB,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAEhCC,eAAe;AAAA,SAEfC,MAAM;AAEf,OAAO,MAAMC,WAAW,GAAGF,eAAe,CAAC;EACzCG,IAAI,EAAE,aAAa;EACnBC,UAAU,EAAE;IACVH;EACF,CAAC;EACDI,KAAKA,CAACC,KAAK,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,EAAE,GAAGZ,kBAAkB,CAAC,CAAC;IAC/B,OAAAE,YAAA,CAAAE,MAAA;EACF;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/navigation/index.ts"],"sourcesContent":["export * from './YNavigation';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/navigation/index.ts"],"sourcesContent":["export * from './YNavigation';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { createVNode as _createVNode } from
|
|
2
|
-
import { computed, shallowRef } from 'vue';
|
|
1
|
+
import { computed, shallowRef, createVNode as _createVNode } from 'vue';
|
|
3
2
|
import { useModelDuplex } from "../../composables/communication.js";
|
|
4
3
|
import { useRender } from "../../composables/component.js";
|
|
5
4
|
import { useRefs } from "../../composables/ref.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YPagination.js","names":["computed","shallowRef","useModelDuplex","useRender","useRefs","useResizeObserver","getRangeArr","defineComponent","propsFactory","toStyleSizeValue","YButton","YIconPageControl","pressYPaginationProps","start","type","Number","String","default","modelValue","props","disabled","Boolean","length","validator","val","totalVisible","maxVisible","showEndButton","gap","color","activeColor","buttonVariation","align","YPagination","name","components","emits","value","change","control","setup","_ref","slots","emit","page","parseInt","itemCount","resizeObservedRef","entries","target","contentRect","firstItem","querySelector","listWidth","width","itemWidth","offsetWidth","parseFloat","getComputedStyle","marginRight","calcItemCount","fixedCount","fixedWidth","count","Math","max","floor","toFixed","isNaN","min","total","innerWidth","controls","prevDisabled","nextDisabled","first","variation","onClick","e","preventDefault","prev","to","next","last","range","MAX_SAFE_INTEGER","even","middle","left","right","rangeLength","rangeStart","ceil","refs","updateRef","changePage","event","arguments","undefined","items","map","item","index","ref","active","key","ellipsis","styles","_createVNode"],"sources":["../../../src/components/pagination/YPagination.tsx"],"sourcesContent":["import {\r\n type ComponentPublicInstance,\r\n type PropType,\r\n computed,\r\n shallowRef,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { useRefs } from '@/composables/ref';\r\nimport { useResizeObserver } from '@/composables/resize-observer';\r\nimport { getRangeArr } from '@/util/common';\r\nimport { defineComponent, propsFactory } from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport { YButton } from '../button';\r\nimport { YIconPageControl } from '../icons/YIconPageControl';\r\n\r\nimport './YPagination.scss';\r\n\r\nexport const pressYPaginationProps = propsFactory(\r\n {\r\n start: {\r\n type: [Number, String],\r\n default: 1,\r\n },\r\n modelValue: {\r\n type: Number,\r\n default: (props: any) => props.start as number,\r\n },\r\n disabled: Boolean,\r\n length: {\r\n type: [Number, String],\r\n default: 1,\r\n validator: (val: number) => val % 1 === 0,\r\n },\r\n totalVisible: [Number, String],\r\n maxVisible: [Number, String],\r\n showEndButton: Boolean,\r\n gap: {\r\n type: [String, Number],\r\n default: 4,\r\n },\r\n color: String,\r\n activeColor: String,\r\n buttonVariation: [String],\r\n align: {\r\n type: String as PropType<'start' | 'center' | 'end'>,\r\n default: 'center',\r\n },\r\n // firstIcon: [String],\r\n // lastIcon: [String],\r\n // prevIcon: [String],\r\n // nextIcon: [String],\r\n },\r\n 'YPagination',\r\n);\r\n\r\nexport const YPagination = defineComponent({\r\n name: 'YPagination',\r\n components: {\r\n YButton,\r\n },\r\n props: {\r\n ...pressYPaginationProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: number) => true,\r\n change: (value: number, control?: string) => true,\r\n },\r\n setup(props, { slots, emit }) {\r\n const page = useModelDuplex(props);\r\n\r\n const length = computed(() => parseInt(props.length as string, 10));\r\n const start = computed(() => parseInt(props.start as string, 10));\r\n\r\n const itemCount = shallowRef(-1);\r\n\r\n const { resizeObservedRef } = useResizeObserver((entries) => {\r\n if (1 > entries.length) return;\r\n const { target, contentRect } = entries[0];\r\n\r\n const firstItem = target.querySelector(\r\n '.y-pagination__list > *',\r\n ) as HTMLElement;\r\n if (firstItem) {\r\n const listWidth = contentRect.width;\r\n const itemWidth =\r\n firstItem.offsetWidth +\r\n parseFloat(getComputedStyle(firstItem).marginRight) * 2;\r\n itemCount.value = calcItemCount(listWidth, itemWidth);\r\n }\r\n });\r\n\r\n function calcItemCount(listWidth: number, itemWidth: number) {\r\n const fixedCount = props.showEndButton ? 5 : 3;\r\n const gap = +(props.gap ?? 4);\r\n const fixedWidth = (itemWidth + gap) * fixedCount - gap;\r\n const count = Math.max(\r\n 0,\r\n Math.floor(+((listWidth - fixedWidth) / (itemWidth + gap)).toFixed(2)),\r\n );\r\n const maxVisible = Number(props.maxVisible);\r\n if (!isNaN(maxVisible)) {\r\n return Math.min(maxVisible, count);\r\n }\r\n return count;\r\n }\r\n\r\n const totalVisible = computed(() => {\r\n const maxVisible = Number(props.maxVisible);\r\n if (props.totalVisible) {\r\n const total = parseInt(props.totalVisible as string, 10);\r\n if (!isNaN(maxVisible)) {\r\n return Math.min(total, maxVisible);\r\n }\r\n return total;\r\n } else if (itemCount.value >= 0) return itemCount.value;\r\n return calcItemCount(innerWidth, 58);\r\n });\r\n\r\n const controls = computed(() => {\r\n const prevDisabled = !!props.disabled || page.value <= start.value;\r\n const nextDisabled =\r\n !!props.disabled || page.value >= start.value + length.value - 1;\r\n return {\r\n first: {\r\n disabled: prevDisabled,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n page.value = 1;\r\n emit('change', 1, 'first');\r\n },\r\n },\r\n prev: {\r\n disabled: prevDisabled,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n const to = Math.max(1, page.value - 1);\r\n page.value = to;\r\n emit('change', to, 'prev');\r\n },\r\n },\r\n next: {\r\n disabled: nextDisabled,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n const to = Math.min(+length.value, page.value + 1);\r\n page.value = to;\r\n emit('change', to, 'next');\r\n },\r\n },\r\n last: {\r\n disabled: nextDisabled,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n const to = +length.value;\r\n page.value = +length.value;\r\n emit('change', to, 'last');\r\n },\r\n },\r\n };\r\n });\r\n\r\n const range = computed(() => {\r\n if (\r\n length.value <= 0 ||\r\n isNaN(length.value) ||\r\n length.value > Number.MAX_SAFE_INTEGER\r\n ) {\r\n return [];\r\n }\r\n if (totalVisible.value <= 1) {\r\n return [page.value];\r\n }\r\n if (length.value <= totalVisible.value) {\r\n return getRangeArr(length.value, start.value);\r\n }\r\n const even = totalVisible.value % 2 === 0;\r\n const middle = even\r\n ? totalVisible.value / 2\r\n : Math.floor(totalVisible.value / 2);\r\n const left = even ? middle : middle + 1;\r\n const right = length.value - middle;\r\n\r\n if (left - page.value >= 0) {\r\n return [\r\n ...getRangeArr(Math.max(1, totalVisible.value - 1), start.value),\r\n 'ellipsis',\r\n length.value,\r\n ];\r\n } else if (page.value - right >= (even ? 1 : 0)) {\r\n const rangeLength = totalVisible.value - 1;\r\n const rangeStart = length.value - rangeLength + start.value;\r\n return [\r\n start.value,\r\n 'ellipsis',\r\n ...getRangeArr(rangeLength, rangeStart),\r\n ];\r\n } else {\r\n const rangeLength = Math.max(1, totalVisible.value - 3);\r\n const rangeStart =\r\n rangeLength === 1\r\n ? page.value\r\n : page.value - Math.ceil(rangeLength / 2) + start.value;\r\n return [\r\n start.value,\r\n 'ellipsis',\r\n ...getRangeArr(rangeLength, rangeStart),\r\n 'ellipsis',\r\n length.value,\r\n ];\r\n }\r\n });\r\n\r\n const { refs, updateRef } = useRefs<ComponentPublicInstance>();\r\n\r\n function changePage(event: Event, to = 1) {\r\n event.preventDefault();\r\n page.value = to;\r\n emit('change', to);\r\n }\r\n\r\n const items = computed(() => {\r\n return range.value.map((item, index) => {\r\n const ref = (e: any) => updateRef(e, index);\r\n\r\n if (item === 'ellipsis') {\r\n return {\r\n active: false,\r\n key: `ellipsis-${index}`,\r\n page: item,\r\n props: {\r\n ref,\r\n ellipsis: true,\r\n disabled: true, // TODO: skipper\r\n },\r\n };\r\n } else {\r\n const active = item === page.value;\r\n return {\r\n active,\r\n key: `item-${item}`,\r\n page: item,\r\n props: {\r\n ref,\r\n ellipsis: false,\r\n disabled: !!props.disabled || +props.length < 2,\r\n color: active ? props.activeColor : props.color,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => changePage(e, item),\r\n },\r\n };\r\n }\r\n });\r\n });\r\n\r\n const styles = computed(() => {\r\n let gap = undefined;\r\n if (props.gap) {\r\n const value = +props.gap;\r\n if (!isNaN(value)) {\r\n gap = toStyleSizeValue(value);\r\n } else if (typeof props.gap === 'string') {\r\n gap = props.gap;\r\n }\r\n }\r\n return {\r\n '--y-pagination__gap': gap,\r\n };\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <div\r\n class={[\r\n 'y-pagination',\r\n { [`y-pagination--align-${props.align}`]: props.align !== 'start' },\r\n ]}\r\n role={'navigation'}\r\n style={styles.value}\r\n ref={resizeObservedRef}\r\n >\r\n <ul class={['y-pagination__list']}>\r\n {props.showEndButton && (\r\n <li key=\"first\" class=\"y-pagination__first\">\r\n {slots.first ? (\r\n slots.first(controls.value.first)\r\n ) : (\r\n <YButton {...controls.value.first}>\r\n {slots['first-icon'] ? (\r\n slots['first-icon']()\r\n ) : (\r\n <YIconPageControl type={'first'}></YIconPageControl>\r\n )}\r\n </YButton>\r\n )}\r\n </li>\r\n )}\r\n <li key=\"prev\" class=\"y-pagination__prev\">\r\n {slots.prev ? (\r\n slots.prev(controls.value.prev)\r\n ) : (\r\n <YButton {...controls.value.prev}>\r\n {slots['prev-icon'] ? (\r\n slots['prev-icon']()\r\n ) : (\r\n <YIconPageControl type={'prev'}></YIconPageControl>\r\n )}\r\n </YButton>\r\n )}\r\n </li>\r\n {items.value.map((item, index) => {\r\n return (\r\n <li\r\n key={item.key}\r\n class={[\r\n 'y-pagination__item',\r\n { 'y-pagination__item--active': item.active },\r\n ]}\r\n >\r\n <YButton {...item.props}>\r\n {item.props.ellipsis\r\n ? slots.ellipsis\r\n ? slots.ellipsis()\r\n : '...'\r\n : item.page}\r\n </YButton>\r\n </li>\r\n );\r\n })}\r\n <li key=\"next\" class=\"y-pagination__next\">\r\n {slots.next ? (\r\n slots.next(controls.value.next)\r\n ) : (\r\n <YButton {...controls.value.next}>\r\n {slots['next-icon'] ? (\r\n slots['next-icon']()\r\n ) : (\r\n <YIconPageControl type={'next'}></YIconPageControl>\r\n )}\r\n </YButton>\r\n )}\r\n </li>\r\n {props.showEndButton && (\r\n <li key=\"last\" class=\"y-pagination__last\">\r\n {slots.last ? (\r\n slots.last(controls.value.last)\r\n ) : (\r\n <YButton {...controls.value.last}>\r\n {slots['last-icon'] ? (\r\n slots['last-icon']()\r\n ) : (\r\n <YIconPageControl type={'last'}></YIconPageControl>\r\n )}\r\n </YButton>\r\n )}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n itemCount,\r\n page,\r\n refs,\r\n };\r\n },\r\n});\r\n\r\nexport type YPagination = InstanceType<typeof YPagination>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YPagination.js","names":["computed","shallowRef","createVNode","_createVNode","useModelDuplex","useRender","useRefs","useResizeObserver","getRangeArr","defineComponent","propsFactory","toStyleSizeValue","YButton","YIconPageControl","pressYPaginationProps","start","type","Number","String","default","modelValue","props","disabled","Boolean","length","validator","val","totalVisible","maxVisible","showEndButton","gap","color","activeColor","buttonVariation","align","YPagination","name","components","emits","value","change","control","setup","_ref","slots","emit","page","parseInt","itemCount","resizeObservedRef","entries","target","contentRect","firstItem","querySelector","listWidth","width","itemWidth","offsetWidth","parseFloat","getComputedStyle","marginRight","calcItemCount","fixedCount","fixedWidth","count","Math","max","floor","toFixed","isNaN","min","total","innerWidth","controls","prevDisabled","nextDisabled","first","variation","onClick","e","preventDefault","prev","to","next","last","range","MAX_SAFE_INTEGER","even","middle","left","right","rangeLength","rangeStart","ceil","refs","updateRef","changePage","event","arguments","undefined","items","map","item","index","ref","active","key","ellipsis","styles"],"sources":["../../../src/components/pagination/YPagination.tsx"],"sourcesContent":["import {\n type ComponentPublicInstance,\n type PropType,\n computed,\n shallowRef,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { useRefs } from '@/composables/ref';\nimport { useResizeObserver } from '@/composables/resize-observer';\nimport { getRangeArr } from '@/util/common';\nimport { defineComponent, propsFactory } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport { YButton } from '../button';\nimport { YIconPageControl } from '../icons/YIconPageControl';\n\nimport './YPagination.scss';\n\nexport const pressYPaginationProps = propsFactory(\n {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start as number,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n maxVisible: [Number, String],\n showEndButton: Boolean,\n gap: {\n type: [String, Number],\n default: 4,\n },\n color: String,\n activeColor: String,\n buttonVariation: [String],\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'center',\n },\n // firstIcon: [String],\n // lastIcon: [String],\n // prevIcon: [String],\n // nextIcon: [String],\n },\n 'YPagination',\n);\n\nexport const YPagination = defineComponent({\n name: 'YPagination',\n components: {\n YButton,\n },\n props: {\n ...pressYPaginationProps(),\n },\n emits: {\n 'update:modelValue': (value: number) => true,\n change: (value: number, control?: string) => true,\n },\n setup(props, { slots, emit }) {\n const page = useModelDuplex(props);\n\n const length = computed(() => parseInt(props.length as string, 10));\n const start = computed(() => parseInt(props.start as string, 10));\n\n const itemCount = shallowRef(-1);\n\n const { resizeObservedRef } = useResizeObserver((entries) => {\n if (1 > entries.length) return;\n const { target, contentRect } = entries[0];\n\n const firstItem = target.querySelector(\n '.y-pagination__list > *',\n ) as HTMLElement;\n if (firstItem) {\n const listWidth = contentRect.width;\n const itemWidth =\n firstItem.offsetWidth +\n parseFloat(getComputedStyle(firstItem).marginRight) * 2;\n itemCount.value = calcItemCount(listWidth, itemWidth);\n }\n });\n\n function calcItemCount(listWidth: number, itemWidth: number) {\n const fixedCount = props.showEndButton ? 5 : 3;\n const gap = +(props.gap ?? 4);\n const fixedWidth = (itemWidth + gap) * fixedCount - gap;\n const count = Math.max(\n 0,\n Math.floor(+((listWidth - fixedWidth) / (itemWidth + gap)).toFixed(2)),\n );\n const maxVisible = Number(props.maxVisible);\n if (!isNaN(maxVisible)) {\n return Math.min(maxVisible, count);\n }\n return count;\n }\n\n const totalVisible = computed(() => {\n const maxVisible = Number(props.maxVisible);\n if (props.totalVisible) {\n const total = parseInt(props.totalVisible as string, 10);\n if (!isNaN(maxVisible)) {\n return Math.min(total, maxVisible);\n }\n return total;\n } else if (itemCount.value >= 0) return itemCount.value;\n return calcItemCount(innerWidth, 58);\n });\n\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value;\n const nextDisabled =\n !!props.disabled || page.value >= start.value + length.value - 1;\n return {\n first: {\n disabled: prevDisabled,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => {\n e.preventDefault();\n page.value = 1;\n emit('change', 1, 'first');\n },\n },\n prev: {\n disabled: prevDisabled,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => {\n e.preventDefault();\n const to = Math.max(1, page.value - 1);\n page.value = to;\n emit('change', to, 'prev');\n },\n },\n next: {\n disabled: nextDisabled,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => {\n e.preventDefault();\n const to = Math.min(+length.value, page.value + 1);\n page.value = to;\n emit('change', to, 'next');\n },\n },\n last: {\n disabled: nextDisabled,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => {\n e.preventDefault();\n const to = +length.value;\n page.value = +length.value;\n emit('change', to, 'last');\n },\n },\n };\n });\n\n const range = computed(() => {\n if (\n length.value <= 0 ||\n isNaN(length.value) ||\n length.value > Number.MAX_SAFE_INTEGER\n ) {\n return [];\n }\n if (totalVisible.value <= 1) {\n return [page.value];\n }\n if (length.value <= totalVisible.value) {\n return getRangeArr(length.value, start.value);\n }\n const even = totalVisible.value % 2 === 0;\n const middle = even\n ? totalVisible.value / 2\n : Math.floor(totalVisible.value / 2);\n const left = even ? middle : middle + 1;\n const right = length.value - middle;\n\n if (left - page.value >= 0) {\n return [\n ...getRangeArr(Math.max(1, totalVisible.value - 1), start.value),\n 'ellipsis',\n length.value,\n ];\n } else if (page.value - right >= (even ? 1 : 0)) {\n const rangeLength = totalVisible.value - 1;\n const rangeStart = length.value - rangeLength + start.value;\n return [\n start.value,\n 'ellipsis',\n ...getRangeArr(rangeLength, rangeStart),\n ];\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 3);\n const rangeStart =\n rangeLength === 1\n ? page.value\n : page.value - Math.ceil(rangeLength / 2) + start.value;\n return [\n start.value,\n 'ellipsis',\n ...getRangeArr(rangeLength, rangeStart),\n 'ellipsis',\n length.value,\n ];\n }\n });\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>();\n\n function changePage(event: Event, to = 1) {\n event.preventDefault();\n page.value = to;\n emit('change', to);\n }\n\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index);\n\n if (item === 'ellipsis') {\n return {\n active: false,\n key: `ellipsis-${index}`,\n page: item,\n props: {\n ref,\n ellipsis: true,\n disabled: true, // TODO: skipper\n },\n };\n } else {\n const active = item === page.value;\n return {\n active,\n key: `item-${item}`,\n page: item,\n props: {\n ref,\n ellipsis: false,\n disabled: !!props.disabled || +props.length < 2,\n color: active ? props.activeColor : props.color,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => changePage(e, item),\n },\n };\n }\n });\n });\n\n const styles = computed(() => {\n let gap = undefined;\n if (props.gap) {\n const value = +props.gap;\n if (!isNaN(value)) {\n gap = toStyleSizeValue(value);\n } else if (typeof props.gap === 'string') {\n gap = props.gap;\n }\n }\n return {\n '--y-pagination__gap': gap,\n };\n });\n\n useRender(() => {\n return (\n <div\n class={[\n 'y-pagination',\n { [`y-pagination--align-${props.align}`]: props.align !== 'start' },\n ]}\n role={'navigation'}\n style={styles.value}\n ref={resizeObservedRef}\n >\n <ul class={['y-pagination__list']}>\n {props.showEndButton && (\n <li key=\"first\" class=\"y-pagination__first\">\n {slots.first ? (\n slots.first(controls.value.first)\n ) : (\n <YButton {...controls.value.first}>\n {slots['first-icon'] ? (\n slots['first-icon']()\n ) : (\n <YIconPageControl type={'first'}></YIconPageControl>\n )}\n </YButton>\n )}\n </li>\n )}\n <li key=\"prev\" class=\"y-pagination__prev\">\n {slots.prev ? (\n slots.prev(controls.value.prev)\n ) : (\n <YButton {...controls.value.prev}>\n {slots['prev-icon'] ? (\n slots['prev-icon']()\n ) : (\n <YIconPageControl type={'prev'}></YIconPageControl>\n )}\n </YButton>\n )}\n </li>\n {items.value.map((item, index) => {\n return (\n <li\n key={item.key}\n class={[\n 'y-pagination__item',\n { 'y-pagination__item--active': item.active },\n ]}\n >\n <YButton {...item.props}>\n {item.props.ellipsis\n ? slots.ellipsis\n ? slots.ellipsis()\n : '...'\n : item.page}\n </YButton>\n </li>\n );\n })}\n <li key=\"next\" class=\"y-pagination__next\">\n {slots.next ? (\n slots.next(controls.value.next)\n ) : (\n <YButton {...controls.value.next}>\n {slots['next-icon'] ? (\n slots['next-icon']()\n ) : (\n <YIconPageControl type={'next'}></YIconPageControl>\n )}\n </YButton>\n )}\n </li>\n {props.showEndButton && (\n <li key=\"last\" class=\"y-pagination__last\">\n {slots.last ? (\n slots.last(controls.value.last)\n ) : (\n <YButton {...controls.value.last}>\n {slots['last-icon'] ? (\n slots['last-icon']()\n ) : (\n <YIconPageControl type={'last'}></YIconPageControl>\n )}\n </YButton>\n )}\n </li>\n )}\n </ul>\n </div>\n );\n });\n\n return {\n itemCount,\n page,\n refs,\n };\n },\n});\n\nexport type YPagination = InstanceType<typeof YPagination>;\n"],"mappings":"AAAA,SAGEA,QAAQ,EACRC,UAAU,EAAAC,WAAA,IAAAC,YAAA,QACL,KAAK;AAAC,SAEJC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,OAAO;AAAA,SACPC,iBAAiB;AAAA,SACjBC,WAAW;AAAA,SACXC,eAAe,EAAEC,YAAY;AAAA,SAC7BC,gBAAgB;AAAA,SAEhBC,OAAO;AAAA,SACPC,gBAAgB;AAEzB;AAEA,OAAO,MAAMC,qBAAqB,GAAGJ,YAAY,CAC/C;EACEK,KAAK,EAAE;IACLC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVJ,IAAI,EAAEC,MAAM;IACZE,OAAO,EAAGE,KAAU,IAAKA,KAAK,CAACN;EACjC,CAAC;EACDO,QAAQ,EAAEC,OAAO;EACjBC,MAAM,EAAE;IACNR,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE,CAAC;IACVM,SAAS,EAAGC,GAAW,IAAKA,GAAG,GAAG,CAAC,KAAK;EAC1C,CAAC;EACDC,YAAY,EAAE,CAACV,MAAM,EAAEC,MAAM,CAAC;EAC9BU,UAAU,EAAE,CAACX,MAAM,EAAEC,MAAM,CAAC;EAC5BW,aAAa,EAAEN,OAAO;EACtBO,GAAG,EAAE;IACHd,IAAI,EAAE,CAACE,MAAM,EAAED,MAAM,CAAC;IACtBE,OAAO,EAAE;EACX,CAAC;EACDY,KAAK,EAAEb,MAAM;EACbc,WAAW,EAAEd,MAAM;EACnBe,eAAe,EAAE,CAACf,MAAM,CAAC;EACzBgB,KAAK,EAAE;IACLlB,IAAI,EAAEE,MAA8C;IACpDC,OAAO,EAAE;EACX;EACA;EACA;EACA;EACA;AACF,CAAC,EACD,aACF,CAAC;AAED,OAAO,MAAMgB,WAAW,GAAG1B,eAAe,CAAC;EACzC2B,IAAI,EAAE,aAAa;EACnBC,UAAU,EAAE;IACVzB;EACF,CAAC;EACDS,KAAK,EAAE;IACL,GAAGP,qBAAqB,CAAC;EAC3B,CAAC;EACDwB,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAa,IAAK,IAAI;IAC5CC,MAAM,EAAEA,CAACD,KAAa,EAAEE,OAAgB,KAAK;EAC/C,CAAC;EACDC,KAAKA,CAACrB,KAAK,EAAAsB,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC1B,MAAMG,IAAI,GAAG1C,cAAc,CAACiB,KAAK,CAAC;IAElC,MAAMG,MAAM,GAAGxB,QAAQ,CAAC,MAAM+C,QAAQ,CAAC1B,KAAK,CAACG,MAAM,EAAY,EAAE,CAAC,CAAC;IACnE,MAAMT,KAAK,GAAGf,QAAQ,CAAC,MAAM+C,QAAQ,CAAC1B,KAAK,CAACN,KAAK,EAAY,EAAE,CAAC,CAAC;IAEjE,MAAMiC,SAAS,GAAG/C,UAAU,CAAC,CAAC,CAAC,CAAC;IAEhC,MAAM;MAAEgD;IAAkB,CAAC,GAAG1C,iBAAiB,CAAE2C,OAAO,IAAK;MAC3D,IAAI,CAAC,GAAGA,OAAO,CAAC1B,MAAM,EAAE;MACxB,MAAM;QAAE2B,MAAM;QAAEC;MAAY,CAAC,GAAGF,OAAO,CAAC,CAAC,CAAC;MAE1C,MAAMG,SAAS,GAAGF,MAAM,CAACG,aAAa,CACpC,yBACF,CAAgB;MAChB,IAAID,SAAS,EAAE;QACb,MAAME,SAAS,GAAGH,WAAW,CAACI,KAAK;QACnC,MAAMC,SAAS,GACbJ,SAAS,CAACK,WAAW,GACrBC,UAAU,CAACC,gBAAgB,CAACP,SAAS,CAAC,CAACQ,WAAW,CAAC,GAAG,CAAC;QACzDb,SAAS,CAACT,KAAK,GAAGuB,aAAa,CAACP,SAAS,EAAEE,SAAS,CAAC;MACvD;IACF,CAAC,CAAC;IAEF,SAASK,aAAaA,CAACP,SAAiB,EAAEE,SAAiB,EAAE;MAC3D,MAAMM,UAAU,GAAG1C,KAAK,CAACQ,aAAa,GAAG,CAAC,GAAG,CAAC;MAC9C,MAAMC,GAAG,GAAG,EAAET,KAAK,CAACS,GAAG,IAAI,CAAC,CAAC;MAC7B,MAAMkC,UAAU,GAAG,CAACP,SAAS,GAAG3B,GAAG,IAAIiC,UAAU,GAAGjC,GAAG;MACvD,MAAMmC,KAAK,GAAGC,IAAI,CAACC,GAAG,CACpB,CAAC,EACDD,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC,CAACb,SAAS,GAAGS,UAAU,KAAKP,SAAS,GAAG3B,GAAG,CAAC,EAAEuC,OAAO,CAAC,CAAC,CAAC,CACvE,CAAC;MACD,MAAMzC,UAAU,GAAGX,MAAM,CAACI,KAAK,CAACO,UAAU,CAAC;MAC3C,IAAI,CAAC0C,KAAK,CAAC1C,UAAU,CAAC,EAAE;QACtB,OAAOsC,IAAI,CAACK,GAAG,CAAC3C,UAAU,EAAEqC,KAAK,CAAC;MACpC;MACA,OAAOA,KAAK;IACd;IAEA,MAAMtC,YAAY,GAAG3B,QAAQ,CAAC,MAAM;MAClC,MAAM4B,UAAU,GAAGX,MAAM,CAACI,KAAK,CAACO,UAAU,CAAC;MAC3C,IAAIP,KAAK,CAACM,YAAY,EAAE;QACtB,MAAM6C,KAAK,GAAGzB,QAAQ,CAAC1B,KAAK,CAACM,YAAY,EAAY,EAAE,CAAC;QACxD,IAAI,CAAC2C,KAAK,CAAC1C,UAAU,CAAC,EAAE;UACtB,OAAOsC,IAAI,CAACK,GAAG,CAACC,KAAK,EAAE5C,UAAU,CAAC;QACpC;QACA,OAAO4C,KAAK;MACd,CAAC,MAAM,IAAIxB,SAAS,CAACT,KAAK,IAAI,CAAC,EAAE,OAAOS,SAAS,CAACT,KAAK;MACvD,OAAOuB,aAAa,CAACW,UAAU,EAAE,EAAE,CAAC;IACtC,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAG1E,QAAQ,CAAC,MAAM;MAC9B,MAAM2E,YAAY,GAAG,CAAC,CAACtD,KAAK,CAACC,QAAQ,IAAIwB,IAAI,CAACP,KAAK,IAAIxB,KAAK,CAACwB,KAAK;MAClE,MAAMqC,YAAY,GAChB,CAAC,CAACvD,KAAK,CAACC,QAAQ,IAAIwB,IAAI,CAACP,KAAK,IAAIxB,KAAK,CAACwB,KAAK,GAAGf,MAAM,CAACe,KAAK,GAAG,CAAC;MAClE,OAAO;QACLsC,KAAK,EAAE;UACLvD,QAAQ,EAAEqD,YAAY;UACtBG,SAAS,EAAEzD,KAAK,CAACY,eAAe;UAChC8C,OAAO,EAAGC,CAAa,IAAK;YAC1BA,CAAC,CAACC,cAAc,CAAC,CAAC;YAClBnC,IAAI,CAACP,KAAK,GAAG,CAAC;YACdM,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC;UAC5B;QACF,CAAC;QACDqC,IAAI,EAAE;UACJ5D,QAAQ,EAAEqD,YAAY;UACtBG,SAAS,EAAEzD,KAAK,CAACY,eAAe;UAChC8C,OAAO,EAAGC,CAAa,IAAK;YAC1BA,CAAC,CAACC,cAAc,CAAC,CAAC;YAClB,MAAME,EAAE,GAAGjB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAErB,IAAI,CAACP,KAAK,GAAG,CAAC,CAAC;YACtCO,IAAI,CAACP,KAAK,GAAG4C,EAAE;YACftC,IAAI,CAAC,QAAQ,EAAEsC,EAAE,EAAE,MAAM,CAAC;UAC5B;QACF,CAAC;QACDC,IAAI,EAAE;UACJ9D,QAAQ,EAAEsD,YAAY;UACtBE,SAAS,EAAEzD,KAAK,CAACY,eAAe;UAChC8C,OAAO,EAAGC,CAAa,IAAK;YAC1BA,CAAC,CAACC,cAAc,CAAC,CAAC;YAClB,MAAME,EAAE,GAAGjB,IAAI,CAACK,GAAG,CAAC,CAAC/C,MAAM,CAACe,KAAK,EAAEO,IAAI,CAACP,KAAK,GAAG,CAAC,CAAC;YAClDO,IAAI,CAACP,KAAK,GAAG4C,EAAE;YACftC,IAAI,CAAC,QAAQ,EAAEsC,EAAE,EAAE,MAAM,CAAC;UAC5B;QACF,CAAC;QACDE,IAAI,EAAE;UACJ/D,QAAQ,EAAEsD,YAAY;UACtBE,SAAS,EAAEzD,KAAK,CAACY,eAAe;UAChC8C,OAAO,EAAGC,CAAa,IAAK;YAC1BA,CAAC,CAACC,cAAc,CAAC,CAAC;YAClB,MAAME,EAAE,GAAG,CAAC3D,MAAM,CAACe,KAAK;YACxBO,IAAI,CAACP,KAAK,GAAG,CAACf,MAAM,CAACe,KAAK;YAC1BM,IAAI,CAAC,QAAQ,EAAEsC,EAAE,EAAE,MAAM,CAAC;UAC5B;QACF;MACF,CAAC;IACH,CAAC,CAAC;IAEF,MAAMG,KAAK,GAAGtF,QAAQ,CAAC,MAAM;MAC3B,IACEwB,MAAM,CAACe,KAAK,IAAI,CAAC,IACjB+B,KAAK,CAAC9C,MAAM,CAACe,KAAK,CAAC,IACnBf,MAAM,CAACe,KAAK,GAAGtB,MAAM,CAACsE,gBAAgB,EACtC;QACA,OAAO,EAAE;MACX;MACA,IAAI5D,YAAY,CAACY,KAAK,IAAI,CAAC,EAAE;QAC3B,OAAO,CAACO,IAAI,CAACP,KAAK,CAAC;MACrB;MACA,IAAIf,MAAM,CAACe,KAAK,IAAIZ,YAAY,CAACY,KAAK,EAAE;QACtC,OAAO/B,WAAW,CAACgB,MAAM,CAACe,KAAK,EAAExB,KAAK,CAACwB,KAAK,CAAC;MAC/C;MACA,MAAMiD,IAAI,GAAG7D,YAAY,CAACY,KAAK,GAAG,CAAC,KAAK,CAAC;MACzC,MAAMkD,MAAM,GAAGD,IAAI,GACf7D,YAAY,CAACY,KAAK,GAAG,CAAC,GACtB2B,IAAI,CAACE,KAAK,CAACzC,YAAY,CAACY,KAAK,GAAG,CAAC,CAAC;MACtC,MAAMmD,IAAI,GAAGF,IAAI,GAAGC,MAAM,GAAGA,MAAM,GAAG,CAAC;MACvC,MAAME,KAAK,GAAGnE,MAAM,CAACe,KAAK,GAAGkD,MAAM;MAEnC,IAAIC,IAAI,GAAG5C,IAAI,CAACP,KAAK,IAAI,CAAC,EAAE;QAC1B,OAAO,CACL,GAAG/B,WAAW,CAAC0D,IAAI,CAACC,GAAG,CAAC,CAAC,EAAExC,YAAY,CAACY,KAAK,GAAG,CAAC,CAAC,EAAExB,KAAK,CAACwB,KAAK,CAAC,EAChE,UAAU,EACVf,MAAM,CAACe,KAAK,CACb;MACH,CAAC,MAAM,IAAIO,IAAI,CAACP,KAAK,GAAGoD,KAAK,KAAKH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;QAC/C,MAAMI,WAAW,GAAGjE,YAAY,CAACY,KAAK,GAAG,CAAC;QAC1C,MAAMsD,UAAU,GAAGrE,MAAM,CAACe,KAAK,GAAGqD,WAAW,GAAG7E,KAAK,CAACwB,KAAK;QAC3D,OAAO,CACLxB,KAAK,CAACwB,KAAK,EACX,UAAU,EACV,GAAG/B,WAAW,CAACoF,WAAW,EAAEC,UAAU,CAAC,CACxC;MACH,CAAC,MAAM;QACL,MAAMD,WAAW,GAAG1B,IAAI,CAACC,GAAG,CAAC,CAAC,EAAExC,YAAY,CAACY,KAAK,GAAG,CAAC,CAAC;QACvD,MAAMsD,UAAU,GACdD,WAAW,KAAK,CAAC,GACb9C,IAAI,CAACP,KAAK,GACVO,IAAI,CAACP,KAAK,GAAG2B,IAAI,CAAC4B,IAAI,CAACF,WAAW,GAAG,CAAC,CAAC,GAAG7E,KAAK,CAACwB,KAAK;QAC3D,OAAO,CACLxB,KAAK,CAACwB,KAAK,EACX,UAAU,EACV,GAAG/B,WAAW,CAACoF,WAAW,EAAEC,UAAU,CAAC,EACvC,UAAU,EACVrE,MAAM,CAACe,KAAK,CACb;MACH;IACF,CAAC,CAAC;IAEF,MAAM;MAAEwD,IAAI;MAAEC;IAAU,CAAC,GAAG1F,OAAO,CAA0B,CAAC;IAE9D,SAAS2F,UAAUA,CAACC,KAAY,EAAU;MAAA,IAARf,EAAE,GAAAgB,SAAA,CAAA3E,MAAA,QAAA2E,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC;MACtCD,KAAK,CAACjB,cAAc,CAAC,CAAC;MACtBnC,IAAI,CAACP,KAAK,GAAG4C,EAAE;MACftC,IAAI,CAAC,QAAQ,EAAEsC,EAAE,CAAC;IACpB;IAEA,MAAMkB,KAAK,GAAGrG,QAAQ,CAAC,MAAM;MAC3B,OAAOsF,KAAK,CAAC/C,KAAK,CAAC+D,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;QACtC,MAAMC,GAAG,GAAIzB,CAAM,IAAKgB,SAAS,CAAChB,CAAC,EAAEwB,KAAK,CAAC;QAE3C,IAAID,IAAI,KAAK,UAAU,EAAE;UACvB,OAAO;YACLG,MAAM,EAAE,KAAK;YACbC,GAAG,EAAE,YAAYH,KAAK,EAAE;YACxB1D,IAAI,EAAEyD,IAAI;YACVlF,KAAK,EAAE;cACLoF,GAAG;cACHG,QAAQ,EAAE,IAAI;cACdtF,QAAQ,EAAE,IAAI,CAAE;YAClB;UACF,CAAC;QACH,CAAC,MAAM;UACL,MAAMoF,MAAM,GAAGH,IAAI,KAAKzD,IAAI,CAACP,KAAK;UAClC,OAAO;YACLmE,MAAM;YACNC,GAAG,EAAE,QAAQJ,IAAI,EAAE;YACnBzD,IAAI,EAAEyD,IAAI;YACVlF,KAAK,EAAE;cACLoF,GAAG;cACHG,QAAQ,EAAE,KAAK;cACftF,QAAQ,EAAE,CAAC,CAACD,KAAK,CAACC,QAAQ,IAAI,CAACD,KAAK,CAACG,MAAM,GAAG,CAAC;cAC/CO,KAAK,EAAE2E,MAAM,GAAGrF,KAAK,CAACW,WAAW,GAAGX,KAAK,CAACU,KAAK;cAC/C+C,SAAS,EAAEzD,KAAK,CAACY,eAAe;cAChC8C,OAAO,EAAGC,CAAa,IAAKiB,UAAU,CAACjB,CAAC,EAAEuB,IAAI;YAChD;UACF,CAAC;QACH;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAMM,MAAM,GAAG7G,QAAQ,CAAC,MAAM;MAC5B,IAAI8B,GAAG,GAAGsE,SAAS;MACnB,IAAI/E,KAAK,CAACS,GAAG,EAAE;QACb,MAAMS,KAAK,GAAG,CAAClB,KAAK,CAACS,GAAG;QACxB,IAAI,CAACwC,KAAK,CAAC/B,KAAK,CAAC,EAAE;UACjBT,GAAG,GAAGnB,gBAAgB,CAAC4B,KAAK,CAAC;QAC/B,CAAC,MAAM,IAAI,OAAOlB,KAAK,CAACS,GAAG,KAAK,QAAQ,EAAE;UACxCA,GAAG,GAAGT,KAAK,CAACS,GAAG;QACjB;MACF;MACA,OAAO;QACL,qBAAqB,EAAEA;MACzB,CAAC;IACH,CAAC,CAAC;IAEFzB,SAAS,CAAC,MAAM;MACd,OAAAF,YAAA;QAAA,SAEW,CACL,cAAc,EACd;UAAE,CAAC,uBAAuBkB,KAAK,CAACa,KAAK,EAAE,GAAGb,KAAK,CAACa,KAAK,KAAK;QAAQ,CAAC,CACpE;QAAA,QACK,YAAY;QAAA,SACX2E,MAAM,CAACtE,KAAK;QAAA,OACdU;MAAiB,IAAA9C,YAAA;QAAA,SAEX,CAAC,oBAAoB;MAAC,IAC9BkB,KAAK,CAACQ,aAAa,IAAA1B,YAAA;QAAA;QAAA;MAAA,IAEfyC,KAAK,CAACiC,KAAK,GACVjC,KAAK,CAACiC,KAAK,CAACH,QAAQ,CAACnC,KAAK,CAACsC,KAAK,CAAC,GAAA1E,YAAA,CAAAS,OAAA,EAEpB8D,QAAQ,CAACnC,KAAK,CAACsC,KAAK;QAAA1D,OAAA,EAAAA,CAAA,MAC9ByB,KAAK,CAAC,YAAY,CAAC,GAClBA,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAAzC,YAAA,CAAAU,gBAAA;UAAA,QAEG;QAAO,QAChC;MAAA,EAEJ,EAEJ,EAAAV,YAAA;QAAA;QAAA;MAAA,IAEEyC,KAAK,CAACsC,IAAI,GACTtC,KAAK,CAACsC,IAAI,CAACR,QAAQ,CAACnC,KAAK,CAAC2C,IAAI,CAAC,GAAA/E,YAAA,CAAAS,OAAA,EAElB8D,QAAQ,CAACnC,KAAK,CAAC2C,IAAI;QAAA/D,OAAA,EAAAA,CAAA,MAC7ByB,KAAK,CAAC,WAAW,CAAC,GACjBA,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAAzC,YAAA,CAAAU,gBAAA;UAAA,QAEI;QAAM,QAC/B;MAAA,EAEJ,IAEFwF,KAAK,CAAC9D,KAAK,CAAC+D,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;QAChC,OAAArG,YAAA;UAAA,OAESoG,IAAI,CAACI,GAAG;UAAA,SACN,CACL,oBAAoB,EACpB;YAAE,4BAA4B,EAAEJ,IAAI,CAACG;UAAO,CAAC;QAC9C,IAAAvG,YAAA,CAAAS,OAAA,EAEY2F,IAAI,CAAClF,KAAK;UAAAF,OAAA,EAAAA,CAAA,MACpBoF,IAAI,CAAClF,KAAK,CAACuF,QAAQ,GAChBhE,KAAK,CAACgE,QAAQ,GACZhE,KAAK,CAACgE,QAAQ,CAAC,CAAC,GAChB,KAAK,GACPL,IAAI,CAACzD,IAAI;QAAA;MAIrB,CAAC,CAAC,EAAA3C,YAAA;QAAA;QAAA;MAAA,IAECyC,KAAK,CAACwC,IAAI,GACTxC,KAAK,CAACwC,IAAI,CAACV,QAAQ,CAACnC,KAAK,CAAC6C,IAAI,CAAC,GAAAjF,YAAA,CAAAS,OAAA,EAElB8D,QAAQ,CAACnC,KAAK,CAAC6C,IAAI;QAAAjE,OAAA,EAAAA,CAAA,MAC7ByB,KAAK,CAAC,WAAW,CAAC,GACjBA,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAAzC,YAAA,CAAAU,gBAAA;UAAA,QAEI;QAAM,QAC/B;MAAA,EAEJ,IAEFQ,KAAK,CAACQ,aAAa,IAAA1B,YAAA;QAAA;QAAA;MAAA,IAEfyC,KAAK,CAACyC,IAAI,GACTzC,KAAK,CAACyC,IAAI,CAACX,QAAQ,CAACnC,KAAK,CAAC8C,IAAI,CAAC,GAAAlF,YAAA,CAAAS,OAAA,EAElB8D,QAAQ,CAACnC,KAAK,CAAC8C,IAAI;QAAAlE,OAAA,EAAAA,CAAA,MAC7ByB,KAAK,CAAC,WAAW,CAAC,GACjBA,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAAzC,YAAA,CAAAU,gBAAA;UAAA,QAEI;QAAM,QAC/B;MAAA,EAEJ,EAEJ;IAIT,CAAC,CAAC;IAEF,OAAO;MACLmC,SAAS;MACTF,IAAI;MACJiD;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/pagination/index.ts"],"sourcesContent":["export * from './YPagination';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/pagination/index.ts"],"sourcesContent":["export * from './YPagination';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { computed, defineComponent, ref, watch } from 'vue';
|
|
1
|
+
import { computed, defineComponent, ref, watch, Fragment as _Fragment, createVNode as _createVNode } from 'vue';
|
|
3
2
|
import { useRender } from "../../composables/component.js";
|
|
4
3
|
import "./YDividePanel.scss";
|
|
5
4
|
export const YDividePanel = defineComponent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDividePanel.js","names":["computed","defineComponent","ref","watch","useRender","YDividePanel","name","setup","props","_ref","slots","contentRate","isResizing","secondarySlot","activeSecondary","rootRef","neo","value","topStyles","inset","position","classes","moveListener","event","mouseEvent","containerRect","getBoundingClientRect","requestAnimationFrame","Math","min","max","clientY","y","height","cancelEvent","removeEventListener","upListener","leaveListener","onMousedown","preventDefault","addEventListener","
|
|
1
|
+
{"version":3,"file":"YDividePanel.js","names":["computed","defineComponent","ref","watch","Fragment","_Fragment","createVNode","_createVNode","useRender","YDividePanel","name","setup","props","_ref","slots","contentRate","isResizing","secondarySlot","activeSecondary","rootRef","neo","value","topStyles","inset","position","classes","moveListener","event","mouseEvent","containerRect","getBoundingClientRect","requestAnimationFrame","Math","min","max","clientY","y","height","cancelEvent","removeEventListener","upListener","leaveListener","onMousedown","preventDefault","addEventListener","default","secondary"],"sources":["../../../src/components/panel/YDividePanel.tsx"],"sourcesContent":["import { computed, type CSSProperties, defineComponent, ref, watch } from 'vue';\n\nimport { useRender } from '@/composables/component';\n\nimport './YDividePanel.scss';\n\nexport const YDividePanel = defineComponent({\n name: 'YDividePanel',\n setup(props, { slots }) {\n const contentRate = ref(50);\n const isResizing = ref(false);\n const secondarySlot = ref();\n const activeSecondary = ref(false);\n const rootRef = ref();\n\n watch(secondarySlot, (neo) => {\n activeSecondary.value = !!neo;\n });\n\n const topStyles = computed<CSSProperties>(() => {\n let inset = '0 0';\n if (activeSecondary.value) {\n inset = `0 0 ${100 - contentRate.value}% 0`;\n }\n return {\n position: 'absolute',\n inset,\n };\n });\n\n const classes = computed(() => {\n return {\n 'y-divide-panel': true,\n 'y-divide-panel--resizing': isResizing.value,\n };\n });\n\n function moveListener(event: Event) {\n const mouseEvent = event as MouseEvent;\n const containerRect = rootRef.value.getBoundingClientRect();\n requestAnimationFrame(() => {\n contentRate.value = Math.min(\n Math.max(\n 10,\n ((mouseEvent.clientY - containerRect.y) / containerRect.height) *\n 100,\n ),\n 90,\n );\n });\n }\n\n function cancelEvent() {\n isResizing.value = false;\n rootRef.value.removeEventListener('mousemove', moveListener);\n rootRef.value.removeEventListener('mouseup', upListener);\n rootRef.value.removeEventListener('mouseleave', leaveListener);\n }\n\n function upListener(event: Event) {\n cancelEvent();\n }\n\n function leaveListener(event: Event) {\n cancelEvent();\n }\n\n function onMousedown(event: MouseEvent) {\n event.preventDefault();\n isResizing.value = true;\n rootRef.value.addEventListener('mousemove', moveListener);\n rootRef.value.addEventListener('mouseup', upListener);\n rootRef.value.addEventListener('mouseleave', leaveListener);\n }\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} ref={rootRef}>\n <div\n class={'y-divide-panel__top-container'}\n style={topStyles.value}\n >\n {slots.default?.()}\n </div>\n {\n (secondarySlot.value = slots.secondary && (\n <>\n <div\n class=\"y-divide-panel__divider\"\n style={{\n position: 'absolute',\n inset: `${contentRate.value}% 0 0 0`,\n }}\n onMousedown={onMousedown}\n >\n <div class=\"y-divide-panel__divider-line\"></div>\n </div>\n <div\n class={'y-divide-panel__secondary-container'}\n style={{\n position: 'absolute',\n inset: `${contentRate.value}% 0 0 0`,\n }}\n >\n {slots.secondary?.()}\n </div>\n </>\n ))\n }\n </div>\n </>\n );\n });\n\n return {\n activeSecondary,\n };\n },\n});\n\nexport type YDividePanel = InstanceType<typeof YDividePanel>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/panel/index.ts"],"sourcesContent":["export * from './YDividePanel';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/panel/index.ts"],"sourcesContent":["export * from './YDividePanel';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,11 +1,10 @@
|
|
|
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 { defineComponent } from "../../util/component/index.js";
|
|
5
4
|
import "./YPlate.scss";
|
|
6
5
|
|
|
7
|
-
/**
|
|
8
|
-
* # Base Component
|
|
6
|
+
/**
|
|
7
|
+
* # Base Component
|
|
9
8
|
*/
|
|
10
9
|
export const YPlate = defineComponent({
|
|
11
10
|
name: 'YPlate',
|