yuyeon 0.3.3 → 0.3.4-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/style.css +1 -1
- package/dist/yuyeon.js +3107 -3080
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/abstract/items.js.map +1 -1
- package/lib/components/alert/YAlert.js +3 -4
- package/lib/components/alert/YAlert.js.map +1 -1
- package/lib/components/alert/index.js.map +1 -1
- package/lib/components/app/YApp.js +2 -2
- package/lib/components/app/YApp.js.map +1 -1
- package/lib/components/app/index.js.map +1 -1
- package/lib/components/badge/YBadge.js +3 -3
- package/lib/components/badge/YBadge.js.map +1 -1
- package/lib/components/badge/YBadge.scss +3 -2
- package/lib/components/badge/index.js.map +1 -1
- package/lib/components/bench/YBench.js +3 -4
- package/lib/components/bench/YBench.js.map +1 -1
- package/lib/components/bench/index.js.map +1 -1
- package/lib/components/button/YButton.js +1 -2
- package/lib/components/button/YButton.js.map +1 -1
- package/lib/components/button/index.js.map +1 -1
- package/lib/components/card/YCard.js.map +1 -1
- package/lib/components/card/YCard.scss +2 -2
- package/lib/components/card/YCardBody.js.map +1 -1
- package/lib/components/card/YCardFooter.js.map +1 -1
- package/lib/components/card/YCardHeader.js.map +1 -1
- package/lib/components/card/index.js.map +1 -1
- package/lib/components/checkbox/YCheckbox.js +1 -2
- package/lib/components/checkbox/YCheckbox.js.map +1 -1
- package/lib/components/checkbox/YInputCheckbox.js +1 -2
- package/lib/components/checkbox/YInputCheckbox.js.map +1 -1
- package/lib/components/checkbox/index.js.map +1 -1
- package/lib/components/chip/YChip.js +1 -2
- package/lib/components/chip/YChip.js.map +1 -1
- package/lib/components/chip/index.js.map +1 -1
- package/lib/components/date-picker/YDateCalendar.js +55 -53
- package/lib/components/date-picker/YDateCalendar.js.map +1 -1
- package/lib/components/date-picker/YDatePicker.js +24 -25
- package/lib/components/date-picker/YDatePicker.js.map +1 -1
- package/lib/components/date-picker/YDatePickerControl.js +19 -20
- package/lib/components/date-picker/YDatePickerControl.js.map +1 -1
- package/lib/components/date-picker/YMonthPicker.js +10 -11
- package/lib/components/date-picker/YMonthPicker.js.map +1 -1
- package/lib/components/date-picker/YYearPicker.js +11 -13
- package/lib/components/date-picker/YYearPicker.js.map +1 -1
- package/lib/components/date-picker/index.js.map +1 -1
- package/lib/components/default-provider/YDefaultProvider.js.map +1 -1
- package/lib/components/default-provider/index.js.map +1 -1
- package/lib/components/dialog/YDialog.js +32 -32
- package/lib/components/dialog/YDialog.js.map +1 -1
- package/lib/components/dialog/index.js.map +1 -1
- package/lib/components/divider/YDivider.js +5 -5
- package/lib/components/divider/YDivider.js.map +1 -1
- package/lib/components/divider/index.js.map +1 -1
- package/lib/components/draggable/YDraggable.js +10 -11
- package/lib/components/draggable/YDraggable.js.map +1 -1
- package/lib/components/draggable/index.js +2 -0
- package/lib/components/draggable/index.js.map +1 -0
- package/lib/components/dropdown/YDropdown.js +16 -17
- package/lib/components/dropdown/YDropdown.js.map +1 -1
- package/lib/components/dropdown/index.js.map +1 -1
- package/lib/components/field-input/YFieldInput.js +42 -40
- package/lib/components/field-input/YFieldInput.js.map +1 -1
- package/lib/components/field-input/index.js.map +1 -1
- package/lib/components/form/YForm.js +12 -14
- package/lib/components/form/YForm.js.map +1 -1
- package/lib/components/form/index.js.map +1 -1
- package/lib/components/hover/YHover.js +9 -8
- package/lib/components/hover/YHover.js.map +1 -1
- package/lib/components/hover/index.js.map +1 -1
- package/lib/components/icon/YIcon.js +2 -4
- package/lib/components/icon/YIcon.js.map +1 -1
- package/lib/components/icon/index.js.map +1 -1
- package/lib/components/icons/YIconCheckbox.js +7 -6
- package/lib/components/icons/YIconCheckbox.js.map +1 -1
- package/lib/components/icons/YIconClear.js +2 -1
- package/lib/components/icons/YIconClear.js.map +1 -1
- package/lib/components/icons/YIconDropdown.js +2 -1
- package/lib/components/icons/YIconDropdown.js.map +1 -1
- package/lib/components/icons/YIconExpand.js +1 -0
- package/lib/components/icons/YIconExpand.js.map +1 -1
- package/lib/components/icons/YIconPageControl.js +7 -6
- package/lib/components/icons/YIconPageControl.js.map +1 -1
- package/lib/components/icons/YIconSort.js +6 -5
- package/lib/components/icons/YIconSort.js.map +1 -1
- package/lib/components/icons/YIconSort.scss +2 -0
- package/lib/components/icons/index.js.map +1 -1
- package/lib/components/img/YImg.js +30 -31
- package/lib/components/img/YImg.js.map +1 -1
- package/lib/components/img/index.js.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/YInput.js +1 -2
- package/lib/components/input/YInput.js.map +1 -1
- package/lib/components/input/YInput.scss +10 -9
- package/lib/components/input/index.js.map +1 -1
- package/lib/components/ip-field/YIpv4Field.js +1 -2
- package/lib/components/ip-field/YIpv4Field.js.map +1 -1
- package/lib/components/ip-field/index.js.map +1 -1
- package/lib/components/layer/YLayer.js +4 -3
- package/lib/components/layer/YLayer.js.map +1 -1
- package/lib/components/layer/active-delay.js.map +1 -1
- package/lib/components/layer/active-stack.js.map +1 -1
- package/lib/components/layer/base.js.map +1 -1
- package/lib/components/layer/content.js.map +1 -1
- package/lib/components/layer/index.js.map +1 -1
- package/lib/components/layer/scroll-strategies.js.map +1 -1
- package/lib/components/list/YList.js +1 -2
- package/lib/components/list/YList.js.map +1 -1
- package/lib/components/list/YListItem.js +1 -2
- package/lib/components/list/YListItem.js.map +1 -1
- package/lib/components/list/index.js.map +1 -1
- package/lib/components/loading/YSpinnerRing.js.map +1 -1
- package/lib/components/loading/index.js.map +1 -1
- package/lib/components/menu/YMenu.js +5 -8
- package/lib/components/menu/YMenu.js.map +1 -1
- package/lib/components/menu/YMenu.scss +3 -4
- package/lib/components/menu/index.js.map +1 -1
- package/lib/components/navigation/YNavigation.js +1 -2
- package/lib/components/navigation/YNavigation.js.map +1 -1
- package/lib/components/navigation/index.js.map +1 -1
- package/lib/components/pagination/YPagination.js +1 -2
- package/lib/components/pagination/YPagination.js.map +1 -1
- package/lib/components/pagination/index.js.map +1 -1
- package/lib/components/panel/YDividePanel.js +1 -2
- package/lib/components/panel/YDividePanel.js.map +1 -1
- package/lib/components/panel/YDividePanel.scss +1 -0
- package/lib/components/panel/index.js.map +1 -1
- package/lib/components/plate/YPlate.js +3 -4
- package/lib/components/plate/YPlate.js.map +1 -1
- package/lib/components/plate/index.js.map +1 -1
- package/lib/components/progress-bar/YProgressBar.js +1 -2
- package/lib/components/progress-bar/YProgressBar.js.map +1 -1
- package/lib/components/progress-bar/index.js.map +1 -1
- package/lib/components/progress-ring/YProgressRing.js +3 -4
- package/lib/components/progress-ring/YProgressRing.js.map +1 -1
- package/lib/components/progress-ring/index.js.map +1 -1
- package/lib/components/radio/YRadio.js +58 -0
- package/lib/components/radio/YRadio.js.map +1 -0
- package/lib/components/radio/YRadio.scss +38 -0
- package/lib/components/radio/YRadioIcon.js +33 -0
- package/lib/components/radio/YRadioIcon.js.map +1 -0
- package/lib/components/radio/YRadioIcon.scss +43 -0
- package/lib/components/radio/index.js +3 -0
- package/lib/components/radio/index.js.map +1 -0
- package/lib/components/select/YSelect.js +41 -43
- package/lib/components/select/YSelect.js.map +1 -1
- package/lib/components/select/index.js.map +1 -1
- package/lib/components/slider/YSlider.js.map +1 -1
- package/lib/components/slider/index.js.map +1 -1
- package/lib/components/slider/slider.js.map +1 -1
- package/lib/components/snackbar/YSnackbar.js +6 -6
- package/lib/components/snackbar/YSnackbar.js.map +1 -1
- package/lib/components/snackbar/index.js.map +1 -1
- package/lib/components/switch/YSwitch.js +1 -2
- package/lib/components/switch/YSwitch.js.map +1 -1
- package/lib/components/switch/index.js.map +1 -1
- package/lib/components/tab/YTab.js +2 -3
- package/lib/components/tab/YTab.js.map +1 -1
- package/lib/components/tab/YTab.scss +1 -1
- package/lib/components/tab/YTabs.js +1 -2
- package/lib/components/tab/YTabs.js.map +1 -1
- package/lib/components/tab/index.js.map +1 -1
- package/lib/components/tab/shared.js.map +1 -1
- package/lib/components/tab/types.js.map +1 -1
- package/lib/components/table/YDataTable.js +8 -6
- package/lib/components/table/YDataTable.js.map +1 -1
- package/lib/components/table/YDataTableBody.js +1 -2
- package/lib/components/table/YDataTableBody.js.map +1 -1
- package/lib/components/table/YDataTableCell.js +1 -2
- package/lib/components/table/YDataTableCell.js.map +1 -1
- package/lib/components/table/YDataTableControl.js +8 -6
- package/lib/components/table/YDataTableControl.js.map +1 -1
- package/lib/components/table/YDataTableControl.scss +10 -0
- package/lib/components/table/YDataTableHead.js +1 -1
- package/lib/components/table/YDataTableHead.js.map +1 -1
- package/lib/components/table/YDataTableLayer.js +1 -2
- package/lib/components/table/YDataTableLayer.js.map +1 -1
- package/lib/components/table/YDataTableLayerRow.js +1 -2
- package/lib/components/table/YDataTableLayerRow.js.map +1 -1
- package/lib/components/table/YDataTableLayerRows.js +1 -2
- package/lib/components/table/YDataTableLayerRows.js.map +1 -1
- package/lib/components/table/YDataTableRow.js +1 -2
- package/lib/components/table/YDataTableRow.js.map +1 -1
- package/lib/components/table/YDataTableServer.js +8 -6
- package/lib/components/table/YDataTableServer.js.map +1 -1
- package/lib/components/table/YTable.js +1 -2
- package/lib/components/table/YTable.js.map +1 -1
- package/lib/components/table/composables/expand.js.map +1 -1
- package/lib/components/table/composables/header.js.map +1 -1
- package/lib/components/table/composables/items.js.map +1 -1
- package/lib/components/table/composables/measure.js +1 -1
- package/lib/components/table/composables/measure.js.map +1 -1
- package/lib/components/table/composables/options.js.map +1 -1
- package/lib/components/table/composables/pagination.js.map +1 -1
- package/lib/components/table/composables/provides.js.map +1 -1
- package/lib/components/table/composables/selection.js.map +1 -1
- package/lib/components/table/composables/sorted-items.js.map +1 -1
- package/lib/components/table/composables/sorting.js.map +1 -1
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/types/common.js.map +1 -1
- package/lib/components/table/types/header.js.map +1 -1
- package/lib/components/table/types/index.js.map +1 -1
- package/lib/components/table/types/item.js.map +1 -1
- package/lib/components/table/types/row.js.map +1 -1
- package/lib/components/text-ellipsis/YTextEllipsis.js +1 -2
- package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -1
- package/lib/components/text-ellipsis/index.js.map +1 -1
- package/lib/components/text-highlighter/YTextHighlighter.js +2 -1
- package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -1
- package/lib/components/text-highlighter/index.js.map +1 -1
- package/lib/components/text-interpolation/YTi.js +2 -2
- package/lib/components/text-interpolation/YTi.js.map +1 -1
- package/lib/components/text-interpolation/index.js.map +1 -1
- package/lib/components/textarea/YTextarea.js +1 -2
- package/lib/components/textarea/YTextarea.js.map +1 -1
- package/lib/components/textarea/index.js.map +1 -1
- package/lib/components/toggle-button/YToggleButton.js.map +1 -1
- package/lib/components/toggle-button/index.js.map +1 -1
- package/lib/components/tooltip/YTooltip.js +1 -2
- package/lib/components/tooltip/YTooltip.js.map +1 -1
- package/lib/components/tooltip/index.js.map +1 -1
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/components/transitions/index.js.map +1 -1
- package/lib/components/tree-view/YTreeView.js +1 -2
- package/lib/components/tree-view/YTreeView.js.map +1 -1
- package/lib/components/tree-view/YTreeViewNode.js +7 -4
- package/lib/components/tree-view/YTreeViewNode.js.map +1 -1
- package/lib/components/tree-view/index.js.map +1 -1
- package/lib/components/tree-view/tree-view.js.map +1 -1
- package/lib/components/tree-view/types.js.map +1 -1
- package/lib/components/tree-view/util.js.map +1 -1
- package/lib/composables/choice-link.js.map +1 -1
- package/lib/composables/choice.js.map +1 -1
- package/lib/composables/communication.js.map +1 -1
- package/lib/composables/component.js.map +1 -1
- package/lib/composables/coordinate/arrangement.js.map +1 -1
- package/lib/composables/coordinate/index.js.map +1 -1
- package/lib/composables/coordinate/levitation.js +2 -2
- package/lib/composables/coordinate/levitation.js.map +1 -1
- package/lib/composables/coordinate/types.js.map +1 -1
- package/lib/composables/coordinate/utils/point.js.map +1 -1
- package/lib/composables/date/factory.js.map +1 -1
- package/lib/composables/date/index.js.map +1 -1
- package/lib/composables/date/setting.js.map +1 -1
- package/lib/composables/date/types.js.map +1 -1
- package/lib/composables/defaults/index.js.map +1 -1
- package/lib/composables/defaults/share.js.map +1 -1
- package/lib/composables/defaults/types.js.map +1 -1
- package/lib/composables/dimension.js.map +1 -1
- package/lib/composables/focus.js.map +1 -1
- package/lib/composables/form.js +5 -5
- package/lib/composables/form.js.map +1 -1
- package/lib/composables/i18n/index.js.map +1 -1
- package/lib/composables/i18n/locale.js.map +1 -1
- package/lib/composables/i18n/rtl.js.map +1 -1
- package/lib/composables/i18n/share.js.map +1 -1
- package/lib/composables/icon.js +1 -2
- package/lib/composables/icon.js.map +1 -1
- package/lib/composables/index.js.map +1 -1
- package/lib/composables/layer-group.js.map +1 -1
- package/lib/composables/layout.js.map +1 -1
- package/lib/composables/list-items.js.map +1 -1
- package/lib/composables/progress.js.map +1 -1
- package/lib/composables/ref.js.map +1 -1
- package/lib/composables/resize-observer.js.map +1 -1
- package/lib/composables/scope.js.map +1 -1
- package/lib/composables/style-color.js +1 -2
- package/lib/composables/style-color.js.map +1 -1
- package/lib/composables/theme/factory.js.map +1 -1
- package/lib/composables/theme/helper.js.map +1 -1
- package/lib/composables/theme/index.js +8 -1
- package/lib/composables/theme/index.js.map +1 -1
- package/lib/composables/theme/setting.js.map +1 -1
- package/lib/composables/theme/types.js.map +1 -1
- package/lib/composables/timing.js.map +1 -1
- package/lib/composables/transition.js.map +1 -1
- package/lib/composables/validation.js +7 -4
- package/lib/composables/validation.js.map +1 -1
- package/lib/composables/vue-router.js.map +1 -1
- package/lib/directives/complement-click/index.js.map +1 -1
- package/lib/directives/index.js +3 -0
- package/lib/directives/index.js.map +1 -0
- package/lib/directives/plate-wave/index.js +2 -2
- package/lib/directives/plate-wave/index.js.map +1 -1
- package/lib/directives/theme-class/index.js +24 -0
- package/lib/directives/theme-class/index.js.map +1 -0
- package/lib/etc/index.js.map +1 -1
- package/lib/i18n/built-in.js.map +1 -1
- package/lib/i18n/config.js.map +1 -1
- package/lib/i18n/types.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/locales/en.js.map +1 -1
- package/lib/locales/index.js.map +1 -1
- package/lib/locales/ko.js.map +1 -1
- package/lib/mixins/di.js.map +1 -1
- package/lib/mixins/rebind-attrs.js +0 -2
- package/lib/mixins/rebind-attrs.js.map +1 -1
- package/lib/styles/_elevation.scss +0 -1
- package/lib/styles/base.scss +3 -1
- package/lib/styles/settings/_elevation.scss +12 -12
- package/lib/styles/settings/_provided.scss +23 -23
- package/lib/styles/theme/dark.scss +3 -3
- package/lib/styles/theme/index.scss +0 -1
- package/lib/styles/theme/light.scss +3 -3
- package/lib/styles/util/_mixin.scss +16 -16
- package/lib/types/index.js.map +1 -1
- package/lib/util/anchor.js.map +1 -1
- package/lib/util/array.js.map +1 -1
- package/lib/util/collection.js.map +1 -1
- package/lib/util/color/apca.js +1 -0
- package/lib/util/color/apca.js.map +1 -1
- package/lib/util/color/const.js.map +1 -1
- package/lib/util/color/contrast/contrast.js.map +1 -1
- package/lib/util/color/conversion.js.map +1 -1
- package/lib/util/color/hct/cam16.js.map +1 -1
- package/lib/util/color/hct/hct-solver.js +6 -6
- package/lib/util/color/hct/hct-solver.js.map +1 -1
- package/lib/util/color/hct/hct.js.map +1 -1
- package/lib/util/color/hct/viewing-conditions.js +6 -4
- package/lib/util/color/hct/viewing-conditions.js.map +1 -1
- package/lib/util/color/index.js +13 -13
- package/lib/util/color/index.js.map +1 -1
- package/lib/util/color/palettes/core-palette.js.map +1 -1
- package/lib/util/color/palettes/tonal-palette.js +3 -3
- package/lib/util/color/palettes/tonal-palette.js.map +1 -1
- package/lib/util/color/types.js.map +1 -1
- package/lib/util/color/utils/math-utils.js +62 -62
- package/lib/util/color/utils/math-utils.js.map +1 -1
- package/lib/util/common.js +28 -13
- package/lib/util/common.js.map +1 -1
- package/lib/util/component/component.js.map +1 -1
- package/lib/util/component/index.js.map +1 -1
- package/lib/util/component/inject-self.js.map +1 -1
- package/lib/util/component/props.js.map +1 -1
- package/lib/util/component/types.js.map +1 -1
- package/lib/util/date/adapters/yuyeon-date-adapter.js +3 -3
- package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -1
- package/lib/util/date/built-in.js +2 -0
- package/lib/util/date/built-in.js.map +1 -1
- package/lib/util/date/index.js +1 -1
- package/lib/util/date/index.js.map +1 -1
- package/lib/util/date/types.js.map +1 -1
- package/lib/util/debounce.js +1 -1
- package/lib/util/debounce.js.map +1 -1
- package/lib/util/dom.js +10 -1
- package/lib/util/dom.js.map +1 -1
- package/lib/util/environments.js.map +1 -1
- package/lib/util/frame-scheduler.js +3 -3
- package/lib/util/frame-scheduler.js.map +1 -1
- package/lib/util/index.js +11 -11
- package/lib/util/index.js.map +1 -1
- package/lib/util/reactivity.js +3 -3
- package/lib/util/reactivity.js.map +1 -1
- package/lib/util/rect.js.map +1 -1
- package/lib/util/scroll.js.map +1 -1
- package/lib/util/string.js +6 -1
- package/lib/util/string.js.map +1 -1
- package/lib/util/ui.js.map +1 -1
- package/lib/util/validation.js.map +1 -1
- package/package.json +132 -123
- package/types/abstract/items.d.ts +4 -4
- package/types/components/alert/YAlert.d.ts +2 -2
- package/types/components/badge/YBadge.d.ts +0 -3
- package/types/components/button/YButton.d.ts +3 -3
- package/types/components/checkbox/YCheckbox.d.ts +4 -4
- package/types/components/chip/YChip.d.ts +0 -3
- package/types/components/date-picker/YDateCalendar.d.ts +3 -3
- package/types/components/date-picker/YDatePickerControl.d.ts +7 -7
- package/types/components/dialog/YDialog.d.ts +108 -6480
- package/types/components/draggable/YDraggable.d.ts +6 -6
- package/types/components/draggable/index.d.ts +1 -0
- package/types/components/dropdown/YDropdown.d.ts +87 -87
- package/types/components/field-input/YFieldInput.d.ts +20 -14
- package/types/components/form/YForm.d.ts +3 -3
- package/types/components/icon/YIcon.d.ts +4 -4
- package/types/components/icons/YIconPageControl.d.ts +1 -1
- package/types/components/icons/YIconSort.d.ts +1 -1
- package/types/components/icons/index.d.ts +4 -4
- package/types/components/img/YImg.d.ts +26 -26
- package/types/components/input/YInput.d.ts +13 -13
- package/types/components/ip-field/YIpv4Field.d.ts +5 -5
- package/types/components/layer/YLayer.d.ts +55 -3240
- package/types/components/layer/scroll-strategies.d.ts +4 -4
- package/types/components/menu/YMenu.d.ts +74 -6446
- package/types/components/pagination/YPagination.d.ts +3 -3
- package/types/components/radio/YRadio.d.ts +25 -0
- package/types/components/radio/YRadioIcon.d.ts +6 -0
- package/types/components/radio/index.d.ts +2 -0
- package/types/components/select/YSelect.d.ts +178 -496
- package/types/components/slider/YSlider.d.ts +1 -1
- package/types/components/snackbar/YSnackbar.d.ts +55 -55
- package/types/components/tab/YTab.d.ts +3 -3
- package/types/components/tab/YTabs.d.ts +1 -1
- package/types/components/table/YDataTable.d.ts +33 -87
- package/types/components/table/YDataTableBody.d.ts +3 -3
- package/types/components/table/YDataTableCell.d.ts +2 -2
- package/types/components/table/YDataTableControl.d.ts +18 -6
- package/types/components/table/YDataTableLayer.d.ts +2 -2
- package/types/components/table/YDataTableRow.d.ts +1 -1
- package/types/components/table/YDataTableServer.d.ts +54 -99
- package/types/components/table/YTable.d.ts +3 -3
- package/types/components/table/composables/expand.d.ts +4 -4
- package/types/components/table/composables/header.d.ts +16 -48
- package/types/components/table/composables/items.d.ts +2 -2
- package/types/components/table/composables/pagination.d.ts +10 -10
- package/types/components/table/composables/selection.d.ts +6 -6
- package/types/components/table/composables/sorting.d.ts +8 -14
- package/types/components/table/types/item.d.ts +1 -1
- package/types/components/textarea/YTextarea.d.ts +30 -30
- package/types/components/tooltip/YTooltip.d.ts +67 -67
- package/types/components/tree-view/YTreeView.d.ts +7 -7
- package/types/components/tree-view/YTreeViewNode.d.ts +5 -5
- package/types/components/tree-view/tree-view.d.ts +2 -2
- package/types/composables/choice.d.ts +2 -2
- package/types/composables/coordinate/index.d.ts +27 -3205
- package/types/composables/dimension.d.ts +6 -6
- package/types/composables/form.d.ts +17 -27
- package/types/composables/list-items.d.ts +3 -3
- package/types/composables/style-color.d.ts +0 -1
- package/types/composables/theme/index.d.ts +1 -0
- package/types/composables/transition.d.ts +10 -10
- package/types/composables/validation.d.ts +6 -6
- package/types/composables/vue-router.d.ts +3 -3
- package/types/declares.d.ts +1 -0
- package/types/directives/index.d.ts +2 -0
- package/types/directives/plate-wave/index.d.ts +7 -1
- package/types/globals.d.ts +19 -20
- package/types/shims.d.ts +58 -52
- package/types/types/index.d.ts +3 -0
- package/types/util/anchor.d.ts +1 -1
- package/types/util/common.d.ts +3 -0
- package/types/util/component/component.d.ts +1 -2
- package/types/util/component/props.d.ts +1 -1
- package/types/util/component/types.d.ts +1 -1
- package/types/util/date/index.d.ts +1 -1
- package/types/util/dom.d.ts +2 -0
- package/types/util/index.d.ts +11 -11
- package/types/util/string.d.ts +1 -0
- /package/types/directives/{theme-class.d.ts → theme-class/index.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YSelect.js","names":["computed","mergeProps","nextTick","onMounted","ref","shallowRef","vShow","watch","withDirectives","useModelDuplex","useRender","pressCoordinateProps","useI18n","pressListItemsPropsOptions","useItems","wrapInArray","deepEqual","omit","chooseProps","defineComponent","getHtmlElement","propsFactory","getScrollParent","YCard","YFieldInput","pressYFieldInputPropsOptions","YIcon","YList","YListItem","YMenu","pressSelectPropsOptions","opened","Boolean","closeOnBlur","multiple","itemComparator","type","Function","default","defaultSelect","menuProps","Object","pressYSelectPropsOptions","maxHeight","Number","String","dropdownIcon","Array","openDelay","closeDelay","position","YSelect","name","inheritAttrs","props","emits","value","click:item","item","e","change","slots","setup","_ref","attrs","expose","emit","fieldInputRef","menuRef","listRef","cardRef","focused","items","toRefineItems","toEmitItems","t","setOut","v","emitValue","model","selections","ret","found","find","undefined","push","selected","map","selection","extraMenuProps","preventCloseBubble","isSelected","selectedItem","onMousedownDisplay","event","disabled","onKeydownDisplay","console","log","key","onBlur","requestAnimationFrame","contentEl","layer$","content$","contains","document","activeElement","onClickItem","select","setTimeout","onAfterLeave","closeCondition","target","index","findIndex","neo","slice","splice","displayText","text","join","baseEl","scrollToActiveItem","length","listEl","activeEl","querySelector","scrollEl","isSameNode","scrollTo","top","offsetTop","behavior","fieldInputProps","dropdownIconProps","_createVNode","_mergeProps","rxValue","selectionProps","raw","placeholder","internalItems","_Fragment","offset","align","origin","$event","menu","itemProps","leading","trailing","hide","_len","arguments","args","_key","label","_len2","_key2","_len3","_key3","modelValue","isArray"],"sources":["../../../src/components/select/YSelect.tsx"],"sourcesContent":["import {\n ExtractPropTypes,\n type PropType,\n type SlotsType,\n computed,\n mergeProps,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { pressCoordinateProps } from '@/composables/coordinate';\nimport { useI18n } from '@/composables/i18n';\nimport {\n ListItem,\n pressListItemsPropsOptions,\n useItems,\n} from '@/composables/list-items';\nimport { wrapInArray } from '@/util/array';\nimport { deepEqual, omit } from '@/util/common';\nimport {\n chooseProps,\n defineComponent,\n getHtmlElement,\n propsFactory,\n} from '@/util/component';\nimport { getScrollParent } from '@/util/scroll';\n\nimport { YCard } from '../card';\nimport { YFieldInput, pressYFieldInputPropsOptions } from '../field-input';\nimport { YIcon, YIconIconProp } from '../icon';\nimport { YList, YListItem } from '../list';\nimport { YMenu } from '../menu';\n\nimport './YSelect.scss';\n\nexport type ItemComparator = (\n optionsItem: any,\n valueItem: any,\n valueKey?: string,\n) => boolean;\n\nexport const pressSelectPropsOptions = propsFactory(\n {\n opened: Boolean as PropType<boolean>,\n closeOnBlur: Boolean as PropType<boolean>,\n multiple: Boolean,\n itemComparator: {\n type: Function as PropType<ItemComparator>,\n default: deepEqual,\n },\n defaultSelect: Boolean,\n menuProps: {\n type: Object as PropType<YMenu['$props']>,\n },\n ...pressListItemsPropsOptions(),\n },\n 'Select',\n);\n\nexport const pressYSelectPropsOptions = propsFactory(\n {\n maxHeight: {\n type: [Number, String],\n default: 310,\n },\n dropdownIcon: {\n type: [String, Array, Object] as PropType<YIconIconProp>,\n default: '$dropdown',\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 ...pressSelectPropsOptions(),\n ...pressYFieldInputPropsOptions(),\n ...omit(pressCoordinateProps({ position: 'bottom' as 'bottom' }), [\n 'coordinateStrategy',\n ]),\n },\n 'YSelect',\n);\n\nexport const YSelect = defineComponent<\n ReturnType<typeof pressYSelectPropsOptions>\n>({\n name: 'YSelect',\n inheritAttrs: false,\n props: {\n ...pressYSelectPropsOptions(),\n },\n emits: {\n 'update:modelValue': (value: any) => true,\n 'update:opened': (opened: boolean) => true,\n 'click:item': (item: any, e: MouseEvent) => true,\n change: (value: any) => true,\n },\n slots: Object as SlotsType<{\n base: any;\n selection: {\n displayText: string;\n placeholder: undefined | string;\n items: any[];\n internalItems: ListItem[];\n };\n leading: any;\n label: any;\n 'helper-text': any;\n menu: any;\n 'menu-prepend': any;\n 'menu-append': any;\n 'dropdown-icon': any;\n item: { item: any; selected: boolean; select: () => void };\n 'item-leading': { item: any; selected: boolean; select: () => void };\n 'item-trailing': { item: any; selected: boolean; select: () => void };\n }>,\n setup(props, { slots, attrs, expose, emit }) {\n const fieldInputRef = ref();\n const menuRef = ref<InstanceType<typeof YMenu>>();\n const listRef = ref<InstanceType<typeof YList>>();\n const cardRef = ref<any>();\n\n const opened = useModelDuplex(props, 'opened');\n const focused = shallowRef(false);\n\n const { items, toRefineItems, toEmitItems } = useItems(props);\n const { t } = useI18n();\n const setOut = (v: any) => {\n const emitValue = toEmitItems(wrapInArray(v));\n return props.multiple ? emitValue : emitValue[0] ?? null;\n };\n const model = useModelDuplex(\n props,\n 'modelValue',\n [],\n (v) => toRefineItems(v === null ? [null] : wrapInArray(v)),\n setOut,\n );\n\n const selections = computed<ListItem[]>(() => {\n const ret: ListItem<any>[] = [];\n for (const v of model.value) {\n const found = items.value.find((item) => {\n return props.itemComparator(item.value, v.value);\n });\n if (found !== undefined) {\n ret.push(found);\n }\n }\n return ret;\n });\n\n const selected = computed(() => {\n return selections.value.map((selection) => selection?.props?.value);\n });\n\n const extraMenuProps = computed(() => {\n return {\n ...props.menuProps,\n preventCloseBubble: true,\n };\n });\n\n function isSelected(item: ListItem) {\n return !!selections.value.find((selectedItem) => {\n return selectedItem?.value === item.value;\n });\n }\n\n // Field\n function onMousedownDisplay(event: MouseEvent) {\n if (props.disabled) return;\n opened.value = !opened.value;\n }\n\n function onKeydownDisplay(event: KeyboardEvent) {\n console.log(event);\n if (props.disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n opened.value = !opened.value;\n }\n }\n\n function onBlur(event: FocusEvent) {\n requestAnimationFrame(() => {\n const contentEl = (menuRef.value as any)?.layer$?.content$;\n if (contentEl?.contains(document.activeElement)) {\n return;\n }\n if (opened.value && props.closeOnBlur) {\n opened.value = false;\n }\n });\n }\n\n // Menu Contents\n function onClickItem(item: ListItem, e: MouseEvent) {\n if (item.disabled) return;\n select(item);\n if (!props.multiple) {\n setTimeout(() => {\n opened.value = false;\n }, 40);\n }\n }\n\n function onAfterLeave() {\n if (!focused.value) {\n // fieldInputRef.value?.focus();\n }\n }\n\n function closeCondition(event: MouseEvent) {\n if (event.target && (menuRef.value as any)?.layer$?.content$) {\n return (event.target as HTMLElement)?.contains(\n (menuRef.value as any)?.layer$?.content$,\n );\n }\n }\n\n function select(item: ListItem) {\n let value;\n if (props.multiple) {\n const index = selections.value.findIndex((selectedItem) => {\n return selectedItem.value === item.value;\n });\n if (index === -1) {\n value = [...model.value, item];\n } else {\n const neo = model.value.slice();\n neo.splice(index, 1);\n value = neo;\n }\n } else {\n value = [item];\n }\n model.value = value;\n emit('change', setOut(value));\n }\n\n const displayText = computed(() => {\n if (props.multiple) {\n return selections.value.map((item) => item.text).join(', ');\n }\n return selections.value?.[0]?.text ?? '';\n });\n\n const baseEl = computed(() => {\n return menuRef.value?.baseEl;\n });\n\n watch(opened, (neo) => {\n if (neo) {\n nextTick(() => {\n scrollToActiveItem();\n });\n }\n });\n\n function scrollToActiveItem() {\n if (selections.value.length === 0) {\n return;\n }\n const listEl = getHtmlElement(listRef.value);\n if (listEl) {\n const activeEl = listEl?.querySelector('.y-list-item--active') as\n | HTMLElement\n | undefined;\n const contentEl = (menuRef.value as any)?.layer$\n ?.content$ as HTMLElement;\n if (activeEl && contentEl) {\n const scrollEl = getScrollParent(activeEl);\n if (\n scrollEl &&\n (contentEl.contains(scrollEl) || contentEl.isSameNode(scrollEl))\n ) {\n scrollEl.scrollTo({ top: activeEl.offsetTop, behavior: 'smooth' });\n }\n }\n }\n }\n\n useRender(() => {\n const fieldInputProps = chooseProps(props, YFieldInput.props);\n const dropdownIconProps = chooseProps(\n typeof props.dropdownIcon === 'object' ? props.dropdownIcon : {},\n YIcon.props,\n );\n return (\n <YFieldInput\n ref={fieldInputRef}\n {...fieldInputProps}\n modelValue={model.value.map((v: any) => v.props.value).join(', ')}\n validationValue={model.rxValue}\n onMousedown:display={onMousedownDisplay}\n onKeydown:display={onKeydownDisplay}\n onBlur={onBlur}\n readonly\n class={[\n 'y-select',\n {\n 'y-select--opened': opened.value,\n 'y-select--selected': selected.value.length > 0,\n },\n ]}\n {...attrs}\n focused={focused.value}\n >\n {{\n default: () => {\n const selectionProps = {\n items: selections.value.map((item) => item.raw),\n displayText: displayText.value,\n placeholder: props.placeholder,\n internalItems: selections.value,\n };\n return (\n <>\n <div class={['y-select__selection']}>\n {slots.selection\n ? slots.selection?.(selectionProps)\n : selected.value.length > 0\n ? displayText.value\n : props.placeholder}\n </div>\n <YMenu\n ref={menuRef}\n offset={props.offset}\n position={props.position}\n align={props.align}\n origin={props.origin}\n content-classes={['y-select__content']}\n maxHeight={props.maxHeight}\n open-on-click-base={false}\n onAfterLeave={onAfterLeave}\n open-delay={props.openDelay}\n close-delay={props.closeDelay}\n closeCondition={closeCondition}\n base=\"parent\"\n {...extraMenuProps.value}\n v-model={opened.value}\n >\n {{\n default: slots.menu\n ? () => slots.menu?.()\n : () => (\n <YCard ref={cardRef}>\n {slots['menu-prepend']?.()}\n {items.value.length > 0 ? (\n <YList ref={listRef}>\n {items.value.map((item) => {\n const itemProps = {\n item,\n selected: isSelected(item),\n select: () => {\n select(item);\n },\n };\n return withDirectives(\n <YListItem\n onClick={(e) => onClickItem(item, e)}\n class={[\n {\n 'y-list-item--active':\n isSelected(item),\n },\n ]}\n disabled={item.disabled}\n >\n {{\n default: () =>\n slots.item\n ? slots.item?.(itemProps)\n : item.text,\n leading:\n slots['item-leading'] &&\n (() =>\n slots['item-leading']?.(\n itemProps,\n )),\n trailing:\n slots['item-trailing'] &&\n (() =>\n slots['item-trailing']?.(\n itemProps,\n )),\n }}\n </YListItem>,\n [[vShow, !item.hide]],\n );\n })}\n </YList>\n ) : (\n <div class=\"y-select__no-options\">\n {t('$yuyeon.noItems')}\n </div>\n )}\n {slots['menu-append']?.()}\n </YCard>\n ),\n }}\n </YMenu>\n </>\n );\n },\n leading: slots.leading\n ? (...args: any[]) => slots.leading?.(...args)\n : undefined,\n trailing: (...args: any[]) => {\n return slots['dropdown-icon'] ? (\n slots['dropdown-icon']()\n ) : (\n <YIcon\n {...mergeProps(dropdownIconProps)}\n icon={props.dropdownIcon}\n class={['y-select__icon']}\n ></YIcon>\n );\n },\n label: slots.label\n ? (...args: any[]) => slots.label?.(...args)\n : undefined,\n 'helper-text': slots['helper-text']\n ? (...args: any[]) => slots['helper-text']?.(...args)\n : undefined,\n }}\n </YFieldInput>\n );\n });\n\n onMounted(() => {\n if (\n props.defaultSelect &&\n (props.modelValue === undefined ||\n (Array.isArray(props.modelValue) && props.modelValue.length === 0)) &&\n items.value?.length\n ) {\n select(items.value[0]);\n }\n });\n\n expose({\n fieldInputRef,\n baseEl,\n opened,\n });\n\n return {\n fieldInputRef,\n model,\n selections,\n selected,\n menuRef,\n baseEl,\n opened,\n };\n },\n});\n\nexport type YSelect = InstanceType<typeof YSelect>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YSelect.js","names":["computed","mergeProps","nextTick","onMounted","ref","shallowRef","vShow","watch","withDirectives","Fragment","_Fragment","createVNode","_createVNode","_mergeProps","useModelDuplex","useRender","pressCoordinateProps","useI18n","pressListItemsPropsOptions","useItems","wrapInArray","deepEqual","omit","chooseProps","defineComponent","getHtmlElement","propsFactory","getScrollParent","YCard","pressYFieldInputPropsOptions","YFieldInput","YIcon","YList","YListItem","YMenu","pressSelectPropsOptions","opened","Boolean","closeOnBlur","multiple","itemComparator","type","Function","default","defaultSelect","menuProps","Object","pressYSelectPropsOptions","maxHeight","Number","String","dropdownIcon","Array","openDelay","closeDelay","position","YSelect","name","inheritAttrs","props","emits","update:modelValue","click:item","item","e","change","value","slots","setup","_ref","attrs","expose","emit","fieldInputRef","menuRef","listRef","cardRef","focused","items","toRefineItems","toEmitItems","t","setOut","v","emitValue","model","selections","ret","found","find","undefined","push","selected","map","selection","extraMenuProps","preventCloseBubble","isSelected","selectedItem","onMousedownDisplay","_event","disabled","onKeydownDisplay","event","key","onBlur","requestAnimationFrame","contentEl","layer$","content$","contains","document","activeElement","onClickItem","select","setTimeout","onAfterLeave","closeCondition","target","index","findIndex","neo","slice","splice","displayText","text","join","baseEl","scrollToActiveItem","length","listEl","activeEl","querySelector","scrollEl","isSameNode","scrollTo","top","offsetTop","behavior","fieldInputProps","dropdownIconProps","rxValue","selectionProps","raw","placeholder","internalItems","offset","align","origin","$event","menu","itemProps","leading","trailing","hide","_len","arguments","args","_key","label","_len2","_key2","_len3","_key3","modelValue","isArray"],"sources":["../../../src/components/select/YSelect.tsx"],"sourcesContent":["import {\n\tcomputed,\n\tmergeProps,\n\tnextTick,\n\tonMounted,\n\ttype PropType,\n\tref,\n\ttype SlotsType,\n\tshallowRef,\n\tvShow,\n\twatch,\n\twithDirectives,\n} from \"vue\";\n\nimport { useModelDuplex } from \"@/composables/communication\";\nimport { useRender } from \"@/composables/component\";\nimport { pressCoordinateProps } from \"@/composables/coordinate\";\nimport { useI18n } from \"@/composables/i18n\";\nimport {\n\ttype ListItem,\n\tpressListItemsPropsOptions,\n\tuseItems,\n} from \"@/composables/list-items\";\nimport { wrapInArray } from \"@/util/array\";\nimport { deepEqual, omit } from \"@/util/common\";\nimport {\n\tchooseProps,\n\tdefineComponent,\n\tgetHtmlElement,\n\tpropsFactory,\n} from \"@/util/component\";\nimport { getScrollParent } from \"@/util/scroll\";\n\nimport { YCard } from \"../card\";\nimport { pressYFieldInputPropsOptions, YFieldInput } from \"../field-input\";\nimport { YIcon, type YIconIconProp } from \"../icon\";\nimport { YList, YListItem } from \"../list\";\nimport { YMenu } from \"../menu\";\n\nimport \"./YSelect.scss\";\n\nexport type ItemComparator = (\n\toptionsItem: any,\n\tvalueItem: any,\n\tvalueKey?: string,\n) => boolean;\n\nexport const pressSelectPropsOptions = propsFactory(\n\t{\n\t\topened: Boolean as PropType<boolean>,\n\t\tcloseOnBlur: Boolean as PropType<boolean>,\n\t\tmultiple: Boolean,\n\t\titemComparator: {\n\t\t\ttype: Function as PropType<ItemComparator>,\n\t\t\tdefault: deepEqual,\n\t\t},\n\t\tdefaultSelect: Boolean,\n\t\tmenuProps: {\n\t\t\ttype: Object as PropType<YMenu[\"$props\"]>,\n\t\t},\n\t\t...pressListItemsPropsOptions(),\n\t},\n\t\"Select\",\n);\n\nexport const pressYSelectPropsOptions = propsFactory(\n\t{\n\t\tmaxHeight: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 310,\n\t\t},\n\t\tdropdownIcon: {\n\t\t\ttype: [String, Array, Object] as PropType<YIconIconProp>,\n\t\t\tdefault: \"$dropdown\",\n\t\t},\n\t\topenDelay: {\n\t\t\ttype: Number as PropType<number>,\n\t\t\tdefault: 200,\n\t\t},\n\t\tcloseDelay: {\n\t\t\ttype: Number as PropType<number>,\n\t\t\tdefault: 200,\n\t\t},\n\t\t...pressSelectPropsOptions(),\n\t\t...pressYFieldInputPropsOptions(),\n\t\t...omit(pressCoordinateProps({ position: \"bottom\" as \"bottom\" }), [\n\t\t\t\"coordinateStrategy\",\n\t\t]),\n\t},\n\t\"YSelect\",\n);\n\nexport const YSelect = defineComponent<\n\tReturnType<typeof pressYSelectPropsOptions>\n>({\n\tname: \"YSelect\",\n\tinheritAttrs: false,\n\tprops: {\n\t\t...pressYSelectPropsOptions(),\n\t},\n\temits: {\n\t\t\"update:modelValue\": () => true,\n\t\t\"update:opened\": (opened: boolean) => true,\n\t\t\"click:item\": (item: any, e: MouseEvent) => true,\n\t\tchange: (value: any) => true,\n\t},\n\tslots: Object as SlotsType<{\n\t\tbase: any;\n\t\tselection: {\n\t\t\tdisplayText: string;\n\t\t\tplaceholder: undefined | string;\n\t\t\titems: any[];\n\t\t\tinternalItems: ListItem[];\n\t\t};\n\t\tleading: any;\n\t\tlabel: any;\n\t\t\"helper-text\": any;\n\t\tmenu: any;\n\t\t\"menu-prepend\": any;\n\t\t\"menu-append\": any;\n\t\t\"dropdown-icon\": any;\n\t\titem: { item: any; selected: boolean; select: () => void };\n\t\t\"item-leading\": { item: any; selected: boolean; select: () => void };\n\t\t\"item-trailing\": { item: any; selected: boolean; select: () => void };\n\t}>,\n\tsetup(props, { slots, attrs, expose, emit }) {\n\t\tconst fieldInputRef = ref<InstanceType<typeof YFieldInput>>();\n\t\tconst menuRef = ref<InstanceType<typeof YMenu>>();\n\t\tconst listRef = ref<InstanceType<typeof YList>>();\n\t\tconst cardRef = ref();\n\n\t\tconst opened = useModelDuplex(props, \"opened\");\n\t\tconst focused = shallowRef(false);\n\n\t\tconst { items, toRefineItems, toEmitItems } = useItems(props);\n\t\tconst { t } = useI18n();\n\t\tconst setOut = (v: any) => {\n\t\t\tconst emitValue = toEmitItems(wrapInArray(v));\n\t\t\treturn props.multiple ? emitValue : (emitValue[0] ?? null);\n\t\t};\n\t\tconst model = useModelDuplex(\n\t\t\tprops,\n\t\t\t\"modelValue\",\n\t\t\t[],\n\t\t\t(v) => toRefineItems(v === null ? [null] : wrapInArray(v)),\n\t\t\tsetOut,\n\t\t);\n\n\t\tconst selections = computed<ListItem[]>(() => {\n\t\t\tconst ret: ListItem<any>[] = [];\n\t\t\tfor (const v of model.value) {\n\t\t\t\tconst found = items.value.find((item) => {\n\t\t\t\t\treturn props.itemComparator(item.value, v.value);\n\t\t\t\t});\n\t\t\t\tif (found !== undefined) {\n\t\t\t\t\tret.push(found);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn ret;\n\t\t});\n\n\t\tconst selected = computed(() => {\n\t\t\treturn selections.value.map((selection) => selection?.props?.value);\n\t\t});\n\n\t\tconst extraMenuProps = computed(() => {\n\t\t\treturn {\n\t\t\t\t...props.menuProps,\n\t\t\t\tpreventCloseBubble: true,\n\t\t\t};\n\t\t});\n\n\t\tfunction isSelected(item: ListItem) {\n\t\t\treturn !!selections.value.find((selectedItem) => {\n\t\t\t\treturn selectedItem?.value === item.value;\n\t\t\t});\n\t\t}\n\n\t\t// Field\n\t\tfunction onMousedownDisplay(_event: MouseEvent) {\n\t\t\tif (props.disabled) return;\n\t\t\topened.value = !opened.value;\n\t\t}\n\n\t\tfunction onKeydownDisplay(event: KeyboardEvent) {\n\t\t\tif (props.disabled) return;\n\t\t\tif (event.key === \"Enter\" || event.key === \" \") {\n\t\t\t\topened.value = !opened.value;\n\t\t\t}\n\t\t}\n\n\t\tfunction onBlur(_event: FocusEvent) {\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tconst contentEl = (menuRef.value as any)?.layer$?.content$;\n\t\t\t\tif (contentEl?.contains(document.activeElement)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (opened.value && props.closeOnBlur) {\n\t\t\t\t\topened.value = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Menu Contents\n\t\tfunction onClickItem(item: ListItem, e: MouseEvent) {\n\t\t\tif (item.disabled) return;\n\t\t\tselect(item, e);\n\t\t\tif (!props.multiple) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\topened.value = false;\n\t\t\t\t}, 40);\n\t\t\t}\n\t\t}\n\n\t\tfunction onAfterLeave() {\n\t\t\tif (!focused.value) {\n\t\t\t\t// fieldInputRef.value?.focus();\n\t\t\t}\n\t\t}\n\n\t\tfunction closeCondition(event: MouseEvent) {\n\t\t\tif (event.target && (menuRef.value as any)?.layer$?.content$) {\n\t\t\t\treturn (event.target as HTMLElement)?.contains(\n\t\t\t\t\t(menuRef.value as any)?.layer$?.content$,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tfunction select(item: ListItem, e?: Event) {\n\t\t\tlet value: any[];\n\t\t\tif (props.multiple) {\n\t\t\t\tconst index = selections.value.findIndex((selectedItem) => {\n\t\t\t\t\treturn selectedItem.value === item.value;\n\t\t\t\t});\n\t\t\t\tif (index === -1) {\n\t\t\t\t\tvalue = [...model.value, item];\n\t\t\t\t} else {\n\t\t\t\t\tconst neo = model.value.slice();\n\t\t\t\t\tneo.splice(index, 1);\n\t\t\t\t\tvalue = neo;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvalue = [item];\n\t\t\t}\n\t\t\tmodel.value = value;\n\t\t\temit(\"change\", setOut(value), e, fieldInputRef.value);\n\t\t}\n\n\t\tconst displayText = computed(() => {\n\t\t\tif (props.multiple) {\n\t\t\t\treturn selections.value.map((item) => item.text).join(\", \");\n\t\t\t}\n\t\t\treturn selections.value?.[0]?.text ?? \"\";\n\t\t});\n\n\t\tconst baseEl = computed(() => {\n\t\t\treturn menuRef.value?.baseEl;\n\t\t});\n\n\t\twatch(opened, (neo) => {\n\t\t\tif (neo) {\n\t\t\t\tnextTick(() => {\n\t\t\t\t\tscrollToActiveItem();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tfunction scrollToActiveItem() {\n\t\t\tif (selections.value.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst listEl = getHtmlElement(listRef.value);\n\t\t\tif (listEl) {\n\t\t\t\tconst activeEl = listEl?.querySelector(\".y-list-item--active\") as\n\t\t\t\t\t| HTMLElement\n\t\t\t\t\t| undefined;\n\t\t\t\tconst contentEl = (menuRef.value as any)?.layer$\n\t\t\t\t\t?.content$ as HTMLElement;\n\t\t\t\tif (activeEl && contentEl) {\n\t\t\t\t\tconst scrollEl = getScrollParent(activeEl);\n\t\t\t\t\tif (\n\t\t\t\t\t\tscrollEl &&\n\t\t\t\t\t\t(contentEl.contains(scrollEl) || contentEl.isSameNode(scrollEl))\n\t\t\t\t\t) {\n\t\t\t\t\t\tscrollEl.scrollTo({ top: activeEl.offsetTop, behavior: \"smooth\" });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tuseRender(() => {\n\t\t\tconst fieldInputProps = chooseProps(props, YFieldInput.props);\n\t\t\tconst dropdownIconProps = chooseProps(\n\t\t\t\ttypeof props.dropdownIcon === \"object\" ? props.dropdownIcon : {},\n\t\t\t\tYIcon.props,\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<YFieldInput\n\t\t\t\t\tref={fieldInputRef}\n\t\t\t\t\t{...fieldInputProps}\n\t\t\t\t\tmodelValue={model.value.map((v: any) => v.props.value).join(\", \")}\n\t\t\t\t\tvalidationValue={model.rxValue}\n\t\t\t\t\tonMousedown:display={onMousedownDisplay}\n\t\t\t\t\tonKeydown:display={onKeydownDisplay}\n\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\treadonly\n\t\t\t\t\tclass={[\n\t\t\t\t\t\t\"y-select\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"y-select--opened\": opened.value,\n\t\t\t\t\t\t\t\"y-select--selected\": selected.value.length > 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t\t{...attrs}\n\t\t\t\t\tfocused={focused.value}\n\t\t\t\t>\n\t\t\t\t\t{{\n\t\t\t\t\t\tdefault: () => {\n\t\t\t\t\t\t\tconst selectionProps = {\n\t\t\t\t\t\t\t\titems: selections.value.map((item) => item.raw),\n\t\t\t\t\t\t\t\tdisplayText: displayText.value,\n\t\t\t\t\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\t\t\t\t\tinternalItems: selections.value,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<div class={[\"y-select__selection\"]}>\n\t\t\t\t\t\t\t\t\t\t{slots.selection\n\t\t\t\t\t\t\t\t\t\t\t? slots.selection?.(selectionProps)\n\t\t\t\t\t\t\t\t\t\t\t: selected.value.length > 0\n\t\t\t\t\t\t\t\t\t\t\t\t? displayText.value\n\t\t\t\t\t\t\t\t\t\t\t\t: props.placeholder}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<YMenu\n\t\t\t\t\t\t\t\t\t\tref={menuRef}\n\t\t\t\t\t\t\t\t\t\toffset={props.offset}\n\t\t\t\t\t\t\t\t\t\tposition={props.position}\n\t\t\t\t\t\t\t\t\t\talign={props.align}\n\t\t\t\t\t\t\t\t\t\torigin={props.origin}\n\t\t\t\t\t\t\t\t\t\tcontent-classes={[\"y-select__content\"]}\n\t\t\t\t\t\t\t\t\t\tmaxHeight={props.maxHeight}\n\t\t\t\t\t\t\t\t\t\topen-on-click-base={false}\n\t\t\t\t\t\t\t\t\t\tonAfterLeave={onAfterLeave}\n\t\t\t\t\t\t\t\t\t\topen-delay={props.openDelay}\n\t\t\t\t\t\t\t\t\t\tclose-delay={props.closeDelay}\n\t\t\t\t\t\t\t\t\t\tcloseCondition={closeCondition}\n\t\t\t\t\t\t\t\t\t\tbase=\"parent\"\n\t\t\t\t\t\t\t\t\t\t{...extraMenuProps.value}\n\t\t\t\t\t\t\t\t\t\tv-model={opened.value}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\tdefault: slots.menu\n\t\t\t\t\t\t\t\t\t\t\t\t? () => slots.menu?.()\n\t\t\t\t\t\t\t\t\t\t\t\t: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<YCard ref={cardRef}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{slots[\"menu-prepend\"]?.()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(items.value?.length ?? 0) > 0 ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<YList ref={listRef}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{items.value.map((item) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst itemProps = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected: isSelected(item),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselect: (e?: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselect(item, e);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn withDirectives(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<YListItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => onClickItem(item, e)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"y-list-item--active\":\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected(item),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots.item\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? slots.item?.(itemProps)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: item.text,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tleading:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[\"item-leading\"] &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[\"item-leading\"]?.(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemProps,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrailing:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[\"item-trailing\"] &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[\"item-trailing\"]?.(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemProps,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</YListItem>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[[vShow, !item.hide]],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</YList>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"y-select__no-options\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"$yuyeon.noItems\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{slots[\"menu-append\"]?.()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</YCard>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t</YMenu>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tleading: slots.leading\n\t\t\t\t\t\t\t? (...args: any[]) => slots.leading?.(...args)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\ttrailing: (...args: any[]) => {\n\t\t\t\t\t\t\treturn slots[\"dropdown-icon\"] ? (\n\t\t\t\t\t\t\t\tslots[\"dropdown-icon\"]()\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<YIcon\n\t\t\t\t\t\t\t\t\t{...mergeProps(dropdownIconProps)}\n\t\t\t\t\t\t\t\t\ticon={props.dropdownIcon}\n\t\t\t\t\t\t\t\t\tclass={[\"y-select__icon\"]}\n\t\t\t\t\t\t\t\t></YIcon>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabel: slots.label\n\t\t\t\t\t\t\t? (...args: any[]) => slots.label?.(...args)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\"helper-text\": slots[\"helper-text\"]\n\t\t\t\t\t\t\t? (...args: any[]) => slots[\"helper-text\"]?.(...args)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t}}\n\t\t\t\t</YFieldInput>\n\t\t\t);\n\t\t});\n\n\t\tonMounted(() => {\n\t\t\tif (\n\t\t\t\tprops.defaultSelect &&\n\t\t\t\t(props.modelValue === undefined ||\n\t\t\t\t\t(Array.isArray(props.modelValue) && props.modelValue.length === 0)) &&\n\t\t\t\titems.value?.length\n\t\t\t) {\n\t\t\t\tselect(items.value[0]);\n\t\t\t}\n\t\t});\n\n\t\texpose({\n\t\t\tfieldInputRef,\n\t\t\tbaseEl,\n\t\t\topened,\n\t\t});\n\n\t\treturn {\n\t\t\tfieldInputRef,\n\t\t\tmodel,\n\t\t\tselections,\n\t\t\tselected,\n\t\t\tmenuRef,\n\t\t\tbaseEl,\n\t\t\topened,\n\t\t};\n\t},\n});\n\nexport type YSelect = InstanceType<typeof YSelect>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["export * from './YSelect';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["export * from './YSelect';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YSlider.js","names":["useRender","defineComponent","propsFactory","pressYSliderPropsOptions","modelValue","Number","YSlider","name","props","emits","update:modelValue","setup","_ref","slots","_createVNode"],"sources":["../../../src/components/slider/YSlider.tsx"],"sourcesContent":["import { PropType } from 'vue';\
|
|
1
|
+
{"version":3,"file":"YSlider.js","names":["useRender","defineComponent","propsFactory","pressYSliderPropsOptions","modelValue","Number","YSlider","name","props","emits","update:modelValue","setup","_ref","slots","_createVNode"],"sources":["../../../src/components/slider/YSlider.tsx"],"sourcesContent":["import { PropType } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent } from '@/util/component/component';\nimport { propsFactory } from '@/util/component/props';\n\nimport './YSlider.scss';\n\nexport const pressYSliderPropsOptions = propsFactory(\n {\n modelValue: Number as PropType<number>,\n },\n 'YSlider',\n);\n\nexport const YSlider = defineComponent({\n name: 'YSlider',\n props: {\n ...pressYSliderPropsOptions(),\n },\n emits: {\n 'update:modelValue': () => true,\n },\n setup(props, { slots }) {\n useRender(() => <div class={['y-slider']}></div>);\n\n return {};\n },\n});\n\nexport type YSlider = InstanceType<typeof YSlider>;\n"],"mappings":";SAESA,SAAS;AAAA,SACTC,eAAe;AAAA,SACfC,YAAY;AAErB;AAEA,OAAO,MAAMC,wBAAwB,GAAGD,YAAY,CAClD;EACEE,UAAU,EAAEC;AACd,CAAC,EACD,SACF,CAAC;AAED,OAAO,MAAMC,OAAO,GAAGL,eAAe,CAAC;EACrCM,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE;IACL,GAAGL,wBAAwB,CAAC;EAC9B,CAAC;EACDM,KAAK,EAAE;IACL,mBAAmB,EAAEC,CAAA,KAAM;EAC7B,CAAC;EACDC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpBZ,SAAS,CAAC,MAAAc,YAAA;MAAA,SAAkB,CAAC,UAAU;IAAC,QAAQ,CAAC;IAEjD,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/slider/index.ts"],"sourcesContent":["export * from './YSlider';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/slider/index.ts"],"sourcesContent":["export * from './YSlider';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","names":[],"sources":["../../../src/components/slider/slider.ts"],"sourcesContent":[""],"mappings":""}
|
|
1
|
+
{"version":3,"file":"slider.js","names":[],"sources":["../../../src/components/slider/slider.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
|
2
2
|
import { animate } from 'motion';
|
|
3
3
|
import { computed, ref, toRef, watch, withModifiers } from 'vue';
|
|
4
4
|
import { useModelDuplex } from "../../composables/communication.js";
|
|
@@ -53,11 +53,11 @@ export const pressYSnackbarPropsOptions = propsFactory({
|
|
|
53
53
|
...defaultSnackbarTransition
|
|
54
54
|
})
|
|
55
55
|
},
|
|
56
|
-
/**
|
|
57
|
-
* @property Number
|
|
58
|
-
*
|
|
59
|
-
* The amount of time the snackbar should be displayed.
|
|
60
|
-
* @default 4000
|
|
56
|
+
/**
|
|
57
|
+
* @property Number
|
|
58
|
+
*
|
|
59
|
+
* The amount of time the snackbar should be displayed.
|
|
60
|
+
* @default 4000
|
|
61
61
|
*/
|
|
62
62
|
duration: {
|
|
63
63
|
type: Number,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YSnackbar.js","names":["animate","computed","ref","toRef","watch","withModifiers","useModelDuplex","useRender","useTimer","omit","bindClasses","chooseProps","defineComponent","propsFactory","YLayer","pressYLayerProps","YPlate","defaultSnackbarTransition","name","onBeforeEnter","direction","el","getAttribute","cache","style","getPropertyValue","setAttribute","setProperty","onEnter","done","motion","transform","replace","duration","finished","then","removeAttribute","pressYSnackbarPropsOptions","scrollStrategy","position","modelValue","type","Boolean","contentClasses","Array","String","Object","transition","default","Number","closeClickContent","YSnackbar","components","emits","props","setup","_ref","emit","slots","active","hover","classes","computedContentClasses","boundClasses","computedInset","first","second","split","y","x","ret","dismiss","value","start","stop","reset","setTimer","neo","isNaN","immediate","onClickContent","event","proxyTransition","includes","_createVNode","_mergeProps","v","_Fragment","onMouseenter","onMouseleave"],"sources":["../../../src/components/snackbar/YSnackbar.tsx"],"sourcesContent":["import { animate } from 'motion';\r\nimport { type PropType, computed, ref, toRef, watch, withModifiers } from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { useTimer } from '@/composables/timing';\r\nimport { omit } from '@/util/common';\r\nimport {\r\n bindClasses,\r\n chooseProps,\r\n defineComponent,\r\n propsFactory,\r\n} from '@/util/component';\r\n\r\nimport { YLayer, pressYLayerProps } from '../layer';\r\nimport { YPlate } from '../plate';\r\n\r\nimport './YSnackbar.scss';\r\n\r\nconst defaultSnackbarTransition = {\r\n name: 'y-snackbar',\r\n onBeforeEnter: (direction: 'top' | 'bottom') => (el: HTMLElement) => {\r\n if (!el.getAttribute('data-transform')) {\r\n const cache = el.style.getPropertyValue('transform');\r\n el.setAttribute('data-transform', cache);\r\n el.style.setProperty(\r\n 'transform',\r\n `${cache} translateY(${direction === 'top' ? '-' : ''}40px)`,\r\n );\r\n }\r\n },\r\n onEnter(el: HTMLElement, done: () => void) {\r\n const cache = el.getAttribute('data-transform');\r\n const motion = el.getAttribute('data-motion');\r\n if (motion || !cache) {\r\n return;\r\n }\r\n el.setAttribute('data-motion', 'true');\r\n animate(\r\n el,\r\n {\r\n transform: `${cache.replace(/translateY(.+)/, 'translateY(0)')}`,\r\n },\r\n { duration: 0.1 },\r\n ).finished.then(() => {\r\n el.removeAttribute('data-transform');\r\n el.removeAttribute('data-motion');\r\n done();\r\n });\r\n },\r\n};\r\n\r\nexport const pressYSnackbarPropsOptions = propsFactory(\r\n {\r\n ...pressYLayerProps({\r\n scrollStrategy: 'none' as const,\r\n position: 'top center',\r\n }),\r\n modelValue: {\r\n type: Boolean as PropType<boolean>,\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 transition: {\r\n type: [String, Object] as PropType<string | any>,\r\n default: () => ({ ...defaultSnackbarTransition }),\r\n },\r\n /**\r\n * @property Number\r\n *\r\n * The amount of time the snackbar should be displayed.\r\n * @default 4000\r\n */\r\n duration: {\r\n type: Number as PropType<number>,\r\n default: 4000,\r\n },\r\n closeClickContent: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n 'YSnackbar',\r\n);\r\n\r\nexport const YSnackbar = defineComponent({\r\n name: 'YSnackbar',\r\n components: { YPlate, YLayer },\r\n emits: ['update:modelValue', 'click'],\r\n props: {\r\n ...pressYSnackbarPropsOptions(),\r\n },\r\n setup(props, { emit, slots }) {\r\n const active = useModelDuplex(props);\r\n const hover = ref(false);\r\n const duration = toRef(props, 'duration');\r\n\r\n const classes = computed(() => {\r\n return {\r\n 'y-snackbar': true,\r\n };\r\n });\r\n\r\n const computedContentClasses = computed<Record<string, boolean>>(() => {\r\n const boundClasses = bindClasses(props.contentClasses);\r\n return {\r\n ...boundClasses,\r\n 'y-snackbar__display': true,\r\n };\r\n });\r\n\r\n const computedInset = computed(() => {\r\n const [first, second] = props.position?.split(' ');\r\n let y = 'top';\r\n let x = 'left';\r\n if (second) {\r\n x = second;\r\n y = first;\r\n } else if (first === 'bottom') {\r\n y = 'bottom';\r\n } else {\r\n x = first;\r\n }\r\n const ret = {\r\n [x === 'center' ? 'left' : x]: x === 'center' ? `50%` : 0,\r\n [y]: 0,\r\n } as any;\r\n if (x === 'center') {\r\n ret.transform = 'translateX(-50%)';\r\n }\r\n return ret;\r\n });\r\n\r\n function dismiss() {\r\n active.value = false;\r\n }\r\n\r\n const { start, stop, reset } = useTimer(dismiss, duration);\r\n function setTimer() {\r\n if (props.duration > 0) {\r\n start();\r\n }\r\n }\r\n\r\n watch(hover, (neo: boolean) => {\r\n if (neo) {\r\n stop();\r\n } else {\r\n setTimer();\r\n }\r\n });\r\n\r\n watch(\r\n () => props.duration,\r\n (neo) => {\r\n if (!isNaN(neo) && active.value) {\r\n reset();\r\n if (!hover.value) {\r\n setTimer();\r\n }\r\n }\r\n },\r\n );\r\n\r\n watch(\r\n active,\r\n (neo: boolean) => {\r\n if (neo) {\r\n setTimer();\r\n } else {\r\n reset();\r\n }\r\n },\r\n { immediate: true },\r\n );\r\n\r\n function onClickContent(event: Event) {\r\n emit('click', event);\r\n if (props.closeClickContent) {\r\n active.value = false;\r\n }\r\n }\r\n\r\n const proxyTransition = computed(() => {\r\n const { transition, position } = props;\r\n if (transition?.name === 'y-snackbar') {\r\n transition.onBeforeEnter = defaultSnackbarTransition.onBeforeEnter(\r\n position.includes('top') ? 'top' : 'bottom',\r\n );\r\n return { ...transition };\r\n }\r\n return props.transition;\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <YLayer\r\n ref=\"layer\"\r\n {...omit(chooseProps(props, YLayer.props), [\r\n 'scrim',\r\n 'transition',\r\n 'content-classes',\r\n 'classes',\r\n ])}\r\n modelValue={active.value}\r\n onUpdate:modelValue={(v) => (active.value = v)}\r\n classes={classes.value}\r\n content-classes={computedContentClasses.value}\r\n scrim={false}\r\n content-styles={computedInset.value}\r\n transition={proxyTransition.value as any}\r\n >\r\n {{\r\n default: () => (\r\n <>\r\n <YPlate></YPlate>\r\n <div\r\n class=\"y-snackbar__content\"\r\n onClick={withModifiers(onClickContent, ['exact'])}\r\n onMouseenter={() => (hover.value = true)}\r\n onMouseleave={() => (hover.value = false)}\r\n >\r\n {slots.default?.()}\r\n </div>\r\n </>\r\n ),\r\n }}\r\n </YLayer>\r\n );\r\n });\r\n\r\n return {\r\n active,\r\n hover,\r\n classes,\r\n computedContentClasses,\r\n computedInset,\r\n proxyTransition,\r\n onClickContent,\r\n };\r\n },\r\n});\r\n\r\nexport type YSnackbar = InstanceType<typeof YSnackbar>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YSnackbar.js","names":["animate","computed","ref","toRef","watch","withModifiers","useModelDuplex","useRender","useTimer","omit","bindClasses","chooseProps","defineComponent","propsFactory","YLayer","pressYLayerProps","YPlate","defaultSnackbarTransition","name","onBeforeEnter","direction","el","getAttribute","cache","style","getPropertyValue","setAttribute","setProperty","onEnter","done","motion","transform","replace","duration","finished","then","removeAttribute","pressYSnackbarPropsOptions","scrollStrategy","position","modelValue","type","Boolean","contentClasses","Array","String","Object","transition","default","Number","closeClickContent","YSnackbar","components","emits","props","setup","_ref","emit","slots","active","hover","classes","computedContentClasses","boundClasses","computedInset","first","second","split","y","x","ret","dismiss","value","start","stop","reset","setTimer","neo","isNaN","immediate","onClickContent","event","proxyTransition","includes","_createVNode","_mergeProps","v","_Fragment","onMouseenter","onMouseleave"],"sources":["../../../src/components/snackbar/YSnackbar.tsx"],"sourcesContent":["import { animate } from 'motion';\nimport { type PropType, computed, ref, toRef, watch, withModifiers } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { useTimer } from '@/composables/timing';\nimport { omit } from '@/util/common';\nimport {\n bindClasses,\n chooseProps,\n defineComponent,\n propsFactory,\n} from '@/util/component';\n\nimport { YLayer, pressYLayerProps } from '../layer';\nimport { YPlate } from '../plate';\n\nimport './YSnackbar.scss';\n\nconst defaultSnackbarTransition = {\n name: 'y-snackbar',\n onBeforeEnter: (direction: 'top' | 'bottom') => (el: HTMLElement) => {\n if (!el.getAttribute('data-transform')) {\n const cache = el.style.getPropertyValue('transform');\n el.setAttribute('data-transform', cache);\n el.style.setProperty(\n 'transform',\n `${cache} translateY(${direction === 'top' ? '-' : ''}40px)`,\n );\n }\n },\n onEnter(el: HTMLElement, done: () => void) {\n const cache = el.getAttribute('data-transform');\n const motion = el.getAttribute('data-motion');\n if (motion || !cache) {\n return;\n }\n el.setAttribute('data-motion', 'true');\n animate(\n el,\n {\n transform: `${cache.replace(/translateY(.+)/, 'translateY(0)')}`,\n },\n { duration: 0.1 },\n ).finished.then(() => {\n el.removeAttribute('data-transform');\n el.removeAttribute('data-motion');\n done();\n });\n },\n};\n\nexport const pressYSnackbarPropsOptions = propsFactory(\n {\n ...pressYLayerProps({\n scrollStrategy: 'none' as const,\n position: 'top center',\n }),\n modelValue: {\n type: Boolean as PropType<boolean>,\n },\n contentClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n transition: {\n type: [String, Object] as PropType<string | any>,\n default: () => ({ ...defaultSnackbarTransition }),\n },\n /**\n * @property Number\n *\n * The amount of time the snackbar should be displayed.\n * @default 4000\n */\n duration: {\n type: Number as PropType<number>,\n default: 4000,\n },\n closeClickContent: {\n type: Boolean,\n default: true,\n },\n },\n 'YSnackbar',\n);\n\nexport const YSnackbar = defineComponent({\n name: 'YSnackbar',\n components: { YPlate, YLayer },\n emits: ['update:modelValue', 'click'],\n props: {\n ...pressYSnackbarPropsOptions(),\n },\n setup(props, { emit, slots }) {\n const active = useModelDuplex(props);\n const hover = ref(false);\n const duration = toRef(props, 'duration');\n\n const classes = computed(() => {\n return {\n 'y-snackbar': true,\n };\n });\n\n const computedContentClasses = computed<Record<string, boolean>>(() => {\n const boundClasses = bindClasses(props.contentClasses);\n return {\n ...boundClasses,\n 'y-snackbar__display': true,\n };\n });\n\n const computedInset = computed(() => {\n const [first, second] = props.position?.split(' ');\n let y = 'top';\n let x = 'left';\n if (second) {\n x = second;\n y = first;\n } else if (first === 'bottom') {\n y = 'bottom';\n } else {\n x = first;\n }\n const ret = {\n [x === 'center' ? 'left' : x]: x === 'center' ? `50%` : 0,\n [y]: 0,\n } as any;\n if (x === 'center') {\n ret.transform = 'translateX(-50%)';\n }\n return ret;\n });\n\n function dismiss() {\n active.value = false;\n }\n\n const { start, stop, reset } = useTimer(dismiss, duration);\n function setTimer() {\n if (props.duration > 0) {\n start();\n }\n }\n\n watch(hover, (neo: boolean) => {\n if (neo) {\n stop();\n } else {\n setTimer();\n }\n });\n\n watch(\n () => props.duration,\n (neo) => {\n if (!isNaN(neo) && active.value) {\n reset();\n if (!hover.value) {\n setTimer();\n }\n }\n },\n );\n\n watch(\n active,\n (neo: boolean) => {\n if (neo) {\n setTimer();\n } else {\n reset();\n }\n },\n { immediate: true },\n );\n\n function onClickContent(event: Event) {\n emit('click', event);\n if (props.closeClickContent) {\n active.value = false;\n }\n }\n\n const proxyTransition = computed(() => {\n const { transition, position } = props;\n if (transition?.name === 'y-snackbar') {\n transition.onBeforeEnter = defaultSnackbarTransition.onBeforeEnter(\n position.includes('top') ? 'top' : 'bottom',\n );\n return { ...transition };\n }\n return props.transition;\n });\n\n useRender(() => {\n return (\n <YLayer\n ref=\"layer\"\n {...omit(chooseProps(props, YLayer.props), [\n 'scrim',\n 'transition',\n 'content-classes',\n 'classes',\n ])}\n modelValue={active.value}\n onUpdate:modelValue={(v) => (active.value = v)}\n classes={classes.value}\n content-classes={computedContentClasses.value}\n scrim={false}\n content-styles={computedInset.value}\n transition={proxyTransition.value as any}\n >\n {{\n default: () => (\n <>\n <YPlate></YPlate>\n <div\n class=\"y-snackbar__content\"\n onClick={withModifiers(onClickContent, ['exact'])}\n onMouseenter={() => (hover.value = true)}\n onMouseleave={() => (hover.value = false)}\n >\n {slots.default?.()}\n </div>\n </>\n ),\n }}\n </YLayer>\n );\n });\n\n return {\n active,\n hover,\n classes,\n computedContentClasses,\n computedInset,\n proxyTransition,\n onClickContent,\n };\n },\n});\n\nexport type YSnackbar = InstanceType<typeof YSnackbar>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/snackbar/index.ts"],"sourcesContent":["export * from './YSnackbar';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/snackbar/index.ts"],"sourcesContent":["export * from './YSnackbar';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { createVNode as _createVNode } from
|
|
2
|
-
import { computed, nextTick, ref, watch, withModifiers } from 'vue';
|
|
1
|
+
import { computed, nextTick, ref, watch, withModifiers, createVNode as _createVNode } from 'vue';
|
|
3
2
|
import { useModelDuplex } from "../../composables/communication.js";
|
|
4
3
|
import { useRender } from "../../composables/component.js";
|
|
5
4
|
import { defineComponent, getUid, propsFactory } from "../../util/component/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YSwitch.js","names":["computed","nextTick","ref","watch","withModifiers","useModelDuplex","useRender","defineComponent","getUid","propsFactory","pressYSwitchPropsOptions","modelValue","type","Boolean","Array","default","value","String","Number","Object","max","loading","disabled","stickOut","stateLabel","color","labelOn","labelOff","YSwitch","name","props","emits","setup","_ref","emit","slots","counterId","toString","inputId","input$","model","checked","focused","isMultipleInput","isArray","multipleInputIndex","findIndex","item","classes","inputByProp","immediate","found","find","undefined","changeMultipleInput","to","multipleInput","slice","length","nextChange","push","splice","onFocus","e","onBlur","onClick","$event","changeInput","event","onKeydown","trackStyles","backgroundColor","_createVNode","label"],"sources":["../../../src/components/switch/YSwitch.tsx"],"sourcesContent":["import {\r\n type PropType,\r\n computed,\r\n nextTick,\r\n ref,\r\n watch,\r\n withModifiers,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { defineComponent, getUid, propsFactory } from '@/util/component';\r\n\r\nimport './YSwitch.scss';\r\n\r\nexport const pressYSwitchPropsOptions = propsFactory(\r\n {\r\n modelValue: {\r\n type: [Boolean, Array] as PropType<boolean | any[]>,\r\n default: false,\r\n },\r\n value: {\r\n type: [String, Number, Object] as PropType<any>,\r\n },\r\n max: {\r\n type: Number,\r\n },\r\n loading: {\r\n type: Boolean,\r\n },\r\n disabled: {\r\n type: Boolean,\r\n },\r\n stickOut: {\r\n type: Boolean,\r\n },\r\n stateLabel: {\r\n type: Boolean,\r\n },\r\n color: {\r\n type: String,\r\n },\r\n labelOn: {\r\n type: String,\r\n default: 'ON',\r\n },\r\n labelOff: {\r\n type: String,\r\n default: 'OFF',\r\n },\r\n },\r\n 'YSwitch',\r\n);\r\n\r\nexport const YSwitch = defineComponent({\r\n name: 'YSwitch',\r\n props: {\r\n ...pressYSwitchPropsOptions(),\r\n },\r\n emits: [\r\n 'update:modelValue',\r\n 'change',\r\n 'click',\r\n 'focus',\r\n 'blur',\r\n 'keydown',\r\n 'overmax',\r\n ],\r\n setup(props, { emit, slots }) {\r\n const counterId = (getUid() ?? '').toString();\r\n const inputId = `input-${counterId}`;\r\n const input$ = ref<HTMLInputElement>();\r\n const model = useModelDuplex(props);\r\n const checked = ref(false);\r\n const focused = ref(false);\r\n\r\n const isMultipleInput = computed(() => {\r\n return Array.isArray(model.value);\r\n });\r\n\r\n const multipleInputIndex = computed(() => {\r\n if (!isMultipleInput.value) return -1;\r\n return model.value.findIndex((item: any) => item === props.value);\r\n });\r\n\r\n const classes = computed(() => {\r\n return {\r\n 'y-switch--active': checked.value,\r\n 'y-switch--focused': focused.value,\r\n 'y-switch--disabled': !!props.disabled,\r\n 'y-switch--loading': !!props.loading,\r\n 'y-switch--stick-out': !!props.stickOut,\r\n };\r\n });\r\n\r\n watch(model, () => {\r\n inputByProp();\r\n }, { immediate: true });\r\n\r\n function inputByProp() {\r\n const modelValue = model.value;\r\n if (Array.isArray(modelValue)) {\r\n const found = modelValue.find((item: any) => {\r\n return item === props.value;\r\n });\r\n checked.value = found !== undefined;\r\n } else if (typeof modelValue === 'boolean') {\r\n checked.value = modelValue;\r\n }\r\n }\r\n\r\n function changeMultipleInput(to: boolean) {\r\n const modelValue = model.value;\r\n if (Array.isArray(modelValue)) {\r\n const multipleInput = modelValue.slice();\r\n if (\r\n to &&\r\n props.max !== undefined &&\r\n multipleInput.length >= props.max\r\n ) {\r\n emit('overmax');\r\n nextChange(false, multipleInput);\r\n return;\r\n }\r\n if (to && multipleInputIndex.value < 0) {\r\n multipleInput.push(props.value);\r\n } else if (multipleInputIndex.value > -1) {\r\n multipleInput.splice(multipleInputIndex.value, 1);\r\n }\r\n emit('change', multipleInput);\r\n }\r\n }\r\n\r\n function nextChange(to: boolean, value: any) {\r\n nextTick(() => {\r\n checked.value = to;\r\n });\r\n }\r\n\r\n function onFocus(e: FocusEvent) {\r\n focused.value = true;\r\n emit('focus', e);\r\n }\r\n\r\n function onBlur(e: FocusEvent) {\r\n focused.value = false;\r\n emit('blur', e);\r\n }\r\n\r\n function onClick($event: Event) {\r\n if (props.disabled || props.loading) return;\r\n changeInput(!checked.value, $event);\r\n }\r\n\r\n function changeInput(to: boolean, event?: Event) {\r\n checked.value = to;\r\n if (isMultipleInput.value) {\r\n changeMultipleInput(to);\r\n } else {\r\n model.value = to;\r\n emit('change', to);\r\n }\r\n }\r\n\r\n function onKeydown($event: KeyboardEvent) {\r\n emit('keydown', $event);\r\n }\r\n\r\n useRender(() => {\r\n const trackStyles = {\r\n backgroundColor: props.color,\r\n };\r\n\r\n return (\r\n <div class={{ 'y-switch': true, ...classes.value }}>\r\n <div class=\"y-switch__slot\">\r\n <div\r\n class=\"y-switch__input\"\r\n onClick={withModifiers(onClick, ['exact'])}\r\n onKeydown={onKeydown}\r\n >\r\n <input\r\n ref={input$}\r\n id={inputId}\r\n aria-checked={checked.value}\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n disabled={props.disabled}\r\n checked={checked.value}\r\n />\r\n <div class=\"y-switch__track\" style={trackStyles}>\r\n {props.stateLabel && (\r\n <div class=\"y-switch__state\">\r\n <span class=\"y-switch__state-label y-switch__state-label--on\">\r\n {props.labelOn}\r\n </span>\r\n <span class=\"y-switch__state-label y-switch__state-label--off\">\r\n {props.labelOff}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n <div class=\"y-switch__thumb\">\r\n {props.loading && <div class=\"y-switch__spinner\"></div>}\r\n </div>\r\n </div>\r\n {slots.label && (\r\n <label for={inputId} class=\"y-switch__label\">\r\n {slots.label?.()}\r\n <input hidden />\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YSwitch = InstanceType<typeof YSwitch>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YSwitch.js","names":["computed","nextTick","ref","watch","withModifiers","createVNode","_createVNode","useModelDuplex","useRender","defineComponent","getUid","propsFactory","pressYSwitchPropsOptions","modelValue","type","Boolean","Array","default","value","String","Number","Object","max","loading","disabled","stickOut","stateLabel","color","labelOn","labelOff","YSwitch","name","props","emits","setup","_ref","emit","slots","counterId","toString","inputId","input$","model","checked","focused","isMultipleInput","isArray","multipleInputIndex","findIndex","item","classes","inputByProp","immediate","found","find","undefined","changeMultipleInput","to","multipleInput","slice","length","nextChange","push","splice","onFocus","e","onBlur","onClick","$event","changeInput","event","onKeydown","trackStyles","backgroundColor","label"],"sources":["../../../src/components/switch/YSwitch.tsx"],"sourcesContent":["import {\n type PropType,\n computed,\n nextTick,\n ref,\n watch,\n withModifiers,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { defineComponent, getUid, propsFactory } from '@/util/component';\n\nimport './YSwitch.scss';\n\nexport const pressYSwitchPropsOptions = propsFactory(\n {\n modelValue: {\n type: [Boolean, Array] as PropType<boolean | any[]>,\n default: false,\n },\n value: {\n type: [String, Number, Object] as PropType<any>,\n },\n max: {\n type: Number,\n },\n loading: {\n type: Boolean,\n },\n disabled: {\n type: Boolean,\n },\n stickOut: {\n type: Boolean,\n },\n stateLabel: {\n type: Boolean,\n },\n color: {\n type: String,\n },\n labelOn: {\n type: String,\n default: 'ON',\n },\n labelOff: {\n type: String,\n default: 'OFF',\n },\n },\n 'YSwitch',\n);\n\nexport const YSwitch = defineComponent({\n name: 'YSwitch',\n props: {\n ...pressYSwitchPropsOptions(),\n },\n emits: [\n 'update:modelValue',\n 'change',\n 'click',\n 'focus',\n 'blur',\n 'keydown',\n 'overmax',\n ],\n setup(props, { emit, slots }) {\n const counterId = (getUid() ?? '').toString();\n const inputId = `input-${counterId}`;\n const input$ = ref<HTMLInputElement>();\n const model = useModelDuplex(props);\n const checked = ref(false);\n const focused = ref(false);\n\n const isMultipleInput = computed(() => {\n return Array.isArray(model.value);\n });\n\n const multipleInputIndex = computed(() => {\n if (!isMultipleInput.value) return -1;\n return model.value.findIndex((item: any) => item === props.value);\n });\n\n const classes = computed(() => {\n return {\n 'y-switch--active': checked.value,\n 'y-switch--focused': focused.value,\n 'y-switch--disabled': !!props.disabled,\n 'y-switch--loading': !!props.loading,\n 'y-switch--stick-out': !!props.stickOut,\n };\n });\n\n watch(\n model,\n () => {\n inputByProp();\n },\n { immediate: true },\n );\n\n function inputByProp() {\n const modelValue = model.value;\n if (Array.isArray(modelValue)) {\n const found = modelValue.find((item: any) => {\n return item === props.value;\n });\n checked.value = found !== undefined;\n } else if (typeof modelValue === 'boolean') {\n checked.value = modelValue;\n }\n }\n\n function changeMultipleInput(to: boolean) {\n const modelValue = model.value;\n if (Array.isArray(modelValue)) {\n const multipleInput = modelValue.slice();\n if (\n to &&\n props.max !== undefined &&\n multipleInput.length >= props.max\n ) {\n emit('overmax');\n nextChange(false, multipleInput);\n return;\n }\n if (to && multipleInputIndex.value < 0) {\n multipleInput.push(props.value);\n } else if (multipleInputIndex.value > -1) {\n multipleInput.splice(multipleInputIndex.value, 1);\n }\n emit('change', multipleInput);\n }\n }\n\n function nextChange(to: boolean, value: any) {\n nextTick(() => {\n checked.value = to;\n });\n }\n\n function onFocus(e: FocusEvent) {\n focused.value = true;\n emit('focus', e);\n }\n\n function onBlur(e: FocusEvent) {\n focused.value = false;\n emit('blur', e);\n }\n\n function onClick($event: Event) {\n if (props.disabled || props.loading) return;\n changeInput(!checked.value, $event);\n }\n\n function changeInput(to: boolean, event?: Event) {\n checked.value = to;\n if (isMultipleInput.value) {\n changeMultipleInput(to);\n } else {\n model.value = to;\n emit('change', to);\n }\n }\n\n function onKeydown($event: KeyboardEvent) {\n emit('keydown', $event);\n }\n\n useRender(() => {\n const trackStyles = {\n backgroundColor: props.color,\n };\n\n return (\n <div class={{ 'y-switch': true, ...classes.value }}>\n <div class=\"y-switch__slot\">\n <div\n class=\"y-switch__input\"\n onClick={withModifiers(onClick, ['exact'])}\n onKeydown={onKeydown}\n >\n <input\n ref={input$}\n id={inputId}\n aria-checked={checked.value}\n type=\"checkbox\"\n role=\"switch\"\n onFocus={onFocus}\n onBlur={onBlur}\n disabled={props.disabled}\n checked={checked.value}\n />\n <div class=\"y-switch__track\" style={trackStyles}>\n {props.stateLabel && (\n <div class=\"y-switch__state\">\n <span class=\"y-switch__state-label y-switch__state-label--on\">\n {props.labelOn}\n </span>\n <span class=\"y-switch__state-label y-switch__state-label--off\">\n {props.labelOff}\n </span>\n </div>\n )}\n </div>\n <div class=\"y-switch__thumb\">\n {props.loading && <div class=\"y-switch__spinner\"></div>}\n </div>\n </div>\n {slots.label && (\n <label for={inputId} class=\"y-switch__label\">\n {slots.label?.()}\n <input hidden />\n </label>\n )}\n </div>\n </div>\n );\n });\n },\n});\n\nexport type YSwitch = InstanceType<typeof YSwitch>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/switch/index.ts"],"sourcesContent":["export * from './YSwitch';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/switch/index.ts"],"sourcesContent":["export * from './YSwitch';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { computed, ref, shallowRef } from 'vue';
|
|
1
|
+
import { computed, ref, shallowRef, createVNode as _createVNode, mergeProps as _mergeProps } from 'vue';
|
|
3
2
|
import { useRender } from "../../composables/component.js";
|
|
4
3
|
import { chooseProps, defineComponent, propsFactory } from "../../util/component/index.js";
|
|
5
|
-
import {
|
|
4
|
+
import { pressYButtonProps, YButton } from "../button/index.js";
|
|
6
5
|
import { Y_TABS_KEY } from "./shared.js";
|
|
7
6
|
import "./YTab.scss";
|
|
8
7
|
export const pressYTabPropsOptions = propsFactory({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTab.js","names":["computed","ref","shallowRef","useRender","chooseProps","defineComponent","propsFactory","
|
|
1
|
+
{"version":3,"file":"YTab.js","names":["computed","ref","shallowRef","createVNode","_createVNode","mergeProps","_mergeProps","useRender","chooseProps","defineComponent","propsFactory","pressYButtonProps","YButton","Y_TABS_KEY","pressYTabPropsOptions","text","String","hideIndicator","Boolean","indicatorColor","selectedClass","noWave","YTab","name","props","slots","Object","setup","_ref","attrs","selected","indicator$","indicatorStyles","attrsProps","role","value","tabindex","onChoice","_ref2","yButtonProps","default","append"],"sources":["../../../src/components/tab/YTab.tsx"],"sourcesContent":["import { computed, type PropType, ref, shallowRef, type SlotsType } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { chooseProps, defineComponent, propsFactory } from '@/util/component';\n\nimport { pressYButtonProps, YButton } from '../button';\nimport { Y_TABS_KEY } from './shared';\n\nimport './YTab.scss';\n\nexport const pressYTabPropsOptions = propsFactory(\n {\n text: String as PropType<string>,\n hideIndicator: Boolean as PropType<boolean>,\n indicatorColor: String as PropType<string>,\n ...pressYButtonProps({\n selectedClass: 'y-tab--selected',\n noWave: true,\n }),\n },\n 'YTab',\n);\n\nexport const YTab = defineComponent({\n name: 'YTab',\n props: pressYTabPropsOptions(),\n slots: Object as SlotsType<{\n default?: any;\n }>,\n setup(props, { slots, attrs }) {\n const selected = shallowRef(false);\n\n const indicator$ = ref();\n const indicatorStyles = computed(() => {\n return {};\n });\n const attrsProps = computed(() => {\n return {\n role: 'tab',\n 'aria-selected': `${String(selected.value)}`,\n tabindex: selected.value ? 0 : -1,\n };\n });\n\n function onChoice({ value }: { value: boolean }) {\n selected.value = value;\n }\n\n useRender(() => {\n const yButtonProps = chooseProps(props, YButton.props);\n return (\n <YButton\n class={['y-tab']}\n active={false}\n {...attrsProps.value}\n {...attrs}\n {...yButtonProps}\n injectSymbol={Y_TABS_KEY}\n onChoice:selected={onChoice}\n >\n {{\n default: () => slots.default?.() ?? props.text,\n append: () =>\n !props.hideIndicator && (\n <div\n ref={indicator$}\n class={['y-tab__indicator']}\n style={indicatorStyles.value}\n ></div>\n ),\n }}\n </YButton>\n );\n });\n\n return {};\n },\n});\n\nexport type YTab = InstanceType<typeof YTab>;\n"],"mappings":"AAAA,SAASA,QAAQ,EAAiBC,GAAG,EAAEC,UAAU,EAAAC,WAAA,IAAAC,YAAA,EAAAC,UAAA,IAAAC,WAAA,QAAwB,KAAK;AAAC,SAEtEC,SAAS;AAAA,SACTC,WAAW,EAAEC,eAAe,EAAEC,YAAY;AAAA,SAE1CC,iBAAiB,EAAEC,OAAO;AAAA,SAC1BC,UAAU;AAEnB;AAEA,OAAO,MAAMC,qBAAqB,GAAGJ,YAAY,CAC/C;EACEK,IAAI,EAAEC,MAA0B;EAChCC,aAAa,EAAEC,OAA4B;EAC3CC,cAAc,EAAEH,MAA0B;EAC1C,GAAGL,iBAAiB,CAAC;IACnBS,aAAa,EAAE,iBAAiB;IAChCC,MAAM,EAAE;EACV,CAAC;AACH,CAAC,EACD,MACF,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGb,eAAe,CAAC;EAClCc,IAAI,EAAE,MAAM;EACZC,KAAK,EAAEV,qBAAqB,CAAC,CAAC;EAC9BW,KAAK,EAAEC,MAEL;EACFC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEH,KAAK;MAAEI;IAAM,CAAC,GAAAD,IAAA;IAC3B,MAAME,QAAQ,GAAG5B,UAAU,CAAC,KAAK,CAAC;IAElC,MAAM6B,UAAU,GAAG9B,GAAG,CAAC,CAAC;IACxB,MAAM+B,eAAe,GAAGhC,QAAQ,CAAC,MAAM;MACrC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAMiC,UAAU,GAAGjC,QAAQ,CAAC,MAAM;MAChC,OAAO;QACLkC,IAAI,EAAE,KAAK;QACX,eAAe,EAAE,GAAGlB,MAAM,CAACc,QAAQ,CAACK,KAAK,CAAC,EAAE;QAC5CC,QAAQ,EAAEN,QAAQ,CAACK,KAAK,GAAG,CAAC,GAAG,CAAC;MAClC,CAAC;IACH,CAAC,CAAC;IAEF,SAASE,QAAQA,CAAAC,KAAA,EAAgC;MAAA,IAA/B;QAAEH;MAA0B,CAAC,GAAAG,KAAA;MAC7CR,QAAQ,CAACK,KAAK,GAAGA,KAAK;IACxB;IAEA5B,SAAS,CAAC,MAAM;MACd,MAAMgC,YAAY,GAAG/B,WAAW,CAACgB,KAAK,EAAEZ,OAAO,CAACY,KAAK,CAAC;MACtD,OAAApB,YAAA,CAAAQ,OAAA,EAAAN,WAAA;QAAA,SAEW,CAAC,OAAO,CAAC;QAAA,UACR;MAAK,GACT2B,UAAU,CAACE,KAAK,EAChBN,KAAK,EACLU,YAAY;QAAA,gBACF1B,UAAU;QAAA,qBACLwB;MAAQ;QAGzBG,OAAO,EAAEA,CAAA,KAAMf,KAAK,CAACe,OAAO,GAAG,CAAC,IAAIhB,KAAK,CAACT,IAAI;QAC9C0B,MAAM,EAAEA,CAAA,KACN,CAACjB,KAAK,CAACP,aAAa,IAAAb,YAAA;UAAA,OAEX2B,UAAU;UAAA,SACR,CAAC,kBAAkB,CAAC;UAAA,SACpBC,eAAe,CAACG;QAAK;MAE/B;IAIX,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
left: var(--y-tab-indicator-side-offset);
|
|
23
23
|
right: var(--y-tab-indicator-side-offset);
|
|
24
24
|
background: radial-gradient(currentColor, transparent 80%),
|
|
25
|
-
|
|
25
|
+
linear-gradient(0deg, currentColor, transparent 70%);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { computed } from 'vue';
|
|
1
|
+
import { computed, mergeProps as _mergeProps, createVNode as _createVNode } from 'vue';
|
|
3
2
|
import { pressChoicePropsOptions, useChoice } from "../../composables/choice.js";
|
|
4
3
|
import { useRender } from "../../composables/component.js";
|
|
5
4
|
import { useResizeObserver } from "../../composables/resize-observer.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTabs.js","names":["computed","pressChoicePropsOptions","useChoice","useRender","useResizeObserver","defineComponent","propsFactory","YTab","Y_TABS_KEY","pressYTabsPropOptions","items","type","Array","selectedClass","mandatory","YTabs","name","props","tag","String","default","emits","value","setup","_ref","slots","resizeObservedRef","container$","contentRect","containerRect","content$","choiceState","slotProps","next","prev","select","isSelected","tabItems","map","item","text","
|
|
1
|
+
{"version":3,"file":"YTabs.js","names":["computed","mergeProps","_mergeProps","createVNode","_createVNode","pressChoicePropsOptions","useChoice","useRender","useResizeObserver","defineComponent","propsFactory","YTab","Y_TABS_KEY","pressYTabsPropOptions","items","type","Array","selectedClass","mandatory","YTabs","name","props","tag","String","default","emits","value","setup","_ref","slots","resizeObservedRef","container$","contentRect","containerRect","content$","choiceState","slotProps","next","prev","select","isSelected","tabItems","map","item","text","tabItem","selected"],"sources":["../../../src/components/tab/YTabs.tsx"],"sourcesContent":["import { computed, type PropType } from 'vue';\n\nimport { pressChoicePropsOptions, useChoice } from '@/composables/choice';\nimport { useRender } from '@/composables/component';\nimport { useResizeObserver } from '@/composables/resize-observer';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport { YTab } from './YTab';\nimport { Y_TABS_KEY } from './shared';\nimport { YTabPropItem } from './types';\n\nimport './YTabs.scss';\n\nexport const pressYTabsPropOptions = propsFactory(\n {\n items: {\n type: Array as PropType<YTabPropItem[]>,\n },\n ...pressChoicePropsOptions({\n selectedClass: 'y-tab--active',\n mandatory: 'force' as const,\n }),\n },\n 'YTabs',\n);\n\nexport const YTabs = defineComponent({\n name: 'YTabs',\n props: {\n tag: {\n type: String as PropType<'div' | 'nav' | 'ol' | 'ul'>,\n default: 'div',\n },\n ...pressYTabsPropOptions(),\n },\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n setup(props, { slots }) {\n const { resizeObservedRef: container$, contentRect: containerRect } =\n useResizeObserver();\n const { resizeObservedRef: content$, contentRect } = useResizeObserver();\n\n const choiceState = useChoice(props, Y_TABS_KEY);\n\n const slotProps = computed(() => {\n return {\n next: choiceState.next,\n prev: choiceState.prev,\n select: choiceState.select,\n isSelected: choiceState.isSelected,\n };\n });\n\n const tabItems = computed(() => {\n return (\n props.items?.map((item) => {\n if (typeof item !== 'object') {\n return {\n text: item,\n value: item,\n };\n }\n return item;\n }) ?? []\n );\n });\n\n useRender(() => {\n return (\n <props.tag class={['y-tabs']} role=\"tablist\">\n <div key=\"container\" ref={container$} class={['y-tabs__container']}>\n <div key=\"content\" ref={content$} class={['y-tabs__content']}>\n {slots.default\n ? slots.default(slotProps.value)\n : tabItems.value.map((tabItem) => (\n <YTab {...tabItem} key={tabItem.text}></YTab>\n ))}\n </div>\n </div>\n </props.tag>\n );\n });\n\n return {\n selected: choiceState.selected,\n };\n },\n});\n\nexport type YTabs = InstanceType<typeof YTabs>;\n"],"mappings":"AAAA,SAASA,QAAQ,EAAAC,UAAA,IAAAC,WAAA,EAAAC,WAAA,IAAAC,YAAA,QAAuB,KAAK;AAAC,SAErCC,uBAAuB,EAAEC,SAAS;AAAA,SAClCC,SAAS;AAAA,SACTC,iBAAiB;AAAA,SACjBC,eAAe,EAAEC,YAAY;AAAA,SAE7BC,IAAI;AAAA,SACJC,UAAU;AAGnB;AAEA,OAAO,MAAMC,qBAAqB,GAAGH,YAAY,CAC/C;EACEI,KAAK,EAAE;IACLC,IAAI,EAAEC;EACR,CAAC;EACD,GAAGX,uBAAuB,CAAC;IACzBY,aAAa,EAAE,eAAe;IAC9BC,SAAS,EAAE;EACb,CAAC;AACH,CAAC,EACD,OACF,CAAC;AAED,OAAO,MAAMC,KAAK,GAAGV,eAAe,CAAC;EACnCW,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;IACLC,GAAG,EAAE;MACHP,IAAI,EAAEQ,MAA+C;MACrDC,OAAO,EAAE;IACX,CAAC;IACD,GAAGX,qBAAqB,CAAC;EAC3B,CAAC;EACDY,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EACDC,KAAKA,CAACN,KAAK,EAAAO,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAM;MAAEE,iBAAiB,EAAEC,UAAU;MAAEC,WAAW,EAAEC;IAAc,CAAC,GACjEzB,iBAAiB,CAAC,CAAC;IACrB,MAAM;MAAEsB,iBAAiB,EAAEI,QAAQ;MAAEF;IAAY,CAAC,GAAGxB,iBAAiB,CAAC,CAAC;IAExE,MAAM2B,WAAW,GAAG7B,SAAS,CAACe,KAAK,EAAET,UAAU,CAAC;IAEhD,MAAMwB,SAAS,GAAGpC,QAAQ,CAAC,MAAM;MAC/B,OAAO;QACLqC,IAAI,EAAEF,WAAW,CAACE,IAAI;QACtBC,IAAI,EAAEH,WAAW,CAACG,IAAI;QACtBC,MAAM,EAAEJ,WAAW,CAACI,MAAM;QAC1BC,UAAU,EAAEL,WAAW,CAACK;MAC1B,CAAC;IACH,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAGzC,QAAQ,CAAC,MAAM;MAC9B,OACEqB,KAAK,CAACP,KAAK,EAAE4B,GAAG,CAAEC,IAAI,IAAK;QACzB,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;UAC5B,OAAO;YACLC,IAAI,EAAED,IAAI;YACVjB,KAAK,EAAEiB;UACT,CAAC;QACH;QACA,OAAOA,IAAI;MACb,CAAC,CAAC,IAAI,EAAE;IAEZ,CAAC,CAAC;IAEFpC,SAAS,CAAC,MAAM;MACd,OAAAH,YAAA,CAAAiB,KAAA,CAAAC,GAAA;QAAA,SACoB,CAAC,QAAQ,CAAC;QAAA;MAAA;QAAAE,OAAA,EAAAA,CAAA,MAAApB,YAAA;UAAA;UAAA,OACA2B,UAAU;UAAA,SAAS,CAAC,mBAAmB;QAAC,IAAA3B,YAAA;UAAA;UAAA,OACxC8B,QAAQ;UAAA,SAAS,CAAC,iBAAiB;QAAC,IACzDL,KAAK,CAACL,OAAO,GACVK,KAAK,CAACL,OAAO,CAACY,SAAS,CAACV,KAAK,CAAC,GAC9Be,QAAQ,CAACf,KAAK,CAACgB,GAAG,CAAEG,OAAO,IAAAzC,YAAA,CAAAO,IAAA,EAAAT,WAAA,CACf2C,OAAO;UAAA,OAAOA,OAAO,CAACD;QAAI,SACrC,CAAC;MAAA;IAKhB,CAAC,CAAC;IAEF,OAAO;MACLE,QAAQ,EAAEX,WAAW,CAACW;IACxB,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Y_TABS_KEY"],"sources":["../../../src/components/tab/index.ts"],"sourcesContent":["export * from './YTabs';\
|
|
1
|
+
{"version":3,"file":"index.js","names":["Y_TABS_KEY"],"sources":["../../../src/components/tab/index.ts"],"sourcesContent":["export * from './YTabs';\nexport * from './YTab';\nexport { Y_TABS_KEY } from './shared';\n"],"mappings":";;SAESA,UAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","names":["Y_TABS_KEY","Symbol","for"],"sources":["../../../src/components/tab/shared.ts"],"sourcesContent":["import { InjectionKey } from 'vue';\n\nimport { ChoiceProvide } from '../../composables/choice';\n\nexport const Y_TABS_KEY: InjectionKey<ChoiceProvide> =\n Symbol.for('yuyeon.y-tabs');\n"],"mappings":"AAIA,OAAO,MAAMA,UAAuC,GAClDC,MAAM,CAACC,GAAG,CAAC,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"shared.js","names":["Y_TABS_KEY","Symbol","for"],"sources":["../../../src/components/tab/shared.ts"],"sourcesContent":["import { InjectionKey } from 'vue';\n\nimport { ChoiceProvide } from '../../composables/choice';\n\nexport const Y_TABS_KEY: InjectionKey<ChoiceProvide> =\n Symbol.for('yuyeon.y-tabs');\n"],"mappings":"AAIA,OAAO,MAAMA,UAAuC,GAClDC,MAAM,CAACC,GAAG,CAAC,eAAe,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/components/tab/types.ts"],"sourcesContent":["export interface YTabPropItem {\
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/components/tab/types.ts"],"sourcesContent":["export interface YTabPropItem {\n text: string;\n value?: string;\n [Key: string]: any;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Fragment, computed, provide, ref, toRef } from 'vue';
|
|
1
|
+
import { Fragment, computed, provide, ref, toRef, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from 'vue';
|
|
3
2
|
import { pressDataTableExpandProps, provideExpand } from "./composables/expand.js";
|
|
4
3
|
import { createHeader, pressDataTableHeader } from "./composables/header.js";
|
|
5
4
|
import { pressDataTableItemsProps, useItems } from "./composables/items.js";
|
|
6
5
|
import { useOptions } from "./composables/options.js";
|
|
7
|
-
import { createPagination,
|
|
6
|
+
import { createPagination, providePagination, usePaginatedItems } from "./composables/pagination.js";
|
|
8
7
|
import { YDataTableInjectionKey } from "./composables/provides.js";
|
|
9
8
|
import { pressDataTableSelectionProps, provideSelection } from "./composables/selection.js";
|
|
10
9
|
import { useSortedItems } from "./composables/sorted-items.js";
|
|
11
10
|
import { createSorting, pressDataTableSortProps, provideSorting } from "./composables/sorting.js";
|
|
12
11
|
import { useRender } from "../../composables/component.js";
|
|
13
12
|
import { useResizeObserver } from "../../composables/resize-observer.js";
|
|
13
|
+
import { omit } from "../../util/index.js";
|
|
14
14
|
import { chooseProps, defineComponent, propsFactory } from "../../util/component/index.js";
|
|
15
15
|
import { toStyleSizeValue } from "../../util/ui.js";
|
|
16
16
|
import { YDataTableBody, pressYDataTableBodyProps } from "./YDataTableBody.js";
|
|
17
|
-
import { YDataTableControl } from "./YDataTableControl.js";
|
|
17
|
+
import { YDataTableControl, pressYDataTableControlPropsOptions } from "./YDataTableControl.js";
|
|
18
18
|
import { YDataTableHead, pressYDataTableHeadProps } from "./YDataTableHead.js";
|
|
19
19
|
import { YDataTableLayer } from "./YDataTableLayer.js";
|
|
20
20
|
import { YTable, pressYTableProps } from "./YTable.js";
|
|
@@ -34,7 +34,7 @@ export const pressDataTableProps = propsFactory({
|
|
|
34
34
|
export const YDataTable = defineComponent({
|
|
35
35
|
name: 'YDataTable',
|
|
36
36
|
props: {
|
|
37
|
-
...
|
|
37
|
+
...omit(pressYDataTableControlPropsOptions(), ['setPage', 'setPageSize', 'pageLength']),
|
|
38
38
|
...pressDataTableProps()
|
|
39
39
|
},
|
|
40
40
|
emits: {
|
|
@@ -184,7 +184,9 @@ export const YDataTable = defineComponent({
|
|
|
184
184
|
"items": slotProps.value.items
|
|
185
185
|
}), slots)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
186
186
|
trailing: () => slots.trailing?.(slotProps.value),
|
|
187
|
-
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : _createVNode(YDataTableControl,
|
|
187
|
+
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : _createVNode(YDataTableControl, _mergeProps(chooseProps(slotProps.value, YDataTableControl.props), {
|
|
188
|
+
"paginationProps": props.paginationProps
|
|
189
|
+
}), {
|
|
188
190
|
prepend: slots['control.prepend'],
|
|
189
191
|
append: slots['control.append']
|
|
190
192
|
})
|