yuyeon 0.3.1-rc.6 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/yuyeon.js +1 -1
- package/dist/yuyeon.umd.cjs +1 -1
- package/lib/abstract/items.js +20 -0
- package/lib/abstract/items.js.map +1 -0
- package/lib/components/alert/YAlert.js +83 -0
- package/lib/components/alert/YAlert.js.map +1 -0
- package/lib/components/alert/index.js +2 -0
- package/lib/components/alert/index.js.map +1 -0
- package/lib/components/app/YApp.js +21 -0
- package/lib/components/app/YApp.js.map +1 -0
- package/lib/components/app/index.js +2 -0
- package/lib/components/app/index.js.map +1 -0
- package/lib/components/badge/YBadge.js +83 -0
- package/lib/components/badge/YBadge.js.map +1 -0
- package/lib/components/badge/index.js +2 -0
- package/lib/components/badge/index.js.map +1 -0
- package/lib/components/bench/YBench.js +43 -0
- package/lib/components/bench/YBench.js.map +1 -0
- package/lib/components/bench/index.js +2 -0
- package/lib/components/bench/index.js.map +1 -0
- package/lib/components/button/YButton.js +169 -0
- package/lib/components/button/YButton.js.map +1 -0
- package/lib/components/button/index.js +2 -0
- package/lib/components/button/index.js.map +1 -0
- package/lib/components/card/YCard.js +28 -0
- package/lib/components/card/YCard.js.map +1 -0
- package/lib/components/card/YCardBody.js +11 -0
- package/lib/components/card/YCardBody.js.map +1 -0
- package/lib/components/card/YCardFooter.js +11 -0
- package/lib/components/card/YCardFooter.js.map +1 -0
- package/lib/components/card/YCardHeader.js +11 -0
- package/lib/components/card/YCardHeader.js.map +1 -0
- package/lib/components/card/index.js +5 -0
- package/lib/components/card/index.js.map +1 -0
- package/lib/components/checkbox/YCheckbox.js +160 -0
- package/lib/components/checkbox/YCheckbox.js.map +1 -0
- package/lib/components/checkbox/YInputCheckbox.js +114 -0
- package/lib/components/checkbox/YInputCheckbox.js.map +1 -0
- package/lib/components/checkbox/index.js +4 -0
- package/lib/components/checkbox/index.js.map +1 -0
- package/lib/components/chip/YChip.js +39 -0
- package/lib/components/chip/YChip.js.map +1 -0
- package/lib/components/chip/index.js +2 -0
- package/lib/components/chip/index.js.map +1 -0
- package/lib/components/date-picker/YDateCalendar.js +243 -0
- package/lib/components/date-picker/YDateCalendar.js.map +1 -0
- package/lib/components/date-picker/YDatePicker.js +132 -0
- package/lib/components/date-picker/YDatePicker.js.map +1 -0
- package/lib/components/date-picker/YDatePickerControl.js +107 -0
- package/lib/components/date-picker/YDatePickerControl.js.map +1 -0
- package/lib/components/date-picker/YMonthPicker.js +64 -0
- package/lib/components/date-picker/YMonthPicker.js.map +1 -0
- package/lib/components/date-picker/YYearPicker.js +87 -0
- package/lib/components/date-picker/YYearPicker.js.map +1 -0
- package/lib/components/date-picker/index.js +4 -0
- package/lib/components/date-picker/index.js.map +1 -0
- package/lib/components/default-provider/YDefaultProvider.js +2 -0
- package/lib/components/default-provider/YDefaultProvider.js.map +1 -0
- package/lib/components/default-provider/index.js +2 -0
- package/lib/components/default-provider/index.js.map +1 -0
- package/lib/components/dialog/YDialog.js +213 -0
- package/lib/components/dialog/YDialog.js.map +1 -0
- package/lib/components/dialog/index.js +2 -0
- package/lib/components/dialog/index.js.map +1 -0
- package/lib/components/divider/YDivider.js +20 -0
- package/lib/components/divider/YDivider.js.map +1 -0
- package/lib/components/divider/index.js +2 -0
- package/lib/components/divider/index.js.map +1 -0
- package/lib/components/draggable/YDraggable.js +95 -0
- package/lib/components/draggable/YDraggable.js.map +1 -0
- package/lib/components/dropdown/YDropdown.js +109 -0
- package/lib/components/dropdown/YDropdown.js.map +1 -0
- package/lib/components/dropdown/index.js +2 -0
- package/lib/components/dropdown/index.js.map +1 -0
- package/lib/components/field-input/YFieldInput.js +229 -0
- package/lib/components/field-input/YFieldInput.js.map +1 -0
- package/lib/components/field-input/index.js +2 -0
- package/lib/components/field-input/index.js.map +1 -0
- package/lib/components/form/YForm.js +65 -0
- package/lib/components/form/YForm.js.map +1 -0
- package/lib/components/form/index.js +2 -0
- package/lib/components/form/index.js.map +1 -0
- package/lib/components/hover/YHover.js +54 -0
- package/lib/components/hover/YHover.js.map +1 -0
- package/lib/components/hover/index.js +2 -0
- package/lib/components/hover/index.js.map +1 -0
- package/lib/components/icon/YIcon.js +63 -0
- package/lib/components/icon/YIcon.js.map +1 -0
- package/lib/components/icon/index.js +2 -0
- package/lib/components/icon/index.js.map +1 -0
- package/lib/components/icons/YIconCheckbox.js +32 -0
- package/lib/components/icons/YIconCheckbox.js.map +1 -0
- package/lib/components/icons/YIconClear.js +16 -0
- package/lib/components/icons/YIconClear.js.map +1 -0
- package/lib/components/icons/YIconDropdown.js +16 -0
- package/lib/components/icons/YIconDropdown.js.map +1 -0
- package/lib/components/icons/YIconExpand.js +20 -0
- package/lib/components/icons/YIconExpand.js.map +1 -0
- package/lib/components/icons/YIconPageControl.js +32 -0
- package/lib/components/icons/YIconPageControl.js.map +1 -0
- package/lib/components/icons/YIconSort.js +45 -0
- package/lib/components/icons/YIconSort.js.map +1 -0
- package/lib/components/icons/index.js +32 -0
- package/lib/components/icons/index.js.map +1 -0
- package/lib/components/img/YImg.js +173 -0
- package/lib/components/img/YImg.js.map +1 -0
- package/lib/components/img/index.js +2 -0
- package/lib/components/img/index.js.map +1 -0
- package/lib/components/index.js +39 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/input/YInput.js +258 -0
- package/lib/components/input/YInput.js.map +1 -0
- package/lib/components/input/index.js +2 -0
- package/lib/components/input/index.js.map +1 -0
- package/lib/components/ip-field/YIpv4Field.js +297 -0
- package/lib/components/ip-field/YIpv4Field.js.map +1 -0
- package/lib/components/ip-field/index.js +2 -0
- package/lib/components/ip-field/index.js.map +1 -0
- package/lib/components/layer/YLayer.js +326 -0
- package/lib/components/layer/YLayer.js.map +1 -0
- package/lib/components/layer/active-delay.js +28 -0
- package/lib/components/layer/active-delay.js.map +1 -0
- package/lib/components/layer/active-stack.js +52 -0
- package/lib/components/layer/active-stack.js.map +1 -0
- package/lib/components/layer/base.js +87 -0
- package/lib/components/layer/base.js.map +1 -0
- package/lib/components/layer/content.js +22 -0
- package/lib/components/layer/content.js.map +1 -0
- package/lib/components/layer/index.js +2 -0
- package/lib/components/layer/index.js.map +1 -0
- package/lib/components/layer/scroll-strategies.js +132 -0
- package/lib/components/layer/scroll-strategies.js.map +1 -0
- package/lib/components/list/YList.js +55 -0
- package/lib/components/list/YList.js.map +1 -0
- package/lib/components/list/YListItem.js +59 -0
- package/lib/components/list/YListItem.js.map +1 -0
- package/lib/components/list/index.js +3 -0
- package/lib/components/list/index.js.map +1 -0
- package/lib/components/loading/YSpinnerRing.js +25 -0
- package/lib/components/loading/YSpinnerRing.js.map +1 -0
- package/lib/components/loading/index.js +2 -0
- package/lib/components/loading/index.js.map +1 -0
- package/lib/components/menu/YMenu.js +211 -0
- package/lib/components/menu/YMenu.js.map +1 -0
- package/lib/components/menu/index.js +2 -0
- package/lib/components/menu/index.js.map +1 -0
- package/lib/components/navigation/YNavigation.js +18 -0
- package/lib/components/navigation/YNavigation.js.map +1 -0
- package/lib/components/navigation/index.js +2 -0
- package/lib/components/navigation/index.js.map +1 -0
- package/lib/components/pagination/YPagination.js +288 -0
- package/lib/components/pagination/YPagination.js.map +1 -0
- package/lib/components/pagination/index.js +2 -0
- package/lib/components/pagination/index.js.map +1 -0
- package/lib/components/panel/YDividePanel.js +90 -0
- package/lib/components/panel/YDividePanel.js.map +1 -0
- package/lib/components/panel/index.js +2 -0
- package/lib/components/panel/index.js.map +1 -0
- package/lib/components/plate/YPlate.js +28 -0
- package/lib/components/plate/YPlate.js.map +1 -0
- package/lib/components/plate/index.js +2 -0
- package/lib/components/plate/index.js.map +1 -0
- package/lib/components/progress-bar/YProgressBar.js +117 -0
- package/lib/components/progress-bar/YProgressBar.js.map +1 -0
- package/lib/components/progress-bar/index.js +2 -0
- package/lib/components/progress-bar/index.js.map +1 -0
- package/lib/components/progress-ring/YProgressRing.js +128 -0
- package/lib/components/progress-ring/YProgressRing.js.map +1 -0
- package/lib/components/progress-ring/index.js +2 -0
- package/lib/components/progress-ring/index.js.map +1 -0
- package/lib/components/select/YSelect.js +344 -0
- package/lib/components/select/YSelect.js.map +1 -0
- package/lib/components/select/index.js +2 -0
- package/lib/components/select/index.js.map +1 -0
- package/lib/components/slider/YSlider.js +26 -0
- package/lib/components/slider/YSlider.js.map +1 -0
- package/lib/components/slider/index.js +2 -0
- package/lib/components/slider/index.js.map +1 -0
- package/lib/components/snackbar/YSnackbar.js +209 -0
- package/lib/components/snackbar/YSnackbar.js.map +1 -0
- package/lib/components/snackbar/index.js +2 -0
- package/lib/components/snackbar/index.js.map +1 -0
- package/lib/components/switch/YSwitch.js +184 -0
- package/lib/components/switch/YSwitch.js.map +1 -0
- package/lib/components/switch/index.js +2 -0
- package/lib/components/switch/index.js.map +1 -0
- package/lib/components/tab/YTab.js +64 -0
- package/lib/components/tab/YTab.js.map +1 -0
- package/lib/components/tab/YTabs.js +86 -0
- package/lib/components/tab/YTabs.js.map +1 -0
- package/lib/components/tab/index.js +4 -0
- package/lib/components/tab/index.js.map +1 -0
- package/lib/components/tab/shared.js +2 -0
- package/lib/components/tab/shared.js.map +1 -0
- package/lib/components/tab/types.js +2 -0
- package/lib/components/tab/types.js.map +1 -0
- package/lib/components/table/YDataTable.js +182 -0
- package/lib/components/table/YDataTable.js.map +1 -0
- package/lib/components/table/YDataTableBody.js +131 -0
- package/lib/components/table/YDataTableBody.js.map +1 -0
- package/lib/components/table/YDataTableCell.js +78 -0
- package/lib/components/table/YDataTableCell.js.map +1 -0
- package/lib/components/table/YDataTableControl.js +46 -0
- package/lib/components/table/YDataTableControl.js.map +1 -0
- package/lib/components/table/YDataTableHead.js +172 -0
- package/lib/components/table/YDataTableHead.js.map +1 -0
- package/lib/components/table/YDataTableLayer.js +29 -0
- package/lib/components/table/YDataTableLayer.js.map +1 -0
- package/lib/components/table/YDataTableRow.js +150 -0
- package/lib/components/table/YDataTableRow.js.map +1 -0
- package/lib/components/table/YDataTableServer.js +173 -0
- package/lib/components/table/YDataTableServer.js.map +1 -0
- package/lib/components/table/YTable.js +77 -0
- package/lib/components/table/YTable.js.map +1 -0
- package/lib/components/table/composibles/header.js +127 -0
- package/lib/components/table/composibles/header.js.map +1 -0
- package/lib/components/table/composibles/items.js +52 -0
- package/lib/components/table/composibles/items.js.map +1 -0
- package/lib/components/table/composibles/measure.js +39 -0
- package/lib/components/table/composibles/measure.js.map +1 -0
- package/lib/components/table/composibles/options.js +33 -0
- package/lib/components/table/composibles/options.js.map +1 -0
- package/lib/components/table/composibles/pagination.js +99 -0
- package/lib/components/table/composibles/pagination.js.map +1 -0
- package/lib/components/table/composibles/selection.js +196 -0
- package/lib/components/table/composibles/selection.js.map +1 -0
- package/lib/components/table/composibles/sorted-items.js +50 -0
- package/lib/components/table/composibles/sorted-items.js.map +1 -0
- package/lib/components/table/composibles/sorting.js +73 -0
- package/lib/components/table/composibles/sorting.js.map +1 -0
- package/lib/components/table/index.js +9 -0
- package/lib/components/table/index.js.map +1 -0
- package/lib/components/table/types/common.js +2 -0
- package/lib/components/table/types/common.js.map +1 -0
- package/lib/components/table/types/header.js +2 -0
- package/lib/components/table/types/header.js.map +1 -0
- package/lib/components/table/types/index.js +2 -0
- package/lib/components/table/types/index.js.map +1 -0
- package/lib/components/table/types/item.js +2 -0
- package/lib/components/table/types/item.js.map +1 -0
- package/lib/components/table/types/row.js +2 -0
- package/lib/components/table/types/row.js.map +1 -0
- package/lib/components/text-ellipsis/YTextEllipsis.js +66 -0
- package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -0
- package/lib/components/text-ellipsis/index.js +2 -0
- package/lib/components/text-ellipsis/index.js.map +1 -0
- package/lib/components/text-highlighter/YTextHighlighter.js +95 -0
- package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -0
- package/lib/components/text-highlighter/index.js +2 -0
- package/lib/components/text-highlighter/index.js.map +1 -0
- package/lib/components/text-interpolation/YTi.js +47 -0
- package/lib/components/text-interpolation/YTi.js.map +1 -0
- package/lib/components/text-interpolation/index.js +2 -0
- package/lib/components/text-interpolation/index.js.map +1 -0
- package/lib/components/textarea/YTextarea.js +157 -0
- package/lib/components/textarea/YTextarea.js.map +1 -0
- package/lib/components/textarea/index.js +2 -0
- package/lib/components/textarea/index.js.map +1 -0
- package/lib/components/toggle-button/YToggleButton.js +2 -0
- package/lib/components/toggle-button/YToggleButton.js.map +1 -0
- package/lib/components/toggle-button/index.js +2 -0
- package/lib/components/toggle-button/index.js.map +1 -0
- package/lib/components/tooltip/YTooltip.js +157 -0
- package/lib/components/tooltip/YTooltip.js.map +1 -0
- package/lib/components/tooltip/index.js +2 -0
- package/lib/components/tooltip/index.js.map +1 -0
- package/lib/components/transitions/expand-transition.js +109 -0
- package/lib/components/transitions/expand-transition.js.map +1 -0
- package/lib/components/transitions/index.js +4 -0
- package/lib/components/transitions/index.js.map +1 -0
- package/lib/components/tree-view/YTreeView.js +289 -0
- package/lib/components/tree-view/YTreeView.js.map +1 -0
- package/lib/components/tree-view/YTreeViewNode.js +250 -0
- package/lib/components/tree-view/YTreeViewNode.js.map +1 -0
- package/lib/components/tree-view/index.js +3 -0
- package/lib/components/tree-view/index.js.map +1 -0
- package/lib/components/tree-view/tree-view.js +179 -0
- package/lib/components/tree-view/tree-view.js.map +1 -0
- package/lib/components/tree-view/types.js +2 -0
- package/lib/components/tree-view/types.js.map +1 -0
- package/lib/components/tree-view/util.js +40 -0
- package/lib/components/tree-view/util.js.map +1 -0
- package/lib/composables/choice-link.js +13 -0
- package/lib/composables/choice-link.js.map +1 -0
- package/lib/composables/choice.js +187 -0
- package/lib/composables/choice.js.map +1 -0
- package/lib/composables/communication.js +55 -0
- package/lib/composables/communication.js.map +1 -0
- package/lib/composables/component.js +8 -0
- package/lib/composables/component.js.map +1 -0
- package/lib/composables/coordinate/arrangement.js +14 -0
- package/lib/composables/coordinate/arrangement.js.map +1 -0
- package/lib/composables/coordinate/index.js +67 -0
- package/lib/composables/coordinate/index.js.map +1 -0
- package/lib/composables/coordinate/levitation.js +315 -0
- package/lib/composables/coordinate/levitation.js.map +1 -0
- package/lib/composables/coordinate/types.js +2 -0
- package/lib/composables/coordinate/types.js.map +1 -0
- package/lib/composables/coordinate/utils/point.js +55 -0
- package/lib/composables/coordinate/utils/point.js.map +1 -0
- package/lib/composables/date/factory.js +12 -0
- package/lib/composables/date/factory.js.map +1 -0
- package/lib/composables/date/index.js +20 -0
- package/lib/composables/date/index.js.map +1 -0
- package/lib/composables/date/setting.js +11 -0
- package/lib/composables/date/setting.js.map +1 -0
- package/lib/composables/date/types.js +2 -0
- package/lib/composables/date/types.js.map +1 -0
- package/lib/composables/defaults/index.js +99 -0
- package/lib/composables/defaults/index.js.map +1 -0
- package/lib/composables/defaults/share.js +2 -0
- package/lib/composables/defaults/share.js.map +1 -0
- package/lib/composables/defaults/types.js +2 -0
- package/lib/composables/defaults/types.js.map +1 -0
- package/lib/composables/dimension.js +26 -0
- package/lib/composables/dimension.js.map +1 -0
- package/lib/composables/focus.js +29 -0
- package/lib/composables/focus.js.map +1 -0
- package/lib/composables/form.js +100 -0
- package/lib/composables/form.js.map +1 -0
- package/lib/composables/i18n/index.js +30 -0
- package/lib/composables/i18n/index.js.map +1 -0
- package/lib/composables/i18n/locale.js +5 -0
- package/lib/composables/i18n/locale.js.map +1 -0
- package/lib/composables/i18n/rtl.js +34 -0
- package/lib/composables/i18n/rtl.js.map +1 -0
- package/lib/composables/i18n/share.js +2 -0
- package/lib/composables/i18n/share.js.map +1 -0
- package/lib/composables/icon.js +164 -0
- package/lib/composables/icon.js.map +1 -0
- package/lib/composables/index.js +11 -0
- package/lib/composables/index.js.map +1 -0
- package/lib/composables/layer-group.js +66 -0
- package/lib/composables/layer-group.js.map +1 -0
- package/lib/composables/layout.js +13 -0
- package/lib/composables/layout.js.map +1 -0
- package/lib/composables/list-items.js +66 -0
- package/lib/composables/list-items.js.map +1 -0
- package/lib/composables/progress.js +26 -0
- package/lib/composables/progress.js.map +1 -0
- package/lib/composables/ref.js +13 -0
- package/lib/composables/ref.js.map +1 -0
- package/lib/composables/resize-observer.js +33 -0
- package/lib/composables/resize-observer.js.map +1 -0
- package/lib/composables/scope.js +26 -0
- package/lib/composables/scope.js.map +1 -0
- package/lib/composables/style-color.js +37 -0
- package/lib/composables/style-color.js.map +1 -0
- package/lib/composables/theme/factory.js +47 -0
- package/lib/composables/theme/factory.js.map +1 -0
- package/lib/composables/theme/helper.js +14 -0
- package/lib/composables/theme/helper.js.map +1 -0
- package/lib/composables/theme/index.js +187 -0
- package/lib/composables/theme/index.js.map +1 -0
- package/lib/composables/theme/setting.js +112 -0
- package/lib/composables/theme/setting.js.map +1 -0
- package/lib/composables/theme/types.js +2 -0
- package/lib/composables/theme/types.js.map +1 -0
- package/lib/composables/timing.js +102 -0
- package/lib/composables/timing.js.map +1 -0
- package/lib/composables/transition.js +51 -0
- package/lib/composables/transition.js.map +1 -0
- package/lib/composables/validation.js +126 -0
- package/lib/composables/validation.js.map +1 -0
- package/lib/composables/vue-router.js +32 -0
- package/lib/composables/vue-router.js.map +1 -0
- package/lib/directives/complement-click/index.js +78 -0
- package/lib/directives/complement-click/index.js.map +1 -0
- package/lib/directives/plate-wave/index.js +100 -0
- package/lib/directives/plate-wave/index.js.map +1 -0
- package/lib/directives/theme-class.js +24 -0
- package/lib/directives/theme-class.js.map +1 -0
- package/lib/etc/index.js +6 -0
- package/lib/etc/index.js.map +1 -0
- package/lib/i18n/built-in.js +77 -0
- package/lib/i18n/built-in.js.map +1 -0
- package/lib/i18n/config.js +82 -0
- package/lib/i18n/config.js.map +1 -0
- package/lib/i18n/types.js +2 -0
- package/lib/i18n/types.js.map +1 -0
- package/lib/index.js +103 -0
- package/lib/index.js.map +1 -0
- package/lib/locales/en.js +6 -0
- package/lib/locales/en.js.map +1 -0
- package/lib/locales/index.js +3 -0
- package/lib/locales/index.js.map +1 -0
- package/lib/locales/ko.js +6 -0
- package/lib/locales/ko.js.map +1 -0
- package/lib/mixins/di.js +19 -0
- package/lib/mixins/di.js.map +1 -0
- package/lib/mixins/rebind-attrs.js +37 -0
- package/lib/mixins/rebind-attrs.js.map +1 -0
- package/lib/types/index.js +2 -0
- package/lib/types/index.js.map +1 -0
- package/lib/util/anchor.js +53 -0
- package/lib/util/anchor.js.map +1 -0
- package/lib/util/array.js +13 -0
- package/lib/util/array.js.map +1 -0
- package/lib/util/collection.js +10 -0
- package/lib/util/collection.js.map +1 -0
- package/lib/util/color/apca.js +201 -0
- package/lib/util/color/apca.js.map +1 -0
- package/lib/util/color/const.js +6 -0
- package/lib/util/color/const.js.map +1 -0
- package/lib/util/color/contrast/contrast.js +149 -0
- package/lib/util/color/contrast/contrast.js.map +1 -0
- package/lib/util/color/conversion.js +310 -0
- package/lib/util/color/conversion.js.map +1 -0
- package/lib/util/color/hct/cam16.js +349 -0
- package/lib/util/color/hct/cam16.js.map +1 -0
- package/lib/util/color/hct/hct-solver.js +389 -0
- package/lib/util/color/hct/hct-solver.js.map +1 -0
- package/lib/util/color/hct/hct.js +153 -0
- package/lib/util/color/hct/hct.js.map +1 -0
- package/lib/util/color/hct/viewing-conditions.js +110 -0
- package/lib/util/color/hct/viewing-conditions.js.map +1 -0
- package/lib/util/color/index.js +40 -0
- package/lib/util/color/index.js.map +1 -0
- package/lib/util/color/palettes/core-palette.js +99 -0
- package/lib/util/color/palettes/core-palette.js.map +1 -0
- package/lib/util/color/palettes/tonal-palette.js +112 -0
- package/lib/util/color/palettes/tonal-palette.js.map +1 -0
- package/lib/util/color/types.js +2 -0
- package/lib/util/color/types.js.map +1 -0
- package/lib/util/color/utils/math-utils.js +139 -0
- package/lib/util/color/utils/math-utils.js.map +1 -0
- package/lib/util/common.js +107 -0
- package/lib/util/common.js.map +1 -0
- package/lib/util/component/component.js +26 -0
- package/lib/util/component/component.js.map +1 -0
- package/lib/util/component/index.js +65 -0
- package/lib/util/component/index.js.map +1 -0
- package/lib/util/component/inject-self.js +10 -0
- package/lib/util/component/inject-self.js.map +1 -0
- package/lib/util/component/props.js +41 -0
- package/lib/util/component/props.js.map +1 -0
- package/lib/util/component/types.js +2 -0
- package/lib/util/component/types.js.map +1 -0
- package/lib/util/date/adapters/yuyeon-date-adapter.js +111 -0
- package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -0
- package/lib/util/date/built-in.js +416 -0
- package/lib/util/date/built-in.js.map +1 -0
- package/lib/util/date/index.js +4 -0
- package/lib/util/date/index.js.map +1 -0
- package/lib/util/date/types.js +2 -0
- package/lib/util/date/types.js.map +1 -0
- package/lib/util/debounce.js +114 -0
- package/lib/util/debounce.js.map +1 -0
- package/lib/util/dom.js +23 -0
- package/lib/util/dom.js.map +1 -0
- package/lib/util/environments.js +8 -0
- package/lib/util/environments.js.map +1 -0
- package/lib/util/frame-scheduler.js +29 -0
- package/lib/util/frame-scheduler.js.map +1 -0
- package/lib/util/index.js +17 -0
- package/lib/util/index.js.map +1 -0
- package/lib/util/reactivity.js +19 -0
- package/lib/util/reactivity.js.map +1 -0
- package/lib/util/rect.js +39 -0
- package/lib/util/rect.js.map +1 -0
- package/lib/util/scroll.js +28 -0
- package/lib/util/scroll.js.map +1 -0
- package/lib/util/string.js +69 -0
- package/lib/util/string.js.map +1 -0
- package/lib/util/ui.js +60 -0
- package/lib/util/ui.js.map +1 -0
- package/lib/util/validation.js +5 -0
- package/lib/util/validation.js.map +1 -0
- package/package.json +12 -12
- package/lib/abstract/items.mjs +0 -20
- package/lib/abstract/items.mjs.map +0 -1
- package/lib/components/alert/YAlert.mjs +0 -83
- package/lib/components/alert/YAlert.mjs.map +0 -1
- package/lib/components/alert/index.mjs +0 -2
- package/lib/components/alert/index.mjs.map +0 -1
- package/lib/components/app/YApp.mjs +0 -21
- package/lib/components/app/YApp.mjs.map +0 -1
- package/lib/components/app/index.mjs +0 -2
- package/lib/components/app/index.mjs.map +0 -1
- package/lib/components/badge/YBadge.mjs +0 -83
- package/lib/components/badge/YBadge.mjs.map +0 -1
- package/lib/components/badge/index.mjs +0 -2
- package/lib/components/badge/index.mjs.map +0 -1
- package/lib/components/bench/YBench.mjs +0 -43
- package/lib/components/bench/YBench.mjs.map +0 -1
- package/lib/components/bench/index.mjs +0 -2
- package/lib/components/bench/index.mjs.map +0 -1
- package/lib/components/button/YButton.mjs +0 -169
- package/lib/components/button/YButton.mjs.map +0 -1
- package/lib/components/button/index.mjs +0 -2
- package/lib/components/button/index.mjs.map +0 -1
- package/lib/components/card/YCard.mjs +0 -28
- package/lib/components/card/YCard.mjs.map +0 -1
- package/lib/components/card/YCardBody.mjs +0 -11
- package/lib/components/card/YCardBody.mjs.map +0 -1
- package/lib/components/card/YCardFooter.mjs +0 -11
- package/lib/components/card/YCardFooter.mjs.map +0 -1
- package/lib/components/card/YCardHeader.mjs +0 -11
- package/lib/components/card/YCardHeader.mjs.map +0 -1
- package/lib/components/card/index.mjs +0 -5
- package/lib/components/card/index.mjs.map +0 -1
- package/lib/components/checkbox/YCheckbox.mjs +0 -160
- package/lib/components/checkbox/YCheckbox.mjs.map +0 -1
- package/lib/components/checkbox/YInputCheckbox.mjs +0 -114
- package/lib/components/checkbox/YInputCheckbox.mjs.map +0 -1
- package/lib/components/checkbox/index.mjs +0 -4
- package/lib/components/checkbox/index.mjs.map +0 -1
- package/lib/components/chip/YChip.mjs +0 -39
- package/lib/components/chip/YChip.mjs.map +0 -1
- package/lib/components/chip/index.mjs +0 -2
- package/lib/components/chip/index.mjs.map +0 -1
- package/lib/components/date-picker/YDateCalendar.mjs +0 -243
- package/lib/components/date-picker/YDateCalendar.mjs.map +0 -1
- package/lib/components/date-picker/YDatePicker.mjs +0 -132
- package/lib/components/date-picker/YDatePicker.mjs.map +0 -1
- package/lib/components/date-picker/YDatePickerControl.mjs +0 -107
- package/lib/components/date-picker/YDatePickerControl.mjs.map +0 -1
- package/lib/components/date-picker/YMonthPicker.mjs +0 -64
- package/lib/components/date-picker/YMonthPicker.mjs.map +0 -1
- package/lib/components/date-picker/YYearPicker.mjs +0 -87
- package/lib/components/date-picker/YYearPicker.mjs.map +0 -1
- package/lib/components/date-picker/index.mjs +0 -4
- package/lib/components/date-picker/index.mjs.map +0 -1
- package/lib/components/default-provider/YDefaultProvider.mjs +0 -2
- package/lib/components/default-provider/YDefaultProvider.mjs.map +0 -1
- package/lib/components/default-provider/index.mjs +0 -2
- package/lib/components/default-provider/index.mjs.map +0 -1
- package/lib/components/dialog/YDialog.mjs +0 -213
- package/lib/components/dialog/YDialog.mjs.map +0 -1
- package/lib/components/dialog/index.mjs +0 -2
- package/lib/components/dialog/index.mjs.map +0 -1
- package/lib/components/divider/YDivider.mjs +0 -20
- package/lib/components/divider/YDivider.mjs.map +0 -1
- package/lib/components/divider/index.mjs +0 -2
- package/lib/components/divider/index.mjs.map +0 -1
- package/lib/components/draggable/YDraggable.mjs +0 -95
- package/lib/components/draggable/YDraggable.mjs.map +0 -1
- package/lib/components/dropdown/YDropdown.mjs +0 -109
- package/lib/components/dropdown/YDropdown.mjs.map +0 -1
- package/lib/components/dropdown/index.mjs +0 -2
- package/lib/components/dropdown/index.mjs.map +0 -1
- package/lib/components/field-input/YFieldInput.mjs +0 -229
- package/lib/components/field-input/YFieldInput.mjs.map +0 -1
- package/lib/components/field-input/index.mjs +0 -2
- package/lib/components/field-input/index.mjs.map +0 -1
- package/lib/components/form/YForm.mjs +0 -65
- package/lib/components/form/YForm.mjs.map +0 -1
- package/lib/components/form/index.mjs +0 -2
- package/lib/components/form/index.mjs.map +0 -1
- package/lib/components/hover/YHover.mjs +0 -54
- package/lib/components/hover/YHover.mjs.map +0 -1
- package/lib/components/hover/index.mjs +0 -2
- package/lib/components/hover/index.mjs.map +0 -1
- package/lib/components/icon/YIcon.mjs +0 -63
- package/lib/components/icon/YIcon.mjs.map +0 -1
- package/lib/components/icon/index.mjs +0 -2
- package/lib/components/icon/index.mjs.map +0 -1
- package/lib/components/icon/poly.mjs +0 -57
- package/lib/components/icon/poly.mjs.map +0 -1
- package/lib/components/icons/YIconCheckbox.mjs +0 -32
- package/lib/components/icons/YIconCheckbox.mjs.map +0 -1
- package/lib/components/icons/YIconClear.mjs +0 -16
- package/lib/components/icons/YIconClear.mjs.map +0 -1
- package/lib/components/icons/YIconDropdown.mjs +0 -16
- package/lib/components/icons/YIconDropdown.mjs.map +0 -1
- package/lib/components/icons/YIconExpand.mjs +0 -20
- package/lib/components/icons/YIconExpand.mjs.map +0 -1
- package/lib/components/icons/YIconPageControl.mjs +0 -32
- package/lib/components/icons/YIconPageControl.mjs.map +0 -1
- package/lib/components/icons/YIconSort.mjs +0 -45
- package/lib/components/icons/YIconSort.mjs.map +0 -1
- package/lib/components/icons/index.mjs +0 -32
- package/lib/components/icons/index.mjs.map +0 -1
- package/lib/components/img/YImg.mjs +0 -173
- package/lib/components/img/YImg.mjs.map +0 -1
- package/lib/components/img/index.mjs +0 -2
- package/lib/components/img/index.mjs.map +0 -1
- package/lib/components/index.mjs +0 -39
- package/lib/components/index.mjs.map +0 -1
- package/lib/components/input/YInput.mjs +0 -258
- package/lib/components/input/YInput.mjs.map +0 -1
- package/lib/components/input/index.mjs +0 -2
- package/lib/components/input/index.mjs.map +0 -1
- package/lib/components/ip-field/YIpv4Field.mjs +0 -297
- package/lib/components/ip-field/YIpv4Field.mjs.map +0 -1
- package/lib/components/ip-field/index.mjs +0 -2
- package/lib/components/ip-field/index.mjs.map +0 -1
- package/lib/components/layer/YLayer.mjs +0 -326
- package/lib/components/layer/YLayer.mjs.map +0 -1
- package/lib/components/layer/active-delay.mjs +0 -28
- package/lib/components/layer/active-delay.mjs.map +0 -1
- package/lib/components/layer/active-stack.mjs +0 -52
- package/lib/components/layer/active-stack.mjs.map +0 -1
- package/lib/components/layer/base.mjs +0 -87
- package/lib/components/layer/base.mjs.map +0 -1
- package/lib/components/layer/content.mjs +0 -22
- package/lib/components/layer/content.mjs.map +0 -1
- package/lib/components/layer/index.mjs +0 -2
- package/lib/components/layer/index.mjs.map +0 -1
- package/lib/components/layer/scroll-strategies.mjs +0 -132
- package/lib/components/layer/scroll-strategies.mjs.map +0 -1
- package/lib/components/list/YList.mjs +0 -55
- package/lib/components/list/YList.mjs.map +0 -1
- package/lib/components/list/YListItem.mjs +0 -59
- package/lib/components/list/YListItem.mjs.map +0 -1
- package/lib/components/list/index.mjs +0 -3
- package/lib/components/list/index.mjs.map +0 -1
- package/lib/components/loading/YSpinnerRing.mjs +0 -25
- package/lib/components/loading/YSpinnerRing.mjs.map +0 -1
- package/lib/components/loading/index.mjs +0 -2
- package/lib/components/loading/index.mjs.map +0 -1
- package/lib/components/menu/YMenu.mjs +0 -211
- package/lib/components/menu/YMenu.mjs.map +0 -1
- package/lib/components/menu/index.mjs +0 -2
- package/lib/components/menu/index.mjs.map +0 -1
- package/lib/components/navigation/YNavigation.mjs +0 -18
- package/lib/components/navigation/YNavigation.mjs.map +0 -1
- package/lib/components/navigation/index.mjs +0 -2
- package/lib/components/navigation/index.mjs.map +0 -1
- package/lib/components/pagination/YPagination.mjs +0 -288
- package/lib/components/pagination/YPagination.mjs.map +0 -1
- package/lib/components/pagination/index.mjs +0 -2
- package/lib/components/pagination/index.mjs.map +0 -1
- package/lib/components/panel/YDividePanel.mjs +0 -90
- package/lib/components/panel/YDividePanel.mjs.map +0 -1
- package/lib/components/panel/index.mjs +0 -2
- package/lib/components/panel/index.mjs.map +0 -1
- package/lib/components/plate/YPlate.mjs +0 -28
- package/lib/components/plate/YPlate.mjs.map +0 -1
- package/lib/components/plate/index.mjs +0 -2
- package/lib/components/plate/index.mjs.map +0 -1
- package/lib/components/progress-bar/YProgressBar.mjs +0 -117
- package/lib/components/progress-bar/YProgressBar.mjs.map +0 -1
- package/lib/components/progress-bar/index.mjs +0 -2
- package/lib/components/progress-bar/index.mjs.map +0 -1
- package/lib/components/progress-ring/YProgressRing.mjs +0 -128
- package/lib/components/progress-ring/YProgressRing.mjs.map +0 -1
- package/lib/components/progress-ring/index.mjs +0 -2
- package/lib/components/progress-ring/index.mjs.map +0 -1
- package/lib/components/select/YSelect.mjs +0 -344
- package/lib/components/select/YSelect.mjs.map +0 -1
- package/lib/components/select/index.mjs +0 -2
- package/lib/components/select/index.mjs.map +0 -1
- package/lib/components/slider/YSlider.mjs +0 -26
- package/lib/components/slider/YSlider.mjs.map +0 -1
- package/lib/components/slider/index.mjs +0 -2
- package/lib/components/slider/index.mjs.map +0 -1
- package/lib/components/snackbar/YSnackbar.mjs +0 -209
- package/lib/components/snackbar/YSnackbar.mjs.map +0 -1
- package/lib/components/snackbar/index.mjs +0 -2
- package/lib/components/snackbar/index.mjs.map +0 -1
- package/lib/components/switch/YSwitch.mjs +0 -184
- package/lib/components/switch/YSwitch.mjs.map +0 -1
- package/lib/components/switch/index.mjs +0 -2
- package/lib/components/switch/index.mjs.map +0 -1
- package/lib/components/tab/YTab.mjs +0 -64
- package/lib/components/tab/YTab.mjs.map +0 -1
- package/lib/components/tab/YTabs.mjs +0 -86
- package/lib/components/tab/YTabs.mjs.map +0 -1
- package/lib/components/tab/index.mjs +0 -4
- package/lib/components/tab/index.mjs.map +0 -1
- package/lib/components/tab/shared.mjs +0 -2
- package/lib/components/tab/shared.mjs.map +0 -1
- package/lib/components/tab/types.mjs +0 -2
- package/lib/components/tab/types.mjs.map +0 -1
- package/lib/components/table/YDataTable.mjs +0 -182
- package/lib/components/table/YDataTable.mjs.map +0 -1
- package/lib/components/table/YDataTableBody.mjs +0 -131
- package/lib/components/table/YDataTableBody.mjs.map +0 -1
- package/lib/components/table/YDataTableCell.mjs +0 -78
- package/lib/components/table/YDataTableCell.mjs.map +0 -1
- package/lib/components/table/YDataTableControl.mjs +0 -46
- package/lib/components/table/YDataTableControl.mjs.map +0 -1
- package/lib/components/table/YDataTableHead.mjs +0 -172
- package/lib/components/table/YDataTableHead.mjs.map +0 -1
- package/lib/components/table/YDataTableLayer.mjs +0 -29
- package/lib/components/table/YDataTableLayer.mjs.map +0 -1
- package/lib/components/table/YDataTableRow.mjs +0 -150
- package/lib/components/table/YDataTableRow.mjs.map +0 -1
- package/lib/components/table/YDataTableServer.mjs +0 -173
- package/lib/components/table/YDataTableServer.mjs.map +0 -1
- package/lib/components/table/YTable.mjs +0 -77
- package/lib/components/table/YTable.mjs.map +0 -1
- package/lib/components/table/composibles/header.mjs +0 -127
- package/lib/components/table/composibles/header.mjs.map +0 -1
- package/lib/components/table/composibles/items.mjs +0 -52
- package/lib/components/table/composibles/items.mjs.map +0 -1
- package/lib/components/table/composibles/measure.mjs +0 -39
- package/lib/components/table/composibles/measure.mjs.map +0 -1
- package/lib/components/table/composibles/options.mjs +0 -33
- package/lib/components/table/composibles/options.mjs.map +0 -1
- package/lib/components/table/composibles/pagination.mjs +0 -99
- package/lib/components/table/composibles/pagination.mjs.map +0 -1
- package/lib/components/table/composibles/selection.mjs +0 -196
- package/lib/components/table/composibles/selection.mjs.map +0 -1
- package/lib/components/table/composibles/sorted-items.mjs +0 -50
- package/lib/components/table/composibles/sorted-items.mjs.map +0 -1
- package/lib/components/table/composibles/sorting.mjs +0 -73
- package/lib/components/table/composibles/sorting.mjs.map +0 -1
- package/lib/components/table/index.mjs +0 -9
- package/lib/components/table/index.mjs.map +0 -1
- package/lib/components/table/types/common.mjs +0 -2
- package/lib/components/table/types/common.mjs.map +0 -1
- package/lib/components/table/types/header.mjs +0 -2
- package/lib/components/table/types/header.mjs.map +0 -1
- package/lib/components/table/types/index.mjs +0 -2
- package/lib/components/table/types/index.mjs.map +0 -1
- package/lib/components/table/types/item.mjs +0 -2
- package/lib/components/table/types/item.mjs.map +0 -1
- package/lib/components/table/types/row.mjs +0 -2
- package/lib/components/table/types/row.mjs.map +0 -1
- package/lib/components/text-ellipsis/YTextEllipsis.mjs +0 -66
- package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +0 -1
- package/lib/components/text-ellipsis/index.mjs +0 -2
- package/lib/components/text-ellipsis/index.mjs.map +0 -1
- package/lib/components/text-highlighter/YTextHighlighter.mjs +0 -95
- package/lib/components/text-highlighter/YTextHighlighter.mjs.map +0 -1
- package/lib/components/text-highlighter/index.mjs +0 -2
- package/lib/components/text-highlighter/index.mjs.map +0 -1
- package/lib/components/text-interpolation/YTi.mjs +0 -47
- package/lib/components/text-interpolation/YTi.mjs.map +0 -1
- package/lib/components/text-interpolation/index.mjs +0 -2
- package/lib/components/text-interpolation/index.mjs.map +0 -1
- package/lib/components/textarea/YTextarea.mjs +0 -157
- package/lib/components/textarea/YTextarea.mjs.map +0 -1
- package/lib/components/textarea/index.mjs +0 -2
- package/lib/components/textarea/index.mjs.map +0 -1
- package/lib/components/toggle-button/YToggleButton.mjs +0 -2
- package/lib/components/toggle-button/YToggleButton.mjs.map +0 -1
- package/lib/components/toggle-button/index.mjs +0 -2
- package/lib/components/toggle-button/index.mjs.map +0 -1
- package/lib/components/tooltip/YTooltip.mjs +0 -157
- package/lib/components/tooltip/YTooltip.mjs.map +0 -1
- package/lib/components/tooltip/index.mjs +0 -2
- package/lib/components/tooltip/index.mjs.map +0 -1
- package/lib/components/transitions/expand-transition.mjs +0 -109
- package/lib/components/transitions/expand-transition.mjs.map +0 -1
- package/lib/components/transitions/index.mjs +0 -4
- package/lib/components/transitions/index.mjs.map +0 -1
- package/lib/components/tree-view/YTreeView.mjs +0 -289
- package/lib/components/tree-view/YTreeView.mjs.map +0 -1
- package/lib/components/tree-view/YTreeViewNode.mjs +0 -250
- package/lib/components/tree-view/YTreeViewNode.mjs.map +0 -1
- package/lib/components/tree-view/index.mjs +0 -3
- package/lib/components/tree-view/index.mjs.map +0 -1
- package/lib/components/tree-view/tree-view.mjs +0 -179
- package/lib/components/tree-view/tree-view.mjs.map +0 -1
- package/lib/components/tree-view/types.mjs +0 -2
- package/lib/components/tree-view/types.mjs.map +0 -1
- package/lib/components/tree-view/util.mjs +0 -40
- package/lib/components/tree-view/util.mjs.map +0 -1
- package/lib/composables/choice-link.mjs +0 -13
- package/lib/composables/choice-link.mjs.map +0 -1
- package/lib/composables/choice.mjs +0 -187
- package/lib/composables/choice.mjs.map +0 -1
- package/lib/composables/communication.mjs +0 -55
- package/lib/composables/communication.mjs.map +0 -1
- package/lib/composables/component.mjs +0 -8
- package/lib/composables/component.mjs.map +0 -1
- package/lib/composables/coordinate/arrangement.mjs +0 -14
- package/lib/composables/coordinate/arrangement.mjs.map +0 -1
- package/lib/composables/coordinate/index.mjs +0 -67
- package/lib/composables/coordinate/index.mjs.map +0 -1
- package/lib/composables/coordinate/levitation.mjs +0 -315
- package/lib/composables/coordinate/levitation.mjs.map +0 -1
- package/lib/composables/coordinate/types.mjs +0 -2
- package/lib/composables/coordinate/types.mjs.map +0 -1
- package/lib/composables/coordinate/utils/point.mjs +0 -55
- package/lib/composables/coordinate/utils/point.mjs.map +0 -1
- package/lib/composables/date/factory.mjs +0 -12
- package/lib/composables/date/factory.mjs.map +0 -1
- package/lib/composables/date/index.mjs +0 -20
- package/lib/composables/date/index.mjs.map +0 -1
- package/lib/composables/date/setting.mjs +0 -11
- package/lib/composables/date/setting.mjs.map +0 -1
- package/lib/composables/date/types.mjs +0 -2
- package/lib/composables/date/types.mjs.map +0 -1
- package/lib/composables/defaults/index.mjs +0 -99
- package/lib/composables/defaults/index.mjs.map +0 -1
- package/lib/composables/defaults/share.mjs +0 -2
- package/lib/composables/defaults/share.mjs.map +0 -1
- package/lib/composables/defaults/types.mjs +0 -2
- package/lib/composables/defaults/types.mjs.map +0 -1
- package/lib/composables/dimension.mjs +0 -26
- package/lib/composables/dimension.mjs.map +0 -1
- package/lib/composables/focus.mjs +0 -29
- package/lib/composables/focus.mjs.map +0 -1
- package/lib/composables/form.mjs +0 -100
- package/lib/composables/form.mjs.map +0 -1
- package/lib/composables/group.mjs +0 -194
- package/lib/composables/group.mjs.map +0 -1
- package/lib/composables/i18n/index.mjs +0 -30
- package/lib/composables/i18n/index.mjs.map +0 -1
- package/lib/composables/i18n/locale.mjs +0 -5
- package/lib/composables/i18n/locale.mjs.map +0 -1
- package/lib/composables/i18n/rtl.mjs +0 -34
- package/lib/composables/i18n/rtl.mjs.map +0 -1
- package/lib/composables/i18n/share.mjs +0 -2
- package/lib/composables/i18n/share.mjs.map +0 -1
- package/lib/composables/icon.mjs +0 -164
- package/lib/composables/icon.mjs.map +0 -1
- package/lib/composables/index.mjs +0 -11
- package/lib/composables/index.mjs.map +0 -1
- package/lib/composables/layer-group.mjs +0 -66
- package/lib/composables/layer-group.mjs.map +0 -1
- package/lib/composables/layout.mjs +0 -13
- package/lib/composables/layout.mjs.map +0 -1
- package/lib/composables/list-items.mjs +0 -66
- package/lib/composables/list-items.mjs.map +0 -1
- package/lib/composables/progress.mjs +0 -26
- package/lib/composables/progress.mjs.map +0 -1
- package/lib/composables/ref.mjs +0 -13
- package/lib/composables/ref.mjs.map +0 -1
- package/lib/composables/resize-observer.mjs +0 -33
- package/lib/composables/resize-observer.mjs.map +0 -1
- package/lib/composables/scope.mjs +0 -26
- package/lib/composables/scope.mjs.map +0 -1
- package/lib/composables/style-color.mjs +0 -37
- package/lib/composables/style-color.mjs.map +0 -1
- package/lib/composables/theme/factory.mjs +0 -47
- package/lib/composables/theme/factory.mjs.map +0 -1
- package/lib/composables/theme/helper.mjs +0 -14
- package/lib/composables/theme/helper.mjs.map +0 -1
- package/lib/composables/theme/index.mjs +0 -187
- package/lib/composables/theme/index.mjs.map +0 -1
- package/lib/composables/theme/setting.mjs +0 -112
- package/lib/composables/theme/setting.mjs.map +0 -1
- package/lib/composables/theme/types.mjs +0 -2
- package/lib/composables/theme/types.mjs.map +0 -1
- package/lib/composables/timing.mjs +0 -102
- package/lib/composables/timing.mjs.map +0 -1
- package/lib/composables/transition.mjs +0 -51
- package/lib/composables/transition.mjs.map +0 -1
- package/lib/composables/validation.mjs +0 -126
- package/lib/composables/validation.mjs.map +0 -1
- package/lib/composables/vue-router.mjs +0 -32
- package/lib/composables/vue-router.mjs.map +0 -1
- package/lib/directives/complement-click/index.mjs +0 -78
- package/lib/directives/complement-click/index.mjs.map +0 -1
- package/lib/directives/plate-wave/index.mjs +0 -100
- package/lib/directives/plate-wave/index.mjs.map +0 -1
- package/lib/directives/theme-class.mjs +0 -24
- package/lib/directives/theme-class.mjs.map +0 -1
- package/lib/etc/index.mjs +0 -6
- package/lib/etc/index.mjs.map +0 -1
- package/lib/i18n/built-in.mjs +0 -77
- package/lib/i18n/built-in.mjs.map +0 -1
- package/lib/i18n/config.mjs +0 -82
- package/lib/i18n/config.mjs.map +0 -1
- package/lib/i18n/types.mjs +0 -2
- package/lib/i18n/types.mjs.map +0 -1
- package/lib/index.mjs +0 -103
- package/lib/index.mjs.map +0 -1
- package/lib/locales/en.mjs +0 -6
- package/lib/locales/en.mjs.map +0 -1
- package/lib/locales/index.mjs +0 -3
- package/lib/locales/index.mjs.map +0 -1
- package/lib/locales/ko.mjs +0 -6
- package/lib/locales/ko.mjs.map +0 -1
- package/lib/mixins/di.mjs +0 -19
- package/lib/mixins/di.mjs.map +0 -1
- package/lib/mixins/rebind-attrs.mjs +0 -37
- package/lib/mixins/rebind-attrs.mjs.map +0 -1
- package/lib/types/index.mjs +0 -2
- package/lib/types/index.mjs.map +0 -1
- package/lib/util/anchor.mjs +0 -53
- package/lib/util/anchor.mjs.map +0 -1
- package/lib/util/array.mjs +0 -13
- package/lib/util/array.mjs.map +0 -1
- package/lib/util/collection.mjs +0 -10
- package/lib/util/collection.mjs.map +0 -1
- package/lib/util/color/apca.mjs +0 -201
- package/lib/util/color/apca.mjs.map +0 -1
- package/lib/util/color/const.mjs +0 -6
- package/lib/util/color/const.mjs.map +0 -1
- package/lib/util/color/contrast/contrast.mjs +0 -149
- package/lib/util/color/contrast/contrast.mjs.map +0 -1
- package/lib/util/color/conversion.mjs +0 -310
- package/lib/util/color/conversion.mjs.map +0 -1
- package/lib/util/color/hct/cam16.mjs +0 -349
- package/lib/util/color/hct/cam16.mjs.map +0 -1
- package/lib/util/color/hct/hct-solver.mjs +0 -389
- package/lib/util/color/hct/hct-solver.mjs.map +0 -1
- package/lib/util/color/hct/hct.mjs +0 -153
- package/lib/util/color/hct/hct.mjs.map +0 -1
- package/lib/util/color/hct/viewing-conditions.mjs +0 -110
- package/lib/util/color/hct/viewing-conditions.mjs.map +0 -1
- package/lib/util/color/index.mjs +0 -40
- package/lib/util/color/index.mjs.map +0 -1
- package/lib/util/color/palettes/core-palette.mjs +0 -99
- package/lib/util/color/palettes/core-palette.mjs.map +0 -1
- package/lib/util/color/palettes/tonal-palette.mjs +0 -112
- package/lib/util/color/palettes/tonal-palette.mjs.map +0 -1
- package/lib/util/color/types.mjs +0 -2
- package/lib/util/color/types.mjs.map +0 -1
- package/lib/util/color/utils/math-utils.mjs +0 -139
- package/lib/util/color/utils/math-utils.mjs.map +0 -1
- package/lib/util/common.mjs +0 -107
- package/lib/util/common.mjs.map +0 -1
- package/lib/util/component/component.mjs +0 -26
- package/lib/util/component/component.mjs.map +0 -1
- package/lib/util/component/index.mjs +0 -65
- package/lib/util/component/index.mjs.map +0 -1
- package/lib/util/component/inject-self.mjs +0 -10
- package/lib/util/component/inject-self.mjs.map +0 -1
- package/lib/util/component/props.mjs +0 -41
- package/lib/util/component/props.mjs.map +0 -1
- package/lib/util/component/types.mjs +0 -2
- package/lib/util/component/types.mjs.map +0 -1
- package/lib/util/date/adapters/yuyeon-date-adapter.mjs +0 -111
- package/lib/util/date/adapters/yuyeon-date-adapter.mjs.map +0 -1
- package/lib/util/date/built-in.mjs +0 -416
- package/lib/util/date/built-in.mjs.map +0 -1
- package/lib/util/date/index.mjs +0 -4
- package/lib/util/date/index.mjs.map +0 -1
- package/lib/util/date/types.mjs +0 -2
- package/lib/util/date/types.mjs.map +0 -1
- package/lib/util/debounce.mjs +0 -114
- package/lib/util/debounce.mjs.map +0 -1
- package/lib/util/dom.mjs +0 -23
- package/lib/util/dom.mjs.map +0 -1
- package/lib/util/environments.mjs +0 -8
- package/lib/util/environments.mjs.map +0 -1
- package/lib/util/frame-scheduler.mjs +0 -29
- package/lib/util/frame-scheduler.mjs.map +0 -1
- package/lib/util/index.mjs +0 -17
- package/lib/util/index.mjs.map +0 -1
- package/lib/util/parser.mjs +0 -31
- package/lib/util/parser.mjs.map +0 -1
- package/lib/util/reactivity.mjs +0 -19
- package/lib/util/reactivity.mjs.map +0 -1
- package/lib/util/rect.mjs +0 -39
- package/lib/util/rect.mjs.map +0 -1
- package/lib/util/scroll.mjs +0 -28
- package/lib/util/scroll.mjs.map +0 -1
- package/lib/util/string.mjs +0 -69
- package/lib/util/string.mjs.map +0 -1
- package/lib/util/ui.mjs +0 -60
- package/lib/util/ui.mjs.map +0 -1
- package/lib/util/validation.mjs +0 -5
- package/lib/util/validation.mjs.map +0 -1
- package/lib/util/vue-component/index.mjs +0 -63
- package/lib/util/vue-component/index.mjs.map +0 -1
- package/lib/util/vue-component/props.mjs +0 -37
- package/lib/util/vue-component/props.mjs.map +0 -1
- package/lib/util/vue-component/types.mjs +0 -2
- package/lib/util/vue-component/types.mjs.map +0 -1
- package/lib/util/vue-component.mjs +0 -102
- package/lib/util/vue-component.mjs.map +0 -1
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { computed, inject, provide } from 'vue';
|
|
2
|
+
import { useModelDuplex } from "../../../composables/communication.js";
|
|
3
|
+
import { wrapInArray } from "../../../util/array.js";
|
|
4
|
+
import { deepEqual, getPropertyFromItem } from "../../../util/common.js";
|
|
5
|
+
import { propsFactory } from "../../../util/component/index.js";
|
|
6
|
+
export const pressDataTableSelectionProps = propsFactory({
|
|
7
|
+
enableSelect: Boolean,
|
|
8
|
+
selectStrategy: {
|
|
9
|
+
type: [String, Object],
|
|
10
|
+
default: 'page'
|
|
11
|
+
},
|
|
12
|
+
modelValue: {
|
|
13
|
+
type: Array,
|
|
14
|
+
default: () => []
|
|
15
|
+
},
|
|
16
|
+
itemComparator: {
|
|
17
|
+
type: [Function, String],
|
|
18
|
+
default: () => deepEqual
|
|
19
|
+
}
|
|
20
|
+
}, 'YDataTable--selection');
|
|
21
|
+
const singleSelectStrategy = {
|
|
22
|
+
showSelectAll: false,
|
|
23
|
+
allSelected: () => [],
|
|
24
|
+
select: _ref => {
|
|
25
|
+
let {
|
|
26
|
+
items,
|
|
27
|
+
value
|
|
28
|
+
} = _ref;
|
|
29
|
+
return new Set(value ? [items[0]?.value] : []);
|
|
30
|
+
},
|
|
31
|
+
selectAll: _ref2 => {
|
|
32
|
+
let {
|
|
33
|
+
selected
|
|
34
|
+
} = _ref2;
|
|
35
|
+
return selected;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const pageSelectStrategy = {
|
|
39
|
+
showSelectAll: true,
|
|
40
|
+
allSelected: _ref3 => {
|
|
41
|
+
let {
|
|
42
|
+
pageItems
|
|
43
|
+
} = _ref3;
|
|
44
|
+
return pageItems;
|
|
45
|
+
},
|
|
46
|
+
select: _ref4 => {
|
|
47
|
+
let {
|
|
48
|
+
items,
|
|
49
|
+
value,
|
|
50
|
+
selected
|
|
51
|
+
} = _ref4;
|
|
52
|
+
for (const item of items) {
|
|
53
|
+
if (value) selected.add(item.value);else selected.delete(item.value);
|
|
54
|
+
}
|
|
55
|
+
return selected;
|
|
56
|
+
},
|
|
57
|
+
selectAll: _ref5 => {
|
|
58
|
+
let {
|
|
59
|
+
value,
|
|
60
|
+
pageItems,
|
|
61
|
+
selected
|
|
62
|
+
} = _ref5;
|
|
63
|
+
return pageSelectStrategy.select({
|
|
64
|
+
items: pageItems,
|
|
65
|
+
value,
|
|
66
|
+
selected
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const allSelectStrategy = {
|
|
71
|
+
showSelectAll: true,
|
|
72
|
+
allSelected: _ref6 => {
|
|
73
|
+
let {
|
|
74
|
+
allItems
|
|
75
|
+
} = _ref6;
|
|
76
|
+
return allItems;
|
|
77
|
+
},
|
|
78
|
+
select: _ref7 => {
|
|
79
|
+
let {
|
|
80
|
+
items,
|
|
81
|
+
value,
|
|
82
|
+
selected
|
|
83
|
+
} = _ref7;
|
|
84
|
+
for (const item of items) {
|
|
85
|
+
if (value) selected.add(item.value);else selected.delete(item.value);
|
|
86
|
+
}
|
|
87
|
+
return selected;
|
|
88
|
+
},
|
|
89
|
+
selectAll: _ref8 => {
|
|
90
|
+
let {
|
|
91
|
+
value,
|
|
92
|
+
allItems,
|
|
93
|
+
selected
|
|
94
|
+
} = _ref8;
|
|
95
|
+
return allSelectStrategy.select({
|
|
96
|
+
items: allItems,
|
|
97
|
+
value,
|
|
98
|
+
selected
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
export const Y_DATA_TABLE_SELECTION_KEY = Symbol.for('yuyeon.data-table.selection');
|
|
103
|
+
export function provideSelection(props, _ref9) {
|
|
104
|
+
let {
|
|
105
|
+
allItems,
|
|
106
|
+
pageItems
|
|
107
|
+
} = _ref9;
|
|
108
|
+
const selected = useModelDuplex(props, 'modelValue', props.modelValue, v => {
|
|
109
|
+
return new Set(wrapInArray(v).map(v => {
|
|
110
|
+
return allItems.value.find(item => {
|
|
111
|
+
const {
|
|
112
|
+
itemComparator
|
|
113
|
+
} = props;
|
|
114
|
+
if (typeof itemComparator === 'function') {
|
|
115
|
+
itemComparator(v, item.value);
|
|
116
|
+
}
|
|
117
|
+
return getPropertyFromItem(v, props.itemKey) === item.key;
|
|
118
|
+
})?.value ?? v;
|
|
119
|
+
}));
|
|
120
|
+
}, v => {
|
|
121
|
+
return [...v.values()];
|
|
122
|
+
});
|
|
123
|
+
const allSelectables = computed(() => allItems.value.filter(item => item.selectable));
|
|
124
|
+
const pageSelectables = computed(() => pageItems.value.filter(item => item.selectable));
|
|
125
|
+
const selectStrategy = computed(() => {
|
|
126
|
+
if (typeof props.selectStrategy === 'object') {
|
|
127
|
+
return props.selectStrategy;
|
|
128
|
+
}
|
|
129
|
+
switch (props.selectStrategy) {
|
|
130
|
+
case 'single':
|
|
131
|
+
return singleSelectStrategy;
|
|
132
|
+
case 'all':
|
|
133
|
+
return allSelectStrategy;
|
|
134
|
+
case 'page':
|
|
135
|
+
default:
|
|
136
|
+
return pageSelectStrategy;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
function isSelected(items) {
|
|
140
|
+
return wrapInArray(items).every(item => selected.value.has(item.value));
|
|
141
|
+
}
|
|
142
|
+
function isSomeSelected(items) {
|
|
143
|
+
return wrapInArray(items).some(item => selected.value.has(item.value));
|
|
144
|
+
}
|
|
145
|
+
function select(items, value) {
|
|
146
|
+
selected.value = selectStrategy.value.select({
|
|
147
|
+
items,
|
|
148
|
+
value,
|
|
149
|
+
selected: new Set(selected.value)
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
function toggleSelect(item) {
|
|
153
|
+
select([item], !isSelected([item]));
|
|
154
|
+
}
|
|
155
|
+
function selectAll(value) {
|
|
156
|
+
selected.value = selectStrategy.value.selectAll({
|
|
157
|
+
value,
|
|
158
|
+
allItems: allSelectables.value,
|
|
159
|
+
pageItems: pageSelectables.value,
|
|
160
|
+
selected: new Set(selected.value)
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
const selectables = computed(() => {
|
|
164
|
+
return selectStrategy.value.allSelected({
|
|
165
|
+
allItems: allSelectables.value,
|
|
166
|
+
pageItems: pageSelectables.value
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
const someSelected = computed(() => {
|
|
170
|
+
return isSomeSelected(pageSelectables.value);
|
|
171
|
+
});
|
|
172
|
+
const allSelected = computed(() => {
|
|
173
|
+
return isSelected(selectables.value);
|
|
174
|
+
});
|
|
175
|
+
const data = {
|
|
176
|
+
toggleSelect,
|
|
177
|
+
select,
|
|
178
|
+
selectAll,
|
|
179
|
+
isSelected,
|
|
180
|
+
isSomeSelected,
|
|
181
|
+
someSelected,
|
|
182
|
+
allSelected,
|
|
183
|
+
showSelectAll: selectStrategy.value.showSelectAll,
|
|
184
|
+
selectables
|
|
185
|
+
};
|
|
186
|
+
provide(Y_DATA_TABLE_SELECTION_KEY, data);
|
|
187
|
+
return data;
|
|
188
|
+
}
|
|
189
|
+
export function useSelection() {
|
|
190
|
+
const data = inject(Y_DATA_TABLE_SELECTION_KEY);
|
|
191
|
+
if (!data) {
|
|
192
|
+
throw new Error(`Not provided: ${Y_DATA_TABLE_SELECTION_KEY.description}`);
|
|
193
|
+
}
|
|
194
|
+
return data;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","names":["computed","inject","provide","useModelDuplex","wrapInArray","deepEqual","getPropertyFromItem","propsFactory","pressDataTableSelectionProps","enableSelect","Boolean","selectStrategy","type","String","Object","default","modelValue","Array","itemComparator","Function","singleSelectStrategy","showSelectAll","allSelected","select","_ref","items","value","Set","selectAll","_ref2","selected","pageSelectStrategy","_ref3","pageItems","_ref4","item","add","delete","_ref5","allSelectStrategy","_ref6","allItems","_ref7","_ref8","Y_DATA_TABLE_SELECTION_KEY","Symbol","for","provideSelection","props","_ref9","v","map","find","itemKey","key","values","allSelectables","filter","selectable","pageSelectables","isSelected","every","has","isSomeSelected","some","toggleSelect","selectables","someSelected","data","useSelection","Error","description"],"sources":["../../../../src/components/table/composibles/selection.ts"],"sourcesContent":["import {\r\n type InjectionKey,\r\n type PropType,\r\n type Ref,\r\n computed,\r\n inject,\r\n provide,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { wrapInArray } from '@/util/array';\r\nimport { deepEqual, getPropertyFromItem } from '@/util/common';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport { DataTableProvideSelectionData } from '../types';\r\nimport { DataTableItemsProps } from './items';\r\n\r\nexport interface SelectableItem {\r\n key: string;\r\n value: any;\r\n selectable: boolean;\r\n}\r\n\r\nexport interface DataTableSelectStrategy {\r\n showSelectAll: boolean;\r\n allSelected: (data: {\r\n allItems: SelectableItem[];\r\n pageItems: SelectableItem[];\r\n }) => SelectableItem[];\r\n select: (data: {\r\n items: SelectableItem[];\r\n value: boolean;\r\n selected: Set<unknown>;\r\n }) => Set<unknown>;\r\n selectAll: (data: {\r\n value: boolean;\r\n allItems: SelectableItem[];\r\n pageItems: SelectableItem[];\r\n selected: Set<unknown>;\r\n }) => Set<unknown>;\r\n}\r\n\r\nexport const pressDataTableSelectionProps = propsFactory(\r\n {\r\n enableSelect: Boolean,\r\n selectStrategy: {\r\n type: [String, Object] as PropType<'single' | 'page' | 'all'>,\r\n default: 'page',\r\n },\r\n modelValue: {\r\n type: Array as PropType<readonly any[]>,\r\n default: () => [],\r\n },\r\n itemComparator: {\r\n type: [Function, String] as PropType<typeof deepEqual | string>,\r\n default: () => deepEqual,\r\n },\r\n },\r\n 'YDataTable--selection',\r\n);\r\n\r\ntype DataTableSelectionProps = Pick<DataTableItemsProps, 'itemKey'> & {\r\n modelValue: readonly any[];\r\n selectStrategy: 'single' | 'page' | 'all';\r\n 'onUpdate:modelValue': ((value: any[]) => void) | undefined;\r\n itemComparator: ((a: any, b: any) => boolean) | string;\r\n};\r\n\r\nconst singleSelectStrategy: DataTableSelectStrategy = {\r\n showSelectAll: false,\r\n allSelected: () => [],\r\n select: ({ items, value }) => {\r\n return new Set(value ? [items[0]?.value] : []);\r\n },\r\n selectAll: ({ selected }) => selected,\r\n};\r\n\r\nconst pageSelectStrategy: DataTableSelectStrategy = {\r\n showSelectAll: true,\r\n allSelected: ({ pageItems }) => pageItems,\r\n select: ({ items, value, selected }) => {\r\n for (const item of items) {\r\n if (value) selected.add(item.value);\r\n else selected.delete(item.value);\r\n }\r\n\r\n return selected;\r\n },\r\n selectAll: ({ value, pageItems, selected }) =>\r\n pageSelectStrategy.select({ items: pageItems, value, selected }),\r\n};\r\n\r\nconst allSelectStrategy: DataTableSelectStrategy = {\r\n showSelectAll: true,\r\n allSelected: ({ allItems }) => allItems,\r\n select: ({ items, value, selected }) => {\r\n for (const item of items) {\r\n if (value) selected.add(item.value);\r\n else selected.delete(item.value);\r\n }\r\n\r\n return selected;\r\n },\r\n selectAll: ({ value, allItems, selected }) =>\r\n allSelectStrategy.select({ items: allItems, value, selected }),\r\n};\r\n\r\nexport const Y_DATA_TABLE_SELECTION_KEY: InjectionKey<\r\n ReturnType<typeof provideSelection>\r\n> = Symbol.for('yuyeon.data-table.selection');\r\n\r\nexport function provideSelection(\r\n props: DataTableSelectionProps,\r\n {\r\n allItems,\r\n pageItems,\r\n }: { allItems: Ref<SelectableItem[]>; pageItems: Ref<SelectableItem[]> },\r\n) {\r\n const selected = useModelDuplex(\r\n props,\r\n 'modelValue',\r\n props.modelValue,\r\n (v) => {\r\n return new Set(\r\n wrapInArray(v).map((v) => {\r\n return (\r\n allItems.value.find((item) => {\r\n const { itemComparator } = props;\r\n if (typeof itemComparator === 'function') {\r\n itemComparator(v, item.value);\r\n }\r\n return getPropertyFromItem(v, props.itemKey) === item.key;\r\n })?.value ?? v\r\n );\r\n }),\r\n );\r\n },\r\n (v) => {\r\n return [...v.values()];\r\n },\r\n );\r\n\r\n const allSelectables = computed(() =>\r\n allItems.value.filter((item) => item.selectable),\r\n );\r\n\r\n const pageSelectables = computed(() =>\r\n pageItems.value.filter((item) => item.selectable),\r\n );\r\n\r\n const selectStrategy = computed(() => {\r\n if (typeof props.selectStrategy === 'object') {\r\n return props.selectStrategy;\r\n }\r\n switch (props.selectStrategy) {\r\n case 'single':\r\n return singleSelectStrategy;\r\n case 'all':\r\n return allSelectStrategy;\r\n case 'page':\r\n default:\r\n return pageSelectStrategy;\r\n }\r\n });\r\n\r\n function isSelected(items: SelectableItem | SelectableItem[]) {\r\n return wrapInArray(items).every((item) => selected.value.has(item.value));\r\n }\r\n\r\n function isSomeSelected(items: SelectableItem | SelectableItem[]) {\r\n return wrapInArray(items).some((item) => selected.value.has(item.value));\r\n }\r\n\r\n function select(items: SelectableItem[], value: boolean) {\r\n selected.value = selectStrategy.value.select({\r\n items,\r\n value,\r\n selected: new Set(selected.value),\r\n });\r\n }\r\n\r\n function toggleSelect(item: SelectableItem) {\r\n select([item], !isSelected([item]));\r\n }\r\n\r\n function selectAll(value: boolean) {\r\n selected.value = selectStrategy.value.selectAll({\r\n value,\r\n allItems: allSelectables.value,\r\n pageItems: pageSelectables.value,\r\n selected: new Set(selected.value),\r\n });\r\n }\r\n\r\n const selectables = computed(() => {\r\n return selectStrategy.value.allSelected({\r\n allItems: allSelectables.value,\r\n pageItems: pageSelectables.value,\r\n });\r\n });\r\n\r\n const someSelected = computed(() => {\r\n return isSomeSelected(pageSelectables.value);\r\n });\r\n\r\n const allSelected = computed(() => {\r\n return isSelected(selectables.value);\r\n });\r\n\r\n const data: DataTableProvideSelectionData = {\r\n toggleSelect,\r\n select,\r\n selectAll,\r\n isSelected,\r\n isSomeSelected,\r\n someSelected,\r\n allSelected,\r\n showSelectAll: selectStrategy.value.showSelectAll,\r\n selectables,\r\n };\r\n\r\n provide(Y_DATA_TABLE_SELECTION_KEY, data);\r\n\r\n return data;\r\n}\r\n\r\nexport function useSelection() {\r\n const data = inject(Y_DATA_TABLE_SELECTION_KEY);\r\n if (!data) {\r\n throw new Error(`Not provided: ${Y_DATA_TABLE_SELECTION_KEY.description}`);\r\n }\r\n\r\n return data;\r\n}\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { computed, unref } from 'vue';
|
|
2
|
+
import { useI18n } from "../../../composables/i18n/index.js";
|
|
3
|
+
import { getObjectValueByPath, isEmpty } from "../../../util/common.js";
|
|
4
|
+
export function useSortedItems(props, items, sortBy, options) {
|
|
5
|
+
const {
|
|
6
|
+
locale
|
|
7
|
+
} = useI18n();
|
|
8
|
+
const sortedItems = computed(() => {
|
|
9
|
+
if (sortBy.value.length === 0) return items.value;
|
|
10
|
+
return sortItems(items.value, sortBy.value, locale.value);
|
|
11
|
+
});
|
|
12
|
+
return {
|
|
13
|
+
sortedItems
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function sortItems(items, sortOptions, locale) {
|
|
17
|
+
const stringCollator = new Intl.Collator(locale, {
|
|
18
|
+
sensitivity: 'accent',
|
|
19
|
+
usage: 'sort'
|
|
20
|
+
});
|
|
21
|
+
const refined = items.map(item => item);
|
|
22
|
+
return refined.sort((a, b) => {
|
|
23
|
+
for (let i = 0; i < sortOptions.length; i++) {
|
|
24
|
+
const sortKey = sortOptions[i].key;
|
|
25
|
+
const sortOrder = sortOptions[i].order ?? 'asc';
|
|
26
|
+
if (sortOrder === false) continue;
|
|
27
|
+
let sortA = getObjectValueByPath(unref(a.columns), sortKey);
|
|
28
|
+
let sortB = getObjectValueByPath(unref(b.columns), sortKey);
|
|
29
|
+
let sortARaw = unref(a.raw);
|
|
30
|
+
let sortBRaw = unref(b.raw);
|
|
31
|
+
if (sortOrder === 'desc') {
|
|
32
|
+
[sortA, sortB] = [sortB, sortA];
|
|
33
|
+
[sortARaw, sortBRaw] = [sortBRaw, sortARaw];
|
|
34
|
+
}
|
|
35
|
+
if (sortA instanceof Date && sortB instanceof Date) {
|
|
36
|
+
return sortA.getTime() - sortB.getTime();
|
|
37
|
+
}
|
|
38
|
+
[sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s);
|
|
39
|
+
if (sortA !== sortB) {
|
|
40
|
+
if (isEmpty(sortA) && isEmpty(sortB)) return 0;
|
|
41
|
+
if (isEmpty(sortA)) return -1;
|
|
42
|
+
if (isEmpty(sortB)) return 1;
|
|
43
|
+
if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB);
|
|
44
|
+
return stringCollator.compare(sortA, sortB);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return 0;
|
|
48
|
+
}).map(item => item);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=sorted-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorted-items.js","names":["computed","unref","useI18n","getObjectValueByPath","isEmpty","useSortedItems","props","items","sortBy","options","locale","sortedItems","value","length","sortItems","sortOptions","stringCollator","Intl","Collator","sensitivity","usage","refined","map","item","sort","a","b","i","sortKey","key","sortOrder","order","sortA","columns","sortB","sortARaw","raw","sortBRaw","Date","getTime","s","toString","toLocaleLowerCase","isNaN","Number","compare"],"sources":["../../../../src/components/table/composibles/sorted-items.ts"],"sourcesContent":["import { type Ref, computed, unref } from 'vue';\r\n\r\nimport { useI18n } from '@/composables/i18n';\r\nimport { getObjectValueByPath, isEmpty } from '@/util/common';\r\n\r\nimport type { SortOption } from '../types';\r\n\r\nexport function useSortedItems(\r\n props: any,\r\n items: Ref<any[]>,\r\n sortBy: Ref<readonly SortOption[]>,\r\n options?: {},\r\n) {\r\n const { locale } = useI18n();\r\n const sortedItems = computed(() => {\r\n if (sortBy.value.length === 0) return items.value;\r\n return sortItems(items.value, sortBy.value, locale.value);\r\n });\r\n\r\n return {\r\n sortedItems,\r\n };\r\n}\r\n\r\nexport function sortItems(\r\n items: any[],\r\n sortOptions: readonly SortOption[],\r\n locale: string,\r\n) {\r\n const stringCollator = new Intl.Collator(locale, {\r\n sensitivity: 'accent',\r\n usage: 'sort',\r\n });\r\n const refined = items.map((item) => item);\r\n\r\n return refined\r\n .sort((a, b) => {\r\n for (let i = 0; i < sortOptions.length; i++) {\r\n const sortKey = sortOptions[i].key;\r\n const sortOrder = sortOptions[i].order ?? 'asc';\r\n\r\n if (sortOrder === false) continue;\r\n\r\n let sortA = getObjectValueByPath(unref(a.columns), sortKey);\r\n let sortB = getObjectValueByPath(unref(b.columns), sortKey);\r\n let sortARaw = unref(a.raw);\r\n let sortBRaw = unref(b.raw);\r\n\r\n if (sortOrder === 'desc') {\r\n [sortA, sortB] = [sortB, sortA];\r\n [sortARaw, sortBRaw] = [sortBRaw, sortARaw];\r\n }\r\n\r\n if (sortA instanceof Date && sortB instanceof Date) {\r\n return sortA.getTime() - sortB.getTime();\r\n }\r\n\r\n [sortA, sortB] = [sortA, sortB].map((s) =>\r\n s != null ? s.toString().toLocaleLowerCase() : s,\r\n );\r\n\r\n if (sortA !== sortB) {\r\n if (isEmpty(sortA) && isEmpty(sortB)) return 0;\r\n if (isEmpty(sortA)) return -1;\r\n if (isEmpty(sortB)) return 1;\r\n if (!isNaN(sortA) && !isNaN(sortB))\r\n return Number(sortA) - Number(sortB);\r\n return stringCollator.compare(sortA, sortB);\r\n }\r\n }\r\n\r\n return 0;\r\n })\r\n .map((item) => item);\r\n}\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { inject, provide, toRef } from 'vue';
|
|
2
|
+
import { useModelDuplex } from "../../../composables/communication.js";
|
|
3
|
+
import { propsFactory } from "../../../util/component/index.js";
|
|
4
|
+
const Y_DATA_TABLE_SORTING_KEY = Symbol.for('yuyeon.data-table.sorting');
|
|
5
|
+
export const pressDataTableSortProps = propsFactory({
|
|
6
|
+
sortBy: {
|
|
7
|
+
type: Array,
|
|
8
|
+
default: () => []
|
|
9
|
+
},
|
|
10
|
+
multiSort: Boolean
|
|
11
|
+
}, 'YDataTable--sorting');
|
|
12
|
+
export function createSorting(props) {
|
|
13
|
+
const sortBy = useModelDuplex(props, 'sortBy');
|
|
14
|
+
const multiSort = toRef(props, 'multiSort');
|
|
15
|
+
return {
|
|
16
|
+
sortBy,
|
|
17
|
+
multiSort
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function provideSorting(options) {
|
|
21
|
+
const {
|
|
22
|
+
sortBy,
|
|
23
|
+
multiSort,
|
|
24
|
+
page
|
|
25
|
+
} = options;
|
|
26
|
+
const toggleSort = column => {
|
|
27
|
+
let neo = sortBy.value?.map(v => ({
|
|
28
|
+
...v
|
|
29
|
+
})) ?? [];
|
|
30
|
+
const target = neo.find(v => v.key === column.key);
|
|
31
|
+
const sortOption = {
|
|
32
|
+
key: column.key,
|
|
33
|
+
order: 'asc'
|
|
34
|
+
};
|
|
35
|
+
if (!target) {
|
|
36
|
+
if (multiSort?.value) {
|
|
37
|
+
neo = [...neo, sortOption];
|
|
38
|
+
} else {
|
|
39
|
+
neo = [sortOption];
|
|
40
|
+
}
|
|
41
|
+
} else if (target.order === 'desc') {
|
|
42
|
+
if (column.mustSort) {
|
|
43
|
+
target.order = 'asc';
|
|
44
|
+
} else {
|
|
45
|
+
neo = neo.filter(v => v.key !== column.key);
|
|
46
|
+
}
|
|
47
|
+
} else {
|
|
48
|
+
target.order = 'desc';
|
|
49
|
+
}
|
|
50
|
+
sortBy.value = neo;
|
|
51
|
+
if (page) {
|
|
52
|
+
page.value = 1;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
function isSorted(column) {
|
|
56
|
+
return !!sortBy.value.find(option => option.key === column.key);
|
|
57
|
+
}
|
|
58
|
+
const data = {
|
|
59
|
+
sortBy,
|
|
60
|
+
toggleSort,
|
|
61
|
+
isSorted
|
|
62
|
+
};
|
|
63
|
+
provide(Y_DATA_TABLE_SORTING_KEY, data);
|
|
64
|
+
return data;
|
|
65
|
+
}
|
|
66
|
+
export function useSorting() {
|
|
67
|
+
const data = inject(Y_DATA_TABLE_SORTING_KEY);
|
|
68
|
+
if (!data) {
|
|
69
|
+
throw new Error(`Not provided: ${Y_DATA_TABLE_SORTING_KEY.description}`);
|
|
70
|
+
}
|
|
71
|
+
return data;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=sorting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorting.js","names":["inject","provide","toRef","useModelDuplex","propsFactory","Y_DATA_TABLE_SORTING_KEY","Symbol","for","pressDataTableSortProps","sortBy","type","Array","default","multiSort","Boolean","createSorting","props","provideSorting","options","page","toggleSort","column","neo","value","map","v","target","find","key","sortOption","order","mustSort","filter","isSorted","option","data","useSorting","Error","description"],"sources":["../../../../src/components/table/composibles/sorting.ts"],"sourcesContent":["import {\r\n type DeepReadonly,\r\n type InjectionKey,\r\n type PropType,\r\n type Ref,\r\n inject,\r\n provide,\r\n toRef,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport type {\r\n DataTableProvideSortingData,\r\n InternalDataTableHeader,\r\n SortOption,\r\n} from '../types';\r\n\r\nconst Y_DATA_TABLE_SORTING_KEY: InjectionKey<{\r\n sortBy: Ref<readonly SortOption[]>;\r\n toggleSort: (col: InternalDataTableHeader) => void;\r\n isSorted: (col: InternalDataTableHeader) => boolean;\r\n}> = Symbol.for('yuyeon.data-table.sorting');\r\n\r\nexport const pressDataTableSortProps = propsFactory(\r\n {\r\n sortBy: {\r\n type: Array as PropType<DeepReadonly<SortOption[]>>,\r\n default: () => [],\r\n },\r\n multiSort: Boolean,\r\n },\r\n 'YDataTable--sorting',\r\n);\r\n\r\ntype SortProps = {\r\n sortBy: readonly SortOption[];\r\n 'onUpdate:sortBy': ((value: any) => void) | undefined;\r\n multiSort: boolean;\r\n};\r\n\r\nexport function createSorting(props: SortProps) {\r\n const sortBy = useModelDuplex(props, 'sortBy');\r\n const multiSort = toRef(props, 'multiSort');\r\n\r\n return { sortBy, multiSort };\r\n}\r\n\r\nexport function provideSorting(options: {\r\n sortBy: Ref<readonly SortOption[]>;\r\n page?: Ref<number>;\r\n multiSort?: Ref<boolean>;\r\n}) {\r\n const { sortBy, multiSort, page } = options;\r\n\r\n const toggleSort = (column: InternalDataTableHeader) => {\r\n let neo = sortBy.value?.map((v) => ({ ...v })) ?? [];\r\n const target = neo.find((v) => v.key === column.key);\r\n const sortOption: SortOption = { key: column.key, order: 'asc' };\r\n\r\n if (!target) {\r\n if (multiSort?.value) {\r\n neo = [...neo, sortOption];\r\n } else {\r\n neo = [sortOption];\r\n }\r\n } else if (target.order === 'desc') {\r\n if (column.mustSort) {\r\n target.order = 'asc';\r\n } else {\r\n neo = neo.filter((v) => v.key !== column.key);\r\n }\r\n } else {\r\n target.order = 'desc';\r\n }\r\n sortBy.value = neo;\r\n if (page) {\r\n page.value = 1;\r\n }\r\n };\r\n\r\n function isSorted(column: InternalDataTableHeader) {\r\n return !!sortBy.value.find((option) => option.key === column.key);\r\n }\r\n\r\n const data: DataTableProvideSortingData = { sortBy, toggleSort, isSorted };\r\n\r\n provide(Y_DATA_TABLE_SORTING_KEY, data);\r\n\r\n return data;\r\n}\r\n\r\nexport function useSorting() {\r\n const data = inject(Y_DATA_TABLE_SORTING_KEY);\r\n if (!data) {\r\n throw new Error(`Not provided: ${Y_DATA_TABLE_SORTING_KEY.description}`);\r\n }\r\n return data;\r\n}\r\n"],"mappings":"AAAA,SAKEA,MAAM,EACNC,OAAO,EACPC,KAAK,QACA,KAAK;AAAC,SAEJC,cAAc;AAAA,SACdC,YAAY;AAQrB,MAAMC,wBAIJ,GAAGC,MAAM,CAACC,GAAG,CAAC,2BAA2B,CAAC;AAE5C,OAAO,MAAMC,uBAAuB,GAAGJ,YAAY,CACjD;EACEK,MAAM,EAAE;IACNC,IAAI,EAAEC,KAA6C;IACnDC,OAAO,EAAEA,CAAA,KAAM;EACjB,CAAC;EACDC,SAAS,EAAEC;AACb,CAAC,EACD,qBACF,CAAC;AAQD,OAAO,SAASC,aAAaA,CAACC,KAAgB,EAAE;EAC9C,MAAMP,MAAM,GAAGN,cAAc,CAACa,KAAK,EAAE,QAAQ,CAAC;EAC9C,MAAMH,SAAS,GAAGX,KAAK,CAACc,KAAK,EAAE,WAAW,CAAC;EAE3C,OAAO;IAAEP,MAAM;IAAEI;EAAU,CAAC;AAC9B;AAEA,OAAO,SAASI,cAAcA,CAACC,OAI9B,EAAE;EACD,MAAM;IAAET,MAAM;IAAEI,SAAS;IAAEM;EAAK,CAAC,GAAGD,OAAO;EAE3C,MAAME,UAAU,GAAIC,MAA+B,IAAK;IACtD,IAAIC,GAAG,GAAGb,MAAM,CAACc,KAAK,EAAEC,GAAG,CAAEC,CAAC,KAAM;MAAE,GAAGA;IAAE,CAAC,CAAC,CAAC,IAAI,EAAE;IACpD,MAAMC,MAAM,GAAGJ,GAAG,CAACK,IAAI,CAAEF,CAAC,IAAKA,CAAC,CAACG,GAAG,KAAKP,MAAM,CAACO,GAAG,CAAC;IACpD,MAAMC,UAAsB,GAAG;MAAED,GAAG,EAAEP,MAAM,CAACO,GAAG;MAAEE,KAAK,EAAE;IAAM,CAAC;IAEhE,IAAI,CAACJ,MAAM,EAAE;MACX,IAAIb,SAAS,EAAEU,KAAK,EAAE;QACpBD,GAAG,GAAG,CAAC,GAAGA,GAAG,EAAEO,UAAU,CAAC;MAC5B,CAAC,MAAM;QACLP,GAAG,GAAG,CAACO,UAAU,CAAC;MACpB;IACF,CAAC,MAAM,IAAIH,MAAM,CAACI,KAAK,KAAK,MAAM,EAAE;MAClC,IAAIT,MAAM,CAACU,QAAQ,EAAE;QACnBL,MAAM,CAACI,KAAK,GAAG,KAAK;MACtB,CAAC,MAAM;QACLR,GAAG,GAAGA,GAAG,CAACU,MAAM,CAAEP,CAAC,IAAKA,CAAC,CAACG,GAAG,KAAKP,MAAM,CAACO,GAAG,CAAC;MAC/C;IACF,CAAC,MAAM;MACLF,MAAM,CAACI,KAAK,GAAG,MAAM;IACvB;IACArB,MAAM,CAACc,KAAK,GAAGD,GAAG;IAClB,IAAIH,IAAI,EAAE;MACRA,IAAI,CAACI,KAAK,GAAG,CAAC;IAChB;EACF,CAAC;EAED,SAASU,QAAQA,CAACZ,MAA+B,EAAE;IACjD,OAAO,CAAC,CAACZ,MAAM,CAACc,KAAK,CAACI,IAAI,CAAEO,MAAM,IAAKA,MAAM,CAACN,GAAG,KAAKP,MAAM,CAACO,GAAG,CAAC;EACnE;EAEA,MAAMO,IAAiC,GAAG;IAAE1B,MAAM;IAAEW,UAAU;IAAEa;EAAS,CAAC;EAE1EhC,OAAO,CAACI,wBAAwB,EAAE8B,IAAI,CAAC;EAEvC,OAAOA,IAAI;AACb;AAEA,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC3B,MAAMD,IAAI,GAAGnC,MAAM,CAACK,wBAAwB,CAAC;EAC7C,IAAI,CAAC8B,IAAI,EAAE;IACT,MAAM,IAAIE,KAAK,CAAE,iBAAgBhC,wBAAwB,CAACiC,WAAY,EAAC,CAAC;EAC1E;EACA,OAAOH,IAAI;AACb"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./YTable.js";
|
|
2
|
+
export * from "./YDataTable.js";
|
|
3
|
+
export * from "./YDataTableServer.js";
|
|
4
|
+
export * from "./YDataTableBody.js";
|
|
5
|
+
export * from "./YDataTableRow.js";
|
|
6
|
+
export * from "./YDataTableCell.js";
|
|
7
|
+
export * from "./YDataTableControl.js";
|
|
8
|
+
export * from "./YDataTableLayer.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/table/index.ts"],"sourcesContent":["export * from './YTable';\nexport * from './YDataTable';\nexport * from './YDataTableServer';\n\nexport * from './YDataTableBody';\nexport * from './YDataTableRow';\nexport * from './YDataTableCell';\nexport * from './YDataTableControl';\nexport * from './YDataTableLayer';\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","names":[],"sources":["../../../../src/components/table/types/common.ts"],"sourcesContent":["export type DataTableCompareFn<T = any> = (a: T, b: T) => number;\nexport type DataTableCellClassesFn = (\n item: any,\n index: number,\n header: any,\n) => string | string[] | undefined;\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","names":[],"sources":["../../../../src/components/table/types/header.ts"],"sourcesContent":["import { type DataTableCellClassesFn, type DataTableCompareFn } from './common';\r\n\r\nexport type DataTableHeader = {\r\n key: string;\r\n text: string;\r\n value?: any;\r\n\r\n colspan?: number;\r\n rowspan?: number;\r\n fixed?: boolean | 'left' | 'right';\r\n\r\n classes?: string | string[] | DataTableCellClassesFn;\r\n headerClasses?: string | string[];\r\n align?: 'start' | 'end' | 'center';\r\n width?: number | string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n sortable?: boolean;\r\n sort?: DataTableCompareFn;\r\n mustSort?: boolean;\r\n};\r\n\r\nexport type InternalDataTableHeader = DataTableHeader & {\r\n sortable: boolean;\r\n fixedOffset?: number;\r\n lastFixed?: boolean;\r\n rightOffset?: number;\r\n};\r\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/table/types/index.ts"],"sourcesContent":["import { ComputedRef, Ref, UnwrapRef } from 'vue';\r\n\r\nimport { SelectableItem } from '../composibles/selection';\r\nimport type { DataTableCompareFn } from './common';\r\nimport type { DataTableHeader, InternalDataTableHeader } from './header';\r\nimport type { DataTableItem, ItemKeySlot } from './item';\r\nimport type { CellProps, RowProps } from './row';\r\n\r\nexport type {\r\n ItemKeySlot,\r\n RowProps,\r\n CellProps,\r\n DataTableHeader,\r\n InternalDataTableHeader,\r\n DataTableItem,\r\n DataTableCompareFn,\r\n};\r\n\r\nexport type SortOption = { key: string; order?: boolean | 'asc' | 'desc' };\r\n\r\nexport type DataTableProvideSortingData = {\r\n sortBy: Ref<readonly SortOption[]>;\r\n toggleSort: (column: InternalDataTableHeader) => void;\r\n isSorted: (column: InternalDataTableHeader) => boolean;\r\n};\r\n\r\nexport interface DataTableProvidePaginationData {\r\n page: Ref<number>;\r\n pageSize: Ref<number>;\r\n startIndex: ComputedRef<number>;\r\n endIndex: ComputedRef<number>;\r\n pageLength: ComputedRef<number>;\r\n total: Ref<number>;\r\n nextPage: () => void;\r\n prevPage: () => void;\r\n setPage: (value: number) => void;\r\n setPageSize: (value: number) => void;\r\n}\r\n\r\nexport interface DataTableProvideSelectionData {\r\n toggleSelect: (item: SelectableItem) => void;\r\n select: (items: SelectableItem[], value: boolean) => void;\r\n selectAll: (value: boolean) => void;\r\n isSelected: (items: SelectableItem | SelectableItem[]) => any;\r\n isSomeSelected: (items: SelectableItem | SelectableItem[]) => any;\r\n someSelected: ComputedRef<boolean>;\r\n allSelected: ComputedRef<any>;\r\n showSelectAll: boolean;\r\n selectables: ComputedRef<SelectableItem[]>;\r\n}\r\n\r\nexport type YDataTableSlotProps = {\r\n // pagination\r\n page: number;\r\n pageSize: number;\r\n pageLength: number;\r\n setPageSize: DataTableProvidePaginationData['setPageSize'];\r\n // sorting\r\n sortBy: UnwrapRef<DataTableProvideSortingData['sortBy']>;\r\n toggleSort: DataTableProvideSortingData['toggleSort'];\r\n // selection\r\n someSelected: boolean;\r\n allSelected: boolean;\r\n isSelected: DataTableProvideSelectionData['isSelected'];\r\n select: DataTableProvideSelectionData['select'];\r\n selectAll: DataTableProvideSelectionData['selectAll'];\r\n toggleSelect: DataTableProvideSelectionData['toggleSelect'];\r\n //\r\n items: readonly DataTableItem[];\r\n columns: InternalDataTableHeader[];\r\n headers: InternalDataTableHeader[][];\r\n};\r\n\r\nexport type FixedPropType = 'lead' | 'trail' | 'lead-last' | 'trail-last';\r\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.js","names":[],"sources":["../../../../src/components/table/types/item.ts"],"sourcesContent":["import { SelectableItem, provideSelection } from '../composibles/selection';\nimport { InternalDataTableHeader } from './header';\n\ntype ItemSlotBase<T> = {\n index: number;\n item: T;\n internalItem: DataTableItem<T>;\n selected: boolean;\n isSelected: ReturnType<typeof provideSelection>['isSelected'];\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect'];\n};\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any;\n column: InternalDataTableHeader;\n};\n\nexport interface DataTableItem<T = any> extends SelectableItem {\n index: number;\n columns: Record<string, any>;\n raw: T;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.js","names":[],"sources":["../../../../src/components/table/types/row.ts"],"sourcesContent":["import { ItemKeySlot } from './item';\r\n\r\nexport type RowProps<T> =\r\n | Record<string, any>\r\n | ((\r\n data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem'>,\r\n ) => Record<string, any>);\r\n\r\nexport type CellProps<T = any> =\r\n | Record<string, any>\r\n | ((\r\n data: Pick<\r\n ItemKeySlot<T>,\r\n 'index' | 'item' | 'internalItem' | 'value' | 'column' | 'selected'\r\n >,\r\n ) => Record<string, any>);\r\n"],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { createVNode as _createVNode } from "vue";
|
|
2
|
+
import { computed, ref, watch } from 'vue';
|
|
3
|
+
import { useRender } from "../../composables/component.js";
|
|
4
|
+
import { useResizeObserver } from "../../composables/resize-observer.js";
|
|
5
|
+
import { defineComponent } from "../../util/component/index.js";
|
|
6
|
+
import "./YTextEllipsis.scss";
|
|
7
|
+
export const YTextEllipsis = defineComponent({
|
|
8
|
+
name: 'YTextEllipsis',
|
|
9
|
+
props: {
|
|
10
|
+
text: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: ''
|
|
13
|
+
},
|
|
14
|
+
position: {
|
|
15
|
+
type: String
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
setup(props) {
|
|
19
|
+
const {
|
|
20
|
+
resizeObservedRef,
|
|
21
|
+
contentRect
|
|
22
|
+
} = useResizeObserver();
|
|
23
|
+
const isOverflow = ref(false);
|
|
24
|
+
const containerWidth = computed(() => {
|
|
25
|
+
return contentRect.value?.width;
|
|
26
|
+
});
|
|
27
|
+
const title = computed(() => {
|
|
28
|
+
return props.text;
|
|
29
|
+
});
|
|
30
|
+
const startText = computed(() => {
|
|
31
|
+
if (isOverflow.value) {
|
|
32
|
+
const length = Math.round(props.text.length * 0.5);
|
|
33
|
+
return props.text.substring(0, length);
|
|
34
|
+
}
|
|
35
|
+
return props.text;
|
|
36
|
+
});
|
|
37
|
+
const endText = computed(() => {
|
|
38
|
+
if (isOverflow.value) {
|
|
39
|
+
const length = Math.round(props.text.length * 0.5);
|
|
40
|
+
return props.text.substring(length, props.text.length);
|
|
41
|
+
}
|
|
42
|
+
return props.text;
|
|
43
|
+
});
|
|
44
|
+
watch(containerWidth, neo => {
|
|
45
|
+
if (resizeObservedRef.value && neo != null) {
|
|
46
|
+
isOverflow.value = resizeObservedRef.value.scrollWidth > resizeObservedRef.value.offsetWidth;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
useRender(() => {
|
|
50
|
+
return _createVNode("span", {
|
|
51
|
+
"title": title.value,
|
|
52
|
+
"class": ['y-text-ellipsis', {
|
|
53
|
+
overflowed: isOverflow.value
|
|
54
|
+
}]
|
|
55
|
+
}, [_createVNode("span", {
|
|
56
|
+
"ref": resizeObservedRef,
|
|
57
|
+
"class": "y-text-ellipsis__origin"
|
|
58
|
+
}, [props.text]), isOverflow.value && _createVNode("span", {
|
|
59
|
+
"class": "y-text-ellipsis__start"
|
|
60
|
+
}, [startText.value]), isOverflow.value && _createVNode("span", {
|
|
61
|
+
"class": "y-text-ellipsis__end"
|
|
62
|
+
}, [endText.value])]);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=YTextEllipsis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YTextEllipsis.js","names":["computed","ref","watch","useRender","useResizeObserver","defineComponent","YTextEllipsis","name","props","text","type","String","default","position","setup","resizeObservedRef","contentRect","isOverflow","containerWidth","value","width","title","startText","length","Math","round","substring","endText","neo","scrollWidth","offsetWidth","_createVNode","overflowed"],"sources":["../../../src/components/text-ellipsis/YTextEllipsis.tsx"],"sourcesContent":["import { computed, ref, watch } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { useResizeObserver } from '@/composables/resize-observer';\r\nimport { defineComponent } from '@/util/component';\r\n\r\nimport './YTextEllipsis.scss';\r\n\r\nexport const YTextEllipsis = defineComponent({\r\n name: 'YTextEllipsis',\r\n props: {\r\n text: {\r\n type: String,\r\n default: '',\r\n },\r\n position: {\r\n type: String,\r\n }\r\n },\r\n setup(props) {\r\n const { resizeObservedRef, contentRect } = useResizeObserver();\r\n\r\n const isOverflow = ref(false);\r\n\r\n const containerWidth = computed(() => {\r\n return contentRect.value?.width;\r\n });\r\n\r\n const title = computed(() => {\r\n return props.text;\r\n });\r\n\r\n const startText = computed(() => {\r\n if (isOverflow.value) {\r\n const length = Math.round(props.text.length * 0.5);\r\n return props.text.substring(0, length);\r\n }\r\n return props.text;\r\n });\r\n\r\n const endText = computed(() => {\r\n if (isOverflow.value) {\r\n const length = Math.round(props.text.length * 0.5);\r\n return props.text.substring(length, props.text.length);\r\n }\r\n return props.text;\r\n });\r\n\r\n watch(containerWidth, (neo) => {\r\n if (resizeObservedRef.value && neo != null) {\r\n isOverflow.value =\r\n resizeObservedRef.value.scrollWidth >\r\n resizeObservedRef.value.offsetWidth;\r\n }\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <span\r\n title={title.value}\r\n class={['y-text-ellipsis', { overflowed: isOverflow.value }]}\r\n >\r\n <span ref={resizeObservedRef} class=\"y-text-ellipsis__origin\">\r\n {props.text}\r\n </span>\r\n {isOverflow.value && (\r\n <span class=\"y-text-ellipsis__start\">{startText.value}</span>\r\n )}\r\n\r\n {isOverflow.value && (\r\n <span class=\"y-text-ellipsis__end\">{endText.value}</span>\r\n )}\r\n </span>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YTextEllipsis = InstanceType<typeof YTextEllipsis>;\r\n"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAElCC,SAAS;AAAA,SACTC,iBAAiB;AAAA,SACjBC,eAAe;AAExB;AAEA,OAAO,MAAMC,aAAa,GAAGD,eAAe,CAAC;EAC3CE,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,QAAQ,EAAE;MACRH,IAAI,EAAEC;IACR;EACF,CAAC;EACDG,KAAKA,CAACN,KAAK,EAAE;IACX,MAAM;MAAEO,iBAAiB;MAAEC;IAAY,CAAC,GAAGZ,iBAAiB,CAAC,CAAC;IAE9D,MAAMa,UAAU,GAAGhB,GAAG,CAAC,KAAK,CAAC;IAE7B,MAAMiB,cAAc,GAAGlB,QAAQ,CAAC,MAAM;MACpC,OAAOgB,WAAW,CAACG,KAAK,EAAEC,KAAK;IACjC,CAAC,CAAC;IAEF,MAAMC,KAAK,GAAGrB,QAAQ,CAAC,MAAM;MAC3B,OAAOQ,KAAK,CAACC,IAAI;IACnB,CAAC,CAAC;IAEF,MAAMa,SAAS,GAAGtB,QAAQ,CAAC,MAAM;MAC/B,IAAIiB,UAAU,CAACE,KAAK,EAAE;QACpB,MAAMI,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACjB,KAAK,CAACC,IAAI,CAACc,MAAM,GAAG,GAAG,CAAC;QAClD,OAAOf,KAAK,CAACC,IAAI,CAACiB,SAAS,CAAC,CAAC,EAAEH,MAAM,CAAC;MACxC;MACA,OAAOf,KAAK,CAACC,IAAI;IACnB,CAAC,CAAC;IAEF,MAAMkB,OAAO,GAAG3B,QAAQ,CAAC,MAAM;MAC7B,IAAIiB,UAAU,CAACE,KAAK,EAAE;QACpB,MAAMI,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACjB,KAAK,CAACC,IAAI,CAACc,MAAM,GAAG,GAAG,CAAC;QAClD,OAAOf,KAAK,CAACC,IAAI,CAACiB,SAAS,CAACH,MAAM,EAAEf,KAAK,CAACC,IAAI,CAACc,MAAM,CAAC;MACxD;MACA,OAAOf,KAAK,CAACC,IAAI;IACnB,CAAC,CAAC;IAEFP,KAAK,CAACgB,cAAc,EAAGU,GAAG,IAAK;MAC7B,IAAIb,iBAAiB,CAACI,KAAK,IAAIS,GAAG,IAAI,IAAI,EAAE;QAC1CX,UAAU,CAACE,KAAK,GACdJ,iBAAiB,CAACI,KAAK,CAACU,WAAW,GACnCd,iBAAiB,CAACI,KAAK,CAACW,WAAW;MACvC;IACF,CAAC,CAAC;IAEF3B,SAAS,CAAC,MAAM;MACd,OAAA4B,YAAA;QAAA,SAEWV,KAAK,CAACF,KAAK;QAAA,SACX,CAAC,iBAAiB,EAAE;UAAEa,UAAU,EAAEf,UAAU,CAACE;QAAM,CAAC;MAAC,IAAAY,YAAA;QAAA,OAEjDhB,iBAAiB;QAAA;MAAA,IACzBP,KAAK,CAACC,IAAI,IAEZQ,UAAU,CAACE,KAAK,IAAAY,YAAA;QAAA;MAAA,IACuBT,SAAS,CAACH,KAAK,EACtD,EAEAF,UAAU,CAACE,KAAK,IAAAY,YAAA;QAAA;MAAA,IACqBJ,OAAO,CAACR,KAAK,EAClD;IAGP,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/text-ellipsis/index.ts"],"sourcesContent":["export * from './YTextEllipsis';\n"],"mappings":""}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { h } from 'vue';
|
|
2
|
+
import { defineComponent } from "../../util/component/index.js";
|
|
3
|
+
import "./YTextHighlighter.scss";
|
|
4
|
+
export const YTextHighlighter = defineComponent({
|
|
5
|
+
name: 'YTextHighlighter',
|
|
6
|
+
props: {
|
|
7
|
+
text: {
|
|
8
|
+
type: String
|
|
9
|
+
},
|
|
10
|
+
keyword: {
|
|
11
|
+
type: String
|
|
12
|
+
},
|
|
13
|
+
color: {
|
|
14
|
+
type: String
|
|
15
|
+
},
|
|
16
|
+
sensitive: {
|
|
17
|
+
type: Boolean
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
computed: {
|
|
21
|
+
splitText() {
|
|
22
|
+
const {
|
|
23
|
+
keyword,
|
|
24
|
+
text
|
|
25
|
+
} = this;
|
|
26
|
+
if (keyword && text) {
|
|
27
|
+
const split = [];
|
|
28
|
+
let stack = text;
|
|
29
|
+
const keyExp = new RegExp(keyword, this.sensitive ? '' : 'i');
|
|
30
|
+
while (stack.length > 0) {
|
|
31
|
+
const index = stack.search(keyExp);
|
|
32
|
+
if (index < 0) {
|
|
33
|
+
split.push({
|
|
34
|
+
text: stack,
|
|
35
|
+
isKeyword: false
|
|
36
|
+
});
|
|
37
|
+
stack = '';
|
|
38
|
+
} else if (index < 1) {
|
|
39
|
+
split.push({
|
|
40
|
+
text: stack.substring(0, keyword.length),
|
|
41
|
+
isKeyword: true
|
|
42
|
+
});
|
|
43
|
+
stack = stack.substring(keyword.length, stack.length);
|
|
44
|
+
} else {
|
|
45
|
+
split.push({
|
|
46
|
+
text: stack.substring(0, index),
|
|
47
|
+
isKeyword: false
|
|
48
|
+
});
|
|
49
|
+
split.push({
|
|
50
|
+
text: stack.substring(index, index + keyword.length),
|
|
51
|
+
isKeyword: true
|
|
52
|
+
});
|
|
53
|
+
stack = stack.substring(index + keyword.length, stack.length);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return split;
|
|
57
|
+
}
|
|
58
|
+
return [{
|
|
59
|
+
text: this.text || '',
|
|
60
|
+
isKeyword: false
|
|
61
|
+
}];
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
methods: {
|
|
65
|
+
createItem(text) {
|
|
66
|
+
return h('span', {
|
|
67
|
+
staticClass: 'y-text-highlighter__item'
|
|
68
|
+
}, [text]);
|
|
69
|
+
},
|
|
70
|
+
createHighlightKeywordItem(text) {
|
|
71
|
+
return h('span', {
|
|
72
|
+
staticClass: 'y-text-highlighter__item',
|
|
73
|
+
class: 'y-text-highlighter__item--highlight',
|
|
74
|
+
style: {
|
|
75
|
+
backgroundColor: this.color
|
|
76
|
+
}
|
|
77
|
+
}, [text]);
|
|
78
|
+
},
|
|
79
|
+
createSplitTexts() {
|
|
80
|
+
return this.splitText.map(splitItem => {
|
|
81
|
+
if (splitItem.isKeyword) {
|
|
82
|
+
return this.createHighlightKeywordItem(splitItem.text);
|
|
83
|
+
}
|
|
84
|
+
return this.createItem(splitItem.text);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
render() {
|
|
89
|
+
const children = this.createSplitTexts();
|
|
90
|
+
return h('span', {
|
|
91
|
+
staticClass: 'y-text-highlighter'
|
|
92
|
+
}, children);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=YTextHighlighter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YTextHighlighter.js","names":["h","defineComponent","YTextHighlighter","name","props","text","type","String","keyword","color","sensitive","Boolean","computed","splitText","split","stack","keyExp","RegExp","length","index","search","push","isKeyword","substring","methods","createItem","staticClass","createHighlightKeywordItem","class","style","backgroundColor","createSplitTexts","map","splitItem","render","children"],"sources":["../../../src/components/text-highlighter/YTextHighlighter.ts"],"sourcesContent":["import { type VNode, h } from 'vue';\r\n\r\nimport { defineComponent } from '@/util/component';\r\n\r\nimport './YTextHighlighter.scss';\r\n\r\nexport const YTextHighlighter = defineComponent({\r\n name: 'YTextHighlighter',\r\n props: {\r\n text: {\r\n type: String,\r\n },\r\n keyword: {\r\n type: String,\r\n },\r\n color: {\r\n type: String,\r\n },\r\n sensitive: {\r\n type: Boolean,\r\n },\r\n },\r\n computed: {\r\n splitText(): { text: string; isKeyword: boolean }[] {\r\n const { keyword, text } = this;\r\n if (keyword && text) {\r\n const split: { text: string; isKeyword: boolean }[] = [];\r\n let stack = text;\r\n const keyExp = new RegExp(keyword, this.sensitive ? '' : 'i');\r\n while (stack.length > 0) {\r\n const index = stack.search(keyExp);\r\n if (index < 0) {\r\n split.push({ text: stack, isKeyword: false });\r\n stack = '';\r\n } else if (index < 1) {\r\n split.push({\r\n text: stack.substring(0, keyword.length),\r\n isKeyword: true,\r\n });\r\n stack = stack.substring(keyword.length, stack.length);\r\n } else {\r\n split.push({ text: stack.substring(0, index), isKeyword: false });\r\n split.push({\r\n text: stack.substring(index, index + keyword.length),\r\n isKeyword: true,\r\n });\r\n stack = stack.substring(index + keyword.length, stack.length);\r\n }\r\n }\r\n return split;\r\n }\r\n return [{ text: this.text || '', isKeyword: false }];\r\n },\r\n },\r\n methods: {\r\n createItem(text: string): VNode {\r\n return h(\r\n 'span',\r\n {\r\n staticClass: 'y-text-highlighter__item',\r\n },\r\n [text],\r\n );\r\n },\r\n createHighlightKeywordItem(text: string): VNode {\r\n return h(\r\n 'span',\r\n {\r\n staticClass: 'y-text-highlighter__item',\r\n class: 'y-text-highlighter__item--highlight',\r\n style: {\r\n backgroundColor: this.color,\r\n },\r\n },\r\n [text],\r\n );\r\n },\r\n createSplitTexts(): VNode[] {\r\n return this.splitText.map((splitItem) => {\r\n if (splitItem.isKeyword) {\r\n return this.createHighlightKeywordItem(splitItem.text);\r\n }\r\n return this.createItem(splitItem.text);\r\n });\r\n },\r\n },\r\n render(): VNode {\r\n const children = this.createSplitTexts();\r\n return h('span', { staticClass: 'y-text-highlighter' }, children);\r\n },\r\n});\r\n\r\nexport type YTextHighlighter = InstanceType<typeof YTextHighlighter>;\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/text-highlighter/index.ts"],"sourcesContent":["export * from './YTextHighlighter';\n"],"mappings":""}
|