@xihan-ui/vue 2.0.0 → 3.0.0
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/CHANGELOG.md +1593 -0
- package/README.md +1 -1
- package/dist/components/accordion/accordion.d.ts +6 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -1
- package/dist/components/accordion/accordion.js +4 -2
- package/dist/components/accordion/accordion.js.map +1 -1
- package/dist/components/alert/alert.d.ts +9 -0
- package/dist/components/alert/alert.d.ts.map +1 -1
- package/dist/components/alert/alert.js +4 -0
- package/dist/components/alert/alert.js.map +1 -1
- package/dist/components/anchor/anchor.d.ts +2 -2
- package/dist/components/anchor/anchor.d.ts.map +1 -1
- package/dist/components/anchor/anchor.js +2 -2
- package/dist/components/anchor/anchor.js.map +1 -1
- package/dist/components/anchor/use-anchor.d.ts +2 -2
- package/dist/components/anchor/use-anchor.js +3 -3
- package/dist/components/anchor/use-anchor.js.map +1 -1
- package/dist/components/approval/approval.d.ts +8 -1
- package/dist/components/approval/approval.d.ts.map +1 -1
- package/dist/components/approval/approval.js +10 -1
- package/dist/components/approval/approval.js.map +1 -1
- package/dist/components/avatar/avatar.d.ts +8 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -1
- package/dist/components/avatar/avatar.js +3 -1
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/avatar/use-avatar.d.ts.map +1 -1
- package/dist/components/avatar/use-avatar.js +3 -1
- package/dist/components/avatar/use-avatar.js.map +1 -1
- package/dist/components/avatar-group/avatar-group.d.ts.map +1 -1
- package/dist/components/avatar-group/avatar-group.js +2 -1
- package/dist/components/avatar-group/avatar-group.js.map +1 -1
- package/dist/components/back-top/use-back-top.d.ts.map +1 -1
- package/dist/components/back-top/use-back-top.js +3 -1
- package/dist/components/back-top/use-back-top.js.map +1 -1
- package/dist/components/badge/badge.d.ts +22 -0
- package/dist/components/badge/badge.d.ts.map +1 -1
- package/dist/components/badge/badge.js +11 -2
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.d.ts +11 -1
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +28 -9
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/calendar-picker/calendar-picker.d.ts +16 -0
- package/dist/components/calendar-picker/calendar-picker.d.ts.map +1 -1
- package/dist/components/calendar-picker/calendar-picker.js +4 -0
- package/dist/components/calendar-picker/calendar-picker.js.map +1 -1
- package/dist/components/calendar-range-picker/calendar-range-picker.d.ts +16 -0
- package/dist/components/calendar-range-picker/calendar-range-picker.d.ts.map +1 -1
- package/dist/components/calendar-range-picker/calendar-range-picker.js +4 -0
- package/dist/components/calendar-range-picker/calendar-range-picker.js.map +1 -1
- package/dist/components/card/card.d.ts +37 -2
- package/dist/components/card/card.d.ts.map +1 -1
- package/dist/components/card/card.js +42 -3
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/carousel/carousel.d.ts +7 -1
- package/dist/components/carousel/carousel.d.ts.map +1 -1
- package/dist/components/carousel/carousel.js +1 -0
- package/dist/components/carousel/carousel.js.map +1 -1
- package/dist/components/carousel/use-carousel.d.ts.map +1 -1
- package/dist/components/carousel/use-carousel.js +3 -1
- package/dist/components/carousel/use-carousel.js.map +1 -1
- package/dist/components/cartesian-chart/cartesian-chart.d.ts +262 -0
- package/dist/components/cartesian-chart/cartesian-chart.d.ts.map +1 -0
- package/dist/components/cartesian-chart/cartesian-chart.js +293 -0
- package/dist/components/cartesian-chart/cartesian-chart.js.map +1 -0
- package/dist/components/cartesian-chart/context.js +15 -0
- package/dist/components/cartesian-chart/context.js.map +1 -0
- package/dist/components/cartesian-chart/use-cartesian-chart.d.ts +21 -0
- package/dist/components/cartesian-chart/use-cartesian-chart.d.ts.map +1 -0
- package/dist/components/cartesian-chart/use-cartesian-chart.js +29 -0
- package/dist/components/cartesian-chart/use-cartesian-chart.js.map +1 -0
- package/dist/components/cascader/cascader.d.ts +72 -3
- package/dist/components/cascader/cascader.d.ts.map +1 -1
- package/dist/components/cascader/cascader.js +125 -7
- package/dist/components/cascader/cascader.js.map +1 -1
- package/dist/components/cascader/context.js +10 -1
- package/dist/components/cascader/context.js.map +1 -1
- package/dist/components/cascader/use-cascader.d.ts +2 -1
- package/dist/components/cascader/use-cascader.d.ts.map +1 -1
- package/dist/components/cascader/use-cascader.js +4 -1
- package/dist/components/cascader/use-cascader.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +1 -1
- package/dist/components/checkbox-group/checkbox-group.d.ts +24 -3
- package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/dist/components/checkbox-group/checkbox-group.js +20 -3
- package/dist/components/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/components/citation/citation.d.ts +211 -0
- package/dist/components/citation/citation.d.ts.map +1 -0
- package/dist/components/citation/citation.js +222 -0
- package/dist/components/citation/citation.js.map +1 -0
- package/dist/components/citation/context.d.ts +11 -0
- package/dist/components/citation/context.d.ts.map +1 -0
- package/dist/components/citation/context.js +24 -0
- package/dist/components/citation/context.js.map +1 -0
- package/dist/components/citation/use-citation.d.ts +19 -0
- package/dist/components/citation/use-citation.d.ts.map +1 -0
- package/dist/components/citation/use-citation.js +51 -0
- package/dist/components/citation/use-citation.js.map +1 -0
- package/dist/components/code-view/code-view.d.ts +21 -0
- package/dist/components/code-view/code-view.d.ts.map +1 -1
- package/dist/components/code-view/code-view.js +23 -4
- package/dist/components/code-view/code-view.js.map +1 -1
- package/dist/components/collapsible/collapsible.d.ts +6 -0
- package/dist/components/collapsible/collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/collapsible.js +4 -2
- package/dist/components/collapsible/collapsible.js.map +1 -1
- package/dist/components/color-field/color-field.d.ts +2 -2
- package/dist/components/color-field/color-field.js +1 -1
- package/dist/components/color-field/color-field.js.map +1 -1
- package/dist/components/color-picker/color-picker.d.ts +41 -3
- package/dist/components/color-picker/color-picker.d.ts.map +1 -1
- package/dist/components/color-picker/color-picker.js +33 -4
- package/dist/components/color-picker/color-picker.js.map +1 -1
- package/dist/components/color-picker/use-color-picker.d.ts +3 -1
- package/dist/components/color-picker/use-color-picker.d.ts.map +1 -1
- package/dist/components/color-picker/use-color-picker.js +8 -2
- package/dist/components/color-picker/use-color-picker.js.map +1 -1
- package/dist/components/color-slider/color-slider.d.ts +2 -2
- package/dist/components/color-slider/color-slider.js +1 -1
- package/dist/components/color-slider/color-slider.js.map +1 -1
- package/dist/components/combobox/combobox.d.ts +66 -4
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/combobox.js +107 -6
- package/dist/components/combobox/combobox.js.map +1 -1
- package/dist/components/combobox/context.js +10 -1
- package/dist/components/combobox/context.js.map +1 -1
- package/dist/components/command/command.d.ts +23 -2
- package/dist/components/command/command.d.ts.map +1 -1
- package/dist/components/command/command.js +48 -6
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/command/use-command.d.ts.map +1 -1
- package/dist/components/command/use-command.js +9 -30
- package/dist/components/command/use-command.js.map +1 -1
- package/dist/components/context-menu/context-menu.d.ts +63 -18
- package/dist/components/context-menu/context-menu.d.ts.map +1 -1
- package/dist/components/context-menu/context-menu.js +141 -57
- package/dist/components/context-menu/context-menu.js.map +1 -1
- package/dist/components/context-menu/context.js +1 -1
- package/dist/components/context-menu/context.js.map +1 -1
- package/dist/components/context-menu/use-context-menu.d.ts +1 -1
- package/dist/components/context-menu/use-context-menu.d.ts.map +1 -1
- package/dist/components/context-menu/use-context-menu.js +4 -2
- package/dist/components/context-menu/use-context-menu.js.map +1 -1
- package/dist/components/date-field/date-field.d.ts +9 -1
- package/dist/components/date-field/date-field.d.ts.map +1 -1
- package/dist/components/date-field/date-field.js +2 -0
- package/dist/components/date-field/date-field.js.map +1 -1
- package/dist/components/date-picker/date-picker.d.ts +41 -1
- package/dist/components/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/date-picker/date-picker.js +16 -3
- package/dist/components/date-picker/date-picker.js.map +1 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts +77 -2
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
- package/dist/components/date-range-picker/date-range-picker.js +102 -5
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/components/date-range-picker/use-date-range-picker.d.ts +1 -1
- package/dist/components/date-range-picker/use-date-range-picker.js.map +1 -1
- package/dist/components/descriptions/descriptions.d.ts +38 -7
- package/dist/components/descriptions/descriptions.d.ts.map +1 -1
- package/dist/components/descriptions/descriptions.js +38 -4
- package/dist/components/descriptions/descriptions.js.map +1 -1
- package/dist/components/dialog/dialog.d.ts +16 -1
- package/dist/components/dialog/dialog.d.ts.map +1 -1
- package/dist/components/dialog/dialog.js +15 -2
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/dialog/use-dialog.d.ts.map +1 -1
- package/dist/components/dialog/use-dialog.js +9 -27
- package/dist/components/dialog/use-dialog.js.map +1 -1
- package/dist/components/diff-view/diff-view.d.ts +22 -2
- package/dist/components/diff-view/diff-view.d.ts.map +1 -1
- package/dist/components/diff-view/diff-view.js +37 -14
- package/dist/components/diff-view/diff-view.js.map +1 -1
- package/dist/components/diff-view/use-diff-view.d.ts +7 -2
- package/dist/components/diff-view/use-diff-view.d.ts.map +1 -1
- package/dist/components/diff-view/use-diff-view.js +12 -5
- package/dist/components/diff-view/use-diff-view.js.map +1 -1
- package/dist/components/drawer/drawer.d.ts +46 -1
- package/dist/components/drawer/drawer.d.ts.map +1 -1
- package/dist/components/drawer/drawer.js +28 -4
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/drawer/use-drawer.d.ts +1 -1
- package/dist/components/drawer/use-drawer.d.ts.map +1 -1
- package/dist/components/drawer/use-drawer.js +12 -29
- package/dist/components/drawer/use-drawer.js.map +1 -1
- package/dist/components/empty-state/empty-state.js +4 -1
- package/dist/components/empty-state/empty-state.js.map +1 -1
- package/dist/components/empty-state/use-empty-state.js +12 -3
- package/dist/components/empty-state/use-empty-state.js.map +1 -1
- package/dist/components/field/field.js +1 -1
- package/dist/components/field-array/field-array.d.ts +1 -1
- package/dist/components/field-array/field-array.d.ts.map +1 -1
- package/dist/components/field-array/field-array.js +5 -1
- package/dist/components/field-array/field-array.js.map +1 -1
- package/dist/components/field-array/use-field-array.d.ts +3 -1
- package/dist/components/field-array/use-field-array.d.ts.map +1 -1
- package/dist/components/field-array/use-field-array.js +5 -2
- package/dist/components/field-array/use-field-array.js.map +1 -1
- package/dist/components/file-upload/file-upload.d.ts +24 -1
- package/dist/components/file-upload/file-upload.d.ts.map +1 -1
- package/dist/components/file-upload/file-upload.js +12 -2
- package/dist/components/file-upload/file-upload.js.map +1 -1
- package/dist/components/file-upload/use-file-upload.d.ts +1 -1
- package/dist/components/file-upload/use-file-upload.d.ts.map +1 -1
- package/dist/components/file-upload/use-file-upload.js.map +1 -1
- package/dist/components/flex/flex.d.ts +1 -1
- package/dist/components/flex/flex.d.ts.map +1 -1
- package/dist/components/flex/flex.js +4 -4
- package/dist/components/flex/flex.js.map +1 -1
- package/dist/components/form/form.d.ts +18 -4
- package/dist/components/form/form.d.ts.map +1 -1
- package/dist/components/form/form.js +21 -7
- package/dist/components/form/form.js.map +1 -1
- package/dist/components/form/use-form.d.ts +6 -0
- package/dist/components/form/use-form.d.ts.map +1 -1
- package/dist/components/form/use-form.js +4 -0
- package/dist/components/form/use-form.js.map +1 -1
- package/dist/components/funnel-chart/context.js +15 -0
- package/dist/components/funnel-chart/context.js.map +1 -0
- package/dist/components/funnel-chart/funnel-chart.d.ts +175 -0
- package/dist/components/funnel-chart/funnel-chart.d.ts.map +1 -0
- package/dist/components/funnel-chart/funnel-chart.js +188 -0
- package/dist/components/funnel-chart/funnel-chart.js.map +1 -0
- package/dist/components/funnel-chart/use-funnel-chart.d.ts +19 -0
- package/dist/components/funnel-chart/use-funnel-chart.d.ts.map +1 -0
- package/dist/components/funnel-chart/use-funnel-chart.js +26 -0
- package/dist/components/funnel-chart/use-funnel-chart.js.map +1 -0
- package/dist/components/graph-chart/context.js +15 -0
- package/dist/components/graph-chart/context.js.map +1 -0
- package/dist/components/graph-chart/graph-chart.d.ts +194 -0
- package/dist/components/graph-chart/graph-chart.d.ts.map +1 -0
- package/dist/components/graph-chart/graph-chart.js +219 -0
- package/dist/components/graph-chart/graph-chart.js.map +1 -0
- package/dist/components/graph-chart/use-graph-chart.d.ts +19 -0
- package/dist/components/graph-chart/use-graph-chart.d.ts.map +1 -0
- package/dist/components/graph-chart/use-graph-chart.js +26 -0
- package/dist/components/graph-chart/use-graph-chart.js.map +1 -0
- package/dist/components/grid/grid.d.ts +7 -0
- package/dist/components/grid/grid.d.ts.map +1 -1
- package/dist/components/grid/grid.js +7 -1
- package/dist/components/grid/grid.js.map +1 -1
- package/dist/components/grid-list/context.d.ts +9 -0
- package/dist/components/grid-list/context.d.ts.map +1 -0
- package/dist/components/grid-list/context.js +24 -0
- package/dist/components/grid-list/context.js.map +1 -0
- package/dist/components/grid-list/grid-list.d.ts +149 -0
- package/dist/components/grid-list/grid-list.d.ts.map +1 -0
- package/dist/components/grid-list/grid-list.js +118 -0
- package/dist/components/grid-list/grid-list.js.map +1 -0
- package/dist/components/grid-list/use-grid-list.d.ts +12 -0
- package/dist/components/grid-list/use-grid-list.d.ts.map +1 -0
- package/dist/components/grid-list/use-grid-list.js +20 -0
- package/dist/components/grid-list/use-grid-list.js.map +1 -0
- package/dist/components/heatmap/heatmap.d.ts +45 -4
- package/dist/components/heatmap/heatmap.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap.js +40 -14
- package/dist/components/heatmap/heatmap.js.map +1 -1
- package/dist/components/heatmap/use-heatmap.d.ts +4 -2
- package/dist/components/heatmap/use-heatmap.d.ts.map +1 -1
- package/dist/components/heatmap/use-heatmap.js +8 -4
- package/dist/components/heatmap/use-heatmap.js.map +1 -1
- package/dist/components/hierarchy-chart/context.js +15 -0
- package/dist/components/hierarchy-chart/context.js.map +1 -0
- package/dist/components/hierarchy-chart/hierarchy-chart.d.ts +201 -0
- package/dist/components/hierarchy-chart/hierarchy-chart.d.ts.map +1 -0
- package/dist/components/hierarchy-chart/hierarchy-chart.js +228 -0
- package/dist/components/hierarchy-chart/hierarchy-chart.js.map +1 -0
- package/dist/components/hierarchy-chart/use-hierarchy-chart.d.ts +19 -0
- package/dist/components/hierarchy-chart/use-hierarchy-chart.d.ts.map +1 -0
- package/dist/components/hierarchy-chart/use-hierarchy-chart.js +26 -0
- package/dist/components/hierarchy-chart/use-hierarchy-chart.js.map +1 -0
- package/dist/components/hover-card/hover-card.js +2 -2
- package/dist/components/icon/icon.d.ts +7 -1
- package/dist/components/icon/icon.d.ts.map +1 -1
- package/dist/components/icon/icon.js +1 -0
- package/dist/components/icon/icon.js.map +1 -1
- package/dist/components/image/use-image.d.ts.map +1 -1
- package/dist/components/image/use-image.js +3 -1
- package/dist/components/image/use-image.js.map +1 -1
- package/dist/components/image-cropper/image-cropper.d.ts +35 -4
- package/dist/components/image-cropper/image-cropper.d.ts.map +1 -1
- package/dist/components/image-cropper/image-cropper.js +34 -5
- package/dist/components/image-cropper/image-cropper.js.map +1 -1
- package/dist/components/image-cropper/use-image-cropper.d.ts +3 -1
- package/dist/components/image-cropper/use-image-cropper.d.ts.map +1 -1
- package/dist/components/image-cropper/use-image-cropper.js +4 -1
- package/dist/components/image-cropper/use-image-cropper.js.map +1 -1
- package/dist/components/image-viewer/image-viewer.js +1 -1
- package/dist/components/image-viewer/use-image-viewer.d.ts.map +1 -1
- package/dist/components/image-viewer/use-image-viewer.js +9 -27
- package/dist/components/image-viewer/use-image-viewer.js.map +1 -1
- package/dist/components/infinite-scroll/infinite-scroll.d.ts +9 -1
- package/dist/components/infinite-scroll/infinite-scroll.d.ts.map +1 -1
- package/dist/components/infinite-scroll/infinite-scroll.js +2 -0
- package/dist/components/infinite-scroll/infinite-scroll.js.map +1 -1
- package/dist/components/input-group/input-group.d.ts.map +1 -1
- package/dist/components/input-group/input-group.js +2 -1
- package/dist/components/input-group/input-group.js.map +1 -1
- package/dist/components/json-viewer/json-viewer.d.ts +17 -2
- package/dist/components/json-viewer/json-viewer.d.ts.map +1 -1
- package/dist/components/json-viewer/json-viewer.js +26 -8
- package/dist/components/json-viewer/json-viewer.js.map +1 -1
- package/dist/components/kbd/kbd.d.ts.map +1 -1
- package/dist/components/kbd/kbd.js +27 -10
- package/dist/components/kbd/kbd.js.map +1 -1
- package/dist/components/listbox/listbox.d.ts +25 -2
- package/dist/components/listbox/listbox.d.ts.map +1 -1
- package/dist/components/listbox/listbox.js +39 -4
- package/dist/components/listbox/listbox.js.map +1 -1
- package/dist/components/loading-bar/use-loading-bar.d.ts.map +1 -1
- package/dist/components/loading-bar/use-loading-bar.js +3 -1
- package/dist/components/loading-bar/use-loading-bar.js.map +1 -1
- package/dist/components/log/log.d.ts +41 -2
- package/dist/components/log/log.d.ts.map +1 -1
- package/dist/components/log/log.js +25 -3
- package/dist/components/log/log.js.map +1 -1
- package/dist/components/log/use-log.d.ts +1 -1
- package/dist/components/log/use-log.d.ts.map +1 -1
- package/dist/components/log/use-log.js +4 -1
- package/dist/components/log/use-log.js.map +1 -1
- package/dist/components/markdown-stream/markdown-stream.d.ts +22 -2
- package/dist/components/markdown-stream/markdown-stream.d.ts.map +1 -1
- package/dist/components/markdown-stream/markdown-stream.js +43 -4
- package/dist/components/markdown-stream/markdown-stream.js.map +1 -1
- package/dist/components/marquee/marquee.d.ts +68 -12
- package/dist/components/marquee/marquee.d.ts.map +1 -1
- package/dist/components/marquee/marquee.js +52 -7
- package/dist/components/marquee/marquee.js.map +1 -1
- package/dist/components/mention/mention.d.ts +43 -7
- package/dist/components/mention/mention.d.ts.map +1 -1
- package/dist/components/mention/mention.js +50 -8
- package/dist/components/mention/mention.js.map +1 -1
- package/dist/components/menu/context.js +1 -1
- package/dist/components/menu/context.js.map +1 -1
- package/dist/components/menu/menu.d.ts +92 -28
- package/dist/components/menu/menu.d.ts.map +1 -1
- package/dist/components/menu/menu.js +162 -54
- package/dist/components/menu/menu.js.map +1 -1
- package/dist/components/menu/use-menu.d.ts +1 -1
- package/dist/components/menu/use-menu.d.ts.map +1 -1
- package/dist/components/menu/use-menu.js +8 -6
- package/dist/components/menu/use-menu.js.map +1 -1
- package/dist/components/menubar/context.js +1 -1
- package/dist/components/menubar/context.js.map +1 -1
- package/dist/components/menubar/menubar.d.ts +52 -19
- package/dist/components/menubar/menubar.d.ts.map +1 -1
- package/dist/components/menubar/menubar.js +137 -56
- package/dist/components/menubar/menubar.js.map +1 -1
- package/dist/components/menubar/use-menubar.d.ts +1 -1
- package/dist/components/menubar/use-menubar.d.ts.map +1 -1
- package/dist/components/menubar/use-menubar.js +4 -2
- package/dist/components/menubar/use-menubar.js.map +1 -1
- package/dist/components/message-feed/message-feed.d.ts +13 -1
- package/dist/components/message-feed/message-feed.d.ts.map +1 -1
- package/dist/components/message-feed/message-feed.js +25 -1
- package/dist/components/message-feed/message-feed.js.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.d.ts +58 -1
- package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.js +82 -10
- package/dist/components/navigation-menu/navigation-menu.js.map +1 -1
- package/dist/components/notification/context.d.ts +5 -1
- package/dist/components/notification/context.d.ts.map +1 -1
- package/dist/components/notification/context.js.map +1 -1
- package/dist/components/notification/notification.d.ts +39 -23
- package/dist/components/notification/notification.d.ts.map +1 -1
- package/dist/components/notification/notification.js +27 -9
- package/dist/components/notification/notification.js.map +1 -1
- package/dist/components/notification/use-item-exit.js +22 -0
- package/dist/components/notification/use-item-exit.js.map +1 -0
- package/dist/components/notification/use-notification.d.ts +3 -3
- package/dist/components/notification/use-notification.d.ts.map +1 -1
- package/dist/components/notification/use-notification.js +20 -5
- package/dist/components/notification/use-notification.js.map +1 -1
- package/dist/components/number-animation/number-animation.d.ts +14 -2
- package/dist/components/number-animation/number-animation.d.ts.map +1 -1
- package/dist/components/number-animation/number-animation.js +5 -1
- package/dist/components/number-animation/number-animation.js.map +1 -1
- package/dist/components/number-field/number-field.d.ts +16 -1
- package/dist/components/number-field/number-field.d.ts.map +1 -1
- package/dist/components/number-field/number-field.js +6 -0
- package/dist/components/number-field/number-field.js.map +1 -1
- package/dist/components/page-header/page-header.d.ts.map +1 -1
- package/dist/components/page-header/page-header.js +2 -1
- package/dist/components/page-header/page-header.js.map +1 -1
- package/dist/components/pagination/pagination.d.ts +22 -2
- package/dist/components/pagination/pagination.d.ts.map +1 -1
- package/dist/components/pagination/pagination.js +22 -1
- package/dist/components/pagination/pagination.js.map +1 -1
- package/dist/components/pagination/use-pagination.js +1 -0
- package/dist/components/pagination/use-pagination.js.map +1 -1
- package/dist/components/pie-chart/context.js +15 -0
- package/dist/components/pie-chart/context.js.map +1 -0
- package/dist/components/pie-chart/pie-chart.d.ts +203 -0
- package/dist/components/pie-chart/pie-chart.d.ts.map +1 -0
- package/dist/components/pie-chart/pie-chart.js +236 -0
- package/dist/components/pie-chart/pie-chart.js.map +1 -0
- package/dist/components/pie-chart/use-pie-chart.d.ts +19 -0
- package/dist/components/pie-chart/use-pie-chart.d.ts.map +1 -0
- package/dist/components/pie-chart/use-pie-chart.js +26 -0
- package/dist/components/pie-chart/use-pie-chart.js.map +1 -0
- package/dist/components/popconfirm/popconfirm.js +2 -2
- package/dist/components/popover/popover.d.ts +11 -0
- package/dist/components/popover/popover.d.ts.map +1 -1
- package/dist/components/popover/popover.js +7 -2
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/progress/progress.d.ts +63 -3
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/progress/progress.js +55 -3
- package/dist/components/progress/progress.js.map +1 -1
- package/dist/components/question-flow/question-flow.d.ts +40 -1
- package/dist/components/question-flow/question-flow.d.ts.map +1 -1
- package/dist/components/question-flow/question-flow.js +37 -1
- package/dist/components/question-flow/question-flow.js.map +1 -1
- package/dist/components/radar-chart/context.js +15 -0
- package/dist/components/radar-chart/context.js.map +1 -0
- package/dist/components/radar-chart/radar-chart.d.ts +189 -0
- package/dist/components/radar-chart/radar-chart.d.ts.map +1 -0
- package/dist/components/radar-chart/radar-chart.js +220 -0
- package/dist/components/radar-chart/radar-chart.js.map +1 -0
- package/dist/components/radar-chart/use-radar-chart.d.ts +19 -0
- package/dist/components/radar-chart/use-radar-chart.d.ts.map +1 -0
- package/dist/components/radar-chart/use-radar-chart.js +26 -0
- package/dist/components/radar-chart/use-radar-chart.js.map +1 -0
- package/dist/components/radio-group/radio-group.d.ts +37 -2
- package/dist/components/radio-group/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group/radio-group.js +54 -8
- package/dist/components/radio-group/radio-group.js.map +1 -1
- package/dist/components/radio-group/use-radio-group.d.ts +3 -1
- package/dist/components/radio-group/use-radio-group.d.ts.map +1 -1
- package/dist/components/radio-group/use-radio-group.js +7 -3
- package/dist/components/radio-group/use-radio-group.js.map +1 -1
- package/dist/components/reasoning/reasoning.d.ts.map +1 -1
- package/dist/components/reasoning/reasoning.js +1 -0
- package/dist/components/reasoning/reasoning.js.map +1 -1
- package/dist/components/sankey-chart/context.js +15 -0
- package/dist/components/sankey-chart/context.js.map +1 -0
- package/dist/components/sankey-chart/sankey-chart.d.ts +161 -0
- package/dist/components/sankey-chart/sankey-chart.d.ts.map +1 -0
- package/dist/components/sankey-chart/sankey-chart.js +208 -0
- package/dist/components/sankey-chart/sankey-chart.js.map +1 -0
- package/dist/components/sankey-chart/use-sankey-chart.d.ts +19 -0
- package/dist/components/sankey-chart/use-sankey-chart.d.ts.map +1 -0
- package/dist/components/sankey-chart/use-sankey-chart.js +26 -0
- package/dist/components/sankey-chart/use-sankey-chart.js.map +1 -0
- package/dist/components/scroll-area/scroll-area.d.ts +13 -5
- package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
- package/dist/components/scroll-area/scroll-area.js +17 -3
- package/dist/components/scroll-area/scroll-area.js.map +1 -1
- package/dist/components/select/select.d.ts +25 -2
- package/dist/components/select/select.d.ts.map +1 -1
- package/dist/components/select/select.js +48 -6
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/select/use-select.js +2 -1
- package/dist/components/select/use-select.js.map +1 -1
- package/dist/components/side-nav/context.js +17 -1
- package/dist/components/side-nav/context.js.map +1 -1
- package/dist/components/side-nav/side-nav.d.ts +51 -7
- package/dist/components/side-nav/side-nav.d.ts.map +1 -1
- package/dist/components/side-nav/side-nav.js +152 -13
- package/dist/components/side-nav/side-nav.js.map +1 -1
- package/dist/components/side-nav/use-side-nav.d.ts +4 -2
- package/dist/components/side-nav/use-side-nav.d.ts.map +1 -1
- package/dist/components/side-nav/use-side-nav.js +5 -3
- package/dist/components/side-nav/use-side-nav.js.map +1 -1
- package/dist/components/signature-pad/signature-pad.d.ts +26 -4
- package/dist/components/signature-pad/signature-pad.d.ts.map +1 -1
- package/dist/components/signature-pad/signature-pad.js +32 -4
- package/dist/components/signature-pad/signature-pad.js.map +1 -1
- package/dist/components/signature-pad/use-signature-pad.d.ts +1 -1
- package/dist/components/signature-pad/use-signature-pad.d.ts.map +1 -1
- package/dist/components/signature-pad/use-signature-pad.js.map +1 -1
- package/dist/components/skeleton/use-skeleton.js +6 -2
- package/dist/components/skeleton/use-skeleton.js.map +1 -1
- package/dist/components/slider/slider.d.ts +27 -0
- package/dist/components/slider/slider.d.ts.map +1 -1
- package/dist/components/slider/slider.js +12 -0
- package/dist/components/slider/slider.js.map +1 -1
- package/dist/components/sortable/sortable.d.ts +18 -0
- package/dist/components/sortable/sortable.d.ts.map +1 -1
- package/dist/components/sortable/sortable.js +7 -2
- package/dist/components/sortable/sortable.js.map +1 -1
- package/dist/components/sortable/use-sortable.d.ts +1 -1
- package/dist/components/sortable/use-sortable.d.ts.map +1 -1
- package/dist/components/sortable/use-sortable.js +2 -1
- package/dist/components/sortable/use-sortable.js.map +1 -1
- package/dist/components/sparkline/sparkline.d.ts +101 -0
- package/dist/components/sparkline/sparkline.d.ts.map +1 -0
- package/dist/components/sparkline/sparkline.js +54 -0
- package/dist/components/sparkline/sparkline.js.map +1 -0
- package/dist/components/sparkline/use-sparkline.d.ts +15 -0
- package/dist/components/sparkline/use-sparkline.d.ts.map +1 -0
- package/dist/components/sparkline/use-sparkline.js +21 -0
- package/dist/components/sparkline/use-sparkline.js.map +1 -0
- package/dist/components/spinner/spinner.d.ts +8 -0
- package/dist/components/spinner/spinner.d.ts.map +1 -1
- package/dist/components/spinner/spinner.js +2 -0
- package/dist/components/spinner/spinner.js.map +1 -1
- package/dist/components/spinner/use-spinner.js +4 -2
- package/dist/components/spinner/use-spinner.js.map +1 -1
- package/dist/components/statistic/statistic.d.ts.map +1 -1
- package/dist/components/statistic/statistic.js +2 -1
- package/dist/components/statistic/statistic.js.map +1 -1
- package/dist/components/steps/steps.d.ts +28 -1
- package/dist/components/steps/steps.d.ts.map +1 -1
- package/dist/components/steps/steps.js +11 -2
- package/dist/components/steps/steps.js.map +1 -1
- package/dist/components/switch/switch.js +1 -1
- package/dist/components/table/context.js +9 -1
- package/dist/components/table/context.js.map +1 -1
- package/dist/components/table/table.d.ts +52 -3
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/components/table/table.js +40 -11
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/table/use-table.d.ts +3 -1
- package/dist/components/table/use-table.d.ts.map +1 -1
- package/dist/components/table/use-table.js +5 -2
- package/dist/components/table/use-table.js.map +1 -1
- package/dist/components/tabs/tabs.d.ts +51 -3
- package/dist/components/tabs/tabs.d.ts.map +1 -1
- package/dist/components/tabs/tabs.js +60 -8
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/tag/use-tag.d.ts.map +1 -1
- package/dist/components/tag/use-tag.js +3 -1
- package/dist/components/tag/use-tag.js.map +1 -1
- package/dist/components/tag-group/tag-group.js +1 -1
- package/dist/components/tag-group/tag-group.js.map +1 -1
- package/dist/components/tags-input/tags-input.d.ts +10 -2
- package/dist/components/tags-input/tags-input.d.ts.map +1 -1
- package/dist/components/tags-input/tags-input.js +11 -4
- package/dist/components/tags-input/tags-input.js.map +1 -1
- package/dist/components/tags-input/use-tags-input.d.ts +4 -2
- package/dist/components/tags-input/use-tags-input.d.ts.map +1 -1
- package/dist/components/tags-input/use-tags-input.js +5 -2
- package/dist/components/tags-input/use-tags-input.js.map +1 -1
- package/dist/components/time-picker/time-picker.d.ts +11 -7
- package/dist/components/time-picker/time-picker.d.ts.map +1 -1
- package/dist/components/time-picker/time-picker.js +4 -2
- package/dist/components/time-picker/time-picker.js.map +1 -1
- package/dist/components/time-range-picker/time-range-picker.d.ts +11 -7
- package/dist/components/time-range-picker/time-range-picker.d.ts.map +1 -1
- package/dist/components/time-range-picker/time-range-picker.js +4 -2
- package/dist/components/time-range-picker/time-range-picker.js.map +1 -1
- package/dist/components/timeline/timeline.d.ts.map +1 -1
- package/dist/components/timeline/timeline.js +2 -1
- package/dist/components/timeline/timeline.js.map +1 -1
- package/dist/components/timestamp/timestamp.d.ts +20 -1
- package/dist/components/timestamp/timestamp.d.ts.map +1 -1
- package/dist/components/timestamp/timestamp.js +16 -5
- package/dist/components/timestamp/timestamp.js.map +1 -1
- package/dist/components/toolbar/toolbar.d.ts +17 -2
- package/dist/components/toolbar/toolbar.d.ts.map +1 -1
- package/dist/components/toolbar/toolbar.js +31 -4
- package/dist/components/toolbar/toolbar.js.map +1 -1
- package/dist/components/toolbar/use-toolbar.d.ts +4 -2
- package/dist/components/toolbar/use-toolbar.d.ts.map +1 -1
- package/dist/components/toolbar/use-toolbar.js +5 -2
- package/dist/components/toolbar/use-toolbar.js.map +1 -1
- package/dist/components/tooltip/context.d.ts +21 -0
- package/dist/components/tooltip/context.d.ts.map +1 -0
- package/dist/components/tooltip/context.js +10 -1
- package/dist/components/tooltip/context.js.map +1 -1
- package/dist/components/tooltip/tooltip.d.ts +53 -1
- package/dist/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip.js +34 -3
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/components/tooltip/use-tooltip.d.ts +3 -18
- package/dist/components/tooltip/use-tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/use-tooltip.js +2 -0
- package/dist/components/tooltip/use-tooltip.js.map +1 -1
- package/dist/components/tour/tour.d.ts +8 -0
- package/dist/components/tour/tour.d.ts.map +1 -1
- package/dist/components/tour/tour.js +2 -0
- package/dist/components/tour/tour.js.map +1 -1
- package/dist/components/transfer/transfer.d.ts +30 -2
- package/dist/components/transfer/transfer.d.ts.map +1 -1
- package/dist/components/transfer/transfer.js +29 -3
- package/dist/components/transfer/transfer.js.map +1 -1
- package/dist/components/tree/tree.d.ts +43 -8
- package/dist/components/tree/tree.d.ts.map +1 -1
- package/dist/components/tree/tree.js +28 -15
- package/dist/components/tree/tree.js.map +1 -1
- package/dist/components/tree-select/context.js +10 -1
- package/dist/components/tree-select/context.js.map +1 -1
- package/dist/components/tree-select/tree-select.d.ts +78 -6
- package/dist/components/tree-select/tree-select.d.ts.map +1 -1
- package/dist/components/tree-select/tree-select.js +127 -12
- package/dist/components/tree-select/tree-select.js.map +1 -1
- package/dist/components/tree-select/use-tree-select.d.ts +3 -0
- package/dist/components/tree-select/use-tree-select.d.ts.map +1 -1
- package/dist/components/tree-select/use-tree-select.js +6 -1
- package/dist/components/tree-select/use-tree-select.js.map +1 -1
- package/dist/components/truncate/truncate.d.ts +25 -4
- package/dist/components/truncate/truncate.d.ts.map +1 -1
- package/dist/components/truncate/truncate.js +29 -14
- package/dist/components/truncate/truncate.js.map +1 -1
- package/dist/components/truncate/use-truncate.d.ts.map +1 -1
- package/dist/components/truncate/use-truncate.js +3 -1
- package/dist/components/truncate/use-truncate.js.map +1 -1
- package/dist/components/typography/typography.d.ts +35 -2
- package/dist/components/typography/typography.d.ts.map +1 -1
- package/dist/components/typography/typography.js +23 -4
- package/dist/components/typography/typography.js.map +1 -1
- package/dist/components/virtualizer/virtualizer.d.ts +26 -2
- package/dist/components/virtualizer/virtualizer.d.ts.map +1 -1
- package/dist/components/virtualizer/virtualizer.js +20 -3
- package/dist/components/virtualizer/virtualizer.js.map +1 -1
- package/dist/components/watermark/watermark.d.ts +14 -1
- package/dist/components/watermark/watermark.d.ts.map +1 -1
- package/dist/components/watermark/watermark.js +20 -5
- package/dist/components/watermark/watermark.js.map +1 -1
- package/dist/config/config.d.ts +1 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +2 -1
- package/dist/config/config.js.map +1 -1
- package/dist/index.d.ts +65 -50
- package/dist/index.js +59 -44
- package/dist/package.js +1 -1
- package/dist/runtime/as-child.js +3 -2
- package/dist/runtime/as-child.js.map +1 -1
- package/dist/runtime/hydration.js +14 -0
- package/dist/runtime/hydration.js.map +1 -0
- package/dist/runtime/use-machine.js +3 -2
- package/dist/runtime/use-machine.js.map +1 -1
- package/dist/runtime/use-overlay-exit.js +0 -1
- package/dist/runtime/use-overlay-exit.js.map +1 -1
- package/dist/runtime/use-scrollbars.js +3 -1
- package/dist/runtime/use-scrollbars.js.map +1 -1
- package/dist/services/notification-service.d.ts +26 -7
- package/dist/services/notification-service.d.ts.map +1 -1
- package/dist/services/notification-service.js +35 -8
- package/dist/services/notification-service.js.map +1 -1
- package/dist/sound.d.ts +6 -7
- package/dist/sound.d.ts.map +1 -1
- package/dist/sound.js +6 -6
- package/dist/sound.js.map +1 -1
- package/package.json +15 -14
- package/dist/components/gradient-text/gradient-text.d.ts +0 -36
- package/dist/components/gradient-text/gradient-text.d.ts.map +0 -1
- package/dist/components/gradient-text/gradient-text.js +0 -20
- package/dist/components/gradient-text/gradient-text.js.map +0 -1
- package/dist/components/icon-wrapper/icon-wrapper.d.ts +0 -29
- package/dist/components/icon-wrapper/icon-wrapper.d.ts.map +0 -1
- package/dist/components/icon-wrapper/icon-wrapper.js +0 -20
- package/dist/components/icon-wrapper/icon-wrapper.js.map +0 -1
- package/dist/components/segmented/context.d.ts +0 -13
- package/dist/components/segmented/context.d.ts.map +0 -1
- package/dist/components/segmented/context.js +0 -24
- package/dist/components/segmented/context.js.map +0 -1
- package/dist/components/segmented/segmented.d.ts +0 -161
- package/dist/components/segmented/segmented.d.ts.map +0 -1
- package/dist/components/segmented/segmented.js +0 -142
- package/dist/components/segmented/segmented.js.map +0 -1
- package/dist/components/segmented/use-segmented.d.ts +0 -15
- package/dist/components/segmented/use-segmented.d.ts.map +0 -1
- package/dist/components/segmented/use-segmented.js +0 -22
- package/dist/components/segmented/use-segmented.js.map +0 -1
- package/dist/components/toast/context.js +0 -15
- package/dist/components/toast/context.js.map +0 -1
- package/dist/components/toast/toast.d.ts +0 -123
- package/dist/components/toast/toast.d.ts.map +0 -1
- package/dist/components/toast/toast.js +0 -112
- package/dist/components/toast/toast.js.map +0 -1
- package/dist/components/toast/use-toast.d.ts +0 -10
- package/dist/components/toast/use-toast.d.ts.map +0 -1
- package/dist/components/toast/use-toast.js +0 -17
- package/dist/components/toast/use-toast.js.map +0 -1
- package/dist/services/toast-service.d.ts +0 -69
- package/dist/services/toast-service.d.ts.map +0 -1
- package/dist/services/toast-service.js +0 -161
- package/dist/services/toast-service.js.map +0 -1
|
@@ -6,6 +6,39 @@ import { TooltipApi, TooltipSchema } from "@xihan-ui/headless";
|
|
|
6
6
|
type TooltipProps = TooltipSchema['props'];
|
|
7
7
|
/** 默认插槽的载荷:展开状态与开合方法。 */
|
|
8
8
|
type TooltipRootSlotProps = Pick<TooltipApi, 'open' | 'setOpen'>;
|
|
9
|
+
/**
|
|
10
|
+
* 提示组:子树里的提示归同一组,共用接替窗口、同一时刻只开一个,没写延时的取这里给的缺省。
|
|
11
|
+
* 本身不渲染节点,也不改动子节点的排布。
|
|
12
|
+
*/
|
|
13
|
+
declare const XhTooltipProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
14
|
+
/** 组内提示悬停进入到展开的缺省等待毫秒;提示自己写了就以提示为准。 */
|
|
15
|
+
openDelay: {
|
|
16
|
+
type: NumberConstructor;
|
|
17
|
+
};
|
|
18
|
+
/** 组内提示悬停移出到收起的缺省等待毫秒。 */
|
|
19
|
+
closeDelay: {
|
|
20
|
+
type: NumberConstructor;
|
|
21
|
+
};
|
|
22
|
+
/** 组内提示的缺省接替窗口毫秒;0 表示组内不接替。 */
|
|
23
|
+
skipDelayDuration: {
|
|
24
|
+
type: NumberConstructor;
|
|
25
|
+
};
|
|
26
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
29
|
+
/** 组内提示悬停进入到展开的缺省等待毫秒;提示自己写了就以提示为准。 */
|
|
30
|
+
openDelay: {
|
|
31
|
+
type: NumberConstructor;
|
|
32
|
+
};
|
|
33
|
+
/** 组内提示悬停移出到收起的缺省等待毫秒。 */
|
|
34
|
+
closeDelay: {
|
|
35
|
+
type: NumberConstructor;
|
|
36
|
+
};
|
|
37
|
+
/** 组内提示的缺省接替窗口毫秒;0 表示组内不接替。 */
|
|
38
|
+
skipDelayDuration: {
|
|
39
|
+
type: NumberConstructor;
|
|
40
|
+
};
|
|
41
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
9
42
|
declare const XhTooltipRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
10
43
|
open: {
|
|
11
44
|
type: BooleanConstructor;
|
|
@@ -28,7 +61,16 @@ declare const XhTooltipRoot: import("vue").DefineComponent<import("vue").Extract
|
|
|
28
61
|
closeDelay: {
|
|
29
62
|
type: NumberConstructor;
|
|
30
63
|
};
|
|
64
|
+
/** 跳过等待的窗口毫秒,默认 300:另一个提示开着或刚收起时,指向这一个直接接替、不播进场;0 不参与。 */
|
|
65
|
+
skipDelayDuration: {
|
|
66
|
+
type: NumberConstructor;
|
|
67
|
+
};
|
|
31
68
|
disabled: BooleanConstructor;
|
|
69
|
+
/** 跟随鼠标:由指针打开的提示锚在指针落点上并随移动更新;触屏与聚焦打开时锚回 trigger。 */
|
|
70
|
+
followCursor: {
|
|
71
|
+
type: BooleanConstructor;
|
|
72
|
+
default: undefined;
|
|
73
|
+
};
|
|
32
74
|
tone: {
|
|
33
75
|
type: PropType<Tone>;
|
|
34
76
|
};
|
|
@@ -62,7 +104,16 @@ declare const XhTooltipRoot: import("vue").DefineComponent<import("vue").Extract
|
|
|
62
104
|
closeDelay: {
|
|
63
105
|
type: NumberConstructor;
|
|
64
106
|
};
|
|
107
|
+
/** 跳过等待的窗口毫秒,默认 300:另一个提示开着或刚收起时,指向这一个直接接替、不播进场;0 不参与。 */
|
|
108
|
+
skipDelayDuration: {
|
|
109
|
+
type: NumberConstructor;
|
|
110
|
+
};
|
|
65
111
|
disabled: BooleanConstructor;
|
|
112
|
+
/** 跟随鼠标:由指针打开的提示锚在指针落点上并随移动更新;触屏与聚焦打开时锚回 trigger。 */
|
|
113
|
+
followCursor: {
|
|
114
|
+
type: BooleanConstructor;
|
|
115
|
+
default: undefined;
|
|
116
|
+
};
|
|
66
117
|
tone: {
|
|
67
118
|
type: PropType<Tone>;
|
|
68
119
|
};
|
|
@@ -76,6 +127,7 @@ declare const XhTooltipRoot: import("vue").DefineComponent<import("vue").Extract
|
|
|
76
127
|
disabled: boolean;
|
|
77
128
|
open: boolean;
|
|
78
129
|
defaultOpen: boolean;
|
|
130
|
+
followCursor: boolean;
|
|
79
131
|
}, SlotsType<{
|
|
80
132
|
default?: (props: TooltipRootSlotProps) => VNode[];
|
|
81
133
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -110,5 +162,5 @@ declare const XhTooltipArrow: import("vue").DefineComponent<{}, () => VNode<impo
|
|
|
110
162
|
[key: string]: any;
|
|
111
163
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
112
164
|
//#endregion
|
|
113
|
-
export { TooltipRootSlotProps, XhTooltipArrow, XhTooltipContent, XhTooltipPositioner, XhTooltipRoot, XhTooltipTrigger };
|
|
165
|
+
export { TooltipRootSlotProps, XhTooltipArrow, XhTooltipContent, XhTooltipPositioner, XhTooltipProvider, XhTooltipRoot, XhTooltipTrigger };
|
|
114
166
|
//# sourceMappingURL=tooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.d.ts","names":[],"sources":["../../../src/components/tooltip/tooltip.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","names":[],"sources":["../../../src/components/tooltip/tooltip.ts"],"mappings":";;;;;KAmBK,eAAe;;KAGR,uBAAuB,KAAK;;;;;cAM3B,iCAAiB,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmB5B,oDAAA;cAEW,6BAAa,8BAAA;;;;;;;IAKO,MAAA,SAAS;;;;;;;IAGf,MAAA,SAAS;;;;;;;;;;;;;;;;;;;IAQR,MAAA,SAAS;;;IACT,MAAA,SAAS;;;;;EAIP,gBAAA,UAAA,UAAU;EACb,gBAAA,OAAA,UAAU;;;;;;;;IAjBJ,MAAA,SAAS;;;;;;;IAGf,MAAA,SAAS;;;;;;;;;;;;;;;;;;;IAQR,MAAA,SAAS;;;IACT,MAAA,SAAS;;;;;;;;;;;EAQvB,WAAC,OAAO,yBAAyB;kCAW7C;cAEW,gCAAgB,8BAAA;;;;;;;;;;qCAyB3B;cAEW,mCAAmB,8BAAA;;;IAIC,MAAA,SAAS;;;;;;;IAAT,MAAA,SAAS;;MAcxC,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAY3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,8BAAc,0BAAA,oBAAA,4BAAA;;8BAMzB,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
|
|
@@ -1,10 +1,34 @@
|
|
|
1
|
-
import { XhPortal } from "../../runtime/portal.js";
|
|
2
1
|
import { mergePartProps } from "../../runtime/merge-props.js";
|
|
3
2
|
import { mergeIntoChild } from "../../runtime/as-child.js";
|
|
4
|
-
import {
|
|
3
|
+
import { XhPortal } from "../../runtime/portal.js";
|
|
4
|
+
import { provideTooltip, provideTooltipGroup, useTooltipContext } from "./context.js";
|
|
5
5
|
import { useTooltip } from "./use-tooltip.js";
|
|
6
6
|
import { defineComponent, h, mergeProps } from "vue";
|
|
7
|
+
import { createTooltipGroup } from "@xihan-ui/headless";
|
|
7
8
|
//#region src/components/tooltip/tooltip.ts
|
|
9
|
+
/**
|
|
10
|
+
* 提示组:子树里的提示归同一组,共用接替窗口、同一时刻只开一个,没写延时的取这里给的缺省。
|
|
11
|
+
* 本身不渲染节点,也不改动子节点的排布。
|
|
12
|
+
*/
|
|
13
|
+
const XhTooltipProvider = defineComponent({
|
|
14
|
+
name: "XhTooltipProvider",
|
|
15
|
+
props: {
|
|
16
|
+
/** 组内提示悬停进入到展开的缺省等待毫秒;提示自己写了就以提示为准。 */
|
|
17
|
+
openDelay: { type: Number },
|
|
18
|
+
/** 组内提示悬停移出到收起的缺省等待毫秒。 */
|
|
19
|
+
closeDelay: { type: Number },
|
|
20
|
+
/** 组内提示的缺省接替窗口毫秒;0 表示组内不接替。 */
|
|
21
|
+
skipDelayDuration: { type: Number }
|
|
22
|
+
},
|
|
23
|
+
setup(props, { slots }) {
|
|
24
|
+
provideTooltipGroup(createTooltipGroup(() => ({
|
|
25
|
+
openDelay: props.openDelay,
|
|
26
|
+
closeDelay: props.closeDelay,
|
|
27
|
+
skipDelayDuration: props.skipDelayDuration
|
|
28
|
+
})));
|
|
29
|
+
return () => slots.default?.();
|
|
30
|
+
}
|
|
31
|
+
});
|
|
8
32
|
const XhTooltipRoot = defineComponent({
|
|
9
33
|
name: "XhTooltipRoot",
|
|
10
34
|
props: {
|
|
@@ -19,7 +43,14 @@ const XhTooltipRoot = defineComponent({
|
|
|
19
43
|
dir: { type: String },
|
|
20
44
|
openDelay: { type: Number },
|
|
21
45
|
closeDelay: { type: Number },
|
|
46
|
+
/** 跳过等待的窗口毫秒,默认 300:另一个提示开着或刚收起时,指向这一个直接接替、不播进场;0 不参与。 */
|
|
47
|
+
skipDelayDuration: { type: Number },
|
|
22
48
|
disabled: Boolean,
|
|
49
|
+
/** 跟随鼠标:由指针打开的提示锚在指针落点上并随移动更新;触屏与聚焦打开时锚回 trigger。 */
|
|
50
|
+
followCursor: {
|
|
51
|
+
type: Boolean,
|
|
52
|
+
default: void 0
|
|
53
|
+
},
|
|
23
54
|
tone: { type: String },
|
|
24
55
|
size: { type: String }
|
|
25
56
|
},
|
|
@@ -105,6 +136,6 @@ const XhTooltipArrow = defineComponent({
|
|
|
105
136
|
}
|
|
106
137
|
});
|
|
107
138
|
//#endregion
|
|
108
|
-
export { XhTooltipArrow, XhTooltipContent, XhTooltipPositioner, XhTooltipRoot, XhTooltipTrigger };
|
|
139
|
+
export { XhTooltipArrow, XhTooltipContent, XhTooltipPositioner, XhTooltipProvider, XhTooltipRoot, XhTooltipTrigger };
|
|
109
140
|
|
|
110
141
|
//# sourceMappingURL=tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","names":[],"sources":["../../../src/components/tooltip/tooltip.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 tooltip 相关实现。\n\nimport type { Direction, Placement, Size, Tone } from '@xihan-ui/core'\nimport type { TooltipApi, TooltipSchema } from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h, mergeProps } from 'vue'\nimport { mergeIntoChild } from '../../runtime/as-child'\nimport { mergePartProps } from '../../runtime/merge-props'\nimport { XhPortal } from '../../runtime/portal'\nimport { provideTooltip, useTooltipContext } from './context'\nimport { useTooltip } from './use-tooltip'\n\ntype TooltipProps = TooltipSchema['props']\n\n/** 默认插槽的载荷:展开状态与开合方法。 */\nexport type TooltipRootSlotProps = Pick<TooltipApi, 'open' | 'setOpen'>\n\nexport const XhTooltipRoot = defineComponent({\n name: 'XhTooltipRoot',\n props: {\n open: { type: Boolean, default: undefined },\n defaultOpen: Boolean,\n placement: { type: String as PropType<Placement> },\n offset: { type: Number },\n /** 文字方向;浮层迁移到落点后无法继承作者子树上的方向,需要 RTL 时显式提供。 */\n dir: { type: String as PropType<Direction> },\n openDelay: { type: Number },\n closeDelay: { type: Number },\n disabled: Boolean,\n tone: { type: String as PropType<Tone> },\n size: { type: String as PropType<Size> },\n },\n // open-change 携带 { open };update:open 携带裸布尔,支持 v-model:open\n emits: {\n 'open-change': (_details: PayloadOf<TooltipProps, 'onOpenChange'>) => true,\n 'update:open': (_open: PayloadOf<TooltipProps, 'onOpenChange'>['open']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TooltipRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const notify: TooltipProps['onOpenChange'] = (details) => {\n emit('open-change', details)\n emit('update:open', details.open)\n }\n const ctx = useTooltip(props as TooltipProps, notify)\n provideTooltip(ctx)\n return () => slots.default?.({ open: ctx.api.value.open, setOpen: ctx.api.value.setOpen })\n },\n})\n\nexport const XhTooltipTrigger = defineComponent({\n name: 'XhTooltipTrigger',\n // 直通属性自己合:Vue 默认把作者的处理器排在部件的后面,这里改成作者先跑\n inheritAttrs: false,\n props: {\n /** 借用作者的子节点作为触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */\n asChild: Boolean,\n },\n setup(props, { slots, attrs }) {\n const ctx = useTooltipContext()\n return () => {\n const part = mergePartProps({\n ...ctx.api.value.getTriggerProps() as Record<string, unknown>,\n ref: (el: unknown) => { ctx.triggerRef.value = el as HTMLElement },\n }, attrs)\n const children = slots.default?.()\n // asChild:把触发器属性合到作者的节点上,不再自己渲染包裹元素\n if (props.asChild) {\n const merged = mergeIntoChild(children, part, 'tooltip')\n if (merged)\n return merged\n }\n return h('button', part, children)\n }\n },\n})\n\nexport const XhTooltipPositioner = defineComponent({\n name: 'XhTooltipPositioner',\n props: {\n /** 本实例的 Portal 容器;优先于应用级配置。 */\n container: { type: Object as PropType<Element> },\n },\n // 根是 Teleport,Vue 不会把直通属性合上去,作者写的 class 与 style 得自己接住落到 positioner 上\n inheritAttrs: false,\n setup(props, { slots, attrs }) {\n const ctx = useTooltipContext()\n // 搬到 portal 落点:留在原地的话,宿主祖先只要建了层叠上下文就能盖住浮层\n return () => h(XhPortal, { to: props.container ?? ctx.portalTarget.value, source: ctx.triggerRef }, () => [\n h('div', {\n ...mergeProps(ctx.api.value.getPositionerProps() as Record<string, unknown>, attrs),\n ref: (el: unknown) => { ctx.positionerRef.value = el as HTMLElement },\n }, slots.default?.()),\n ])\n },\n})\n\nexport const XhTooltipContent = defineComponent({\n name: 'XhTooltipContent',\n setup(_, { slots }) {\n const ctx = useTooltipContext()\n return () => h('div', {\n ...ctx.api.value.getContentProps() as Record<string, unknown>,\n // 收起跟着退场闸门走:皮肤给 content 声明了 display 来盖掉 UA 的 [hidden]{display:none}\n // (盒子得先在,退场才播得出来),所以真正的收起落成内联 display\n style: ctx.visible.value ? undefined : { display: 'none' },\n ref: (el: unknown) => { ctx.contentRef.value = el as HTMLElement },\n }, slots.default?.())\n },\n})\n\nexport const XhTooltipArrow = defineComponent({\n name: 'XhTooltipArrow',\n setup(_, { slots }) {\n const ctx = useTooltipContext()\n return () => h('div', ctx.api.value.getArrowProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"tooltip.js","names":[],"sources":["../../../src/components/tooltip/tooltip.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 tooltip 相关实现。\n\nimport type { Direction, Placement, Size, Tone } from '@xihan-ui/core'\nimport type { TooltipApi, TooltipSchema } from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { createTooltipGroup } from '@xihan-ui/headless'\nimport { defineComponent, h, mergeProps } from 'vue'\nimport { mergeIntoChild } from '../../runtime/as-child'\nimport { mergePartProps } from '../../runtime/merge-props'\nimport { XhPortal } from '../../runtime/portal'\nimport { provideTooltip, provideTooltipGroup, useTooltipContext } from './context'\nimport { useTooltip } from './use-tooltip'\n\ntype TooltipProps = TooltipSchema['props']\n\n/** 默认插槽的载荷:展开状态与开合方法。 */\nexport type TooltipRootSlotProps = Pick<TooltipApi, 'open' | 'setOpen'>\n\n/**\n * 提示组:子树里的提示归同一组,共用接替窗口、同一时刻只开一个,没写延时的取这里给的缺省。\n * 本身不渲染节点,也不改动子节点的排布。\n */\nexport const XhTooltipProvider = defineComponent({\n name: 'XhTooltipProvider',\n props: {\n /** 组内提示悬停进入到展开的缺省等待毫秒;提示自己写了就以提示为准。 */\n openDelay: { type: Number },\n /** 组内提示悬停移出到收起的缺省等待毫秒。 */\n closeDelay: { type: Number },\n /** 组内提示的缺省接替窗口毫秒;0 表示组内不接替。 */\n skipDelayDuration: { type: Number },\n },\n setup(props, { slots }) {\n // 组在 Provider 的一生里只建一次;缺省值每次现读,改 props 下一次开合即生效\n provideTooltipGroup(createTooltipGroup(() => ({\n openDelay: props.openDelay,\n closeDelay: props.closeDelay,\n skipDelayDuration: props.skipDelayDuration,\n })))\n return () => slots.default?.()\n },\n})\n\nexport const XhTooltipRoot = defineComponent({\n name: 'XhTooltipRoot',\n props: {\n open: { type: Boolean, default: undefined },\n defaultOpen: Boolean,\n placement: { type: String as PropType<Placement> },\n offset: { type: Number },\n /** 文字方向;浮层迁移到落点后无法继承作者子树上的方向,需要 RTL 时显式提供。 */\n dir: { type: String as PropType<Direction> },\n openDelay: { type: Number },\n closeDelay: { type: Number },\n /** 跳过等待的窗口毫秒,默认 300:另一个提示开着或刚收起时,指向这一个直接接替、不播进场;0 不参与。 */\n skipDelayDuration: { type: Number },\n disabled: Boolean,\n /** 跟随鼠标:由指针打开的提示锚在指针落点上并随移动更新;触屏与聚焦打开时锚回 trigger。 */\n followCursor: { type: Boolean, default: undefined },\n tone: { type: String as PropType<Tone> },\n size: { type: String as PropType<Size> },\n },\n // open-change 携带 { open };update:open 携带裸布尔,支持 v-model:open\n emits: {\n 'open-change': (_details: PayloadOf<TooltipProps, 'onOpenChange'>) => true,\n 'update:open': (_open: PayloadOf<TooltipProps, 'onOpenChange'>['open']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TooltipRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const notify: TooltipProps['onOpenChange'] = (details) => {\n emit('open-change', details)\n emit('update:open', details.open)\n }\n const ctx = useTooltip(props as TooltipProps, notify)\n provideTooltip(ctx)\n return () => slots.default?.({ open: ctx.api.value.open, setOpen: ctx.api.value.setOpen })\n },\n})\n\nexport const XhTooltipTrigger = defineComponent({\n name: 'XhTooltipTrigger',\n // 直通属性自己合:Vue 默认把作者的处理器排在部件的后面,这里改成作者先跑\n inheritAttrs: false,\n props: {\n /** 借用作者的子节点作为触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */\n asChild: Boolean,\n },\n setup(props, { slots, attrs }) {\n const ctx = useTooltipContext()\n return () => {\n const part = mergePartProps({\n ...ctx.api.value.getTriggerProps() as Record<string, unknown>,\n ref: (el: unknown) => { ctx.triggerRef.value = el as HTMLElement },\n }, attrs)\n const children = slots.default?.()\n // asChild:把触发器属性合到作者的节点上,不再自己渲染包裹元素\n if (props.asChild) {\n const merged = mergeIntoChild(children, part, 'tooltip')\n if (merged)\n return merged\n }\n return h('button', part, children)\n }\n },\n})\n\nexport const XhTooltipPositioner = defineComponent({\n name: 'XhTooltipPositioner',\n props: {\n /** 本实例的 Portal 容器;优先于应用级配置。 */\n container: { type: Object as PropType<Element> },\n },\n // 根是 Teleport,Vue 不会把直通属性合上去,作者写的 class 与 style 得自己接住落到 positioner 上\n inheritAttrs: false,\n setup(props, { slots, attrs }) {\n const ctx = useTooltipContext()\n // 搬到 portal 落点:留在原地的话,宿主祖先只要建了层叠上下文就能盖住浮层\n return () => h(XhPortal, { to: props.container ?? ctx.portalTarget.value, source: ctx.triggerRef }, () => [\n h('div', {\n ...mergeProps(ctx.api.value.getPositionerProps() as Record<string, unknown>, attrs),\n ref: (el: unknown) => { ctx.positionerRef.value = el as HTMLElement },\n }, slots.default?.()),\n ])\n },\n})\n\nexport const XhTooltipContent = defineComponent({\n name: 'XhTooltipContent',\n setup(_, { slots }) {\n const ctx = useTooltipContext()\n return () => h('div', {\n ...ctx.api.value.getContentProps() as Record<string, unknown>,\n // 收起跟着退场闸门走:皮肤给 content 声明了 display 来盖掉 UA 的 [hidden]{display:none}\n // (盒子得先在,退场才播得出来),所以真正的收起落成内联 display\n style: ctx.visible.value ? undefined : { display: 'none' },\n ref: (el: unknown) => { ctx.contentRef.value = el as HTMLElement },\n }, slots.default?.())\n },\n})\n\nexport const XhTooltipArrow = defineComponent({\n name: 'XhTooltipArrow',\n setup(_, { slots }) {\n const ctx = useTooltipContext()\n return () => h('div', ctx.api.value.getArrowProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":"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"}
|
|
@@ -1,22 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { TooltipApi, TooltipSchema } from "@xihan-ui/headless";
|
|
1
|
+
import { TooltipContext } from "./context.js";
|
|
2
|
+
import { TooltipSchema } from "@xihan-ui/headless";
|
|
4
3
|
//#region src/components/tooltip/use-tooltip.d.ts
|
|
5
|
-
interface TooltipContext {
|
|
6
|
-
service: Service<TooltipSchema>;
|
|
7
|
-
api: ComputedRef<TooltipApi>;
|
|
8
|
-
/** 定位锚点。 */
|
|
9
|
-
triggerRef: Ref<HTMLElement | null>;
|
|
10
|
-
/** 被定位的浮层。 */
|
|
11
|
-
positionerRef: Ref<HTMLElement | null>;
|
|
12
|
-
/** 浮层本体,退场动画从它上面探测。 */
|
|
13
|
-
contentRef: Ref<HTMLElement | null>;
|
|
14
|
-
/** 当前是否应当可见:退场动画播完之前仍为真。 */
|
|
15
|
-
visible: Ref<boolean>;
|
|
16
|
-
/** 浮层迁移到的位置:全局配置的容器 > 运行时的浮层落点 > body。 */
|
|
17
|
-
portalTarget: ComputedRef<string | Element>;
|
|
18
|
-
}
|
|
19
4
|
declare function useTooltip(props: TooltipSchema['props'], onOpenChange?: TooltipSchema['props']['onOpenChange']): TooltipContext;
|
|
20
5
|
//#endregion
|
|
21
|
-
export {
|
|
6
|
+
export { useTooltip };
|
|
22
7
|
//# sourceMappingURL=use-tooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tooltip.d.ts","names":[],"sources":["../../../src/components/tooltip/use-tooltip.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-tooltip.d.ts","names":[],"sources":["../../../src/components/tooltip/use-tooltip.ts"],"mappings":";;;iBAqBgB,WACd,OAAO,wBACP,eAAe,yCACd"}
|
|
@@ -3,6 +3,7 @@ import { vueNormalize } from "../../runtime/normalize-props.js";
|
|
|
3
3
|
import { useXhConfig } from "../../config/config.js";
|
|
4
4
|
import { useMachine } from "../../runtime/use-machine.js";
|
|
5
5
|
import { createVueIdGenerator } from "../../runtime/vue-id.js";
|
|
6
|
+
import { useTooltipGroup } from "./context.js";
|
|
6
7
|
import { computed, ref } from "vue";
|
|
7
8
|
import { createRuntimeConfig, createScope } from "@xihan-ui/core";
|
|
8
9
|
import { connectTooltip, tooltipMachine } from "@xihan-ui/headless";
|
|
@@ -38,6 +39,7 @@ function useTooltip(props, onOpenChange) {
|
|
|
38
39
|
}
|
|
39
40
|
service.refs.set("getAnchorEl", () => triggerRef.value);
|
|
40
41
|
service.refs.set("getFloatingEl", () => positionerRef.value);
|
|
42
|
+
service.refs.set("group", useTooltipGroup());
|
|
41
43
|
const api = computed(() => connectTooltip(service, vueNormalize));
|
|
42
44
|
return {
|
|
43
45
|
service,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tooltip.js","names":[],"sources":["../../../src/components/tooltip/use-tooltip.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 use tooltip 相关实现。\n\nimport type { Cleanup, Layer, RuntimeConfig
|
|
1
|
+
{"version":3,"file":"use-tooltip.js","names":[],"sources":["../../../src/components/tooltip/use-tooltip.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 use tooltip 相关实现。\n\nimport type { Cleanup, Layer, RuntimeConfig } from '@xihan-ui/core'\nimport type { TooltipSchema } from '@xihan-ui/headless'\nimport type { TooltipContext } from './context'\nimport { createRuntimeConfig, createScope } from '@xihan-ui/core'\nimport { connectTooltip, tooltipMachine } from '@xihan-ui/headless'\nimport { createPositionEngine } from '@xihan-ui/position'\nimport { computed, ref } from 'vue'\nimport { useXhConfig } from '../../config/config'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\nimport { useOverlayExit } from '../../runtime/use-overlay-exit'\nimport { createVueIdGenerator } from '../../runtime/vue-id'\nimport { useTooltipGroup } from './context'\n\nexport function useTooltip(\n props: TooltipSchema['props'],\n onOpenChange?: TooltipSchema['props']['onOpenChange'],\n): TooltipContext {\n const xhConfig = useXhConfig()\n const triggerRef = ref<HTMLElement | null>(null)\n const positionerRef = ref<HTMLElement | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n\n const idGen = createVueIdGenerator()\n const scope = createScope(null, idGen)\n // onOpenChange 由组件外壳(emit)或组合式调用方提供,随 props 一并喂给机器\n const service = useMachine(tooltipMachine, () => ({ ...props, onOpenChange }), scope)\n\n // 服务端没有 DOM、也就没有退场:config 传 null 时闸门退化成「跟着展开态」\n let config: RuntimeConfig | null = null\n\n if (typeof document !== 'undefined') {\n config = createRuntimeConfig({ scope, idGenerator: idGen })\n\n // 只提供注册函数,入栈出栈由机器的 trackLayer 效应按可见态驱动\n const registerLayer = (): { layer: Layer, dispose: Cleanup } => config!.layerRegistry.register({\n // 提示只参与 Escape 仲裁与栈顶判定:节点就在文档流里,不陷焦点、不锁滚动、没有遮罩\n kind: 'inline',\n node: () => contentRef.value,\n // trigger 记为本层分支,点它算层内交互\n branches: () => [triggerRef.value].filter(Boolean) as Element[],\n isModal: () => false,\n surfaces: () => [],\n })\n\n // 定位引擎经 refs 注入,展开态由机器的 effect 驱动\n service.refs.set('config', config)\n service.refs.set('registerLayer', registerLayer)\n service.refs.set('position', createPositionEngine())\n }\n service.refs.set('getAnchorEl', () => triggerRef.value)\n service.refs.set('getFloatingEl', () => positionerRef.value)\n // 放在 XhTooltipProvider 里就归它那一组:共用接替窗口、同组只开一个、延时取组的缺省\n service.refs.set('group', useTooltipGroup())\n\n const api = computed(() => connectTooltip(service, vueNormalize))\n\n // 退场闸门:收起从跟着 open 走,改成跟着 presence 走\n const visible = useOverlayExit({\n config,\n isOpen: () => api.value.open,\n contentRef,\n onPresence: presence => service.refs.set('presence', presence),\n })\n // 全局配置写了容器就用它,否则落到运行时那个单一浮层落点;没有 DOM 时才回到 body\n const portalTarget = computed<string | Element>(() => xhConfig.value.portalContainer?.() ?? config?.portalContainer() ?? 'body')\n\n return { service, api, triggerRef, positionerRef, contentRef, visible, portalTarget }\n}\n"],"mappings":";;;;;;;;;;;AAqBA,SAAgB,WACd,OACA,cACgB;CAChB,MAAM,WAAW,YAAY;CAC7B,MAAM,aAAa,IAAwB,IAAI;CAC/C,MAAM,gBAAgB,IAAwB,IAAI;CAClD,MAAM,aAAa,IAAwB,IAAI;CAE/C,MAAM,QAAQ,qBAAqB;CACnC,MAAM,QAAQ,YAAY,MAAM,KAAK;CAErC,MAAM,UAAU,WAAW,uBAAuB;EAAE,GAAG;EAAO;CAAa,IAAI,KAAK;CAGpF,IAAI,SAA+B;CAEnC,IAAI,OAAO,aAAa,aAAa;EACnC,SAAS,oBAAoB;GAAE;GAAO,aAAa;EAAM,CAAC;EAG1D,MAAM,sBAA0D,OAAQ,cAAc,SAAS;GAE7F,MAAM;GACN,YAAY,WAAW;GAEvB,gBAAgB,CAAC,WAAW,KAAK,CAAC,CAAC,OAAO,OAAO;GACjD,eAAe;GACf,gBAAgB,CAAC;EACnB,CAAC;EAGD,QAAQ,KAAK,IAAI,UAAU,MAAM;EACjC,QAAQ,KAAK,IAAI,iBAAiB,aAAa;EAC/C,QAAQ,KAAK,IAAI,YAAY,qBAAqB,CAAC;CACrD;CACA,QAAQ,KAAK,IAAI,qBAAqB,WAAW,KAAK;CACtD,QAAQ,KAAK,IAAI,uBAAuB,cAAc,KAAK;CAE3D,QAAQ,KAAK,IAAI,SAAS,gBAAgB,CAAC;CAE3C,MAAM,MAAM,eAAe,eAAe,SAAS,YAAY,CAAC;CAYhE,OAAO;EAAE;EAAS;EAAK;EAAY;EAAe;EAAY,SAT9C,eAAe;GAC7B;GACA,cAAc,IAAI,MAAM;GACxB;GACA,aAAY,aAAY,QAAQ,KAAK,IAAI,YAAY,QAAQ;EAC/D,CAIoE;EAAG,cAFlD,eAAiC,SAAS,MAAM,kBAAkB,KAAK,QAAQ,gBAAgB,KAAK,MAEvC;CAAE;AACtF"}
|
|
@@ -53,6 +53,10 @@ declare const XhTourRoot: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
53
53
|
type: BooleanConstructor;
|
|
54
54
|
default: undefined;
|
|
55
55
|
};
|
|
56
|
+
/** 目标缺席时等它出现的时长(ms),默认 3000;0 即不等。 */
|
|
57
|
+
targetTimeout: {
|
|
58
|
+
type: NumberConstructor;
|
|
59
|
+
};
|
|
56
60
|
translations: {
|
|
57
61
|
type: PropType<TourProps["translations"]>;
|
|
58
62
|
};
|
|
@@ -116,6 +120,10 @@ declare const XhTourRoot: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
116
120
|
type: BooleanConstructor;
|
|
117
121
|
default: undefined;
|
|
118
122
|
};
|
|
123
|
+
/** 目标缺席时等它出现的时长(ms),默认 3000;0 即不等。 */
|
|
124
|
+
targetTimeout: {
|
|
125
|
+
type: NumberConstructor;
|
|
126
|
+
};
|
|
119
127
|
translations: {
|
|
120
128
|
type: PropType<TourProps["translations"]>;
|
|
121
129
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tour.d.ts","names":[],"sources":["../../../src/components/tour/tour.ts"],"mappings":";;;;;KAiBK,YAAY;;KAGL,oBAAoB,KAC9B;cAgBW,0BAAU,8BAAA;;IAIK,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKJ,MAAA,SAAS;;;;;;;IAGf,MAAA,SAAS
|
|
1
|
+
{"version":3,"file":"tour.d.ts","names":[],"sources":["../../../src/components/tour/tour.ts"],"mappings":";;;;;KAiBK,YAAY;;KAGL,oBAAoB,KAC9B;cAgBW,0BAAU,8BAAA;;IAIK,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKJ,MAAA,SAAS;;;;;;;IAGf,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;IAQA,MAAA,SAAS;;;;IAEZ,MAAA,SAAS;;;;;EAIZ,gBAAA,UAAA,UAAU;EACb,gBAAA,OAAA,UAAU;EACN,iBAAA,UAAA,UAAU;EACZ,iBAAA,QAAA,UAAU;EACZ,WAAA,UAAA,UAAU;EACd,OAAA,UAAA,UAAU;;;IA3BL,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKJ,MAAA,SAAS;;;;;;;IAGf,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;IAQA,MAAA,SAAS;;;;IAEZ,MAAA,SAAS;;;;;;;;;;;;;;;;;EAY5B,WAAC,OAAO,sBAAsB;kCAiC1C;cAEW,8BAAc,0BAAA,oBAAA,4BAAA;;8BAgBzB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,+BAAe,0BAAA,oBAAA,4BAAA;;8BAgB1B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAgB3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6BAAa,0BAAA,oBAAA,4BAAA;;8BAYxB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAGW,2BAAW,0BAAA,oBAAA,4BAAA;;8BAUtB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAU5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAU7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;;cAGW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAelC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,iCAAiB,8BAAA;;IAIS,MAAA;;;;;;;IAAA,MAAA;;;MAMrC,oDAAA;cAEW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAM7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,2BAAW,0BAAA,oBAAA,4BAAA;;8BAMtB,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
|
|
@@ -39,6 +39,8 @@ const XhTourRoot = defineComponent({
|
|
|
39
39
|
type: Boolean,
|
|
40
40
|
default: void 0
|
|
41
41
|
},
|
|
42
|
+
/** 目标缺席时等它出现的时长(ms),默认 3000;0 即不等。 */
|
|
43
|
+
targetTimeout: { type: Number },
|
|
42
44
|
translations: { type: Object },
|
|
43
45
|
/** 本实例三张 Tour 浮层的 Portal 容器;优先于应用级配置。 */
|
|
44
46
|
container: { type: Object }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tour.js","names":[],"sources":["../../../src/components/tour/tour.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 tour 相关实现。\n\nimport type { Direction, Placement } from '@xihan-ui/core'\nimport type { TourApi, TourSchema, TourStep } from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h, mergeProps } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { XhPortal } from '../../runtime/portal'\nimport { provideTour, useTourContext } from './context'\nimport { useTour } from './use-tour'\n\ntype TourProps = TourSchema['props']\n\n/** 默认插槽的载荷:引导的开合与步序状态,以及开关、切换步骤、放弃与校准位置的动作。 */\nexport type TourRootSlotProps = Pick<\n TourApi,\n | 'open'\n | 'value'\n | 'count'\n | 'currentStep'\n | 'firstStep'\n | 'lastStep'\n | 'progressText'\n | 'setOpen'\n | 'setValue'\n | 'goToNextStep'\n | 'goToPrevStep'\n | 'skip'\n | 'remeasure'\n>\n\nexport const XhTourRoot = defineComponent({\n name: 'XhTourRoot',\n // 全部 default: undefined —— 缺省值的唯一事实源在 machine 与 connect\n props: {\n steps: { type: Array as PropType<TourStep[]> },\n value: { type: Number },\n defaultValue: { type: Number },\n open: { type: Boolean, default: undefined },\n defaultOpen: { type: Boolean, default: undefined },\n placement: { type: String as PropType<Placement> },\n offset: { type: Number },\n /** 文字方向;浮层迁移到落点后无法继承作者子树上的方向,需要 RTL 时显式提供。 */\n dir: { type: String as PropType<Direction> },\n closeOnEscape: { type: Boolean, default: undefined },\n closeOnInteractOutside: { type: Boolean, default: undefined },\n showBackdrop: { type: Boolean, default: undefined },\n spotlightPadding: { type: Number },\n autoScroll: { type: Boolean, default: undefined },\n translations: { type: Object as PropType<TourProps['translations']> },\n /** 本实例三张 Tour 浮层的 Portal 容器;优先于应用级配置。 */\n container: { type: Object as PropType<Element> },\n },\n // open-change / value-change 携带对象;update:* 携带裸值,支持 v-model:open 与 v-model:value\n emits: {\n 'open-change': (_details: PayloadOf<TourProps, 'onOpenChange'>) => true,\n 'update:open': (_open: PayloadOf<TourProps, 'onOpenChange'>['open']) => true,\n 'value-change': (_details: PayloadOf<TourProps, 'onValueChange'>) => true,\n 'update:value': (_value: PayloadOf<TourProps, 'onValueChange'>['value']) => true,\n 'complete': (_details: PayloadOf<TourProps, 'onComplete'>) => true,\n 'skip': (_details: PayloadOf<TourProps, 'onSkip'>) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TourRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const ctx = useTour(withXhConfig('tour', props) as TourProps, {\n onOpenChange: (details) => {\n emit('open-change', details)\n emit('update:open', details.open)\n },\n onValueChange: (details) => {\n emit('value-change', details)\n emit('update:value', details.value)\n },\n onComplete: details => emit('complete', details),\n onSkip: details => emit('skip', details),\n }, () => props.container)\n provideTour(ctx)\n // 经插槽暴露状态与走步、放弃等命令,供浮层外的按钮使用\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n open: ctx.api.value.open,\n value: ctx.api.value.value,\n count: ctx.api.value.count,\n currentStep: ctx.api.value.currentStep,\n firstStep: ctx.api.value.firstStep,\n lastStep: ctx.api.value.lastStep,\n progressText: ctx.api.value.progressText,\n setOpen: ctx.api.value.setOpen,\n setValue: ctx.api.value.setValue,\n goToNextStep: ctx.api.value.goToNextStep,\n goToPrevStep: ctx.api.value.goToPrevStep,\n skip: ctx.api.value.skip,\n remeasure: ctx.api.value.remeasure,\n }))\n },\n})\n\nexport const XhTourBackdrop = defineComponent({\n name: 'XhTourBackdrop',\n // 根是 Teleport,Vue 不会把直通属性合上去,作者写的 class 与 style 得自己接住落到遮罩上\n inheritAttrs: false,\n setup(_, { slots, attrs }) {\n const ctx = useTourContext()\n // 与浮层同去一个落点:遮罩留在原地就会被面板甩下,两层不再叠在一起\n return () => h(XhPortal, { to: ctx.portalTarget.value }, () => [\n h('div', {\n ...mergeProps(ctx.api.value.getBackdropProps() as Record<string, unknown>, attrs),\n // 收起跟着退场闸门走:遮罩的淡出与气泡的退场并行播\n hidden: (!ctx.visible.value || !ctx.showBackdrop()) || undefined,\n ref: (el: unknown) => { ctx.backdropRef.value = el as HTMLElement },\n }, slots.default?.()),\n ])\n },\n})\n\nexport const XhTourSpotlight = defineComponent({\n name: 'XhTourSpotlight',\n // 根是 Teleport,Vue 不会把直通属性合上去,作者写的 class 与 style 得自己接住落到高亮框上\n inheritAttrs: false,\n setup(_, { attrs }) {\n const ctx = useTourContext()\n // 高亮框与遮罩是同一层暗幕的两半,必须一起搬\n return () => h(XhPortal, { to: ctx.portalTarget.value }, () => [\n h('div', {\n ...mergeProps(ctx.api.value.getSpotlightProps() as Record<string, unknown>, attrs),\n // 收起跟着退场闸门走:高亮框的退场与气泡并行播;居中步照常不画\n hidden: (!ctx.visible.value || !ctx.api.value.anchored) || undefined,\n ref: (el: unknown) => { ctx.spotlightRef.value = el as HTMLElement },\n }),\n ])\n },\n})\n\nexport const XhTourPositioner = defineComponent({\n name: 'XhTourPositioner',\n // 根是 Teleport,Vue 不会把直通属性合上去,作者写的 class 与 style 得自己接住落到 positioner 上\n inheritAttrs: false,\n setup(_, { slots, attrs }) {\n const ctx = useTourContext()\n // 搬到 portal 落点:留在原地的话,宿主祖先只要建了层叠上下文就能盖住浮层\n return () => h(XhPortal, { to: ctx.portalTarget.value }, () => [\n h('div', {\n ...mergeProps(ctx.api.value.getPositionerProps() as Record<string, unknown>, attrs),\n // 定位层收起跟着退场闸门走:它先 display:none 的话,里面气泡的退场一帧都播不出来\n hidden: !ctx.visible.value || undefined,\n ref: (el: unknown) => { ctx.positionerRef.value = el as HTMLElement },\n }, slots.default?.()),\n ])\n },\n})\n\nexport const XhTourContent = defineComponent({\n name: 'XhTourContent',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('div', {\n ...ctx.api.value.getContentProps() as Record<string, unknown>,\n // 收起跟着退场闸门走:皮肤刻意没给 content 补 [hidden]{display:none}(补了退场\n // 就一帧都播不出来),所以真正的收起落成内联 display——节点始终留在原地\n style: ctx.visible.value ? undefined : { display: 'none' },\n ref: (el: unknown) => { ctx.contentRef.value = el as HTMLElement },\n }, slots.default?.())\n },\n})\n\n// 标题与描述的文字取自步骤声明,有插槽则用插槽\nexport const XhTourTitle = defineComponent({\n name: 'XhTourTitle',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h(\n 'h2',\n ctx.api.value.getTitleProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.currentStep?.title,\n )\n },\n})\n\nexport const XhTourDescription = defineComponent({\n name: 'XhTourDescription',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h(\n 'p',\n ctx.api.value.getDescriptionProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.currentStep?.description,\n )\n },\n})\n\nexport const XhTourProgressText = defineComponent({\n name: 'XhTourProgressText',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h(\n 'span',\n ctx.api.value.getProgressTextProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.progressText,\n )\n },\n})\n\n/** 圆点组:未提供默认插槽时按步数铺设圆点,作者提供后按作者的内容。 */\nexport const XhTourProgressIndicator = defineComponent({\n name: 'XhTourProgressIndicator',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => {\n const api = ctx.api.value\n const dots = Array.from({ length: api.count }, (_, index) =>\n h('div', api.getProgressDotProps({ index }) as Record<string, unknown>))\n return h(\n 'div',\n api.getProgressIndicatorProps() as Record<string, unknown>,\n slots.default?.() ?? dots,\n )\n }\n },\n})\n\nexport const XhTourProgressDot = defineComponent({\n name: 'XhTourProgressDot',\n props: {\n // 圆点对应的步序,0 基;兼收字符串\n index: { type: [Number, String] as PropType<number | string>, required: true },\n },\n setup(props) {\n const ctx = useTourContext()\n return () => h('div', ctx.api.value.getProgressDotProps({ index: Number(props.index) }) as Record<string, unknown>)\n },\n})\n\nexport const XhTourPrevTrigger = defineComponent({\n name: 'XhTourPrevTrigger',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('button', ctx.api.value.getPrevTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTourNextTrigger = defineComponent({\n name: 'XhTourNextTrigger',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('button', ctx.api.value.getNextTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTourSkipTrigger = defineComponent({\n name: 'XhTourSkipTrigger',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('button', ctx.api.value.getSkipTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTourCloseTrigger = defineComponent({\n name: 'XhTourCloseTrigger',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('button', ctx.api.value.getCloseTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTourArrow = defineComponent({\n name: 'XhTourArrow',\n setup() {\n const ctx = useTourContext()\n return () => h('div', ctx.api.value.getArrowProps() as Record<string, unknown>)\n },\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tour.js","names":[],"sources":["../../../src/components/tour/tour.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 tour 相关实现。\n\nimport type { Direction, Placement } from '@xihan-ui/core'\nimport type { TourApi, TourSchema, TourStep } from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h, mergeProps } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { XhPortal } from '../../runtime/portal'\nimport { provideTour, useTourContext } from './context'\nimport { useTour } from './use-tour'\n\ntype TourProps = TourSchema['props']\n\n/** 默认插槽的载荷:引导的开合与步序状态,以及开关、切换步骤、放弃与校准位置的动作。 */\nexport type TourRootSlotProps = Pick<\n TourApi,\n | 'open'\n | 'value'\n | 'count'\n | 'currentStep'\n | 'firstStep'\n | 'lastStep'\n | 'progressText'\n | 'setOpen'\n | 'setValue'\n | 'goToNextStep'\n | 'goToPrevStep'\n | 'skip'\n | 'remeasure'\n>\n\nexport const XhTourRoot = defineComponent({\n name: 'XhTourRoot',\n // 全部 default: undefined —— 缺省值的唯一事实源在 machine 与 connect\n props: {\n steps: { type: Array as PropType<TourStep[]> },\n value: { type: Number },\n defaultValue: { type: Number },\n open: { type: Boolean, default: undefined },\n defaultOpen: { type: Boolean, default: undefined },\n placement: { type: String as PropType<Placement> },\n offset: { type: Number },\n /** 文字方向;浮层迁移到落点后无法继承作者子树上的方向,需要 RTL 时显式提供。 */\n dir: { type: String as PropType<Direction> },\n closeOnEscape: { type: Boolean, default: undefined },\n closeOnInteractOutside: { type: Boolean, default: undefined },\n showBackdrop: { type: Boolean, default: undefined },\n spotlightPadding: { type: Number },\n autoScroll: { type: Boolean, default: undefined },\n /** 目标缺席时等它出现的时长(ms),默认 3000;0 即不等。 */\n targetTimeout: { type: Number },\n translations: { type: Object as PropType<TourProps['translations']> },\n /** 本实例三张 Tour 浮层的 Portal 容器;优先于应用级配置。 */\n container: { type: Object as PropType<Element> },\n },\n // open-change / value-change 携带对象;update:* 携带裸值,支持 v-model:open 与 v-model:value\n emits: {\n 'open-change': (_details: PayloadOf<TourProps, 'onOpenChange'>) => true,\n 'update:open': (_open: PayloadOf<TourProps, 'onOpenChange'>['open']) => true,\n 'value-change': (_details: PayloadOf<TourProps, 'onValueChange'>) => true,\n 'update:value': (_value: PayloadOf<TourProps, 'onValueChange'>['value']) => true,\n 'complete': (_details: PayloadOf<TourProps, 'onComplete'>) => true,\n 'skip': (_details: PayloadOf<TourProps, 'onSkip'>) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TourRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const ctx = useTour(withXhConfig('tour', props) as TourProps, {\n onOpenChange: (details) => {\n emit('open-change', details)\n emit('update:open', details.open)\n },\n onValueChange: (details) => {\n emit('value-change', details)\n emit('update:value', details.value)\n },\n onComplete: details => emit('complete', details),\n onSkip: details => emit('skip', details),\n }, () => props.container)\n provideTour(ctx)\n // 经插槽暴露状态与走步、放弃等命令,供浮层外的按钮使用\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n open: ctx.api.value.open,\n value: ctx.api.value.value,\n count: ctx.api.value.count,\n currentStep: ctx.api.value.currentStep,\n firstStep: ctx.api.value.firstStep,\n lastStep: ctx.api.value.lastStep,\n progressText: ctx.api.value.progressText,\n setOpen: ctx.api.value.setOpen,\n setValue: ctx.api.value.setValue,\n goToNextStep: ctx.api.value.goToNextStep,\n goToPrevStep: ctx.api.value.goToPrevStep,\n skip: ctx.api.value.skip,\n remeasure: ctx.api.value.remeasure,\n }))\n },\n})\n\nexport const XhTourBackdrop = defineComponent({\n name: 'XhTourBackdrop',\n // 根是 Teleport,Vue 不会把直通属性合上去,作者写的 class 与 style 得自己接住落到遮罩上\n inheritAttrs: false,\n setup(_, { slots, attrs }) {\n const ctx = useTourContext()\n // 与浮层同去一个落点:遮罩留在原地就会被面板甩下,两层不再叠在一起\n return () => h(XhPortal, { to: ctx.portalTarget.value }, () => [\n h('div', {\n ...mergeProps(ctx.api.value.getBackdropProps() as Record<string, unknown>, attrs),\n // 收起跟着退场闸门走:遮罩的淡出与气泡的退场并行播\n hidden: (!ctx.visible.value || !ctx.showBackdrop()) || undefined,\n ref: (el: unknown) => { ctx.backdropRef.value = el as HTMLElement },\n }, slots.default?.()),\n ])\n },\n})\n\nexport const XhTourSpotlight = defineComponent({\n name: 'XhTourSpotlight',\n // 根是 Teleport,Vue 不会把直通属性合上去,作者写的 class 与 style 得自己接住落到高亮框上\n inheritAttrs: false,\n setup(_, { attrs }) {\n const ctx = useTourContext()\n // 高亮框与遮罩是同一层暗幕的两半,必须一起搬\n return () => h(XhPortal, { to: ctx.portalTarget.value }, () => [\n h('div', {\n ...mergeProps(ctx.api.value.getSpotlightProps() as Record<string, unknown>, attrs),\n // 收起跟着退场闸门走:高亮框的退场与气泡并行播;居中步照常不画\n hidden: (!ctx.visible.value || !ctx.api.value.anchored) || undefined,\n ref: (el: unknown) => { ctx.spotlightRef.value = el as HTMLElement },\n }),\n ])\n },\n})\n\nexport const XhTourPositioner = defineComponent({\n name: 'XhTourPositioner',\n // 根是 Teleport,Vue 不会把直通属性合上去,作者写的 class 与 style 得自己接住落到 positioner 上\n inheritAttrs: false,\n setup(_, { slots, attrs }) {\n const ctx = useTourContext()\n // 搬到 portal 落点:留在原地的话,宿主祖先只要建了层叠上下文就能盖住浮层\n return () => h(XhPortal, { to: ctx.portalTarget.value }, () => [\n h('div', {\n ...mergeProps(ctx.api.value.getPositionerProps() as Record<string, unknown>, attrs),\n // 定位层收起跟着退场闸门走:它先 display:none 的话,里面气泡的退场一帧都播不出来\n hidden: !ctx.visible.value || undefined,\n ref: (el: unknown) => { ctx.positionerRef.value = el as HTMLElement },\n }, slots.default?.()),\n ])\n },\n})\n\nexport const XhTourContent = defineComponent({\n name: 'XhTourContent',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('div', {\n ...ctx.api.value.getContentProps() as Record<string, unknown>,\n // 收起跟着退场闸门走:皮肤刻意没给 content 补 [hidden]{display:none}(补了退场\n // 就一帧都播不出来),所以真正的收起落成内联 display——节点始终留在原地\n style: ctx.visible.value ? undefined : { display: 'none' },\n ref: (el: unknown) => { ctx.contentRef.value = el as HTMLElement },\n }, slots.default?.())\n },\n})\n\n// 标题与描述的文字取自步骤声明,有插槽则用插槽\nexport const XhTourTitle = defineComponent({\n name: 'XhTourTitle',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h(\n 'h2',\n ctx.api.value.getTitleProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.currentStep?.title,\n )\n },\n})\n\nexport const XhTourDescription = defineComponent({\n name: 'XhTourDescription',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h(\n 'p',\n ctx.api.value.getDescriptionProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.currentStep?.description,\n )\n },\n})\n\nexport const XhTourProgressText = defineComponent({\n name: 'XhTourProgressText',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h(\n 'span',\n ctx.api.value.getProgressTextProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.progressText,\n )\n },\n})\n\n/** 圆点组:未提供默认插槽时按步数铺设圆点,作者提供后按作者的内容。 */\nexport const XhTourProgressIndicator = defineComponent({\n name: 'XhTourProgressIndicator',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => {\n const api = ctx.api.value\n const dots = Array.from({ length: api.count }, (_, index) =>\n h('div', api.getProgressDotProps({ index }) as Record<string, unknown>))\n return h(\n 'div',\n api.getProgressIndicatorProps() as Record<string, unknown>,\n slots.default?.() ?? dots,\n )\n }\n },\n})\n\nexport const XhTourProgressDot = defineComponent({\n name: 'XhTourProgressDot',\n props: {\n // 圆点对应的步序,0 基;兼收字符串\n index: { type: [Number, String] as PropType<number | string>, required: true },\n },\n setup(props) {\n const ctx = useTourContext()\n return () => h('div', ctx.api.value.getProgressDotProps({ index: Number(props.index) }) as Record<string, unknown>)\n },\n})\n\nexport const XhTourPrevTrigger = defineComponent({\n name: 'XhTourPrevTrigger',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('button', ctx.api.value.getPrevTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTourNextTrigger = defineComponent({\n name: 'XhTourNextTrigger',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('button', ctx.api.value.getNextTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTourSkipTrigger = defineComponent({\n name: 'XhTourSkipTrigger',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('button', ctx.api.value.getSkipTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTourCloseTrigger = defineComponent({\n name: 'XhTourCloseTrigger',\n setup(_, { slots }) {\n const ctx = useTourContext()\n return () => h('button', ctx.api.value.getCloseTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTourArrow = defineComponent({\n name: 'XhTourArrow',\n setup() {\n const ctx = useTourContext()\n return () => h('div', ctx.api.value.getArrowProps() as Record<string, unknown>)\n },\n})\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PayloadOf } from "../../runtime/payload.js";
|
|
2
2
|
import { PropType, SlotsType, VNode } from "vue";
|
|
3
3
|
import { Direction, Size, Tone } from "@xihan-ui/core";
|
|
4
|
-
import { TransferCheckState, TransferFilter, TransferItem, TransferSchema, TransferSide } from "@xihan-ui/headless";
|
|
4
|
+
import { CollectionVirtualizer, TransferCheckState, TransferFilter, TransferItem, TransferSchema, TransferSide } from "@xihan-ui/headless";
|
|
5
5
|
//#region src/components/transfer/transfer.d.ts
|
|
6
6
|
type TransferProps = TransferSchema['props'];
|
|
7
7
|
/** 默认插槽的载荷:目标侧的值与两侧的勾选、两侧当前可见的条目,以及勾选、写值与移动的动作。 */
|
|
@@ -25,6 +25,14 @@ interface TransferPanelSlotProps {
|
|
|
25
25
|
items: readonly TransferItem[];
|
|
26
26
|
checkState: TransferCheckState;
|
|
27
27
|
query: string;
|
|
28
|
+
/** 这一侧分侧 + 搜索之后共有几条(不分页)。 */
|
|
29
|
+
total: number;
|
|
30
|
+
/** 当前页码(从 1 起);不分页时恒为 1。 */
|
|
31
|
+
page: number;
|
|
32
|
+
/** 共有几页(至少 1 页)。 */
|
|
33
|
+
pageCount: number;
|
|
34
|
+
/** 翻到这一侧的第 page 页。 */
|
|
35
|
+
setPage: (page: number) => void;
|
|
28
36
|
}
|
|
29
37
|
/** 源/目标两个面板部件共用的插槽集合。 */
|
|
30
38
|
interface TransferPanelSlots {
|
|
@@ -34,6 +42,9 @@ declare const XhTransferRoot: import("vue").DefineComponent<import("vue").Extrac
|
|
|
34
42
|
collection: {
|
|
35
43
|
type: PropType<TransferItem[]>;
|
|
36
44
|
};
|
|
45
|
+
virtualizers: {
|
|
46
|
+
type: PropType<Partial<Record<TransferSide, CollectionVirtualizer>>>;
|
|
47
|
+
};
|
|
37
48
|
value: {
|
|
38
49
|
type: PropType<string[]>;
|
|
39
50
|
};
|
|
@@ -56,6 +67,9 @@ declare const XhTransferRoot: import("vue").DefineComponent<import("vue").Extrac
|
|
|
56
67
|
filter: {
|
|
57
68
|
type: PropType<TransferFilter>;
|
|
58
69
|
};
|
|
70
|
+
pageSize: {
|
|
71
|
+
type: NumberConstructor;
|
|
72
|
+
};
|
|
59
73
|
disabled: {
|
|
60
74
|
type: BooleanConstructor;
|
|
61
75
|
default: undefined;
|
|
@@ -97,6 +111,9 @@ declare const XhTransferRoot: import("vue").DefineComponent<import("vue").Extrac
|
|
|
97
111
|
collection: {
|
|
98
112
|
type: PropType<TransferItem[]>;
|
|
99
113
|
};
|
|
114
|
+
virtualizers: {
|
|
115
|
+
type: PropType<Partial<Record<TransferSide, CollectionVirtualizer>>>;
|
|
116
|
+
};
|
|
100
117
|
value: {
|
|
101
118
|
type: PropType<string[]>;
|
|
102
119
|
};
|
|
@@ -119,6 +136,9 @@ declare const XhTransferRoot: import("vue").DefineComponent<import("vue").Extrac
|
|
|
119
136
|
filter: {
|
|
120
137
|
type: PropType<TransferFilter>;
|
|
121
138
|
};
|
|
139
|
+
pageSize: {
|
|
140
|
+
type: NumberConstructor;
|
|
141
|
+
};
|
|
122
142
|
disabled: {
|
|
123
143
|
type: BooleanConstructor;
|
|
124
144
|
default: undefined;
|
|
@@ -223,6 +243,14 @@ declare const XhTransferItem: import("vue").DefineComponent<import("vue").Extrac
|
|
|
223
243
|
declare const XhTransferItemText: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
224
244
|
[key: string]: any;
|
|
225
245
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
246
|
+
/** 条目的第 2 行副文本,跨文字槽、走 muted 档 */
|
|
247
|
+
declare const XhTransferItemDescription: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
248
|
+
[key: string]: any;
|
|
249
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
250
|
+
/** 条目行尾的作者内容(计数、徽标) */
|
|
251
|
+
declare const XhTransferItemSuffix: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
252
|
+
[key: string]: any;
|
|
253
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
226
254
|
declare const XhTransferItemCheckbox: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
227
255
|
[key: string]: any;
|
|
228
256
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -233,5 +261,5 @@ declare const XhTransferToSourceTrigger: import("vue").DefineComponent<{}, () =>
|
|
|
233
261
|
[key: string]: any;
|
|
234
262
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
235
263
|
//#endregion
|
|
236
|
-
export { TransferPanelSlotProps, TransferRootSlotProps, XhTransferEmpty, XhTransferGroup, XhTransferGroupLabel, XhTransferItem, XhTransferItemCheckbox, XhTransferItemText, XhTransferList, XhTransferLoading, XhTransferPanelCount, XhTransferPanelHeader, XhTransferPanelTitle, XhTransferRoot, XhTransferSearch, XhTransferSelectAllTrigger, XhTransferSourcePanel, XhTransferTargetPanel, XhTransferToSourceTrigger, XhTransferToTargetTrigger };
|
|
264
|
+
export { TransferPanelSlotProps, TransferRootSlotProps, XhTransferEmpty, XhTransferGroup, XhTransferGroupLabel, XhTransferItem, XhTransferItemCheckbox, XhTransferItemDescription, XhTransferItemSuffix, XhTransferItemText, XhTransferList, XhTransferLoading, XhTransferPanelCount, XhTransferPanelHeader, XhTransferPanelTitle, XhTransferRoot, XhTransferSearch, XhTransferSelectAllTrigger, XhTransferSourcePanel, XhTransferTargetPanel, XhTransferToSourceTrigger, XhTransferToTargetTrigger };
|
|
237
265
|
//# sourceMappingURL=transfer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","names":[],"sources":["../../../src/components/transfer/transfer.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","names":[],"sources":["../../../src/components/transfer/transfer.ts"],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ const XhTransferRoot = defineComponent({
|
|
|
9
9
|
name: "XhTransferRoot",
|
|
10
10
|
props: {
|
|
11
11
|
collection: { type: Array },
|
|
12
|
+
virtualizers: { type: Object },
|
|
12
13
|
value: { type: Array },
|
|
13
14
|
defaultValue: { type: Array },
|
|
14
15
|
name: { type: String },
|
|
@@ -17,6 +18,7 @@ const XhTransferRoot = defineComponent({
|
|
|
17
18
|
defaultSelection: { type: Array },
|
|
18
19
|
searchable: Boolean,
|
|
19
20
|
filter: { type: Function },
|
|
21
|
+
pageSize: { type: Number },
|
|
20
22
|
disabled: {
|
|
21
23
|
type: Boolean,
|
|
22
24
|
default: void 0
|
|
@@ -90,7 +92,11 @@ function panelSetup(side) {
|
|
|
90
92
|
side,
|
|
91
93
|
items: ctx.api.value.visibleItems(side),
|
|
92
94
|
checkState: ctx.api.value.checkState(side),
|
|
93
|
-
query: ctx.api.value.query(side)
|
|
95
|
+
query: ctx.api.value.query(side),
|
|
96
|
+
total: ctx.api.value.filteredItems(side).length,
|
|
97
|
+
page: ctx.api.value.page(side),
|
|
98
|
+
pageCount: ctx.api.value.pageCount(side),
|
|
99
|
+
setPage: (page) => ctx.api.value.setPage(side, page)
|
|
94
100
|
}));
|
|
95
101
|
};
|
|
96
102
|
}
|
|
@@ -144,7 +150,7 @@ const XhTransferList = defineComponent({
|
|
|
144
150
|
const { panel } = useTransferPanelContext();
|
|
145
151
|
const listRef = ref(null);
|
|
146
152
|
const bars = useScrollbars({
|
|
147
|
-
scrollable: () => listRef.value,
|
|
153
|
+
scrollable: () => ctx.service.prop("virtualizers")?.[panel.value.side]?.getViewportElement() ?? listRef.value,
|
|
148
154
|
axes: ["vertical", "horizontal"],
|
|
149
155
|
anchor: "layer",
|
|
150
156
|
props: () => ({ dir: ctx.service.prop("dir") })
|
|
@@ -226,6 +232,8 @@ const XhTransferItem = defineComponent({
|
|
|
226
232
|
if (next === prev) return;
|
|
227
233
|
const { service } = ctx;
|
|
228
234
|
if (service.getStatus() !== "Started") return;
|
|
235
|
+
const side = panel.value.side;
|
|
236
|
+
if (service.prop("virtualizers")?.[side] && ctx.api.value.visibleItems(side).some((item) => item.value === props.value)) return;
|
|
229
237
|
if (itemEl.value && service.scope.getActiveElement() === itemEl.value) service.send({
|
|
230
238
|
type: "ITEM.FOCUS",
|
|
231
239
|
side: panel.value.side,
|
|
@@ -254,6 +262,24 @@ const XhTransferItemText = defineComponent({
|
|
|
254
262
|
return () => h("span", ctx.api.value.getItemTextProps(item.value), slots.default?.());
|
|
255
263
|
}
|
|
256
264
|
});
|
|
265
|
+
/** 条目的第 2 行副文本,跨文字槽、走 muted 档 */
|
|
266
|
+
const XhTransferItemDescription = defineComponent({
|
|
267
|
+
name: "XhTransferItemDescription",
|
|
268
|
+
setup(_, { slots }) {
|
|
269
|
+
const ctx = useTransferContext();
|
|
270
|
+
const { item } = useTransferItemContext();
|
|
271
|
+
return () => h("span", ctx.api.value.getItemDescriptionProps(item.value), slots.default?.());
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
/** 条目行尾的作者内容(计数、徽标) */
|
|
275
|
+
const XhTransferItemSuffix = defineComponent({
|
|
276
|
+
name: "XhTransferItemSuffix",
|
|
277
|
+
setup(_, { slots }) {
|
|
278
|
+
const ctx = useTransferContext();
|
|
279
|
+
const { item } = useTransferItemContext();
|
|
280
|
+
return () => h("span", ctx.api.value.getItemSuffixProps(item.value), slots.default?.());
|
|
281
|
+
}
|
|
282
|
+
});
|
|
257
283
|
const XhTransferItemCheckbox = defineComponent({
|
|
258
284
|
name: "XhTransferItemCheckbox",
|
|
259
285
|
setup(_, { slots }) {
|
|
@@ -277,6 +303,6 @@ const XhTransferToSourceTrigger = defineComponent({
|
|
|
277
303
|
}
|
|
278
304
|
});
|
|
279
305
|
//#endregion
|
|
280
|
-
export { XhTransferEmpty, XhTransferGroup, XhTransferGroupLabel, XhTransferItem, XhTransferItemCheckbox, XhTransferItemText, XhTransferList, XhTransferLoading, XhTransferPanelCount, XhTransferPanelHeader, XhTransferPanelTitle, XhTransferRoot, XhTransferSearch, XhTransferSelectAllTrigger, XhTransferSourcePanel, XhTransferTargetPanel, XhTransferToSourceTrigger, XhTransferToTargetTrigger };
|
|
306
|
+
export { XhTransferEmpty, XhTransferGroup, XhTransferGroupLabel, XhTransferItem, XhTransferItemCheckbox, XhTransferItemDescription, XhTransferItemSuffix, XhTransferItemText, XhTransferList, XhTransferLoading, XhTransferPanelCount, XhTransferPanelHeader, XhTransferPanelTitle, XhTransferRoot, XhTransferSearch, XhTransferSelectAllTrigger, XhTransferSourcePanel, XhTransferTargetPanel, XhTransferToSourceTrigger, XhTransferToTargetTrigger };
|
|
281
307
|
|
|
282
308
|
//# sourceMappingURL=transfer.js.map
|