yuyeon 0.3.2-rc.9 → 0.3.4-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/style.css +1 -1
- package/dist/yuyeon.js +3841 -3625
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/abstract/items.js.map +1 -1
- package/lib/components/alert/YAlert.js +3 -4
- package/lib/components/alert/YAlert.js.map +1 -1
- package/lib/components/alert/index.js.map +1 -1
- package/lib/components/app/YApp.js +2 -2
- package/lib/components/app/YApp.js.map +1 -1
- package/lib/components/app/index.js.map +1 -1
- package/lib/components/badge/YBadge.js +3 -3
- package/lib/components/badge/YBadge.js.map +1 -1
- package/lib/components/badge/YBadge.scss +3 -2
- package/lib/components/badge/index.js.map +1 -1
- package/lib/components/bench/YBench.js +3 -4
- package/lib/components/bench/YBench.js.map +1 -1
- package/lib/components/bench/index.js.map +1 -1
- package/lib/components/button/YButton.js +1 -2
- package/lib/components/button/YButton.js.map +1 -1
- package/lib/components/button/index.js.map +1 -1
- package/lib/components/card/YCard.js.map +1 -1
- package/lib/components/card/YCard.scss +2 -2
- package/lib/components/card/YCardBody.js.map +1 -1
- package/lib/components/card/YCardFooter.js.map +1 -1
- package/lib/components/card/YCardHeader.js.map +1 -1
- package/lib/components/card/index.js.map +1 -1
- package/lib/components/checkbox/YCheckbox.js +1 -2
- package/lib/components/checkbox/YCheckbox.js.map +1 -1
- package/lib/components/checkbox/YInputCheckbox.js +1 -2
- package/lib/components/checkbox/YInputCheckbox.js.map +1 -1
- package/lib/components/checkbox/index.js.map +1 -1
- package/lib/components/chip/YChip.js +1 -2
- package/lib/components/chip/YChip.js.map +1 -1
- package/lib/components/chip/index.js.map +1 -1
- package/lib/components/date-picker/YDateCalendar.js +55 -53
- package/lib/components/date-picker/YDateCalendar.js.map +1 -1
- package/lib/components/date-picker/YDatePicker.js +24 -25
- package/lib/components/date-picker/YDatePicker.js.map +1 -1
- package/lib/components/date-picker/YDatePickerControl.js +19 -20
- package/lib/components/date-picker/YDatePickerControl.js.map +1 -1
- package/lib/components/date-picker/YMonthPicker.js +10 -11
- package/lib/components/date-picker/YMonthPicker.js.map +1 -1
- package/lib/components/date-picker/YYearPicker.js +11 -13
- package/lib/components/date-picker/YYearPicker.js.map +1 -1
- package/lib/components/date-picker/index.js.map +1 -1
- package/lib/components/default-provider/YDefaultProvider.js.map +1 -1
- package/lib/components/default-provider/index.js.map +1 -1
- package/lib/components/dialog/YDialog.js +32 -32
- package/lib/components/dialog/YDialog.js.map +1 -1
- package/lib/components/dialog/index.js.map +1 -1
- package/lib/components/divider/YDivider.js +5 -5
- package/lib/components/divider/YDivider.js.map +1 -1
- package/lib/components/divider/index.js.map +1 -1
- package/lib/components/draggable/YDraggable.js +10 -11
- package/lib/components/draggable/YDraggable.js.map +1 -1
- package/lib/components/draggable/index.js +2 -0
- package/lib/components/draggable/index.js.map +1 -0
- package/lib/components/dropdown/YDropdown.js +16 -17
- package/lib/components/dropdown/YDropdown.js.map +1 -1
- package/lib/components/dropdown/index.js.map +1 -1
- package/lib/components/field-input/YFieldInput.js +42 -40
- package/lib/components/field-input/YFieldInput.js.map +1 -1
- package/lib/components/field-input/index.js.map +1 -1
- package/lib/components/form/YForm.js +12 -14
- package/lib/components/form/YForm.js.map +1 -1
- package/lib/components/form/index.js.map +1 -1
- package/lib/components/hover/YHover.js +9 -8
- package/lib/components/hover/YHover.js.map +1 -1
- package/lib/components/hover/index.js.map +1 -1
- package/lib/components/icon/YIcon.js +2 -4
- package/lib/components/icon/YIcon.js.map +1 -1
- package/lib/components/icon/index.js.map +1 -1
- package/lib/components/icons/YIconCheckbox.js +7 -6
- package/lib/components/icons/YIconCheckbox.js.map +1 -1
- package/lib/components/icons/YIconClear.js +2 -1
- package/lib/components/icons/YIconClear.js.map +1 -1
- package/lib/components/icons/YIconDropdown.js +2 -1
- package/lib/components/icons/YIconDropdown.js.map +1 -1
- package/lib/components/icons/YIconExpand.js +1 -0
- package/lib/components/icons/YIconExpand.js.map +1 -1
- package/lib/components/icons/YIconPageControl.js +7 -6
- package/lib/components/icons/YIconPageControl.js.map +1 -1
- package/lib/components/icons/YIconSort.js +6 -5
- package/lib/components/icons/YIconSort.js.map +1 -1
- package/lib/components/icons/YIconSort.scss +2 -0
- package/lib/components/icons/index.js.map +1 -1
- package/lib/components/img/YImg.js +30 -31
- package/lib/components/img/YImg.js.map +1 -1
- package/lib/components/img/index.js.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/YInput.js +1 -2
- package/lib/components/input/YInput.js.map +1 -1
- package/lib/components/input/YInput.scss +10 -9
- package/lib/components/input/index.js.map +1 -1
- package/lib/components/ip-field/YIpv4Field.js +1 -2
- package/lib/components/ip-field/YIpv4Field.js.map +1 -1
- package/lib/components/ip-field/index.js.map +1 -1
- package/lib/components/layer/YLayer.js +4 -3
- package/lib/components/layer/YLayer.js.map +1 -1
- package/lib/components/layer/active-delay.js.map +1 -1
- package/lib/components/layer/active-stack.js.map +1 -1
- package/lib/components/layer/base.js.map +1 -1
- package/lib/components/layer/content.js.map +1 -1
- package/lib/components/layer/index.js.map +1 -1
- package/lib/components/layer/scroll-strategies.js.map +1 -1
- package/lib/components/list/YList.js +1 -2
- package/lib/components/list/YList.js.map +1 -1
- package/lib/components/list/YListItem.js +1 -2
- package/lib/components/list/YListItem.js.map +1 -1
- package/lib/components/list/index.js.map +1 -1
- package/lib/components/loading/YSpinnerRing.js.map +1 -1
- package/lib/components/loading/index.js.map +1 -1
- package/lib/components/menu/YMenu.js +5 -8
- package/lib/components/menu/YMenu.js.map +1 -1
- package/lib/components/menu/YMenu.scss +3 -4
- package/lib/components/menu/index.js.map +1 -1
- package/lib/components/navigation/YNavigation.js +1 -2
- package/lib/components/navigation/YNavigation.js.map +1 -1
- package/lib/components/navigation/index.js.map +1 -1
- package/lib/components/pagination/YPagination.js +1 -2
- package/lib/components/pagination/YPagination.js.map +1 -1
- package/lib/components/pagination/index.js.map +1 -1
- package/lib/components/panel/YDividePanel.js +1 -2
- package/lib/components/panel/YDividePanel.js.map +1 -1
- package/lib/components/panel/YDividePanel.scss +1 -0
- package/lib/components/panel/index.js.map +1 -1
- package/lib/components/plate/YPlate.js +3 -4
- package/lib/components/plate/YPlate.js.map +1 -1
- package/lib/components/plate/index.js.map +1 -1
- package/lib/components/progress-bar/YProgressBar.js +1 -2
- package/lib/components/progress-bar/YProgressBar.js.map +1 -1
- package/lib/components/progress-bar/index.js.map +1 -1
- package/lib/components/progress-ring/YProgressRing.js +3 -4
- package/lib/components/progress-ring/YProgressRing.js.map +1 -1
- package/lib/components/progress-ring/index.js.map +1 -1
- package/lib/components/radio/YRadio.js +58 -0
- package/lib/components/radio/YRadio.js.map +1 -0
- package/lib/components/radio/YRadio.scss +38 -0
- package/lib/components/radio/YRadioIcon.js +33 -0
- package/lib/components/radio/YRadioIcon.js.map +1 -0
- package/lib/components/radio/YRadioIcon.scss +43 -0
- package/lib/components/radio/index.js +3 -0
- package/lib/components/radio/index.js.map +1 -0
- package/lib/components/select/YSelect.js +41 -43
- package/lib/components/select/YSelect.js.map +1 -1
- package/lib/components/select/index.js.map +1 -1
- package/lib/components/slider/YSlider.js.map +1 -1
- package/lib/components/slider/index.js.map +1 -1
- package/lib/components/slider/slider.js.map +1 -1
- package/lib/components/snackbar/YSnackbar.js +6 -6
- package/lib/components/snackbar/YSnackbar.js.map +1 -1
- package/lib/components/snackbar/index.js.map +1 -1
- package/lib/components/switch/YSwitch.js +1 -2
- package/lib/components/switch/YSwitch.js.map +1 -1
- package/lib/components/switch/index.js.map +1 -1
- package/lib/components/tab/YTab.js +2 -3
- package/lib/components/tab/YTab.js.map +1 -1
- package/lib/components/tab/YTab.scss +1 -1
- package/lib/components/tab/YTabs.js +1 -2
- package/lib/components/tab/YTabs.js.map +1 -1
- package/lib/components/tab/index.js.map +1 -1
- package/lib/components/tab/shared.js.map +1 -1
- package/lib/components/tab/types.js.map +1 -1
- package/lib/components/table/YDataTable.js +26 -14
- package/lib/components/table/YDataTable.js.map +1 -1
- package/lib/components/table/YDataTableBody.js +14 -19
- package/lib/components/table/YDataTableBody.js.map +1 -1
- package/lib/components/table/YDataTableCell.js +1 -2
- package/lib/components/table/YDataTableCell.js.map +1 -1
- package/lib/components/table/YDataTableControl.js +8 -6
- package/lib/components/table/YDataTableControl.js.map +1 -1
- package/lib/components/table/YDataTableControl.scss +10 -0
- package/lib/components/table/YDataTableHead.js +1 -1
- package/lib/components/table/YDataTableHead.js.map +1 -1
- package/lib/components/table/YDataTableLayer.js +1 -2
- package/lib/components/table/YDataTableLayer.js.map +1 -1
- package/lib/components/table/YDataTableLayerRow.js +86 -0
- package/lib/components/table/YDataTableLayerRow.js.map +1 -0
- package/lib/components/table/YDataTableLayerRow.vue +7 -6
- package/lib/components/table/YDataTableLayerRows.js +59 -0
- package/lib/components/table/YDataTableLayerRows.js.map +1 -0
- package/lib/components/table/YDataTableLayerRows.scss +14 -0
- package/lib/components/table/YDataTableRow.js +14 -7
- package/lib/components/table/YDataTableRow.js.map +1 -1
- package/lib/components/table/YDataTableRows.scss +14 -0
- package/lib/components/table/YDataTableServer.js +19 -8
- package/lib/components/table/YDataTableServer.js.map +1 -1
- package/lib/components/table/YTable.js +1 -2
- package/lib/components/table/YTable.js.map +1 -1
- package/lib/components/table/composables/expand.js +49 -0
- package/lib/components/table/composables/expand.js.map +1 -0
- package/lib/components/table/composables/header.js.map +1 -1
- package/lib/components/table/composables/items.js +8 -2
- package/lib/components/table/composables/items.js.map +1 -1
- package/lib/components/table/composables/measure.js +1 -1
- package/lib/components/table/composables/measure.js.map +1 -1
- package/lib/components/table/composables/options.js.map +1 -1
- package/lib/components/table/composables/pagination.js.map +1 -1
- package/lib/components/table/composables/provides.js.map +1 -1
- package/lib/components/table/composables/selection.js.map +1 -1
- package/lib/components/table/composables/sorted-items.js.map +1 -1
- package/lib/components/table/composables/sorting.js.map +1 -1
- package/lib/components/table/index.js +2 -0
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/types/common.js.map +1 -1
- package/lib/components/table/types/header.js.map +1 -1
- package/lib/components/table/types/index.js.map +1 -1
- package/lib/components/table/types/item.js.map +1 -1
- package/lib/components/table/types/row.js.map +1 -1
- package/lib/components/text-ellipsis/YTextEllipsis.js +1 -2
- package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -1
- package/lib/components/text-ellipsis/index.js.map +1 -1
- package/lib/components/text-highlighter/YTextHighlighter.js +2 -1
- package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -1
- package/lib/components/text-highlighter/index.js.map +1 -1
- package/lib/components/text-interpolation/YTi.js +2 -2
- package/lib/components/text-interpolation/YTi.js.map +1 -1
- package/lib/components/text-interpolation/index.js.map +1 -1
- package/lib/components/textarea/YTextarea.js +1 -2
- package/lib/components/textarea/YTextarea.js.map +1 -1
- package/lib/components/textarea/index.js.map +1 -1
- package/lib/components/toggle-button/YToggleButton.js.map +1 -1
- package/lib/components/toggle-button/index.js.map +1 -1
- package/lib/components/tooltip/YTooltip.js +1 -2
- package/lib/components/tooltip/YTooltip.js.map +1 -1
- package/lib/components/tooltip/index.js.map +1 -1
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/components/transitions/index.js.map +1 -1
- package/lib/components/tree-view/YTreeView.js +1 -2
- package/lib/components/tree-view/YTreeView.js.map +1 -1
- package/lib/components/tree-view/YTreeViewNode.js +7 -4
- package/lib/components/tree-view/YTreeViewNode.js.map +1 -1
- package/lib/components/tree-view/index.js.map +1 -1
- package/lib/components/tree-view/tree-view.js.map +1 -1
- package/lib/components/tree-view/types.js.map +1 -1
- package/lib/components/tree-view/util.js.map +1 -1
- package/lib/composables/choice-link.js.map +1 -1
- package/lib/composables/choice.js.map +1 -1
- package/lib/composables/communication.js.map +1 -1
- package/lib/composables/component.js.map +1 -1
- package/lib/composables/coordinate/arrangement.js.map +1 -1
- package/lib/composables/coordinate/index.js.map +1 -1
- package/lib/composables/coordinate/levitation.js +2 -2
- package/lib/composables/coordinate/levitation.js.map +1 -1
- package/lib/composables/coordinate/types.js.map +1 -1
- package/lib/composables/coordinate/utils/point.js.map +1 -1
- package/lib/composables/date/factory.js.map +1 -1
- package/lib/composables/date/index.js.map +1 -1
- package/lib/composables/date/setting.js.map +1 -1
- package/lib/composables/date/types.js.map +1 -1
- package/lib/composables/defaults/index.js.map +1 -1
- package/lib/composables/defaults/share.js.map +1 -1
- package/lib/composables/defaults/types.js.map +1 -1
- package/lib/composables/dimension.js.map +1 -1
- package/lib/composables/focus.js.map +1 -1
- package/lib/composables/form.js +5 -5
- package/lib/composables/form.js.map +1 -1
- package/lib/composables/i18n/index.js.map +1 -1
- package/lib/composables/i18n/locale.js.map +1 -1
- package/lib/composables/i18n/rtl.js.map +1 -1
- package/lib/composables/i18n/share.js.map +1 -1
- package/lib/composables/icon.js +1 -2
- package/lib/composables/icon.js.map +1 -1
- package/lib/composables/index.js.map +1 -1
- package/lib/composables/layer-group.js.map +1 -1
- package/lib/composables/layout.js.map +1 -1
- package/lib/composables/list-items.js.map +1 -1
- package/lib/composables/progress.js.map +1 -1
- package/lib/composables/ref.js.map +1 -1
- package/lib/composables/resize-observer.js.map +1 -1
- package/lib/composables/scope.js.map +1 -1
- package/lib/composables/style-color.js +1 -2
- package/lib/composables/style-color.js.map +1 -1
- package/lib/composables/theme/factory.js.map +1 -1
- package/lib/composables/theme/helper.js.map +1 -1
- package/lib/composables/theme/index.js +8 -1
- package/lib/composables/theme/index.js.map +1 -1
- package/lib/composables/theme/setting.js.map +1 -1
- package/lib/composables/theme/types.js.map +1 -1
- package/lib/composables/timing.js.map +1 -1
- package/lib/composables/transition.js.map +1 -1
- package/lib/composables/validation.js +7 -4
- package/lib/composables/validation.js.map +1 -1
- package/lib/composables/vue-router.js.map +1 -1
- package/lib/directives/complement-click/index.js.map +1 -1
- package/lib/directives/index.js +3 -0
- package/lib/directives/index.js.map +1 -0
- package/lib/directives/plate-wave/index.js +2 -2
- package/lib/directives/plate-wave/index.js.map +1 -1
- package/lib/directives/theme-class/index.js +24 -0
- package/lib/directives/theme-class/index.js.map +1 -0
- package/lib/etc/index.js.map +1 -1
- package/lib/i18n/built-in.js.map +1 -1
- package/lib/i18n/config.js.map +1 -1
- package/lib/i18n/types.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/locales/en.js.map +1 -1
- package/lib/locales/index.js.map +1 -1
- package/lib/locales/ko.js.map +1 -1
- package/lib/mixins/di.js.map +1 -1
- package/lib/mixins/rebind-attrs.js +0 -2
- package/lib/mixins/rebind-attrs.js.map +1 -1
- package/lib/styles/_elevation.scss +0 -1
- package/lib/styles/base.scss +3 -1
- package/lib/styles/settings/_elevation.scss +12 -12
- package/lib/styles/settings/_provided.scss +23 -23
- package/lib/styles/theme/dark.scss +3 -3
- package/lib/styles/theme/index.scss +0 -1
- package/lib/styles/theme/light.scss +3 -3
- package/lib/styles/util/_mixin.scss +16 -16
- package/lib/types/index.js.map +1 -1
- package/lib/util/anchor.js.map +1 -1
- package/lib/util/array.js.map +1 -1
- package/lib/util/collection.js.map +1 -1
- package/lib/util/color/apca.js +1 -0
- package/lib/util/color/apca.js.map +1 -1
- package/lib/util/color/const.js.map +1 -1
- package/lib/util/color/contrast/contrast.js.map +1 -1
- package/lib/util/color/conversion.js.map +1 -1
- package/lib/util/color/hct/cam16.js.map +1 -1
- package/lib/util/color/hct/hct-solver.js +6 -6
- package/lib/util/color/hct/hct-solver.js.map +1 -1
- package/lib/util/color/hct/hct.js.map +1 -1
- package/lib/util/color/hct/viewing-conditions.js +6 -4
- package/lib/util/color/hct/viewing-conditions.js.map +1 -1
- package/lib/util/color/index.js +13 -13
- package/lib/util/color/index.js.map +1 -1
- package/lib/util/color/palettes/core-palette.js.map +1 -1
- package/lib/util/color/palettes/tonal-palette.js +3 -3
- package/lib/util/color/palettes/tonal-palette.js.map +1 -1
- package/lib/util/color/types.js.map +1 -1
- package/lib/util/color/utils/math-utils.js +62 -62
- package/lib/util/color/utils/math-utils.js.map +1 -1
- package/lib/util/common.js +28 -13
- package/lib/util/common.js.map +1 -1
- package/lib/util/component/component.js.map +1 -1
- package/lib/util/component/index.js.map +1 -1
- package/lib/util/component/inject-self.js.map +1 -1
- package/lib/util/component/props.js.map +1 -1
- package/lib/util/component/types.js.map +1 -1
- package/lib/util/date/adapters/yuyeon-date-adapter.js +3 -3
- package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -1
- package/lib/util/date/built-in.js +2 -0
- package/lib/util/date/built-in.js.map +1 -1
- package/lib/util/date/index.js +1 -1
- package/lib/util/date/index.js.map +1 -1
- package/lib/util/date/types.js.map +1 -1
- package/lib/util/debounce.js +1 -1
- package/lib/util/debounce.js.map +1 -1
- package/lib/util/dom.js +10 -1
- package/lib/util/dom.js.map +1 -1
- package/lib/util/environments.js.map +1 -1
- package/lib/util/frame-scheduler.js +3 -3
- package/lib/util/frame-scheduler.js.map +1 -1
- package/lib/util/index.js +11 -11
- package/lib/util/index.js.map +1 -1
- package/lib/util/reactivity.js +3 -3
- package/lib/util/reactivity.js.map +1 -1
- package/lib/util/rect.js.map +1 -1
- package/lib/util/scroll.js.map +1 -1
- package/lib/util/string.js +6 -1
- package/lib/util/string.js.map +1 -1
- package/lib/util/ui.js.map +1 -1
- package/lib/util/validation.js.map +1 -1
- package/package.json +132 -120
- package/types/abstract/items.d.ts +8 -8
- package/types/components/alert/YAlert.d.ts +2 -2
- package/types/components/badge/YBadge.d.ts +4 -7
- package/types/components/button/YButton.d.ts +11 -11
- package/types/components/checkbox/YCheckbox.d.ts +4 -4
- package/types/components/chip/YChip.d.ts +1 -4
- package/types/components/date-picker/YDateCalendar.d.ts +4 -4
- package/types/components/date-picker/YDatePicker.d.ts +1 -1
- package/types/components/date-picker/YDatePickerControl.d.ts +12 -12
- package/types/components/dialog/YDialog.d.ts +158 -6530
- package/types/components/draggable/YDraggable.d.ts +6 -6
- package/types/components/draggable/index.d.ts +1 -0
- package/types/components/dropdown/YDropdown.d.ts +139 -139
- package/types/components/field-input/YFieldInput.d.ts +33 -27
- package/types/components/form/YForm.d.ts +3 -3
- package/types/components/hover/YHover.d.ts +3 -3
- package/types/components/icon/YIcon.d.ts +6 -6
- package/types/components/icons/YIconPageControl.d.ts +1 -1
- package/types/components/icons/YIconSort.d.ts +1 -1
- package/types/components/icons/index.d.ts +4 -4
- package/types/components/img/YImg.d.ts +31 -31
- package/types/components/input/YInput.d.ts +22 -22
- package/types/components/ip-field/YIpv4Field.d.ts +6 -6
- package/types/components/layer/YLayer.d.ts +81 -3266
- package/types/components/layer/content.d.ts +1 -1
- package/types/components/layer/scroll-strategies.d.ts +5 -5
- package/types/components/list/YListItem.d.ts +1 -1
- package/types/components/menu/YMenu.d.ts +83 -6455
- package/types/components/pagination/YPagination.d.ts +8 -8
- package/types/components/radio/YRadio.d.ts +25 -0
- package/types/components/radio/YRadioIcon.d.ts +6 -0
- package/types/components/radio/index.d.ts +2 -0
- package/types/components/select/YSelect.d.ts +235 -553
- package/types/components/slider/YSlider.d.ts +1 -1
- package/types/components/snackbar/YSnackbar.d.ts +88 -88
- package/types/components/switch/YSwitch.d.ts +10 -10
- package/types/components/tab/YTab.d.ts +15 -15
- package/types/components/tab/YTabs.d.ts +5 -5
- package/types/components/table/YDataTable.d.ts +70 -102
- package/types/components/table/YDataTableBody.d.ts +6 -8
- package/types/components/table/YDataTableCell.d.ts +2 -2
- package/types/components/table/YDataTableControl.d.ts +20 -8
- package/types/components/table/YDataTableHead.d.ts +2 -2
- package/types/components/table/YDataTableLayer.d.ts +2 -2
- package/types/components/table/YDataTableLayerRow.d.ts +22 -0
- package/types/components/table/YDataTableLayerRows.d.ts +9 -0
- package/types/components/table/YDataTableRow.d.ts +1 -1
- package/types/components/table/YDataTableServer.d.ts +94 -117
- package/types/components/table/YTable.d.ts +7 -7
- package/types/components/table/composables/expand.d.ts +42 -0
- package/types/components/table/composables/header.d.ts +17 -49
- package/types/components/table/composables/items.d.ts +5 -5
- package/types/components/table/composables/pagination.d.ts +12 -12
- package/types/components/table/composables/selection.d.ts +9 -9
- package/types/components/table/composables/sorting.d.ts +9 -15
- package/types/components/table/index.d.ts +2 -0
- package/types/components/table/types/item.d.ts +2 -1
- package/types/components/textarea/YTextarea.d.ts +48 -48
- package/types/components/tooltip/YTooltip.d.ts +113 -113
- package/types/components/tree-view/YTreeView.d.ts +11 -11
- package/types/components/tree-view/YTreeViewNode.d.ts +13 -13
- package/types/components/tree-view/tree-view.d.ts +2 -2
- package/types/composables/choice.d.ts +3 -3
- package/types/composables/coordinate/index.d.ts +35 -3213
- package/types/composables/dimension.d.ts +6 -6
- package/types/composables/form.d.ts +19 -29
- package/types/composables/icon.d.ts +2 -2
- package/types/composables/list-items.d.ts +13 -13
- package/types/composables/style-color.d.ts +0 -1
- package/types/composables/theme/index.d.ts +1 -0
- package/types/composables/transition.d.ts +11 -11
- package/types/composables/validation.d.ts +9 -9
- package/types/composables/vue-router.d.ts +3 -3
- package/types/declares.d.ts +1 -0
- package/types/directives/index.d.ts +2 -0
- package/types/directives/plate-wave/index.d.ts +7 -1
- package/types/globals.d.ts +19 -20
- package/types/shims.d.ts +64 -56
- package/types/types/index.d.ts +3 -0
- package/types/util/anchor.d.ts +1 -1
- package/types/util/common.d.ts +3 -0
- package/types/util/component/component.d.ts +1 -2
- package/types/util/component/props.d.ts +1 -1
- package/types/util/component/types.d.ts +1 -1
- package/types/util/date/index.d.ts +1 -1
- package/types/util/dom.d.ts +2 -0
- package/types/util/index.d.ts +11 -11
- package/types/util/string.d.ts +1 -0
- /package/types/directives/{theme-class.d.ts → theme-class/index.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTooltip.js","names":["computed","nextTick","ref","watch","useModelDuplex","useRender","pressPolyTransitionPropsOptions","omit","bindClasses","chooseProps","defineComponent","propsFactory","YLayer","pressYLayerProps","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","coordinateStrategy","scrollStrategy","openOnHover","align","offset","transition","pressYTooltipPropsOptions","YTooltip","name","props","emits","setup","_ref","slots","emit","expose","layer$","contentEl","baseEl","value","classes","boundClasses","model","active","get","set","v","disabled","hovered","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","el","addEventListener","unbindHover","removeEventListener","old","
|
|
1
|
+
{"version":3,"file":"YTooltip.js","names":["computed","nextTick","ref","watch","Fragment","_Fragment","createVNode","_createVNode","mergeProps","_mergeProps","useModelDuplex","useRender","pressPolyTransitionPropsOptions","omit","bindClasses","chooseProps","defineComponent","propsFactory","YLayer","pressYLayerProps","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","coordinateStrategy","scrollStrategy","openOnHover","align","offset","transition","pressYTooltipPropsOptions","YTooltip","name","props","emits","setup","_ref","slots","emit","expose","layer$","contentEl","baseEl","value","classes","boundClasses","model","active","get","set","v","disabled","hovered","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","el","addEventListener","unbindHover","removeEventListener","old","$event","_len","arguments","length","args","_key","base","_len2","_key2","el$"],"sources":["../../../src/components/tooltip/YTooltip.tsx"],"sourcesContent":["import { type PropType, computed, nextTick, ref, watch } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { pressPolyTransitionPropsOptions } from '@/composables/transition';\nimport { omit } from '@/util/common';\nimport {\n bindClasses,\n chooseProps,\n defineComponent,\n propsFactory,\n} from '@/util/component';\n\nimport { YLayer, pressYLayerProps } from '../layer';\nimport { useDelay } from '../layer/active-delay';\nimport { YPlate } from '../plate';\n\nimport './YTooltip.scss';\n\nconst NAME = 'YTooltip';\n\nconst YTooltipPropOptions = {\n tooltipClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n preventClip: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n ...pressYLayerProps({\n coordinateStrategy: 'levitation' as const,\n scrollStrategy: 'reposition' as const,\n openOnHover: true,\n align: 'center',\n offset: 8,\n }),\n ...pressPolyTransitionPropsOptions({\n transition: 'fade',\n }),\n};\n\nexport const pressYTooltipPropsOptions = propsFactory(\n YTooltipPropOptions,\n 'YTooltip',\n);\n\n/**\n * # Component\n */\nexport const YTooltip = defineComponent<\n ReturnType<typeof pressYTooltipPropsOptions>\n>({\n name: NAME,\n props: {\n ...pressYTooltipPropsOptions(),\n },\n emits: ['update:modelValue'],\n setup(props, { slots, emit, expose }) {\n const layer$ = ref<typeof YLayer>();\n const contentEl = ref<HTMLElement>();\n const baseEl = computed(() => {\n return layer$.value?.baseEl;\n });\n\n const classes = computed(() => {\n const boundClasses = bindClasses(props.tooltipClasses);\n return {\n ...boundClasses,\n 'y-tooltip': true,\n };\n });\n\n const model = useModelDuplex(props);\n\n const active = computed({\n get: (): boolean => {\n return !!model.value;\n },\n set: (v: boolean) => {\n if (!(v && props.disabled)) model.value = v;\n },\n });\n\n const hovered = computed(() => !!layer$.value?.hovered);\n\n watch(active, (neo) => {\n if (neo) {\n nextTick(() => {\n const $content = layer$.value?.content$;\n contentEl.value = $content;\n });\n }\n });\n\n const { startOpenDelay, startCloseDelay } = useDelay(\n props,\n (changeActive) => {\n if (!changeActive && props.openOnHover && !hovered.value) {\n active.value = false;\n } else if (changeActive) {\n active.value = true;\n }\n },\n );\n\n function onMouseenter(e: MouseEvent) {\n if (props.openOnHover) {\n startOpenDelay();\n }\n }\n\n function onMouseleave(e: MouseEvent) {\n if (props.openOnHover) {\n startCloseDelay();\n }\n }\n\n watch(hovered, (value) => {\n if (!value) {\n startCloseDelay();\n }\n });\n\n function bindHover(el: HTMLElement) {\n el.addEventListener?.('mouseenter', onMouseenter);\n el.addEventListener?.('mouseleave', onMouseleave);\n }\n\n function unbindHover(el: HTMLElement) {\n el.removeEventListener?.('mouseenter', onMouseenter);\n el.removeEventListener?.('mouseleave', onMouseleave);\n }\n\n watch(\n () => layer$.value?.baseEl,\n (neo, old) => {\n if (neo) {\n bindHover(neo);\n } else if (old) {\n unbindHover(old);\n }\n },\n );\n\n expose({\n layer$,\n baseEl,\n });\n\n useRender(() => {\n return (\n <>\n <YLayer\n ref={layer$}\n {...omit(chooseProps(props, YLayer.props), ['scrim'])}\n classes={classes.value}\n scrim={false}\n transition={props.transition}\n v-model={active.value}\n >\n {{\n default: (...args: any) => {\n return (\n <>\n <YPlate></YPlate>\n <div class=\"y-tooltip__content\">\n {slots.default?.(...args) ?? ''}\n </div>\n </>\n );\n },\n base: (...args: any[]) => slots.base?.(...args),\n }}\n </YLayer>\n </>\n );\n });\n\n return {\n layer$,\n el$: layer$,\n baseEl,\n active,\n };\n },\n});\n\nexport type YTooltip = InstanceType<typeof YTooltip>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/tooltip/index.ts"],"sourcesContent":["export * from './YTooltip';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/tooltip/index.ts"],"sourcesContent":["export * from './YTooltip';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expand-transition.js","names":["Transition","defineComponent","h","ref","kebabToCamel","createExpandTransition","isHorizon","arguments","length","undefined","direction","name","sizeProperty","offsetProperty","getExpandTransitionHooks","cache","relay","resetStyle","el","_originStyle","style","overflow","flex","size","cacheSize","rect","getBoundingClientRect","value","onBeforeEnter","_parent","parentNode","transition","onEnter","originStyle","setProperty","offsetSize","requestAnimationFrame","onAfterEnter","onEnterCancelled","onLeave","onAfterLeave","onLeaveCancelled","props","disabled","type","Boolean","default","setup","_ref","slots","cacheValue","css"],"sources":["../../../src/components/transitions/expand-transition.ts"],"sourcesContent":["import {\n type PropType,\n type Ref,\n Transition,\n defineComponent,\n h,\n ref,\n} from 'vue';\n\nimport { kebabToCamel } from '@/util/string';\n\ntype HTMLParentElement = (Node & ParentNode & HTMLElement) | null;\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: HTMLParentElement;\n _originStyle?: {\n transition: string;\n overflow: string;\n height?: string | null;\n width?: string | null;\n flex: string;\n };\n}\n\nexport function createExpandTransition(isHorizon = false) {\n const direction = isHorizon ? 'h' : 'v';\n const name = `expand-${direction}-transition`;\n const sizeProperty = isHorizon ? 'width' : 'height';\n const offsetProperty = kebabToCamel(`offset-${sizeProperty}`) as\n | 'offsetWidth'\n | 'offsetHeight';\n\n function getExpandTransitionHooks(\n cache: Ref<number | undefined>,\n relay: boolean,\n ): Record<string, any> {\n function resetStyle(el: HTMLExpandElement) {\n if (el._originStyle) {\n el.style.overflow = el._originStyle.overflow;\n el.style.flex = el._originStyle.flex;\n const size = el._originStyle[sizeProperty];\n if (size != null) {\n el.style[sizeProperty] = size;\n }\n }\n delete el._originStyle;\n }\n\n function cacheSize(el: HTMLExpandElement) {\n if (relay && el) {\n const rect = el.getBoundingClientRect();\n cache.value = rect?.[sizeProperty];\n }\n }\n\n return {\n onBeforeEnter(el: HTMLExpandElement) {\n el._parent = el.parentNode as HTMLParentElement;\n el._originStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n flex: el.style.flex,\n };\n },\n onEnter(el: HTMLExpandElement) {\n const originStyle = el._originStyle;\n el.style.setProperty('transition', 'none', 'important');\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n const offsetSize = `${el[offsetProperty]}px`;\n if (relay && cache.value != null) {\n el.style[sizeProperty] = `${cache.value}px`;\n } else {\n el.style[sizeProperty] = '0';\n }\n el.getBoundingClientRect();\n el.style.transition = originStyle?.transition ?? '';\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offsetSize;\n });\n },\n onAfterEnter(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onEnterCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeave(el: HTMLExpandElement) {\n cacheSize(el);\n if (relay) {\n return;\n }\n el._originStyle = {\n transition: '',\n overflow: el.style.overflow,\n flex: el.style.flex,\n [sizeProperty]: el.style[sizeProperty],\n };\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n el.getBoundingClientRect();\n requestAnimationFrame(() => {\n el.style[sizeProperty] = '0';\n });\n },\n onAfterLeave(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeaveCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n };\n }\n\n return defineComponent({\n name,\n props: {\n disabled: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n relay: Boolean,\n },\n setup(props, { slots }) {\n const cacheValue = ref<number | undefined>();\n return () =>\n h(\n Transition,\n {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.disabled\n ? {}\n : getExpandTransitionHooks(cacheValue, props.relay)),\n },\n slots.default,\n );\n },\n });\n}\n"],"mappings":"AAAA,SAGEA,UAAU,EACVC,eAAe,EACfC,CAAC,EACDC,GAAG,QACE,KAAK;AAAC,SAEJC,YAAY;AAcrB,OAAO,SAASC,sBAAsBA,CAAA,EAAoB;EAAA,IAAnBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EACtD,MAAMG,SAAS,GAAGJ,SAAS,GAAG,GAAG,GAAG,GAAG;EACvC,MAAMK,IAAI,
|
|
1
|
+
{"version":3,"file":"expand-transition.js","names":["Transition","defineComponent","h","ref","kebabToCamel","createExpandTransition","isHorizon","arguments","length","undefined","direction","name","sizeProperty","offsetProperty","getExpandTransitionHooks","cache","relay","resetStyle","el","_originStyle","style","overflow","flex","size","cacheSize","rect","getBoundingClientRect","value","onBeforeEnter","_parent","parentNode","transition","onEnter","originStyle","setProperty","offsetSize","requestAnimationFrame","onAfterEnter","onEnterCancelled","onLeave","onAfterLeave","onLeaveCancelled","props","disabled","type","Boolean","default","setup","_ref","slots","cacheValue","css"],"sources":["../../../src/components/transitions/expand-transition.ts"],"sourcesContent":["import {\n type PropType,\n type Ref,\n Transition,\n defineComponent,\n h,\n ref,\n} from 'vue';\n\nimport { kebabToCamel } from '@/util/string';\n\ntype HTMLParentElement = (Node & ParentNode & HTMLElement) | null;\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: HTMLParentElement;\n _originStyle?: {\n transition: string;\n overflow: string;\n height?: string | null;\n width?: string | null;\n flex: string;\n };\n}\n\nexport function createExpandTransition(isHorizon = false) {\n const direction = isHorizon ? 'h' : 'v';\n const name = `expand-${direction}-transition`;\n const sizeProperty = isHorizon ? 'width' : 'height';\n const offsetProperty = kebabToCamel(`offset-${sizeProperty}`) as\n | 'offsetWidth'\n | 'offsetHeight';\n\n function getExpandTransitionHooks(\n cache: Ref<number | undefined>,\n relay: boolean,\n ): Record<string, any> {\n function resetStyle(el: HTMLExpandElement) {\n if (el._originStyle) {\n el.style.overflow = el._originStyle.overflow;\n el.style.flex = el._originStyle.flex;\n const size = el._originStyle[sizeProperty];\n if (size != null) {\n el.style[sizeProperty] = size;\n }\n }\n delete el._originStyle;\n }\n\n function cacheSize(el: HTMLExpandElement) {\n if (relay && el) {\n const rect = el.getBoundingClientRect();\n cache.value = rect?.[sizeProperty];\n }\n }\n\n return {\n onBeforeEnter(el: HTMLExpandElement) {\n el._parent = el.parentNode as HTMLParentElement;\n el._originStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n flex: el.style.flex,\n };\n },\n onEnter(el: HTMLExpandElement) {\n const originStyle = el._originStyle;\n el.style.setProperty('transition', 'none', 'important');\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n const offsetSize = `${el[offsetProperty]}px`;\n if (relay && cache.value != null) {\n el.style[sizeProperty] = `${cache.value}px`;\n } else {\n el.style[sizeProperty] = '0';\n }\n el.getBoundingClientRect();\n el.style.transition = originStyle?.transition ?? '';\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offsetSize;\n });\n },\n onAfterEnter(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onEnterCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeave(el: HTMLExpandElement) {\n cacheSize(el);\n if (relay) {\n return;\n }\n el._originStyle = {\n transition: '',\n overflow: el.style.overflow,\n flex: el.style.flex,\n [sizeProperty]: el.style[sizeProperty],\n };\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n el.getBoundingClientRect();\n requestAnimationFrame(() => {\n el.style[sizeProperty] = '0';\n });\n },\n onAfterLeave(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeaveCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n };\n }\n\n return defineComponent({\n name,\n props: {\n disabled: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n relay: Boolean,\n },\n setup(props, { slots }) {\n const cacheValue = ref<number | undefined>();\n return () =>\n h(\n Transition,\n {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.disabled\n ? {}\n : getExpandTransitionHooks(cacheValue, props.relay)),\n },\n slots.default,\n );\n },\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["createExpandTransition","YExpandVTransition","YExpandHTransition"],"sources":["../../../src/components/transitions/index.ts"],"sourcesContent":["import { createExpandTransition } from './expand-transition';\n\nexport const YExpandVTransition = createExpandTransition(false);\nexport const YExpandHTransition = createExpandTransition(true);\n\nexport type YExpandVTransition = InstanceType<typeof YExpandVTransition>;\nexport type YExpandHTransition = InstanceType<typeof YExpandHTransition>;\n"],"mappings":"SAASA,sBAAsB;AAE/B,OAAO,MAAMC,kBAAkB,GAAGD,sBAAsB,CAAC,KAAK,CAAC;AAC/D,OAAO,MAAME,kBAAkB,GAAGF,sBAAsB,CAAC,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["createExpandTransition","YExpandVTransition","YExpandHTransition"],"sources":["../../../src/components/transitions/index.ts"],"sourcesContent":["import { createExpandTransition } from './expand-transition';\n\nexport const YExpandVTransition = createExpandTransition(false);\nexport const YExpandHTransition = createExpandTransition(true);\n\nexport type YExpandVTransition = InstanceType<typeof YExpandVTransition>;\nexport type YExpandHTransition = InstanceType<typeof YExpandHTransition>;\n"],"mappings":"SAASA,sBAAsB;AAE/B,OAAO,MAAMC,kBAAkB,GAAGD,sBAAsB,CAAC,KAAK,CAAC;AAC/D,OAAO,MAAME,kBAAkB,GAAGF,sBAAsB,CAAC,IAAI,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { computed, defineComponent, onMounted, ref, shallowRef, watch } from 'vue';
|
|
1
|
+
import { computed, defineComponent, onMounted, ref, shallowRef, watch, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps, createTextVNode as _createTextVNode } from 'vue';
|
|
3
2
|
import { provideTreeView } from "./tree-view.js";
|
|
4
3
|
import { useRender } from "../../composables/component.js";
|
|
5
4
|
import { differenceBetween } from "../../util/array.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTreeView.js","names":["computed","defineComponent","onMounted","ref","shallowRef","watch","provideTreeView","useRender","differenceBetween","isColorValue","deepEqual","getObjectValueByPath","hasOwnProperty","chooseProps","debounce","YProgressBar","YTreeViewNode","pressYTreeViewNodeProps","filterTreeItem","filterTreeItems","getKeys","treeViewNodeProps","YTreeView","name","props","expanded","type","Array","default","active","multipleActive","Boolean","activeStrategy","String","onlyEventActiveStrategy","selected","selectStrategy","returnItem","defaultExpand","Number","filter","Function","searchDebounceWait","emits","setup","_ref","slots","emit","expose","filterItemsFn","excludeItem","expandedCache","nodes","expandedSet","selectedSet","activeSet","searchLoading","excludedSet","issueVnodeState","updateExpanded","updateActive","updateSelected","emitExpanded","emitActive","emitSelected","isExcluded","items","search","arguments","length","undefined","excluded","Set","value","diff","forEach","key","item","itemKey","itemText","itemChildren","expand","getNodeKey","itemOrKey","updateNodes","parentKey","level","children","exist","existNode","vnode","includes","indeterminate","node","childKeys","map","child","add","neo","deep","until","Object","entries","_ref2","stateWatcher","stateSet","updater","emitter","valuesOfKey","v","old","oldKeys","keys","nodeKey","neoKeys","k","oldSelected","oldActive","clear","flush","renderLeaves","slice","leaf","classes","styles","color","activeColor","activeValue","selectedValue","_createVNode","_Fragment","_mergeProps","_createTextVNode"],"sources":["../../../src/components/tree-view/YTreeView.tsx"],"sourcesContent":["import {\n type PropType,\n type Ref,\n computed,\n defineComponent,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { provideTreeView } from '@/components/tree-view/tree-view';\nimport { useRender } from '@/composables/component';\nimport { CandidateKey } from '@/types';\nimport { differenceBetween } from '@/util/array';\nimport { isColorValue } from '@/util/color';\nimport { deepEqual, getObjectValueByPath, hasOwnProperty } from '@/util/common';\nimport { chooseProps } from '@/util/component';\nimport { debounce } from '@/util/debounce';\n\nimport { YProgressBar } from '../progress-bar';\nimport { YTreeViewNode, pressYTreeViewNodeProps } from './YTreeViewNode';\nimport { NodeState, TreeviewFilterFn } from './types';\nimport { filterTreeItem, filterTreeItems, getKeys } from './util';\n\nimport './YTreeView.scss';\n\nconst treeViewNodeProps = pressYTreeViewNodeProps();\n\nexport const YTreeView = defineComponent({\n name: 'YTreeView',\n props: {\n expanded: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n active: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n multipleActive: Boolean,\n activeStrategy: {\n /**\n * cascade: only descendent leaves\n * relative: cascade after check parent (ancestor)\n */\n type: String as PropType<'independent' | 'cascade' | 'relative'>,\n default: 'independent',\n },\n onlyEventActiveStrategy: Boolean,\n selected: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n selectStrategy: {\n type: String as PropType<'independent' | 'cascade'>,\n default: 'leaf',\n },\n returnItem: Boolean,\n defaultExpand: [Boolean, String, Number],\n filter: Function as PropType<TreeviewFilterFn>,\n searchDebounceWait: {\n type: Number as PropType<number>,\n default: 700,\n },\n ...treeViewNodeProps,\n },\n emits: ['update:expanded', 'update:active', 'update:selected'],\n setup(props, { slots, emit, expose }) {\n const filterItemsFn = shallowRef(\n debounce(excludeItem, props.searchDebounceWait),\n );\n const expandedCache = ref<CandidateKey[]>([]);\n\n const {\n nodes,\n expanded,\n active,\n selected,\n expandedSet,\n selectedSet,\n activeSet,\n searchLoading,\n excludedSet,\n issueVnodeState,\n updateExpanded,\n updateActive,\n updateSelected,\n emitExpanded,\n emitActive,\n emitSelected,\n isExcluded,\n } = provideTreeView(props);\n\n function excludeItem(items: any[], search = '', filter = filterTreeItem) {\n const excluded = new Set<CandidateKey>();\n if (!search) {\n searchLoading.value = false;\n excludedSet.value = excluded;\n const diff = differenceBetween(expandedCache.value, [\n ...expandedSet.value,\n ]);\n diff.forEach((key) => {\n updateExpanded(key, false);\n });\n expandedCache.value.forEach((key) => {\n updateExpanded(key, true);\n });\n return;\n }\n for (const item of items) {\n filterTreeItems(\n filter,\n item,\n search ?? '',\n props.itemKey,\n props.itemText,\n props.itemChildren as string,\n excluded,\n );\n }\n excludedSet.value = excluded;\n searchLoading.value = false;\n expand();\n }\n\n watch(\n () => props.search,\n () => {\n searchLoading.value = true;\n filterItemsFn.value(props.items, props.search, props.filter);\n },\n );\n\n // Util Methods\n function getNodeKey(itemOrKey: any) {\n return props.returnItem\n ? getObjectValueByPath(itemOrKey, props.itemKey)\n : itemOrKey;\n }\n\n // State Methods\n function updateNodes(\n items: any[],\n parentKey: CandidateKey | null = null,\n level = 0,\n ) {\n for (const item of items) {\n const key = getObjectValueByPath(item, props.itemKey);\n const children =\n getObjectValueByPath(item, props.itemChildren as string) ?? [];\n const exist = hasOwnProperty(nodes.value, key);\n const existNode = exist\n ? nodes.value[key]\n : {\n vnode: null,\n selected: selected.value?.includes(key) ?? false,\n indeterminate: false,\n active: active.value?.includes(key) ?? false,\n expanded: expanded.value?.includes(key) ?? false,\n };\n const node: NodeState = {\n vnode: existNode.vnode,\n item,\n level,\n parentKey,\n childKeys: children.map((child: any) =>\n getObjectValueByPath(child, props.itemKey),\n ),\n expanded: children.length > 0 && existNode.expanded,\n active: existNode.active,\n indeterminate: existNode.indeterminate,\n selected: existNode.selected,\n };\n\n updateNodes(children, key, level + 1);\n\n nodes.value[key] = node;\n if (nodes.value[key].expanded) {\n expandedSet.value.add(key);\n }\n if (nodes.value[key].selected) {\n selectedSet.value.add(key);\n }\n if (nodes.value[key].active) {\n activeSet.value.add(key);\n }\n issueVnodeState(key);\n }\n }\n\n watch(\n expandedSet,\n (neo) => {\n if (!props.search) {\n expandedCache.value = [...neo];\n }\n },\n { deep: true },\n );\n\n function expand(until: boolean | string | number = true) {\n Object.entries(nodes.value).forEach(([key, node]) => {\n if (until === true || Number(until) >= node.level) {\n updateExpanded(key, true);\n }\n });\n emitExpanded();\n return expandedSet.value;\n }\n\n function stateWatcher(\n value: any[],\n stateSet: Ref<Set<CandidateKey>>,\n updater: (key: CandidateKey, to: boolean) => void,\n emitter: () => void,\n ) {\n const valuesOfKey = props.returnItem\n ? value.map((v) => getObjectValueByPath(v, props.itemKey))\n : value;\n const old = [...stateSet.value];\n if (deepEqual(old, valuesOfKey)) {\n return;\n }\n old.forEach((key) => updater(key, false));\n valuesOfKey.forEach((key) => updater(key, true));\n emitter();\n }\n\n watch(expanded, (neo) => {\n stateWatcher(neo, expandedSet, updateExpanded, emitExpanded);\n });\n\n watch(active, (neo) => {\n stateWatcher(neo, activeSet, updateActive, emitActive);\n });\n\n watch(selected, (neo) => {\n stateWatcher(neo, selectedSet, updateSelected, emitSelected);\n });\n\n watch(\n () => props.items,\n (neo: any[]) => {\n const oldKeys = Object.keys(nodes.value).map((nodeKey) =>\n getObjectValueByPath(nodes.value[nodeKey].item, props.itemKey),\n );\n const neoKeys = getKeys(\n neo,\n props.itemKey,\n props.itemChildren as string,\n );\n const diff = differenceBetween(oldKeys, neoKeys);\n if (diff.length < 1 && neoKeys.length < oldKeys.length) {\n return;\n }\n diff.forEach((k) => delete nodes.value[k]);\n\n // init\n const oldSelected = [...selectedSet.value];\n const oldActive = [...activeSet.value];\n selectedSet.value.clear();\n expandedSet.value.clear();\n activeSet.value.clear();\n updateNodes(neo);\n if (!deepEqual(oldSelected, [...selectedSet.value])) {\n emitSelected();\n }\n if (!deepEqual(oldActive, [...activeSet.value])) {\n emitActive();\n }\n filterItemsFn.value(neo, props.search, props.filter);\n },\n { deep: true, flush: 'sync' },\n );\n\n // Provide & Issue\n\n updateNodes(props.items);\n\n const renderLeaves = computed(() => {\n return props.items.slice().filter((leaf) => {\n return !isExcluded(getObjectValueByPath(leaf, props.itemKey));\n });\n });\n\n const classes = computed(() => {\n return {\n 'y-tree-view': true,\n };\n });\n\n const styles = computed(() => {\n let color = props.activeColor;\n if (props.activeColor && !isColorValue(props.activeColor)) {\n color = `var(--y-theme-${props.activeColor})`;\n }\n return {\n [`--y-tree-view__active-color`]: color,\n };\n });\n\n onMounted(() => {\n if (props.search) {\n searchLoading.value = true;\n excludeItem(props.items, props.search, props.filter);\n }\n\n if (props.defaultExpand != null && props.defaultExpand !== false) {\n expandedCache.value = [...expand(props.defaultExpand)];\n } else {\n expanded.value.forEach((v: any) => updateExpanded(getNodeKey(v), true));\n emitExpanded();\n }\n\n for (const activeValue of props.active.map(getNodeKey)) {\n updateActive(activeValue, true);\n }\n\n for (const selectedValue of props.selected.map(getNodeKey)) {\n updateSelected(selectedValue, true);\n }\n });\n\n expose({\n expand,\n });\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} style={styles.value} role=\"tree\">\n {searchLoading.value && <YProgressBar indeterminate />}\n {renderLeaves.value.length > 0 ? (\n renderLeaves.value.slice().map((leaf) => {\n return (\n <YTreeViewNode\n v-slots={slots}\n key={getObjectValueByPath(leaf, props.itemKey)}\n {...{\n ...chooseProps(props, treeViewNodeProps),\n item: leaf,\n level: 0,\n }}\n ></YTreeViewNode>\n );\n })\n ) : (\n <div class=\"y-tree-view__no-data\">\n {slots['no-data'] ? slots['no-data']() : <span>No Data</span>}\n </div>\n )}\n </div>\n </>\n );\n });\n\n return {\n nodes,\n expandedSet,\n selectedSet,\n activeSet,\n excludedSet,\n searchLoading,\n expandedCache,\n renderLeaves,\n };\n },\n});\n\nexport type YTreeView = InstanceType<typeof YTreeView>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YTreeView.js","names":["computed","defineComponent","onMounted","ref","shallowRef","watch","Fragment","_Fragment","createVNode","_createVNode","mergeProps","_mergeProps","createTextVNode","_createTextVNode","provideTreeView","useRender","differenceBetween","isColorValue","deepEqual","getObjectValueByPath","hasOwnProperty","chooseProps","debounce","YProgressBar","YTreeViewNode","pressYTreeViewNodeProps","filterTreeItem","filterTreeItems","getKeys","treeViewNodeProps","YTreeView","name","props","expanded","type","Array","default","active","multipleActive","Boolean","activeStrategy","String","onlyEventActiveStrategy","selected","selectStrategy","returnItem","defaultExpand","Number","filter","Function","searchDebounceWait","emits","setup","_ref","slots","emit","expose","filterItemsFn","excludeItem","expandedCache","nodes","expandedSet","selectedSet","activeSet","searchLoading","excludedSet","issueVnodeState","updateExpanded","updateActive","updateSelected","emitExpanded","emitActive","emitSelected","isExcluded","items","search","arguments","length","undefined","excluded","Set","value","diff","forEach","key","item","itemKey","itemText","itemChildren","expand","getNodeKey","itemOrKey","updateNodes","parentKey","level","children","exist","existNode","vnode","includes","indeterminate","node","childKeys","map","child","add","neo","deep","until","Object","entries","_ref2","stateWatcher","stateSet","updater","emitter","valuesOfKey","v","old","oldKeys","keys","nodeKey","neoKeys","k","oldSelected","oldActive","clear","flush","renderLeaves","slice","leaf","classes","styles","color","activeColor","activeValue","selectedValue"],"sources":["../../../src/components/tree-view/YTreeView.tsx"],"sourcesContent":["import {\n type PropType,\n type Ref,\n computed,\n defineComponent,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { provideTreeView } from '@/components/tree-view/tree-view';\nimport { useRender } from '@/composables/component';\nimport { CandidateKey } from '@/types';\nimport { differenceBetween } from '@/util/array';\nimport { isColorValue } from '@/util/color';\nimport { deepEqual, getObjectValueByPath, hasOwnProperty } from '@/util/common';\nimport { chooseProps } from '@/util/component';\nimport { debounce } from '@/util/debounce';\n\nimport { YProgressBar } from '../progress-bar';\nimport { YTreeViewNode, pressYTreeViewNodeProps } from './YTreeViewNode';\nimport { NodeState, TreeviewFilterFn } from './types';\nimport { filterTreeItem, filterTreeItems, getKeys } from './util';\n\nimport './YTreeView.scss';\n\nconst treeViewNodeProps = pressYTreeViewNodeProps();\n\nexport const YTreeView = defineComponent({\n name: 'YTreeView',\n props: {\n expanded: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n active: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n multipleActive: Boolean,\n activeStrategy: {\n /**\n * cascade: only descendent leaves\n * relative: cascade after check parent (ancestor)\n */\n type: String as PropType<'independent' | 'cascade' | 'relative'>,\n default: 'independent',\n },\n onlyEventActiveStrategy: Boolean,\n selected: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n selectStrategy: {\n type: String as PropType<'independent' | 'cascade'>,\n default: 'leaf',\n },\n returnItem: Boolean,\n defaultExpand: [Boolean, String, Number],\n filter: Function as PropType<TreeviewFilterFn>,\n searchDebounceWait: {\n type: Number as PropType<number>,\n default: 700,\n },\n ...treeViewNodeProps,\n },\n emits: ['update:expanded', 'update:active', 'update:selected'],\n setup(props, { slots, emit, expose }) {\n const filterItemsFn = shallowRef(\n debounce(excludeItem, props.searchDebounceWait),\n );\n const expandedCache = ref<CandidateKey[]>([]);\n\n const {\n nodes,\n expanded,\n active,\n selected,\n expandedSet,\n selectedSet,\n activeSet,\n searchLoading,\n excludedSet,\n issueVnodeState,\n updateExpanded,\n updateActive,\n updateSelected,\n emitExpanded,\n emitActive,\n emitSelected,\n isExcluded,\n } = provideTreeView(props);\n\n function excludeItem(items: any[], search = '', filter = filterTreeItem) {\n const excluded = new Set<CandidateKey>();\n if (!search) {\n searchLoading.value = false;\n excludedSet.value = excluded;\n const diff = differenceBetween(expandedCache.value, [\n ...expandedSet.value,\n ]);\n diff.forEach((key) => {\n updateExpanded(key, false);\n });\n expandedCache.value.forEach((key) => {\n updateExpanded(key, true);\n });\n return;\n }\n for (const item of items) {\n filterTreeItems(\n filter,\n item,\n search ?? '',\n props.itemKey,\n props.itemText,\n props.itemChildren as string,\n excluded,\n );\n }\n excludedSet.value = excluded;\n searchLoading.value = false;\n expand();\n }\n\n watch(\n () => props.search,\n () => {\n searchLoading.value = true;\n filterItemsFn.value(props.items, props.search, props.filter);\n },\n );\n\n // Util Methods\n function getNodeKey(itemOrKey: any) {\n return props.returnItem\n ? getObjectValueByPath(itemOrKey, props.itemKey)\n : itemOrKey;\n }\n\n // State Methods\n function updateNodes(\n items: any[],\n parentKey: CandidateKey | null = null,\n level = 0,\n ) {\n for (const item of items) {\n const key = getObjectValueByPath(item, props.itemKey);\n const children =\n getObjectValueByPath(item, props.itemChildren as string) ?? [];\n const exist = hasOwnProperty(nodes.value, key);\n const existNode = exist\n ? nodes.value[key]\n : {\n vnode: null,\n selected: selected.value?.includes(key) ?? false,\n indeterminate: false,\n active: active.value?.includes(key) ?? false,\n expanded: expanded.value?.includes(key) ?? false,\n };\n const node: NodeState = {\n vnode: existNode.vnode,\n item,\n level,\n parentKey,\n childKeys: children.map((child: any) =>\n getObjectValueByPath(child, props.itemKey),\n ),\n expanded: children.length > 0 && existNode.expanded,\n active: existNode.active,\n indeterminate: existNode.indeterminate,\n selected: existNode.selected,\n };\n\n updateNodes(children, key, level + 1);\n\n nodes.value[key] = node;\n if (nodes.value[key].expanded) {\n expandedSet.value.add(key);\n }\n if (nodes.value[key].selected) {\n selectedSet.value.add(key);\n }\n if (nodes.value[key].active) {\n activeSet.value.add(key);\n }\n issueVnodeState(key);\n }\n }\n\n watch(\n expandedSet,\n (neo) => {\n if (!props.search) {\n expandedCache.value = [...neo];\n }\n },\n { deep: true },\n );\n\n function expand(until: boolean | string | number = true) {\n Object.entries(nodes.value).forEach(([key, node]) => {\n if (until === true || Number(until) >= node.level) {\n updateExpanded(key, true);\n }\n });\n emitExpanded();\n return expandedSet.value;\n }\n\n function stateWatcher(\n value: any[],\n stateSet: Ref<Set<CandidateKey>>,\n updater: (key: CandidateKey, to: boolean) => void,\n emitter: () => void,\n ) {\n const valuesOfKey = props.returnItem\n ? value.map((v) => getObjectValueByPath(v, props.itemKey))\n : value;\n const old = [...stateSet.value];\n if (deepEqual(old, valuesOfKey)) {\n return;\n }\n old.forEach((key) => updater(key, false));\n valuesOfKey.forEach((key) => updater(key, true));\n emitter();\n }\n\n watch(expanded, (neo) => {\n stateWatcher(neo, expandedSet, updateExpanded, emitExpanded);\n });\n\n watch(active, (neo) => {\n stateWatcher(neo, activeSet, updateActive, emitActive);\n });\n\n watch(selected, (neo) => {\n stateWatcher(neo, selectedSet, updateSelected, emitSelected);\n });\n\n watch(\n () => props.items,\n (neo: any[]) => {\n const oldKeys = Object.keys(nodes.value).map((nodeKey) =>\n getObjectValueByPath(nodes.value[nodeKey].item, props.itemKey),\n );\n const neoKeys = getKeys(\n neo,\n props.itemKey,\n props.itemChildren as string,\n );\n const diff = differenceBetween(oldKeys, neoKeys);\n if (diff.length < 1 && neoKeys.length < oldKeys.length) {\n return;\n }\n diff.forEach((k) => delete nodes.value[k]);\n\n // init\n const oldSelected = [...selectedSet.value];\n const oldActive = [...activeSet.value];\n selectedSet.value.clear();\n expandedSet.value.clear();\n activeSet.value.clear();\n updateNodes(neo);\n if (!deepEqual(oldSelected, [...selectedSet.value])) {\n emitSelected();\n }\n if (!deepEqual(oldActive, [...activeSet.value])) {\n emitActive();\n }\n filterItemsFn.value(neo, props.search, props.filter);\n },\n { deep: true, flush: 'sync' },\n );\n\n // Provide & Issue\n\n updateNodes(props.items);\n\n const renderLeaves = computed(() => {\n return props.items.slice().filter((leaf) => {\n return !isExcluded(getObjectValueByPath(leaf, props.itemKey));\n });\n });\n\n const classes = computed(() => {\n return {\n 'y-tree-view': true,\n };\n });\n\n const styles = computed(() => {\n let color = props.activeColor;\n if (props.activeColor && !isColorValue(props.activeColor)) {\n color = `var(--y-theme-${props.activeColor})`;\n }\n return {\n [`--y-tree-view__active-color`]: color,\n };\n });\n\n onMounted(() => {\n if (props.search) {\n searchLoading.value = true;\n excludeItem(props.items, props.search, props.filter);\n }\n\n if (props.defaultExpand != null && props.defaultExpand !== false) {\n expandedCache.value = [...expand(props.defaultExpand)];\n } else {\n expanded.value.forEach((v: any) => updateExpanded(getNodeKey(v), true));\n emitExpanded();\n }\n\n for (const activeValue of props.active.map(getNodeKey)) {\n updateActive(activeValue, true);\n }\n\n for (const selectedValue of props.selected.map(getNodeKey)) {\n updateSelected(selectedValue, true);\n }\n });\n\n expose({\n expand,\n });\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} style={styles.value} role=\"tree\">\n {searchLoading.value && <YProgressBar indeterminate />}\n {renderLeaves.value.length > 0 ? (\n renderLeaves.value.slice().map((leaf) => {\n return (\n <YTreeViewNode\n v-slots={slots}\n key={getObjectValueByPath(leaf, props.itemKey)}\n {...{\n ...chooseProps(props, treeViewNodeProps),\n item: leaf,\n level: 0,\n }}\n ></YTreeViewNode>\n );\n })\n ) : (\n <div class=\"y-tree-view__no-data\">\n {slots['no-data'] ? slots['no-data']() : <span>No Data</span>}\n </div>\n )}\n </div>\n </>\n );\n });\n\n return {\n nodes,\n expandedSet,\n selectedSet,\n activeSet,\n excludedSet,\n searchLoading,\n expandedCache,\n renderLeaves,\n };\n },\n});\n\nexport type YTreeView = InstanceType<typeof YTreeView>;\n"],"mappings":"AAAA,SAGEA,QAAQ,EACRC,eAAe,EACfC,SAAS,EACTC,GAAG,EACHC,UAAU,EACVC,KAAK,EAAAC,QAAA,IAAAC,SAAA,EAAAC,WAAA,IAAAC,YAAA,EAAAC,UAAA,IAAAC,WAAA,EAAAC,eAAA,IAAAC,gBAAA,QACA,KAAK;AAAC,SAEJC,eAAe;AAAA,SACfC,SAAS;AAAA,SAETC,iBAAiB;AAAA,SACjBC,YAAY;AAAA,SACZC,SAAS,EAAEC,oBAAoB,EAAEC,cAAc;AAAA,SAC/CC,WAAW;AAAA,SACXC,QAAQ;AAAA,SAERC,YAAY;AAAA,SACZC,aAAa,EAAEC,uBAAuB;AAAA,SAEtCC,cAAc,EAAEC,eAAe,EAAEC,OAAO;AAEjD;AAEA,MAAMC,iBAAiB,GAAGJ,uBAAuB,CAAC,CAAC;AAEnD,OAAO,MAAMK,SAAS,GAAG7B,eAAe,CAAC;EACvC8B,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE;IACLC,QAAQ,EAAE;MACRC,IAAI,EAAE,CAACC,KAAK,CAA6B;MACzCC,OAAO,EAAEA,CAAA,KAAM;IACjB,CAAC;IACDC,MAAM,EAAE;MACNH,IAAI,EAAE,CAACC,KAAK,CAA6B;MACzCC,OAAO,EAAEA,CAAA,KAAM;IACjB,CAAC;IACDE,cAAc,EAAEC,OAAO;IACvBC,cAAc,EAAE;MACd;AACN;AACA;AACA;MACMN,IAAI,EAAEO,MAA0D;MAChEL,OAAO,EAAE;IACX,CAAC;IACDM,uBAAuB,EAAEH,OAAO;IAChCI,QAAQ,EAAE;MACRT,IAAI,EAAE,CAACC,KAAK,CAA6B;MACzCC,OAAO,EAAEA,CAAA,KAAM;IACjB,CAAC;IACDQ,cAAc,EAAE;MACdV,IAAI,EAAEO,MAA6C;MACnDL,OAAO,EAAE;IACX,CAAC;IACDS,UAAU,EAAEN,OAAO;IACnBO,aAAa,EAAE,CAACP,OAAO,EAAEE,MAAM,EAAEM,MAAM,CAAC;IACxCC,MAAM,EAAEC,QAAsC;IAC9CC,kBAAkB,EAAE;MAClBhB,IAAI,EAAEa,MAA0B;MAChCX,OAAO,EAAE;IACX,CAAC;IACD,GAAGP;EACL,CAAC;EACDsB,KAAK,EAAE,CAAC,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,CAAC;EAC9DC,KAAKA,CAACpB,KAAK,EAAAqB,IAAA,EAA2B;IAAA,IAAzB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAO,CAAC,GAAAH,IAAA;IAClC,MAAMI,aAAa,GAAGrD,UAAU,CAC9BkB,QAAQ,CAACoC,WAAW,EAAE1B,KAAK,CAACkB,kBAAkB,CAChD,CAAC;IACD,MAAMS,aAAa,GAAGxD,GAAG,CAAiB,EAAE,CAAC;IAE7C,MAAM;MACJyD,KAAK;MACL3B,QAAQ;MACRI,MAAM;MACNM,QAAQ;MACRkB,WAAW;MACXC,WAAW;MACXC,SAAS;MACTC,aAAa;MACbC,WAAW;MACXC,eAAe;MACfC,cAAc;MACdC,YAAY;MACZC,cAAc;MACdC,YAAY;MACZC,UAAU;MACVC,YAAY;MACZC;IACF,CAAC,GAAG3D,eAAe,CAACkB,KAAK,CAAC;IAE1B,SAAS0B,WAAWA,CAACgB,KAAY,EAAwC;MAAA,IAAtCC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;MAAA,IAAE5B,MAAM,GAAA4B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGlD,cAAc;MACrE,MAAMqD,QAAQ,GAAG,IAAIC,GAAG,CAAe,CAAC;MACxC,IAAI,CAACL,MAAM,EAAE;QACXX,aAAa,CAACiB,KAAK,GAAG,KAAK;QAC3BhB,WAAW,CAACgB,KAAK,GAAGF,QAAQ;QAC5B,MAAMG,IAAI,GAAGlE,iBAAiB,CAAC2C,aAAa,CAACsB,KAAK,EAAE,CAClD,GAAGpB,WAAW,CAACoB,KAAK,CACrB,CAAC;QACFC,IAAI,CAACC,OAAO,CAAEC,GAAG,IAAK;UACpBjB,cAAc,CAACiB,GAAG,EAAE,KAAK,CAAC;QAC5B,CAAC,CAAC;QACFzB,aAAa,CAACsB,KAAK,CAACE,OAAO,CAAEC,GAAG,IAAK;UACnCjB,cAAc,CAACiB,GAAG,EAAE,IAAI,CAAC;QAC3B,CAAC,CAAC;QACF;MACF;MACA,KAAK,MAAMC,IAAI,IAAIX,KAAK,EAAE;QACxB/C,eAAe,CACbqB,MAAM,EACNqC,IAAI,EACJV,MAAM,IAAI,EAAE,EACZ3C,KAAK,CAACsD,OAAO,EACbtD,KAAK,CAACuD,QAAQ,EACdvD,KAAK,CAACwD,YAAY,EAClBT,QACF,CAAC;MACH;MACAd,WAAW,CAACgB,KAAK,GAAGF,QAAQ;MAC5Bf,aAAa,CAACiB,KAAK,GAAG,KAAK;MAC3BQ,MAAM,CAAC,CAAC;IACV;IAEApF,KAAK,CACH,MAAM2B,KAAK,CAAC2C,MAAM,EAClB,MAAM;MACJX,aAAa,CAACiB,KAAK,GAAG,IAAI;MAC1BxB,aAAa,CAACwB,KAAK,CAACjD,KAAK,CAAC0C,KAAK,EAAE1C,KAAK,CAAC2C,MAAM,EAAE3C,KAAK,CAACgB,MAAM,CAAC;IAC9D,CACF,CAAC;;IAED;IACA,SAAS0C,UAAUA,CAACC,SAAc,EAAE;MAClC,OAAO3D,KAAK,CAACa,UAAU,GACnB1B,oBAAoB,CAACwE,SAAS,EAAE3D,KAAK,CAACsD,OAAO,CAAC,GAC9CK,SAAS;IACf;;IAEA;IACA,SAASC,WAAWA,CAClBlB,KAAY,EAGZ;MAAA,IAFAmB,SAA8B,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MAAA,IACrCkB,KAAK,GAAAlB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;MAET,KAAK,MAAMS,IAAI,IAAIX,KAAK,EAAE;QACxB,MAAMU,GAAG,GAAGjE,oBAAoB,CAACkE,IAAI,EAAErD,KAAK,CAACsD,OAAO,CAAC;QACrD,MAAMS,QAAQ,GACZ5E,oBAAoB,CAACkE,IAAI,EAAErD,KAAK,CAACwD,YAAsB,CAAC,IAAI,EAAE;QAChE,MAAMQ,KAAK,GAAG5E,cAAc,CAACwC,KAAK,CAACqB,KAAK,EAAEG,GAAG,CAAC;QAC9C,MAAMa,SAAS,GAAGD,KAAK,GACnBpC,KAAK,CAACqB,KAAK,CAACG,GAAG,CAAC,GAChB;UACEc,KAAK,EAAE,IAAI;UACXvD,QAAQ,EAAEA,QAAQ,CAACsC,KAAK,EAAEkB,QAAQ,CAACf,GAAG,CAAC,IAAI,KAAK;UAChDgB,aAAa,EAAE,KAAK;UACpB/D,MAAM,EAAEA,MAAM,CAAC4C,KAAK,EAAEkB,QAAQ,CAACf,GAAG,CAAC,IAAI,KAAK;UAC5CnD,QAAQ,EAAEA,QAAQ,CAACgD,KAAK,EAAEkB,QAAQ,CAACf,GAAG,CAAC,IAAI;QAC7C,CAAC;QACL,MAAMiB,IAAe,GAAG;UACtBH,KAAK,EAAED,SAAS,CAACC,KAAK;UACtBb,IAAI;UACJS,KAAK;UACLD,SAAS;UACTS,SAAS,EAAEP,QAAQ,CAACQ,GAAG,CAAEC,KAAU,IACjCrF,oBAAoB,CAACqF,KAAK,EAAExE,KAAK,CAACsD,OAAO,CAC3C,CAAC;UACDrD,QAAQ,EAAE8D,QAAQ,CAAClB,MAAM,GAAG,CAAC,IAAIoB,SAAS,CAAChE,QAAQ;UACnDI,MAAM,EAAE4D,SAAS,CAAC5D,MAAM;UACxB+D,aAAa,EAAEH,SAAS,CAACG,aAAa;UACtCzD,QAAQ,EAAEsD,SAAS,CAACtD;QACtB,CAAC;QAEDiD,WAAW,CAACG,QAAQ,EAAEX,GAAG,EAAEU,KAAK,GAAG,CAAC,CAAC;QAErClC,KAAK,CAACqB,KAAK,CAACG,GAAG,CAAC,GAAGiB,IAAI;QACvB,IAAIzC,KAAK,CAACqB,KAAK,CAACG,GAAG,CAAC,CAACnD,QAAQ,EAAE;UAC7B4B,WAAW,CAACoB,KAAK,CAACwB,GAAG,CAACrB,GAAG,CAAC;QAC5B;QACA,IAAIxB,KAAK,CAACqB,KAAK,CAACG,GAAG,CAAC,CAACzC,QAAQ,EAAE;UAC7BmB,WAAW,CAACmB,KAAK,CAACwB,GAAG,CAACrB,GAAG,CAAC;QAC5B;QACA,IAAIxB,KAAK,CAACqB,KAAK,CAACG,GAAG,CAAC,CAAC/C,MAAM,EAAE;UAC3B0B,SAAS,CAACkB,KAAK,CAACwB,GAAG,CAACrB,GAAG,CAAC;QAC1B;QACAlB,eAAe,CAACkB,GAAG,CAAC;MACtB;IACF;IAEA/E,KAAK,CACHwD,WAAW,EACV6C,GAAG,IAAK;MACP,IAAI,CAAC1E,KAAK,CAAC2C,MAAM,EAAE;QACjBhB,aAAa,CAACsB,KAAK,GAAG,CAAC,GAAGyB,GAAG,CAAC;MAChC;IACF,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAED,SAASlB,MAAMA,CAAA,EAA0C;MAAA,IAAzCmB,KAAgC,GAAAhC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MACrDiC,MAAM,CAACC,OAAO,CAAClD,KAAK,CAACqB,KAAK,CAAC,CAACE,OAAO,CAAC4B,KAAA,IAAiB;QAAA,IAAhB,CAAC3B,GAAG,EAAEiB,IAAI,CAAC,GAAAU,KAAA;QAC9C,IAAIH,KAAK,KAAK,IAAI,IAAI7D,MAAM,CAAC6D,KAAK,CAAC,IAAIP,IAAI,CAACP,KAAK,EAAE;UACjD3B,cAAc,CAACiB,GAAG,EAAE,IAAI,CAAC;QAC3B;MACF,CAAC,CAAC;MACFd,YAAY,CAAC,CAAC;MACd,OAAOT,WAAW,CAACoB,KAAK;IAC1B;IAEA,SAAS+B,YAAYA,CACnB/B,KAAY,EACZgC,QAAgC,EAChCC,OAAiD,EACjDC,OAAmB,EACnB;MACA,MAAMC,WAAW,GAAGpF,KAAK,CAACa,UAAU,GAChCoC,KAAK,CAACsB,GAAG,CAAEc,CAAC,IAAKlG,oBAAoB,CAACkG,CAAC,EAAErF,KAAK,CAACsD,OAAO,CAAC,CAAC,GACxDL,KAAK;MACT,MAAMqC,GAAG,GAAG,CAAC,GAAGL,QAAQ,CAAChC,KAAK,CAAC;MAC/B,IAAI/D,SAAS,CAACoG,GAAG,EAAEF,WAAW,CAAC,EAAE;QAC/B;MACF;MACAE,GAAG,CAACnC,OAAO,CAAEC,GAAG,IAAK8B,OAAO,CAAC9B,GAAG,EAAE,KAAK,CAAC,CAAC;MACzCgC,WAAW,CAACjC,OAAO,CAAEC,GAAG,IAAK8B,OAAO,CAAC9B,GAAG,EAAE,IAAI,CAAC,CAAC;MAChD+B,OAAO,CAAC,CAAC;IACX;IAEA9G,KAAK,CAAC4B,QAAQ,EAAGyE,GAAG,IAAK;MACvBM,YAAY,CAACN,GAAG,EAAE7C,WAAW,EAAEM,cAAc,EAAEG,YAAY,CAAC;IAC9D,CAAC,CAAC;IAEFjE,KAAK,CAACgC,MAAM,EAAGqE,GAAG,IAAK;MACrBM,YAAY,CAACN,GAAG,EAAE3C,SAAS,EAAEK,YAAY,EAAEG,UAAU,CAAC;IACxD,CAAC,CAAC;IAEFlE,KAAK,CAACsC,QAAQ,EAAG+D,GAAG,IAAK;MACvBM,YAAY,CAACN,GAAG,EAAE5C,WAAW,EAAEO,cAAc,EAAEG,YAAY,CAAC;IAC9D,CAAC,CAAC;IAEFnE,KAAK,CACH,MAAM2B,KAAK,CAAC0C,KAAK,EAChBgC,GAAU,IAAK;MACd,MAAMa,OAAO,GAAGV,MAAM,CAACW,IAAI,CAAC5D,KAAK,CAACqB,KAAK,CAAC,CAACsB,GAAG,CAAEkB,OAAO,IACnDtG,oBAAoB,CAACyC,KAAK,CAACqB,KAAK,CAACwC,OAAO,CAAC,CAACpC,IAAI,EAAErD,KAAK,CAACsD,OAAO,CAC/D,CAAC;MACD,MAAMoC,OAAO,GAAG9F,OAAO,CACrB8E,GAAG,EACH1E,KAAK,CAACsD,OAAO,EACbtD,KAAK,CAACwD,YACR,CAAC;MACD,MAAMN,IAAI,GAAGlE,iBAAiB,CAACuG,OAAO,EAAEG,OAAO,CAAC;MAChD,IAAIxC,IAAI,CAACL,MAAM,GAAG,CAAC,IAAI6C,OAAO,CAAC7C,MAAM,GAAG0C,OAAO,CAAC1C,MAAM,EAAE;QACtD;MACF;MACAK,IAAI,CAACC,OAAO,CAAEwC,CAAC,IAAK,OAAO/D,KAAK,CAACqB,KAAK,CAAC0C,CAAC,CAAC,CAAC;;MAE1C;MACA,MAAMC,WAAW,GAAG,CAAC,GAAG9D,WAAW,CAACmB,KAAK,CAAC;MAC1C,MAAM4C,SAAS,GAAG,CAAC,GAAG9D,SAAS,CAACkB,KAAK,CAAC;MACtCnB,WAAW,CAACmB,KAAK,CAAC6C,KAAK,CAAC,CAAC;MACzBjE,WAAW,CAACoB,KAAK,CAAC6C,KAAK,CAAC,CAAC;MACzB/D,SAAS,CAACkB,KAAK,CAAC6C,KAAK,CAAC,CAAC;MACvBlC,WAAW,CAACc,GAAG,CAAC;MAChB,IAAI,CAACxF,SAAS,CAAC0G,WAAW,EAAE,CAAC,GAAG9D,WAAW,CAACmB,KAAK,CAAC,CAAC,EAAE;QACnDT,YAAY,CAAC,CAAC;MAChB;MACA,IAAI,CAACtD,SAAS,CAAC2G,SAAS,EAAE,CAAC,GAAG9D,SAAS,CAACkB,KAAK,CAAC,CAAC,EAAE;QAC/CV,UAAU,CAAC,CAAC;MACd;MACAd,aAAa,CAACwB,KAAK,CAACyB,GAAG,EAAE1E,KAAK,CAAC2C,MAAM,EAAE3C,KAAK,CAACgB,MAAM,CAAC;IACtD,CAAC,EACD;MAAE2D,IAAI,EAAE,IAAI;MAAEoB,KAAK,EAAE;IAAO,CAC9B,CAAC;;IAED;;IAEAnC,WAAW,CAAC5D,KAAK,CAAC0C,KAAK,CAAC;IAExB,MAAMsD,YAAY,GAAGhI,QAAQ,CAAC,MAAM;MAClC,OAAOgC,KAAK,CAAC0C,KAAK,CAACuD,KAAK,CAAC,CAAC,CAACjF,MAAM,CAAEkF,IAAI,IAAK;QAC1C,OAAO,CAACzD,UAAU,CAACtD,oBAAoB,CAAC+G,IAAI,EAAElG,KAAK,CAACsD,OAAO,CAAC,CAAC;MAC/D,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM6C,OAAO,GAAGnI,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,aAAa,EAAE;MACjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAMoI,MAAM,GAAGpI,QAAQ,CAAC,MAAM;MAC5B,IAAIqI,KAAK,GAAGrG,KAAK,CAACsG,WAAW;MAC7B,IAAItG,KAAK,CAACsG,WAAW,IAAI,CAACrH,YAAY,CAACe,KAAK,CAACsG,WAAW,CAAC,EAAE;QACzDD,KAAK,GAAG,iBAAiBrG,KAAK,CAACsG,WAAW,GAAG;MAC/C;MACA,OAAO;QACL,CAAC,6BAA6B,GAAGD;MACnC,CAAC;IACH,CAAC,CAAC;IAEFnI,SAAS,CAAC,MAAM;MACd,IAAI8B,KAAK,CAAC2C,MAAM,EAAE;QAChBX,aAAa,CAACiB,KAAK,GAAG,IAAI;QAC1BvB,WAAW,CAAC1B,KAAK,CAAC0C,KAAK,EAAE1C,KAAK,CAAC2C,MAAM,EAAE3C,KAAK,CAACgB,MAAM,CAAC;MACtD;MAEA,IAAIhB,KAAK,CAACc,aAAa,IAAI,IAAI,IAAId,KAAK,CAACc,aAAa,KAAK,KAAK,EAAE;QAChEa,aAAa,CAACsB,KAAK,GAAG,CAAC,GAAGQ,MAAM,CAACzD,KAAK,CAACc,aAAa,CAAC,CAAC;MACxD,CAAC,MAAM;QACLb,QAAQ,CAACgD,KAAK,CAACE,OAAO,CAAEkC,CAAM,IAAKlD,cAAc,CAACuB,UAAU,CAAC2B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvE/C,YAAY,CAAC,CAAC;MAChB;MAEA,KAAK,MAAMiE,WAAW,IAAIvG,KAAK,CAACK,MAAM,CAACkE,GAAG,CAACb,UAAU,CAAC,EAAE;QACtDtB,YAAY,CAACmE,WAAW,EAAE,IAAI,CAAC;MACjC;MAEA,KAAK,MAAMC,aAAa,IAAIxG,KAAK,CAACW,QAAQ,CAAC4D,GAAG,CAACb,UAAU,CAAC,EAAE;QAC1DrB,cAAc,CAACmE,aAAa,EAAE,IAAI,CAAC;MACrC;IACF,CAAC,CAAC;IAEFhF,MAAM,CAAC;MACLiC;IACF,CAAC,CAAC;IAEF1E,SAAS,CAAC,MAAM;MACd,OAAAN,YAAA,CAAAF,SAAA,SAAAE,YAAA;QAAA,SAEgB0H,OAAO,CAAClD,KAAK;QAAA,SAASmD,MAAM,CAACnD,KAAK;QAAA;MAAA,IAC3CjB,aAAa,CAACiB,KAAK,IAAAxE,YAAA,CAAAc,YAAA;QAAA;MAAA,QAAkC,EACrDyG,YAAY,CAAC/C,KAAK,CAACJ,MAAM,GAAG,CAAC,GAC5BmD,YAAY,CAAC/C,KAAK,CAACgD,KAAK,CAAC,CAAC,CAAC1B,GAAG,CAAE2B,IAAI,IAAK;QACvC,OAAAzH,YAAA,CAAAe,aAAA,EAAAb,WAAA;UAAA,OAGSQ,oBAAoB,CAAC+G,IAAI,EAAElG,KAAK,CAACsD,OAAO;QAAC;UAE5C,GAAGjE,WAAW,CAACW,KAAK,EAAEH,iBAAiB,CAAC;UACxCwD,IAAI,EAAE6C,IAAI;UACVpC,KAAK,EAAE;QAAC,IALDxC,KAAK;MASpB,CAAC,CAAC,GAAA7C,YAAA;QAAA;MAAA,IAGC6C,KAAK,CAAC,SAAS,CAAC,GAAGA,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAA7C,YAAA,gBAAAI,gBAAA,aAAuB,EAEhE;IAIT,CAAC,CAAC;IAEF,OAAO;MACL+C,KAAK;MACLC,WAAW;MACXC,WAAW;MACXC,SAAS;MACTE,WAAW;MACXD,aAAa;MACbL,aAAa;MACbqE;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { mergeProps
|
|
2
|
-
import { computed, getCurrentInstance, mergeProps, onBeforeMount, ref, resolveComponent } from 'vue';
|
|
1
|
+
import { computed, getCurrentInstance, mergeProps, onBeforeMount, ref, resolveComponent, createVNode as _createVNode, mergeProps as _mergeProps } from 'vue';
|
|
3
2
|
import { pressItemsPropsOptions } from "../../abstract/items.js";
|
|
4
3
|
import { useTreeView } from "./tree-view.js";
|
|
5
4
|
import { useRender } from "../../composables/component.js";
|
|
@@ -85,7 +84,8 @@ export const YTreeViewNode = defineComponent({
|
|
|
85
84
|
const slotProps = computed(() => {
|
|
86
85
|
return {
|
|
87
86
|
level: props.level,
|
|
88
|
-
imLeaf: imLeaf.value
|
|
87
|
+
imLeaf: imLeaf.value,
|
|
88
|
+
toggleActive
|
|
89
89
|
};
|
|
90
90
|
});
|
|
91
91
|
const searchLoading = computed(() => {
|
|
@@ -96,12 +96,15 @@ export const YTreeViewNode = defineComponent({
|
|
|
96
96
|
return !treeView.isExcluded(getObjectValueByPath(leaf, props.itemKey));
|
|
97
97
|
});
|
|
98
98
|
});
|
|
99
|
-
function
|
|
99
|
+
function toggleActive(e) {
|
|
100
100
|
const to = !active.value;
|
|
101
101
|
active.value = to;
|
|
102
102
|
treeView.updateActive(myKey.value, to, e);
|
|
103
103
|
treeView.emitActive();
|
|
104
104
|
}
|
|
105
|
+
function onClick(e) {
|
|
106
|
+
toggleActive(e);
|
|
107
|
+
}
|
|
105
108
|
function onClickExpand(e) {
|
|
106
109
|
e.stopPropagation();
|
|
107
110
|
const to = !expanded.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTreeViewNode.js","names":["computed","getCurrentInstance","mergeProps","onBeforeMount","ref","resolveComponent","pressItemsPropsOptions","useTreeView","useRender","getObjectValueByPath","defineComponent","propsFactory","YButton","YIconCheckbox","YIconExpand","YPlate","YTextHighlighter","YExpandVTransition","pressYTreeViewNodeProps","search","String","disableTransition","Boolean","enableActive","activeClass","Array","activeSingleModifier","requiredActive","activeColor","type","default","enableSelect","onMouseenterContainer","Function","onMouseleaveContainer","onMousemoveContainer","itemKey","YTreeViewNode","name","components","props","item","Object","level","Number","slots","setup","_ref","expose","YTreeNode","vm","treeView","container$","expanded","active","selected","immediate","children","itemChildren","slice","imLeaf","value","length","classes","styles","contentText","itemText","slotProps","searchLoading","leaves","filter","leaf","isExcluded","onClick","e","to","updateActive","myKey","emitActive","onClickExpand","stopPropagation","updateExpanded","emitExpanded","onClickSelect","updateSelected","emitSelected","indentSpacer","i","push","_createVNode","leading","text","trailing","map","_mergeProps","_len","arguments","args","_key","_len2","_key2","_len3","_key3","_len4","_key4","nodeState","register"],"sources":["../../../src/components/tree-view/YTreeViewNode.tsx"],"sourcesContent":["import {\n type PropType,\n type SlotsType,\n type VNodeArrayChildren,\n computed,\n getCurrentInstance,\n mergeProps,\n onBeforeMount,\n ref,\n resolveComponent,\n} from 'vue';\n\nimport { pressItemsPropsOptions } from '@/abstract/items';\nimport { useTreeView } from '@/components/tree-view/tree-view';\nimport { useRender } from '@/composables/component';\nimport { getObjectValueByPath } from '@/util/common';\nimport { defineComponent } from '@/util/component';\nimport { propsFactory } from '@/util/component';\n\nimport { YButton } from '../button';\nimport { YIconCheckbox, YIconExpand } from '../icons';\nimport { YPlate } from '../plate';\nimport { YTextHighlighter } from '../text-highlighter/YTextHighlighter';\nimport { YExpandVTransition } from '../transitions';\n\nexport const pressYTreeViewNodeProps = propsFactory(\n {\n search: String,\n disableTransition: Boolean,\n enableActive: Boolean,\n activeClass: [String, Array],\n activeSingleModifier: String,\n requiredActive: Boolean,\n activeColor: {\n type: String,\n default: 'primary',\n },\n enableSelect: Boolean,\n onMouseenterContainer: Function,\n onMouseleaveContainer: Function,\n onMousemoveContainer: Function,\n ...pressItemsPropsOptions({\n itemKey: 'id',\n }),\n },\n 'YTreeViewNode',\n);\n\nexport const YTreeViewNode = defineComponent({\n name: 'YTreeNode',\n components: {\n YButton,\n YIconExpand,\n YPlate,\n YIconCheckbox,\n },\n props: {\n item: {\n type: Object as PropType<any>,\n },\n level: {\n type: Number as PropType<number>,\n default: 0,\n },\n ...pressYTreeViewNodeProps(),\n },\n slots: Object as SlotsType<{\n default: any;\n 'expand-icon': any;\n leading: any;\n trailing: any;\n }>,\n setup(props, { slots, expose }) {\n const YTreeNode = resolveComponent('YTreeViewNode', true) as any;\n const vm = getCurrentInstance();\n const treeView = useTreeView();\n const container$ = ref<HTMLElement>();\n\n const expanded = ref(false);\n const active = ref(false);\n const selected = ref(false);\n const immediate = ref(false);\n\n const children = computed(() => {\n return (\n getObjectValueByPath(props.item, props.itemChildren as string) ?? []\n ).slice();\n });\n\n const imLeaf = computed(() => children.value.length < 1);\n\n const classes = computed(() => {\n return {\n 'y-tree-view-node': true,\n 'y-tree-view-node--leaf': imLeaf.value,\n 'y-tree-view-node--expanded': expanded.value,\n 'y-tree-view-node--active': active.value,\n };\n });\n\n const styles = computed(() => {\n return {\n '--tree-view-node--level': props.level,\n };\n });\n\n const contentText = computed(() => {\n return getObjectValueByPath(props.item, props.itemText) ?? '';\n });\n\n const slotProps = computed(() => {\n return {\n level: props.level,\n imLeaf: imLeaf.value,\n };\n });\n\n const searchLoading = computed(() => {\n return treeView.searchLoading.value;\n });\n\n const leaves = computed(() => {\n return children.value.filter((leaf: any) => {\n return !treeView.isExcluded(getObjectValueByPath(leaf, props.itemKey));\n });\n });\n\n function onClick(e: MouseEvent) {\n const to = !active.value;\n active.value = to;\n treeView.updateActive(myKey.value, to, e);\n treeView.emitActive();\n }\n\n function onClickExpand(e: MouseEvent) {\n e.stopPropagation();\n const to = !expanded.value;\n expanded.value = to;\n treeView.updateExpanded(myKey.value, to);\n treeView.emitExpanded();\n }\n\n function onClickSelect(e: MouseEvent) {\n e.stopPropagation();\n const to = !selected.value;\n selected.value = to;\n treeView.updateSelected(myKey.value, to);\n treeView.emitSelected();\n }\n\n function onMouseenterContainer(e: MouseEvent) {\n props.onMouseenterContainer?.(e, {\n ...slotProps.value,\n item: props.item,\n });\n }\n\n function onMouseleaveContainer(e: MouseEvent) {\n props.onMouseleaveContainer?.(e, {\n ...slotProps.value,\n item: props.item,\n });\n }\n\n function onMousemoveContainer(e: MouseEvent) {\n props.onMousemoveContainer?.(e, { ...slotProps.value, item: props.item });\n }\n\n useRender(() => {\n const indentSpacer: VNodeArrayChildren = [];\n for (let i = 0; i < props.level; i += 1) {\n indentSpacer.push(\n <div class={'y-tree-view-node__indent-spacer'}></div>,\n );\n }\n\n return (\n <div\n class={classes.value}\n style={styles.value}\n role=\"treeitem\"\n data-level={props.level}\n >\n <div\n ref={container$}\n class={'y-tree-view-node__container'}\n onClick={(e: MouseEvent) =>\n props.enableActive ? onClick(e) : void 0\n }\n onMouseenter={props.onMouseenterContainer && onMouseenterContainer}\n onMouseleave={props.onMouseleaveContainer && onMouseleaveContainer}\n onMousemove={props.onMousemoveContainer && onMousemoveContainer}\n >\n <YPlate />\n <div class={'y-tree-view-node__indents'}>{indentSpacer}</div>\n {/* EXPAND */}\n {!imLeaf.value && leaves.value.length > 0 ? (\n <YButton\n class={'y-tree-view-node__expand-icon'}\n variation={'icon'}\n onClick={onClickExpand}\n >\n {slots['expand-icon'] ? (\n slots['expand-icon']()\n ) : (\n <YIconExpand></YIconExpand>\n )}\n </YButton>\n ) : (\n <i class={'y-tree-view-node__no-expand-icon'}></i>\n )}\n {/* SELECT */}\n {props.enableSelect && (\n <div class={'y-tree-view-node__select'} onClick={onClickSelect}>\n <YIconCheckbox checked={selected.value}></YIconCheckbox>\n </div>\n )}\n {/* CONTENT */}\n <div class={'y-tree-view-node__content'}>\n {slots.leading && (\n <div class={'y-tree-view-node__leading'}>\n {slots.leading(slotProps.value)}\n </div>\n )}\n <div class={'y-tree-view-node__text'}>\n {slots.default ? (\n slots.default?.({\n text: contentText.value,\n item: props.item,\n ...slotProps.value,\n })\n ) : props.search && !searchLoading.value ? (\n <YTextHighlighter\n text={contentText.value}\n keyword={props.search}\n ></YTextHighlighter>\n ) : (\n contentText.value\n )}\n </div>\n {slots.trailing && (\n <div class={'y-tree-view-node__trailing'}>\n {slots.trailing(slotProps.value)}\n </div>\n )}\n </div>\n </div>\n {/* CHILDREN */}\n {children.value.length > 0 && (\n <YExpandVTransition disabled={props.disableTransition}>\n {expanded.value && (\n <div class={['y-tree-view-node__leaves']} role=\"tree\">\n {leaves.value.map((item: any) => {\n return (\n <YTreeNode\n {...mergeProps(props)}\n key={getObjectValueByPath(item, props.itemKey)}\n level={(props.level ?? 0) + 1}\n item={item}\n >\n {{\n default:\n slots.default &&\n ((...args: any[]) => slots.default?.(...args)),\n 'expand-icon':\n slots['expand-icon'] &&\n ((...args: any[]) =>\n slots['expand-icon']?.(...args)),\n leading:\n slots.leading &&\n ((...args: any[]) => slots.leading?.(...args)),\n trailing:\n slots.trailing &&\n ((...args: any[]) => slots.trailing?.(...args)),\n }}\n </YTreeNode>\n );\n })}\n </div>\n )}\n </YExpandVTransition>\n )}\n </div>\n );\n });\n\n const myKey = computed(() => {\n return getObjectValueByPath(props.item, props.itemKey);\n });\n\n const nodeState = {\n myKey,\n expanded,\n active,\n selected,\n immediate,\n };\n\n expose(nodeState);\n\n onBeforeMount(() => {\n treeView?.register?.(myKey.value, nodeState);\n });\n\n return {\n treeView,\n myKey,\n expanded,\n active,\n selected,\n immediate,\n };\n },\n});\n\nexport type YTreeNode = InstanceType<typeof YTreeViewNode>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YTreeViewNode.js","names":["computed","getCurrentInstance","mergeProps","onBeforeMount","ref","resolveComponent","createVNode","_createVNode","_mergeProps","pressItemsPropsOptions","useTreeView","useRender","getObjectValueByPath","defineComponent","propsFactory","YButton","YIconCheckbox","YIconExpand","YPlate","YTextHighlighter","YExpandVTransition","pressYTreeViewNodeProps","search","String","disableTransition","Boolean","enableActive","activeClass","Array","activeSingleModifier","requiredActive","activeColor","type","default","enableSelect","onMouseenterContainer","Function","onMouseleaveContainer","onMousemoveContainer","itemKey","YTreeViewNode","name","components","props","item","Object","level","Number","slots","setup","_ref","expose","YTreeNode","vm","treeView","container$","expanded","active","selected","immediate","children","itemChildren","slice","imLeaf","value","length","classes","styles","contentText","itemText","slotProps","toggleActive","searchLoading","leaves","filter","leaf","isExcluded","e","to","updateActive","myKey","emitActive","onClick","onClickExpand","stopPropagation","updateExpanded","emitExpanded","onClickSelect","updateSelected","emitSelected","indentSpacer","i","push","leading","text","trailing","map","_len","arguments","args","_key","_len2","_key2","_len3","_key3","_len4","_key4","nodeState","register"],"sources":["../../../src/components/tree-view/YTreeViewNode.tsx"],"sourcesContent":["import {\n type PropType,\n type SlotsType,\n type VNodeArrayChildren,\n computed,\n getCurrentInstance,\n mergeProps,\n onBeforeMount,\n ref,\n resolveComponent,\n} from 'vue';\n\nimport { pressItemsPropsOptions } from '@/abstract/items';\nimport { useTreeView } from '@/components/tree-view/tree-view';\nimport { useRender } from '@/composables/component';\nimport { getObjectValueByPath } from '@/util/common';\nimport { defineComponent } from '@/util/component';\nimport { propsFactory } from '@/util/component';\n\nimport { YButton } from '../button';\nimport { YIconCheckbox, YIconExpand } from '../icons';\nimport { YPlate } from '../plate';\nimport { YTextHighlighter } from '../text-highlighter/YTextHighlighter';\nimport { YExpandVTransition } from '../transitions';\n\nexport const pressYTreeViewNodeProps = propsFactory(\n {\n search: String,\n disableTransition: Boolean,\n enableActive: Boolean,\n activeClass: [String, Array],\n activeSingleModifier: String,\n requiredActive: Boolean,\n activeColor: {\n type: String,\n default: 'primary',\n },\n enableSelect: Boolean,\n onMouseenterContainer: Function,\n onMouseleaveContainer: Function,\n onMousemoveContainer: Function,\n ...pressItemsPropsOptions({\n itemKey: 'id',\n }),\n },\n 'YTreeViewNode',\n);\n\nexport const YTreeViewNode = defineComponent({\n name: 'YTreeNode',\n components: {\n YButton,\n YIconExpand,\n YPlate,\n YIconCheckbox,\n },\n props: {\n item: {\n type: Object as PropType<any>,\n },\n level: {\n type: Number as PropType<number>,\n default: 0,\n },\n ...pressYTreeViewNodeProps(),\n },\n slots: Object as SlotsType<{\n default: any;\n 'expand-icon': any;\n leading: any;\n trailing: any;\n }>,\n setup(props, { slots, expose }) {\n const YTreeNode = resolveComponent('YTreeViewNode', true) as any;\n const vm = getCurrentInstance();\n const treeView = useTreeView();\n const container$ = ref<HTMLElement>();\n\n const expanded = ref(false);\n const active = ref(false);\n const selected = ref(false);\n const immediate = ref(false);\n\n const children = computed(() => {\n return (\n getObjectValueByPath(props.item, props.itemChildren as string) ?? []\n ).slice();\n });\n\n const imLeaf = computed(() => children.value.length < 1);\n\n const classes = computed(() => {\n return {\n 'y-tree-view-node': true,\n 'y-tree-view-node--leaf': imLeaf.value,\n 'y-tree-view-node--expanded': expanded.value,\n 'y-tree-view-node--active': active.value,\n };\n });\n\n const styles = computed(() => {\n return {\n '--tree-view-node--level': props.level,\n };\n });\n\n const contentText = computed(() => {\n return getObjectValueByPath(props.item, props.itemText) ?? '';\n });\n\n const slotProps = computed(() => {\n return {\n level: props.level,\n imLeaf: imLeaf.value,\n toggleActive,\n };\n });\n\n const searchLoading = computed(() => {\n return treeView.searchLoading.value;\n });\n\n const leaves = computed(() => {\n return children.value.filter((leaf: any) => {\n return !treeView.isExcluded(getObjectValueByPath(leaf, props.itemKey));\n });\n });\n\n function toggleActive(e?: MouseEvent) {\n const to = !active.value;\n active.value = to;\n treeView.updateActive(myKey.value, to, e);\n treeView.emitActive();\n }\n\n function onClick(e: MouseEvent) {\n toggleActive(e);\n }\n\n function onClickExpand(e: MouseEvent) {\n e.stopPropagation();\n const to = !expanded.value;\n expanded.value = to;\n treeView.updateExpanded(myKey.value, to);\n treeView.emitExpanded();\n }\n\n function onClickSelect(e: MouseEvent) {\n e.stopPropagation();\n const to = !selected.value;\n selected.value = to;\n treeView.updateSelected(myKey.value, to);\n treeView.emitSelected();\n }\n\n function onMouseenterContainer(e: MouseEvent) {\n props.onMouseenterContainer?.(e, {\n ...slotProps.value,\n item: props.item,\n });\n }\n\n function onMouseleaveContainer(e: MouseEvent) {\n props.onMouseleaveContainer?.(e, {\n ...slotProps.value,\n item: props.item,\n });\n }\n\n function onMousemoveContainer(e: MouseEvent) {\n props.onMousemoveContainer?.(e, { ...slotProps.value, item: props.item });\n }\n\n useRender(() => {\n const indentSpacer: VNodeArrayChildren = [];\n for (let i = 0; i < props.level; i += 1) {\n indentSpacer.push(\n <div class={'y-tree-view-node__indent-spacer'}></div>,\n );\n }\n\n return (\n <div\n class={classes.value}\n style={styles.value}\n role=\"treeitem\"\n data-level={props.level}\n >\n <div\n ref={container$}\n class={'y-tree-view-node__container'}\n onClick={(e: MouseEvent) =>\n props.enableActive ? onClick(e) : void 0\n }\n onMouseenter={props.onMouseenterContainer && onMouseenterContainer}\n onMouseleave={props.onMouseleaveContainer && onMouseleaveContainer}\n onMousemove={props.onMousemoveContainer && onMousemoveContainer}\n >\n <YPlate />\n <div class={'y-tree-view-node__indents'}>{indentSpacer}</div>\n {/* EXPAND */}\n {!imLeaf.value && leaves.value.length > 0 ? (\n <YButton\n class={'y-tree-view-node__expand-icon'}\n variation={'icon'}\n onClick={onClickExpand}\n >\n {slots['expand-icon'] ? (\n slots['expand-icon']()\n ) : (\n <YIconExpand></YIconExpand>\n )}\n </YButton>\n ) : (\n <i class={'y-tree-view-node__no-expand-icon'}></i>\n )}\n {/* SELECT */}\n {props.enableSelect && (\n <div class={'y-tree-view-node__select'} onClick={onClickSelect}>\n <YIconCheckbox checked={selected.value}></YIconCheckbox>\n </div>\n )}\n {/* CONTENT */}\n <div class={'y-tree-view-node__content'}>\n {slots.leading && (\n <div class={'y-tree-view-node__leading'}>\n {slots.leading(slotProps.value)}\n </div>\n )}\n <div class={'y-tree-view-node__text'}>\n {slots.default ? (\n slots.default?.({\n text: contentText.value,\n item: props.item,\n ...slotProps.value,\n })\n ) : props.search && !searchLoading.value ? (\n <YTextHighlighter\n text={contentText.value}\n keyword={props.search}\n ></YTextHighlighter>\n ) : (\n contentText.value\n )}\n </div>\n {slots.trailing && (\n <div class={'y-tree-view-node__trailing'}>\n {slots.trailing(slotProps.value)}\n </div>\n )}\n </div>\n </div>\n {/* CHILDREN */}\n {children.value.length > 0 && (\n <YExpandVTransition disabled={props.disableTransition}>\n {expanded.value && (\n <div class={['y-tree-view-node__leaves']} role=\"tree\">\n {leaves.value.map((item: any) => {\n return (\n <YTreeNode\n {...mergeProps(props)}\n key={getObjectValueByPath(item, props.itemKey)}\n level={(props.level ?? 0) + 1}\n item={item}\n >\n {{\n default:\n slots.default &&\n ((...args: any[]) => slots.default?.(...args)),\n 'expand-icon':\n slots['expand-icon'] &&\n ((...args: any[]) =>\n slots['expand-icon']?.(...args)),\n leading:\n slots.leading &&\n ((...args: any[]) => slots.leading?.(...args)),\n trailing:\n slots.trailing &&\n ((...args: any[]) => slots.trailing?.(...args)),\n }}\n </YTreeNode>\n );\n })}\n </div>\n )}\n </YExpandVTransition>\n )}\n </div>\n );\n });\n\n const myKey = computed(() => {\n return getObjectValueByPath(props.item, props.itemKey);\n });\n\n const nodeState = {\n myKey,\n expanded,\n active,\n selected,\n immediate,\n };\n\n expose(nodeState);\n\n onBeforeMount(() => {\n treeView?.register?.(myKey.value, nodeState);\n });\n\n return {\n treeView,\n myKey,\n expanded,\n active,\n selected,\n immediate,\n };\n },\n});\n\nexport type YTreeNode = InstanceType<typeof YTreeViewNode>;\n"],"mappings":"AAAA,SAIEA,QAAQ,EACRC,kBAAkB,EAClBC,UAAU,EACVC,aAAa,EACbC,GAAG,EACHC,gBAAgB,EAAAC,WAAA,IAAAC,YAAA,EAAAL,UAAA,IAAAM,WAAA,QACX,KAAK;AAAC,SAEJC,sBAAsB;AAAA,SACtBC,WAAW;AAAA,SACXC,SAAS;AAAA,SACTC,oBAAoB;AAAA,SACpBC,eAAe;AAAA,SACfC,YAAY;AAAA,SAEZC,OAAO;AAAA,SACPC,aAAa,EAAEC,WAAW;AAAA,SAC1BC,MAAM;AAAA,SACNC,gBAAgB;AAAA,SAChBC,kBAAkB;AAE3B,OAAO,MAAMC,uBAAuB,GAAGP,YAAY,CACjD;EACEQ,MAAM,EAAEC,MAAM;EACdC,iBAAiB,EAAEC,OAAO;EAC1BC,YAAY,EAAED,OAAO;EACrBE,WAAW,EAAE,CAACJ,MAAM,EAAEK,KAAK,CAAC;EAC5BC,oBAAoB,EAAEN,MAAM;EAC5BO,cAAc,EAAEL,OAAO;EACvBM,WAAW,EAAE;IACXC,IAAI,EAAET,MAAM;IACZU,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAET,OAAO;EACrBU,qBAAqB,EAAEC,QAAQ;EAC/BC,qBAAqB,EAAED,QAAQ;EAC/BE,oBAAoB,EAAEF,QAAQ;EAC9B,GAAG3B,sBAAsB,CAAC;IACxB8B,OAAO,EAAE;EACX,CAAC;AACH,CAAC,EACD,eACF,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG3B,eAAe,CAAC;EAC3C4B,IAAI,EAAE,WAAW;EACjBC,UAAU,EAAE;IACV3B,OAAO;IACPE,WAAW;IACXC,MAAM;IACNF;EACF,CAAC;EACD2B,KAAK,EAAE;IACLC,IAAI,EAAE;MACJZ,IAAI,EAAEa;IACR,CAAC;IACDC,KAAK,EAAE;MACLd,IAAI,EAAEe,MAA0B;MAChCd,OAAO,EAAE;IACX,CAAC;IACD,GAAGZ,uBAAuB,CAAC;EAC7B,CAAC;EACD2B,KAAK,EAAEH,MAKL;EACFI,KAAKA,CAACN,KAAK,EAAAO,IAAA,EAAqB;IAAA,IAAnB;MAAEF,KAAK;MAAEG;IAAO,CAAC,GAAAD,IAAA;IAC5B,MAAME,SAAS,GAAG/C,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAQ;IAChE,MAAMgD,EAAE,GAAGpD,kBAAkB,CAAC,CAAC;IAC/B,MAAMqD,QAAQ,GAAG5C,WAAW,CAAC,CAAC;IAC9B,MAAM6C,UAAU,GAAGnD,GAAG,CAAc,CAAC;IAErC,MAAMoD,QAAQ,GAAGpD,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAMqD,MAAM,GAAGrD,GAAG,CAAC,KAAK,CAAC;IACzB,MAAMsD,QAAQ,GAAGtD,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAMuD,SAAS,GAAGvD,GAAG,CAAC,KAAK,CAAC;IAE5B,MAAMwD,QAAQ,GAAG5D,QAAQ,CAAC,MAAM;MAC9B,OAAO,CACLY,oBAAoB,CAAC+B,KAAK,CAACC,IAAI,EAAED,KAAK,CAACkB,YAAsB,CAAC,IAAI,EAAE,EACpEC,KAAK,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAMC,MAAM,GAAG/D,QAAQ,CAAC,MAAM4D,QAAQ,CAACI,KAAK,CAACC,MAAM,GAAG,CAAC,CAAC;IAExD,MAAMC,OAAO,GAAGlE,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,kBAAkB,EAAE,IAAI;QACxB,wBAAwB,EAAE+D,MAAM,CAACC,KAAK;QACtC,4BAA4B,EAAER,QAAQ,CAACQ,KAAK;QAC5C,0BAA0B,EAAEP,MAAM,CAACO;MACrC,CAAC;IACH,CAAC,CAAC;IAEF,MAAMG,MAAM,GAAGnE,QAAQ,CAAC,MAAM;MAC5B,OAAO;QACL,yBAAyB,EAAE2C,KAAK,CAACG;MACnC,CAAC;IACH,CAAC,CAAC;IAEF,MAAMsB,WAAW,GAAGpE,QAAQ,CAAC,MAAM;MACjC,OAAOY,oBAAoB,CAAC+B,KAAK,CAACC,IAAI,EAAED,KAAK,CAAC0B,QAAQ,CAAC,IAAI,EAAE;IAC/D,CAAC,CAAC;IAEF,MAAMC,SAAS,GAAGtE,QAAQ,CAAC,MAAM;MAC/B,OAAO;QACL8C,KAAK,EAAEH,KAAK,CAACG,KAAK;QAClBiB,MAAM,EAAEA,MAAM,CAACC,KAAK;QACpBO;MACF,CAAC;IACH,CAAC,CAAC;IAEF,MAAMC,aAAa,GAAGxE,QAAQ,CAAC,MAAM;MACnC,OAAOsD,QAAQ,CAACkB,aAAa,CAACR,KAAK;IACrC,CAAC,CAAC;IAEF,MAAMS,MAAM,GAAGzE,QAAQ,CAAC,MAAM;MAC5B,OAAO4D,QAAQ,CAACI,KAAK,CAACU,MAAM,CAAEC,IAAS,IAAK;QAC1C,OAAO,CAACrB,QAAQ,CAACsB,UAAU,CAAChE,oBAAoB,CAAC+D,IAAI,EAAEhC,KAAK,CAACJ,OAAO,CAAC,CAAC;MACxE,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,SAASgC,YAAYA,CAACM,CAAc,EAAE;MACpC,MAAMC,EAAE,GAAG,CAACrB,MAAM,CAACO,KAAK;MACxBP,MAAM,CAACO,KAAK,GAAGc,EAAE;MACjBxB,QAAQ,CAACyB,YAAY,CAACC,KAAK,CAAChB,KAAK,EAAEc,EAAE,EAAED,CAAC,CAAC;MACzCvB,QAAQ,CAAC2B,UAAU,CAAC,CAAC;IACvB;IAEA,SAASC,OAAOA,CAACL,CAAa,EAAE;MAC9BN,YAAY,CAACM,CAAC,CAAC;IACjB;IAEA,SAASM,aAAaA,CAACN,CAAa,EAAE;MACpCA,CAAC,CAACO,eAAe,CAAC,CAAC;MACnB,MAAMN,EAAE,GAAG,CAACtB,QAAQ,CAACQ,KAAK;MAC1BR,QAAQ,CAACQ,KAAK,GAAGc,EAAE;MACnBxB,QAAQ,CAAC+B,cAAc,CAACL,KAAK,CAAChB,KAAK,EAAEc,EAAE,CAAC;MACxCxB,QAAQ,CAACgC,YAAY,CAAC,CAAC;IACzB;IAEA,SAASC,aAAaA,CAACV,CAAa,EAAE;MACpCA,CAAC,CAACO,eAAe,CAAC,CAAC;MACnB,MAAMN,EAAE,GAAG,CAACpB,QAAQ,CAACM,KAAK;MAC1BN,QAAQ,CAACM,KAAK,GAAGc,EAAE;MACnBxB,QAAQ,CAACkC,cAAc,CAACR,KAAK,CAAChB,KAAK,EAAEc,EAAE,CAAC;MACxCxB,QAAQ,CAACmC,YAAY,CAAC,CAAC;IACzB;IAEA,SAAStD,qBAAqBA,CAAC0C,CAAa,EAAE;MAC5ClC,KAAK,CAACR,qBAAqB,GAAG0C,CAAC,EAAE;QAC/B,GAAGP,SAAS,CAACN,KAAK;QAClBpB,IAAI,EAAED,KAAK,CAACC;MACd,CAAC,CAAC;IACJ;IAEA,SAASP,qBAAqBA,CAACwC,CAAa,EAAE;MAC5ClC,KAAK,CAACN,qBAAqB,GAAGwC,CAAC,EAAE;QAC/B,GAAGP,SAAS,CAACN,KAAK;QAClBpB,IAAI,EAAED,KAAK,CAACC;MACd,CAAC,CAAC;IACJ;IAEA,SAASN,oBAAoBA,CAACuC,CAAa,EAAE;MAC3ClC,KAAK,CAACL,oBAAoB,GAAGuC,CAAC,EAAE;QAAE,GAAGP,SAAS,CAACN,KAAK;QAAEpB,IAAI,EAAED,KAAK,CAACC;MAAK,CAAC,CAAC;IAC3E;IAEAjC,SAAS,CAAC,MAAM;MACd,MAAM+E,YAAgC,GAAG,EAAE;MAC3C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhD,KAAK,CAACG,KAAK,EAAE6C,CAAC,IAAI,CAAC,EAAE;QACvCD,YAAY,CAACE,IAAI,CAAArF,YAAA;UAAA,SACH;QAAiC,QAC/C,CAAC;MACH;MAEA,OAAAA,YAAA;QAAA,SAEW2D,OAAO,CAACF,KAAK;QAAA,SACbG,MAAM,CAACH,KAAK;QAAA;QAAA,cAEPrB,KAAK,CAACG;MAAK,IAAAvC,YAAA;QAAA,OAGhBgD,UAAU;QAAA,SACR,6BAA6B;QAAA,WAC1BsB,CAAa,IACrBlC,KAAK,CAACjB,YAAY,GAAGwD,OAAO,CAACL,CAAC,CAAC,GAAG,KAAK,CAAC;QAAA,gBAE5BlC,KAAK,CAACR,qBAAqB,IAAIA,qBAAqB;QAAA,gBACpDQ,KAAK,CAACN,qBAAqB,IAAIA,qBAAqB;QAAA,eACrDM,KAAK,CAACL,oBAAoB,IAAIA;MAAoB,IAAA/B,YAAA,CAAAW,MAAA,eAAAX,YAAA;QAAA,SAGnD;MAA2B,IAAGmF,YAAY,IAErD,CAAC3B,MAAM,CAACC,KAAK,IAAIS,MAAM,CAACT,KAAK,CAACC,MAAM,GAAG,CAAC,GAAA1D,YAAA,CAAAQ,OAAA;QAAA,SAE9B,+BAA+B;QAAA,aAC3B,MAAM;QAAA,WACRoE;MAAa;QAAAlD,OAAA,EAAAA,CAAA,MAErBe,KAAK,CAAC,aAAa,CAAC,GACnBA,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAAzC,YAAA,CAAAU,WAAA,aAGvB;MAAA,KAAAV,YAAA;QAAA,SAGO;MAAkC,QAC7C,EAEAoC,KAAK,CAACT,YAAY,IAAA3B,YAAA;QAAA,SACL,0BAA0B;QAAA,WAAWgF;MAAa,IAAAhF,YAAA,CAAAS,aAAA;QAAA,WACpC0C,QAAQ,CAACM;MAAK,UAEzC,EAAAzD,YAAA;QAAA,SAEW;MAA2B,IACpCyC,KAAK,CAAC6C,OAAO,IAAAtF,YAAA;QAAA,SACA;MAA2B,IACpCyC,KAAK,CAAC6C,OAAO,CAACvB,SAAS,CAACN,KAAK,CAAC,EAElC,EAAAzD,YAAA;QAAA,SACW;MAAwB,IACjCyC,KAAK,CAACf,OAAO,GACZe,KAAK,CAACf,OAAO,GAAG;QACd6D,IAAI,EAAE1B,WAAW,CAACJ,KAAK;QACvBpB,IAAI,EAAED,KAAK,CAACC,IAAI;QAChB,GAAG0B,SAAS,CAACN;MACf,CAAC,CAAC,GACArB,KAAK,CAACrB,MAAM,IAAI,CAACkD,aAAa,CAACR,KAAK,GAAAzD,YAAA,CAAAY,gBAAA;QAAA,QAE9BiD,WAAW,CAACJ,KAAK;QAAA,WACdrB,KAAK,CAACrB;MAAM,WAGvB8C,WAAW,CAACJ,KACb,IAEFhB,KAAK,CAAC+C,QAAQ,IAAAxF,YAAA;QAAA,SACD;MAA4B,IACrCyC,KAAK,CAAC+C,QAAQ,CAACzB,SAAS,CAACN,KAAK,CAAC,EAEnC,MAIJJ,QAAQ,CAACI,KAAK,CAACC,MAAM,GAAG,CAAC,IAAA1D,YAAA,CAAAa,kBAAA;QAAA,YACMuB,KAAK,CAACnB;MAAiB;QAAAS,OAAA,EAAAA,CAAA,MAClDuB,QAAQ,CAACQ,KAAK,IAAAzD,YAAA;UAAA,SACD,CAAC,0BAA0B,CAAC;UAAA;QAAA,IACrCkE,MAAM,CAACT,KAAK,CAACgC,GAAG,CAAEpD,IAAS,IAAK;UAC/B,OAAArC,YAAA,CAAA6C,SAAA,EAAA5C,WAAA,CAEQN,UAAU,CAACyC,KAAK,CAAC;YAAA,OAChB/B,oBAAoB,CAACgC,IAAI,EAAED,KAAK,CAACJ,OAAO,CAAC;YAAA,SACvC,CAACI,KAAK,CAACG,KAAK,IAAI,CAAC,IAAI,CAAC;YAAA,QACvBF;UAAI;YAGRX,OAAO,EACLe,KAAK,CAACf,OAAO,IACZ;cAAA,SAAAgE,IAAA,GAAAC,SAAA,CAAAjC,MAAA,EAAIkC,IAAI,OAAAvE,KAAA,CAAAqE,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;gBAAJD,IAAI,CAAAC,IAAA,IAAAF,SAAA,CAAAE,IAAA;cAAA;cAAA,OAAYpD,KAAK,CAACf,OAAO,GAAG,GAAGkE,IAAI,CAAC;YAAA,CAAC;YAChD,aAAa,EACXnD,KAAK,CAAC,aAAa,CAAC,IACnB;cAAA,SAAAqD,KAAA,GAAAH,SAAA,CAAAjC,MAAA,EAAIkC,IAAI,OAAAvE,KAAA,CAAAyE,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;gBAAJH,IAAI,CAAAG,KAAA,IAAAJ,SAAA,CAAAI,KAAA;cAAA;cAAA,OACPtD,KAAK,CAAC,aAAa,CAAC,GAAG,GAAGmD,IAAI,CAAC;YAAA,CAAC;YACpCN,OAAO,EACL7C,KAAK,CAAC6C,OAAO,IACZ;cAAA,SAAAU,KAAA,GAAAL,SAAA,CAAAjC,MAAA,EAAIkC,IAAI,OAAAvE,KAAA,CAAA2E,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;gBAAJL,IAAI,CAAAK,KAAA,IAAAN,SAAA,CAAAM,KAAA;cAAA;cAAA,OAAYxD,KAAK,CAAC6C,OAAO,GAAG,GAAGM,IAAI,CAAC;YAAA,CAAC;YAChDJ,QAAQ,EACN/C,KAAK,CAAC+C,QAAQ,IACb;cAAA,SAAAU,KAAA,GAAAP,SAAA,CAAAjC,MAAA,EAAIkC,IAAI,OAAAvE,KAAA,CAAA6E,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;gBAAJP,IAAI,CAAAO,KAAA,IAAAR,SAAA,CAAAQ,KAAA;cAAA;cAAA,OAAY1D,KAAK,CAAC+C,QAAQ,GAAG,GAAGI,IAAI,CAAC;YAAA;UAAC;QAIzD,CAAC,CAAC,EAEL;MAAA,EAEJ;IAGP,CAAC,CAAC;IAEF,MAAMnB,KAAK,GAAGhF,QAAQ,CAAC,MAAM;MAC3B,OAAOY,oBAAoB,CAAC+B,KAAK,CAACC,IAAI,EAAED,KAAK,CAACJ,OAAO,CAAC;IACxD,CAAC,CAAC;IAEF,MAAMoE,SAAS,GAAG;MAChB3B,KAAK;MACLxB,QAAQ;MACRC,MAAM;MACNC,QAAQ;MACRC;IACF,CAAC;IAEDR,MAAM,CAACwD,SAAS,CAAC;IAEjBxG,aAAa,CAAC,MAAM;MAClBmD,QAAQ,EAAEsD,QAAQ,GAAG5B,KAAK,CAAChB,KAAK,EAAE2C,SAAS,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO;MACLrD,QAAQ;MACR0B,KAAK;MACLxB,QAAQ;MACRC,MAAM;MACNC,QAAQ;MACRC;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/tree-view/index.ts"],"sourcesContent":["export * from './YTreeViewNode';\nexport * from './YTreeView';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/tree-view/index.ts"],"sourcesContent":["export * from './YTreeViewNode';\nexport * from './YTreeView';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-view.js","names":["inject","provide","ref","shallowRef","useModelDuplex","getObjectValueByPath","Y_TREE_VIEW","Symbol","for","provideTreeView","props","nodes","expanded","active","selected","expandedSet","Set","selectedSet","activeSet","searchLoading","excludedSet","getDescendants","key","descendants","childKeys","value","push","remains","slice","length","childKey","splice","item","isExcluded","search","has","issueVnodeState","node","vnode","indeterminate","updateExpanded","to","children","itemChildren","Array","isArray","add","delete","updateActive","event","inactiveKey","multipleActive","requiredActive","size","activeSingleModifier","getModifierState","onlyEventActiveStrategy","activeStrategy","descendant","setActive","grand","parentKey","parent","all","isChildrenAll","updateSelected","selectStrategy","stateKey","every","emitExpanded","arr","returnItem","map","emitActive","emitSelected","register","useTreeView","instance","Error"],"sources":["../../../src/components/tree-view/tree-view.ts"],"sourcesContent":["import { InjectionKey, Ref, inject, provide, ref, shallowRef } from 'vue';\n\n\n\nimport { NodeState } from '@/components/tree-view/types';\nimport { useModelDuplex } from '@/composables';\nimport { CandidateKey } from '@/types';\nimport { getObjectValueByPath } from '@/util';\n\n\nexport const Y_TREE_VIEW: InjectionKey<{\n register: (key: CandidateKey, vnode: any) => void;\n updateExpanded: (key: CandidateKey, to: boolean) => void;\n updateActive: (key: CandidateKey, to: boolean, event?: MouseEvent) => void;\n updateSelected: (key: CandidateKey, to: boolean) => void;\n searchLoading: Ref<boolean>;\n isExcluded: (key: CandidateKey) => boolean;\n emitExpanded: () => void;\n emitActive: () => void;\n emitSelected: () => void;\n}> = Symbol.for('YTreeView');\n\n// TODO: props type\nexport function provideTreeView(props: any) {\n const nodes = ref<Record<CandidateKey, NodeState>>({});\n const expanded = useModelDuplex(props, 'expanded');\n const active = useModelDuplex(props, 'active');\n const selected = useModelDuplex(props, 'selected');\n\n const expandedSet = ref(new Set<CandidateKey>());\n const selectedSet = ref(new Set<CandidateKey>());\n const activeSet = ref(new Set<CandidateKey>());\n const searchLoading = shallowRef(false);\n const excludedSet = ref(new Set<CandidateKey>());\n\n // Utils\n function getDescendants(key: CandidateKey) {\n const descendants: CandidateKey[] = [];\n const { childKeys } = nodes.value[key];\n descendants.push(...childKeys);\n const remains: CandidateKey[] = childKeys.slice();\n\n while (remains.length > 0) {\n const childKey: CandidateKey = remains.splice(0, 1)[0];\n const item = nodes.value[childKey];\n if (item) {\n descendants.push(...item.childKeys);\n remains.push(...item.childKeys);\n }\n }\n\n return descendants;\n }\n\n // Search\n function isExcluded(key: CandidateKey) {\n return !!props.search && excludedSet.value.has(key);\n }\n\n //\n function issueVnodeState(key: CandidateKey) {\n const node = nodes.value[key];\n if (node?.vnode) {\n node.vnode.active = node.active;\n node.vnode.selected = node.selected;\n node.vnode.indeterminate = node.indeterminate;\n node.vnode.expanded = node.expanded;\n }\n }\n\n // Update\n function updateExpanded(key: CandidateKey, to: boolean) {\n if (!(key in nodes.value)) return;\n const node = nodes.value[key];\n const children = getObjectValueByPath(\n node.item,\n props.itemChildren as string,\n );\n if (Array.isArray(children) && children.length > 0) {\n to ? expandedSet.value.add(key) : expandedSet.value.delete(key);\n node.expanded = to;\n issueVnodeState(key);\n }\n }\n\n function updateActive(key: CandidateKey, to: boolean, event?: MouseEvent) {\n if (!(key in nodes.value)) return;\n const node = nodes.value[key];\n let inactiveKey = !to ? key : '';\n if (!props.multipleActive && to && !activeSet.value.has(key)) {\n [inactiveKey] = [...activeSet.value];\n }\n if (to) {\n activeSet.value.add(key);\n node.active = true;\n issueVnodeState(key);\n } else {\n if (\n props.requiredActive &&\n activeSet.value.size === 1 &&\n key === inactiveKey\n ) {\n issueVnodeState(key);\n return;\n }\n }\n if (inactiveKey && inactiveKey in nodes.value) {\n activeSet.value.delete(inactiveKey);\n nodes.value[inactiveKey].active = false;\n issueVnodeState(inactiveKey);\n }\n\n if (\n props.activeSingleModifier &&\n event?.getModifierState(props.activeSingleModifier)\n ) {\n return;\n }\n\n if (\n props.multipleActive &&\n (!props.onlyEventActiveStrategy ||\n (props.onlyEventActiveStrategy && event)) &&\n (props.activeStrategy === 'cascade' ||\n props.activeStrategy === 'relative')\n ) {\n for (const descendant of getDescendants(key)) {\n if (descendant in nodes.value) {\n setActive(descendant, to);\n }\n }\n if (props.activeStrategy === 'relative') {\n let grand: CandidateKey | null = node.parentKey;\n do {\n const parentKey = grand;\n grand = null;\n if (!parentKey) continue;\n const parent = nodes.value[parentKey];\n if (!parent) continue;\n const all = isChildrenAll(parentKey, 'active', to);\n if (all || !to) {\n setActive(parentKey, to);\n if (parent.parentKey) {\n grand = parent.parentKey;\n }\n }\n } while (grand != null);\n }\n }\n }\n\n function updateSelected(key: CandidateKey, to: boolean) {\n if (!(key in nodes.value)) return;\n const node = nodes.value[key];\n\n if (to) {\n selectedSet.value.add(key);\n node.selected = true;\n }\n\n if (!to && key in nodes.value) {\n selectedSet.value.delete(key);\n nodes.value[key].selected = false;\n issueVnodeState(key);\n }\n\n if (props.selectStrategy === 'cascade') {\n for (const descendant of getDescendants(key)) {\n if (descendant in nodes.value) {\n to\n ? selectedSet.value.add(descendant)\n : selectedSet.value.delete(descendant);\n nodes.value[descendant].selected = to;\n issueVnodeState(descendant);\n }\n }\n }\n }\n\n function isChildrenAll(key: CandidateKey, stateKey: string, to: boolean) {\n const node = nodes.value[key];\n if (!node) return false;\n const { childKeys } = node;\n return childKeys.every((childKey) => {\n return (nodes.value[childKey] as any)?.[stateKey] === to;\n });\n }\n\n function setActive(key: CandidateKey, to: boolean) {\n to ? activeSet.value.add(key) : activeSet.value.delete(key);\n nodes.value[key].active = to;\n issueVnodeState(key);\n }\n\n // Emit\n function emitExpanded() {\n const arr = [...expandedSet.value];\n expanded.value = props.returnItem\n ? arr.map((key) => nodes.value[key].item)\n : arr;\n }\n\n function emitActive() {\n const arr = [...activeSet.value];\n active.value = props.returnItem\n ? arr.map((key) => nodes.value[key].item)\n : arr;\n }\n\n function emitSelected() {\n const arr = [...selectedSet.value];\n selected.value = props.returnItem\n ? arr.map((key) => nodes.value[key].item)\n : arr;\n }\n\n // Inject\n function register(key: CandidateKey, vnode: any) {\n if (nodes.value[key]) {\n nodes.value[key].vnode = vnode;\n }\n\n issueVnodeState(key);\n }\n\n provide(Y_TREE_VIEW, {\n register,\n updateExpanded,\n updateActive,\n updateSelected,\n searchLoading,\n isExcluded,\n emitExpanded,\n emitActive,\n emitSelected,\n });\n\n return {\n nodes,\n expanded,\n active,\n selected,\n issueVnodeState,\n updateExpanded,\n updateActive,\n updateSelected,\n emitExpanded,\n emitActive,\n emitSelected,\n expandedSet,\n selectedSet,\n activeSet,\n searchLoading,\n excludedSet,\n isExcluded,\n };\n}\n\nexport function useTreeView() {\n const instance = inject(Y_TREE_VIEW);\n if (!instance) throw new Error('Not found provided YTreeView');\n return instance;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree-view.js","names":["inject","provide","ref","shallowRef","useModelDuplex","getObjectValueByPath","Y_TREE_VIEW","Symbol","for","provideTreeView","props","nodes","expanded","active","selected","expandedSet","Set","selectedSet","activeSet","searchLoading","excludedSet","getDescendants","key","descendants","childKeys","value","push","remains","slice","length","childKey","splice","item","isExcluded","search","has","issueVnodeState","node","vnode","indeterminate","updateExpanded","to","children","itemChildren","Array","isArray","add","delete","updateActive","event","inactiveKey","multipleActive","requiredActive","size","activeSingleModifier","getModifierState","onlyEventActiveStrategy","activeStrategy","descendant","setActive","grand","parentKey","parent","all","isChildrenAll","updateSelected","selectStrategy","stateKey","every","emitExpanded","arr","returnItem","map","emitActive","emitSelected","register","useTreeView","instance","Error"],"sources":["../../../src/components/tree-view/tree-view.ts"],"sourcesContent":["import { InjectionKey, Ref, inject, provide, ref, shallowRef } from 'vue';\n\nimport { NodeState } from '@/components/tree-view/types';\nimport { useModelDuplex } from '@/composables';\nimport { CandidateKey } from '@/types';\nimport { getObjectValueByPath } from '@/util';\n\nexport const Y_TREE_VIEW: InjectionKey<{\n register: (key: CandidateKey, vnode: any) => void;\n updateExpanded: (key: CandidateKey, to: boolean) => void;\n updateActive: (key: CandidateKey, to: boolean, event?: MouseEvent) => void;\n updateSelected: (key: CandidateKey, to: boolean) => void;\n searchLoading: Ref<boolean>;\n isExcluded: (key: CandidateKey) => boolean;\n emitExpanded: () => void;\n emitActive: () => void;\n emitSelected: () => void;\n}> = Symbol.for('YTreeView');\n\n// TODO: props type\nexport function provideTreeView(props: any) {\n const nodes = ref<Record<CandidateKey, NodeState>>({});\n const expanded = useModelDuplex(props, 'expanded');\n const active = useModelDuplex(props, 'active');\n const selected = useModelDuplex(props, 'selected');\n\n const expandedSet = ref(new Set<CandidateKey>());\n const selectedSet = ref(new Set<CandidateKey>());\n const activeSet = ref(new Set<CandidateKey>());\n const searchLoading = shallowRef(false);\n const excludedSet = ref(new Set<CandidateKey>());\n\n // Utils\n function getDescendants(key: CandidateKey) {\n const descendants: CandidateKey[] = [];\n const { childKeys } = nodes.value[key];\n descendants.push(...childKeys);\n const remains: CandidateKey[] = childKeys.slice();\n\n while (remains.length > 0) {\n const childKey: CandidateKey = remains.splice(0, 1)[0];\n const item = nodes.value[childKey];\n if (item) {\n descendants.push(...item.childKeys);\n remains.push(...item.childKeys);\n }\n }\n\n return descendants;\n }\n\n // Search\n function isExcluded(key: CandidateKey) {\n return !!props.search && excludedSet.value.has(key);\n }\n\n //\n function issueVnodeState(key: CandidateKey) {\n const node = nodes.value[key];\n if (node?.vnode) {\n node.vnode.active = node.active;\n node.vnode.selected = node.selected;\n node.vnode.indeterminate = node.indeterminate;\n node.vnode.expanded = node.expanded;\n }\n }\n\n // Update\n function updateExpanded(key: CandidateKey, to: boolean) {\n if (!(key in nodes.value)) return;\n const node = nodes.value[key];\n const children = getObjectValueByPath(\n node.item,\n props.itemChildren as string,\n );\n if (Array.isArray(children) && children.length > 0) {\n to ? expandedSet.value.add(key) : expandedSet.value.delete(key);\n node.expanded = to;\n issueVnodeState(key);\n }\n }\n\n function updateActive(key: CandidateKey, to: boolean, event?: MouseEvent) {\n if (!(key in nodes.value)) return;\n const node = nodes.value[key];\n let inactiveKey = !to ? key : '';\n if (!props.multipleActive && to && !activeSet.value.has(key)) {\n [inactiveKey] = [...activeSet.value];\n }\n if (to) {\n activeSet.value.add(key);\n node.active = true;\n issueVnodeState(key);\n } else {\n if (\n props.requiredActive &&\n activeSet.value.size === 1 &&\n key === inactiveKey\n ) {\n issueVnodeState(key);\n return;\n }\n }\n if (inactiveKey && inactiveKey in nodes.value) {\n activeSet.value.delete(inactiveKey);\n nodes.value[inactiveKey].active = false;\n issueVnodeState(inactiveKey);\n }\n\n if (\n props.activeSingleModifier &&\n event?.getModifierState(props.activeSingleModifier)\n ) {\n return;\n }\n\n if (\n props.multipleActive &&\n (!props.onlyEventActiveStrategy ||\n (props.onlyEventActiveStrategy && event)) &&\n (props.activeStrategy === 'cascade' ||\n props.activeStrategy === 'relative')\n ) {\n for (const descendant of getDescendants(key)) {\n if (descendant in nodes.value) {\n setActive(descendant, to);\n }\n }\n if (props.activeStrategy === 'relative') {\n let grand: CandidateKey | null = node.parentKey;\n do {\n const parentKey = grand;\n grand = null;\n if (!parentKey) continue;\n const parent = nodes.value[parentKey];\n if (!parent) continue;\n const all = isChildrenAll(parentKey, 'active', to);\n if (all || !to) {\n setActive(parentKey, to);\n if (parent.parentKey) {\n grand = parent.parentKey;\n }\n }\n } while (grand != null);\n }\n }\n }\n\n function updateSelected(key: CandidateKey, to: boolean) {\n if (!(key in nodes.value)) return;\n const node = nodes.value[key];\n\n if (to) {\n selectedSet.value.add(key);\n node.selected = true;\n }\n\n if (!to && key in nodes.value) {\n selectedSet.value.delete(key);\n nodes.value[key].selected = false;\n issueVnodeState(key);\n }\n\n if (props.selectStrategy === 'cascade') {\n for (const descendant of getDescendants(key)) {\n if (descendant in nodes.value) {\n to\n ? selectedSet.value.add(descendant)\n : selectedSet.value.delete(descendant);\n nodes.value[descendant].selected = to;\n issueVnodeState(descendant);\n }\n }\n }\n }\n\n function isChildrenAll(key: CandidateKey, stateKey: string, to: boolean) {\n const node = nodes.value[key];\n if (!node) return false;\n const { childKeys } = node;\n return childKeys.every((childKey) => {\n return (nodes.value[childKey] as any)?.[stateKey] === to;\n });\n }\n\n function setActive(key: CandidateKey, to: boolean) {\n to ? activeSet.value.add(key) : activeSet.value.delete(key);\n nodes.value[key].active = to;\n issueVnodeState(key);\n }\n\n // Emit\n function emitExpanded() {\n const arr = [...expandedSet.value];\n expanded.value = props.returnItem\n ? arr.map((key) => nodes.value[key].item)\n : arr;\n }\n\n function emitActive() {\n const arr = [...activeSet.value];\n active.value = props.returnItem\n ? arr.map((key) => nodes.value[key].item)\n : arr;\n }\n\n function emitSelected() {\n const arr = [...selectedSet.value];\n selected.value = props.returnItem\n ? arr.map((key) => nodes.value[key].item)\n : arr;\n }\n\n // Inject\n function register(key: CandidateKey, vnode: any) {\n if (nodes.value[key]) {\n nodes.value[key].vnode = vnode;\n }\n\n issueVnodeState(key);\n }\n\n provide(Y_TREE_VIEW, {\n register,\n updateExpanded,\n updateActive,\n updateSelected,\n searchLoading,\n isExcluded,\n emitExpanded,\n emitActive,\n emitSelected,\n });\n\n return {\n nodes,\n expanded,\n active,\n selected,\n issueVnodeState,\n updateExpanded,\n updateActive,\n updateSelected,\n emitExpanded,\n emitActive,\n emitSelected,\n expandedSet,\n selectedSet,\n activeSet,\n searchLoading,\n excludedSet,\n isExcluded,\n };\n}\n\nexport function useTreeView() {\n const instance = inject(Y_TREE_VIEW);\n if (!instance) throw new Error('Not found provided YTreeView');\n return instance;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/components/tree-view/types.ts"],"sourcesContent":["import { type ComponentPublicInstance } from 'vue';\n\nimport type { CandidateKey } from '@/types';\n\nexport interface ItemState {\n selected: boolean;\n indeterminate: boolean;\n active: boolean;\n expanded: boolean;\n}\n\nexport interface NodeState extends ItemState {\n childKeys: CandidateKey[];\n item: any;\n parentKey: null | CandidateKey;\n vnode
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/components/tree-view/types.ts"],"sourcesContent":["import { type ComponentPublicInstance } from 'vue';\n\nimport type { CandidateKey } from '@/types';\n\nexport interface ItemState {\n selected: boolean;\n indeterminate: boolean;\n active: boolean;\n expanded: boolean;\n}\n\nexport interface NodeState extends ItemState {\n childKeys: CandidateKey[];\n item: any;\n parentKey: null | CandidateKey;\n vnode: null | (ComponentPublicInstance & ItemState);\n level: number;\n}\n\nexport type TreeviewFilterFn = (\n item: any,\n search: string,\n itemText: string,\n) => boolean;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","names":["getObjectValueByPath","getKeys","items","itemKey","childrenKey","keys","remains","slice","length","item","splice","key","push","children","Array","isArray","filterTreeItem","search","textKey","text","toLocaleLowerCase","indexOf","filterTreeItems","filter","idKey","excluded","match","i","add"],"sources":["../../../src/components/tree-view/util.ts"],"sourcesContent":["import { CandidateKey } from '../../types';\
|
|
1
|
+
{"version":3,"file":"util.js","names":["getObjectValueByPath","getKeys","items","itemKey","childrenKey","keys","remains","slice","length","item","splice","key","push","children","Array","isArray","filterTreeItem","search","textKey","text","toLocaleLowerCase","indexOf","filterTreeItems","filter","idKey","excluded","match","i","add"],"sources":["../../../src/components/tree-view/util.ts"],"sourcesContent":["import { CandidateKey } from '../../types';\nimport { getObjectValueByPath } from '../../util/common';\nimport { TreeviewFilterFn } from './types';\n\nexport function getKeys(items: any[], itemKey: string, childrenKey: string) {\n const keys: CandidateKey[] = [];\n const remains: any[] = items.slice();\n\n while (remains.length > 0) {\n const item = remains.splice(0, 1);\n const key = getObjectValueByPath(item, itemKey);\n keys.push(key);\n const children = getObjectValueByPath(item, childrenKey);\n if (Array.isArray(children)) {\n remains.push(...children);\n }\n }\n\n return keys;\n}\n\nexport function filterTreeItem(\n item: object,\n search: string,\n textKey: string,\n): boolean {\n const text = getObjectValueByPath(item, textKey);\n\n return text?.toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) > -1;\n}\n\nexport function filterTreeItems(\n filter: TreeviewFilterFn,\n item: any,\n search: string,\n idKey: string,\n textKey: string,\n childrenKey: string,\n excluded: Set<CandidateKey>,\n): boolean {\n const children = getObjectValueByPath(item, childrenKey);\n\n if (children) {\n let match = false;\n for (let i = 0; i < children.length; i++) {\n if (\n filterTreeItems(\n filter,\n children[i],\n search,\n idKey,\n textKey,\n childrenKey,\n excluded,\n )\n ) {\n match = true;\n }\n }\n\n if (match) {\n return true;\n } else if (filter(item, search, textKey)) {\n return true;\n }\n } else if (filter(item, search, textKey)) {\n return true;\n }\n\n excluded.add(getObjectValueByPath(item, idKey));\n\n return false;\n}\n"],"mappings":"SACSA,oBAAoB;AAG7B,OAAO,SAASC,OAAOA,CAACC,KAAY,EAAEC,OAAe,EAAEC,WAAmB,EAAE;EAC1E,MAAMC,IAAoB,GAAG,EAAE;EAC/B,MAAMC,OAAc,GAAGJ,KAAK,CAACK,KAAK,CAAC,CAAC;EAEpC,OAAOD,OAAO,CAACE,MAAM,GAAG,CAAC,EAAE;IACzB,MAAMC,IAAI,GAAGH,OAAO,CAACI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACjC,MAAMC,GAAG,GAAGX,oBAAoB,CAACS,IAAI,EAAEN,OAAO,CAAC;IAC/CE,IAAI,CAACO,IAAI,CAACD,GAAG,CAAC;IACd,MAAME,QAAQ,GAAGb,oBAAoB,CAACS,IAAI,EAAEL,WAAW,CAAC;IACxD,IAAIU,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;MAC3BP,OAAO,CAACM,IAAI,CAAC,GAAGC,QAAQ,CAAC;IAC3B;EACF;EAEA,OAAOR,IAAI;AACb;AAEA,OAAO,SAASW,cAAcA,CAC5BP,IAAY,EACZQ,MAAc,EACdC,OAAe,EACN;EACT,MAAMC,IAAI,GAAGnB,oBAAoB,CAACS,IAAI,EAAES,OAAO,CAAC;EAEhD,OAAOC,IAAI,EAAEC,iBAAiB,CAAC,CAAC,CAACC,OAAO,CAACJ,MAAM,CAACG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3E;AAEA,OAAO,SAASE,eAAeA,CAC7BC,MAAwB,EACxBd,IAAS,EACTQ,MAAc,EACdO,KAAa,EACbN,OAAe,EACfd,WAAmB,EACnBqB,QAA2B,EAClB;EACT,MAAMZ,QAAQ,GAAGb,oBAAoB,CAACS,IAAI,EAAEL,WAAW,CAAC;EAExD,IAAIS,QAAQ,EAAE;IACZ,IAAIa,KAAK,GAAG,KAAK;IACjB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGd,QAAQ,CAACL,MAAM,EAAEmB,CAAC,EAAE,EAAE;MACxC,IACEL,eAAe,CACbC,MAAM,EACNV,QAAQ,CAACc,CAAC,CAAC,EACXV,MAAM,EACNO,KAAK,EACLN,OAAO,EACPd,WAAW,EACXqB,QACF,CAAC,EACD;QACAC,KAAK,GAAG,IAAI;MACd;IACF;IAEA,IAAIA,KAAK,EAAE;MACT,OAAO,IAAI;IACb,CAAC,MAAM,IAAIH,MAAM,CAACd,IAAI,EAAEQ,MAAM,EAAEC,OAAO,CAAC,EAAE;MACxC,OAAO,IAAI;IACb;EACF,CAAC,MAAM,IAAIK,MAAM,CAACd,IAAI,EAAEQ,MAAM,EAAEC,OAAO,CAAC,EAAE;IACxC,OAAO,IAAI;EACb;EAEAO,QAAQ,CAACG,GAAG,CAAC5B,oBAAoB,CAACS,IAAI,EAAEe,KAAK,CAAC,CAAC;EAE/C,OAAO,KAAK;AACd","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choice-link.js","names":["nextTick","watch","useChoiceByLink","link","select","isActive","value","neo","isLink","immediate"],"sources":["../../src/composables/choice-link.ts"],"sourcesContent":["import { nextTick, watch } from 'vue';\n\nimport type { UseLink } from './vue-router';\n\nexport function useChoiceByLink(\n link: UseLink,\n select?: (value: boolean, event?: Event) => void,\n) {\n watch(\n () => link.isActive?.value,\n (neo) => {\n if (link.isLink.value && neo && select) {\n nextTick(() => {\n select(true);\n });\n }\n },\n { immediate: true },\n );\n}\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAIrC,OAAO,SAASC,eAAeA,CAC7BC,IAAa,EACbC,MAAgD,EAChD;EACAH,KAAK,CACH,MAAME,IAAI,CAACE,QAAQ,EAAEC,KAAK,EACzBC,GAAG,IAAK;IACP,IAAIJ,IAAI,CAACK,MAAM,CAACF,KAAK,IAAIC,GAAG,IAAIH,MAAM,EAAE;MACtCJ,QAAQ,CAAC,MAAM;QACbI,MAAM,CAAC,IAAI,CAAC;MACd,CAAC,CAAC;IACJ;EACF,CAAC,EACD;IAAEK,SAAS,EAAE;EAAK,CACpB,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"choice-link.js","names":["nextTick","watch","useChoiceByLink","link","select","isActive","value","neo","isLink","immediate"],"sources":["../../src/composables/choice-link.ts"],"sourcesContent":["import { nextTick, watch } from 'vue';\n\nimport type { UseLink } from './vue-router';\n\nexport function useChoiceByLink(\n link: UseLink,\n select?: (value: boolean, event?: Event) => void,\n) {\n watch(\n () => link.isActive?.value,\n (neo) => {\n if (link.isLink.value && neo && select) {\n nextTick(() => {\n select(true);\n });\n }\n },\n { immediate: true },\n );\n}\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAIrC,OAAO,SAASC,eAAeA,CAC7BC,IAAa,EACbC,MAAgD,EAChD;EACAH,KAAK,CACH,MAAME,IAAI,CAACE,QAAQ,EAAEC,KAAK,EACzBC,GAAG,IAAK;IACP,IAAIJ,IAAI,CAACK,MAAM,CAACF,KAAK,IAAIC,GAAG,IAAIH,MAAM,EAAE;MACtCJ,QAAQ,CAAC,MAAM;QACbI,MAAM,CAAC,IAAI,CAAC;MACd,CAAC,CAAC;IACJ;EACF,CAAC,EACD;IAAEK,SAAS,EAAE;EAAK,CACpB,CAAC;AACH","ignoreList":[]}
|