@xihan-ui/vue 1.0.0-alpha.2 → 1.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 +2615 -0
- package/README.md +1 -1
- package/dist/backgrounds.d.ts.map +1 -1
- package/dist/backgrounds.js +1 -5
- package/dist/backgrounds.js.map +1 -1
- package/dist/behavior.d.ts +38 -0
- package/dist/behavior.d.ts.map +1 -0
- package/dist/behavior.js +74 -0
- package/dist/behavior.js.map +1 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -1
- package/dist/components/accordion/accordion.js +15 -2
- package/dist/components/accordion/accordion.js.map +1 -1
- package/dist/components/accordion/context.js +2 -2
- package/dist/components/accordion/context.js.map +1 -1
- package/dist/components/accordion/use-accordion.d.ts +3 -0
- package/dist/components/accordion/use-accordion.d.ts.map +1 -1
- package/dist/components/accordion/use-accordion.js +14 -3
- package/dist/components/accordion/use-accordion.js.map +1 -1
- package/dist/components/affix/context.js +1 -1
- package/dist/components/affix/context.js.map +1 -1
- package/dist/components/alert/context.js +1 -1
- package/dist/components/alert/context.js.map +1 -1
- package/dist/components/anchor/anchor.d.ts +1 -1
- package/dist/components/anchor/context.js +1 -1
- package/dist/components/anchor/context.js.map +1 -1
- package/dist/components/avatar/context.js +1 -1
- package/dist/components/avatar/context.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/avatar-group/context.js +1 -1
- package/dist/components/avatar-group/context.js.map +1 -1
- package/dist/components/back-top/back-top.d.ts +1 -1
- package/dist/components/back-top/context.js +1 -1
- package/dist/components/back-top/context.js.map +1 -1
- package/dist/components/badge/badge.d.ts +159 -11
- package/dist/components/badge/badge.d.ts.map +1 -1
- package/dist/components/badge/badge.js +68 -8
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/badge/context.js +15 -0
- package/dist/components/badge/context.js.map +1 -0
- package/dist/components/breadcrumb/context.js +1 -1
- package/dist/components/breadcrumb/context.js.map +1 -1
- package/dist/components/button-group/button-group.d.ts.map +1 -1
- package/dist/components/button-group/button-group.js +2 -1
- package/dist/components/button-group/button-group.js.map +1 -1
- package/dist/components/button.d.ts +13 -6
- package/dist/components/button.d.ts.map +1 -1
- package/dist/components/button.js +11 -2
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar/calendar.d.ts +167 -7
- package/dist/components/calendar/calendar.d.ts.map +1 -1
- package/dist/components/calendar/calendar.js +125 -16
- package/dist/components/calendar/calendar.js.map +1 -1
- package/dist/components/calendar/context.js +2 -2
- package/dist/components/calendar/context.js.map +1 -1
- package/dist/components/calendar/use-calendar.d.ts +1 -1
- package/dist/components/calendar/use-calendar.d.ts.map +1 -1
- package/dist/components/calendar/use-calendar.js +3 -2
- package/dist/components/calendar/use-calendar.js.map +1 -1
- package/dist/components/card/card.d.ts +1 -1
- package/dist/components/card/card.d.ts.map +1 -1
- package/dist/components/card/card.js +2 -1
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/card/context.js +1 -1
- package/dist/components/card/context.js.map +1 -1
- package/dist/components/carousel/context.js +1 -1
- package/dist/components/carousel/context.js.map +1 -1
- package/dist/components/cascader/cascader.d.ts +7 -4
- package/dist/components/cascader/cascader.d.ts.map +1 -1
- package/dist/components/cascader/cascader.js +28 -9
- package/dist/components/cascader/cascader.js.map +1 -1
- package/dist/components/cascader/context.js +2 -2
- package/dist/components/cascader/context.js.map +1 -1
- package/dist/components/cascader/use-cascader.d.ts +4 -0
- package/dist/components/cascader/use-cascader.d.ts.map +1 -1
- package/dist/components/cascader/use-cascader.js +15 -4
- package/dist/components/cascader/use-cascader.js.map +1 -1
- package/dist/components/checkbox/checkbox.d.ts +17 -3
- package/dist/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.js +12 -2
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/checkbox-group/context.js +2 -2
- package/dist/components/checkbox-group/context.js.map +1 -1
- package/dist/components/clipboard/context.js +1 -1
- package/dist/components/clipboard/context.js.map +1 -1
- package/dist/components/code-block/code-block.d.ts +3 -0
- package/dist/components/code-block/code-block.d.ts.map +1 -1
- package/dist/components/code-block/code-block.js +2 -0
- package/dist/components/code-block/code-block.js.map +1 -1
- package/dist/components/collapsible/collapsible.d.ts +10 -2
- package/dist/components/collapsible/collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/collapsible.js +21 -3
- package/dist/components/collapsible/collapsible.js.map +1 -1
- package/dist/components/collapsible/context.js +1 -1
- package/dist/components/collapsible/context.js.map +1 -1
- package/dist/components/collapsible/use-collapsible.d.ts +4 -1
- package/dist/components/collapsible/use-collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/use-collapsible.js +22 -4
- package/dist/components/collapsible/use-collapsible.js.map +1 -1
- package/dist/components/color-picker/color-picker.d.ts +16 -4
- package/dist/components/color-picker/color-picker.d.ts.map +1 -1
- package/dist/components/color-picker/color-picker.js +21 -6
- package/dist/components/color-picker/color-picker.js.map +1 -1
- package/dist/components/color-picker/context.js +2 -2
- package/dist/components/color-picker/context.js.map +1 -1
- package/dist/components/color-picker/use-color-picker.d.ts +4 -0
- package/dist/components/color-picker/use-color-picker.d.ts.map +1 -1
- package/dist/components/color-picker/use-color-picker.js +14 -3
- package/dist/components/color-picker/use-color-picker.js.map +1 -1
- package/dist/components/combobox/combobox.d.ts +15 -1
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/combobox.js +26 -12
- package/dist/components/combobox/combobox.js.map +1 -1
- package/dist/components/combobox/context.js +3 -3
- package/dist/components/combobox/context.js.map +1 -1
- package/dist/components/combobox/use-combobox.d.ts +4 -0
- package/dist/components/combobox/use-combobox.d.ts.map +1 -1
- package/dist/components/combobox/use-combobox.js +15 -4
- package/dist/components/combobox/use-combobox.js.map +1 -1
- package/dist/components/composer/context.js +1 -1
- package/dist/components/composer/context.js.map +1 -1
- package/dist/components/context-menu/context-menu.d.ts +45 -4
- package/dist/components/context-menu/context-menu.d.ts.map +1 -1
- package/dist/components/context-menu/context-menu.js +63 -17
- package/dist/components/context-menu/context-menu.js.map +1 -1
- package/dist/components/context-menu/context.js +5 -5
- package/dist/components/context-menu/context.js.map +1 -1
- package/dist/components/context-menu/use-context-menu.d.ts +4 -0
- package/dist/components/context-menu/use-context-menu.d.ts.map +1 -1
- package/dist/components/context-menu/use-context-menu.js +15 -4
- package/dist/components/context-menu/use-context-menu.js.map +1 -1
- package/dist/components/date-field/context.js +1 -1
- package/dist/components/date-field/context.js.map +1 -1
- package/dist/components/date-field/date-field.d.ts +38 -10
- package/dist/components/date-field/date-field.d.ts.map +1 -1
- package/dist/components/date-field/date-field.js +35 -9
- package/dist/components/date-field/date-field.js.map +1 -1
- package/dist/components/date-picker/context.js +17 -8
- package/dist/components/date-picker/context.js.map +1 -1
- package/dist/components/date-picker/date-picker.d.ts +291 -16
- package/dist/components/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/date-picker/date-picker.js +248 -36
- package/dist/components/date-picker/date-picker.js.map +1 -1
- package/dist/components/date-picker/use-date-picker.d.ts +5 -1
- package/dist/components/date-picker/use-date-picker.d.ts.map +1 -1
- package/dist/components/date-picker/use-date-picker.js +15 -4
- package/dist/components/date-picker/use-date-picker.js.map +1 -1
- package/dist/components/descriptions/context.js +1 -1
- package/dist/components/descriptions/context.js.map +1 -1
- package/dist/components/descriptions/descriptions.d.ts.map +1 -1
- package/dist/components/descriptions/descriptions.js +6 -4
- package/dist/components/descriptions/descriptions.js.map +1 -1
- package/dist/components/dialog/context.js +1 -1
- package/dist/components/dialog/context.js.map +1 -1
- package/dist/components/dialog/dialog.d.ts +20 -3
- package/dist/components/dialog/dialog.d.ts.map +1 -1
- package/dist/components/dialog/dialog.js +23 -6
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/dialog/use-dialog.d.ts +2 -0
- package/dist/components/dialog/use-dialog.d.ts.map +1 -1
- package/dist/components/dialog/use-dialog.js +9 -4
- package/dist/components/dialog/use-dialog.js.map +1 -1
- package/dist/components/download-trigger/download-trigger.d.ts +66 -0
- package/dist/components/download-trigger/download-trigger.d.ts.map +1 -0
- package/dist/components/download-trigger/download-trigger.js +56 -0
- package/dist/components/download-trigger/download-trigger.js.map +1 -0
- package/dist/components/download-trigger/use-download-trigger.d.ts +10 -0
- package/dist/components/download-trigger/use-download-trigger.d.ts.map +1 -0
- package/dist/components/download-trigger/use-download-trigger.js +16 -0
- package/dist/components/download-trigger/use-download-trigger.js.map +1 -0
- package/dist/components/drawer/context.js +1 -1
- package/dist/components/drawer/context.js.map +1 -1
- package/dist/components/drawer/drawer.d.ts +52 -4
- package/dist/components/drawer/drawer.d.ts.map +1 -1
- package/dist/components/drawer/drawer.js +39 -7
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/drawer/use-drawer.d.ts +3 -1
- package/dist/components/drawer/use-drawer.d.ts.map +1 -1
- package/dist/components/drawer/use-drawer.js +11 -5
- package/dist/components/drawer/use-drawer.js.map +1 -1
- package/dist/components/dynamic-input/context.js +2 -2
- package/dist/components/dynamic-input/context.js.map +1 -1
- package/dist/components/dynamic-input/dynamic-input.d.ts +2 -2
- package/dist/components/dynamic-input/dynamic-input.d.ts.map +1 -1
- package/dist/components/dynamic-input/dynamic-input.js +4 -4
- package/dist/components/dynamic-input/dynamic-input.js.map +1 -1
- package/dist/components/editable/context.js +1 -1
- package/dist/components/editable/context.js.map +1 -1
- package/dist/components/ellipsis/ellipsis.d.ts +1 -1
- package/dist/components/empty-state/context.js +1 -1
- package/dist/components/empty-state/context.js.map +1 -1
- package/dist/components/empty-state/empty-state.d.ts.map +1 -1
- package/dist/components/empty-state/empty-state.js +2 -1
- package/dist/components/empty-state/empty-state.js.map +1 -1
- package/dist/components/field/context.d.ts +9 -0
- package/dist/components/field/context.d.ts.map +1 -0
- package/dist/components/field/context.js +6 -2
- package/dist/components/field/context.js.map +1 -1
- package/dist/components/field/field.d.ts +35 -2
- package/dist/components/field/field.d.ts.map +1 -1
- package/dist/components/field/field.js +31 -4
- package/dist/components/field/field.js.map +1 -1
- package/dist/components/field/use-field-control.d.ts +41 -0
- package/dist/components/field/use-field-control.d.ts.map +1 -0
- package/dist/components/field/use-field-control.js +77 -0
- package/dist/components/field/use-field-control.js.map +1 -0
- package/dist/components/fieldset/context.d.ts +6 -0
- package/dist/components/fieldset/context.d.ts.map +1 -0
- package/dist/components/fieldset/context.js +15 -0
- package/dist/components/fieldset/context.js.map +1 -0
- package/dist/components/fieldset/fieldset.d.ts +57 -0
- package/dist/components/fieldset/fieldset.d.ts.map +1 -0
- package/dist/components/fieldset/fieldset.js +56 -0
- package/dist/components/fieldset/fieldset.js.map +1 -0
- package/dist/components/fieldset/use-fieldset.d.ts +10 -0
- package/dist/components/fieldset/use-fieldset.d.ts.map +1 -0
- package/dist/components/fieldset/use-fieldset.js +14 -0
- package/dist/components/fieldset/use-fieldset.js.map +1 -0
- package/dist/components/file-upload/context.js +2 -2
- package/dist/components/file-upload/context.js.map +1 -1
- package/dist/components/file-upload/file-upload.d.ts +11 -3
- package/dist/components/file-upload/file-upload.d.ts.map +1 -1
- package/dist/components/file-upload/file-upload.js +15 -3
- package/dist/components/file-upload/file-upload.js.map +1 -1
- package/dist/components/flex/flex.d.ts +10 -1
- package/dist/components/flex/flex.d.ts.map +1 -1
- package/dist/components/flex/flex.js +4 -0
- package/dist/components/flex/flex.js.map +1 -1
- package/dist/components/float-button/context.js +1 -1
- package/dist/components/float-button/context.js.map +1 -1
- package/dist/components/float-button/float-button.d.ts +2 -2
- package/dist/components/floating-panel/context.d.ts +6 -0
- package/dist/components/floating-panel/context.d.ts.map +1 -0
- package/dist/components/floating-panel/context.js +15 -0
- package/dist/components/floating-panel/context.js.map +1 -0
- package/dist/components/floating-panel/floating-panel.d.ts +216 -0
- package/dist/components/floating-panel/floating-panel.d.ts.map +1 -0
- package/dist/components/floating-panel/floating-panel.js +202 -0
- package/dist/components/floating-panel/floating-panel.js.map +1 -0
- package/dist/components/floating-panel/use-floating-panel.d.ts +18 -0
- package/dist/components/floating-panel/use-floating-panel.d.ts.map +1 -0
- package/dist/components/floating-panel/use-floating-panel.js +28 -0
- package/dist/components/floating-panel/use-floating-panel.js.map +1 -0
- package/dist/components/form/context.js +2 -2
- package/dist/components/form/context.js.map +1 -1
- package/dist/components/form/form.d.ts +1 -1
- package/dist/components/grid/context.js +1 -1
- package/dist/components/grid/context.js.map +1 -1
- package/dist/components/heatmap/context.d.ts +7 -0
- package/dist/components/heatmap/context.d.ts.map +1 -0
- package/dist/components/heatmap/context.js +32 -0
- package/dist/components/heatmap/context.js.map +1 -0
- package/dist/components/heatmap/heatmap.d.ts +352 -0
- package/dist/components/heatmap/heatmap.d.ts.map +1 -0
- package/dist/components/heatmap/heatmap.js +374 -0
- package/dist/components/heatmap/heatmap.js.map +1 -0
- package/dist/components/heatmap/use-heatmap.d.ts +13 -0
- package/dist/components/heatmap/use-heatmap.d.ts.map +1 -0
- package/dist/components/heatmap/use-heatmap.js +20 -0
- package/dist/components/heatmap/use-heatmap.js.map +1 -0
- package/dist/components/hotkeys/hotkeys.d.ts +89 -0
- package/dist/components/hotkeys/hotkeys.d.ts.map +1 -0
- package/dist/components/hotkeys/hotkeys.js +83 -0
- package/dist/components/hotkeys/hotkeys.js.map +1 -0
- package/dist/components/hotkeys/use-hotkeys.d.ts +31 -0
- package/dist/components/hotkeys/use-hotkeys.d.ts.map +1 -0
- package/dist/components/hotkeys/use-hotkeys.js +60 -0
- package/dist/components/hotkeys/use-hotkeys.js.map +1 -0
- package/dist/components/hover-card/context.js +1 -1
- package/dist/components/hover-card/context.js.map +1 -1
- package/dist/components/hover-card/hover-card.d.ts +11 -3
- package/dist/components/hover-card/hover-card.d.ts.map +1 -1
- package/dist/components/hover-card/hover-card.js +27 -11
- package/dist/components/hover-card/hover-card.js.map +1 -1
- package/dist/components/hover-card/use-hover-card.d.ts +4 -0
- package/dist/components/hover-card/use-hover-card.d.ts.map +1 -1
- package/dist/components/hover-card/use-hover-card.js +15 -4
- package/dist/components/hover-card/use-hover-card.js.map +1 -1
- package/dist/components/icon/icon.d.ts.map +1 -1
- package/dist/components/icon/icon.js +2 -1
- package/dist/components/icon/icon.js.map +1 -1
- package/dist/components/icon-wrapper/icon-wrapper.d.ts.map +1 -1
- package/dist/components/icon-wrapper/icon-wrapper.js +2 -1
- package/dist/components/icon-wrapper/icon-wrapper.js.map +1 -1
- package/dist/components/image/context.js +1 -1
- package/dist/components/image/context.js.map +1 -1
- package/dist/components/image-cropper/context.d.ts +6 -0
- package/dist/components/image-cropper/context.d.ts.map +1 -0
- package/dist/components/image-cropper/context.js +15 -0
- package/dist/components/image-cropper/context.js.map +1 -0
- package/dist/components/image-cropper/image-cropper.d.ts +195 -0
- package/dist/components/image-cropper/image-cropper.d.ts.map +1 -0
- package/dist/components/image-cropper/image-cropper.js +165 -0
- package/dist/components/image-cropper/image-cropper.js.map +1 -0
- package/dist/components/image-cropper/use-image-cropper.d.ts +15 -0
- package/dist/components/image-cropper/use-image-cropper.d.ts.map +1 -0
- package/dist/components/image-cropper/use-image-cropper.js +22 -0
- package/dist/components/image-cropper/use-image-cropper.js.map +1 -0
- package/dist/components/image-viewer/context.js +1 -1
- package/dist/components/image-viewer/context.js.map +1 -1
- package/dist/components/image-viewer/image-viewer.d.ts +13 -5
- package/dist/components/image-viewer/image-viewer.d.ts.map +1 -1
- package/dist/components/image-viewer/image-viewer.js +29 -16
- package/dist/components/image-viewer/image-viewer.js.map +1 -1
- package/dist/components/image-viewer/use-image-viewer.d.ts +2 -0
- package/dist/components/image-viewer/use-image-viewer.d.ts.map +1 -1
- package/dist/components/image-viewer/use-image-viewer.js +9 -4
- package/dist/components/image-viewer/use-image-viewer.js.map +1 -1
- package/dist/components/infinite-scroll/context.js +1 -1
- package/dist/components/infinite-scroll/context.js.map +1 -1
- package/dist/components/json-viewer/json-viewer.d.ts +129 -0
- package/dist/components/json-viewer/json-viewer.d.ts.map +1 -0
- package/dist/components/json-viewer/json-viewer.js +132 -0
- package/dist/components/json-viewer/json-viewer.js.map +1 -0
- package/dist/components/json-viewer/use-json-viewer.d.ts +13 -0
- package/dist/components/json-viewer/use-json-viewer.d.ts.map +1 -0
- package/dist/components/json-viewer/use-json-viewer.js +19 -0
- package/dist/components/json-viewer/use-json-viewer.js.map +1 -0
- package/dist/components/layout/context.js +1 -1
- package/dist/components/layout/context.js.map +1 -1
- package/dist/components/list/context.js +1 -1
- package/dist/components/list/context.js.map +1 -1
- package/dist/components/list/list.d.ts +1 -1
- package/dist/components/list/list.d.ts.map +1 -1
- package/dist/components/list/list.js +6 -4
- package/dist/components/list/list.js.map +1 -1
- package/dist/components/listbox/context.js +3 -3
- package/dist/components/listbox/context.js.map +1 -1
- package/dist/components/loading-bar/context.js +1 -1
- package/dist/components/loading-bar/context.js.map +1 -1
- package/dist/components/log/context.js +1 -1
- package/dist/components/log/context.js.map +1 -1
- package/dist/components/marquee/context.js +1 -1
- package/dist/components/marquee/context.js.map +1 -1
- package/dist/components/masonry/masonry.d.ts +41 -0
- package/dist/components/masonry/masonry.d.ts.map +1 -0
- package/dist/components/masonry/masonry.js +159 -0
- package/dist/components/masonry/masonry.js.map +1 -0
- package/dist/components/mention/context.js +2 -2
- package/dist/components/mention/context.js.map +1 -1
- package/dist/components/mention/mention.d.ts +7 -1
- package/dist/components/mention/mention.d.ts.map +1 -1
- package/dist/components/mention/mention.js +18 -8
- package/dist/components/mention/mention.js.map +1 -1
- package/dist/components/mention/use-mention.d.ts +4 -0
- package/dist/components/mention/use-mention.d.ts.map +1 -1
- package/dist/components/mention/use-mention.js +14 -3
- package/dist/components/mention/use-mention.js.map +1 -1
- package/dist/components/menu/context.d.ts +9 -1
- package/dist/components/menu/context.d.ts.map +1 -1
- package/dist/components/menu/context.js +13 -4
- package/dist/components/menu/context.js.map +1 -1
- package/dist/components/menu/menu.d.ts +72 -4
- package/dist/components/menu/menu.d.ts.map +1 -1
- package/dist/components/menu/menu.js +80 -20
- package/dist/components/menu/menu.js.map +1 -1
- package/dist/components/menu/use-menu.d.ts +4 -0
- package/dist/components/menu/use-menu.d.ts.map +1 -1
- package/dist/components/menu/use-menu.js +15 -4
- package/dist/components/menu/use-menu.js.map +1 -1
- package/dist/components/menubar/context.d.ts +21 -0
- package/dist/components/menubar/context.d.ts.map +1 -0
- package/dist/components/menubar/context.js +23 -5
- package/dist/components/menubar/context.js.map +1 -1
- package/dist/components/menubar/menubar.d.ts +128 -1
- package/dist/components/menubar/menubar.d.ts.map +1 -1
- package/dist/components/menubar/menubar.js +152 -16
- package/dist/components/menubar/menubar.js.map +1 -1
- package/dist/components/menubar/use-menubar.d.ts +2 -0
- package/dist/components/menubar/use-menubar.d.ts.map +1 -1
- package/dist/components/menubar/use-menubar.js +9 -3
- package/dist/components/menubar/use-menubar.js.map +1 -1
- package/dist/components/navigation-menu/context.js +1 -1
- package/dist/components/navigation-menu/context.js.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.js +22 -3
- package/dist/components/navigation-menu/navigation-menu.js.map +1 -1
- package/dist/components/navigation-menu/use-navigation-menu.d.ts +2 -0
- package/dist/components/navigation-menu/use-navigation-menu.d.ts.map +1 -1
- package/dist/components/navigation-menu/use-navigation-menu.js +22 -2
- package/dist/components/navigation-menu/use-navigation-menu.js.map +1 -1
- package/dist/components/notification/context.d.ts +23 -0
- package/dist/components/notification/context.d.ts.map +1 -0
- package/dist/components/notification/context.js +28 -0
- package/dist/components/notification/context.js.map +1 -0
- package/dist/components/notification/notification.d.ts +249 -0
- package/dist/components/notification/notification.d.ts.map +1 -0
- package/dist/components/notification/notification.js +179 -0
- package/dist/components/notification/notification.js.map +1 -0
- package/dist/components/notification/use-notification.d.ts +14 -0
- package/dist/components/notification/use-notification.d.ts.map +1 -0
- package/dist/components/notification/use-notification.js +42 -0
- package/dist/components/notification/use-notification.js.map +1 -0
- package/dist/components/number-animation/number-animation.d.ts +1 -1
- package/dist/components/number-field/context.js +1 -1
- package/dist/components/number-field/context.js.map +1 -1
- package/dist/components/number-field/number-field.d.ts +23 -2
- package/dist/components/number-field/number-field.d.ts.map +1 -1
- package/dist/components/number-field/number-field.js +23 -2
- package/dist/components/number-field/number-field.js.map +1 -1
- package/dist/components/page-header/context.js +1 -1
- package/dist/components/page-header/context.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/context.js +1 -1
- package/dist/components/pagination/context.js.map +1 -1
- package/dist/components/pagination/pagination.d.ts +58 -4
- package/dist/components/pagination/pagination.d.ts.map +1 -1
- package/dist/components/pagination/pagination.js +85 -5
- package/dist/components/pagination/pagination.js.map +1 -1
- package/dist/components/pagination/use-pagination.d.ts +12 -2
- package/dist/components/pagination/use-pagination.d.ts.map +1 -1
- package/dist/components/pagination/use-pagination.js +50 -5
- package/dist/components/pagination/use-pagination.js.map +1 -1
- package/dist/components/password-input/context.d.ts +6 -0
- package/dist/components/password-input/context.d.ts.map +1 -0
- package/dist/components/password-input/context.js +15 -0
- package/dist/components/password-input/context.js.map +1 -0
- package/dist/components/password-input/password-input.d.ts +179 -0
- package/dist/components/password-input/password-input.d.ts.map +1 -0
- package/dist/components/password-input/password-input.js +147 -0
- package/dist/components/password-input/password-input.js.map +1 -0
- package/dist/components/password-input/use-password-input.d.ts +10 -0
- package/dist/components/password-input/use-password-input.d.ts.map +1 -0
- package/dist/components/password-input/use-password-input.js +18 -0
- package/dist/components/password-input/use-password-input.js.map +1 -0
- package/dist/components/pin-input/context.js +1 -1
- package/dist/components/pin-input/context.js.map +1 -1
- package/dist/components/pin-input/pin-input.d.ts +9 -0
- package/dist/components/pin-input/pin-input.d.ts.map +1 -1
- package/dist/components/pin-input/pin-input.js +4 -0
- package/dist/components/pin-input/pin-input.js.map +1 -1
- package/dist/components/popconfirm/context.js +1 -1
- package/dist/components/popconfirm/context.js.map +1 -1
- package/dist/components/popconfirm/popconfirm.d.ts +11 -3
- package/dist/components/popconfirm/popconfirm.d.ts.map +1 -1
- package/dist/components/popconfirm/popconfirm.js +25 -11
- package/dist/components/popconfirm/popconfirm.js.map +1 -1
- package/dist/components/popconfirm/use-popconfirm.d.ts +4 -0
- package/dist/components/popconfirm/use-popconfirm.d.ts.map +1 -1
- package/dist/components/popconfirm/use-popconfirm.js +14 -3
- package/dist/components/popconfirm/use-popconfirm.js.map +1 -1
- package/dist/components/popover/context.js +1 -1
- package/dist/components/popover/context.js.map +1 -1
- package/dist/components/popover/popover.d.ts +12 -4
- package/dist/components/popover/popover.d.ts.map +1 -1
- package/dist/components/popover/popover.js +27 -11
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/popover/use-popover.d.ts +4 -0
- package/dist/components/popover/use-popover.d.ts.map +1 -1
- package/dist/components/popover/use-popover.js +15 -4
- package/dist/components/popover/use-popover.js.map +1 -1
- package/dist/components/popselect/context.js +2 -2
- package/dist/components/popselect/context.js.map +1 -1
- package/dist/components/popselect/popselect.d.ts +30 -5
- package/dist/components/popselect/popselect.d.ts.map +1 -1
- package/dist/components/popselect/popselect.js +51 -13
- package/dist/components/popselect/popselect.js.map +1 -1
- package/dist/components/popselect/use-popselect.d.ts +6 -1
- package/dist/components/popselect/use-popselect.d.ts.map +1 -1
- package/dist/components/popselect/use-popselect.js +24 -12
- package/dist/components/popselect/use-popselect.js.map +1 -1
- package/dist/components/progress/progress.d.ts +5 -2
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/progress/progress.js +4 -1
- package/dist/components/progress/progress.js.map +1 -1
- package/dist/components/qr-code/context.js +1 -1
- package/dist/components/qr-code/context.js.map +1 -1
- package/dist/components/radio-group/context.js +2 -2
- package/dist/components/radio-group/context.js.map +1 -1
- package/dist/components/radio-group/radio-group.d.ts +9 -0
- package/dist/components/radio-group/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group/radio-group.js +3 -0
- package/dist/components/radio-group/radio-group.js.map +1 -1
- package/dist/components/rating/context.js +1 -1
- package/dist/components/rating/context.js.map +1 -1
- package/dist/components/result/context.js +1 -1
- package/dist/components/result/context.js.map +1 -1
- package/dist/components/result/result.d.ts.map +1 -1
- package/dist/components/result/result.js +3 -1
- package/dist/components/result/result.js.map +1 -1
- package/dist/components/scroll-area/context.js +2 -2
- package/dist/components/scroll-area/context.js.map +1 -1
- package/dist/components/scroll-area/scroll-area.d.ts +28 -9
- package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
- package/dist/components/scroll-area/scroll-area.js +24 -4
- package/dist/components/scroll-area/scroll-area.js.map +1 -1
- package/dist/components/scroll-area/use-scroll-area.d.ts +10 -8
- package/dist/components/scroll-area/use-scroll-area.d.ts.map +1 -1
- package/dist/components/scroll-area/use-scroll-area.js +24 -10
- package/dist/components/scroll-area/use-scroll-area.js.map +1 -1
- package/dist/components/scrollbar/context.d.ts +7 -0
- package/dist/components/scrollbar/context.d.ts.map +1 -0
- package/dist/components/scrollbar/context.js +15 -0
- package/dist/components/scrollbar/context.js.map +1 -0
- package/dist/components/scrollbar/scrollbar.d.ts +162 -0
- package/dist/components/scrollbar/scrollbar.d.ts.map +1 -0
- package/dist/components/scrollbar/scrollbar.js +129 -0
- package/dist/components/scrollbar/scrollbar.js.map +1 -0
- package/dist/components/scrollbar/use-scrollbar.d.ts +23 -0
- package/dist/components/scrollbar/use-scrollbar.d.ts.map +1 -0
- package/dist/components/scrollbar/use-scrollbar.js +43 -0
- package/dist/components/scrollbar/use-scrollbar.js.map +1 -0
- package/dist/components/segmented/context.d.ts +13 -0
- package/dist/components/segmented/context.d.ts.map +1 -0
- package/dist/components/segmented/context.js +24 -0
- package/dist/components/segmented/context.js.map +1 -0
- package/dist/components/segmented/segmented.d.ts +185 -0
- package/dist/components/segmented/segmented.d.ts.map +1 -0
- package/dist/components/segmented/segmented.js +165 -0
- package/dist/components/segmented/segmented.js.map +1 -0
- package/dist/components/segmented/use-segmented.d.ts +15 -0
- package/dist/components/segmented/use-segmented.d.ts.map +1 -0
- package/dist/components/segmented/use-segmented.js +22 -0
- package/dist/components/segmented/use-segmented.js.map +1 -0
- package/dist/components/select/context.js +3 -3
- package/dist/components/select/context.js.map +1 -1
- package/dist/components/select/select.d.ts +26 -4
- package/dist/components/select/select.d.ts.map +1 -1
- package/dist/components/select/select.js +45 -17
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/select/use-select.d.ts +4 -0
- package/dist/components/select/use-select.d.ts.map +1 -1
- package/dist/components/select/use-select.js +14 -3
- package/dist/components/select/use-select.js.map +1 -1
- package/dist/components/separator/separator.d.ts.map +1 -1
- package/dist/components/separator/separator.js +11 -2
- package/dist/components/separator/separator.js.map +1 -1
- package/dist/components/side-nav/context.js +2 -2
- package/dist/components/side-nav/context.js.map +1 -1
- package/dist/components/side-nav/side-nav.d.ts +6 -3
- package/dist/components/side-nav/side-nav.d.ts.map +1 -1
- package/dist/components/side-nav/side-nav.js +32 -4
- package/dist/components/side-nav/side-nav.js.map +1 -1
- package/dist/components/side-nav/use-side-nav.d.ts +5 -0
- package/dist/components/side-nav/use-side-nav.d.ts.map +1 -1
- package/dist/components/side-nav/use-side-nav.js +12 -1
- package/dist/components/side-nav/use-side-nav.js.map +1 -1
- package/dist/components/signature-pad/context.d.ts +6 -0
- package/dist/components/signature-pad/context.d.ts.map +1 -0
- package/dist/components/signature-pad/context.js +15 -0
- package/dist/components/signature-pad/context.js.map +1 -0
- package/dist/components/signature-pad/signature-pad.d.ts +108 -0
- package/dist/components/signature-pad/signature-pad.d.ts.map +1 -0
- package/dist/components/signature-pad/signature-pad.js +118 -0
- package/dist/components/signature-pad/signature-pad.js.map +1 -0
- package/dist/components/signature-pad/use-signature-pad.d.ts +14 -0
- package/dist/components/signature-pad/use-signature-pad.d.ts.map +1 -0
- package/dist/components/signature-pad/use-signature-pad.js +24 -0
- package/dist/components/signature-pad/use-signature-pad.js.map +1 -0
- package/dist/components/skeleton/context.js +1 -1
- package/dist/components/skeleton/context.js.map +1 -1
- package/dist/components/slider/context.js +2 -2
- package/dist/components/slider/context.js.map +1 -1
- package/dist/components/space/context.d.ts +10 -0
- package/dist/components/space/context.d.ts.map +1 -0
- package/dist/components/space/context.js +15 -0
- package/dist/components/space/context.js.map +1 -0
- package/dist/components/space/space.d.ts +75 -0
- package/dist/components/space/space.d.ts.map +1 -0
- package/dist/components/space/space.js +91 -0
- package/dist/components/space/space.js.map +1 -0
- package/dist/components/spinner/context.js +1 -1
- package/dist/components/spinner/context.js.map +1 -1
- package/dist/components/splitter/context.js +1 -1
- package/dist/components/splitter/context.js.map +1 -1
- package/dist/components/splitter/splitter.d.ts +1 -1
- package/dist/components/statistic/context.js +1 -1
- package/dist/components/statistic/context.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/context.js +2 -2
- package/dist/components/steps/context.js.map +1 -1
- package/dist/components/steps/steps.d.ts +1 -1
- package/dist/components/switch/switch.d.ts +9 -0
- package/dist/components/switch/switch.d.ts.map +1 -1
- package/dist/components/switch/switch.js +11 -2
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/table/context.js +4 -4
- package/dist/components/table/context.js.map +1 -1
- package/dist/components/table/table.d.ts +70 -2
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/components/table/table.js +40 -1
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/table/use-table.d.ts +1 -1
- package/dist/components/table/use-table.d.ts.map +1 -1
- package/dist/components/table/use-table.js +3 -2
- package/dist/components/table/use-table.js.map +1 -1
- package/dist/components/tabs/context.js +1 -1
- package/dist/components/tabs/context.js.map +1 -1
- package/dist/components/tag/context.d.ts +6 -0
- package/dist/components/tag/context.d.ts.map +1 -0
- package/dist/components/tag/context.js +15 -0
- package/dist/components/tag/context.js.map +1 -0
- package/dist/components/tag/tag.d.ts +71 -0
- package/dist/components/tag/tag.d.ts.map +1 -0
- package/dist/components/tag/tag.js +61 -0
- package/dist/components/tag/tag.js.map +1 -0
- package/dist/components/tag/use-tag.d.ts +10 -0
- package/dist/components/tag/use-tag.d.ts.map +1 -0
- package/dist/components/tag/use-tag.js +28 -0
- package/dist/components/tag/use-tag.js.map +1 -0
- package/dist/components/tags-input/context.js +2 -2
- package/dist/components/tags-input/context.js.map +1 -1
- package/dist/components/tags-input/tags-input.d.ts +2 -2
- package/dist/components/tags-input/tags-input.d.ts.map +1 -1
- package/dist/components/tags-input/tags-input.js +7 -1
- package/dist/components/tags-input/tags-input.js.map +1 -1
- package/dist/components/text-field/context.js +1 -1
- package/dist/components/text-field/context.js.map +1 -1
- package/dist/components/text-field/text-field.d.ts +24 -3
- package/dist/components/text-field/text-field.d.ts.map +1 -1
- package/dist/components/text-field/text-field.js +23 -4
- package/dist/components/text-field/text-field.js.map +1 -1
- package/dist/components/thread/context.d.ts +7 -0
- package/dist/components/thread/context.d.ts.map +1 -0
- package/dist/components/thread/context.js +1 -1
- package/dist/components/thread/context.js.map +1 -1
- package/dist/components/time/time.d.ts +4 -4
- package/dist/components/time/time.d.ts.map +1 -1
- package/dist/components/time/time.js.map +1 -1
- package/dist/components/time-field/context.js +1 -1
- package/dist/components/time-field/context.js.map +1 -1
- package/dist/components/time-field/time-field.d.ts +18 -3
- package/dist/components/time-field/time-field.d.ts.map +1 -1
- package/dist/components/time-field/time-field.js +20 -1
- package/dist/components/time-field/time-field.js.map +1 -1
- package/dist/components/time-picker/context.js +2 -2
- package/dist/components/time-picker/context.js.map +1 -1
- package/dist/components/time-picker/time-picker.d.ts +93 -6
- package/dist/components/time-picker/time-picker.d.ts.map +1 -1
- package/dist/components/time-picker/time-picker.js +89 -9
- package/dist/components/time-picker/time-picker.js.map +1 -1
- package/dist/components/time-picker/use-time-picker.d.ts +5 -0
- package/dist/components/time-picker/use-time-picker.d.ts.map +1 -1
- package/dist/components/time-picker/use-time-picker.js +17 -3
- package/dist/components/time-picker/use-time-picker.js.map +1 -1
- package/dist/components/timeline/context.js +2 -2
- package/dist/components/timeline/context.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/timer/context.d.ts +6 -0
- package/dist/components/timer/context.d.ts.map +1 -0
- package/dist/components/timer/context.js +15 -0
- package/dist/components/timer/context.js.map +1 -0
- package/dist/components/timer/timer.d.ts +110 -0
- package/dist/components/timer/timer.d.ts.map +1 -0
- package/dist/components/timer/timer.js +139 -0
- package/dist/components/timer/timer.js.map +1 -0
- package/dist/components/timer/use-timer.d.ts +13 -0
- package/dist/components/timer/use-timer.d.ts.map +1 -0
- package/dist/components/timer/use-timer.js +19 -0
- package/dist/components/timer/use-timer.js.map +1 -0
- package/dist/components/toast/context.js +1 -1
- package/dist/components/toast/context.js.map +1 -1
- package/dist/components/toast/toast.d.ts +3 -15
- package/dist/components/toast/toast.d.ts.map +1 -1
- package/dist/components/toast/toast.js +1 -12
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toast/use-toast.d.ts.map +1 -1
- package/dist/components/toast/use-toast.js +1 -7
- package/dist/components/toast/use-toast.js.map +1 -1
- package/dist/components/toggle-group/context.js +1 -1
- package/dist/components/toggle-group/context.js.map +1 -1
- package/dist/components/toggle-group/toggle-group.d.ts +10 -1
- package/dist/components/toggle-group/toggle-group.d.ts.map +1 -1
- package/dist/components/toggle-group/toggle-group.js +4 -0
- package/dist/components/toggle-group/toggle-group.js.map +1 -1
- package/dist/components/toolbar/context.js +1 -1
- package/dist/components/toolbar/context.js.map +1 -1
- package/dist/components/tooltip/context.js +1 -1
- package/dist/components/tooltip/context.js.map +1 -1
- package/dist/components/tooltip/tooltip.d.ts +11 -3
- package/dist/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip.js +31 -12
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/components/tooltip/use-tooltip.d.ts +6 -0
- package/dist/components/tooltip/use-tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/use-tooltip.js +36 -5
- package/dist/components/tooltip/use-tooltip.js.map +1 -1
- package/dist/components/tour/context.js +1 -1
- package/dist/components/tour/context.js.map +1 -1
- package/dist/components/tour/tour.d.ts +3 -3
- package/dist/components/tour/tour.d.ts.map +1 -1
- package/dist/components/tour/tour.js +20 -11
- package/dist/components/tour/tour.js.map +1 -1
- package/dist/components/tour/use-tour.d.ts +6 -0
- package/dist/components/tour/use-tour.d.ts.map +1 -1
- package/dist/components/tour/use-tour.js +18 -3
- package/dist/components/tour/use-tour.js.map +1 -1
- package/dist/components/transfer/context.js +3 -3
- package/dist/components/transfer/context.js.map +1 -1
- package/dist/components/transfer/transfer.d.ts +10 -10
- package/dist/components/transfer/transfer.d.ts.map +1 -1
- package/dist/components/transfer/transfer.js +8 -8
- package/dist/components/transfer/transfer.js.map +1 -1
- package/dist/components/tree/context.js +2 -2
- package/dist/components/tree/context.js.map +1 -1
- package/dist/components/tree/tree.d.ts +36 -10
- package/dist/components/tree/tree.d.ts.map +1 -1
- package/dist/components/tree/tree.js +31 -6
- package/dist/components/tree/tree.js.map +1 -1
- package/dist/components/tree-select/context.js +2 -2
- package/dist/components/tree-select/context.js.map +1 -1
- package/dist/components/tree-select/tree-select.d.ts +23 -3
- package/dist/components/tree-select/tree-select.d.ts.map +1 -1
- package/dist/components/tree-select/tree-select.js +60 -12
- package/dist/components/tree-select/tree-select.js.map +1 -1
- package/dist/components/tree-select/use-tree-select.d.ts +4 -0
- package/dist/components/tree-select/use-tree-select.d.ts.map +1 -1
- package/dist/components/tree-select/use-tree-select.js +15 -4
- package/dist/components/tree-select/use-tree-select.js.map +1 -1
- package/dist/components/typography/context.js +1 -1
- package/dist/components/typography/context.js.map +1 -1
- package/dist/components/typography/typography.d.ts.map +1 -1
- package/dist/components/typography/typography.js +2 -1
- package/dist/components/typography/typography.js.map +1 -1
- package/dist/components/virtualizer/context.js +1 -1
- package/dist/components/virtualizer/context.js.map +1 -1
- package/dist/components/watermark/context.js +1 -1
- package/dist/components/watermark/context.js.map +1 -1
- package/dist/config/config.d.ts +26 -10
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +42 -15
- package/dist/config/config.js.map +1 -1
- package/dist/index.d.ts +75 -29
- package/dist/index.js +74 -28
- package/dist/package.js +6 -0
- package/dist/package.js.map +1 -0
- package/dist/runtime/as-child.js +66 -0
- package/dist/runtime/as-child.js.map +1 -0
- package/dist/runtime/config-defaults.js +19 -0
- package/dist/runtime/config-defaults.js.map +1 -0
- package/dist/runtime/normalize-props.d.ts.map +1 -1
- package/dist/runtime/normalize-props.js +5 -1
- package/dist/runtime/normalize-props.js.map +1 -1
- package/dist/runtime/use-machine.d.ts.map +1 -1
- package/dist/runtime/use-machine.js +17 -1
- package/dist/runtime/use-machine.js.map +1 -1
- package/dist/runtime/use-overlay-exit.js +40 -0
- package/dist/runtime/use-overlay-exit.js.map +1 -0
- package/dist/runtime/use-scrollbars.js +66 -0
- package/dist/runtime/use-scrollbars.js.map +1 -0
- package/dist/services/dialog-service.d.ts +43 -8
- package/dist/services/dialog-service.d.ts.map +1 -1
- package/dist/services/dialog-service.js +47 -20
- package/dist/services/dialog-service.js.map +1 -1
- package/dist/services/glyph.js +93 -20
- package/dist/services/glyph.js.map +1 -1
- package/dist/services/loading-bar-service.d.ts +46 -0
- package/dist/services/loading-bar-service.d.ts.map +1 -0
- package/dist/services/loading-bar-service.js +70 -0
- package/dist/services/loading-bar-service.js.map +1 -0
- package/dist/services/mount-host.js +35 -0
- package/dist/services/mount-host.js.map +1 -0
- package/dist/services/notification-service.d.ts +46 -0
- package/dist/services/notification-service.d.ts.map +1 -0
- package/dist/services/notification-service.js +91 -0
- package/dist/services/notification-service.js.map +1 -0
- package/dist/services/service-config.js +16 -0
- package/dist/services/service-config.js.map +1 -0
- package/dist/services/toast-service.d.ts +23 -9
- package/dist/services/toast-service.d.ts.map +1 -1
- package/dist/services/toast-service.js +103 -48
- package/dist/services/toast-service.js.map +1 -1
- package/package.json +18 -14
- package/dist/components/toaster/context.js +0 -19
- package/dist/components/toaster/context.js.map +0 -1
- package/dist/components/toaster/toaster.d.ts +0 -135
- package/dist/components/toaster/toaster.d.ts.map +0 -1
- package/dist/components/toaster/toaster.js +0 -91
- package/dist/components/toaster/toaster.js.map +0 -1
- package/dist/components/toaster/use-toaster.d.ts +0 -15
- package/dist/components/toaster/use-toaster.d.ts.map +0 -1
- package/dist/components/toaster/use-toaster.js +0 -23
- package/dist/components/toaster/use-toaster.js.map +0 -1
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { withXhConfig } from "../../config/config.js";
|
|
2
|
+
import { slotPaints } from "../../runtime/slot-content.js";
|
|
3
|
+
import { provideTimer, useTimerContext } from "./context.js";
|
|
4
|
+
import { useTimer } from "./use-timer.js";
|
|
5
|
+
import { defineComponent, h } from "vue";
|
|
6
|
+
//#region src/components/timer/timer.ts
|
|
7
|
+
/** 没写默认插槽时铺开的那几段:时、分、秒。要天或毫秒就自己写部件。 */
|
|
8
|
+
const DEFAULT_UNITS = [
|
|
9
|
+
"hours",
|
|
10
|
+
"minutes",
|
|
11
|
+
"seconds"
|
|
12
|
+
];
|
|
13
|
+
const XhTimerRoot = defineComponent({
|
|
14
|
+
name: "XhTimerRoot",
|
|
15
|
+
props: {
|
|
16
|
+
startMs: {
|
|
17
|
+
type: Number,
|
|
18
|
+
default: void 0
|
|
19
|
+
},
|
|
20
|
+
targetMs: {
|
|
21
|
+
type: Number,
|
|
22
|
+
default: void 0
|
|
23
|
+
},
|
|
24
|
+
countdown: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: void 0
|
|
27
|
+
},
|
|
28
|
+
autoStart: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
default: void 0
|
|
31
|
+
},
|
|
32
|
+
interval: {
|
|
33
|
+
type: Number,
|
|
34
|
+
default: void 0
|
|
35
|
+
},
|
|
36
|
+
size: {
|
|
37
|
+
type: String,
|
|
38
|
+
default: void 0
|
|
39
|
+
},
|
|
40
|
+
translations: {
|
|
41
|
+
type: Object,
|
|
42
|
+
default: void 0
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
emits: {
|
|
46
|
+
tick: (_details) => true,
|
|
47
|
+
complete: (_details) => true
|
|
48
|
+
},
|
|
49
|
+
slots: Object,
|
|
50
|
+
setup(props, { slots, emit }) {
|
|
51
|
+
const ctx = useTimer(withXhConfig("timer", props), {
|
|
52
|
+
onTick: (details) => emit("tick", details),
|
|
53
|
+
onComplete: (details) => emit("complete", details)
|
|
54
|
+
});
|
|
55
|
+
provideTimer(ctx);
|
|
56
|
+
return () => {
|
|
57
|
+
const api = ctx.api.value;
|
|
58
|
+
const content = slots.default?.({
|
|
59
|
+
phase: api.phase,
|
|
60
|
+
value: api.value,
|
|
61
|
+
elapsed: api.elapsed,
|
|
62
|
+
running: api.running,
|
|
63
|
+
paused: api.paused,
|
|
64
|
+
completed: api.completed,
|
|
65
|
+
countdown: api.countdown,
|
|
66
|
+
segments: api.segments,
|
|
67
|
+
segmentText: api.segmentText,
|
|
68
|
+
controlAction: api.controlAction,
|
|
69
|
+
controlLabel: api.controlLabel,
|
|
70
|
+
start: api.start,
|
|
71
|
+
pause: api.pause,
|
|
72
|
+
resume: api.resume,
|
|
73
|
+
reset: api.reset
|
|
74
|
+
});
|
|
75
|
+
return h("div", api.getRootProps(), slotPaints(content) ? content : [renderDefaultTree()]);
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
const XhTimerArea = defineComponent({
|
|
80
|
+
name: "XhTimerArea",
|
|
81
|
+
setup(_, { slots }) {
|
|
82
|
+
const ctx = useTimerContext();
|
|
83
|
+
return () => h("div", ctx.api.value.getAreaProps(), slots.default?.());
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
const XhTimerItem = defineComponent({
|
|
87
|
+
name: "XhTimerItem",
|
|
88
|
+
props: { unit: {
|
|
89
|
+
type: String,
|
|
90
|
+
required: true
|
|
91
|
+
} },
|
|
92
|
+
setup(props) {
|
|
93
|
+
const ctx = useTimerContext();
|
|
94
|
+
return () => {
|
|
95
|
+
const api = ctx.api.value;
|
|
96
|
+
return h("span", api.getItemProps({ unit: props.unit }), api.segmentText(props.unit));
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
const XhTimerSeparator = defineComponent({
|
|
101
|
+
name: "XhTimerSeparator",
|
|
102
|
+
setup(_, { slots }) {
|
|
103
|
+
const ctx = useTimerContext();
|
|
104
|
+
return () => {
|
|
105
|
+
const content = slots.default?.();
|
|
106
|
+
return h("span", ctx.api.value.getSeparatorProps(), slotPaints(content) ? content : ":");
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
const XhTimerControl = defineComponent({
|
|
111
|
+
name: "XhTimerControl",
|
|
112
|
+
setup(_, { slots }) {
|
|
113
|
+
const ctx = useTimerContext();
|
|
114
|
+
return () => {
|
|
115
|
+
const api = ctx.api.value;
|
|
116
|
+
const content = slots.default?.();
|
|
117
|
+
return h("button", api.getControlProps(), slotPaints(content) ? content : api.controlLabel);
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
/**
|
|
122
|
+
* 没写默认插槽时铺开的整套结构:一个时间区,里面是时、分、秒三段与两个冒号。
|
|
123
|
+
* 与手写部件产出的 DOM 完全一致,要改结构就写默认插槽,行为不变。
|
|
124
|
+
*/
|
|
125
|
+
function renderDefaultTree() {
|
|
126
|
+
const children = [];
|
|
127
|
+
for (const [index, unit] of DEFAULT_UNITS.entries()) {
|
|
128
|
+
if (index > 0) children.push(h(XhTimerSeparator, { key: `separator-${unit}` }));
|
|
129
|
+
children.push(h(XhTimerItem, {
|
|
130
|
+
key: unit,
|
|
131
|
+
unit
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
return h(XhTimerArea, null, () => children);
|
|
135
|
+
}
|
|
136
|
+
//#endregion
|
|
137
|
+
export { XhTimerArea, XhTimerControl, XhTimerItem, XhTimerRoot, XhTimerSeparator };
|
|
138
|
+
|
|
139
|
+
//# sourceMappingURL=timer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer.js","names":[],"sources":["../../../src/components/timer/timer.ts"],"sourcesContent":["import type { TimerApi, TimerSchema, TimerTranslations, TimerUnit } from '@xihan-ui/headless'\nimport type { Size } from '@xihan-ui/kernel'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { slotPaints } from '../../runtime/slot-content'\nimport { provideTimer, useTimerContext } from './context'\nimport { useTimer } from './use-timer'\n\ntype TimerProps = TimerSchema['props']\n\n/** 默认插槽的载荷:当前状态与显示值、拆开的每一段,以及起停归零四个动作。 */\nexport type TimerRootSlotProps = Pick<\n TimerApi,\n 'phase' | 'value' | 'elapsed' | 'running' | 'paused' | 'completed' | 'countdown'\n | 'segments' | 'segmentText' | 'controlAction' | 'controlLabel'\n | 'start' | 'pause' | 'resume' | 'reset'\n>\n\n/** 没写默认插槽时铺开的那几段:时、分、秒。要天或毫秒就自己写部件。 */\nconst DEFAULT_UNITS: readonly TimerUnit[] = ['hours', 'minutes', 'seconds']\n\nexport const XhTimerRoot = defineComponent({\n name: 'XhTimerRoot',\n // 全部 default: undefined,缺省值由机器与 connect 决定\n props: {\n startMs: { type: Number, default: undefined },\n targetMs: { type: Number, default: undefined },\n countdown: { type: Boolean, default: undefined },\n autoStart: { type: Boolean, default: undefined },\n interval: { type: Number, default: undefined },\n size: { type: String as PropType<Size>, default: undefined },\n translations: { type: Object as PropType<Partial<TimerTranslations>>, default: undefined },\n },\n // tick 携带 { value, elapsed };complete 同形,只在到点那一刻发一次\n emits: {\n tick: (_details: PayloadOf<TimerProps, 'onTick'>) => true,\n complete: (_details: PayloadOf<TimerProps, 'onComplete'>) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TimerRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const ctx = useTimer(withXhConfig('timer', props) as TimerProps, {\n onTick: details => emit('tick', details),\n onComplete: details => emit('complete', details),\n })\n provideTimer(ctx)\n\n return () => {\n const api = ctx.api.value\n const content = slots.default?.({\n phase: api.phase,\n value: api.value,\n elapsed: api.elapsed,\n running: api.running,\n paused: api.paused,\n completed: api.completed,\n countdown: api.countdown,\n segments: api.segments,\n segmentText: api.segmentText,\n controlAction: api.controlAction,\n controlLabel: api.controlLabel,\n start: api.start,\n pause: api.pause,\n resume: api.resume,\n reset: api.reset,\n })\n return h(\n 'div',\n api.getRootProps() as Record<string, unknown>,\n // 插槽为空(含 v-if 落空只剩注释节点)时退回组件自己铺的时分秒\n slotPaints(content) ? content : [renderDefaultTree()],\n )\n }\n },\n})\n\nexport const XhTimerArea = defineComponent({\n name: 'XhTimerArea',\n setup(_, { slots }) {\n const ctx = useTimerContext()\n return () => h('div', ctx.api.value.getAreaProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTimerItem = defineComponent({\n name: 'XhTimerItem',\n props: {\n unit: { type: String as PropType<TimerUnit>, required: true },\n },\n setup(props) {\n const ctx = useTimerContext()\n return () => {\n const api = ctx.api.value\n // 这一段的数字恒由组件写,作者只声明它是哪一段:写在条目里的内容留不住,\n // 下一拍就会被新的数字盖掉,Web Components 侧也是元素接管这段文本\n return h(\n 'span',\n api.getItemProps({ unit: props.unit }) as Record<string, unknown>,\n api.segmentText(props.unit),\n )\n }\n },\n})\n\nexport const XhTimerSeparator = defineComponent({\n name: 'XhTimerSeparator',\n setup(_, { slots }) {\n const ctx = useTimerContext()\n return () => {\n const content = slots.default?.()\n // 缺省是冒号,换成别的记号写进插槽即可\n return h(\n 'span',\n ctx.api.value.getSeparatorProps() as Record<string, unknown>,\n slotPaints(content) ? content : ':',\n )\n }\n },\n})\n\nexport const XhTimerControl = defineComponent({\n name: 'XhTimerControl',\n setup(_, { slots }) {\n const ctx = useTimerContext()\n return () => {\n const api = ctx.api.value\n const content = slots.default?.()\n // 用原生 button,激活交给平台;没写内容时把当前动作的名字写上去\n return h(\n 'button',\n api.getControlProps() as Record<string, unknown>,\n slotPaints(content) ? content : api.controlLabel,\n )\n }\n },\n})\n\n/**\n * 没写默认插槽时铺开的整套结构:一个时间区,里面是时、分、秒三段与两个冒号。\n * 与手写部件产出的 DOM 完全一致,要改结构就写默认插槽,行为不变。\n */\nfunction renderDefaultTree(): VNode {\n const children: VNode[] = []\n for (const [index, unit] of DEFAULT_UNITS.entries()) {\n if (index > 0)\n children.push(h(XhTimerSeparator, { key: `separator-${unit}` }))\n children.push(h(XhTimerItem, { key: unit, unit }))\n }\n return h(XhTimerArea, null, () => children)\n}\n"],"mappings":";;;;;;;AAqBA,MAAM,gBAAsC;CAAC;CAAS;CAAW;AAAS;AAE1E,MAAa,cAAc,gBAAgB;CACzC,MAAM;CAEN,OAAO;EACL,SAAS;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAC5C,UAAU;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAC7C,WAAW;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC/C,WAAW;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC/C,UAAU;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAC7C,MAAM;GAAE,MAAM;GAA0B,SAAS,KAAA;EAAU;EAC3D,cAAc;GAAE,MAAM;GAAgD,SAAS,KAAA;EAAU;CAC3F;CAEA,OAAO;EACL,OAAO,aAA8C;EACrD,WAAW,aAAkD;CAC/D;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,MAAM,SAAS,aAAa,SAAS,KAAK,GAAiB;GAC/D,SAAQ,YAAW,KAAK,QAAQ,OAAO;GACvC,aAAY,YAAW,KAAK,YAAY,OAAO;EACjD,CAAC;EACD,aAAa,GAAG;EAEhB,aAAa;GACX,MAAM,MAAM,IAAI,IAAI;GACpB,MAAM,UAAU,MAAM,UAAU;IAC9B,OAAO,IAAI;IACX,OAAO,IAAI;IACX,SAAS,IAAI;IACb,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,WAAW,IAAI;IACf,WAAW,IAAI;IACf,UAAU,IAAI;IACd,aAAa,IAAI;IACjB,eAAe,IAAI;IACnB,cAAc,IAAI;IAClB,OAAO,IAAI;IACX,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,OAAO,IAAI;GACb,CAAC;GACD,OAAO,EACL,OACA,IAAI,aAAa,GAEjB,WAAW,OAAO,IAAI,UAAU,CAAC,kBAAkB,CAAC,CACtD;EACF;CACF;AACF,CAAC;AAED,MAAa,cAAc,gBAAgB;CACzC,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU,CAAC;CAClG;AACF,CAAC;AAED,MAAa,cAAc,gBAAgB;CACzC,MAAM;CACN,OAAO,EACL,MAAM;EAAE,MAAM;EAA+B,UAAU;CAAK,EAC9D;CACA,MAAM,OAAO;EACX,MAAM,MAAM,gBAAgB;EAC5B,aAAa;GACX,MAAM,MAAM,IAAI,IAAI;GAGpB,OAAO,EACL,QACA,IAAI,aAAa,EAAE,MAAM,MAAM,KAAK,CAAC,GACrC,IAAI,YAAY,MAAM,IAAI,CAC5B;EACF;CACF;AACF,CAAC;AAED,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa;GACX,MAAM,UAAU,MAAM,UAAU;GAEhC,OAAO,EACL,QACA,IAAI,IAAI,MAAM,kBAAkB,GAChC,WAAW,OAAO,IAAI,UAAU,GAClC;EACF;CACF;AACF,CAAC;AAED,MAAa,iBAAiB,gBAAgB;CAC5C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa;GACX,MAAM,MAAM,IAAI,IAAI;GACpB,MAAM,UAAU,MAAM,UAAU;GAEhC,OAAO,EACL,UACA,IAAI,gBAAgB,GACpB,WAAW,OAAO,IAAI,UAAU,IAAI,YACtC;EACF;CACF;AACF,CAAC;;;;;AAMD,SAAS,oBAA2B;CAClC,MAAM,WAAoB,CAAC;CAC3B,KAAK,MAAM,CAAC,OAAO,SAAS,cAAc,QAAQ,GAAG;EACnD,IAAI,QAAQ,GACV,SAAS,KAAK,EAAE,kBAAkB,EAAE,KAAK,aAAa,OAAO,CAAC,CAAC;EACjE,SAAS,KAAK,EAAE,aAAa;GAAE,KAAK;GAAM;EAAK,CAAC,CAAC;CACnD;CACA,OAAO,EAAE,aAAa,YAAY,QAAQ;AAC5C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ComputedRef } from "vue";
|
|
2
|
+
import { TimerApi, TimerSchema } from "@xihan-ui/headless";
|
|
3
|
+
import { Service } from "@xihan-ui/machine";
|
|
4
|
+
//#region src/components/timer/use-timer.d.ts
|
|
5
|
+
interface TimerContext {
|
|
6
|
+
api: ComputedRef<TimerApi>;
|
|
7
|
+
/** 机器实例,供组合式调用方直接送事件。 */
|
|
8
|
+
service: Service<TimerSchema>;
|
|
9
|
+
}
|
|
10
|
+
declare function useTimer(props: TimerSchema['props'], handlers?: Pick<TimerSchema['props'], 'onComplete' | 'onTick'>): TimerContext;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { TimerContext, useTimer };
|
|
13
|
+
//# sourceMappingURL=use-timer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-timer.d.ts","names":[],"sources":["../../../src/components/timer/use-timer.ts"],"mappings":";;;;UAQiB;EACf,KAAK,YAAY;;EAEjB,SAAS,QAAQ;;iBAIH,SACd,OAAO,sBACP,WAAU,KAAK,iDACd"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { vueNormalize } from "../../runtime/normalize-props.js";
|
|
2
|
+
import { useMachine } from "../../runtime/use-machine.js";
|
|
3
|
+
import { computed } from "vue";
|
|
4
|
+
import { connectTimer, timerMachine } from "@xihan-ui/headless";
|
|
5
|
+
//#region src/components/timer/use-timer.ts
|
|
6
|
+
function useTimer(props, handlers = {}) {
|
|
7
|
+
const service = useMachine(timerMachine, () => ({
|
|
8
|
+
...props,
|
|
9
|
+
...handlers
|
|
10
|
+
}));
|
|
11
|
+
return {
|
|
12
|
+
api: computed(() => connectTimer(service, vueNormalize)),
|
|
13
|
+
service
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { useTimer };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=use-timer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-timer.js","names":[],"sources":["../../../src/components/timer/use-timer.ts"],"sourcesContent":["import type { TimerApi, TimerSchema } from '@xihan-ui/headless'\nimport type { Service } from '@xihan-ui/machine'\nimport type { ComputedRef } from 'vue'\nimport { connectTimer, timerMachine } from '@xihan-ui/headless'\nimport { computed } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\n\nexport interface TimerContext {\n api: ComputedRef<TimerApi>\n /** 机器实例,供组合式调用方直接送事件。 */\n service: Service<TimerSchema>\n}\n\n// 不建 scope:connect 不派生任何 id\nexport function useTimer(\n props: TimerSchema['props'],\n handlers: Pick<TimerSchema['props'], 'onComplete' | 'onTick'> = {},\n): TimerContext {\n const service = useMachine(timerMachine, () => ({ ...props, ...handlers }))\n const api = computed(() => connectTimer(service, vueNormalize))\n return { api, service }\n}\n"],"mappings":";;;;;AAeA,SAAgB,SACd,OACA,WAAgE,CAAC,GACnD;CACd,MAAM,UAAU,WAAW,qBAAqB;EAAE,GAAG;EAAO,GAAG;CAAS,EAAE;CAE1E,OAAO;EAAE,KADG,eAAe,aAAa,SAAS,YAAY,CAClD;EAAG;CAAQ;AACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/toast/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { ToastContext } from './use-toast'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<ToastContext> = Symbol('xh-toast')\n\nexport function provideToast(ctx: ToastContext): void {\n provide(KEY, ctx)\n}\n\nexport function useToastContext(): ToastContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Toast 部件必须用在 XhToastRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAkC,OAAO,UAAU;
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/toast/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { ToastContext } from './use-toast'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<ToastContext> = Symbol.for('xh-toast')\n\nexport function provideToast(ctx: ToastContext): void {\n provide(KEY, ctx)\n}\n\nexport function useToastContext(): ToastContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Toast 部件必须用在 XhToastRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAkC,OAAO,IAAI,UAAU;AAE7D,SAAgB,aAAa,KAAyB;CACpD,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,kBAAgC;CAC9C,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,iCAAiC;CACnD,OAAO;AACT"}
|
|
@@ -14,10 +14,6 @@ declare const XhToastRoot: import("vue").DefineComponent<import("vue").ExtractPr
|
|
|
14
14
|
type: StringConstructor;
|
|
15
15
|
default: undefined;
|
|
16
16
|
};
|
|
17
|
-
description: {
|
|
18
|
-
type: StringConstructor;
|
|
19
|
-
default: undefined;
|
|
20
|
-
};
|
|
21
17
|
type: {
|
|
22
18
|
type: PropType<ToastType>;
|
|
23
19
|
default: undefined;
|
|
@@ -56,10 +52,6 @@ declare const XhToastRoot: import("vue").DefineComponent<import("vue").ExtractPr
|
|
|
56
52
|
type: StringConstructor;
|
|
57
53
|
default: undefined;
|
|
58
54
|
};
|
|
59
|
-
description: {
|
|
60
|
-
type: StringConstructor;
|
|
61
|
-
default: undefined;
|
|
62
|
-
};
|
|
63
55
|
type: {
|
|
64
56
|
type: PropType<ToastType>;
|
|
65
57
|
default: undefined;
|
|
@@ -90,22 +82,18 @@ declare const XhToastRoot: import("vue").DefineComponent<import("vue").ExtractPr
|
|
|
90
82
|
}>, {
|
|
91
83
|
type: ToastType;
|
|
92
84
|
title: string;
|
|
93
|
-
closable: boolean;
|
|
94
85
|
translations: Partial<ToastTranslations>;
|
|
86
|
+
closable: boolean;
|
|
95
87
|
duration: number;
|
|
96
|
-
id: string;
|
|
97
|
-
description: string;
|
|
98
88
|
removeDelay: number;
|
|
99
89
|
pauseOnPageIdle: boolean;
|
|
90
|
+
id: string;
|
|
100
91
|
}, SlotsType<{
|
|
101
92
|
default?: (props: ToastRootSlotProps) => VNode[];
|
|
102
93
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
103
94
|
declare const XhToastTitle: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
104
95
|
[key: string]: any;
|
|
105
96
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
106
|
-
declare const XhToastDescription: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
107
|
-
[key: string]: any;
|
|
108
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
109
97
|
declare const XhToastActionTrigger: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
110
98
|
[key: string]: any;
|
|
111
99
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -113,5 +101,5 @@ declare const XhToastCloseTrigger: import("vue").DefineComponent<{}, () => VNode
|
|
|
113
101
|
[key: string]: any;
|
|
114
102
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
115
103
|
//#endregion
|
|
116
|
-
export { ToastRootSlotProps, XhToastActionTrigger, XhToastCloseTrigger,
|
|
104
|
+
export { ToastRootSlotProps, XhToastActionTrigger, XhToastCloseTrigger, XhToastRoot, XhToastTitle };
|
|
117
105
|
//# sourceMappingURL=toast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.d.ts","names":[],"sources":["../../../src/components/toast/toast.ts"],"mappings":";;;;KAQK,aAAa;;KAGN,qBAAqB,KAC/B;cAIW,2BAAW,8BAAA
|
|
1
|
+
{"version":3,"file":"toast.d.ts","names":[],"sources":["../../../src/components/toast/toast.ts"],"mappings":";;;;KAQK,aAAa;;KAGN,qBAAqB,KAC/B;cAIW,2BAAW,8BAAA;;;;;;;;;;IAOI,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;IAKD,MAAA,SAAS,QAAQ;;;;;;EAIrB,kBAAA,UAAA,UAAU;EACjB,SAAA,UAAA,UAAU;;;;;;;;;;;IAVP,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;IAKD,MAAA,SAAS,QAAQ;;;;;;;;;;;;;;;;EAQvC,WAAC,OAAO,uBAAuB;kCAsB3C;cAEW,4BAAY,0BAAA,oBAAA,4BAAA;;8BAWvB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAO/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAM9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
|
|
@@ -14,10 +14,6 @@ const XhToastRoot = defineComponent({
|
|
|
14
14
|
type: String,
|
|
15
15
|
default: void 0
|
|
16
16
|
},
|
|
17
|
-
description: {
|
|
18
|
-
type: String,
|
|
19
|
-
default: void 0
|
|
20
|
-
},
|
|
21
17
|
type: {
|
|
22
18
|
type: String,
|
|
23
19
|
default: void 0
|
|
@@ -76,13 +72,6 @@ const XhToastTitle = defineComponent({
|
|
|
76
72
|
return () => h("div", ctx.api.value.getTitleProps(), slots.default ? slots.default() : ctx.api.value.title);
|
|
77
73
|
}
|
|
78
74
|
});
|
|
79
|
-
const XhToastDescription = defineComponent({
|
|
80
|
-
name: "XhToastDescription",
|
|
81
|
-
setup(_, { slots }) {
|
|
82
|
-
const ctx = useToastContext();
|
|
83
|
-
return () => h("div", ctx.api.value.getDescriptionProps(), slots.default ? slots.default() : ctx.api.value.description);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
75
|
const XhToastActionTrigger = defineComponent({
|
|
87
76
|
name: "XhToastActionTrigger",
|
|
88
77
|
setup(_, { slots }) {
|
|
@@ -98,6 +87,6 @@ const XhToastCloseTrigger = defineComponent({
|
|
|
98
87
|
}
|
|
99
88
|
});
|
|
100
89
|
//#endregion
|
|
101
|
-
export { XhToastActionTrigger, XhToastCloseTrigger,
|
|
90
|
+
export { XhToastActionTrigger, XhToastCloseTrigger, XhToastRoot, XhToastTitle };
|
|
102
91
|
|
|
103
92
|
//# sourceMappingURL=toast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.js","names":[],"sources":["../../../src/components/toast/toast.ts"],"sourcesContent":["import type { ToastApi, ToastSchema, ToastTranslations, ToastType } from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { provideToast, useToastContext } from './context'\nimport { useToast } from './use-toast'\n\ntype ToastProps = ToastSchema['props']\n\n/** 默认插槽的载荷:这一条的身份、状态、计时剩余与生命周期方法。 */\nexport type ToastRootSlotProps = Pick<\n ToastApi,\n 'id' | 'status' | 'type' | 'paused' | 'remaining' | 'dismiss' | 'pause' | 'resume'\n>\n\nexport const XhToastRoot = defineComponent({\n name: 'XhToastRoot',\n // 缺省值由 connect 与机器给出,这里一律 default: undefined\n props: {\n // 队列身份,不是 DOM id;不给则回落到实例的 scope id\n id: { type: String, default: undefined },\n title: { type: String, default: undefined },\n
|
|
1
|
+
{"version":3,"file":"toast.js","names":[],"sources":["../../../src/components/toast/toast.ts"],"sourcesContent":["import type { ToastApi, ToastSchema, ToastTranslations, ToastType } from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { provideToast, useToastContext } from './context'\nimport { useToast } from './use-toast'\n\ntype ToastProps = ToastSchema['props']\n\n/** 默认插槽的载荷:这一条的身份、状态、计时剩余与生命周期方法。 */\nexport type ToastRootSlotProps = Pick<\n ToastApi,\n 'id' | 'status' | 'type' | 'paused' | 'remaining' | 'dismiss' | 'pause' | 'resume'\n>\n\nexport const XhToastRoot = defineComponent({\n name: 'XhToastRoot',\n // 缺省值由 connect 与机器给出,这里一律 default: undefined\n props: {\n // 队列身份,不是 DOM id;不给则回落到实例的 scope id\n id: { type: String, default: undefined },\n title: { type: String, default: undefined },\n type: { type: String as PropType<ToastType>, default: undefined },\n duration: { type: Number, default: undefined },\n removeDelay: { type: Number, default: undefined },\n closable: { type: Boolean, default: undefined },\n pauseOnPageIdle: { type: Boolean, default: undefined },\n translations: { type: Object as PropType<Partial<ToastTranslations>>, default: undefined },\n },\n // status-change 携带 { id, status },action 携带 { id }\n emits: {\n 'status-change': (_details: PayloadOf<ToastProps, 'onStatusChange'>) => true,\n 'action': (_details: PayloadOf<ToastProps, 'onAction'>) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: ToastRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const notifyStatus: ToastProps['onStatusChange'] = (details) => {\n emit('status-change', details)\n }\n const notifyAction: ToastProps['onAction'] = (details) => {\n emit('action', details)\n }\n const ctx = useToast(withXhConfig('toast', props) as ToastProps, notifyStatus, notifyAction)\n provideToast(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n id: ctx.api.value.id,\n status: ctx.api.value.status,\n type: ctx.api.value.type,\n paused: ctx.api.value.paused,\n remaining: ctx.api.value.remaining,\n dismiss: ctx.api.value.dismiss,\n pause: ctx.api.value.pause,\n resume: ctx.api.value.resume,\n }))\n },\n})\n\nexport const XhToastTitle = defineComponent({\n name: 'XhToastTitle',\n setup(_, { slots }) {\n const ctx = useToastContext()\n // 渲染为 div 而非标题标签;无插槽内容时用 title prop 兜底\n return () => h(\n 'div',\n ctx.api.value.getTitleProps() as Record<string, unknown>,\n slots.default ? slots.default() : ctx.api.value.title,\n )\n },\n})\n\nexport const XhToastActionTrigger = defineComponent({\n name: 'XhToastActionTrigger',\n setup(_, { slots }) {\n const ctx = useToastContext()\n // 原生 <button>,激活行为交给平台\n return () => h('button', ctx.api.value.getActionTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhToastCloseTrigger = defineComponent({\n name: 'XhToastCloseTrigger',\n setup(_, { slots }) {\n const ctx = useToastContext()\n return () => h('button', ctx.api.value.getCloseTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":";;;;;AAgBA,MAAa,cAAc,gBAAgB;CACzC,MAAM;CAEN,OAAO;EAEL,IAAI;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EACvC,OAAO;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAC1C,MAAM;GAAE,MAAM;GAA+B,SAAS,KAAA;EAAU;EAChE,UAAU;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAC7C,aAAa;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAChD,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,iBAAiB;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EACrD,cAAc;GAAE,MAAM;GAAgD,SAAS,KAAA;EAAU;CAC3F;CAEA,OAAO;EACL,kBAAkB,aAAsD;EACxE,WAAW,aAAgD;CAC7D;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,gBAA8C,YAAY;GAC9D,KAAK,iBAAiB,OAAO;EAC/B;EACA,MAAM,gBAAwC,YAAY;GACxD,KAAK,UAAU,OAAO;EACxB;EACA,MAAM,MAAM,SAAS,aAAa,SAAS,KAAK,GAAiB,cAAc,YAAY;EAC3F,aAAa,GAAG;EAChB,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU;GAC7F,IAAI,IAAI,IAAI,MAAM;GAClB,QAAQ,IAAI,IAAI,MAAM;GACtB,MAAM,IAAI,IAAI,MAAM;GACpB,QAAQ,IAAI,IAAI,MAAM;GACtB,WAAW,IAAI,IAAI,MAAM;GACzB,SAAS,IAAI,IAAI,MAAM;GACvB,OAAO,IAAI,IAAI,MAAM;GACrB,QAAQ,IAAI,IAAI,MAAM;EACxB,CAAC,CAAC;CACJ;AACF,CAAC;AAED,MAAa,eAAe,gBAAgB;CAC1C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAE5B,aAAa,EACX,OACA,IAAI,IAAI,MAAM,cAAc,GAC5B,MAAM,UAAU,MAAM,QAAQ,IAAI,IAAI,IAAI,MAAM,KAClD;CACF;AACF,CAAC;AAED,MAAa,uBAAuB,gBAAgB;CAClD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAE5B,aAAa,EAAE,UAAU,IAAI,IAAI,MAAM,sBAAsB,GAA8B,MAAM,UAAU,CAAC;CAC9G;AACF,CAAC;AAED,MAAa,sBAAsB,gBAAgB;CACjD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa,EAAE,UAAU,IAAI,IAAI,MAAM,qBAAqB,GAA8B,MAAM,UAAU,CAAC;CAC7G;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-toast.d.ts","names":[],"sources":["../../../src/components/toast/use-toast.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"use-toast.d.ts","names":[],"sources":["../../../src/components/toast/use-toast.ts"],"mappings":";;;UAOiB;EACf,KAAK,YAAY;;iBAGH,SACd,OAAO,sBACP,iBAAiB,wCACjB,WAAW,mCACV"}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import { vueNormalize } from "../../runtime/normalize-props.js";
|
|
2
2
|
import { useMachine } from "../../runtime/use-machine.js";
|
|
3
|
-
import { useToasterContextOptional } from "../toaster/context.js";
|
|
4
3
|
import { computed } from "vue";
|
|
5
4
|
import { connectToast, toastMachine } from "@xihan-ui/headless";
|
|
6
5
|
//#region src/components/toast/use-toast.ts
|
|
7
6
|
function useToast(props, onStatusChange, onAction) {
|
|
8
|
-
const toaster = useToasterContextOptional();
|
|
9
|
-
const notifyStatus = (details) => {
|
|
10
|
-
onStatusChange?.(details);
|
|
11
|
-
if (details.status === "unmounted") toaster?.dismiss(details.id);
|
|
12
|
-
};
|
|
13
7
|
const service = useMachine(toastMachine, () => ({
|
|
14
8
|
...props,
|
|
15
|
-
onStatusChange
|
|
9
|
+
onStatusChange,
|
|
16
10
|
onAction
|
|
17
11
|
}));
|
|
18
12
|
return { api: computed(() => connectToast(service, vueNormalize)) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-toast.js","names":[],"sources":["../../../src/components/toast/use-toast.ts"],"sourcesContent":["import type { ToastApi, ToastSchema } from '@xihan-ui/headless'\nimport type { ComputedRef } from 'vue'\nimport { connectToast, toastMachine } from '@xihan-ui/headless'\nimport { computed } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\
|
|
1
|
+
{"version":3,"file":"use-toast.js","names":[],"sources":["../../../src/components/toast/use-toast.ts"],"sourcesContent":["import type { ToastApi, ToastSchema } from '@xihan-ui/headless'\nimport type { ComputedRef } from 'vue'\nimport { connectToast, toastMachine } from '@xihan-ui/headless'\nimport { computed } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\n\nexport interface ToastContext {\n api: ComputedRef<ToastApi>\n}\n\nexport function useToast(\n props: ToastSchema['props'],\n onStatusChange?: ToastSchema['props']['onStatusChange'],\n onAction?: ToastSchema['props']['onAction'],\n): ToastContext {\n const service = useMachine(toastMachine, () => ({ ...props, onStatusChange, onAction }))\n const api = computed(() => connectToast(service, vueNormalize))\n return { api }\n}\n"],"mappings":";;;;;AAWA,SAAgB,SACd,OACA,gBACA,UACc;CACd,MAAM,UAAU,WAAW,qBAAqB;EAAE,GAAG;EAAO;EAAgB;CAAS,EAAE;CAEvF,OAAO,EAAE,KADG,eAAe,aAAa,SAAS,YAAY,CAClD,EAAE;AACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/toggle-group/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { ToggleGroupContext } from './use-toggle-group'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<ToggleGroupContext> = Symbol('xh-toggle-group')\n\nexport function provideToggleGroup(ctx: ToggleGroupContext): void {\n provide(KEY, ctx)\n}\n\nexport function useToggleGroupContext(): ToggleGroupContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] ToggleGroup 部件必须用在 XhToggleGroupRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAwC,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/toggle-group/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { ToggleGroupContext } from './use-toggle-group'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<ToggleGroupContext> = Symbol.for('xh-toggle-group')\n\nexport function provideToggleGroup(ctx: ToggleGroupContext): void {\n provide(KEY, ctx)\n}\n\nexport function useToggleGroupContext(): ToggleGroupContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] ToggleGroup 部件必须用在 XhToggleGroupRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAwC,OAAO,IAAI,iBAAiB;AAE1E,SAAgB,mBAAmB,KAA+B;CAChE,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,wBAA4C;CAC1D,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,6CAA6C;CAC/D,OAAO;AACT"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PayloadOf } from "../../runtime/payload.js";
|
|
2
2
|
import { PropType, VNode } from "vue";
|
|
3
3
|
import { ToggleGroupNode, ToggleGroupSchema, ToggleGroupValue } from "@xihan-ui/headless";
|
|
4
|
-
import { Direction, Orientation } from "@xihan-ui/kernel";
|
|
4
|
+
import { Direction, Orientation, Size } from "@xihan-ui/kernel";
|
|
5
5
|
//#region src/components/toggle-group/toggle-group.d.ts
|
|
6
6
|
type ToggleGroupProps = ToggleGroupSchema['props'];
|
|
7
7
|
declare const XhToggleGroupRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -29,6 +29,10 @@ declare const XhToggleGroupRoot: import("vue").DefineComponent<import("vue").Ext
|
|
|
29
29
|
type: BooleanConstructor;
|
|
30
30
|
default: undefined;
|
|
31
31
|
};
|
|
32
|
+
size: {
|
|
33
|
+
type: PropType<Size>;
|
|
34
|
+
default: undefined;
|
|
35
|
+
};
|
|
32
36
|
orientation: {
|
|
33
37
|
type: PropType<Orientation>;
|
|
34
38
|
default: undefined;
|
|
@@ -75,6 +79,10 @@ declare const XhToggleGroupRoot: import("vue").DefineComponent<import("vue").Ext
|
|
|
75
79
|
type: BooleanConstructor;
|
|
76
80
|
default: undefined;
|
|
77
81
|
};
|
|
82
|
+
size: {
|
|
83
|
+
type: PropType<Size>;
|
|
84
|
+
default: undefined;
|
|
85
|
+
};
|
|
78
86
|
orientation: {
|
|
79
87
|
type: PropType<Orientation>;
|
|
80
88
|
default: undefined;
|
|
@@ -101,6 +109,7 @@ declare const XhToggleGroupRoot: import("vue").DefineComponent<import("vue").Ext
|
|
|
101
109
|
defaultValue: ToggleGroupValue;
|
|
102
110
|
orientation: Orientation;
|
|
103
111
|
dir: Direction;
|
|
112
|
+
size: Size;
|
|
104
113
|
disabled: boolean;
|
|
105
114
|
loop: boolean;
|
|
106
115
|
disallowEmpty: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.d.ts","names":[],"sources":["../../../src/components/toggle-group/toggle-group.ts"],"mappings":";;;;;KAQK,mBAAmB;cAEX,iCAAiB,8BAAA;;IAIG,MAAA,SAAS;;;;IACJ,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"toggle-group.d.ts","names":[],"sources":["../../../src/components/toggle-group/toggle-group.ts"],"mappings":";;;;;KAQK,mBAAmB;cAEX,iCAAiB,8BAAA;;IAIG,MAAA,SAAS;;;;IACJ,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;;;;;;;;;;;;;IAI1B,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACjB,MAAA,SAAS;;;;;;;;;;;;;;EAML,iBAAA,UAAA,UAAU;EACZ,iBAAA,QAAA,UAAU;;;IAfN,MAAA,SAAS;;;;IACJ,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;;;;;;;;;;;;;IAI1B,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACjB,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;qCA0BlC;cAEW,iCAAiB,8BAAA;;;;;;;;;;;;;;;;;;;;;;qCAmC5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.js","names":[],"sources":["../../../src/components/toggle-group/toggle-group.ts"],"sourcesContent":["import type { ToggleGroupNode, ToggleGroupNodeMeta, ToggleGroupSchema, ToggleGroupValue } from '@xihan-ui/headless'\nimport type { Direction, Orientation } from '@xihan-ui/kernel'\nimport type { PropType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport { provideToggleGroup, useToggleGroupContext } from './context'\nimport { useToggleGroup } from './use-toggle-group'\n\ntype ToggleGroupProps = ToggleGroupSchema['props']\n\nexport const XhToggleGroupRoot = defineComponent({\n name: 'XhToggleGroupRoot',\n // 全部 default: undefined,缺省值由 connect 决定\n props: {\n collection: { type: Array as PropType<ToggleGroupNode[]>, default: undefined },\n value: { type: [String, Array] as PropType<ToggleGroupValue>, default: undefined },\n defaultValue: { type: [String, Array] as PropType<ToggleGroupValue>, default: undefined },\n multiple: { type: Boolean, default: undefined },\n disabled: { type: Boolean, default: undefined },\n disallowEmpty: { type: Boolean, default: undefined },\n orientation: { type: String as PropType<Orientation>, default: undefined },\n dir: { type: String as PropType<Direction>, default: undefined },\n loop: { type: Boolean, default: undefined },\n rovingFocus: { type: Boolean, default: undefined },\n },\n // value-change 携带 { value },update:value 携带裸值;裸值形态跟随 multiple,单选为字符串、多选为数组\n emits: {\n 'value-change': (_details: PayloadOf<ToggleGroupProps, 'onValueChange'>) => true,\n 'update:value': (_value: PayloadOf<ToggleGroupProps, 'onValueChange'>['value']) => true,\n },\n setup(props, { slots, emit }) {\n const notify: ToggleGroupProps['onValueChange'] = (details) => {\n emit('value-change', details)\n emit('update:value', details.value)\n }\n const ctx = useToggleGroup(props as ToggleGroupProps, notify)\n provideToggleGroup(ctx)\n return () => h(\n 'div',\n ctx.api.value.getRootProps() as Record<string, unknown>,\n slots.default\n ? slots.default()\n : props.collection\n ? renderDefaultTree(ctx.api.value.collection, slots.item)\n : [],\n )\n },\n})\n\nexport const XhToggleGroupItem = defineComponent({\n name: 'XhToggleGroupItem',\n props: {\n value: { type: String, required: true },\n // 缺省交给 connect 回 collection 里查,写死 false 会盖掉数据里的禁用\n disabled: { type: Boolean, default: undefined },\n },\n setup(props, { slots }) {\n const ctx = useToggleGroupContext()\n // 本条目持有焦点时,value 变更重报焦点条目,卸载时上报整组失焦\n const itemEl = ref<HTMLElement | null>(null)\n watch(() => props.value, (next, prev) => {\n if (next === prev)\n return\n const { service } = ctx\n if (service.getStatus() !== 'Started')\n return\n if (itemEl.value && service.scope.getActiveElement() === itemEl.value)\n service.send({ type: 'ITEM.FOCUS', value: next })\n })\n onBeforeUnmount(() => {\n const { service } = ctx\n if (service.getStatus() !== 'Started')\n return\n // 按「本节点当下正持有焦点」判定,不按 value 比对\n if (itemEl.value && service.scope.getActiveElement() === itemEl.value)\n service.send({ type: 'GROUP.BLUR' })\n })\n // 用原生 button,激活交给平台\n return () => h(\n 'button',\n { ...ctx.api.value.getItemProps({ value: props.value, disabled: props.disabled }) as Record<string, unknown>, ref: itemEl },\n slots.default?.(),\n )\n },\n})\n\n/**\n * 没写默认插槽时按 collection 铺开的整套结构,作者只交数据。\n * 与手写部件产出的 DOM 完全一致,要改结构就写默认插槽,行为不变。\n * 条目底下没有文本部件,文字直接落在条目里。\n */\nfunction renderDefaultTree(\n collection: readonly ToggleGroupNodeMeta[],\n itemSlot?: (node: ToggleGroupNodeMeta) => VNode[],\n): VNode[] {\n return collection.map(node => h(\n XhToggleGroupItem,\n { key: node.value, value: node.value },\n () => itemSlot?.(node) ?? node.label,\n ))\n}\n"],"mappings":";;;;AAUA,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CAEN,OAAO;EACL,YAAY;GAAE,MAAM;GAAsC,SAAS,KAAA;EAAU;EAC7E,OAAO;GAAE,MAAM,CAAC,QAAQ,KAAK;GAAiC,SAAS,KAAA;EAAU;EACjF,cAAc;GAAE,MAAM,CAAC,QAAQ,KAAK;GAAiC,SAAS,KAAA;EAAU;EACxF,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,eAAe;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EACnD,aAAa;GAAE,MAAM;GAAiC,SAAS,KAAA;EAAU;EACzE,KAAK;GAAE,MAAM;GAA+B,SAAS,KAAA;EAAU;EAC/D,MAAM;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC1C,aAAa;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;CACnD;CAEA,OAAO;EACL,iBAAiB,aAA2D;EAC5E,iBAAiB,WAAkE;CACrF;CACA,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,UAA6C,YAAY;GAC7D,KAAK,gBAAgB,OAAO;GAC5B,KAAK,gBAAgB,QAAQ,KAAK;EACpC;EACA,MAAM,MAAM,eAAe,OAA2B,MAAM;EAC5D,mBAAmB,GAAG;EACtB,aAAa,EACX,OACA,IAAI,IAAI,MAAM,aAAa,GAC3B,MAAM,UACF,MAAM,QAAQ,IACd,MAAM,aACJ,kBAAkB,IAAI,IAAI,MAAM,YAAY,MAAM,IAAI,IACtD,CAAC,CACT;CACF;AACF,CAAC;AAED,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CACN,OAAO;EACL,OAAO;GAAE,MAAM;GAAQ,UAAU;EAAK;EAEtC,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;CAChD;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,sBAAsB;EAElC,MAAM,SAAS,IAAwB,IAAI;EAC3C,YAAY,MAAM,QAAQ,MAAM,SAAS;GACvC,IAAI,SAAS,MACX;GACF,MAAM,EAAE,YAAY;GACpB,IAAI,QAAQ,UAAU,MAAM,WAC1B;GACF,IAAI,OAAO,SAAS,QAAQ,MAAM,iBAAiB,MAAM,OAAO,OAC9D,QAAQ,KAAK;IAAE,MAAM;IAAc,OAAO;GAAK,CAAC;EACpD,CAAC;EACD,sBAAsB;GACpB,MAAM,EAAE,YAAY;GACpB,IAAI,QAAQ,UAAU,MAAM,WAC1B;GAEF,IAAI,OAAO,SAAS,QAAQ,MAAM,iBAAiB,MAAM,OAAO,OAC9D,QAAQ,KAAK,EAAE,MAAM,aAAa,CAAC;EACvC,CAAC;EAED,aAAa,EACX,UACA;GAAE,GAAG,IAAI,IAAI,MAAM,aAAa;IAAE,OAAO,MAAM;IAAO,UAAU,MAAM;GAAS,CAAC;GAA8B,KAAK;EAAO,GAC1H,MAAM,UAAU,CAClB;CACF;AACF,CAAC;;;;;;AAOD,SAAS,kBACP,YACA,UACS;CACT,OAAO,WAAW,KAAI,SAAQ,EAC5B,mBACA;EAAE,KAAK,KAAK;EAAO,OAAO,KAAK;CAAM,SAC/B,WAAW,IAAI,KAAK,KAAK,KACjC,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"toggle-group.js","names":[],"sources":["../../../src/components/toggle-group/toggle-group.ts"],"sourcesContent":["import type { ToggleGroupNode, ToggleGroupNodeMeta, ToggleGroupSchema, ToggleGroupValue } from '@xihan-ui/headless'\nimport type { Direction, Orientation, Size } from '@xihan-ui/kernel'\nimport type { PropType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport { provideToggleGroup, useToggleGroupContext } from './context'\nimport { useToggleGroup } from './use-toggle-group'\n\ntype ToggleGroupProps = ToggleGroupSchema['props']\n\nexport const XhToggleGroupRoot = defineComponent({\n name: 'XhToggleGroupRoot',\n // 全部 default: undefined,缺省值由 connect 决定\n props: {\n collection: { type: Array as PropType<ToggleGroupNode[]>, default: undefined },\n value: { type: [String, Array] as PropType<ToggleGroupValue>, default: undefined },\n defaultValue: { type: [String, Array] as PropType<ToggleGroupValue>, default: undefined },\n multiple: { type: Boolean, default: undefined },\n disabled: { type: Boolean, default: undefined },\n disallowEmpty: { type: Boolean, default: undefined },\n size: { type: String as PropType<Size>, default: undefined },\n orientation: { type: String as PropType<Orientation>, default: undefined },\n dir: { type: String as PropType<Direction>, default: undefined },\n loop: { type: Boolean, default: undefined },\n rovingFocus: { type: Boolean, default: undefined },\n },\n // value-change 携带 { value },update:value 携带裸值;裸值形态跟随 multiple,单选为字符串、多选为数组\n emits: {\n 'value-change': (_details: PayloadOf<ToggleGroupProps, 'onValueChange'>) => true,\n 'update:value': (_value: PayloadOf<ToggleGroupProps, 'onValueChange'>['value']) => true,\n },\n setup(props, { slots, emit }) {\n const notify: ToggleGroupProps['onValueChange'] = (details) => {\n emit('value-change', details)\n emit('update:value', details.value)\n }\n const ctx = useToggleGroup(props as ToggleGroupProps, notify)\n provideToggleGroup(ctx)\n return () => h(\n 'div',\n ctx.api.value.getRootProps() as Record<string, unknown>,\n slots.default\n ? slots.default()\n : props.collection\n ? renderDefaultTree(ctx.api.value.collection, slots.item)\n : [],\n )\n },\n})\n\nexport const XhToggleGroupItem = defineComponent({\n name: 'XhToggleGroupItem',\n props: {\n value: { type: String, required: true },\n // 缺省交给 connect 回 collection 里查,写死 false 会盖掉数据里的禁用\n disabled: { type: Boolean, default: undefined },\n },\n setup(props, { slots }) {\n const ctx = useToggleGroupContext()\n // 本条目持有焦点时,value 变更重报焦点条目,卸载时上报整组失焦\n const itemEl = ref<HTMLElement | null>(null)\n watch(() => props.value, (next, prev) => {\n if (next === prev)\n return\n const { service } = ctx\n if (service.getStatus() !== 'Started')\n return\n if (itemEl.value && service.scope.getActiveElement() === itemEl.value)\n service.send({ type: 'ITEM.FOCUS', value: next })\n })\n onBeforeUnmount(() => {\n const { service } = ctx\n if (service.getStatus() !== 'Started')\n return\n // 按「本节点当下正持有焦点」判定,不按 value 比对\n if (itemEl.value && service.scope.getActiveElement() === itemEl.value)\n service.send({ type: 'GROUP.BLUR' })\n })\n // 用原生 button,激活交给平台\n return () => h(\n 'button',\n { ...ctx.api.value.getItemProps({ value: props.value, disabled: props.disabled }) as Record<string, unknown>, ref: itemEl },\n slots.default?.(),\n )\n },\n})\n\n/**\n * 没写默认插槽时按 collection 铺开的整套结构,作者只交数据。\n * 与手写部件产出的 DOM 完全一致,要改结构就写默认插槽,行为不变。\n * 条目底下没有文本部件,文字直接落在条目里。\n */\nfunction renderDefaultTree(\n collection: readonly ToggleGroupNodeMeta[],\n itemSlot?: (node: ToggleGroupNodeMeta) => VNode[],\n): VNode[] {\n return collection.map(node => h(\n XhToggleGroupItem,\n { key: node.value, value: node.value },\n () => itemSlot?.(node) ?? node.label,\n ))\n}\n"],"mappings":";;;;AAUA,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CAEN,OAAO;EACL,YAAY;GAAE,MAAM;GAAsC,SAAS,KAAA;EAAU;EAC7E,OAAO;GAAE,MAAM,CAAC,QAAQ,KAAK;GAAiC,SAAS,KAAA;EAAU;EACjF,cAAc;GAAE,MAAM,CAAC,QAAQ,KAAK;GAAiC,SAAS,KAAA;EAAU;EACxF,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,eAAe;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EACnD,MAAM;GAAE,MAAM;GAA0B,SAAS,KAAA;EAAU;EAC3D,aAAa;GAAE,MAAM;GAAiC,SAAS,KAAA;EAAU;EACzE,KAAK;GAAE,MAAM;GAA+B,SAAS,KAAA;EAAU;EAC/D,MAAM;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC1C,aAAa;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;CACnD;CAEA,OAAO;EACL,iBAAiB,aAA2D;EAC5E,iBAAiB,WAAkE;CACrF;CACA,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,UAA6C,YAAY;GAC7D,KAAK,gBAAgB,OAAO;GAC5B,KAAK,gBAAgB,QAAQ,KAAK;EACpC;EACA,MAAM,MAAM,eAAe,OAA2B,MAAM;EAC5D,mBAAmB,GAAG;EACtB,aAAa,EACX,OACA,IAAI,IAAI,MAAM,aAAa,GAC3B,MAAM,UACF,MAAM,QAAQ,IACd,MAAM,aACJ,kBAAkB,IAAI,IAAI,MAAM,YAAY,MAAM,IAAI,IACtD,CAAC,CACT;CACF;AACF,CAAC;AAED,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CACN,OAAO;EACL,OAAO;GAAE,MAAM;GAAQ,UAAU;EAAK;EAEtC,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;CAChD;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,sBAAsB;EAElC,MAAM,SAAS,IAAwB,IAAI;EAC3C,YAAY,MAAM,QAAQ,MAAM,SAAS;GACvC,IAAI,SAAS,MACX;GACF,MAAM,EAAE,YAAY;GACpB,IAAI,QAAQ,UAAU,MAAM,WAC1B;GACF,IAAI,OAAO,SAAS,QAAQ,MAAM,iBAAiB,MAAM,OAAO,OAC9D,QAAQ,KAAK;IAAE,MAAM;IAAc,OAAO;GAAK,CAAC;EACpD,CAAC;EACD,sBAAsB;GACpB,MAAM,EAAE,YAAY;GACpB,IAAI,QAAQ,UAAU,MAAM,WAC1B;GAEF,IAAI,OAAO,SAAS,QAAQ,MAAM,iBAAiB,MAAM,OAAO,OAC9D,QAAQ,KAAK,EAAE,MAAM,aAAa,CAAC;EACvC,CAAC;EAED,aAAa,EACX,UACA;GAAE,GAAG,IAAI,IAAI,MAAM,aAAa;IAAE,OAAO,MAAM;IAAO,UAAU,MAAM;GAAS,CAAC;GAA8B,KAAK;EAAO,GAC1H,MAAM,UAAU,CAClB;CACF;AACF,CAAC;;;;;;AAOD,SAAS,kBACP,YACA,UACS;CACT,OAAO,WAAW,KAAI,SAAQ,EAC5B,mBACA;EAAE,KAAK,KAAK;EAAO,OAAO,KAAK;CAAM,SAC/B,WAAW,IAAI,KAAK,KAAK,KACjC,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/toolbar/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { ToolbarContext } from './use-toolbar'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<ToolbarContext> = Symbol('xh-toolbar')\n\nexport function provideToolbar(ctx: ToolbarContext): void {\n provide(KEY, ctx)\n}\n\nexport function useToolbarContext(): ToolbarContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Toolbar 部件必须用在 XhToolbarRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAoC,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/toolbar/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { ToolbarContext } from './use-toolbar'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<ToolbarContext> = Symbol.for('xh-toolbar')\n\nexport function provideToolbar(ctx: ToolbarContext): void {\n provide(KEY, ctx)\n}\n\nexport function useToolbarContext(): ToolbarContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Toolbar 部件必须用在 XhToolbarRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAoC,OAAO,IAAI,YAAY;AAEjE,SAAgB,eAAe,KAA2B;CACxD,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,oBAAoC;CAClD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,qCAAqC;CACvD,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/tooltip/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { TooltipContext } from './use-tooltip'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<TooltipContext> = Symbol('xh-tooltip')\n\nexport function provideTooltip(ctx: TooltipContext): void {\n provide(KEY, ctx)\n}\n\nexport function useTooltipContext(): TooltipContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Tooltip 部件必须用在 XhTooltipRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAoC,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/tooltip/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { TooltipContext } from './use-tooltip'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<TooltipContext> = Symbol.for('xh-tooltip')\n\nexport function provideTooltip(ctx: TooltipContext): void {\n provide(KEY, ctx)\n}\n\nexport function useTooltipContext(): TooltipContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Tooltip 部件必须用在 XhTooltipRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAoC,OAAO,IAAI,YAAY;AAEjE,SAAgB,eAAe,KAA2B;CACxD,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,oBAAoC;CAClD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,qCAAqC;CACvD,OAAO;AACT"}
|
|
@@ -80,18 +80,26 @@ declare const XhTooltipRoot: import("vue").DefineComponent<import("vue").Extract
|
|
|
80
80
|
tone: Tone;
|
|
81
81
|
size: Size;
|
|
82
82
|
disabled: boolean;
|
|
83
|
+
offset: number;
|
|
83
84
|
open: boolean;
|
|
84
85
|
defaultOpen: boolean;
|
|
85
|
-
offset: number;
|
|
86
86
|
placement: Placement;
|
|
87
87
|
openDelay: number;
|
|
88
88
|
closeDelay: number;
|
|
89
89
|
}, SlotsType<{
|
|
90
90
|
default?: (props: TooltipRootSlotProps) => VNode[];
|
|
91
91
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
92
|
-
declare const XhTooltipTrigger: import("vue").DefineComponent<
|
|
92
|
+
declare const XhTooltipTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
93
|
+
/** 借用作者的子节点当触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */
|
|
94
|
+
asChild: BooleanConstructor;
|
|
95
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
93
96
|
[key: string]: any;
|
|
94
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<
|
|
97
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
98
|
+
/** 借用作者的子节点当触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */
|
|
99
|
+
asChild: BooleanConstructor;
|
|
100
|
+
}>> & Readonly<{}>, {
|
|
101
|
+
asChild: boolean;
|
|
102
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
95
103
|
declare const XhTooltipPositioner: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
96
104
|
[key: string]: any;
|
|
97
105
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -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":";;;;;KASK,eAAe;;KAGR,uBAAuB,KAAK;cAE3B,6BAAa,8BAAA;;;;;;;IAKO,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKd,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;EAIP,gBAAA,UAAA,UAAU;EACb,gBAAA,OAAA,UAAU;;;;;;;;IAXJ,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKd,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;;;;;;;;;;;;EAQvB,WAAC,OAAO,yBAAyB;kCAW7C;cAEW,gCAAgB,8BAAA;;;;;;;;;;qCAuB3B;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAc9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAY3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,8BAAc,0BAAA,oBAAA,4BAAA;;8BAMzB,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { mergeIntoChild } from "../../runtime/as-child.js";
|
|
1
2
|
import { provideTooltip, useTooltipContext } from "./context.js";
|
|
2
3
|
import { useTooltip } from "./use-tooltip.js";
|
|
3
|
-
import { defineComponent, h } from "vue";
|
|
4
|
+
import { Teleport, defineComponent, h, mergeProps } from "vue";
|
|
4
5
|
//#region src/components/tooltip/tooltip.ts
|
|
5
6
|
const XhTooltipRoot = defineComponent({
|
|
6
7
|
name: "XhTooltipRoot",
|
|
@@ -56,33 +57,51 @@ const XhTooltipRoot = defineComponent({
|
|
|
56
57
|
});
|
|
57
58
|
const XhTooltipTrigger = defineComponent({
|
|
58
59
|
name: "XhTooltipTrigger",
|
|
59
|
-
|
|
60
|
+
props: {
|
|
61
|
+
/** 借用作者的子节点当触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */
|
|
62
|
+
asChild: Boolean },
|
|
63
|
+
setup(props, { slots }) {
|
|
60
64
|
const ctx = useTooltipContext();
|
|
61
|
-
return () =>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
return () => {
|
|
66
|
+
const attrs = {
|
|
67
|
+
...ctx.api.value.getTriggerProps(),
|
|
68
|
+
ref: (el) => {
|
|
69
|
+
ctx.triggerRef.value = el;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const children = slots.default?.();
|
|
73
|
+
if (props.asChild) {
|
|
74
|
+
const merged = mergeIntoChild(children, attrs, "tooltip");
|
|
75
|
+
if (merged) return merged;
|
|
65
76
|
}
|
|
66
|
-
|
|
77
|
+
return h("button", attrs, children);
|
|
78
|
+
};
|
|
67
79
|
}
|
|
68
80
|
});
|
|
69
81
|
const XhTooltipPositioner = defineComponent({
|
|
70
82
|
name: "XhTooltipPositioner",
|
|
71
|
-
|
|
83
|
+
inheritAttrs: false,
|
|
84
|
+
setup(_, { slots, attrs }) {
|
|
72
85
|
const ctx = useTooltipContext();
|
|
73
|
-
return () => h("div", {
|
|
74
|
-
...ctx.api.value.getPositionerProps(),
|
|
86
|
+
return () => h(Teleport, { to: ctx.portalTarget.value }, [h("div", {
|
|
87
|
+
...mergeProps(ctx.api.value.getPositionerProps(), attrs),
|
|
75
88
|
ref: (el) => {
|
|
76
89
|
ctx.positionerRef.value = el;
|
|
77
90
|
}
|
|
78
|
-
}, slots.default?.());
|
|
91
|
+
}, slots.default?.())]);
|
|
79
92
|
}
|
|
80
93
|
});
|
|
81
94
|
const XhTooltipContent = defineComponent({
|
|
82
95
|
name: "XhTooltipContent",
|
|
83
96
|
setup(_, { slots }) {
|
|
84
97
|
const ctx = useTooltipContext();
|
|
85
|
-
return () => h("div",
|
|
98
|
+
return () => h("div", {
|
|
99
|
+
...ctx.api.value.getContentProps(),
|
|
100
|
+
style: ctx.visible.value ? void 0 : { display: "none" },
|
|
101
|
+
ref: (el) => {
|
|
102
|
+
ctx.contentRef.value = el;
|
|
103
|
+
}
|
|
104
|
+
}, slots.default?.());
|
|
86
105
|
}
|
|
87
106
|
});
|
|
88
107
|
const XhTooltipArrow = defineComponent({
|