yuyeon 0.3.3 → 0.3.4-beta.13
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 +3109 -3082
- 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 +2 -3
- package/lib/components/table/YDataTableBody.js.map +1 -1
- package/lib/components/table/YDataTableCell.js +1 -2
- package/lib/components/table/YDataTableCell.js.map +1 -1
- package/lib/components/table/YDataTableControl.js +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/plate-wave/plate-wave.scss +17 -6
- 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 +8 -7
- 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/src/abstract/items.d.ts +49 -0
- package/types/src/components/alert/YAlert.d.ts +13 -0
- package/types/src/components/alert/index.d.ts +1 -0
- package/types/src/components/app/YApp.d.ts +8 -0
- package/types/src/components/app/index.d.ts +1 -0
- package/types/src/components/badge/YBadge.d.ts +126 -0
- package/types/src/components/badge/index.d.ts +1 -0
- package/types/src/components/bench/YBench.d.ts +4 -0
- package/types/src/components/bench/index.d.ts +1 -0
- package/types/src/components/button/YButton.d.ts +189 -0
- package/types/src/components/button/index.d.ts +1 -0
- package/types/src/components/card/YCard.d.ts +9 -0
- package/types/src/components/card/YCardBody.d.ts +2 -0
- package/types/src/components/card/YCardFooter.d.ts +2 -0
- package/types/src/components/card/YCardHeader.d.ts +2 -0
- package/types/src/components/card/index.d.ts +4 -0
- package/types/src/components/checkbox/YCheckbox.d.ts +23 -0
- package/types/src/components/checkbox/YInputCheckbox.d.ts +31 -0
- package/types/src/components/checkbox/index.d.ts +4 -0
- package/types/src/components/chip/YChip.d.ts +37 -0
- package/types/src/components/chip/index.d.ts +1 -0
- package/types/src/components/date-picker/YDateCalendar.d.ts +115 -0
- package/types/src/components/date-picker/YDatePicker.d.ts +94 -0
- package/types/src/components/date-picker/YDatePickerControl.d.ts +97 -0
- package/types/src/components/date-picker/YMonthPicker.d.ts +25 -0
- package/types/src/components/date-picker/YYearPicker.d.ts +38 -0
- package/types/src/components/date-picker/index.d.ts +3 -0
- package/types/src/components/default-provider/YDefaultProvider.d.ts +0 -0
- package/types/src/components/default-provider/index.d.ts +0 -0
- package/types/src/components/dialog/YDialog.d.ts +715 -0
- package/types/src/components/dialog/index.d.ts +1 -0
- package/types/src/components/divider/YDivider.d.ts +14 -0
- package/types/src/components/divider/index.d.ts +1 -0
- package/types/src/components/draggable/YDraggable.d.ts +36 -0
- package/types/src/components/draggable/index.d.ts +1 -0
- package/types/src/components/dropdown/YDropdown.d.ts +574 -0
- package/types/src/components/dropdown/index.d.ts +1 -0
- package/types/src/components/field-input/YFieldInput.d.ts +322 -0
- package/types/src/components/field-input/index.d.ts +1 -0
- package/types/src/components/form/YForm.d.ts +20 -0
- package/types/src/components/form/index.d.ts +1 -0
- package/types/src/components/hover/YHover.d.ts +57 -0
- package/types/src/components/hover/index.d.ts +1 -0
- package/types/src/components/icon/YIcon.d.ts +67 -0
- package/types/src/components/icon/index.d.ts +1 -0
- package/types/src/components/icons/YIconCheckbox.d.ts +6 -0
- package/types/src/components/icons/YIconClear.d.ts +1 -0
- package/types/src/components/icons/YIconDropdown.d.ts +1 -0
- package/types/src/components/icons/YIconExpand.d.ts +1 -0
- package/types/src/components/icons/YIconPageControl.d.ts +14 -0
- package/types/src/components/icons/YIconSort.d.ts +10 -0
- package/types/src/components/icons/index.d.ts +51 -0
- package/types/src/components/img/YImg.d.ts +133 -0
- package/types/src/components/img/index.d.ts +0 -0
- package/types/src/components/index.d.ts +38 -0
- package/types/src/components/input/YInput.d.ts +249 -0
- package/types/src/components/input/index.d.ts +1 -0
- package/types/src/components/ip-field/YIpv4Field.d.ts +65 -0
- package/types/src/components/ip-field/index.d.ts +1 -0
- package/types/src/components/layer/YLayer.d.ts +436 -0
- package/types/src/components/layer/active-delay.d.ts +4 -0
- package/types/src/components/layer/active-stack.d.ts +16 -0
- package/types/src/components/layer/base.d.ts +28 -0
- package/types/src/components/layer/content.d.ts +21 -0
- package/types/src/components/layer/index.d.ts +1 -0
- package/types/src/components/layer/scroll-strategies.d.ts +41 -0
- package/types/src/components/list/YList.d.ts +19 -0
- package/types/src/components/list/YListItem.d.ts +42 -0
- package/types/src/components/list/index.d.ts +2 -0
- package/types/src/components/loading/YSpinnerRing.d.ts +3 -0
- package/types/src/components/loading/index.d.ts +1 -0
- package/types/src/components/menu/YMenu.d.ts +517 -0
- package/types/src/components/menu/index.d.ts +1 -0
- package/types/src/components/navigation/YNavigation.d.ts +1 -0
- package/types/src/components/navigation/index.d.ts +1 -0
- package/types/src/components/pagination/YPagination.d.ts +137 -0
- package/types/src/components/pagination/index.d.ts +1 -0
- package/types/src/components/panel/YDividePanel.d.ts +5 -0
- package/types/src/components/panel/index.d.ts +1 -0
- package/types/src/components/plate/YPlate.d.ts +9 -0
- package/types/src/components/plate/index.d.ts +1 -0
- package/types/src/components/progress-bar/YProgressBar.d.ts +38 -0
- package/types/src/components/progress-bar/index.d.ts +1 -0
- package/types/src/components/progress-ring/YProgressRing.d.ts +34 -0
- package/types/src/components/progress-ring/index.d.ts +1 -0
- package/types/src/components/radio/YRadio.d.ts +25 -0
- package/types/src/components/radio/YRadioIcon.d.ts +6 -0
- package/types/src/components/radio/index.d.ts +2 -0
- package/types/src/components/select/YSelect.d.ts +1221 -0
- package/types/src/components/select/index.d.ts +1 -0
- package/types/src/components/slider/YSlider.d.ts +16 -0
- package/types/src/components/slider/index.d.ts +1 -0
- package/types/src/components/slider/slider.d.ts +0 -0
- package/types/src/components/snackbar/YSnackbar.d.ts +452 -0
- package/types/src/components/snackbar/index.d.ts +1 -0
- package/types/src/components/switch/YSwitch.d.ts +137 -0
- package/types/src/components/switch/index.d.ts +1 -0
- package/types/src/components/tab/YTab.d.ts +218 -0
- package/types/src/components/tab/YTabs.d.ts +98 -0
- package/types/src/components/tab/index.d.ts +3 -0
- package/types/src/components/tab/shared.d.ts +4 -0
- package/types/src/components/tab/types.d.ts +5 -0
- package/types/src/components/table/YDataTable.d.ts +459 -0
- package/types/src/components/table/YDataTableBody.d.ts +99 -0
- package/types/src/components/table/YDataTableCell.d.ts +32 -0
- package/types/src/components/table/YDataTableControl.d.ts +68 -0
- package/types/src/components/table/YDataTableHead.d.ts +54 -0
- package/types/src/components/table/YDataTableLayer.d.ts +13 -0
- package/types/src/components/table/YDataTableLayerRow.d.ts +22 -0
- package/types/src/components/table/YDataTableLayerRows.d.ts +9 -0
- package/types/src/components/table/YDataTableRow.d.ts +53 -0
- package/types/src/components/table/YDataTableServer.d.ts +502 -0
- package/types/src/components/table/YTable.d.ts +65 -0
- package/types/src/components/table/composables/expand.d.ts +42 -0
- package/types/src/components/table/composables/header.d.ts +175 -0
- package/types/src/components/table/composables/items.d.ts +55 -0
- package/types/src/components/table/composables/measure.d.ts +8 -0
- package/types/src/components/table/composables/options.d.ts +11 -0
- package/types/src/components/table/composables/pagination.d.ts +81 -0
- package/types/src/components/table/composables/provides.d.ts +15 -0
- package/types/src/components/table/composables/selection.d.ts +82 -0
- package/types/src/components/table/composables/sorted-items.d.ts +7 -0
- package/types/src/components/table/composables/sorting.d.ts +56 -0
- package/types/src/components/table/index.d.ts +10 -0
- package/types/src/components/table/types/common.d.ts +2 -0
- package/types/src/components/table/types/header.d.ts +25 -0
- package/types/src/components/table/types/index.d.ts +59 -0
- package/types/src/components/table/types/item.d.ts +23 -0
- package/types/src/components/table/types/row.d.ts +4 -0
- package/types/src/components/text-ellipsis/YTextEllipsis.d.ts +11 -0
- package/types/src/components/text-ellipsis/index.d.ts +1 -0
- package/types/src/components/text-highlighter/YTextHighlighter.d.ts +26 -0
- package/types/src/components/text-highlighter/index.d.ts +1 -0
- package/types/src/components/text-interpolation/YTi.d.ts +11 -0
- package/types/src/components/text-interpolation/index.d.ts +1 -0
- package/types/src/components/textarea/YTextarea.d.ts +583 -0
- package/types/src/components/textarea/index.d.ts +1 -0
- package/types/src/components/toggle-button/YToggleButton.d.ts +4 -0
- package/types/src/components/toggle-button/index.d.ts +1 -0
- package/types/src/components/tooltip/YTooltip.d.ts +502 -0
- package/types/src/components/tooltip/index.d.ts +1 -0
- package/types/src/components/transitions/expand-transition.d.ts +20 -0
- package/types/src/components/transitions/index.d.ts +38 -0
- package/types/src/components/tree-view/YTreeView.d.ts +172 -0
- package/types/src/components/tree-view/YTreeViewNode.d.ts +176 -0
- package/types/src/components/tree-view/index.d.ts +2 -0
- package/types/src/components/tree-view/tree-view.d.ts +51 -0
- package/types/src/components/tree-view/types.d.ts +17 -0
- package/types/src/components/tree-view/util.d.ts +6 -0
- package/types/src/composables/choice-link.d.ts +3 -0
- package/types/src/composables/choice.d.ts +113 -0
- package/types/src/composables/communication.d.ts +8 -0
- package/types/src/composables/component.d.ts +3 -0
- package/types/src/composables/coordinate/arrangement.d.ts +7 -0
- package/types/src/composables/coordinate/index.d.ts +87 -0
- package/types/src/composables/coordinate/levitation.d.ts +7 -0
- package/types/src/composables/coordinate/types.d.ts +7 -0
- package/types/src/composables/coordinate/utils/point.d.ts +22 -0
- package/types/src/composables/date/factory.d.ts +3 -0
- package/types/src/composables/date/index.d.ts +12 -0
- package/types/src/composables/date/setting.d.ts +5 -0
- package/types/src/composables/date/types.d.ts +13 -0
- package/types/src/composables/defaults/index.d.ts +11 -0
- package/types/src/composables/defaults/share.d.ts +4 -0
- package/types/src/composables/defaults/types.d.ts +12 -0
- package/types/src/composables/dimension.d.ts +54 -0
- package/types/src/composables/focus.d.ts +30 -0
- package/types/src/composables/form.d.ts +132 -0
- package/types/src/composables/i18n/index.d.ts +9 -0
- package/types/src/composables/i18n/locale.d.ts +3 -0
- package/types/src/composables/i18n/rtl.d.ts +21 -0
- package/types/src/composables/i18n/share.d.ts +1 -0
- package/types/src/composables/icon.d.ts +79 -0
- package/types/src/composables/index.d.ts +10 -0
- package/types/src/composables/layer-group.d.ts +10 -0
- package/types/src/composables/layout.d.ts +10 -0
- package/types/src/composables/list-items.d.ts +113 -0
- package/types/src/composables/progress.d.ts +4 -0
- package/types/src/composables/ref.d.ts +6 -0
- package/types/src/composables/resize-observer.d.ts +24 -0
- package/types/src/composables/scope.d.ts +3 -0
- package/types/src/composables/style-color.d.ts +14 -0
- package/types/src/composables/theme/factory.d.ts +4 -0
- package/types/src/composables/theme/helper.d.ts +3 -0
- package/types/src/composables/theme/index.d.ts +57 -0
- package/types/src/composables/theme/setting.d.ts +11 -0
- package/types/src/composables/theme/types.d.ts +29 -0
- package/types/src/composables/timing.d.ts +20 -0
- package/types/src/composables/transition.d.ts +40 -0
- package/types/src/composables/validation.d.ts +82 -0
- package/types/src/composables/vue-router.d.ts +43 -0
- package/types/src/declares.d.ts +1 -0
- package/types/src/directives/complement-click/index.d.ts +26 -0
- package/types/src/directives/index.d.ts +2 -0
- package/types/src/directives/plate-wave/index.d.ts +20 -0
- package/types/src/directives/theme-class/index.d.ts +4 -0
- package/types/src/etc/index.d.ts +1 -0
- package/types/src/globals.d.ts +20 -0
- package/types/src/i18n/built-in.d.ts +3 -0
- package/types/src/i18n/config.d.ts +81 -0
- package/types/src/i18n/types.d.ts +20 -0
- package/types/src/index.d.ts +13 -0
- package/types/src/locales/en.d.ts +6 -0
- package/types/src/locales/index.d.ts +2 -0
- package/types/src/locales/ko.d.ts +6 -0
- package/types/src/mixins/di.d.ts +2 -0
- package/types/src/mixins/rebind-attrs.d.ts +5 -0
- package/types/src/shims.d.ts +64 -0
- package/types/src/types/index.d.ts +9 -0
- package/types/src/util/anchor.d.ts +23 -0
- package/types/src/util/array.d.ts +2 -0
- package/types/src/util/collection.d.ts +1 -0
- package/types/src/util/color/apca.d.ts +29 -0
- package/types/src/util/color/const.d.ts +5 -0
- package/types/src/util/color/contrast/contrast.d.ts +74 -0
- package/types/src/util/color/conversion.d.ts +131 -0
- package/types/src/util/color/hct/cam16.d.ts +116 -0
- package/types/src/util/color/hct/hct-solver.d.ts +131 -0
- package/types/src/util/color/hct/hct.d.ts +71 -0
- package/types/src/util/color/hct/viewing-conditions.d.ts +58 -0
- package/types/src/util/color/index.d.ts +5 -0
- package/types/src/util/color/palettes/core-palette.d.ts +44 -0
- package/types/src/util/color/palettes/tonal-palette.d.ts +40 -0
- package/types/src/util/color/types.d.ts +14 -0
- package/types/src/util/color/utils/math-utils.d.ts +82 -0
- package/types/src/util/common.d.ts +17 -0
- package/types/src/util/component/component.d.ts +5 -0
- package/types/src/util/component/index.d.ts +11 -0
- package/types/src/util/component/inject-self.d.ts +3 -0
- package/types/src/util/component/props.d.ts +32 -0
- package/types/src/util/component/types.d.ts +21 -0
- package/types/src/util/date/adapters/yuyeon-date-adapter.d.ts +43 -0
- package/types/src/util/date/built-in.d.ts +41 -0
- package/types/src/util/date/index.d.ts +3 -0
- package/types/src/util/date/types.d.ts +167 -0
- package/types/src/util/debounce.d.ts +11 -0
- package/types/src/util/dom.d.ts +5 -0
- package/types/src/util/environments.d.ts +6 -0
- package/types/src/util/frame-scheduler.d.ts +7 -0
- package/types/src/util/index.d.ts +16 -0
- package/types/src/util/reactivity.d.ts +7 -0
- package/types/src/util/rect.d.ts +36 -0
- package/types/src/util/scroll.d.ts +3 -0
- package/types/src/util/string.d.ts +9 -0
- package/types/src/util/ui.d.ts +4 -0
- package/types/src/util/validation.d.ts +3 -0
- 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":"YImg.js","names":["computed","getCurrentInstance","nextTick","onBeforeMount","onBeforeUnmount","ref","shallowRef","vShow","watch","withDirectives","useRender","pressDimensionPropsOptions","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","propsFactory","defineComponent","Environments","pressYImgPropsOptions","src","String","crossorigin","referrerpolicy","transition","objectFit","type","default","eager","Boolean","YImg","name","props","slots","Object","emits","setup","_ref","attrs","emit","vm","image$","status","imgSrc","naturalWidth","naturalHeight","polyTransitionBindProps","srcMeta","imgClasses","getImgSrc","imgEl","value","currentSrc","inspectImage","complete","endsWith","startsWith","initIntersect","_Placeholder","placeholder","_createVNode","_mergeProps","onLoad","isUnmounted","onError","event","_Image","Img","draggable","alt","requestTimer","requestInspectImage","timeout","arguments","length","undefined","_request","clearTimeout","window","setTimeout","isIntersection","canUseIntersectionObserver"],"sources":["../../../src/components/img/YImg.tsx"],"sourcesContent":["import {\r\n type CSSProperties,\r\n type ImgHTMLAttributes,\r\n type PropType,\r\n type SlotsType,\r\n computed,\r\n getCurrentInstance,\r\n nextTick,\r\n onBeforeMount,\r\n onBeforeUnmount,\r\n ref,\r\n shallowRef,\r\n vShow,\r\n watch,\r\n withDirectives,\r\n} from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { pressDimensionPropsOptions } from '@/composables/dimension';\r\nimport {\r\n PolyTransition,\r\n pressPolyTransitionPropsOptions,\r\n usePolyTransition,\r\n} from '@/composables/transition';\r\nimport { propsFactory, defineComponent } from '@/util/component';\r\nimport Environments from '@/util/environments';\r\n\r\nimport './YImg.scss';\r\n\r\nexport const pressYImgPropsOptions = propsFactory(\r\n {\r\n src: String as PropType<string>,\r\n crossorigin: String as PropType<ImgHTMLAttributes['crossorigin']>,\r\n referrerpolicy: String as PropType<ImgHTMLAttributes['referrerpolicy']>,\r\n ...pressPolyTransitionPropsOptions({\r\n transition: 'fade',\r\n }),\r\n objectFit: {\r\n type: String as PropType<\r\n Extract<\r\n CSSProperties['objectFit'],\r\n 'contain' | 'cover' | 'fill' | 'scale-down'\r\n >\r\n >,\r\n default: 'contain',\r\n },\r\n eager: Boolean,\r\n ...pressDimensionPropsOptions(),\r\n },\r\n 'YImg',\r\n);\r\n\r\nexport type YImgStatus = 'idle' | 'loading' | 'loaded' | 'error';\r\n\r\nexport const YImg = defineComponent({\r\n name: 'YImg',\r\n props: {\r\n ...pressYImgPropsOptions(),\r\n },\r\n slots: Object as SlotsType<{\r\n placeholder: any;\r\n }>,\r\n emits: ['load', 'loaded', 'error'],\r\n setup(props, { slots, attrs, emit }) {\r\n const vm = getCurrentInstance()!;\r\n const image$ = ref<HTMLImageElement>();\r\n const status = shallowRef<YImgStatus>(props.eager ? 'loading' : 'idle');\r\n const imgSrc = shallowRef('');\r\n const naturalWidth = shallowRef<number>();\r\n const naturalHeight = shallowRef<number>();\r\n const { polyTransitionBindProps } = usePolyTransition(props);\r\n\r\n const srcMeta = computed(() => {\r\n const src = props.src;\r\n\r\n return {\r\n src,\r\n };\r\n });\r\n\r\n const imgClasses = computed(() => {\r\n return {\r\n 'y-img--cover': props.objectFit === 'cover',\r\n 'y-img--contain': props.objectFit === 'contain',\r\n 'y-img--fill': props.objectFit === 'fill',\r\n 'y-img--scale-down': props.objectFit === 'scale-down',\r\n };\r\n });\r\n\r\n function getImgSrc() {\r\n const imgEl = image$.value;\r\n if (imgEl) {\r\n imgSrc.value = imgEl.currentSrc || imgEl.src;\r\n }\r\n }\r\n\r\n function inspectImage(imgEl: HTMLImageElement) {\r\n if (imgEl.naturalWidth || imgEl.naturalHeight) {\r\n naturalWidth.value = imgEl.naturalWidth;\r\n naturalHeight.value = imgEl.naturalHeight;\r\n } else if (!imgEl.complete && status.value === 'loading') {\r\n return false;\r\n } else if (\r\n imgEl.currentSrc.endsWith('.svg') ||\r\n imgEl.currentSrc.startsWith('data:image/svg+xml')\r\n ) {\r\n naturalWidth.value = 1;\r\n naturalHeight.value = 1;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n watch(\r\n () => props.src,\r\n () => {\r\n initIntersect();\r\n },\r\n );\r\n\r\n const _Placeholder = () => {\r\n if (!slots.placeholder) return null;\r\n return (\r\n <PolyTransition {...polyTransitionBindProps.value} appear>\r\n {(status.value === 'idle' || status.value === 'error') && (\r\n <div class=\"y-img__placeholder\">\r\n {slots.placeholder?.({ status: status.value })}\r\n </div>\r\n )}\r\n </PolyTransition>\r\n );\r\n };\r\n\r\n function onLoad() {\r\n if (vm.isUnmounted) return;\r\n status.value = 'loaded';\r\n }\r\n\r\n function onError(event?: Event) {\r\n if (vm.isUnmounted) return;\r\n status.value = 'error';\r\n emit('error', event);\r\n }\r\n\r\n const _Image = () => {\r\n const Img = (\r\n <img\r\n ref={image$}\r\n src={srcMeta.value.src}\r\n crossorigin={props.crossorigin}\r\n referrerpolicy={props.referrerpolicy}\r\n draggable={(attrs as ImgHTMLAttributes).draggable}\r\n alt={(attrs as ImgHTMLAttributes).alt}\r\n class={['y-img__img', imgClasses.value]}\r\n onLoad={onLoad}\r\n onError={onError}\r\n />\r\n );\r\n\r\n return (\r\n <PolyTransition {...polyTransitionBindProps.value} appear>\r\n {withDirectives(Img, [[vShow, status.value === 'loaded']])}\r\n </PolyTransition>\r\n );\r\n };\r\n\r\n let requestTimer = -1;\r\n\r\n /**\r\n *\r\n * @param imgEl\r\n * @param timeout null: once\r\n */\r\n function requestInspectImage(\r\n imgEl: HTMLImageElement,\r\n timeout: number | null = 100,\r\n ) {\r\n const _request = () => {\r\n clearTimeout(requestTimer);\r\n if (vm.isUnmounted) return;\r\n if (!inspectImage(imgEl) && timeout != null) {\r\n requestTimer = window.setTimeout(_request, timeout);\r\n }\r\n };\r\n\r\n _request();\r\n }\r\n\r\n function initIntersect(isIntersection?: boolean) {\r\n if (props.eager && isIntersection) return;\r\n if (\r\n Environments.canUseIntersectionObserver &&\r\n !isIntersection &&\r\n !props.eager\r\n )\r\n return;\r\n\r\n status.value = 'loading';\r\n\r\n if (!srcMeta.value.src) return;\r\n nextTick(() => {\r\n emit('load', image$.value?.currentSrc || srcMeta.value.src);\r\n setTimeout(() => {\r\n if (vm.isUnmounted) return;\r\n if (image$.value?.complete) {\r\n if (!image$.value?.naturalWidth) {\r\n onError();\r\n }\r\n if (status.value === 'error') return;\r\n requestInspectImage(image$.value, null);\r\n if (status.value === 'loading') onLoad();\r\n } else if (image$.value) {\r\n requestInspectImage(image$.value);\r\n getImgSrc();\r\n }\r\n });\r\n });\r\n }\r\n\r\n onBeforeMount(() => {\r\n initIntersect();\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n clearTimeout(requestTimer);\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <div class={['y-img']}>\r\n <_Placeholder />\r\n <_Image />\r\n </div>\r\n );\r\n });\r\n },\r\n});\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YImg.js","names":["computed","getCurrentInstance","nextTick","onBeforeMount","onBeforeUnmount","ref","shallowRef","vShow","watch","withDirectives","createVNode","_createVNode","mergeProps","_mergeProps","useRender","pressDimensionPropsOptions","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","defineComponent","propsFactory","Environments","pressYImgPropsOptions","src","String","crossorigin","referrerpolicy","transition","objectFit","type","default","eager","Boolean","YImg","name","props","slots","Object","emits","setup","_ref","attrs","emit","vm","image$","status","imgSrc","naturalWidth","naturalHeight","polyTransitionBindProps","srcMeta","imgClasses","getImgSrc","imgEl","value","currentSrc","inspectImage","complete","endsWith","startsWith","initIntersect","_Placeholder","placeholder","onLoad","isUnmounted","onError","event","_Image","Img","draggable","alt","requestTimer","requestInspectImage","timeout","arguments","length","undefined","_request","clearTimeout","window","setTimeout","isIntersection","canUseIntersectionObserver"],"sources":["../../../src/components/img/YImg.tsx"],"sourcesContent":["import {\n\ttype CSSProperties,\n\tcomputed,\n\tgetCurrentInstance,\n\ttype ImgHTMLAttributes,\n\tnextTick,\n\tonBeforeMount,\n\tonBeforeUnmount,\n\ttype PropType,\n\tref,\n\ttype SlotsType,\n\tshallowRef,\n\tvShow,\n\twatch,\n\twithDirectives,\n} from \"vue\";\n\nimport { useRender } from \"@/composables/component\";\nimport { pressDimensionPropsOptions } from \"@/composables/dimension\";\nimport {\n\tPolyTransition,\n\tpressPolyTransitionPropsOptions,\n\tusePolyTransition,\n} from \"@/composables/transition\";\nimport { defineComponent, propsFactory } from \"@/util/component\";\nimport Environments from \"@/util/environments\";\n\nimport \"./YImg.scss\";\n\nexport const pressYImgPropsOptions = propsFactory(\n\t{\n\t\tsrc: String as PropType<string>,\n\t\tcrossorigin: String as PropType<ImgHTMLAttributes[\"crossorigin\"]>,\n\t\treferrerpolicy: String as PropType<ImgHTMLAttributes[\"referrerpolicy\"]>,\n\t\t...pressPolyTransitionPropsOptions({\n\t\t\ttransition: \"fade\",\n\t\t}),\n\t\tobjectFit: {\n\t\t\ttype: String as PropType<\n\t\t\t\tExtract<\n\t\t\t\t\tCSSProperties[\"objectFit\"],\n\t\t\t\t\t\"contain\" | \"cover\" | \"fill\" | \"scale-down\"\n\t\t\t\t>\n\t\t\t>,\n\t\t\tdefault: \"contain\",\n\t\t},\n\t\teager: Boolean,\n\t\t...pressDimensionPropsOptions(),\n\t},\n\t\"YImg\",\n);\n\nexport type YImgStatus = \"idle\" | \"loading\" | \"loaded\" | \"error\";\n\nexport const YImg = defineComponent({\n\tname: \"YImg\",\n\tprops: {\n\t\t...pressYImgPropsOptions(),\n\t},\n\tslots: Object as SlotsType<{\n\t\tplaceholder: any;\n\t}>,\n\temits: [\"load\", \"loaded\", \"error\"],\n\tsetup(props, { slots, attrs, emit }) {\n\t\tconst vm = getCurrentInstance()!;\n\t\tconst image$ = ref<HTMLImageElement>();\n\t\tconst status = shallowRef<YImgStatus>(props.eager ? \"loading\" : \"idle\");\n\t\tconst imgSrc = shallowRef(\"\");\n\t\tconst naturalWidth = shallowRef<number>();\n\t\tconst naturalHeight = shallowRef<number>();\n\t\tconst { polyTransitionBindProps } = usePolyTransition(props);\n\n\t\tconst srcMeta = computed(() => {\n\t\t\tconst src = props.src;\n\n\t\t\treturn {\n\t\t\t\tsrc,\n\t\t\t};\n\t\t});\n\n\t\tconst imgClasses = computed(() => {\n\t\t\treturn {\n\t\t\t\t\"y-img--cover\": props.objectFit === \"cover\",\n\t\t\t\t\"y-img--contain\": props.objectFit === \"contain\",\n\t\t\t\t\"y-img--fill\": props.objectFit === \"fill\",\n\t\t\t\t\"y-img--scale-down\": props.objectFit === \"scale-down\",\n\t\t\t};\n\t\t});\n\n\t\tfunction getImgSrc() {\n\t\t\tconst imgEl = image$.value;\n\t\t\tif (imgEl) {\n\t\t\t\timgSrc.value = imgEl.currentSrc || imgEl.src;\n\t\t\t}\n\t\t}\n\n\t\tfunction inspectImage(imgEl: HTMLImageElement) {\n\t\t\tif (imgEl.naturalWidth || imgEl.naturalHeight) {\n\t\t\t\tnaturalWidth.value = imgEl.naturalWidth;\n\t\t\t\tnaturalHeight.value = imgEl.naturalHeight;\n\t\t\t} else if (!imgEl.complete && status.value === \"loading\") {\n\t\t\t\treturn false;\n\t\t\t} else if (\n\t\t\t\timgEl.currentSrc.endsWith(\".svg\") ||\n\t\t\t\timgEl.currentSrc.startsWith(\"data:image/svg+xml\")\n\t\t\t) {\n\t\t\t\tnaturalWidth.value = 1;\n\t\t\t\tnaturalHeight.value = 1;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\twatch(\n\t\t\t() => props.src,\n\t\t\t() => {\n\t\t\t\tinitIntersect();\n\t\t\t},\n\t\t);\n\n\t\tconst _Placeholder = () => {\n\t\t\tif (!slots.placeholder) return null;\n\t\t\treturn (\n\t\t\t\t<PolyTransition {...polyTransitionBindProps.value} appear>\n\t\t\t\t\t{(status.value === \"idle\" || status.value === \"error\") && (\n\t\t\t\t\t\t<div class=\"y-img__placeholder\">\n\t\t\t\t\t\t\t{slots.placeholder?.({ status: status.value })}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</PolyTransition>\n\t\t\t);\n\t\t};\n\n\t\tfunction onLoad() {\n\t\t\tif (vm.isUnmounted) return;\n\t\t\tstatus.value = \"loaded\";\n\t\t}\n\n\t\tfunction onError(event?: Event) {\n\t\t\tif (vm.isUnmounted) return;\n\t\t\tstatus.value = \"error\";\n\t\t\temit(\"error\", event);\n\t\t}\n\n\t\tconst _Image = () => {\n\t\t\tconst Img = (\n\t\t\t\t<img\n\t\t\t\t\tref={image$}\n\t\t\t\t\tsrc={srcMeta.value.src}\n\t\t\t\t\tcrossorigin={props.crossorigin}\n\t\t\t\t\treferrerpolicy={props.referrerpolicy}\n\t\t\t\t\tdraggable={(attrs as ImgHTMLAttributes).draggable}\n\t\t\t\t\talt={(attrs as ImgHTMLAttributes).alt}\n\t\t\t\t\tclass={[\"y-img__img\", imgClasses.value]}\n\t\t\t\t\tonLoad={onLoad}\n\t\t\t\t\tonError={onError}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<PolyTransition {...polyTransitionBindProps.value} appear>\n\t\t\t\t\t{withDirectives(Img, [[vShow, status.value === \"loaded\"]])}\n\t\t\t\t</PolyTransition>\n\t\t\t);\n\t\t};\n\n\t\tlet requestTimer = -1;\n\n\t\t/**\n\t\t *\n\t\t * @param imgEl\n\t\t * @param timeout null: once\n\t\t */\n\t\tfunction requestInspectImage(\n\t\t\timgEl: HTMLImageElement,\n\t\t\ttimeout: number | null = 100,\n\t\t) {\n\t\t\tconst _request = () => {\n\t\t\t\tclearTimeout(requestTimer);\n\t\t\t\tif (vm.isUnmounted) return;\n\t\t\t\tif (!inspectImage(imgEl) && timeout != null) {\n\t\t\t\t\trequestTimer = window.setTimeout(_request, timeout);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t_request();\n\t\t}\n\n\t\tfunction initIntersect(isIntersection?: boolean) {\n\t\t\tif (props.eager && isIntersection) return;\n\t\t\tif (\n\t\t\t\tEnvironments.canUseIntersectionObserver &&\n\t\t\t\t!isIntersection &&\n\t\t\t\t!props.eager\n\t\t\t)\n\t\t\t\treturn;\n\n\t\t\tstatus.value = \"loading\";\n\n\t\t\tif (!srcMeta.value.src) return;\n\t\t\tnextTick(() => {\n\t\t\t\temit(\"load\", image$.value?.currentSrc || srcMeta.value.src);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (vm.isUnmounted) return;\n\t\t\t\t\tif (image$.value?.complete) {\n\t\t\t\t\t\tif (!image$.value?.naturalWidth) {\n\t\t\t\t\t\t\tonError();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (status.value === \"error\") return;\n\t\t\t\t\t\trequestInspectImage(image$.value, null);\n\t\t\t\t\t\tif (status.value === \"loading\") onLoad();\n\t\t\t\t\t} else if (image$.value) {\n\t\t\t\t\t\trequestInspectImage(image$.value);\n\t\t\t\t\t\tgetImgSrc();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tonBeforeMount(() => {\n\t\t\tinitIntersect();\n\t\t});\n\n\t\tonBeforeUnmount(() => {\n\t\t\tclearTimeout(requestTimer);\n\t\t});\n\n\t\tuseRender(() => {\n\t\t\treturn (\n\t\t\t\t<div class={[\"y-img\"]}>\n\t\t\t\t\t<_Placeholder />\n\t\t\t\t\t<_Image />\n\t\t\t\t</div>\n\t\t\t);\n\t\t});\n\t},\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/img/index.ts"],"sourcesContent":[""],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/img/index.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\nexport * from './button';\nexport * from './input';\nexport * from './field-input';\nexport * from './textarea';\nexport * from './form';\nexport * from './progress-bar';\nexport * from './progress-ring';\nexport * from './card';\nexport * from './chip';\nexport * from './switch';\nexport * from './layer';\nexport * from './dialog';\nexport * from './snackbar';\nexport * from './tooltip';\nexport * from './transitions';\nexport * from './panel';\nexport * from './tree-view';\nexport * from './list';\nexport * from './icons';\nexport * from './table';\nexport * from './menu';\nexport * from './checkbox';\nexport * from './pagination';\nexport * from './loading';\nexport * from './dropdown';\nexport * from './select';\nexport * from './tab';\nexport * from './alert';\nexport * from './divider';\nexport * from './date-picker';\nexport * from './icon';\nexport * from './badge';\nexport * from './text-ellipsis';\nexport * from './ip-field';\nexport * from './hover';\nexport * from './text-interpolation';\nexport * from './text-highlighter';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { computed, ref, shallowRef, watch } from 'vue';
|
|
1
|
+
import { computed, ref, shallowRef, watch, Fragment as _Fragment, createTextVNode as _createTextVNode, createVNode as _createVNode } from 'vue';
|
|
3
2
|
import { useRender } from "../../composables/component.js";
|
|
4
3
|
import { pressFocusPropsOptions, useFocus } from "../../composables/focus.js";
|
|
5
4
|
import { pressThemePropsOptions, useLocalTheme } from "../../composables/theme/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YInput.js","names":["computed","ref","shallowRef","watch","useRender","pressFocusPropsOptions","useFocus","pressThemePropsOptions","useLocalTheme","pressValidationPropsOptions","useValidation","defineComponent","getUid","propsFactory","toStyleSizeValue","NAME","pressYInputPropsOptions","name","String","width","type","Number","height","displayTag","default","label","modelValue","Array","Object","autoSelect","Boolean","floating","floated","placeholder","required","loading","variation","outlined","filled","ceramic","extended","YInput","props","emits","slots","setup","_ref","attrs","expose","emit","UID","themeClasses","focused","isFocused","focusedClasses","whenFocus","whenBlur","isDisabled","isReadonly","isLoading","invokeValidators","resetError","isError","isSuccess","errors","errorResult","stack$","display$","inValue","lazyValue","hasMouseDown","variations","split","map","value","trim","isFloatedLabel","classes","includes","displayStyles","neo","readonly","onClick","event","onMousedown","e","onMouseup","onKeydown","onFocus","onBlur","onClickLeading","onChange","createLabel","show","undefined","_createVNode","_Fragment","_createTextVNode","validate","prepend","leading","error","attrId","toString","trailing","helperText","append"],"sources":["../../../src/components/input/YInput.tsx"],"sourcesContent":["import {\r\n type PropType,\r\n type SlotsType,\r\n type VNode,\r\n computed,\r\n ref,\r\n shallowRef,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { pressFocusPropsOptions, useFocus } from '@/composables/focus';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport {\r\n pressValidationPropsOptions,\r\n useValidation,\r\n} from '@/composables/validation';\r\nimport { defineComponent, getUid, propsFactory } from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport './YInput.scss';\r\n\r\nconst NAME = 'y-input';\r\n\r\nexport const pressYInputPropsOptions = propsFactory(\r\n {\r\n name: String,\r\n width: {\r\n type: [String, Number] as PropType<string | number>,\r\n },\r\n height: [Number, String],\r\n displayTag: {\r\n type: String as PropType<string>,\r\n default: 'div',\r\n },\r\n label: String as PropType<string>,\r\n modelValue: { type: [String, Number, Array, Object] as PropType<any> },\r\n autoSelect: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n floating: { type: Boolean as PropType<boolean>, default: false },\r\n floated: { type: Boolean as PropType<boolean>, default: () => false },\r\n placeholder: String as PropType<string>,\r\n required: Boolean as PropType<boolean>,\r\n loading: Boolean as PropType<boolean>,\r\n // variations\r\n variation: String as PropType<string>,\r\n outlined: Boolean as PropType<boolean>,\r\n filled: Boolean as PropType<boolean>,\r\n ceramic: Boolean as PropType<boolean>,\r\n // validate\r\n ...pressValidationPropsOptions(),\r\n ...pressFocusPropsOptions(),\r\n extended: Object as PropType<any>,\r\n },\r\n 'YInput',\r\n);\r\n\r\nexport interface YInputDefaultSlotProps {\r\n value: any;\r\n loading: boolean;\r\n attrId: string;\r\n focused: boolean;\r\n}\r\n\r\nexport const YInput = defineComponent({\r\n name: 'YInput',\r\n props: {\r\n ...pressThemePropsOptions(),\r\n ...pressYInputPropsOptions(),\r\n },\r\n emits: [\r\n 'error',\r\n 'click',\r\n 'mousedown',\r\n 'mouseup',\r\n 'focus',\r\n 'blur',\r\n 'mousedown:display',\r\n 'mouseup:display',\r\n 'keydown:display',\r\n 'click:leading',\r\n 'update:modelValue',\r\n 'update:focused',\r\n ],\r\n slots: Object as SlotsType<{\r\n prepend: any;\r\n append: any;\r\n label: any;\r\n default: YInputDefaultSlotProps;\r\n leading: { error: boolean };\r\n trailing: any;\r\n 'leading-out': any;\r\n 'trailing-out': any;\r\n 'helper-text': {\r\n error: boolean;\r\n errorResult: string | undefined;\r\n errors: any[];\r\n };\r\n }>,\r\n setup(props, { slots, attrs, expose, emit }) {\r\n const UID = getUid();\r\n const { themeClasses } = useLocalTheme(props);\r\n const {\r\n focused: isFocused,\r\n focusedClasses,\r\n whenFocus,\r\n whenBlur,\r\n } = useFocus(props, 'y-input');\r\n\r\n const {\r\n isDisabled,\r\n isReadonly,\r\n isLoading,\r\n invokeValidators,\r\n resetError,\r\n isError,\r\n isSuccess,\r\n errors,\r\n errorResult,\r\n } = useValidation(props, NAME, UID);\r\n\r\n const stack$ = ref();\r\n const display$ = ref();\r\n\r\n const inValue = ref();\r\n const lazyValue = ref();\r\n const hasMouseDown = shallowRef(false);\r\n\r\n const variations = computed(() => {\r\n if (props.variation) {\r\n return props.variation.split(',').map((value) => {\r\n return value.trim();\r\n });\r\n }\r\n return [];\r\n });\r\n\r\n const isFloatedLabel = computed(() => {\r\n return (\r\n props.floated ||\r\n !!props.placeholder ||\r\n (!props.placeholder && isFocused.value) ||\r\n !!inValue.value\r\n );\r\n });\r\n\r\n const classes = computed(() => {\r\n return {\r\n // Style\r\n [themeClasses.value as string]: true,\r\n 'y-input--ceramic': !!props.ceramic,\r\n 'y-input--outlined':\r\n !props.ceramic &&\r\n (variations.value.includes('outlined') || !!props.outlined),\r\n 'y-input--filled':\r\n variations.value.includes('filled') || !!props.filled,\r\n // Value\r\n 'y-input--loading': isLoading.value,\r\n 'y-input--has-value': !!inValue.value,\r\n 'y-input--focused': isFocused.value,\r\n 'y-input--readonly': isReadonly.value,\r\n 'y-input--disabled': isDisabled.value,\r\n 'y-input--error': isError.value,\r\n 'y-input--success': isSuccess.value,\r\n };\r\n });\r\n\r\n const displayStyles = computed<Record<string, any>>(() => {\r\n return {\r\n width: toStyleSizeValue(props.width),\r\n height: toStyleSizeValue(props.height),\r\n };\r\n });\r\n\r\n watch(\r\n () => props.modelValue,\r\n (neo) => {\r\n inValue.value = neo;\r\n },\r\n );\r\n\r\n watch(\r\n () => props.readonly,\r\n (neo) => {\r\n if (!neo) {\r\n inValue.value = props.modelValue;\r\n }\r\n },\r\n );\r\n\r\n watch(inValue, (neo) => {\r\n if (!isReadonly.value && !isLoading.value) {\r\n emit('update:modelValue', neo);\r\n }\r\n });\r\n\r\n watch(isError, (neo) => {\r\n emit('error', neo, errors.value);\r\n });\r\n\r\n watch(\r\n () => props.focused,\r\n (neo) => {\r\n if (!neo) {\r\n invokeValidators();\r\n }\r\n },\r\n );\r\n\r\n function onClick(event: MouseEvent) {\r\n emit('click', event);\r\n }\r\n\r\n function onMousedown(e: Event) {\r\n hasMouseDown.value = true;\r\n emit('mousedown:display', e);\r\n }\r\n\r\n function onMouseup(e: Event) {\r\n hasMouseDown.value = false;\r\n emit('mouseup:display', e);\r\n }\r\n\r\n function onKeydown(e: Event) {\r\n emit('keydown:display', e);\r\n }\r\n\r\n function onFocus(event: FocusEvent) {\r\n whenFocus();\r\n emit('focus', event);\r\n }\r\n\r\n function onBlur(event: FocusEvent) {\r\n whenBlur();\r\n invokeValidators();\r\n emit('blur', event);\r\n }\r\n\r\n function onClickLeading(event: MouseEvent) {\r\n emit('click:leading', event);\r\n }\r\n\r\n function onChange(event?: Event) {\r\n invokeValidators();\r\n }\r\n\r\n function createLabel(): VNode | undefined {\r\n const show = !!props.label || !!slots.label;\r\n if (!show) {\r\n return undefined;\r\n }\r\n return (\r\n <label\r\n class={[\r\n {\r\n [`${NAME}__label`]: true,\r\n 'y-input__floating-label': props.floating,\r\n 'y-input__floating-label--floated':\r\n props.floating && isFloatedLabel.value,\r\n },\r\n ]}\r\n for={`y-input--${UID}`}\r\n >\r\n {slots.label ? (\r\n slots.label()\r\n ) : props.label ? (\r\n <>\r\n {props.label}\r\n {props.required && (\r\n <span class={'y-input__required-mark'}>*</span>\r\n )}\r\n </>\r\n ) : (\r\n props.placeholder && !inValue.value && props.placeholder\r\n )}\r\n </label>\r\n );\r\n }\r\n\r\n expose({\r\n ...(props.extended ?? {}),\r\n createLabel,\r\n invokeValidators,\r\n validate: invokeValidators,\r\n resetError,\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <div class={[`${NAME}`, { ...classes.value }]}>\r\n {slots.prepend && (\r\n <div class={`${NAME}__prepend`}>{slots.prepend()}</div>\r\n )}\r\n <div ref={stack$} class={[`${NAME}__stack`]}>\r\n {!props.floating && createLabel()}\r\n {slots['leading-out'] && slots['leading-out']()}\r\n <div\r\n ref={display$}\r\n class={`${NAME}__display`}\r\n style={[{ ...displayStyles.value }]}\r\n data-base-parent={true}\r\n onClick={onClick}\r\n onMousedown={onMousedown}\r\n onMouseup={onMouseup}\r\n onKeydown={onKeydown}\r\n >\r\n <div class={`${NAME}__plate`}></div>\r\n {slots.leading && (\r\n <div class={'y-input__leading'} onClick={onClickLeading}>\r\n {slots.leading({ error: isError.value })}\r\n </div>\r\n )}\r\n {slots.default ? (\r\n slots.default({\r\n value: props.modelValue,\r\n loading: isLoading.value,\r\n attrId: `y-input--${UID}`,\r\n focused: isFocused.value,\r\n })\r\n ) : (\r\n <div\r\n class={`${NAME}__value`}\r\n data-id={`y-input--${UID}`}\r\n tabindex={0}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n >\r\n {props.floating && createLabel()}\r\n {props.modelValue?.toString()}\r\n </div>\r\n )}\r\n {slots.trailing?.()}\r\n </div>\r\n {slots['trailing-out'] && slots['trailing-out']()}\r\n <div class={`${NAME}__helper-text`}>\r\n {slots['helper-text'] ? (\r\n <span>\r\n {slots['helper-text']({\r\n error: isError.value,\r\n errors: errors.value,\r\n errorResult: errorResult.value,\r\n })}\r\n </span>\r\n ) : (\r\n props.helperText ?? errorResult.value\r\n )}\r\n </div>\r\n </div>\r\n {slots.append && (\r\n <div class={`${NAME}__append`}>{slots.append()}</div>\r\n )}\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n ...(props.extended ?? {}),\r\n themeClasses,\r\n isFocused,\r\n focusedClasses,\r\n whenFocus,\r\n whenBlur,\r\n createLabel,\r\n invokeValidators,\r\n };\r\n },\r\n});\r\n\r\nexport type YInput = InstanceType<typeof YInput>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YInput.js","names":["computed","ref","shallowRef","watch","Fragment","_Fragment","createTextVNode","_createTextVNode","createVNode","_createVNode","useRender","pressFocusPropsOptions","useFocus","pressThemePropsOptions","useLocalTheme","pressValidationPropsOptions","useValidation","defineComponent","getUid","propsFactory","toStyleSizeValue","NAME","pressYInputPropsOptions","name","String","width","type","Number","height","displayTag","default","label","modelValue","Array","Object","autoSelect","Boolean","floating","floated","placeholder","required","loading","variation","outlined","filled","ceramic","extended","YInput","props","emits","slots","setup","_ref","attrs","expose","emit","UID","themeClasses","focused","isFocused","focusedClasses","whenFocus","whenBlur","isDisabled","isReadonly","isLoading","invokeValidators","resetError","isError","isSuccess","errors","errorResult","stack$","display$","inValue","lazyValue","hasMouseDown","variations","split","map","value","trim","isFloatedLabel","classes","includes","displayStyles","neo","readonly","onClick","event","onMousedown","e","onMouseup","onKeydown","onFocus","onBlur","onClickLeading","onChange","createLabel","show","undefined","validate","prepend","leading","error","attrId","toString","trailing","helperText","append"],"sources":["../../../src/components/input/YInput.tsx"],"sourcesContent":["import {\n computed,\n type PropType,\n ref,\n shallowRef,\n type SlotsType,\n type VNode,\n watch,\n} from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { pressFocusPropsOptions, useFocus } from '@/composables/focus';\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\nimport {\n pressValidationPropsOptions,\n useValidation,\n} from '@/composables/validation';\nimport { defineComponent, getUid, propsFactory } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport './YInput.scss';\n\nconst NAME = 'y-input';\n\nexport const pressYInputPropsOptions = propsFactory(\n {\n name: String,\n width: {\n type: [String, Number] as PropType<string | number>,\n },\n height: [Number, String],\n displayTag: {\n type: String as PropType<string>,\n default: 'div',\n },\n label: String as PropType<string>,\n modelValue: { type: [String, Number, Array, Object] as PropType<any> },\n autoSelect: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n floating: { type: Boolean as PropType<boolean>, default: false },\n floated: { type: Boolean as PropType<boolean>, default: () => false },\n placeholder: String as PropType<string>,\n required: Boolean as PropType<boolean>,\n loading: Boolean as PropType<boolean>,\n // variations\n variation: String as PropType<string>,\n outlined: Boolean as PropType<boolean>,\n filled: Boolean as PropType<boolean>,\n ceramic: Boolean as PropType<boolean>,\n // validate\n ...pressValidationPropsOptions(),\n ...pressFocusPropsOptions(),\n extended: Object as PropType<any>,\n },\n 'YInput',\n);\n\nexport interface YInputDefaultSlotProps {\n value: any;\n loading: boolean;\n attrId: string;\n focused: boolean;\n}\n\nexport const YInput = defineComponent({\n name: 'YInput',\n props: {\n ...pressThemePropsOptions(),\n ...pressYInputPropsOptions(),\n },\n emits: [\n 'error',\n 'click',\n 'mousedown',\n 'mouseup',\n 'focus',\n 'blur',\n 'mousedown:display',\n 'mouseup:display',\n 'keydown:display',\n 'click:leading',\n 'update:modelValue',\n 'update:focused',\n ],\n slots: Object as SlotsType<{\n prepend: any;\n append: any;\n label: any;\n default: YInputDefaultSlotProps;\n leading: { error: boolean };\n trailing: any;\n 'leading-out': any;\n 'trailing-out': any;\n 'helper-text': {\n error: boolean;\n errorResult: string | undefined;\n errors: any[];\n };\n }>,\n setup(props, { slots, attrs, expose, emit }) {\n const UID = getUid();\n const { themeClasses } = useLocalTheme(props);\n const {\n focused: isFocused,\n focusedClasses,\n whenFocus,\n whenBlur,\n } = useFocus(props, 'y-input');\n\n const {\n isDisabled,\n isReadonly,\n isLoading,\n invokeValidators,\n resetError,\n isError,\n isSuccess,\n errors,\n errorResult,\n } = useValidation(props, NAME, UID);\n\n const stack$ = ref();\n const display$ = ref();\n\n const inValue = ref();\n const lazyValue = ref();\n const hasMouseDown = shallowRef(false);\n\n const variations = computed(() => {\n if (props.variation) {\n return props.variation.split(',').map((value) => {\n return value.trim();\n });\n }\n return [];\n });\n\n const isFloatedLabel = computed(() => {\n return (\n props.floated ||\n !!props.placeholder ||\n (!props.placeholder && isFocused.value) ||\n !!inValue.value\n );\n });\n\n const classes = computed(() => {\n return {\n // Style\n [themeClasses.value as string]: true,\n 'y-input--ceramic': !!props.ceramic,\n 'y-input--outlined':\n !props.ceramic &&\n (variations.value.includes('outlined') || !!props.outlined),\n 'y-input--filled':\n variations.value.includes('filled') || !!props.filled,\n // Value\n 'y-input--loading': isLoading.value,\n 'y-input--has-value': !!inValue.value,\n 'y-input--focused': isFocused.value,\n 'y-input--readonly': isReadonly.value,\n 'y-input--disabled': isDisabled.value,\n 'y-input--error': isError.value,\n 'y-input--success': isSuccess.value,\n };\n });\n\n const displayStyles = computed<Record<string, any>>(() => {\n return {\n width: toStyleSizeValue(props.width),\n height: toStyleSizeValue(props.height),\n };\n });\n\n watch(\n () => props.modelValue,\n (neo) => {\n inValue.value = neo;\n },\n );\n\n watch(\n () => props.readonly,\n (neo) => {\n if (!neo) {\n inValue.value = props.modelValue;\n }\n },\n );\n\n watch(inValue, (neo) => {\n if (!isReadonly.value && !isLoading.value) {\n emit('update:modelValue', neo);\n }\n });\n\n watch(isError, (neo) => {\n emit('error', neo, errors.value);\n });\n\n watch(\n () => props.focused,\n (neo) => {\n if (!neo) {\n invokeValidators();\n }\n },\n );\n\n function onClick(event: MouseEvent) {\n emit('click', event);\n }\n\n function onMousedown(e: Event) {\n hasMouseDown.value = true;\n emit('mousedown:display', e);\n }\n\n function onMouseup(e: Event) {\n hasMouseDown.value = false;\n emit('mouseup:display', e);\n }\n\n function onKeydown(e: Event) {\n emit('keydown:display', e);\n }\n\n function onFocus(event: FocusEvent) {\n whenFocus();\n emit('focus', event);\n }\n\n function onBlur(event: FocusEvent) {\n whenBlur();\n invokeValidators();\n emit('blur', event);\n }\n\n function onClickLeading(event: MouseEvent) {\n emit('click:leading', event);\n }\n\n function onChange(event?: Event) {\n invokeValidators();\n }\n\n function createLabel(): VNode | undefined {\n const show = !!props.label || !!slots.label;\n if (!show) {\n return undefined;\n }\n return (\n <label\n class={[\n {\n [`${NAME}__label`]: true,\n 'y-input__floating-label': props.floating,\n 'y-input__floating-label--floated':\n props.floating && isFloatedLabel.value,\n },\n ]}\n for={`y-input--${UID}`}\n >\n {slots.label ? (\n slots.label()\n ) : props.label ? (\n <>\n {props.label}\n {props.required && (\n <span class={'y-input__required-mark'}>*</span>\n )}\n </>\n ) : (\n props.placeholder && !inValue.value && props.placeholder\n )}\n </label>\n );\n }\n\n expose({\n ...(props.extended ?? {}),\n createLabel,\n invokeValidators,\n validate: invokeValidators,\n resetError,\n });\n\n useRender(() => {\n return (\n <div class={[`${NAME}`, { ...classes.value }]}>\n {slots.prepend && (\n <div class={`${NAME}__prepend`}>{slots.prepend()}</div>\n )}\n <div ref={stack$} class={[`${NAME}__stack`]}>\n {!props.floating && createLabel()}\n {slots['leading-out'] && slots['leading-out']()}\n <div\n ref={display$}\n class={`${NAME}__display`}\n style={[{ ...displayStyles.value }]}\n data-base-parent={true}\n onClick={onClick}\n onMousedown={onMousedown}\n onMouseup={onMouseup}\n onKeydown={onKeydown}\n >\n <div class={`${NAME}__plate`}></div>\n {slots.leading && (\n <div class={'y-input__leading'} onClick={onClickLeading}>\n {slots.leading({ error: isError.value })}\n </div>\n )}\n {slots.default ? (\n slots.default({\n value: props.modelValue,\n loading: isLoading.value,\n attrId: `y-input--${UID}`,\n focused: isFocused.value,\n })\n ) : (\n <div\n class={`${NAME}__value`}\n data-id={`y-input--${UID}`}\n tabindex={0}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {props.floating && createLabel()}\n {props.modelValue?.toString()}\n </div>\n )}\n {slots.trailing?.()}\n </div>\n {slots['trailing-out'] && slots['trailing-out']()}\n <div class={`${NAME}__helper-text`}>\n {slots['helper-text'] ? (\n <span>\n {slots['helper-text']({\n error: isError.value,\n errors: errors.value,\n errorResult: errorResult.value,\n })}\n </span>\n ) : (\n (props.helperText ?? errorResult.value)\n )}\n </div>\n </div>\n {slots.append && (\n <div class={`${NAME}__append`}>{slots.append()}</div>\n )}\n </div>\n );\n });\n\n return {\n ...(props.extended ?? {}),\n themeClasses,\n isFocused,\n focusedClasses,\n whenFocus,\n whenBlur,\n createLabel,\n invokeValidators,\n };\n },\n});\n\nexport type YInput = InstanceType<typeof YInput>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -57,7 +57,7 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
57
57
|
&__helper-text {
|
|
58
58
|
font-size: 14px;
|
|
59
59
|
font-weight: 320;
|
|
60
|
-
color: #444;
|
|
60
|
+
color: var(--y-theme-on-surface-variant, #444);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
@keyframes label-float {
|
|
@@ -155,11 +155,12 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
155
155
|
&__prepend {
|
|
156
156
|
padding-left: 12px;
|
|
157
157
|
}
|
|
158
|
+
|
|
158
159
|
//
|
|
159
160
|
&__plate {
|
|
160
161
|
background: rgba(
|
|
161
|
-
|
|
162
|
-
|
|
162
|
+
var(--y-theme-on-surface-rgb, var(--y-input-default-filled)),
|
|
163
|
+
var(--y-input-filled-opacity)
|
|
163
164
|
);
|
|
164
165
|
}
|
|
165
166
|
|
|
@@ -174,8 +175,7 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
174
175
|
--y-input-outlined-opacity-hover: 0.87;
|
|
175
176
|
|
|
176
177
|
.y-input__plate {
|
|
177
|
-
border: 1px solid
|
|
178
|
-
rgba(var(--y-theme-outline-rgb), var(--y-input-outlined-opacity));
|
|
178
|
+
border: 1px solid rgba(var(--y-theme-outline-rgb), var(--y-input-outlined-opacity));
|
|
179
179
|
box-sizing: border-box;
|
|
180
180
|
inset: 0;
|
|
181
181
|
|
|
@@ -200,10 +200,9 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
200
200
|
border-top-color: transparent;
|
|
201
201
|
border-left-width: 0;
|
|
202
202
|
border-right-width: 0;
|
|
203
|
-
box-shadow:
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
inset 1px 1px 8px -4px rgb(0 0 0 / 11%);
|
|
203
|
+
box-shadow: 1px 2px 8px -1px rgb(0 0 0 / 12%),
|
|
204
|
+
-1px -1px 2px 1px rgba(0, 0, 0, 0.04),
|
|
205
|
+
inset 1px 1px 8px -4px rgb(0 0 0 / 11%);
|
|
207
206
|
outline: 0 solid rgba(0, 0, 0, 0);
|
|
208
207
|
}
|
|
209
208
|
|
|
@@ -240,6 +239,7 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
240
239
|
border-color: var(--y-palette-negative) !important;
|
|
241
240
|
}
|
|
242
241
|
}
|
|
242
|
+
|
|
243
243
|
.y-input__helper-text {
|
|
244
244
|
color: var(--y-palette-negative);
|
|
245
245
|
}
|
|
@@ -251,6 +251,7 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
251
251
|
border-color: var(--y-palette-positive) !important;
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
|
+
|
|
254
255
|
.y-input__helper-text {
|
|
255
256
|
color: var(--y-palette-positive);
|
|
256
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/input/index.ts"],"sourcesContent":["export * from './YInput';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/input/index.ts"],"sourcesContent":["export * from './YInput';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { mergeProps
|
|
2
|
-
import { computed, mergeProps, nextTick, reactive, ref, toRef, watch } from 'vue';
|
|
1
|
+
import { computed, mergeProps, nextTick, reactive, ref, toRef, watch, createVNode as _createVNode, mergeProps as _mergeProps } from 'vue';
|
|
3
2
|
import { useModelDuplex } from "../../composables/communication.js";
|
|
4
3
|
import { useRender } from "../../composables/component.js";
|
|
5
4
|
import { chooseProps, defineComponent } from "../../util/component/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YIpv4Field.js","names":["computed","mergeProps","nextTick","reactive","ref","toRef","watch","useModelDuplex","useRender","chooseProps","defineComponent","YInput","pressYInputPropsOptions","INHERIT_NAME","NAME","IP_PART_REGEX","YIpv4Field","name","props","fixedUntil","Number","text","Boolean","subnet","autoFillSubnet","String","emits","_v","tab","_id","focus","blur","setup","_ref","slots","emit","field$","yInput$","input$","model","parts","lazyParts","isFocused","fieldFocused","testSubnetRange","value","test","onInput","id","event","target","neoValue","oldValue","pass","neo","toString","nextChange","length","focusNextPart","emitInput","onFocus","_event","push","onBlur","setTimeout","forEach","index","splice","onChange","onKeydown","$target","key","focusPrevPart","shiftKey","selectionStart","preventDefault","onTab","onKeyup","putParts","tempParts","lastIndexOf","sub","substring","split","part","undefined","onPaste","content","clipboardData","window","getData","isNaN","whenBlur","currentId","nextId","$input","prevId","joinParts","focused","immediate","_createVNode","_mergeProps","leading","_len","arguments","args","Array","_key","default","defaultProps","attrId","map","inputValue","el","readonly","loading","disabled","$event","trailing","_len2","_key2","label"],"sources":["../../../src/components/ip-field/YIpv4Field.tsx"],"sourcesContent":["import {\r\n type PropType,\r\n computed,\r\n mergeProps,\r\n nextTick,\r\n reactive,\r\n ref,\r\n toRef,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { chooseProps, defineComponent } from '@/util/component';\r\n\r\nimport { YInput, pressYInputPropsOptions } from '../input';\r\n\r\nimport './YIpField.scss';\r\n\r\nconst INHERIT_NAME = 'y-ip-field';\r\nconst NAME = 'y-ipv4-field';\r\nconst IP_PART_REGEX = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\r\n\r\ntype PartId = 0 | 1 | 2 | 3 | 4;\r\n\r\nexport const YIpv4Field = defineComponent({\r\n name: NAME,\r\n props: {\r\n fixedUntil: Number as PropType<0 | 1 | 2 | 3>,\r\n text: Boolean as PropType<boolean>,\r\n subnet: Boolean as PropType<boolean>,\r\n autoFillSubnet: [Boolean, Number, String] as PropType<\r\n boolean | number | string\r\n >,\r\n ...pressYInputPropsOptions(),\r\n },\r\n emits: {\r\n 'update:modelValue': (_v: string) => true,\r\n tab: (_id?: number) => true,\r\n focus: () => true,\r\n blur: () => true,\r\n },\r\n setup(props, { slots, emit }) {\r\n const field$ = ref();\r\n const yInput$ = ref();\r\n const input$ = ref<any[]>([]);\r\n\r\n const model = useModelDuplex(props);\r\n\r\n const parts = reactive<Record<PartId, any>>({\r\n 0: '',\r\n 1: '',\r\n 2: '',\r\n 3: '',\r\n 4: '',\r\n });\r\n //\r\n const lazyParts = reactive({\r\n 0: '',\r\n 1: '',\r\n 2: '',\r\n 3: '',\r\n 4: '',\r\n });\r\n\r\n const isFocused = ref(false);\r\n const fieldFocused = ref<number[]>([]);\r\n\r\n /// Events\r\n function testSubnetRange(value: string) {\r\n return !/[^0-9]/.test(value) && Number(value) < 33 && Number(value) > -1;\r\n }\r\n\r\n function onInput(id: PartId, event: Event) {\r\n const target = event.target as HTMLInputElement | null;\r\n const neoValue = target?.value || '';\r\n const oldValue = lazyParts[id];\r\n const pass =\r\n id < 4 ? IP_PART_REGEX.test(neoValue) : testSubnetRange(neoValue);\r\n const neo = neoValue !== '' ? Number(neoValue).toString() : '';\r\n parts[id] = neo;\r\n if (!pass && neoValue !== '') {\r\n nextChange(id, oldValue);\r\n } else {\r\n if (neoValue.length > 2) {\r\n focusNextPart(id);\r\n }\r\n lazyParts[id] = neo;\r\n emitInput();\r\n }\r\n }\r\n\r\n function onFocus(id: PartId, _event: FocusEvent) {\r\n isFocused.value = true;\r\n fieldFocused.value.push(id);\r\n }\r\n\r\n function onBlur(id: PartId, _event: FocusEvent) {\r\n isFocused.value = false;\r\n nextTick(() => {\r\n setTimeout(() => {\r\n fieldFocused.value.forEach((value, index) => {\r\n if (value === id) {\r\n fieldFocused.value.splice(index, 1);\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n function onChange(_id: PartId, _event: Event) {\r\n //\r\n // const changed = [id, event];\r\n }\r\n\r\n function onKeydown(id: PartId, event: KeyboardEvent) {\r\n const $target = event.target as HTMLInputElement;\r\n if (event.key === 'Backspace' && event.target && $target.value === '') {\r\n focusPrevPart(id);\r\n }\r\n if (\r\n event.key === 'ArrowRight' ||\r\n (event.key === 'ArrowDown' && !event.shiftKey)\r\n ) {\r\n if (\r\n $target.selectionStart !== null &&\r\n $target.value.length <= $target.selectionStart\r\n ) {\r\n if (id === 3) {\r\n event.preventDefault();\r\n emit('tab');\r\n return;\r\n } else {\r\n event.preventDefault();\r\n focusNextPart(id);\r\n return;\r\n }\r\n }\r\n }\r\n if (\r\n event.key === 'ArrowLeft' ||\r\n (event.key === 'ArrowUp' && !event.shiftKey)\r\n ) {\r\n if ($target.selectionStart !== null && $target.selectionStart === 0) {\r\n if (id === 0) {\r\n event.preventDefault();\r\n emit('tab', -1);\r\n return;\r\n } else {\r\n event.preventDefault();\r\n focusPrevPart(id);\r\n return;\r\n }\r\n }\r\n }\r\n if (\r\n ((event.key === 'Tab' && !event.shiftKey && $target.value !== '') ||\r\n event.key === 'Enter' ||\r\n event.key === '.') &&\r\n props.onTab &&\r\n id === 3\r\n ) {\r\n event.preventDefault();\r\n emit('tab', 3);\r\n }\r\n }\r\n\r\n function onKeyup(id: PartId, event: KeyboardEvent) {\r\n if (event.key === '.') {\r\n focusNextPart(id);\r\n }\r\n }\r\n\r\n function putParts(neo: string | undefined) {\r\n if (typeof neo === 'string') {\r\n let tempParts: string[] = [];\r\n if (neo.lastIndexOf('/') > -1) {\r\n const sub = neo.substring(neo.lastIndexOf('/') + 1, neo.length);\r\n if (props.subnet && testSubnetRange(sub)) {\r\n parts[4] = sub;\r\n }\r\n tempParts = neo.substring(0, neo.lastIndexOf('/')).split('.');\r\n } else {\r\n tempParts = neo.split('.');\r\n }\r\n if (tempParts.length > 2) {\r\n for (let index = 0; index < 4; index += 1) {\r\n const part = tempParts[index];\r\n if (part !== undefined && IP_PART_REGEX.test(part)) {\r\n parts[index as PartId] = part;\r\n } else {\r\n parts[index as PartId] = '';\r\n }\r\n }\r\n emitInput();\r\n }\r\n }\r\n }\r\n\r\n function onPaste(event: ClipboardEvent) {\r\n const content = (\r\n event.clipboardData || (window as any).clipboardData\r\n ).getData('text');\r\n if (isNaN(Number(content))) {\r\n event.preventDefault();\r\n putParts(content);\r\n }\r\n }\r\n\r\n function whenBlur() {\r\n if (\r\n props.autoFillSubnet &&\r\n parts[0] &&\r\n parts[1] &&\r\n parts[2] &&\r\n parts[3] &&\r\n !parts[4]\r\n ) {\r\n if (typeof props.autoFillSubnet === 'boolean') {\r\n parts[4] = '32';\r\n } else {\r\n parts[4] = props.autoFillSubnet.toString();\r\n }\r\n emitInput();\r\n }\r\n }\r\n\r\n /// Actions\r\n function nextChange(id: PartId, value: any) {\r\n nextTick(() => {\r\n parts[id] = value;\r\n emitInput();\r\n });\r\n }\r\n\r\n function focusNextPart(currentId: PartId) {\r\n const nextId = currentId + 1;\r\n if (nextId < 4) {\r\n const $input = input$.value[nextId] as HTMLInputElement;\r\n $input.focus();\r\n $input.selectionStart = 0;\r\n }\r\n }\r\n\r\n function focusPrevPart(currentId: PartId) {\r\n const prevId = currentId - 1;\r\n if (prevId > -1) {\r\n const $input = input$.value[prevId] as HTMLInputElement;\r\n $input.focus();\r\n $input.selectionStart = $input.value.length + 1;\r\n }\r\n }\r\n\r\n function emitInput() {\r\n model.value = joinParts();\r\n }\r\n\r\n function joinParts(): string {\r\n if (\r\n parts[0] === '' &&\r\n parts[1] === '' &&\r\n parts[2] === '' &&\r\n parts[3] === ''\r\n ) {\r\n return '';\r\n }\r\n return `${parts[0]}.${parts[1]}.${parts[2]}.${parts[3]}${\r\n props.subnet ? '/' + parts[4] : ''\r\n }`;\r\n }\r\n\r\n const focused = computed(() => {\r\n return fieldFocused.value.length > 0;\r\n });\r\n\r\n watch(\r\n model,\r\n (neo: string | undefined) => {\r\n if (neo === '') {\r\n for (let index = 0; index < 5; index += 1) {\r\n parts[index as PartId] = '';\r\n lazyParts[index as PartId] = '';\r\n }\r\n return;\r\n } else {\r\n putParts(neo);\r\n }\r\n },\r\n { immediate: true },\r\n );\r\n\r\n watch(focused, (neo: boolean) => {\r\n if (!neo) {\r\n whenBlur();\r\n }\r\n });\r\n\r\n watch(isFocused, (neo: boolean) => {\r\n if (neo) {\r\n emit('focus');\r\n } else {\r\n emit('blur');\r\n }\r\n });\r\n\r\n useRender(() => {\r\n input$.value = [];\r\n return (\r\n <YInput\r\n ref={yInput$}\r\n class={[\r\n NAME,\r\n INHERIT_NAME,\r\n { [`${INHERIT_NAME}--text`]: props.text },\r\n ]}\r\n {...chooseProps(props, YInput.props)}\r\n >\r\n {{\r\n leading: (...args: any[]) => slots.leading?.(...args),\r\n default: (defaultProps: any) => {\r\n return (\r\n <div\r\n class={[`${INHERIT_NAME}__field`]}\r\n {...mergeProps({ 'data-id': defaultProps.attrId })}\r\n ref={field$}\r\n >\r\n {([0, 1, 2, 3, 4] as PartId[]).map((id) => {\r\n const inputValue = toRef(parts, id);\r\n return (\r\n ((!props.subnet && id < 4) || props.subnet) && [\r\n <div class={[`${INHERIT_NAME}__part`]}>\r\n <input\r\n ref={(el) => input$.value.push(el)}\r\n id={`${defaultProps.attrId}__part--${id}`}\r\n value={inputValue.value}\r\n class={[`${INHERIT_NAME}__part-input`]}\r\n readonly={props.readonly || props.loading}\r\n disabled={props.disabled}\r\n autocomplete=\"false\"\r\n maxlength={id === 4 ? 2 : 3}\r\n onInput={($event) => onInput(id, $event)}\r\n onFocus={($event) => onFocus(id, $event)}\r\n onBlur={($event) => onBlur(id, $event)}\r\n onChange={($event) => onChange(id, $event)}\r\n onKeydown={($event) => onKeydown(id, $event)}\r\n onKeyup={($event) => onKeyup(id, $event)}\r\n onPaste={onPaste}\r\n />\r\n </div>,\r\n id !== 4 &&\r\n ((!props.subnet && id < 3) || props.subnet) && (\r\n <div class={[`${INHERIT_NAME}__part`]}>\r\n {id < 3 ? '.' : '/'}\r\n </div>\r\n ),\r\n ]\r\n );\r\n })}\r\n </div>\r\n );\r\n },\r\n trailing: (...args: any[]) => slots.trailing?.(...args),\r\n label: slots.label && (() => slots.label?.()),\r\n 'helper-text':\r\n slots['helper-text'] && (() => slots['helper-text']?.()),\r\n }}\r\n </YInput>\r\n );\r\n });\r\n\r\n return {};\r\n },\r\n});\r\n\r\nexport type YIpv4Field = InstanceType<typeof YIpv4Field>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YIpv4Field.js","names":["computed","mergeProps","nextTick","reactive","ref","toRef","watch","createVNode","_createVNode","_mergeProps","useModelDuplex","useRender","chooseProps","defineComponent","YInput","pressYInputPropsOptions","INHERIT_NAME","NAME","IP_PART_REGEX","YIpv4Field","name","props","fixedUntil","Number","text","Boolean","subnet","autoFillSubnet","String","emits","_v","tab","_id","focus","blur","setup","_ref","slots","emit","field$","yInput$","input$","model","parts","lazyParts","isFocused","fieldFocused","testSubnetRange","value","test","onInput","id","event","target","neoValue","oldValue","pass","neo","toString","nextChange","length","focusNextPart","emitInput","onFocus","_event","push","onBlur","setTimeout","forEach","index","splice","onChange","onKeydown","$target","key","focusPrevPart","shiftKey","selectionStart","preventDefault","onTab","onKeyup","putParts","tempParts","lastIndexOf","sub","substring","split","part","undefined","onPaste","content","clipboardData","window","getData","isNaN","whenBlur","currentId","nextId","$input","prevId","joinParts","focused","immediate","leading","_len","arguments","args","Array","_key","default","defaultProps","attrId","map","inputValue","el","readonly","loading","disabled","$event","trailing","_len2","_key2","label"],"sources":["../../../src/components/ip-field/YIpv4Field.tsx"],"sourcesContent":["import {\n type PropType,\n computed,\n mergeProps,\n nextTick,\n reactive,\n ref,\n toRef,\n watch,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { chooseProps, defineComponent } from '@/util/component';\n\nimport { YInput, pressYInputPropsOptions } from '../input';\n\nimport './YIpField.scss';\n\nconst INHERIT_NAME = 'y-ip-field';\nconst NAME = 'y-ipv4-field';\nconst IP_PART_REGEX = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n\ntype PartId = 0 | 1 | 2 | 3 | 4;\n\nexport const YIpv4Field = defineComponent({\n name: NAME,\n props: {\n fixedUntil: Number as PropType<0 | 1 | 2 | 3>,\n text: Boolean as PropType<boolean>,\n subnet: Boolean as PropType<boolean>,\n autoFillSubnet: [Boolean, Number, String] as PropType<\n boolean | number | string\n >,\n ...pressYInputPropsOptions(),\n },\n emits: {\n 'update:modelValue': (_v: string) => true,\n tab: (_id?: number) => true,\n focus: () => true,\n blur: () => true,\n },\n setup(props, { slots, emit }) {\n const field$ = ref();\n const yInput$ = ref();\n const input$ = ref<any[]>([]);\n\n const model = useModelDuplex(props);\n\n const parts = reactive<Record<PartId, any>>({\n 0: '',\n 1: '',\n 2: '',\n 3: '',\n 4: '',\n });\n //\n const lazyParts = reactive({\n 0: '',\n 1: '',\n 2: '',\n 3: '',\n 4: '',\n });\n\n const isFocused = ref(false);\n const fieldFocused = ref<number[]>([]);\n\n /// Events\n function testSubnetRange(value: string) {\n return !/[^0-9]/.test(value) && Number(value) < 33 && Number(value) > -1;\n }\n\n function onInput(id: PartId, event: Event) {\n const target = event.target as HTMLInputElement | null;\n const neoValue = target?.value || '';\n const oldValue = lazyParts[id];\n const pass =\n id < 4 ? IP_PART_REGEX.test(neoValue) : testSubnetRange(neoValue);\n const neo = neoValue !== '' ? Number(neoValue).toString() : '';\n parts[id] = neo;\n if (!pass && neoValue !== '') {\n nextChange(id, oldValue);\n } else {\n if (neoValue.length > 2) {\n focusNextPart(id);\n }\n lazyParts[id] = neo;\n emitInput();\n }\n }\n\n function onFocus(id: PartId, _event: FocusEvent) {\n isFocused.value = true;\n fieldFocused.value.push(id);\n }\n\n function onBlur(id: PartId, _event: FocusEvent) {\n isFocused.value = false;\n nextTick(() => {\n setTimeout(() => {\n fieldFocused.value.forEach((value, index) => {\n if (value === id) {\n fieldFocused.value.splice(index, 1);\n }\n });\n });\n });\n }\n\n function onChange(_id: PartId, _event: Event) {\n //\n // const changed = [id, event];\n }\n\n function onKeydown(id: PartId, event: KeyboardEvent) {\n const $target = event.target as HTMLInputElement;\n if (event.key === 'Backspace' && event.target && $target.value === '') {\n focusPrevPart(id);\n }\n if (\n event.key === 'ArrowRight' ||\n (event.key === 'ArrowDown' && !event.shiftKey)\n ) {\n if (\n $target.selectionStart !== null &&\n $target.value.length <= $target.selectionStart\n ) {\n if (id === 3) {\n event.preventDefault();\n emit('tab');\n return;\n } else {\n event.preventDefault();\n focusNextPart(id);\n return;\n }\n }\n }\n if (\n event.key === 'ArrowLeft' ||\n (event.key === 'ArrowUp' && !event.shiftKey)\n ) {\n if ($target.selectionStart !== null && $target.selectionStart === 0) {\n if (id === 0) {\n event.preventDefault();\n emit('tab', -1);\n return;\n } else {\n event.preventDefault();\n focusPrevPart(id);\n return;\n }\n }\n }\n if (\n ((event.key === 'Tab' && !event.shiftKey && $target.value !== '') ||\n event.key === 'Enter' ||\n event.key === '.') &&\n props.onTab &&\n id === 3\n ) {\n event.preventDefault();\n emit('tab', 3);\n }\n }\n\n function onKeyup(id: PartId, event: KeyboardEvent) {\n if (event.key === '.') {\n focusNextPart(id);\n }\n }\n\n function putParts(neo: string | undefined) {\n if (typeof neo === 'string') {\n let tempParts: string[] = [];\n if (neo.lastIndexOf('/') > -1) {\n const sub = neo.substring(neo.lastIndexOf('/') + 1, neo.length);\n if (props.subnet && testSubnetRange(sub)) {\n parts[4] = sub;\n }\n tempParts = neo.substring(0, neo.lastIndexOf('/')).split('.');\n } else {\n tempParts = neo.split('.');\n }\n if (tempParts.length > 2) {\n for (let index = 0; index < 4; index += 1) {\n const part = tempParts[index];\n if (part !== undefined && IP_PART_REGEX.test(part)) {\n parts[index as PartId] = part;\n } else {\n parts[index as PartId] = '';\n }\n }\n emitInput();\n }\n }\n }\n\n function onPaste(event: ClipboardEvent) {\n const content = (\n event.clipboardData || (window as any).clipboardData\n ).getData('text');\n if (isNaN(Number(content))) {\n event.preventDefault();\n putParts(content);\n }\n }\n\n function whenBlur() {\n if (\n props.autoFillSubnet &&\n parts[0] &&\n parts[1] &&\n parts[2] &&\n parts[3] &&\n !parts[4]\n ) {\n if (typeof props.autoFillSubnet === 'boolean') {\n parts[4] = '32';\n } else {\n parts[4] = props.autoFillSubnet.toString();\n }\n emitInput();\n }\n }\n\n /// Actions\n function nextChange(id: PartId, value: any) {\n nextTick(() => {\n parts[id] = value;\n emitInput();\n });\n }\n\n function focusNextPart(currentId: PartId) {\n const nextId = currentId + 1;\n if (nextId < 4) {\n const $input = input$.value[nextId] as HTMLInputElement;\n $input.focus();\n $input.selectionStart = 0;\n }\n }\n\n function focusPrevPart(currentId: PartId) {\n const prevId = currentId - 1;\n if (prevId > -1) {\n const $input = input$.value[prevId] as HTMLInputElement;\n $input.focus();\n $input.selectionStart = $input.value.length + 1;\n }\n }\n\n function emitInput() {\n model.value = joinParts();\n }\n\n function joinParts(): string {\n if (\n parts[0] === '' &&\n parts[1] === '' &&\n parts[2] === '' &&\n parts[3] === ''\n ) {\n return '';\n }\n return `${parts[0]}.${parts[1]}.${parts[2]}.${parts[3]}${\n props.subnet ? '/' + parts[4] : ''\n }`;\n }\n\n const focused = computed(() => {\n return fieldFocused.value.length > 0;\n });\n\n watch(\n model,\n (neo: string | undefined) => {\n if (neo === '') {\n for (let index = 0; index < 5; index += 1) {\n parts[index as PartId] = '';\n lazyParts[index as PartId] = '';\n }\n return;\n } else {\n putParts(neo);\n }\n },\n { immediate: true },\n );\n\n watch(focused, (neo: boolean) => {\n if (!neo) {\n whenBlur();\n }\n });\n\n watch(isFocused, (neo: boolean) => {\n if (neo) {\n emit('focus');\n } else {\n emit('blur');\n }\n });\n\n useRender(() => {\n input$.value = [];\n return (\n <YInput\n ref={yInput$}\n class={[\n NAME,\n INHERIT_NAME,\n { [`${INHERIT_NAME}--text`]: props.text },\n ]}\n {...chooseProps(props, YInput.props)}\n >\n {{\n leading: (...args: any[]) => slots.leading?.(...args),\n default: (defaultProps: any) => {\n return (\n <div\n class={[`${INHERIT_NAME}__field`]}\n {...mergeProps({ 'data-id': defaultProps.attrId })}\n ref={field$}\n >\n {([0, 1, 2, 3, 4] as PartId[]).map((id) => {\n const inputValue = toRef(parts, id);\n return (\n ((!props.subnet && id < 4) || props.subnet) && [\n <div class={[`${INHERIT_NAME}__part`]}>\n <input\n ref={(el) => input$.value.push(el)}\n id={`${defaultProps.attrId}__part--${id}`}\n value={inputValue.value}\n class={[`${INHERIT_NAME}__part-input`]}\n readonly={props.readonly || props.loading}\n disabled={props.disabled}\n autocomplete=\"false\"\n maxlength={id === 4 ? 2 : 3}\n onInput={($event) => onInput(id, $event)}\n onFocus={($event) => onFocus(id, $event)}\n onBlur={($event) => onBlur(id, $event)}\n onChange={($event) => onChange(id, $event)}\n onKeydown={($event) => onKeydown(id, $event)}\n onKeyup={($event) => onKeyup(id, $event)}\n onPaste={onPaste}\n />\n </div>,\n id !== 4 &&\n ((!props.subnet && id < 3) || props.subnet) && (\n <div class={[`${INHERIT_NAME}__part`]}>\n {id < 3 ? '.' : '/'}\n </div>\n ),\n ]\n );\n })}\n </div>\n );\n },\n trailing: (...args: any[]) => slots.trailing?.(...args),\n label: slots.label && (() => slots.label?.()),\n 'helper-text':\n slots['helper-text'] && (() => slots['helper-text']?.()),\n }}\n </YInput>\n );\n });\n\n return {};\n },\n});\n\nexport type YIpv4Field = InstanceType<typeof YIpv4Field>;\n"],"mappings":"AAAA,SAEEA,QAAQ,EACRC,UAAU,EACVC,QAAQ,EACRC,QAAQ,EACRC,GAAG,EACHC,KAAK,EACLC,KAAK,EAAAC,WAAA,IAAAC,YAAA,EAAAP,UAAA,IAAAQ,WAAA,QACA,KAAK;AAAC,SAEJC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,WAAW,EAAEC,eAAe;AAAA,SAE5BC,MAAM,EAAEC,uBAAuB;AAExC;AAEA,MAAMC,YAAY,GAAG,YAAY;AACjC,MAAMC,IAAI,GAAG,cAAc;AAC3B,MAAMC,aAAa,GAAG,0CAA0C;AAIhE,OAAO,MAAMC,UAAU,GAAGN,eAAe,CAAC;EACxCO,IAAI,EAAEH,IAAI;EACVI,KAAK,EAAE;IACLC,UAAU,EAAEC,MAAiC;IAC7CC,IAAI,EAAEC,OAA4B;IAClCC,MAAM,EAAED,OAA4B;IACpCE,cAAc,EAAE,CAACF,OAAO,EAAEF,MAAM,EAAEK,MAAM,CAEvC;IACD,GAAGb,uBAAuB,CAAC;EAC7B,CAAC;EACDc,KAAK,EAAE;IACL,mBAAmB,EAAGC,EAAU,IAAK,IAAI;IACzCC,GAAG,EAAGC,GAAY,IAAK,IAAI;IAC3BC,KAAK,EAAEA,CAAA,KAAM,IAAI;IACjBC,IAAI,EAAEA,CAAA,KAAM;EACd,CAAC;EACDC,KAAKA,CAACd,KAAK,EAAAe,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC1B,MAAMG,MAAM,GAAGnC,GAAG,CAAC,CAAC;IACpB,MAAMoC,OAAO,GAAGpC,GAAG,CAAC,CAAC;IACrB,MAAMqC,MAAM,GAAGrC,GAAG,CAAQ,EAAE,CAAC;IAE7B,MAAMsC,KAAK,GAAGhC,cAAc,CAACW,KAAK,CAAC;IAEnC,MAAMsB,KAAK,GAAGxC,QAAQ,CAAsB;MAC1C,CAAC,EAAE,EAAE;MACL,CAAC,EAAE,EAAE;MACL,CAAC,EAAE,EAAE;MACL,CAAC,EAAE,EAAE;MACL,CAAC,EAAE;IACL,CAAC,CAAC;IACF;IACA,MAAMyC,SAAS,GAAGzC,QAAQ,CAAC;MACzB,CAAC,EAAE,EAAE;MACL,CAAC,EAAE,EAAE;MACL,CAAC,EAAE,EAAE;MACL,CAAC,EAAE,EAAE;MACL,CAAC,EAAE;IACL,CAAC,CAAC;IAEF,MAAM0C,SAAS,GAAGzC,GAAG,CAAC,KAAK,CAAC;IAC5B,MAAM0C,YAAY,GAAG1C,GAAG,CAAW,EAAE,CAAC;;IAEtC;IACA,SAAS2C,eAAeA,CAACC,KAAa,EAAE;MACtC,OAAO,CAAC,QAAQ,CAACC,IAAI,CAACD,KAAK,CAAC,IAAIzB,MAAM,CAACyB,KAAK,CAAC,GAAG,EAAE,IAAIzB,MAAM,CAACyB,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E;IAEA,SAASE,OAAOA,CAACC,EAAU,EAAEC,KAAY,EAAE;MACzC,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAAiC;MACtD,MAAMC,QAAQ,GAAGD,MAAM,EAAEL,KAAK,IAAI,EAAE;MACpC,MAAMO,QAAQ,GAAGX,SAAS,CAACO,EAAE,CAAC;MAC9B,MAAMK,IAAI,GACRL,EAAE,GAAG,CAAC,GAAGjC,aAAa,CAAC+B,IAAI,CAACK,QAAQ,CAAC,GAAGP,eAAe,CAACO,QAAQ,CAAC;MACnE,MAAMG,GAAG,GAAGH,QAAQ,KAAK,EAAE,GAAG/B,MAAM,CAAC+B,QAAQ,CAAC,CAACI,QAAQ,CAAC,CAAC,GAAG,EAAE;MAC9Df,KAAK,CAACQ,EAAE,CAAC,GAAGM,GAAG;MACf,IAAI,CAACD,IAAI,IAAIF,QAAQ,KAAK,EAAE,EAAE;QAC5BK,UAAU,CAACR,EAAE,EAAEI,QAAQ,CAAC;MAC1B,CAAC,MAAM;QACL,IAAID,QAAQ,CAACM,MAAM,GAAG,CAAC,EAAE;UACvBC,aAAa,CAACV,EAAE,CAAC;QACnB;QACAP,SAAS,CAACO,EAAE,CAAC,GAAGM,GAAG;QACnBK,SAAS,CAAC,CAAC;MACb;IACF;IAEA,SAASC,OAAOA,CAACZ,EAAU,EAAEa,MAAkB,EAAE;MAC/CnB,SAAS,CAACG,KAAK,GAAG,IAAI;MACtBF,YAAY,CAACE,KAAK,CAACiB,IAAI,CAACd,EAAE,CAAC;IAC7B;IAEA,SAASe,MAAMA,CAACf,EAAU,EAAEa,MAAkB,EAAE;MAC9CnB,SAAS,CAACG,KAAK,GAAG,KAAK;MACvB9C,QAAQ,CAAC,MAAM;QACbiE,UAAU,CAAC,MAAM;UACfrB,YAAY,CAACE,KAAK,CAACoB,OAAO,CAAC,CAACpB,KAAK,EAAEqB,KAAK,KAAK;YAC3C,IAAIrB,KAAK,KAAKG,EAAE,EAAE;cAChBL,YAAY,CAACE,KAAK,CAACsB,MAAM,CAACD,KAAK,EAAE,CAAC,CAAC;YACrC;UACF,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IAEA,SAASE,QAAQA,CAACvC,GAAW,EAAEgC,MAAa,EAAE;MAC5C;MACA;IAAA;IAGF,SAASQ,SAASA,CAACrB,EAAU,EAAEC,KAAoB,EAAE;MACnD,MAAMqB,OAAO,GAAGrB,KAAK,CAACC,MAA0B;MAChD,IAAID,KAAK,CAACsB,GAAG,KAAK,WAAW,IAAItB,KAAK,CAACC,MAAM,IAAIoB,OAAO,CAACzB,KAAK,KAAK,EAAE,EAAE;QACrE2B,aAAa,CAACxB,EAAE,CAAC;MACnB;MACA,IACEC,KAAK,CAACsB,GAAG,KAAK,YAAY,IACzBtB,KAAK,CAACsB,GAAG,KAAK,WAAW,IAAI,CAACtB,KAAK,CAACwB,QAAS,EAC9C;QACA,IACEH,OAAO,CAACI,cAAc,KAAK,IAAI,IAC/BJ,OAAO,CAACzB,KAAK,CAACY,MAAM,IAAIa,OAAO,CAACI,cAAc,EAC9C;UACA,IAAI1B,EAAE,KAAK,CAAC,EAAE;YACZC,KAAK,CAAC0B,cAAc,CAAC,CAAC;YACtBxC,IAAI,CAAC,KAAK,CAAC;YACX;UACF,CAAC,MAAM;YACLc,KAAK,CAAC0B,cAAc,CAAC,CAAC;YACtBjB,aAAa,CAACV,EAAE,CAAC;YACjB;UACF;QACF;MACF;MACA,IACEC,KAAK,CAACsB,GAAG,KAAK,WAAW,IACxBtB,KAAK,CAACsB,GAAG,KAAK,SAAS,IAAI,CAACtB,KAAK,CAACwB,QAAS,EAC5C;QACA,IAAIH,OAAO,CAACI,cAAc,KAAK,IAAI,IAAIJ,OAAO,CAACI,cAAc,KAAK,CAAC,EAAE;UACnE,IAAI1B,EAAE,KAAK,CAAC,EAAE;YACZC,KAAK,CAAC0B,cAAc,CAAC,CAAC;YACtBxC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACf;UACF,CAAC,MAAM;YACLc,KAAK,CAAC0B,cAAc,CAAC,CAAC;YACtBH,aAAa,CAACxB,EAAE,CAAC;YACjB;UACF;QACF;MACF;MACA,IACE,CAAEC,KAAK,CAACsB,GAAG,KAAK,KAAK,IAAI,CAACtB,KAAK,CAACwB,QAAQ,IAAIH,OAAO,CAACzB,KAAK,KAAK,EAAE,IAC9DI,KAAK,CAACsB,GAAG,KAAK,OAAO,IACrBtB,KAAK,CAACsB,GAAG,KAAK,GAAG,KACnBrD,KAAK,CAAC0D,KAAK,IACX5B,EAAE,KAAK,CAAC,EACR;QACAC,KAAK,CAAC0B,cAAc,CAAC,CAAC;QACtBxC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;MAChB;IACF;IAEA,SAAS0C,OAAOA,CAAC7B,EAAU,EAAEC,KAAoB,EAAE;MACjD,IAAIA,KAAK,CAACsB,GAAG,KAAK,GAAG,EAAE;QACrBb,aAAa,CAACV,EAAE,CAAC;MACnB;IACF;IAEA,SAAS8B,QAAQA,CAACxB,GAAuB,EAAE;MACzC,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;QAC3B,IAAIyB,SAAmB,GAAG,EAAE;QAC5B,IAAIzB,GAAG,CAAC0B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;UAC7B,MAAMC,GAAG,GAAG3B,GAAG,CAAC4B,SAAS,CAAC5B,GAAG,CAAC0B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE1B,GAAG,CAACG,MAAM,CAAC;UAC/D,IAAIvC,KAAK,CAACK,MAAM,IAAIqB,eAAe,CAACqC,GAAG,CAAC,EAAE;YACxCzC,KAAK,CAAC,CAAC,CAAC,GAAGyC,GAAG;UAChB;UACAF,SAAS,GAAGzB,GAAG,CAAC4B,SAAS,CAAC,CAAC,EAAE5B,GAAG,CAAC0B,WAAW,CAAC,GAAG,CAAC,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC;QAC/D,CAAC,MAAM;UACLJ,SAAS,GAAGzB,GAAG,CAAC6B,KAAK,CAAC,GAAG,CAAC;QAC5B;QACA,IAAIJ,SAAS,CAACtB,MAAM,GAAG,CAAC,EAAE;UACxB,KAAK,IAAIS,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,CAAC,EAAEA,KAAK,IAAI,CAAC,EAAE;YACzC,MAAMkB,IAAI,GAAGL,SAAS,CAACb,KAAK,CAAC;YAC7B,IAAIkB,IAAI,KAAKC,SAAS,IAAItE,aAAa,CAAC+B,IAAI,CAACsC,IAAI,CAAC,EAAE;cAClD5C,KAAK,CAAC0B,KAAK,CAAW,GAAGkB,IAAI;YAC/B,CAAC,MAAM;cACL5C,KAAK,CAAC0B,KAAK,CAAW,GAAG,EAAE;YAC7B;UACF;UACAP,SAAS,CAAC,CAAC;QACb;MACF;IACF;IAEA,SAAS2B,OAAOA,CAACrC,KAAqB,EAAE;MACtC,MAAMsC,OAAO,GAAG,CACdtC,KAAK,CAACuC,aAAa,IAAKC,MAAM,CAASD,aAAa,EACpDE,OAAO,CAAC,MAAM,CAAC;MACjB,IAAIC,KAAK,CAACvE,MAAM,CAACmE,OAAO,CAAC,CAAC,EAAE;QAC1BtC,KAAK,CAAC0B,cAAc,CAAC,CAAC;QACtBG,QAAQ,CAACS,OAAO,CAAC;MACnB;IACF;IAEA,SAASK,QAAQA,CAAA,EAAG;MAClB,IACE1E,KAAK,CAACM,cAAc,IACpBgB,KAAK,CAAC,CAAC,CAAC,IACRA,KAAK,CAAC,CAAC,CAAC,IACRA,KAAK,CAAC,CAAC,CAAC,IACRA,KAAK,CAAC,CAAC,CAAC,IACR,CAACA,KAAK,CAAC,CAAC,CAAC,EACT;QACA,IAAI,OAAOtB,KAAK,CAACM,cAAc,KAAK,SAAS,EAAE;UAC7CgB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACjB,CAAC,MAAM;UACLA,KAAK,CAAC,CAAC,CAAC,GAAGtB,KAAK,CAACM,cAAc,CAAC+B,QAAQ,CAAC,CAAC;QAC5C;QACAI,SAAS,CAAC,CAAC;MACb;IACF;;IAEA;IACA,SAASH,UAAUA,CAACR,EAAU,EAAEH,KAAU,EAAE;MAC1C9C,QAAQ,CAAC,MAAM;QACbyC,KAAK,CAACQ,EAAE,CAAC,GAAGH,KAAK;QACjBc,SAAS,CAAC,CAAC;MACb,CAAC,CAAC;IACJ;IAEA,SAASD,aAAaA,CAACmC,SAAiB,EAAE;MACxC,MAAMC,MAAM,GAAGD,SAAS,GAAG,CAAC;MAC5B,IAAIC,MAAM,GAAG,CAAC,EAAE;QACd,MAAMC,MAAM,GAAGzD,MAAM,CAACO,KAAK,CAACiD,MAAM,CAAqB;QACvDC,MAAM,CAACjE,KAAK,CAAC,CAAC;QACdiE,MAAM,CAACrB,cAAc,GAAG,CAAC;MAC3B;IACF;IAEA,SAASF,aAAaA,CAACqB,SAAiB,EAAE;MACxC,MAAMG,MAAM,GAAGH,SAAS,GAAG,CAAC;MAC5B,IAAIG,MAAM,GAAG,CAAC,CAAC,EAAE;QACf,MAAMD,MAAM,GAAGzD,MAAM,CAACO,KAAK,CAACmD,MAAM,CAAqB;QACvDD,MAAM,CAACjE,KAAK,CAAC,CAAC;QACdiE,MAAM,CAACrB,cAAc,GAAGqB,MAAM,CAAClD,KAAK,CAACY,MAAM,GAAG,CAAC;MACjD;IACF;IAEA,SAASE,SAASA,CAAA,EAAG;MACnBpB,KAAK,CAACM,KAAK,GAAGoD,SAAS,CAAC,CAAC;IAC3B;IAEA,SAASA,SAASA,CAAA,EAAW;MAC3B,IACEzD,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IACfA,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IACfA,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IACfA,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EACf;QACA,OAAO,EAAE;MACX;MACA,OAAO,GAAGA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,GACpDtB,KAAK,CAACK,MAAM,GAAG,GAAG,GAAGiB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAClC;IACJ;IAEA,MAAM0D,OAAO,GAAGrG,QAAQ,CAAC,MAAM;MAC7B,OAAO8C,YAAY,CAACE,KAAK,CAACY,MAAM,GAAG,CAAC;IACtC,CAAC,CAAC;IAEFtD,KAAK,CACHoC,KAAK,EACJe,GAAuB,IAAK;MAC3B,IAAIA,GAAG,KAAK,EAAE,EAAE;QACd,KAAK,IAAIY,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,CAAC,EAAEA,KAAK,IAAI,CAAC,EAAE;UACzC1B,KAAK,CAAC0B,KAAK,CAAW,GAAG,EAAE;UAC3BzB,SAAS,CAACyB,KAAK,CAAW,GAAG,EAAE;QACjC;QACA;MACF,CAAC,MAAM;QACLY,QAAQ,CAACxB,GAAG,CAAC;MACf;IACF,CAAC,EACD;MAAE6C,SAAS,EAAE;IAAK,CACpB,CAAC;IAEDhG,KAAK,CAAC+F,OAAO,EAAG5C,GAAY,IAAK;MAC/B,IAAI,CAACA,GAAG,EAAE;QACRsC,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC,CAAC;IAEFzF,KAAK,CAACuC,SAAS,EAAGY,GAAY,IAAK;MACjC,IAAIA,GAAG,EAAE;QACPnB,IAAI,CAAC,OAAO,CAAC;MACf,CAAC,MAAM;QACLA,IAAI,CAAC,MAAM,CAAC;MACd;IACF,CAAC,CAAC;IAEF3B,SAAS,CAAC,MAAM;MACd8B,MAAM,CAACO,KAAK,GAAG,EAAE;MACjB,OAAAxC,YAAA,CAAAM,MAAA,EAAAL,WAAA;QAAA,OAES+B,OAAO;QAAA,SACL,CACLvB,IAAI,EACJD,YAAY,EACZ;UAAE,CAAC,GAAGA,YAAY,QAAQ,GAAGK,KAAK,CAACG;QAAK,CAAC;MAC1C,GACGZ,WAAW,CAACS,KAAK,EAAEP,MAAM,CAACO,KAAK,CAAC;QAGlCkF,OAAO,EAAE,SAAAA,CAAA;UAAA,SAAAC,IAAA,GAAAC,SAAA,CAAA7C,MAAA,EAAI8C,IAAI,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;UAAA;UAAA,OAAYvE,KAAK,CAACkE,OAAO,GAAG,GAAGG,IAAI,CAAC;QAAA;QACrDG,OAAO,EAAGC,YAAiB,IAAK;UAC9B,OAAAtG,YAAA,QAAAC,WAAA;YAAA,SAEW,CAAC,GAAGO,YAAY,SAAS;UAAC,GAC7Bf,UAAU,CAAC;YAAE,SAAS,EAAE6G,YAAY,CAACC;UAAO,CAAC,CAAC;YAAA,OAC7CxE;UAAM,KAET,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAcyE,GAAG,CAAE7D,EAAE,IAAK;YACzC,MAAM8D,UAAU,GAAG5G,KAAK,CAACsC,KAAK,EAAEQ,EAAE,CAAC;YACnC,OACE,CAAE,CAAC9B,KAAK,CAACK,MAAM,IAAIyB,EAAE,GAAG,CAAC,IAAK9B,KAAK,CAACK,MAAM,KAAK,CAAAlB,YAAA;cAAA,SACjC,CAAC,GAAGQ,YAAY,QAAQ;YAAC,IAAAR,YAAA;cAAA,OAE3B0G,EAAE,IAAKzE,MAAM,CAACO,KAAK,CAACiB,IAAI,CAACiD,EAAE,CAAC;cAAA,MAC9B,GAAGJ,YAAY,CAACC,MAAM,WAAW5D,EAAE,EAAE;cAAA,SAClC8D,UAAU,CAACjE,KAAK;cAAA,SAChB,CAAC,GAAGhC,YAAY,cAAc,CAAC;cAAA,YAC5BK,KAAK,CAAC8F,QAAQ,IAAI9F,KAAK,CAAC+F,OAAO;cAAA,YAC/B/F,KAAK,CAACgG,QAAQ;cAAA;cAAA,aAEblE,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;cAAA,WACjBmE,MAAM,IAAKpE,OAAO,CAACC,EAAE,EAAEmE,MAAM,CAAC;cAAA,WAC9BA,MAAM,IAAKvD,OAAO,CAACZ,EAAE,EAAEmE,MAAM,CAAC;cAAA,UAC/BA,MAAM,IAAKpD,MAAM,CAACf,EAAE,EAAEmE,MAAM,CAAC;cAAA,YAC3BA,MAAM,IAAK/C,QAAQ,CAACpB,EAAE,EAAEmE,MAAM,CAAC;cAAA,aAC9BA,MAAM,IAAK9C,SAAS,CAACrB,EAAE,EAAEmE,MAAM,CAAC;cAAA,WAClCA,MAAM,IAAKtC,OAAO,CAAC7B,EAAE,EAAEmE,MAAM,CAAC;cAAA,WAC/B7B;YAAO,YAGpBtC,EAAE,KAAK,CAAC,KACJ,CAAC9B,KAAK,CAACK,MAAM,IAAIyB,EAAE,GAAG,CAAC,IAAK9B,KAAK,CAACK,MAAM,CAAC,IAAAlB,YAAA;cAAA,SAC7B,CAAC,GAAGQ,YAAY,QAAQ;YAAC,IAClCmC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,EAEtB,CACJ;UAEL,CAAC,CAAC;QAGR,CAAC;QACDoE,QAAQ,EAAE,SAAAA,CAAA;UAAA,SAAAC,KAAA,GAAAf,SAAA,CAAA7C,MAAA,EAAI8C,IAAI,OAAAC,KAAA,CAAAa,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;YAAJf,IAAI,CAAAe,KAAA,IAAAhB,SAAA,CAAAgB,KAAA;UAAA;UAAA,OAAYpF,KAAK,CAACkF,QAAQ,GAAG,GAAGb,IAAI,CAAC;QAAA;QACvDgB,KAAK,EAAErF,KAAK,CAACqF,KAAK,KAAK,MAAMrF,KAAK,CAACqF,KAAK,GAAG,CAAC,CAAC;QAC7C,aAAa,EACXrF,KAAK,CAAC,aAAa,CAAC,KAAK,MAAMA,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;MAAC;IAIlE,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/ip-field/index.ts"],"sourcesContent":["export * from './YIpv4Field';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/ip-field/index.ts"],"sourcesContent":["export * from './YIpv4Field';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Teleport, Transition, computed, getCurrentInstance, mergeProps, reactive, ref, shallowRef, toRef } from 'vue';
|
|
1
|
+
import { computed, getCurrentInstance, mergeProps, reactive, ref, shallowRef, Teleport, toRef, Transition, Fragment as _Fragment, createVNode as _createVNode, vShow as _vShow, resolveDirective as _resolveDirective, mergeProps as _mergeProps, withDirectives as _withDirectives } from 'vue';
|
|
3
2
|
import { useModelDuplex } from "../../composables/communication.js";
|
|
4
3
|
import { useRender } from "../../composables/component.js";
|
|
5
4
|
import { pressCoordinateProps, useCoordinate } from "../../composables/coordinate/index.js";
|
|
@@ -14,6 +13,7 @@ import { pressBasePropsOptions, useBase } from "./base.js";
|
|
|
14
13
|
import { pressContentPropsOptions, useContent } from "./content.js";
|
|
15
14
|
import { pressScrollStrategyProps, useScrollStrategies } from "./scroll-strategies.js";
|
|
16
15
|
import "./YLayer.scss";
|
|
16
|
+
import { noop } from "../../util/index.js";
|
|
17
17
|
export const pressYLayerProps = propsFactory({
|
|
18
18
|
modelValue: {
|
|
19
19
|
type: Boolean
|
|
@@ -176,7 +176,6 @@ export const YLayer = defineComponent({
|
|
|
176
176
|
function closeConditional() {
|
|
177
177
|
return (!props.openOnHover || props.openOnHover && !hovered.value) && active.value && finish.value; // TODO: && groupTopLevel.value;
|
|
178
178
|
}
|
|
179
|
-
|
|
180
179
|
const complementClickOption = reactive({
|
|
181
180
|
handler: onClickComplementLayer,
|
|
182
181
|
determine: closeConditional,
|
|
@@ -276,6 +275,8 @@ export const YLayer = defineComponent({
|
|
|
276
275
|
'--y-layer-scrim-opacity': props.scrimOpacity
|
|
277
276
|
},
|
|
278
277
|
"onClick": onClickScrim,
|
|
278
|
+
"onKeydown": noop(),
|
|
279
|
+
"onKeyup": noop(),
|
|
279
280
|
"ref": "scrim$"
|
|
280
281
|
}, null)]
|
|
281
282
|
}), _createVNode(PolyTransition, _mergeProps({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YLayer.js","names":["Teleport","Transition","computed","getCurrentInstance","mergeProps","reactive","ref","shallowRef","toRef","useModelDuplex","useRender","pressCoordinateProps","useCoordinate","pressDimensionPropsOptions","useDimension","useLayerGroup","pressThemePropsOptions","useLocalTheme","useLazy","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","ComplementClick","bindClasses","defineComponent","propsFactory","pressBasePropsOptions","useBase","pressContentPropsOptions","useContent","pressScrollStrategyProps","useScrollStrategies","pressYLayerProps","modelValue","type","Boolean","scrim","scrimOpacity","Number","eager","classes","Array","String","Object","contentClasses","closeClickScrim","contentStyles","default","disabled","maximized","openOnHover","openDelay","closeDelay","zIndex","contained","layerGroup","YLayer","name","inheritAttrs","components","directives","props","modal","emits","value","mouseEvent","afterLeave","slots","setup","_ref","emit","expose","attrs","vm","scrim$","content$","root$","model","active","get","set","v","base","base$","baseEl","baseSlot","baseFromSlotEl","contentEvents","themeClasses","layerGroupState","getActiveLayers","polyTransitionBindProps","dimensionStyles","lazyValue","onAfterUpdate","finish","hovered","focused","rendered","coordinateStyles","updateCoordinate","contentEl","root","onClickComplementLayer","target","closeConditional","complementClickOption","handler","determine","include","onAfterEnter","onAfterLeave","onClickScrim","onMouseenter","event","onMouseleave","computedStyle","toString","computedClass","boundClasses","computedContentClasses","isMe","vnode","slotBase","class","baseProps","_createVNode","_Fragment","_mergeProps","_withDirectives","_vShow","_resolveDirective"],"sources":["../../../src/components/layer/YLayer.tsx"],"sourcesContent":["import type {\r\n CSSProperties,\r\n ComponentInternalInstance,\r\n PropType,\r\n SlotsType,\r\n} from 'vue';\r\nimport {\r\n Teleport,\r\n Transition,\r\n computed,\r\n getCurrentInstance,\r\n mergeProps,\r\n reactive,\r\n ref,\r\n shallowRef,\r\n toRef,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { pressCoordinateProps, useCoordinate } from '@/composables/coordinate';\r\nimport {\r\n pressDimensionPropsOptions,\r\n useDimension,\r\n} from '@/composables/dimension';\r\nimport { useLayerGroup } from '@/composables/layer-group';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport { useLazy } from '@/composables/timing';\r\nimport {\r\n PolyTransition,\r\n pressPolyTransitionPropsOptions,\r\n usePolyTransition,\r\n} from '@/composables/transition';\r\nimport {\r\n ComplementClick,\r\n ComplementClickBindingOptions,\r\n} from '@/directives/complement-click';\r\nimport { bindClasses, defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport { pressBasePropsOptions, useBase } from './base';\r\nimport { pressContentPropsOptions, useContent } from './content';\r\nimport {\r\n pressScrollStrategyProps,\r\n useScrollStrategies,\r\n} from './scroll-strategies';\r\n\r\nimport './YLayer.scss';\r\n\r\nexport const pressYLayerProps = propsFactory(\r\n {\r\n modelValue: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n scrim: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n scrimOpacity: {\r\n type: Number as PropType<number>,\r\n },\r\n eager: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n classes: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n contentClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n closeClickScrim: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n contentStyles: {\r\n type: Object as PropType<CSSProperties>,\r\n default: () => {},\r\n },\r\n disabled: {\r\n type: Boolean as PropType<boolean>,\r\n default: false,\r\n },\r\n maximized: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n openOnHover: {\r\n type: Boolean as PropType<boolean>,\r\n default: false,\r\n },\r\n openDelay: {\r\n type: Number as PropType<number>,\r\n default: 200,\r\n },\r\n closeDelay: {\r\n type: Number as PropType<number>,\r\n default: 200,\r\n },\r\n zIndex: {\r\n type: [Number, String] as PropType<number | string>,\r\n default: 2000,\r\n },\r\n contained: Boolean,\r\n layerGroup: [String, Object] as PropType<string | Element>,\r\n ...pressThemePropsOptions(),\r\n ...pressPolyTransitionPropsOptions(),\r\n ...pressBasePropsOptions(),\r\n ...pressContentPropsOptions(),\r\n ...pressCoordinateProps(),\r\n ...pressScrollStrategyProps(),\r\n ...pressDimensionPropsOptions(),\r\n },\r\n 'YLayer',\r\n);\r\n\r\nexport const YLayer = defineComponent({\r\n name: 'YLayer',\r\n inheritAttrs: false,\r\n components: {\r\n PolyTransition,\r\n },\r\n directives: {\r\n ComplementClick,\r\n },\r\n props: {\r\n modal: Boolean as PropType<boolean>,\r\n ...pressYLayerProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: boolean) => true,\r\n 'click:complement': (mouseEvent: MouseEvent) => true,\r\n afterLeave: () => true,\r\n },\r\n slots: Object as SlotsType<{\r\n base: any;\r\n default: any;\r\n }>,\r\n setup(props, { emit, expose, attrs, slots }) {\r\n const vm = getCurrentInstance();\r\n const scrim$ = ref<HTMLElement>();\r\n const content$ = ref<HTMLElement>();\r\n const root$ = ref<HTMLElement>();\r\n const model = useModelDuplex(props);\r\n const active = computed({\r\n get: (): boolean => {\r\n return !!model.value;\r\n },\r\n set: (v: boolean) => {\r\n if (!(v && props.disabled)) model.value = v;\r\n },\r\n });\r\n // Frags\r\n const { base, base$, baseEl, baseSlot, baseFromSlotEl } = useBase(props);\r\n const { contentEvents } = useContent(props, active);\r\n const { themeClasses } = useLocalTheme(props);\r\n const { layerGroup, layerGroupState, getActiveLayers } = useLayerGroup(props);\r\n const { polyTransitionBindProps } = usePolyTransition(props);\r\n const { dimensionStyles } = useDimension(props);\r\n\r\n const { lazyValue, onAfterUpdate } = useLazy(toRef(props, 'eager'), active);\r\n // States\r\n const finish = shallowRef(false);\r\n const hovered = ref(false);\r\n const focused = ref(false);\r\n const disabled = toRef(props, 'disabled');\r\n const maximized = toRef(props, 'maximized');\r\n\r\n const rendered = computed<boolean>(\r\n () => !disabled.value && (lazyValue.value || active.value),\r\n );\r\n\r\n const { coordinateStyles, updateCoordinate } = useCoordinate(props, {\r\n contentEl: content$,\r\n base,\r\n active,\r\n });\r\n useScrollStrategies(props, {\r\n root: root$,\r\n contentEl: content$,\r\n active,\r\n baseEl: base,\r\n updateCoordinate,\r\n });\r\n\r\n function onClickComplementLayer(mouseEvent: MouseEvent) {\r\n emit('click:complement', mouseEvent);\r\n if (!props.modal) {\r\n if (\r\n scrim$.value !== null &&\r\n scrim$.value === mouseEvent.target &&\r\n props.closeClickScrim\r\n ) {\r\n active.value = false;\r\n }\r\n } else {\r\n // TODO: shrug ani\r\n }\r\n }\r\n\r\n function closeConditional(): boolean {\r\n return (\r\n (!props.openOnHover || (props.openOnHover && !hovered.value)) &&\r\n active.value &&\r\n finish.value\r\n ); // TODO: && groupTopLevel.value;\r\n }\r\n\r\n const complementClickOption = reactive<ComplementClickBindingOptions>({\r\n handler: onClickComplementLayer,\r\n determine: closeConditional,\r\n include: () => [baseEl.value],\r\n });\r\n\r\n function onAfterEnter() {\r\n finish.value = true;\r\n }\r\n\r\n function onAfterLeave() {\r\n onAfterUpdate();\r\n finish.value = false;\r\n emit('afterLeave');\r\n }\r\n\r\n function onClickScrim() {\r\n if (props.closeClickScrim) {\r\n active.value = false;\r\n }\r\n }\r\n\r\n function onMouseenter(event: Event) {\r\n hovered.value = true;\r\n }\r\n\r\n function onMouseleave(event: Event) {\r\n hovered.value = false;\r\n }\r\n\r\n const computedStyle = computed(() => {\r\n return {\r\n zIndex: (props.zIndex ?? '2000').toString(),\r\n };\r\n });\r\n\r\n const computedClass = computed<Record<string, boolean>>(() => {\r\n const { classes } = props;\r\n const boundClasses = bindClasses(classes);\r\n return {\r\n ...boundClasses,\r\n 'y-layer--active': !!active.value,\r\n };\r\n });\r\n\r\n const computedContentClasses = computed<Record<string, boolean>>(() => {\r\n const boundClasses = bindClasses(props.contentClasses);\r\n return {\r\n ...boundClasses,\r\n };\r\n });\r\n\r\n expose({\r\n scrim$,\r\n base$,\r\n content$: computed(() => content$.value),\r\n baseEl,\r\n active,\r\n onAfterUpdate,\r\n updateCoordinate,\r\n hovered,\r\n finish,\r\n modal: computed(() => props.modal),\r\n getActiveLayers,\r\n isMe: (vnode: ComponentInternalInstance) => {\r\n return vnode === vm;\r\n },\r\n });\r\n\r\n useRender(() => {\r\n const slotBase = slots.base?.({\r\n active: active.value,\r\n props: mergeProps({\r\n ref: base$,\r\n class: {\r\n 'y-layer-base': true,\r\n 'y-layer-base--active': active.value,\r\n },\r\n ...(props.baseProps ?? {}),\r\n }),\r\n });\r\n baseSlot.value = slotBase;\r\n return (\r\n <>\r\n {slotBase}\r\n <Teleport disabled={!layerGroup.value} to={layerGroup.value as any}>\r\n {rendered.value && (\r\n <div\r\n class={[\r\n {\r\n 'y-layer': true,\r\n 'y-layer--finish': finish.value,\r\n 'y-layer--contained': props.contained,\r\n ...computedClass.value,\r\n },\r\n themeClasses.value,\r\n ]}\r\n onMouseenter={onMouseenter}\r\n onMouseleave={onMouseleave}\r\n style={computedStyle.value}\r\n ref={root$}\r\n {...attrs}\r\n >\r\n <Transition name=\"fade\" appear>\r\n {active.value && props.scrim && (\r\n <div\r\n class=\"y-layer__scrim\"\r\n style={{ '--y-layer-scrim-opacity': props.scrimOpacity }}\r\n onClick={onClickScrim}\r\n ref=\"scrim$\"\r\n ></div>\r\n )}\r\n </Transition>\r\n <PolyTransition\r\n onAfterEnter={onAfterEnter}\r\n onAfterLeave={onAfterLeave}\r\n appear\r\n {...polyTransitionBindProps.value}\r\n >\r\n <div\r\n v-show={active.value}\r\n v-complement-click={{ ...complementClickOption }}\r\n class={{\r\n 'y-layer__content': true,\r\n ...computedContentClasses.value,\r\n }}\r\n style={[\r\n {\r\n ...dimensionStyles.value,\r\n ...coordinateStyles.value,\r\n ...props.contentStyles,\r\n },\r\n ]}\r\n {...contentEvents.value}\r\n ref={content$}\r\n >\r\n {slots.default?.({ active: active.value })}\r\n </div>\r\n </PolyTransition>\r\n </div>\r\n )}\r\n </Teleport>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n complementClickOption,\r\n layerGroup,\r\n active,\r\n finish,\r\n rendered,\r\n lazyValue,\r\n onAfterUpdate: onAfterUpdate as () => void,\r\n scrim$,\r\n content$,\r\n base$,\r\n baseEl,\r\n baseFromSlotEl,\r\n polyTransitionBindProps,\r\n coordinateStyles,\r\n layerGroupState,\r\n getActiveLayers,\r\n };\r\n },\r\n});\r\n\r\nexport type YLayer = InstanceType<typeof YLayer>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YLayer.js","names":["computed","getCurrentInstance","mergeProps","reactive","ref","shallowRef","Teleport","toRef","Transition","Fragment","_Fragment","createVNode","_createVNode","vShow","_vShow","resolveDirective","_resolveDirective","_mergeProps","withDirectives","_withDirectives","useModelDuplex","useRender","pressCoordinateProps","useCoordinate","pressDimensionPropsOptions","useDimension","useLayerGroup","pressThemePropsOptions","useLocalTheme","useLazy","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","ComplementClick","bindClasses","defineComponent","propsFactory","pressBasePropsOptions","useBase","pressContentPropsOptions","useContent","pressScrollStrategyProps","useScrollStrategies","noop","pressYLayerProps","modelValue","type","Boolean","scrim","scrimOpacity","Number","eager","classes","Array","String","Object","contentClasses","closeClickScrim","contentStyles","default","disabled","maximized","openOnHover","openDelay","closeDelay","zIndex","contained","layerGroup","YLayer","name","inheritAttrs","components","directives","props","modal","emits","value","mouseEvent","afterLeave","slots","setup","_ref","emit","expose","attrs","vm","scrim$","content$","root$","model","active","get","set","v","base","base$","baseEl","baseSlot","baseFromSlotEl","contentEvents","themeClasses","layerGroupState","getActiveLayers","polyTransitionBindProps","dimensionStyles","lazyValue","onAfterUpdate","finish","hovered","focused","rendered","coordinateStyles","updateCoordinate","contentEl","root","onClickComplementLayer","target","closeConditional","complementClickOption","handler","determine","include","onAfterEnter","onAfterLeave","onClickScrim","onMouseenter","event","onMouseleave","computedStyle","toString","computedClass","boundClasses","computedContentClasses","isMe","vnode","slotBase","class","baseProps"],"sources":["../../../src/components/layer/YLayer.tsx"],"sourcesContent":["import type { ComponentInternalInstance, PropType, SlotsType } from 'vue';\nimport {\n computed,\n getCurrentInstance,\n mergeProps,\n reactive,\n ref,\n shallowRef,\n Teleport,\n toRef,\n Transition,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { pressCoordinateProps, useCoordinate } from '@/composables/coordinate';\nimport {\n pressDimensionPropsOptions,\n useDimension,\n} from '@/composables/dimension';\nimport { useLayerGroup } from '@/composables/layer-group';\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\nimport { useLazy } from '@/composables/timing';\nimport {\n PolyTransition,\n pressPolyTransitionPropsOptions,\n usePolyTransition,\n} from '@/composables/transition';\nimport {\n ComplementClick,\n ComplementClickBindingOptions,\n} from '@/directives/complement-click';\nimport { bindClasses, defineComponent, propsFactory } from '@/util/component';\n\nimport { pressBasePropsOptions, useBase } from './base';\nimport { pressContentPropsOptions, useContent } from './content';\nimport {\n pressScrollStrategyProps,\n useScrollStrategies,\n} from './scroll-strategies';\n\nimport './YLayer.scss';\nimport { CssProperties } from '@/types';\nimport { noop } from '@/util';\n\nexport const pressYLayerProps = propsFactory(\n {\n modelValue: {\n type: Boolean as PropType<boolean>,\n },\n scrim: {\n type: Boolean as PropType<boolean>,\n },\n scrimOpacity: {\n type: Number as PropType<number>,\n },\n eager: {\n type: Boolean as PropType<boolean>,\n },\n classes: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n contentClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n closeClickScrim: {\n type: Boolean as PropType<boolean>,\n },\n contentStyles: {\n type: Object as PropType<CssProperties>,\n default: () => {},\n },\n disabled: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n maximized: {\n type: Boolean as PropType<boolean>,\n },\n openOnHover: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n openDelay: {\n type: Number as PropType<number>,\n default: 200,\n },\n closeDelay: {\n type: Number as PropType<number>,\n default: 200,\n },\n zIndex: {\n type: [Number, String] as PropType<number | string>,\n default: 2000,\n },\n contained: Boolean,\n layerGroup: [String, Object] as PropType<string | Element>,\n ...pressThemePropsOptions(),\n ...pressPolyTransitionPropsOptions(),\n ...pressBasePropsOptions(),\n ...pressContentPropsOptions(),\n ...pressCoordinateProps(),\n ...pressScrollStrategyProps(),\n ...pressDimensionPropsOptions(),\n },\n 'YLayer',\n);\n\nexport const YLayer = defineComponent({\n name: 'YLayer',\n inheritAttrs: false,\n components: {\n PolyTransition,\n },\n directives: {\n ComplementClick,\n },\n props: {\n modal: Boolean as PropType<boolean>,\n ...pressYLayerProps(),\n },\n emits: {\n 'update:modelValue': (value: boolean) => true,\n 'click:complement': (mouseEvent: MouseEvent) => true,\n afterLeave: () => true,\n },\n slots: Object as SlotsType<{\n base: any;\n default: any;\n }>,\n setup(props, { emit, expose, attrs, slots }) {\n const vm = getCurrentInstance();\n const scrim$ = ref<HTMLElement>();\n const content$ = ref<HTMLElement>();\n const root$ = ref<HTMLElement>();\n const model = useModelDuplex(props);\n const active = computed({\n get: (): boolean => {\n return !!model.value;\n },\n set: (v: boolean) => {\n if (!(v && props.disabled)) model.value = v;\n },\n });\n // Frags\n const { base, base$, baseEl, baseSlot, baseFromSlotEl } = useBase(props);\n const { contentEvents } = useContent(props, active);\n const { themeClasses } = useLocalTheme(props);\n const { layerGroup, layerGroupState, getActiveLayers } =\n useLayerGroup(props);\n const { polyTransitionBindProps } = usePolyTransition(props);\n const { dimensionStyles } = useDimension(props);\n\n const { lazyValue, onAfterUpdate } = useLazy(toRef(props, 'eager'), active);\n // States\n const finish = shallowRef(false);\n const hovered = ref(false);\n const focused = ref(false);\n const disabled = toRef(props, 'disabled');\n const maximized = toRef(props, 'maximized');\n\n const rendered = computed<boolean>(\n () => !disabled.value && (lazyValue.value || active.value),\n );\n\n const { coordinateStyles, updateCoordinate } = useCoordinate(props, {\n contentEl: content$,\n base,\n active,\n });\n useScrollStrategies(props, {\n root: root$,\n contentEl: content$,\n active,\n baseEl: base,\n updateCoordinate,\n });\n\n function onClickComplementLayer(mouseEvent: MouseEvent) {\n emit('click:complement', mouseEvent);\n if (!props.modal) {\n if (\n scrim$.value !== null &&\n scrim$.value === mouseEvent.target &&\n props.closeClickScrim\n ) {\n active.value = false;\n }\n } else {\n // TODO: shrug ani\n }\n }\n\n function closeConditional(): boolean {\n return (\n (!props.openOnHover || (props.openOnHover && !hovered.value)) &&\n active.value &&\n finish.value\n ); // TODO: && groupTopLevel.value;\n }\n\n const complementClickOption = reactive<ComplementClickBindingOptions>({\n handler: onClickComplementLayer,\n determine: closeConditional,\n include: () => [baseEl.value],\n });\n\n function onAfterEnter() {\n finish.value = true;\n }\n\n function onAfterLeave() {\n onAfterUpdate();\n finish.value = false;\n emit('afterLeave');\n }\n\n function onClickScrim() {\n if (props.closeClickScrim) {\n active.value = false;\n }\n }\n\n function onMouseenter(event: Event) {\n hovered.value = true;\n }\n\n function onMouseleave(event: Event) {\n hovered.value = false;\n }\n\n const computedStyle = computed(() => {\n return {\n zIndex: (props.zIndex ?? '2000').toString(),\n };\n });\n\n const computedClass = computed<Record<string, boolean>>(() => {\n const { classes } = props;\n const boundClasses = bindClasses(classes);\n return {\n ...boundClasses,\n 'y-layer--active': !!active.value,\n };\n });\n\n const computedContentClasses = computed<Record<string, boolean>>(() => {\n const boundClasses = bindClasses(props.contentClasses);\n return {\n ...boundClasses,\n };\n });\n\n expose({\n scrim$,\n base$,\n content$: computed(() => content$.value),\n baseEl,\n active,\n onAfterUpdate,\n updateCoordinate,\n hovered,\n finish,\n modal: computed(() => props.modal),\n getActiveLayers,\n isMe: (vnode: ComponentInternalInstance) => {\n return vnode === vm;\n },\n });\n\n useRender(() => {\n const slotBase = slots.base?.({\n active: active.value,\n props: mergeProps({\n ref: base$,\n class: {\n 'y-layer-base': true,\n 'y-layer-base--active': active.value,\n },\n ...(props.baseProps ?? {}),\n }),\n });\n baseSlot.value = slotBase;\n return (\n <>\n {slotBase}\n <Teleport disabled={!layerGroup.value} to={layerGroup.value as any}>\n {rendered.value && (\n <div\n class={[\n {\n 'y-layer': true,\n 'y-layer--finish': finish.value,\n 'y-layer--contained': props.contained,\n ...computedClass.value,\n },\n themeClasses.value,\n ]}\n onMouseenter={onMouseenter}\n onMouseleave={onMouseleave}\n style={computedStyle.value}\n ref={root$}\n {...attrs}\n >\n <Transition name=\"fade\" appear>\n {active.value && props.scrim && (\n <div\n class=\"y-layer__scrim\"\n style={{ '--y-layer-scrim-opacity': props.scrimOpacity }}\n onClick={onClickScrim}\n onKeydown={noop()}\n onKeyup={noop()}\n ref=\"scrim$\"\n ></div>\n )}\n </Transition>\n <PolyTransition\n onAfterEnter={onAfterEnter}\n onAfterLeave={onAfterLeave}\n appear\n {...polyTransitionBindProps.value}\n >\n <div\n v-show={active.value}\n v-complement-click={{ ...complementClickOption }}\n class={{\n 'y-layer__content': true,\n ...computedContentClasses.value,\n }}\n style={[\n {\n ...dimensionStyles.value,\n ...coordinateStyles.value,\n ...props.contentStyles,\n },\n ]}\n {...contentEvents.value}\n ref={content$}\n >\n {slots.default?.({ active: active.value })}\n </div>\n </PolyTransition>\n </div>\n )}\n </Teleport>\n </>\n );\n });\n\n return {\n complementClickOption,\n layerGroup,\n active,\n finish,\n rendered,\n lazyValue,\n onAfterUpdate: onAfterUpdate as () => void,\n scrim$,\n content$,\n base$,\n baseEl,\n baseFromSlotEl,\n polyTransitionBindProps,\n coordinateStyles,\n layerGroupState,\n getActiveLayers,\n };\n },\n});\n\nexport type YLayer = InstanceType<typeof YLayer>;\n"],"mappings":"AACA,SACEA,QAAQ,EACRC,kBAAkB,EAClBC,UAAU,EACVC,QAAQ,EACRC,GAAG,EACHC,UAAU,EACVC,QAAQ,EACRC,KAAK,EACLC,UAAU,EAAAC,QAAA,IAAAC,SAAA,EAAAC,WAAA,IAAAC,YAAA,EAAAC,KAAA,IAAAC,MAAA,EAAAC,gBAAA,IAAAC,iBAAA,EAAAd,UAAA,IAAAe,WAAA,EAAAC,cAAA,IAAAC,eAAA,QACL,KAAK;AAAC,SAEJC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,oBAAoB,EAAEC,aAAa;AAAA,SAE1CC,0BAA0B,EAC1BC,YAAY;AAAA,SAELC,aAAa;AAAA,SACbC,sBAAsB,EAAEC,aAAa;AAAA,SACrCC,OAAO;AAAA,SAEdC,cAAc,EACdC,+BAA+B,EAC/BC,iBAAiB;AAAA,SAGjBC,eAAe;AAAA,SAGRC,WAAW,EAAEC,eAAe,EAAEC,YAAY;AAAA,SAE1CC,qBAAqB,EAAEC,OAAO;AAAA,SAC9BC,wBAAwB,EAAEC,UAAU;AAAA,SAE3CC,wBAAwB,EACxBC,mBAAmB;AAGrB;AAAuB,SAEdC,IAAI;AAEb,OAAO,MAAMC,gBAAgB,GAAGR,YAAY,CAC1C;EACES,UAAU,EAAE;IACVC,IAAI,EAAEC;EACR,CAAC;EACDC,KAAK,EAAE;IACLF,IAAI,EAAEC;EACR,CAAC;EACDE,YAAY,EAAE;IACZH,IAAI,EAAEI;EACR,CAAC;EACDC,KAAK,EAAE;IACLL,IAAI,EAAEC;EACR,CAAC;EACDK,OAAO,EAAE;IACPN,IAAI,EAAE,CAACO,KAAK,EAAEC,MAAM,EAAEC,MAAM;EAG9B,CAAC;EACDC,cAAc,EAAE;IACdV,IAAI,EAAE,CAACO,KAAK,EAAEC,MAAM,EAAEC,MAAM;EAG9B,CAAC;EACDE,eAAe,EAAE;IACfX,IAAI,EAAEC;EACR,CAAC;EACDW,aAAa,EAAE;IACbZ,IAAI,EAAES,MAAiC;IACvCI,OAAO,EAAEA,CAAA,KAAM,CAAC;EAClB,CAAC;EACDC,QAAQ,EAAE;IACRd,IAAI,EAAEC,OAA4B;IAClCY,OAAO,EAAE;EACX,CAAC;EACDE,SAAS,EAAE;IACTf,IAAI,EAAEC;EACR,CAAC;EACDe,WAAW,EAAE;IACXhB,IAAI,EAAEC,OAA4B;IAClCY,OAAO,EAAE;EACX,CAAC;EACDI,SAAS,EAAE;IACTjB,IAAI,EAAEI,MAA0B;IAChCS,OAAO,EAAE;EACX,CAAC;EACDK,UAAU,EAAE;IACVlB,IAAI,EAAEI,MAA0B;IAChCS,OAAO,EAAE;EACX,CAAC;EACDM,MAAM,EAAE;IACNnB,IAAI,EAAE,CAACI,MAAM,EAAEI,MAAM,CAA8B;IACnDK,OAAO,EAAE;EACX,CAAC;EACDO,SAAS,EAAEnB,OAAO;EAClBoB,UAAU,EAAE,CAACb,MAAM,EAAEC,MAAM,CAA+B;EAC1D,GAAG5B,sBAAsB,CAAC,CAAC;EAC3B,GAAGI,+BAA+B,CAAC,CAAC;EACpC,GAAGM,qBAAqB,CAAC,CAAC;EAC1B,GAAGE,wBAAwB,CAAC,CAAC;EAC7B,GAAGjB,oBAAoB,CAAC,CAAC;EACzB,GAAGmB,wBAAwB,CAAC,CAAC;EAC7B,GAAGjB,0BAA0B,CAAC;AAChC,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAM4C,MAAM,GAAGjC,eAAe,CAAC;EACpCkC,IAAI,EAAE,QAAQ;EACdC,YAAY,EAAE,KAAK;EACnBC,UAAU,EAAE;IACVzC;EACF,CAAC;EACD0C,UAAU,EAAE;IACVvC;EACF,CAAC;EACDwC,KAAK,EAAE;IACLC,KAAK,EAAE3B,OAA4B;IACnC,GAAGH,gBAAgB,CAAC;EACtB,CAAC;EACD+B,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7C,kBAAkB,EAAGC,UAAsB,IAAK,IAAI;IACpDC,UAAU,EAAEA,CAAA,KAAM;EACpB,CAAC;EACDC,KAAK,EAAExB,MAGL;EACFyB,KAAKA,CAACP,KAAK,EAAAQ,IAAA,EAAkC;IAAA,IAAhC;MAAEC,IAAI;MAAEC,MAAM;MAAEC,KAAK;MAAEL;IAAM,CAAC,GAAAE,IAAA;IACzC,MAAMI,EAAE,GAAGpF,kBAAkB,CAAC,CAAC;IAC/B,MAAMqF,MAAM,GAAGlF,GAAG,CAAc,CAAC;IACjC,MAAMmF,QAAQ,GAAGnF,GAAG,CAAc,CAAC;IACnC,MAAMoF,KAAK,GAAGpF,GAAG,CAAc,CAAC;IAChC,MAAMqF,KAAK,GAAGrE,cAAc,CAACqD,KAAK,CAAC;IACnC,MAAMiB,MAAM,GAAG1F,QAAQ,CAAC;MACtB2F,GAAG,EAAEA,CAAA,KAAe;QAClB,OAAO,CAAC,CAACF,KAAK,CAACb,KAAK;MACtB,CAAC;MACDgB,GAAG,EAAGC,CAAU,IAAK;QACnB,IAAI,EAAEA,CAAC,IAAIpB,KAAK,CAACb,QAAQ,CAAC,EAAE6B,KAAK,CAACb,KAAK,GAAGiB,CAAC;MAC7C;IACF,CAAC,CAAC;IACF;IACA,MAAM;MAAEC,IAAI;MAAEC,KAAK;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAe,CAAC,GAAG5D,OAAO,CAACmC,KAAK,CAAC;IACxE,MAAM;MAAE0B;IAAc,CAAC,GAAG3D,UAAU,CAACiC,KAAK,EAAEiB,MAAM,CAAC;IACnD,MAAM;MAAEU;IAAa,CAAC,GAAGxE,aAAa,CAAC6C,KAAK,CAAC;IAC7C,MAAM;MAAEN,UAAU;MAAEkC,eAAe;MAAEC;IAAgB,CAAC,GACpD5E,aAAa,CAAC+C,KAAK,CAAC;IACtB,MAAM;MAAE8B;IAAwB,CAAC,GAAGvE,iBAAiB,CAACyC,KAAK,CAAC;IAC5D,MAAM;MAAE+B;IAAgB,CAAC,GAAG/E,YAAY,CAACgD,KAAK,CAAC;IAE/C,MAAM;MAAEgC,SAAS;MAAEC;IAAc,CAAC,GAAG7E,OAAO,CAACtB,KAAK,CAACkE,KAAK,EAAE,OAAO,CAAC,EAAEiB,MAAM,CAAC;IAC3E;IACA,MAAMiB,MAAM,GAAGtG,UAAU,CAAC,KAAK,CAAC;IAChC,MAAMuG,OAAO,GAAGxG,GAAG,CAAC,KAAK,CAAC;IAC1B,MAAMyG,OAAO,GAAGzG,GAAG,CAAC,KAAK,CAAC;IAC1B,MAAMwD,QAAQ,GAAGrD,KAAK,CAACkE,KAAK,EAAE,UAAU,CAAC;IACzC,MAAMZ,SAAS,GAAGtD,KAAK,CAACkE,KAAK,EAAE,WAAW,CAAC;IAE3C,MAAMqC,QAAQ,GAAG9G,QAAQ,CACvB,MAAM,CAAC4D,QAAQ,CAACgB,KAAK,KAAK6B,SAAS,CAAC7B,KAAK,IAAIc,MAAM,CAACd,KAAK,CAC3D,CAAC;IAED,MAAM;MAAEmC,gBAAgB;MAAEC;IAAiB,CAAC,GAAGzF,aAAa,CAACkD,KAAK,EAAE;MAClEwC,SAAS,EAAE1B,QAAQ;MACnBO,IAAI;MACJJ;IACF,CAAC,CAAC;IACFhD,mBAAmB,CAAC+B,KAAK,EAAE;MACzByC,IAAI,EAAE1B,KAAK;MACXyB,SAAS,EAAE1B,QAAQ;MACnBG,MAAM;MACNM,MAAM,EAAEF,IAAI;MACZkB;IACF,CAAC,CAAC;IAEF,SAASG,sBAAsBA,CAACtC,UAAsB,EAAE;MACtDK,IAAI,CAAC,kBAAkB,EAAEL,UAAU,CAAC;MACpC,IAAI,CAACJ,KAAK,CAACC,KAAK,EAAE;QAChB,IACEY,MAAM,CAACV,KAAK,KAAK,IAAI,IACrBU,MAAM,CAACV,KAAK,KAAKC,UAAU,CAACuC,MAAM,IAClC3C,KAAK,CAAChB,eAAe,EACrB;UACAiC,MAAM,CAACd,KAAK,GAAG,KAAK;QACtB;MACF,CAAC,MAAM;QACL;MAAA;IAEJ;IAEA,SAASyC,gBAAgBA,CAAA,EAAY;MACnC,OACE,CAAC,CAAC5C,KAAK,CAACX,WAAW,IAAKW,KAAK,CAACX,WAAW,IAAI,CAAC8C,OAAO,CAAChC,KAAM,KAC5Dc,MAAM,CAACd,KAAK,IACZ+B,MAAM,CAAC/B,KAAK,CACZ,CAAC;IACL;IAEA,MAAM0C,qBAAqB,GAAGnH,QAAQ,CAAgC;MACpEoH,OAAO,EAAEJ,sBAAsB;MAC/BK,SAAS,EAAEH,gBAAgB;MAC3BI,OAAO,EAAEA,CAAA,KAAM,CAACzB,MAAM,CAACpB,KAAK;IAC9B,CAAC,CAAC;IAEF,SAAS8C,YAAYA,CAAA,EAAG;MACtBf,MAAM,CAAC/B,KAAK,GAAG,IAAI;IACrB;IAEA,SAAS+C,YAAYA,CAAA,EAAG;MACtBjB,aAAa,CAAC,CAAC;MACfC,MAAM,CAAC/B,KAAK,GAAG,KAAK;MACpBM,IAAI,CAAC,YAAY,CAAC;IACpB;IAEA,SAAS0C,YAAYA,CAAA,EAAG;MACtB,IAAInD,KAAK,CAAChB,eAAe,EAAE;QACzBiC,MAAM,CAACd,KAAK,GAAG,KAAK;MACtB;IACF;IAEA,SAASiD,YAAYA,CAACC,KAAY,EAAE;MAClClB,OAAO,CAAChC,KAAK,GAAG,IAAI;IACtB;IAEA,SAASmD,YAAYA,CAACD,KAAY,EAAE;MAClClB,OAAO,CAAChC,KAAK,GAAG,KAAK;IACvB;IAEA,MAAMoD,aAAa,GAAGhI,QAAQ,CAAC,MAAM;MACnC,OAAO;QACLiE,MAAM,EAAE,CAACQ,KAAK,CAACR,MAAM,IAAI,MAAM,EAAEgE,QAAQ,CAAC;MAC5C,CAAC;IACH,CAAC,CAAC;IAEF,MAAMC,aAAa,GAAGlI,QAAQ,CAA0B,MAAM;MAC5D,MAAM;QAAEoD;MAAQ,CAAC,GAAGqB,KAAK;MACzB,MAAM0D,YAAY,GAAGjG,WAAW,CAACkB,OAAO,CAAC;MACzC,OAAO;QACL,GAAG+E,YAAY;QACf,iBAAiB,EAAE,CAAC,CAACzC,MAAM,CAACd;MAC9B,CAAC;IACH,CAAC,CAAC;IAEF,MAAMwD,sBAAsB,GAAGpI,QAAQ,CAA0B,MAAM;MACrE,MAAMmI,YAAY,GAAGjG,WAAW,CAACuC,KAAK,CAACjB,cAAc,CAAC;MACtD,OAAO;QACL,GAAG2E;MACL,CAAC;IACH,CAAC,CAAC;IAEFhD,MAAM,CAAC;MACLG,MAAM;MACNS,KAAK;MACLR,QAAQ,EAAEvF,QAAQ,CAAC,MAAMuF,QAAQ,CAACX,KAAK,CAAC;MACxCoB,MAAM;MACNN,MAAM;MACNgB,aAAa;MACbM,gBAAgB;MAChBJ,OAAO;MACPD,MAAM;MACNjC,KAAK,EAAE1E,QAAQ,CAAC,MAAMyE,KAAK,CAACC,KAAK,CAAC;MAClC4B,eAAe;MACf+B,IAAI,EAAGC,KAAgC,IAAK;QAC1C,OAAOA,KAAK,KAAKjD,EAAE;MACrB;IACF,CAAC,CAAC;IAEFhE,SAAS,CAAC,MAAM;MACd,MAAMkH,QAAQ,GAAGxD,KAAK,CAACe,IAAI,GAAG;QAC5BJ,MAAM,EAAEA,MAAM,CAACd,KAAK;QACpBH,KAAK,EAAEvE,UAAU,CAAC;UAChBE,GAAG,EAAE2F,KAAK;UACVyC,KAAK,EAAE;YACL,cAAc,EAAE,IAAI;YACpB,sBAAsB,EAAE9C,MAAM,CAACd;UACjC,CAAC;UACD,IAAIH,KAAK,CAACgE,SAAS,IAAI,CAAC,CAAC;QAC3B,CAAC;MACH,CAAC,CAAC;MACFxC,QAAQ,CAACrB,KAAK,GAAG2D,QAAQ;MACzB,OAAA3H,YAAA,CAAAF,SAAA,SAEK6H,QAAQ,EAAA3H,YAAA,CAAAN,QAAA;QAAA,YACW,CAAC6D,UAAU,CAACS,KAAK;QAAA,MAAMT,UAAU,CAACS;MAAK;QAAAjB,OAAA,EAAAA,CAAA,MACxDmD,QAAQ,CAAClC,KAAK,IAAAhE,YAAA,QAAAK,WAAA;UAAA,SAEJ,CACL;YACE,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE0F,MAAM,CAAC/B,KAAK;YAC/B,oBAAoB,EAAEH,KAAK,CAACP,SAAS;YACrC,GAAGgE,aAAa,CAACtD;UACnB,CAAC,EACDwB,YAAY,CAACxB,KAAK,CACnB;UAAA,gBACaiD,YAAY;UAAA,gBACZE,YAAY;UAAA,SACnBC,aAAa,CAACpD,KAAK;UAAA,OACrBY;QAAK,GACNJ,KAAK,IAAAxE,YAAA,CAAAJ,UAAA;UAAA;UAAA;QAAA;UAAAmD,OAAA,EAAAA,CAAA,MAGN+B,MAAM,CAACd,KAAK,IAAIH,KAAK,CAACzB,KAAK,IAAApC,YAAA;YAAA;YAAA,SAGjB;cAAE,yBAAyB,EAAE6D,KAAK,CAACxB;YAAa,CAAC;YAAA,WAC/C2E,YAAY;YAAA,aACVjF,IAAI,CAAC,CAAC;YAAA,WACRA,IAAI,CAAC,CAAC;YAAA;UAAA,QAGlB;QAAA,IAAA/B,YAAA,CAAAkB,cAAA,EAAAb,WAAA;UAAA,gBAGayG,YAAY;UAAA,gBACZC,YAAY;UAAA;QAAA,GAEtBpB,uBAAuB,CAAC3B,KAAK;UAAAjB,OAAA,EAAAA,CAAA,MAAAxC,eAAA,CAAAP,YAAA,QAAAK,WAAA;YAAA,SAKxB;cACL,kBAAkB,EAAE,IAAI;cACxB,GAAGmH,sBAAsB,CAACxD;YAC5B,CAAC;YAAA,SACM,CACL;cACE,GAAG4B,eAAe,CAAC5B,KAAK;cACxB,GAAGmC,gBAAgB,CAACnC,KAAK;cACzB,GAAGH,KAAK,CAACf;YACX,CAAC;UACF,GACGyC,aAAa,CAACvB,KAAK;YAAA,OAClBW;UAAQ,KAEZR,KAAK,CAACpB,OAAO,GAAG;YAAE+B,MAAM,EAAEA,MAAM,CAACd;UAAM,CAAC,CAAC,MAAA9D,MAAA,EAhBlC4E,MAAM,CAACd,KAAK,IAAA5D,iBAAA,sBACA;YAAE,GAAGsG;UAAsB,CAAC;QAAA,IAmBvD;MAAA;IAIT,CAAC,CAAC;IAEF,OAAO;MACLA,qBAAqB;MACrBnD,UAAU;MACVuB,MAAM;MACNiB,MAAM;MACNG,QAAQ;MACRL,SAAS;MACTC,aAAa,EAAEA,aAA2B;MAC1CpB,MAAM;MACNC,QAAQ;MACRQ,KAAK;MACLC,MAAM;MACNE,cAAc;MACdK,uBAAuB;MACvBQ,gBAAgB;MAChBV,eAAe;MACfC;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-delay.js","names":["useDelay","props","callback","state","clearDelay","propKey","window","clearTimeout","setDelay","timeout","resolve","setTimeout","active","generateDelay","delayTime","Promise","delay","parseInt","String","startOpenDelay","startCloseDelay"],"sources":["../../../src/components/layer/active-delay.ts"],"sourcesContent":["type DelayType = 'closeDelay' | 'openDelay';\n\nexport function useDelay(props: any, callback?: (active: boolean) => void) {\n const state: Partial<Record<DelayType, number>> = {};\n\n function clearDelay(propKey: DelayType) {\n state[propKey] && window.clearTimeout(state[propKey]);\n delete state[propKey];\n }\n\n function setDelay(propKey: DelayType, timeout: number, resolve: any) {\n state[propKey] = window.setTimeout(() => {\n const active = propKey === 'openDelay';\n callback?.(active);\n resolve(active);\n }, timeout);\n }\n\n const generateDelay = (propKey: DelayType) => () => {\n clearDelay('openDelay');\n clearDelay('closeDelay');\n const delayTime = props[propKey] ?? 0;\n return new Promise<boolean>((resolve) => {\n const delay = parseInt(String(delayTime), 10);\n setDelay(propKey, delay, resolve);\n });\n };\n\n return {\n startOpenDelay: generateDelay('openDelay'),\n startCloseDelay: generateDelay('closeDelay'),\n };\n}\n"],"mappings":"AAEA,OAAO,SAASA,QAAQA,CAACC,KAAU,EAAEC,QAAoC,EAAE;EACzE,MAAMC,KAAyC,GAAG,CAAC,CAAC;EAEpD,SAASC,UAAUA,CAACC,OAAkB,EAAE;IACtCF,KAAK,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACC,YAAY,CAACJ,KAAK,CAACE,OAAO,CAAC,CAAC;IACrD,OAAOF,KAAK,CAACE,OAAO,CAAC;EACvB;EAEA,SAASG,QAAQA,CAACH,OAAkB,EAAEI,OAAe,EAAEC,OAAY,EAAE;IACnEP,KAAK,CAACE,OAAO,CAAC,GAAGC,MAAM,CAACK,UAAU,CAAC,MAAM;MACvC,MAAMC,MAAM,GAAGP,OAAO,KAAK,WAAW;MACtCH,QAAQ,GAAGU,MAAM,CAAC;MAClBF,OAAO,CAACE,MAAM,CAAC;IACjB,CAAC,EAAEH,OAAO,CAAC;EACb;EAEA,MAAMI,aAAa,GAAIR,OAAkB,IAAK,MAAM;IAClDD,UAAU,CAAC,WAAW,CAAC;IACvBA,UAAU,CAAC,YAAY,CAAC;IACxB,MAAMU,SAAS,GAAGb,KAAK,CAACI,OAAO,CAAC,IAAI,CAAC;IACrC,OAAO,IAAIU,OAAO,CAAWL,OAAO,IAAK;MACvC,MAAMM,KAAK,GAAGC,QAAQ,CAACC,MAAM,CAACJ,SAAS,CAAC,EAAE,EAAE,CAAC;MAC7CN,QAAQ,CAACH,OAAO,EAAEW,KAAK,EAAEN,OAAO,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLS,cAAc,EAAEN,aAAa,CAAC,WAAW,CAAC;IAC1CO,eAAe,EAAEP,aAAa,CAAC,YAAY;EAC7C,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"active-delay.js","names":["useDelay","props","callback","state","clearDelay","propKey","window","clearTimeout","setDelay","timeout","resolve","setTimeout","active","generateDelay","delayTime","Promise","delay","parseInt","String","startOpenDelay","startCloseDelay"],"sources":["../../../src/components/layer/active-delay.ts"],"sourcesContent":["type DelayType = 'closeDelay' | 'openDelay';\n\nexport function useDelay(props: any, callback?: (active: boolean) => void) {\n const state: Partial<Record<DelayType, number>> = {};\n\n function clearDelay(propKey: DelayType) {\n state[propKey] && window.clearTimeout(state[propKey]);\n delete state[propKey];\n }\n\n function setDelay(propKey: DelayType, timeout: number, resolve: any) {\n state[propKey] = window.setTimeout(() => {\n const active = propKey === 'openDelay';\n callback?.(active);\n resolve(active);\n }, timeout);\n }\n\n const generateDelay = (propKey: DelayType) => () => {\n clearDelay('openDelay');\n clearDelay('closeDelay');\n const delayTime = props[propKey] ?? 0;\n return new Promise<boolean>((resolve) => {\n const delay = parseInt(String(delayTime), 10);\n setDelay(propKey, delay, resolve);\n });\n };\n\n return {\n startOpenDelay: generateDelay('openDelay'),\n startCloseDelay: generateDelay('closeDelay'),\n };\n}\n"],"mappings":"AAEA,OAAO,SAASA,QAAQA,CAACC,KAAU,EAAEC,QAAoC,EAAE;EACzE,MAAMC,KAAyC,GAAG,CAAC,CAAC;EAEpD,SAASC,UAAUA,CAACC,OAAkB,EAAE;IACtCF,KAAK,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACC,YAAY,CAACJ,KAAK,CAACE,OAAO,CAAC,CAAC;IACrD,OAAOF,KAAK,CAACE,OAAO,CAAC;EACvB;EAEA,SAASG,QAAQA,CAACH,OAAkB,EAAEI,OAAe,EAAEC,OAAY,EAAE;IACnEP,KAAK,CAACE,OAAO,CAAC,GAAGC,MAAM,CAACK,UAAU,CAAC,MAAM;MACvC,MAAMC,MAAM,GAAGP,OAAO,KAAK,WAAW;MACtCH,QAAQ,GAAGU,MAAM,CAAC;MAClBF,OAAO,CAACE,MAAM,CAAC;IACjB,CAAC,EAAEH,OAAO,CAAC;EACb;EAEA,MAAMI,aAAa,GAAIR,OAAkB,IAAK,MAAM;IAClDD,UAAU,CAAC,WAAW,CAAC;IACvBA,UAAU,CAAC,YAAY,CAAC;IACxB,MAAMU,SAAS,GAAGb,KAAK,CAACI,OAAO,CAAC,IAAI,CAAC;IACrC,OAAO,IAAIU,OAAO,CAAWL,OAAO,IAAK;MACvC,MAAMM,KAAK,GAAGC,QAAQ,CAACC,MAAM,CAACJ,SAAS,CAAC,EAAE,EAAE,CAAC;MAC7CN,QAAQ,CAACH,OAAO,EAAEW,KAAK,EAAEN,OAAO,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLS,cAAc,EAAEN,aAAa,CAAC,WAAW,CAAC;IAC1CO,eAAe,EAAEP,aAAa,CAAC,YAAY;EAC7C,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-stack.js","names":["getCurrentInstance","inject","provide","shallowRef","watch","watchPostEffect","YUYEON_ACTIVE_STACK_KEY","Symbol","for","useActiveStack","$el","active","sequential","parent","children","vm","push","instance","value","pop","index","findIndex","child","splice","clear","modal","bubble","length","neo"],"sources":["../../../src/components/layer/active-stack.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\
|
|
1
|
+
{"version":3,"file":"active-stack.js","names":["getCurrentInstance","inject","provide","shallowRef","watch","watchPostEffect","YUYEON_ACTIVE_STACK_KEY","Symbol","for","useActiveStack","$el","active","sequential","parent","children","vm","push","instance","value","pop","index","findIndex","child","splice","clear","modal","bubble","length","neo"],"sources":["../../../src/components/layer/active-stack.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\nimport {\n getCurrentInstance,\n inject,\n provide,\n shallowRef,\n watch,\n watchPostEffect,\n} from 'vue';\n\nimport { YLayer } from './YLayer';\n\nexport interface ActiveStackProvide {\n push: (instance: any) => void;\n pop: (instance?: any) => void;\n clear: () => void;\n $el: Ref<typeof YLayer | undefined>;\n}\n\nexport const YUYEON_ACTIVE_STACK_KEY: InjectionKey<ActiveStackProvide> =\n Symbol.for('yuyeon.active-stack');\n\nexport function useActiveStack(\n $el: Ref<typeof YLayer | undefined>,\n active: Ref<boolean>,\n sequential?: Ref<boolean | undefined>,\n) {\n const parent = inject(YUYEON_ACTIVE_STACK_KEY, null);\n const children = shallowRef<any[]>([]);\n const vm = getCurrentInstance();\n\n function push(instance: any) {\n children.value.push(instance);\n }\n\n function pop(instance?: any) {\n if (instance) {\n const index = children.value.findIndex((child) => child === instance);\n if (index > -1) {\n children.value.splice(index, 1);\n return;\n }\n }\n children.value.pop();\n }\n\n function clear() {\n if ($el.value?.modal) return;\n active.value = false;\n const bubble = () => {\n if (children.value.length === 0) {\n parent?.clear();\n }\n };\n if (!sequential?.value) {\n watchPostEffect(bubble);\n }\n }\n\n watch(active, (neo) => {\n if (neo) {\n parent?.push(vm);\n } else {\n parent?.pop(vm);\n }\n });\n\n provide(YUYEON_ACTIVE_STACK_KEY, {\n push,\n pop,\n clear,\n $el,\n });\n\n return {\n push,\n pop,\n parent,\n children,\n };\n}\n"],"mappings":"AACA,SACEA,kBAAkB,EAClBC,MAAM,EACNC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,eAAe,QACV,KAAK;AAWZ,OAAO,MAAMC,uBAAyD,GACpEC,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAEnC,OAAO,SAASC,cAAcA,CAC5BC,GAAmC,EACnCC,MAAoB,EACpBC,UAAqC,EACrC;EACA,MAAMC,MAAM,GAAGZ,MAAM,CAACK,uBAAuB,EAAE,IAAI,CAAC;EACpD,MAAMQ,QAAQ,GAAGX,UAAU,CAAQ,EAAE,CAAC;EACtC,MAAMY,EAAE,GAAGf,kBAAkB,CAAC,CAAC;EAE/B,SAASgB,IAAIA,CAACC,QAAa,EAAE;IAC3BH,QAAQ,CAACI,KAAK,CAACF,IAAI,CAACC,QAAQ,CAAC;EAC/B;EAEA,SAASE,GAAGA,CAACF,QAAc,EAAE;IAC3B,IAAIA,QAAQ,EAAE;MACZ,MAAMG,KAAK,GAAGN,QAAQ,CAACI,KAAK,CAACG,SAAS,CAAEC,KAAK,IAAKA,KAAK,KAAKL,QAAQ,CAAC;MACrE,IAAIG,KAAK,GAAG,CAAC,CAAC,EAAE;QACdN,QAAQ,CAACI,KAAK,CAACK,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC;QAC/B;MACF;IACF;IACAN,QAAQ,CAACI,KAAK,CAACC,GAAG,CAAC,CAAC;EACtB;EAEA,SAASK,KAAKA,CAAA,EAAG;IACf,IAAId,GAAG,CAACQ,KAAK,EAAEO,KAAK,EAAE;IACtBd,MAAM,CAACO,KAAK,GAAG,KAAK;IACpB,MAAMQ,MAAM,GAAGA,CAAA,KAAM;MACnB,IAAIZ,QAAQ,CAACI,KAAK,CAACS,MAAM,KAAK,CAAC,EAAE;QAC/Bd,MAAM,EAAEW,KAAK,CAAC,CAAC;MACjB;IACF,CAAC;IACD,IAAI,CAACZ,UAAU,EAAEM,KAAK,EAAE;MACtBb,eAAe,CAACqB,MAAM,CAAC;IACzB;EACF;EAEAtB,KAAK,CAACO,MAAM,EAAGiB,GAAG,IAAK;IACrB,IAAIA,GAAG,EAAE;MACPf,MAAM,EAAEG,IAAI,CAACD,EAAE,CAAC;IAClB,CAAC,MAAM;MACLF,MAAM,EAAEM,GAAG,CAACJ,EAAE,CAAC;IACjB;EACF,CAAC,CAAC;EAEFb,OAAO,CAACI,uBAAuB,EAAE;IAC/BU,IAAI;IACJG,GAAG;IACHK,KAAK;IACLd;EACF,CAAC,CAAC;EAEF,OAAO;IACLM,IAAI;IACJG,GAAG;IACHN,MAAM;IACNC;EACF,CAAC;AACH","ignoreList":[]}
|