@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-scroll-area.d.ts","names":[],"sources":["../../../src/components/scroll-area/use-scroll-area.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-scroll-area.d.ts","names":[],"sources":["../../../src/components/scroll-area/use-scroll-area.ts"],"mappings":";;;;UAUiB;;EAEf,UAAU;EACV,KAAK,YAAY;;EAEjB,aAAa,IAAI;;EAEjB,YAAY,IAAI;;EAEhB,eAAe,OAAO,aAAa,IAAI;EACvC,WAAW,OAAO,aAAa,IAAI;;;iBAIrB,cAAc,QAAQ,iBAAiB,mBAAmB"}
|
|
@@ -1,27 +1,41 @@
|
|
|
1
1
|
import { vueNormalize } from "../../runtime/normalize-props.js";
|
|
2
2
|
import { useMachine } from "../../runtime/use-machine.js";
|
|
3
3
|
import { createVueIdGenerator } from "../../runtime/vue-id.js";
|
|
4
|
-
import { computed, ref } from "vue";
|
|
5
|
-
import { connectScrollArea,
|
|
4
|
+
import { computed, ref, toValue } from "vue";
|
|
5
|
+
import { connectScrollArea, scrollAreaScrollbarProps, scrollbarMachine } from "@xihan-ui/headless";
|
|
6
6
|
import { createScope } from "@xihan-ui/kernel";
|
|
7
7
|
//#region src/components/scroll-area/use-scroll-area.ts
|
|
8
|
-
|
|
8
|
+
/** 滚动区没有自己的机器:按轴各建一台 scrollbar,视口就是它们共同的滚动容器。 */
|
|
9
|
+
function useScrollArea(source) {
|
|
9
10
|
const viewportRef = ref(null);
|
|
10
11
|
const contentRef = ref(null);
|
|
11
12
|
const scrollbarRefs = {
|
|
12
13
|
vertical: ref(null),
|
|
13
14
|
horizontal: ref(null)
|
|
14
15
|
};
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
const trackRefs = {
|
|
17
|
+
vertical: ref(null),
|
|
18
|
+
horizontal: ref(null)
|
|
19
|
+
};
|
|
20
|
+
const scope = createScope(null, createVueIdGenerator());
|
|
21
|
+
const bar = (axis) => {
|
|
22
|
+
const service = useMachine(scrollbarMachine, () => scrollAreaScrollbarProps(toValue(source), axis), scope);
|
|
23
|
+
service.refs.set("getScrollableEl", () => viewportRef.value);
|
|
24
|
+
service.refs.set("getTrackEl", () => trackRefs[axis].value);
|
|
25
|
+
service.refs.set("getRootEl", () => scrollbarRefs[axis].value);
|
|
26
|
+
return service;
|
|
27
|
+
};
|
|
28
|
+
const services = {
|
|
29
|
+
vertical: bar("vertical"),
|
|
30
|
+
horizontal: bar("horizontal")
|
|
31
|
+
};
|
|
19
32
|
return {
|
|
20
|
-
|
|
21
|
-
api: computed(() => connectScrollArea(
|
|
33
|
+
services,
|
|
34
|
+
api: computed(() => connectScrollArea(services, toValue(source), vueNormalize)),
|
|
22
35
|
viewportRef,
|
|
23
36
|
contentRef,
|
|
24
|
-
scrollbarRefs
|
|
37
|
+
scrollbarRefs,
|
|
38
|
+
trackRefs
|
|
25
39
|
};
|
|
26
40
|
}
|
|
27
41
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-scroll-area.js","names":[],"sources":["../../../src/components/scroll-area/use-scroll-area.ts"],"sourcesContent":["import type { ScrollAreaApi,
|
|
1
|
+
{"version":3,"file":"use-scroll-area.js","names":[],"sources":["../../../src/components/scroll-area/use-scroll-area.ts"],"sourcesContent":["import type { ScrollAreaApi, ScrollAreaProps, ScrollAreaServices } from '@xihan-ui/headless'\nimport type { Orientation } from '@xihan-ui/kernel'\nimport type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue'\nimport { connectScrollArea, scrollAreaScrollbarProps, scrollbarMachine } from '@xihan-ui/headless'\nimport { createScope } from '@xihan-ui/kernel'\nimport { computed, ref, toValue } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\nimport { createVueIdGenerator } from '../../runtime/vue-id'\n\nexport interface ScrollAreaContext {\n /** 两条轴各一台 scrollbar 机器。 */\n services: ScrollAreaServices\n api: ComputedRef<ScrollAreaApi>\n /** overflow:auto 的那层,两台机器都挂在它身上。 */\n viewportRef: Ref<HTMLElement | null>\n /** 内容包裹层。 */\n contentRef: Ref<HTMLElement | null>\n /** 两条轴各自的挂载点(即那条 scrollbar 的根)与轨道,按轴现量。 */\n scrollbarRefs: Record<Orientation, Ref<HTMLElement | null>>\n trackRefs: Record<Orientation, Ref<HTMLElement | null>>\n}\n\n/** 滚动区没有自己的机器:按轴各建一台 scrollbar,视口就是它们共同的滚动容器。 */\nexport function useScrollArea(source: MaybeRefOrGetter<ScrollAreaProps>): ScrollAreaContext {\n const viewportRef = ref<HTMLElement | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbarRefs: Record<Orientation, Ref<HTMLElement | null>> = {\n vertical: ref<HTMLElement | null>(null),\n horizontal: ref<HTMLElement | null>(null),\n }\n const trackRefs: Record<Orientation, Ref<HTMLElement | null>> = {\n vertical: ref<HTMLElement | null>(null),\n horizontal: ref<HTMLElement | null>(null),\n }\n\n const idGen = createVueIdGenerator()\n const scope = createScope(null, idGen)\n const bar = (axis: Orientation): ScrollAreaServices[Orientation] => {\n // 每次取值现读 props:挂载后改 type / orientation 机器要跟着变\n const service = useMachine(scrollbarMachine, () => scrollAreaScrollbarProps(toValue(source), axis), scope)\n // 传 getter 而非节点,ref 在挂载后才有值;量尺寸与挂监听都在机器的效应里进行\n service.refs.set('getScrollableEl', () => viewportRef.value)\n service.refs.set('getTrackEl', () => trackRefs[axis].value)\n service.refs.set('getRootEl', () => scrollbarRefs[axis].value)\n return service\n }\n const services: ScrollAreaServices = { vertical: bar('vertical'), horizontal: bar('horizontal') }\n\n const api = computed(() => connectScrollArea(services, toValue(source), vueNormalize))\n return { services, api, viewportRef, contentRef, scrollbarRefs, trackRefs }\n}\n"],"mappings":";;;;;;;;AAwBA,SAAgB,cAAc,QAA8D;CAC1F,MAAM,cAAc,IAAwB,IAAI;CAChD,MAAM,aAAa,IAAwB,IAAI;CAC/C,MAAM,gBAA8D;EAClE,UAAU,IAAwB,IAAI;EACtC,YAAY,IAAwB,IAAI;CAC1C;CACA,MAAM,YAA0D;EAC9D,UAAU,IAAwB,IAAI;EACtC,YAAY,IAAwB,IAAI;CAC1C;CAGA,MAAM,QAAQ,YAAY,MADZ,qBACsB,CAAC;CACrC,MAAM,OAAO,SAAuD;EAElE,MAAM,UAAU,WAAW,wBAAwB,yBAAyB,QAAQ,MAAM,GAAG,IAAI,GAAG,KAAK;EAEzG,QAAQ,KAAK,IAAI,yBAAyB,YAAY,KAAK;EAC3D,QAAQ,KAAK,IAAI,oBAAoB,UAAU,KAAK,CAAC,KAAK;EAC1D,QAAQ,KAAK,IAAI,mBAAmB,cAAc,KAAK,CAAC,KAAK;EAC7D,OAAO;CACT;CACA,MAAM,WAA+B;EAAE,UAAU,IAAI,UAAU;EAAG,YAAY,IAAI,YAAY;CAAE;CAGhG,OAAO;EAAE;EAAU,KADP,eAAe,kBAAkB,UAAU,QAAQ,MAAM,GAAG,YAAY,CAC/D;EAAG;EAAa;EAAY;EAAe;CAAU;AAC5E"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ScrollbarContext } from "./use-scrollbar.js";
|
|
2
|
+
//#region src/components/scrollbar/context.d.ts
|
|
3
|
+
declare function provideScrollbar(ctx: ScrollbarContext): void;
|
|
4
|
+
declare function useScrollbarContext(): ScrollbarContext;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { provideScrollbar, useScrollbarContext };
|
|
7
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/components/scrollbar/context.ts"],"mappings":";;iBAMgB,iBAAiB,KAAK;iBAItB,uBAAuB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { inject, provide } from "vue";
|
|
2
|
+
//#region src/components/scrollbar/context.ts
|
|
3
|
+
const KEY = Symbol.for("xh-scrollbar");
|
|
4
|
+
function provideScrollbar(ctx) {
|
|
5
|
+
provide(KEY, ctx);
|
|
6
|
+
}
|
|
7
|
+
function useScrollbarContext() {
|
|
8
|
+
const ctx = inject(KEY, null);
|
|
9
|
+
if (!ctx) throw new Error("[xh] Scrollbar 部件必须用在 XhScrollbarRoot 内");
|
|
10
|
+
return ctx;
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { provideScrollbar, useScrollbarContext };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/scrollbar/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { ScrollbarContext } from './use-scrollbar'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<ScrollbarContext> = Symbol.for('xh-scrollbar')\n\nexport function provideScrollbar(ctx: ScrollbarContext): void {\n provide(KEY, ctx)\n}\n\nexport function useScrollbarContext(): ScrollbarContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Scrollbar 部件必须用在 XhScrollbarRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAsC,OAAO,IAAI,cAAc;AAErE,SAAgB,iBAAiB,KAA6B;CAC5D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,sBAAwC;CACtD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,yCAAyC;CAC3D,OAAO;AACT"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { PayloadOf } from "../../runtime/payload.js";
|
|
2
|
+
import { ScrollbarTarget } from "./use-scrollbar.js";
|
|
3
|
+
import { PropType, SlotsType, VNode } from "vue";
|
|
4
|
+
import { ScrollbarApi, ScrollbarSchema, ScrollbarType } from "@xihan-ui/headless";
|
|
5
|
+
import { Direction, Orientation, Size } from "@xihan-ui/kernel";
|
|
6
|
+
//#region src/components/scrollbar/scrollbar.d.ts
|
|
7
|
+
type ScrollbarProps = ScrollbarSchema['props'];
|
|
8
|
+
/** 默认插槽的载荷:这一条此刻的显隐、几何与位置,以及两个命令式动作。 */
|
|
9
|
+
type ScrollbarRootSlotProps = Pick<ScrollbarApi, 'visible' | 'native' | 'overflow' | 'dragging' | 'scrolling' | 'thumbSize' | 'thumbOffset' | 'scroll' | 'max' | 'scrollTo' | 'scrollBy'>;
|
|
10
|
+
declare const XhScrollbarRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
11
|
+
/**
|
|
12
|
+
* 真正在滚的那个元素,或者取它的函数。它不必是本组件的后代——
|
|
13
|
+
* 表格的滚动盒、虚拟滚动的视口、随手一个 overflow:auto 的 div 都行。
|
|
14
|
+
*/
|
|
15
|
+
scrollable: {
|
|
16
|
+
type: PropType<ScrollbarTarget>;
|
|
17
|
+
default: undefined;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* 滚动容器的 id。没给 scrollable 时按它去查节点;focusable 时它同时落到滑块的 aria-controls 上。
|
|
21
|
+
*/
|
|
22
|
+
controls: {
|
|
23
|
+
type: StringConstructor;
|
|
24
|
+
default: undefined;
|
|
25
|
+
};
|
|
26
|
+
orientation: {
|
|
27
|
+
type: PropType<Orientation>;
|
|
28
|
+
default: undefined;
|
|
29
|
+
};
|
|
30
|
+
type: {
|
|
31
|
+
type: PropType<ScrollbarType>;
|
|
32
|
+
default: undefined;
|
|
33
|
+
};
|
|
34
|
+
hideDelay: {
|
|
35
|
+
type: NumberConstructor;
|
|
36
|
+
default: undefined;
|
|
37
|
+
};
|
|
38
|
+
minThumbSize: {
|
|
39
|
+
type: NumberConstructor;
|
|
40
|
+
default: undefined;
|
|
41
|
+
};
|
|
42
|
+
step: {
|
|
43
|
+
type: NumberConstructor;
|
|
44
|
+
default: undefined;
|
|
45
|
+
};
|
|
46
|
+
size: {
|
|
47
|
+
type: PropType<Size>;
|
|
48
|
+
default: undefined;
|
|
49
|
+
};
|
|
50
|
+
disabled: BooleanConstructor;
|
|
51
|
+
/** 滑块进 Tab 序并报 role=scrollbar;缺省不进,滚动仍归滚动容器自己。 */
|
|
52
|
+
focusable: BooleanConstructor;
|
|
53
|
+
/** 横竖两条同时摆着时在末端让出交叉口那一格,交叉口由 XhScrollbarCorner 补。 */
|
|
54
|
+
gutter: BooleanConstructor;
|
|
55
|
+
/** 触屏(粗指针)上也显形;缺省交给原生滚动,整条不画。 */
|
|
56
|
+
forceVisible: BooleanConstructor;
|
|
57
|
+
dir: {
|
|
58
|
+
type: PropType<Direction>;
|
|
59
|
+
default: undefined;
|
|
60
|
+
};
|
|
61
|
+
translations: {
|
|
62
|
+
type: PropType<ScrollbarProps["translations"]>;
|
|
63
|
+
default: undefined;
|
|
64
|
+
};
|
|
65
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
66
|
+
[key: string]: any;
|
|
67
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
68
|
+
'scroll-start': (_details: PayloadOf<ScrollbarProps, "onScrollStart">) => true;
|
|
69
|
+
'scroll-end': (_details: PayloadOf<ScrollbarProps, "onScrollEnd">) => true;
|
|
70
|
+
'drag-start': (_details: PayloadOf<ScrollbarProps, "onDragStart">) => true;
|
|
71
|
+
'drag-end': (_details: PayloadOf<ScrollbarProps, "onDragEnd">) => true;
|
|
72
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
73
|
+
/**
|
|
74
|
+
* 真正在滚的那个元素,或者取它的函数。它不必是本组件的后代——
|
|
75
|
+
* 表格的滚动盒、虚拟滚动的视口、随手一个 overflow:auto 的 div 都行。
|
|
76
|
+
*/
|
|
77
|
+
scrollable: {
|
|
78
|
+
type: PropType<ScrollbarTarget>;
|
|
79
|
+
default: undefined;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* 滚动容器的 id。没给 scrollable 时按它去查节点;focusable 时它同时落到滑块的 aria-controls 上。
|
|
83
|
+
*/
|
|
84
|
+
controls: {
|
|
85
|
+
type: StringConstructor;
|
|
86
|
+
default: undefined;
|
|
87
|
+
};
|
|
88
|
+
orientation: {
|
|
89
|
+
type: PropType<Orientation>;
|
|
90
|
+
default: undefined;
|
|
91
|
+
};
|
|
92
|
+
type: {
|
|
93
|
+
type: PropType<ScrollbarType>;
|
|
94
|
+
default: undefined;
|
|
95
|
+
};
|
|
96
|
+
hideDelay: {
|
|
97
|
+
type: NumberConstructor;
|
|
98
|
+
default: undefined;
|
|
99
|
+
};
|
|
100
|
+
minThumbSize: {
|
|
101
|
+
type: NumberConstructor;
|
|
102
|
+
default: undefined;
|
|
103
|
+
};
|
|
104
|
+
step: {
|
|
105
|
+
type: NumberConstructor;
|
|
106
|
+
default: undefined;
|
|
107
|
+
};
|
|
108
|
+
size: {
|
|
109
|
+
type: PropType<Size>;
|
|
110
|
+
default: undefined;
|
|
111
|
+
};
|
|
112
|
+
disabled: BooleanConstructor;
|
|
113
|
+
/** 滑块进 Tab 序并报 role=scrollbar;缺省不进,滚动仍归滚动容器自己。 */
|
|
114
|
+
focusable: BooleanConstructor;
|
|
115
|
+
/** 横竖两条同时摆着时在末端让出交叉口那一格,交叉口由 XhScrollbarCorner 补。 */
|
|
116
|
+
gutter: BooleanConstructor;
|
|
117
|
+
/** 触屏(粗指针)上也显形;缺省交给原生滚动,整条不画。 */
|
|
118
|
+
forceVisible: BooleanConstructor;
|
|
119
|
+
dir: {
|
|
120
|
+
type: PropType<Direction>;
|
|
121
|
+
default: undefined;
|
|
122
|
+
};
|
|
123
|
+
translations: {
|
|
124
|
+
type: PropType<ScrollbarProps["translations"]>;
|
|
125
|
+
default: undefined;
|
|
126
|
+
};
|
|
127
|
+
}>> & Readonly<{
|
|
128
|
+
"onScroll-start"?: ((_details: import("@xihan-ui/headless").ScrollbarScrollDetails) => any) | undefined;
|
|
129
|
+
"onScroll-end"?: ((_details: import("@xihan-ui/headless").ScrollbarScrollDetails) => any) | undefined;
|
|
130
|
+
"onDrag-start"?: ((_details: import("@xihan-ui/headless").ScrollbarScrollDetails) => any) | undefined;
|
|
131
|
+
"onDrag-end"?: ((_details: import("@xihan-ui/headless").ScrollbarScrollDetails) => any) | undefined;
|
|
132
|
+
}>, {
|
|
133
|
+
type: ScrollbarType;
|
|
134
|
+
orientation: Orientation;
|
|
135
|
+
dir: Direction;
|
|
136
|
+
size: Size;
|
|
137
|
+
disabled: boolean;
|
|
138
|
+
translations: Partial<import("@xihan-ui/headless").ScrollbarTranslations> | undefined;
|
|
139
|
+
step: number;
|
|
140
|
+
forceVisible: boolean;
|
|
141
|
+
hideDelay: number;
|
|
142
|
+
focusable: boolean;
|
|
143
|
+
gutter: boolean;
|
|
144
|
+
scrollable: ScrollbarTarget;
|
|
145
|
+
controls: string;
|
|
146
|
+
minThumbSize: number;
|
|
147
|
+
}, SlotsType<{
|
|
148
|
+
default?: (props: ScrollbarRootSlotProps) => VNode[];
|
|
149
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
150
|
+
declare const XhScrollbarTrack: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
151
|
+
[key: string]: any;
|
|
152
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
153
|
+
declare const XhScrollbarThumb: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
154
|
+
[key: string]: any;
|
|
155
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
156
|
+
/** 交叉口补丁:写在其中一条的根里,贴在它末端之外那一格,跟着这一条显隐。 */
|
|
157
|
+
declare const XhScrollbarCorner: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
158
|
+
[key: string]: any;
|
|
159
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
160
|
+
//#endregion
|
|
161
|
+
export { ScrollbarRootSlotProps, XhScrollbarCorner, XhScrollbarRoot, XhScrollbarThumb, XhScrollbarTrack };
|
|
162
|
+
//# sourceMappingURL=scrollbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollbar.d.ts","names":[],"sources":["../../../src/components/scrollbar/scrollbar.ts"],"mappings":";;;;;;KAUK,iBAAiB;;KAGV,yBAAyB,KACnC;cAIW,+BAAe,8BAAA;;;;;;IAQkB,MAAA,SAAS;;;;;;;;;;;IAKpB,MAAA,SAAS;;;;IAChB,MAAA,SAAS;;;;;;;;;;;;;;;;IAIT,MAAA,SAAS;;;;;;;;;;;IAQV,MAAA,SAAS;;;;IACA,MAAA,SAAS;;;;;;EAId,iBAAA,UAAA,UAAU;EACZ,eAAA,UAAA,UAAU;EACV,eAAA,UAAA,UAAU;EACZ,aAAA,UAAA,UAAU;;;;;;;IA1BS,MAAA,SAAS;;;;;;;;;;;IAKpB,MAAA,SAAS;;;;IAChB,MAAA,SAAS;;;;;;;;;;;;;;;;IAIT,MAAA,SAAS;;;;;;;;;;;IAQV,MAAA,SAAS;;;;IACA,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;EAU/B,WAAC,OAAO,2BAA2B;kCA4B/C;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAU3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAM3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;;cAGW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { withXhConfig } from "../../config/config.js";
|
|
2
|
+
import { provideScrollbar, useScrollbarContext } from "./context.js";
|
|
3
|
+
import { useScrollbar } from "./use-scrollbar.js";
|
|
4
|
+
import { defineComponent, h } from "vue";
|
|
5
|
+
//#region src/components/scrollbar/scrollbar.ts
|
|
6
|
+
const XhScrollbarRoot = defineComponent({
|
|
7
|
+
name: "XhScrollbarRoot",
|
|
8
|
+
props: {
|
|
9
|
+
/**
|
|
10
|
+
* 真正在滚的那个元素,或者取它的函数。它不必是本组件的后代——
|
|
11
|
+
* 表格的滚动盒、虚拟滚动的视口、随手一个 overflow:auto 的 div 都行。
|
|
12
|
+
*/
|
|
13
|
+
scrollable: {
|
|
14
|
+
type: [Object, Function],
|
|
15
|
+
default: void 0
|
|
16
|
+
},
|
|
17
|
+
/**
|
|
18
|
+
* 滚动容器的 id。没给 scrollable 时按它去查节点;focusable 时它同时落到滑块的 aria-controls 上。
|
|
19
|
+
*/
|
|
20
|
+
controls: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: void 0
|
|
23
|
+
},
|
|
24
|
+
orientation: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: void 0
|
|
27
|
+
},
|
|
28
|
+
type: {
|
|
29
|
+
type: String,
|
|
30
|
+
default: void 0
|
|
31
|
+
},
|
|
32
|
+
hideDelay: {
|
|
33
|
+
type: Number,
|
|
34
|
+
default: void 0
|
|
35
|
+
},
|
|
36
|
+
minThumbSize: {
|
|
37
|
+
type: Number,
|
|
38
|
+
default: void 0
|
|
39
|
+
},
|
|
40
|
+
step: {
|
|
41
|
+
type: Number,
|
|
42
|
+
default: void 0
|
|
43
|
+
},
|
|
44
|
+
size: {
|
|
45
|
+
type: String,
|
|
46
|
+
default: void 0
|
|
47
|
+
},
|
|
48
|
+
disabled: Boolean,
|
|
49
|
+
/** 滑块进 Tab 序并报 role=scrollbar;缺省不进,滚动仍归滚动容器自己。 */
|
|
50
|
+
focusable: Boolean,
|
|
51
|
+
/** 横竖两条同时摆着时在末端让出交叉口那一格,交叉口由 XhScrollbarCorner 补。 */
|
|
52
|
+
gutter: Boolean,
|
|
53
|
+
/** 触屏(粗指针)上也显形;缺省交给原生滚动,整条不画。 */
|
|
54
|
+
forceVisible: Boolean,
|
|
55
|
+
dir: {
|
|
56
|
+
type: String,
|
|
57
|
+
default: void 0
|
|
58
|
+
},
|
|
59
|
+
translations: {
|
|
60
|
+
type: Object,
|
|
61
|
+
default: void 0
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
emits: {
|
|
65
|
+
"scroll-start": (_details) => true,
|
|
66
|
+
"scroll-end": (_details) => true,
|
|
67
|
+
"drag-start": (_details) => true,
|
|
68
|
+
"drag-end": (_details) => true
|
|
69
|
+
},
|
|
70
|
+
slots: Object,
|
|
71
|
+
setup(props, { slots, emit }) {
|
|
72
|
+
const ctx = useScrollbar(withXhConfig("scrollbar", props), {
|
|
73
|
+
onScrollStart: (details) => emit("scroll-start", details),
|
|
74
|
+
onScrollEnd: (details) => emit("scroll-end", details),
|
|
75
|
+
onDragStart: (details) => emit("drag-start", details),
|
|
76
|
+
onDragEnd: (details) => emit("drag-end", details)
|
|
77
|
+
});
|
|
78
|
+
provideScrollbar(ctx);
|
|
79
|
+
return () => h("div", {
|
|
80
|
+
...ctx.api.value.getRootProps(),
|
|
81
|
+
ref: (el) => {
|
|
82
|
+
ctx.rootRef.value = el;
|
|
83
|
+
}
|
|
84
|
+
}, slots.default?.({
|
|
85
|
+
visible: ctx.api.value.visible,
|
|
86
|
+
native: ctx.api.value.native,
|
|
87
|
+
overflow: ctx.api.value.overflow,
|
|
88
|
+
dragging: ctx.api.value.dragging,
|
|
89
|
+
scrolling: ctx.api.value.scrolling,
|
|
90
|
+
thumbSize: ctx.api.value.thumbSize,
|
|
91
|
+
thumbOffset: ctx.api.value.thumbOffset,
|
|
92
|
+
scroll: ctx.api.value.scroll,
|
|
93
|
+
max: ctx.api.value.max,
|
|
94
|
+
scrollTo: ctx.api.value.scrollTo,
|
|
95
|
+
scrollBy: ctx.api.value.scrollBy
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
const XhScrollbarTrack = defineComponent({
|
|
100
|
+
name: "XhScrollbarTrack",
|
|
101
|
+
setup(_, { slots }) {
|
|
102
|
+
const ctx = useScrollbarContext();
|
|
103
|
+
return () => h("div", {
|
|
104
|
+
...ctx.api.value.getTrackProps(),
|
|
105
|
+
ref: (el) => {
|
|
106
|
+
ctx.trackRef.value = el;
|
|
107
|
+
}
|
|
108
|
+
}, slots.default?.());
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
const XhScrollbarThumb = defineComponent({
|
|
112
|
+
name: "XhScrollbarThumb",
|
|
113
|
+
setup(_, { slots }) {
|
|
114
|
+
const ctx = useScrollbarContext();
|
|
115
|
+
return () => h("div", ctx.api.value.getThumbProps(), slots.default?.());
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
/** 交叉口补丁:写在其中一条的根里,贴在它末端之外那一格,跟着这一条显隐。 */
|
|
119
|
+
const XhScrollbarCorner = defineComponent({
|
|
120
|
+
name: "XhScrollbarCorner",
|
|
121
|
+
setup(_, { slots }) {
|
|
122
|
+
const ctx = useScrollbarContext();
|
|
123
|
+
return () => h("div", ctx.api.value.getCornerProps(), slots.default?.());
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
//#endregion
|
|
127
|
+
export { XhScrollbarCorner, XhScrollbarRoot, XhScrollbarThumb, XhScrollbarTrack };
|
|
128
|
+
|
|
129
|
+
//# sourceMappingURL=scrollbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollbar.js","names":[],"sources":["../../../src/components/scrollbar/scrollbar.ts"],"sourcesContent":["import type { ScrollbarApi, ScrollbarSchema, ScrollbarType } from '@xihan-ui/headless'\nimport type { Direction, Orientation, Size } from '@xihan-ui/kernel'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport type { ScrollbarSource, ScrollbarTarget } from './use-scrollbar'\nimport { defineComponent, h } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { provideScrollbar, useScrollbarContext } from './context'\nimport { useScrollbar } from './use-scrollbar'\n\ntype ScrollbarProps = ScrollbarSchema['props']\n\n/** 默认插槽的载荷:这一条此刻的显隐、几何与位置,以及两个命令式动作。 */\nexport type ScrollbarRootSlotProps = Pick<\n ScrollbarApi,\n 'visible' | 'native' | 'overflow' | 'dragging' | 'scrolling' | 'thumbSize' | 'thumbOffset' | 'scroll' | 'max' | 'scrollTo' | 'scrollBy'\n>\n\nexport const XhScrollbarRoot = defineComponent({\n name: 'XhScrollbarRoot',\n // 缺省值由机器与 connect 给出,这里一律 default: undefined\n props: {\n /**\n * 真正在滚的那个元素,或者取它的函数。它不必是本组件的后代——\n * 表格的滚动盒、虚拟滚动的视口、随手一个 overflow:auto 的 div 都行。\n */\n scrollable: { type: [Object, Function] as PropType<ScrollbarTarget>, default: undefined },\n /**\n * 滚动容器的 id。没给 scrollable 时按它去查节点;focusable 时它同时落到滑块的 aria-controls 上。\n */\n controls: { type: String, default: undefined },\n orientation: { type: String as PropType<Orientation>, default: undefined },\n type: { type: String as PropType<ScrollbarType>, default: undefined },\n hideDelay: { type: Number, default: undefined },\n minThumbSize: { type: Number, default: undefined },\n step: { type: Number, default: undefined },\n size: { type: String as PropType<Size>, default: undefined },\n disabled: Boolean,\n /** 滑块进 Tab 序并报 role=scrollbar;缺省不进,滚动仍归滚动容器自己。 */\n focusable: Boolean,\n /** 横竖两条同时摆着时在末端让出交叉口那一格,交叉口由 XhScrollbarCorner 补。 */\n gutter: Boolean,\n /** 触屏(粗指针)上也显形;缺省交给原生滚动,整条不画。 */\n forceVisible: Boolean,\n dir: { type: String as PropType<Direction>, default: undefined },\n translations: { type: Object as PropType<ScrollbarProps['translations']>, default: undefined },\n },\n // 四条都是「意图之外的事实」:滚动本身由作者的容器发,这里只报成段与拖拽的起止\n emits: {\n 'scroll-start': (_details: PayloadOf<ScrollbarProps, 'onScrollStart'>) => true,\n 'scroll-end': (_details: PayloadOf<ScrollbarProps, 'onScrollEnd'>) => true,\n 'drag-start': (_details: PayloadOf<ScrollbarProps, 'onDragStart'>) => true,\n 'drag-end': (_details: PayloadOf<ScrollbarProps, 'onDragEnd'>) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: ScrollbarRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const ctx = useScrollbar(withXhConfig('scrollbar', props) as ScrollbarSource, {\n onScrollStart: details => emit('scroll-start', details),\n onScrollEnd: details => emit('scroll-end', details),\n onDragStart: details => emit('drag-start', details),\n onDragEnd: details => emit('drag-end', details),\n })\n provideScrollbar(ctx)\n\n return () => h('div', {\n ...ctx.api.value.getRootProps() as Record<string, unknown>,\n ref: (el: unknown) => { ctx.rootRef.value = el as HTMLElement },\n }, slots.default?.({\n visible: ctx.api.value.visible,\n native: ctx.api.value.native,\n overflow: ctx.api.value.overflow,\n dragging: ctx.api.value.dragging,\n scrolling: ctx.api.value.scrolling,\n thumbSize: ctx.api.value.thumbSize,\n thumbOffset: ctx.api.value.thumbOffset,\n scroll: ctx.api.value.scroll,\n max: ctx.api.value.max,\n scrollTo: ctx.api.value.scrollTo,\n scrollBy: ctx.api.value.scrollBy,\n }))\n },\n})\n\nexport const XhScrollbarTrack = defineComponent({\n name: 'XhScrollbarTrack',\n setup(_, { slots }) {\n const ctx = useScrollbarContext()\n // 轨道节点交给机器,长度在按下滑块时现量\n return () => h('div', {\n ...ctx.api.value.getTrackProps() as Record<string, unknown>,\n ref: (el: unknown) => { ctx.trackRef.value = el as HTMLElement },\n }, slots.default?.())\n },\n})\n\nexport const XhScrollbarThumb = defineComponent({\n name: 'XhScrollbarThumb',\n setup(_, { slots }) {\n const ctx = useScrollbarContext()\n return () => h('div', ctx.api.value.getThumbProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n/** 交叉口补丁:写在其中一条的根里,贴在它末端之外那一格,跟着这一条显隐。 */\nexport const XhScrollbarCorner = defineComponent({\n name: 'XhScrollbarCorner',\n setup(_, { slots }) {\n const ctx = useScrollbarContext()\n return () => h('div', ctx.api.value.getCornerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":";;;;;AAkBA,MAAa,kBAAkB,gBAAgB;CAC7C,MAAM;CAEN,OAAO;;;;;EAKL,YAAY;GAAE,MAAM,CAAC,QAAQ,QAAQ;GAAgC,SAAS,KAAA;EAAU;;;;EAIxF,UAAU;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAC7C,aAAa;GAAE,MAAM;GAAiC,SAAS,KAAA;EAAU;EACzE,MAAM;GAAE,MAAM;GAAmC,SAAS,KAAA;EAAU;EACpE,WAAW;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAC9C,cAAc;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EACjD,MAAM;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EACzC,MAAM;GAAE,MAAM;GAA0B,SAAS,KAAA;EAAU;EAC3D,UAAU;;EAEV,WAAW;;EAEX,QAAQ;;EAER,cAAc;EACd,KAAK;GAAE,MAAM;GAA+B,SAAS,KAAA;EAAU;EAC/D,cAAc;GAAE,MAAM;GAAoD,SAAS,KAAA;EAAU;CAC/F;CAEA,OAAO;EACL,iBAAiB,aAAyD;EAC1E,eAAe,aAAuD;EACtE,eAAe,aAAuD;EACtE,aAAa,aAAqD;CACpE;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,MAAM,aAAa,aAAa,aAAa,KAAK,GAAsB;GAC5E,gBAAe,YAAW,KAAK,gBAAgB,OAAO;GACtD,cAAa,YAAW,KAAK,cAAc,OAAO;GAClD,cAAa,YAAW,KAAK,cAAc,OAAO;GAClD,YAAW,YAAW,KAAK,YAAY,OAAO;EAChD,CAAC;EACD,iBAAiB,GAAG;EAEpB,aAAa,EAAE,OAAO;GACpB,GAAG,IAAI,IAAI,MAAM,aAAa;GAC9B,MAAM,OAAgB;IAAE,IAAI,QAAQ,QAAQ;GAAkB;EAChE,GAAG,MAAM,UAAU;GACjB,SAAS,IAAI,IAAI,MAAM;GACvB,QAAQ,IAAI,IAAI,MAAM;GACtB,UAAU,IAAI,IAAI,MAAM;GACxB,UAAU,IAAI,IAAI,MAAM;GACxB,WAAW,IAAI,IAAI,MAAM;GACzB,WAAW,IAAI,IAAI,MAAM;GACzB,aAAa,IAAI,IAAI,MAAM;GAC3B,QAAQ,IAAI,IAAI,MAAM;GACtB,KAAK,IAAI,IAAI,MAAM;GACnB,UAAU,IAAI,IAAI,MAAM;GACxB,UAAU,IAAI,IAAI,MAAM;EAC1B,CAAC,CAAC;CACJ;AACF,CAAC;AAED,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAEhC,aAAa,EAAE,OAAO;GACpB,GAAG,IAAI,IAAI,MAAM,cAAc;GAC/B,MAAM,OAAgB;IAAE,IAAI,SAAS,QAAQ;GAAkB;EACjE,GAAG,MAAM,UAAU,CAAC;CACtB;AACF,CAAC;AAED,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,cAAc,GAA8B,MAAM,UAAU,CAAC;CACnG;AACF,CAAC;;AAGD,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,eAAe,GAA8B,MAAM,UAAU,CAAC;CACpG;AACF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComputedRef, MaybeRefOrGetter, Ref } from "vue";
|
|
2
|
+
import { ScrollbarApi, ScrollbarSchema } from "@xihan-ui/headless";
|
|
3
|
+
import { Service } from "@xihan-ui/machine";
|
|
4
|
+
//#region src/components/scrollbar/use-scrollbar.d.ts
|
|
5
|
+
/** 作者交出滚动容器的两条路:直接给节点(或取节点的函数),或者给它的 id。 */
|
|
6
|
+
type ScrollbarTarget = HTMLElement | (() => HTMLElement | null) | null | undefined;
|
|
7
|
+
interface ScrollbarContext {
|
|
8
|
+
service: Service<ScrollbarSchema>;
|
|
9
|
+
api: ComputedRef<ScrollbarApi>;
|
|
10
|
+
/** 根节点,指针进出它也算「手还在这儿」。 */
|
|
11
|
+
rootRef: Ref<HTMLElement | null>;
|
|
12
|
+
/** 轨道节点,长度在拖动/点击那一刻现量。 */
|
|
13
|
+
trackRef: Ref<HTMLElement | null>;
|
|
14
|
+
}
|
|
15
|
+
type ScrollbarProps = ScrollbarSchema['props'];
|
|
16
|
+
/** 作者给的 props 连同滚动容器;`scrollable` 不进机器,由这里解析成节点交给 refs。 */
|
|
17
|
+
type ScrollbarSource = ScrollbarProps & {
|
|
18
|
+
scrollable?: ScrollbarTarget;
|
|
19
|
+
};
|
|
20
|
+
declare function useScrollbar(source: MaybeRefOrGetter<ScrollbarSource>, callbacks?: Pick<ScrollbarProps, 'onScrollStart' | 'onScrollEnd' | 'onDragStart' | 'onDragEnd'>): ScrollbarContext;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { ScrollbarContext, ScrollbarSource, ScrollbarTarget, useScrollbar };
|
|
23
|
+
//# sourceMappingURL=use-scrollbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-scrollbar.d.ts","names":[],"sources":["../../../src/components/scrollbar/use-scrollbar.ts"],"mappings":";;;;;KAWY,kBAAkB,qBAAqB;UAElC;EACf,SAAS,QAAQ;EACjB,KAAK,YAAY;;EAEjB,SAAS,IAAI;;EAEb,UAAU,IAAI;;KAGX,iBAAiB;;KAGV,kBAAkB;EAAmB,aAAa;;iBAE9C,aACd,QAAQ,iBAAiB,kBACzB,YAAW,KAAK,iFACf"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { vueNormalize } from "../../runtime/normalize-props.js";
|
|
2
|
+
import { useMachine } from "../../runtime/use-machine.js";
|
|
3
|
+
import { createVueIdGenerator } from "../../runtime/vue-id.js";
|
|
4
|
+
import { computed, ref, toValue } from "vue";
|
|
5
|
+
import { connectScrollbar, scrollbarMachine } from "@xihan-ui/headless";
|
|
6
|
+
import { createScope } from "@xihan-ui/kernel";
|
|
7
|
+
//#region src/components/scrollbar/use-scrollbar.ts
|
|
8
|
+
function useScrollbar(source, callbacks = {}) {
|
|
9
|
+
const rootRef = ref(null);
|
|
10
|
+
const trackRef = ref(null);
|
|
11
|
+
const service = useMachine(scrollbarMachine, () => {
|
|
12
|
+
const { scrollable: _scrollable, ...rest } = toValue(source);
|
|
13
|
+
return {
|
|
14
|
+
...rest,
|
|
15
|
+
...callbacks
|
|
16
|
+
};
|
|
17
|
+
}, createScope(null, createVueIdGenerator()));
|
|
18
|
+
/**
|
|
19
|
+
* 先认作者给的节点,没有再按 controls 当 id 去查。
|
|
20
|
+
* 每次调用现查:作者的容器可能是条件渲染出来的,缓存住会永远指向第一帧那个(或 null)。
|
|
21
|
+
*/
|
|
22
|
+
const resolveScrollable = () => {
|
|
23
|
+
const { scrollable: given, controls: id } = toValue(source);
|
|
24
|
+
if (typeof given === "function") return given();
|
|
25
|
+
if (given) return given;
|
|
26
|
+
if (!id || typeof document === "undefined") return null;
|
|
27
|
+
const found = document.getElementById(id);
|
|
28
|
+
return found instanceof HTMLElement ? found : null;
|
|
29
|
+
};
|
|
30
|
+
service.refs.set("getScrollableEl", resolveScrollable);
|
|
31
|
+
service.refs.set("getTrackEl", () => trackRef.value);
|
|
32
|
+
service.refs.set("getRootEl", () => rootRef.value);
|
|
33
|
+
return {
|
|
34
|
+
service,
|
|
35
|
+
api: computed(() => connectScrollbar(service, vueNormalize)),
|
|
36
|
+
rootRef,
|
|
37
|
+
trackRef
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { useScrollbar };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=use-scrollbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-scrollbar.js","names":[],"sources":["../../../src/components/scrollbar/use-scrollbar.ts"],"sourcesContent":["import type { ScrollbarApi, ScrollbarSchema } from '@xihan-ui/headless'\nimport type { Service } from '@xihan-ui/machine'\nimport type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue'\nimport { connectScrollbar, scrollbarMachine } from '@xihan-ui/headless'\nimport { createScope } from '@xihan-ui/kernel'\nimport { computed, ref, toValue } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\nimport { createVueIdGenerator } from '../../runtime/vue-id'\n\n/** 作者交出滚动容器的两条路:直接给节点(或取节点的函数),或者给它的 id。 */\nexport type ScrollbarTarget = HTMLElement | (() => HTMLElement | null) | null | undefined\n\nexport interface ScrollbarContext {\n service: Service<ScrollbarSchema>\n api: ComputedRef<ScrollbarApi>\n /** 根节点,指针进出它也算「手还在这儿」。 */\n rootRef: Ref<HTMLElement | null>\n /** 轨道节点,长度在拖动/点击那一刻现量。 */\n trackRef: Ref<HTMLElement | null>\n}\n\ntype ScrollbarProps = ScrollbarSchema['props']\n\n/** 作者给的 props 连同滚动容器;`scrollable` 不进机器,由这里解析成节点交给 refs。 */\nexport type ScrollbarSource = ScrollbarProps & { scrollable?: ScrollbarTarget }\n\nexport function useScrollbar(\n source: MaybeRefOrGetter<ScrollbarSource>,\n callbacks: Pick<ScrollbarProps, 'onScrollStart' | 'onScrollEnd' | 'onDragStart' | 'onDragEnd'> = {},\n): ScrollbarContext {\n const rootRef = ref<HTMLElement | null>(null)\n const trackRef = ref<HTMLElement | null>(null)\n\n const idGen = createVueIdGenerator()\n const scope = createScope(null, idGen)\n // 每次取值现读 props:挂载后改 type / disabled 机器要跟着变\n const service = useMachine(scrollbarMachine, () => {\n const { scrollable: _scrollable, ...rest } = toValue(source)\n return { ...rest, ...callbacks }\n }, scope)\n\n /**\n * 先认作者给的节点,没有再按 controls 当 id 去查。\n * 每次调用现查:作者的容器可能是条件渲染出来的,缓存住会永远指向第一帧那个(或 null)。\n */\n const resolveScrollable = (): HTMLElement | null => {\n const { scrollable: given, controls: id } = toValue(source)\n if (typeof given === 'function')\n return given()\n if (given)\n return given\n if (!id || typeof document === 'undefined')\n return null\n const found = document.getElementById(id)\n return found instanceof HTMLElement ? found : null\n }\n\n // 传 getter 而非节点,ref 在挂载后才有值;量尺寸与挂监听都在机器的效应里进行\n service.refs.set('getScrollableEl', resolveScrollable)\n service.refs.set('getTrackEl', () => trackRef.value)\n service.refs.set('getRootEl', () => rootRef.value)\n\n const api = computed(() => connectScrollbar(service, vueNormalize))\n return { service, api, rootRef, trackRef }\n}\n"],"mappings":";;;;;;;AA2BA,SAAgB,aACd,QACA,YAAiG,CAAC,GAChF;CAClB,MAAM,UAAU,IAAwB,IAAI;CAC5C,MAAM,WAAW,IAAwB,IAAI;CAK7C,MAAM,UAAU,WAAW,wBAAwB;EACjD,MAAM,EAAE,YAAY,aAAa,GAAG,SAAS,QAAQ,MAAM;EAC3D,OAAO;GAAE,GAAG;GAAM,GAAG;EAAU;CACjC,GALc,YAAY,MADZ,qBACsB,CAK7B,CAAC;;;;;CAMR,MAAM,0BAA8C;EAClD,MAAM,EAAE,YAAY,OAAO,UAAU,OAAO,QAAQ,MAAM;EAC1D,IAAI,OAAO,UAAU,YACnB,OAAO,MAAM;EACf,IAAI,OACF,OAAO;EACT,IAAI,CAAC,MAAM,OAAO,aAAa,aAC7B,OAAO;EACT,MAAM,QAAQ,SAAS,eAAe,EAAE;EACxC,OAAO,iBAAiB,cAAc,QAAQ;CAChD;CAGA,QAAQ,KAAK,IAAI,mBAAmB,iBAAiB;CACrD,QAAQ,KAAK,IAAI,oBAAoB,SAAS,KAAK;CACnD,QAAQ,KAAK,IAAI,mBAAmB,QAAQ,KAAK;CAGjD,OAAO;EAAE;EAAS,KADN,eAAe,iBAAiB,SAAS,YAAY,CAC7C;EAAG;EAAS;CAAS;AAC3C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SegmentedContext } from "./use-segmented.js";
|
|
2
|
+
import { ComputedRef } from "vue";
|
|
3
|
+
import { SegmentedItemProps } from "@xihan-ui/headless";
|
|
4
|
+
//#region src/components/segmented/context.d.ts
|
|
5
|
+
/** 条目自报的值与禁用,供 item-text 这类子部件复用同一份声明。 */
|
|
6
|
+
interface SegmentedItemContext {
|
|
7
|
+
item: ComputedRef<SegmentedItemProps>;
|
|
8
|
+
}
|
|
9
|
+
declare function useSegmentedContext(): SegmentedContext;
|
|
10
|
+
declare function useSegmentedItemContext(): SegmentedItemContext;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { SegmentedItemContext, useSegmentedContext, useSegmentedItemContext };
|
|
13
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/components/segmented/context.ts"],"mappings":";;;;;UAMiB;EACf,MAAM,YAAY;;iBAUJ,uBAAuB;iBAWvB,2BAA2B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { inject, provide } from "vue";
|
|
2
|
+
//#region src/components/segmented/context.ts
|
|
3
|
+
const KEY = Symbol.for("xh-segmented");
|
|
4
|
+
const ITEM_KEY = Symbol.for("xh-segmented-item");
|
|
5
|
+
function provideSegmented(ctx) {
|
|
6
|
+
provide(KEY, ctx);
|
|
7
|
+
}
|
|
8
|
+
function useSegmentedContext() {
|
|
9
|
+
const ctx = inject(KEY, null);
|
|
10
|
+
if (!ctx) throw new Error("[xh] Segmented 部件必须用在 XhSegmentedRoot 内");
|
|
11
|
+
return ctx;
|
|
12
|
+
}
|
|
13
|
+
function provideSegmentedItem(ctx) {
|
|
14
|
+
provide(ITEM_KEY, ctx);
|
|
15
|
+
}
|
|
16
|
+
function useSegmentedItemContext() {
|
|
17
|
+
const ctx = inject(ITEM_KEY, null);
|
|
18
|
+
if (!ctx) throw new Error("[xh] Segmented 条目子部件必须用在 XhSegmentedItem 内");
|
|
19
|
+
return ctx;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { provideSegmented, provideSegmentedItem, useSegmentedContext, useSegmentedItemContext };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/segmented/context.ts"],"sourcesContent":["import type { SegmentedItemProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { SegmentedContext } from './use-segmented'\nimport { inject, provide } from 'vue'\n\n/** 条目自报的值与禁用,供 item-text 这类子部件复用同一份声明。 */\nexport interface SegmentedItemContext {\n item: ComputedRef<SegmentedItemProps>\n}\n\nconst KEY: InjectionKey<SegmentedContext> = Symbol.for('xh-segmented')\nconst ITEM_KEY: InjectionKey<SegmentedItemContext> = Symbol.for('xh-segmented-item')\n\nexport function provideSegmented(ctx: SegmentedContext): void {\n provide(KEY, ctx)\n}\n\nexport function useSegmentedContext(): SegmentedContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Segmented 部件必须用在 XhSegmentedRoot 内')\n return ctx\n}\n\nexport function provideSegmentedItem(ctx: SegmentedItemContext): void {\n provide(ITEM_KEY, ctx)\n}\n\nexport function useSegmentedItemContext(): SegmentedItemContext {\n const ctx = inject(ITEM_KEY, null)\n if (!ctx)\n throw new Error('[xh] Segmented 条目子部件必须用在 XhSegmentedItem 内')\n return ctx\n}\n"],"mappings":";;AAUA,MAAM,MAAsC,OAAO,IAAI,cAAc;AACrE,MAAM,WAA+C,OAAO,IAAI,mBAAmB;AAEnF,SAAgB,iBAAiB,KAA6B;CAC5D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,sBAAwC;CACtD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,yCAAyC;CAC3D,OAAO;AACT;AAEA,SAAgB,qBAAqB,KAAiC;CACpE,QAAQ,UAAU,GAAG;AACvB;AAEA,SAAgB,0BAAgD;CAC9D,MAAM,MAAM,OAAO,UAAU,IAAI;CACjC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,4CAA4C;CAC9D,OAAO;AACT"}
|