@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
|
@@ -13,6 +13,10 @@ declare const XhFieldRoot: import("vue").DefineComponent<import("vue").ExtractPr
|
|
|
13
13
|
type: BooleanConstructor;
|
|
14
14
|
default: undefined;
|
|
15
15
|
};
|
|
16
|
+
readOnly: {
|
|
17
|
+
type: BooleanConstructor;
|
|
18
|
+
default: undefined;
|
|
19
|
+
};
|
|
16
20
|
controlId: {
|
|
17
21
|
type: StringConstructor;
|
|
18
22
|
default: undefined;
|
|
@@ -32,6 +36,10 @@ declare const XhFieldRoot: import("vue").DefineComponent<import("vue").ExtractPr
|
|
|
32
36
|
type: BooleanConstructor;
|
|
33
37
|
default: undefined;
|
|
34
38
|
};
|
|
39
|
+
readOnly: {
|
|
40
|
+
type: BooleanConstructor;
|
|
41
|
+
default: undefined;
|
|
42
|
+
};
|
|
35
43
|
controlId: {
|
|
36
44
|
type: StringConstructor;
|
|
37
45
|
default: undefined;
|
|
@@ -40,6 +48,7 @@ declare const XhFieldRoot: import("vue").DefineComponent<import("vue").ExtractPr
|
|
|
40
48
|
required: boolean;
|
|
41
49
|
invalid: boolean;
|
|
42
50
|
disabled: boolean;
|
|
51
|
+
readOnly: boolean;
|
|
43
52
|
controlId: string;
|
|
44
53
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
45
54
|
declare const XhFieldLabel: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -47,11 +56,35 @@ declare const XhFieldLabel: import("vue").DefineComponent<{}, () => VNode<import
|
|
|
47
56
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
48
57
|
/** 默认插槽的载荷:控件节点该挂的那组属性,作者把它交给自己渲染的控件。 */
|
|
49
58
|
type FieldControlSlotProps = Record<string, unknown>;
|
|
50
|
-
declare const XhFieldControl: import("vue").DefineComponent<
|
|
59
|
+
declare const XhFieldControl: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
60
|
+
/**
|
|
61
|
+
* 把接线属性合到唯一的子节点上,缺省开。
|
|
62
|
+
*
|
|
63
|
+
* 子节点是薄封装(根不是可聚焦元素)时关掉它:属性只经插槽载荷交出去,
|
|
64
|
+
* 由封装内部调 useFieldControl 绑到真控件上。
|
|
65
|
+
*/
|
|
66
|
+
asChild: {
|
|
67
|
+
type: BooleanConstructor;
|
|
68
|
+
default: boolean;
|
|
69
|
+
};
|
|
70
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
51
71
|
[key: string]: any;
|
|
52
72
|
}> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
53
73
|
[key: string]: any;
|
|
54
|
-
}>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<
|
|
74
|
+
}>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
75
|
+
/**
|
|
76
|
+
* 把接线属性合到唯一的子节点上,缺省开。
|
|
77
|
+
*
|
|
78
|
+
* 子节点是薄封装(根不是可聚焦元素)时关掉它:属性只经插槽载荷交出去,
|
|
79
|
+
* 由封装内部调 useFieldControl 绑到真控件上。
|
|
80
|
+
*/
|
|
81
|
+
asChild: {
|
|
82
|
+
type: BooleanConstructor;
|
|
83
|
+
default: boolean;
|
|
84
|
+
};
|
|
85
|
+
}>> & Readonly<{}>, {
|
|
86
|
+
asChild: boolean;
|
|
87
|
+
}, SlotsType<{
|
|
55
88
|
default?: (props: FieldControlSlotProps) => VNode[];
|
|
56
89
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
57
90
|
declare const XhFieldDescription: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","names":[],"sources":["../../../src/components/field/field.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"field.d.ts","names":[],"sources":["../../../src/components/field/field.ts"],"mappings":";;cAaa,2BAAW,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAoCtB;cAEW,4BAAY,0BAAA,oBAAA,4BAAA;;8BAMvB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;;KAGU,wBAAwB;cAYvB,8BAAc,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYb,WAAC,OAAO,0BAA0B;kCAiB9C;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAM7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAe3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { useOptionalFormContext, useOptionalFormField } from "../form/context.js";
|
|
2
1
|
import { provideField, useFieldContext } from "./context.js";
|
|
2
|
+
import { carriesOwnAnatomy } from "../../runtime/as-child.js";
|
|
3
|
+
import { useOptionalFormContext, useOptionalFormField } from "../form/context.js";
|
|
3
4
|
import { useField } from "./use-field.js";
|
|
4
5
|
import { Comment, Text, cloneVNode, defineComponent, h } from "vue";
|
|
5
6
|
//#region src/components/field/field.ts
|
|
@@ -22,6 +23,10 @@ const XhFieldRoot = defineComponent({
|
|
|
22
23
|
type: Boolean,
|
|
23
24
|
default: void 0
|
|
24
25
|
},
|
|
26
|
+
readOnly: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: void 0
|
|
29
|
+
},
|
|
25
30
|
controlId: {
|
|
26
31
|
type: String,
|
|
27
32
|
default: void 0
|
|
@@ -40,6 +45,9 @@ const XhFieldRoot = defineComponent({
|
|
|
40
45
|
get disabled() {
|
|
41
46
|
return props.disabled ?? (form && handle ? form.api.value.disabled : void 0);
|
|
42
47
|
},
|
|
48
|
+
get readOnly() {
|
|
49
|
+
return props.readOnly ?? (form && handle ? form.api.value.readOnly : void 0);
|
|
50
|
+
},
|
|
43
51
|
get controlId() {
|
|
44
52
|
return props.controlId;
|
|
45
53
|
}
|
|
@@ -55,16 +63,35 @@ const XhFieldLabel = defineComponent({
|
|
|
55
63
|
return () => h("label", ctx.api.value.getLabelProps(), slots.default?.());
|
|
56
64
|
}
|
|
57
65
|
});
|
|
66
|
+
/** 去掉角色标记,只留接线属性(id 与 aria-*)。 */
|
|
67
|
+
function wiringOnly(controlProps) {
|
|
68
|
+
const rest = {};
|
|
69
|
+
for (const [key, value] of Object.entries(controlProps)) if (key !== "data-scope" && key !== "data-part") rest[key] = value;
|
|
70
|
+
return rest;
|
|
71
|
+
}
|
|
58
72
|
const XhFieldControl = defineComponent({
|
|
59
73
|
name: "XhFieldControl",
|
|
74
|
+
props: {
|
|
75
|
+
/**
|
|
76
|
+
* 把接线属性合到唯一的子节点上,缺省开。
|
|
77
|
+
*
|
|
78
|
+
* 子节点是薄封装(根不是可聚焦元素)时关掉它:属性只经插槽载荷交出去,
|
|
79
|
+
* 由封装内部调 useFieldControl 绑到真控件上。
|
|
80
|
+
*/
|
|
81
|
+
asChild: {
|
|
82
|
+
type: Boolean,
|
|
83
|
+
default: true
|
|
84
|
+
} },
|
|
60
85
|
slots: Object,
|
|
61
|
-
setup(
|
|
86
|
+
setup(props, { slots }) {
|
|
62
87
|
const ctx = useFieldContext();
|
|
63
88
|
return () => {
|
|
64
89
|
const controlProps = ctx.api.value.getControlProps();
|
|
65
90
|
const children = slots.default?.(controlProps) ?? [];
|
|
66
91
|
const nodes = attributable(children);
|
|
67
|
-
|
|
92
|
+
if (!props.asChild || nodes.length !== 1) return children;
|
|
93
|
+
const node = nodes[0];
|
|
94
|
+
return cloneVNode(node, carriesOwnAnatomy(node) ? wiringOnly(controlProps) : controlProps);
|
|
68
95
|
};
|
|
69
96
|
}
|
|
70
97
|
});
|
|
@@ -89,6 +116,6 @@ const XhFieldErrorText = defineComponent({
|
|
|
89
116
|
}
|
|
90
117
|
});
|
|
91
118
|
//#endregion
|
|
92
|
-
export { XhFieldControl, XhFieldDescription, XhFieldErrorText, XhFieldLabel, XhFieldRoot };
|
|
119
|
+
export { XhFieldControl, XhFieldDescription, XhFieldErrorText, XhFieldLabel, XhFieldRoot, wiringOnly };
|
|
93
120
|
|
|
94
121
|
//# sourceMappingURL=field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","names":[],"sources":["../../../src/components/field/field.ts"],"sourcesContent":["import type { FieldProps } from '@xihan-ui/headless'\nimport type { SlotsType, VNode } from 'vue'\nimport { cloneVNode, Comment, defineComponent, h, Text } from 'vue'\nimport { useOptionalFormContext, useOptionalFormField } from '../form/context'\nimport { provideField, useFieldContext } from './context'\nimport { useField } from './use-field'\n\n/** 滤掉注释与纯文本节点,只留能挂属性的节点。 */\nfunction attributable(nodes: readonly VNode[]): VNode[] {\n return nodes.filter(node => node.type !== Comment && node.type !== Text)\n}\n\nexport const XhFieldRoot = defineComponent({\n name: 'XhFieldRoot',\n // 三个布尔缺省 undefined:在 XhFormFieldGroup 里没写就从表单上下文自取,写了以写的为准\n props: {\n invalid: { type: Boolean, default: undefined },\n required: { type: Boolean, default: undefined },\n disabled: { type: Boolean, default: undefined },\n // 控件节点的 id,不占用根节点自己的 DOM id\n controlId: { type: String, default: undefined },\n },\n setup(props, { slots }) {\n const form = useOptionalFormContext()\n const handle = useOptionalFormField()\n // getter 透传保住响应性:props 与表单 api 谁变都会带动 connect 重算\n const merged: FieldProps = {\n get invalid() {\n return props.invalid ?? (form && handle ? form.api.value.isFieldInvalid(handle.name()) : undefined)\n },\n get required() {\n return props.required ?? (form && handle ? form.api.value.isFieldRequired(handle.name()) : undefined)\n },\n get disabled() {\n return props.disabled ?? (form && handle ? form.api.value.disabled : undefined)\n },\n get controlId() {\n return props.controlId\n },\n }\n const ctx = useField(merged)\n provideField(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldLabel = defineComponent({\n name: 'XhFieldLabel',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n return () => h('label', ctx.api.value.getLabelProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n/** 默认插槽的载荷:控件节点该挂的那组属性,作者把它交给自己渲染的控件。 */\nexport type FieldControlSlotProps = Record<string, unknown>\n\nexport const XhFieldControl = defineComponent({\n name: 'XhFieldControl',\n slots: Object as SlotsType<{\n default?: (props: FieldControlSlotProps) => VNode[]\n }>,\n setup(
|
|
1
|
+
{"version":3,"file":"field.js","names":[],"sources":["../../../src/components/field/field.ts"],"sourcesContent":["import type { FieldProps } from '@xihan-ui/headless'\nimport type { SlotsType, VNode } from 'vue'\nimport { cloneVNode, Comment, defineComponent, h, Text } from 'vue'\nimport { carriesOwnAnatomy } from '../../runtime/as-child'\nimport { useOptionalFormContext, useOptionalFormField } from '../form/context'\nimport { provideField, useFieldContext } from './context'\nimport { useField } from './use-field'\n\n/** 滤掉注释与纯文本节点,只留能挂属性的节点。 */\nfunction attributable(nodes: readonly VNode[]): VNode[] {\n return nodes.filter(node => node.type !== Comment && node.type !== Text)\n}\n\nexport const XhFieldRoot = defineComponent({\n name: 'XhFieldRoot',\n // 三个布尔缺省 undefined:在 XhFormFieldGroup 里没写就从表单上下文自取,写了以写的为准\n props: {\n invalid: { type: Boolean, default: undefined },\n required: { type: Boolean, default: undefined },\n disabled: { type: Boolean, default: undefined },\n readOnly: { type: Boolean, default: undefined },\n // 控件节点的 id,不占用根节点自己的 DOM id\n controlId: { type: String, default: undefined },\n },\n setup(props, { slots }) {\n const form = useOptionalFormContext()\n const handle = useOptionalFormField()\n // getter 透传保住响应性:props 与表单 api 谁变都会带动 connect 重算\n const merged: FieldProps = {\n get invalid() {\n return props.invalid ?? (form && handle ? form.api.value.isFieldInvalid(handle.name()) : undefined)\n },\n get required() {\n return props.required ?? (form && handle ? form.api.value.isFieldRequired(handle.name()) : undefined)\n },\n get disabled() {\n return props.disabled ?? (form && handle ? form.api.value.disabled : undefined)\n },\n get readOnly() {\n return props.readOnly ?? (form && handle ? form.api.value.readOnly : undefined)\n },\n get controlId() {\n return props.controlId\n },\n }\n const ctx = useField(merged)\n provideField(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldLabel = defineComponent({\n name: 'XhFieldLabel',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n return () => h('label', ctx.api.value.getLabelProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n/** 默认插槽的载荷:控件节点该挂的那组属性,作者把它交给自己渲染的控件。 */\nexport type FieldControlSlotProps = Record<string, unknown>\n\n/** 去掉角色标记,只留接线属性(id 与 aria-*)。 */\nexport function wiringOnly(controlProps: Record<string, unknown>): Record<string, unknown> {\n const rest: Record<string, unknown> = {}\n for (const [key, value] of Object.entries(controlProps)) {\n if (key !== 'data-scope' && key !== 'data-part')\n rest[key] = value\n }\n return rest\n}\n\nexport const XhFieldControl = defineComponent({\n name: 'XhFieldControl',\n props: {\n /**\n * 把接线属性合到唯一的子节点上,缺省开。\n *\n * 子节点是薄封装(根不是可聚焦元素)时关掉它:属性只经插槽载荷交出去,\n * 由封装内部调 useFieldControl 绑到真控件上。\n */\n asChild: { type: Boolean, default: true },\n },\n slots: Object as SlotsType<{\n default?: (props: FieldControlSlotProps) => VNode[]\n }>,\n setup(props, { slots }) {\n const ctx = useFieldContext()\n return () => {\n const controlProps = ctx.api.value.getControlProps() as Record<string, unknown>\n // control props 经 slot props 交给作者,控件节点由作者渲染\n const children = slots.default?.(controlProps) ?? []\n const nodes = attributable(children)\n // 关了 asChild、或不止一个节点:都视为作者已用 slot props 自行接线\n if (!props.asChild || nodes.length !== 1)\n return children\n const node = nodes[0]!\n // 单个节点合并属性;它自带角色标记时不覆盖,只落接线属性\n return cloneVNode(node, carriesOwnAnatomy(node) ? wiringOnly(controlProps) : controlProps)\n }\n },\n})\n\nexport const XhFieldDescription = defineComponent({\n name: 'XhFieldDescription',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n return () => h('p', ctx.api.value.getDescriptionProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldErrorText = defineComponent({\n name: 'XhFieldErrorText',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n const form = useOptionalFormContext()\n const handle = useOptionalFormField()\n // 节点常挂,靠 hidden 显隐;插槽没给内容时在表单里自取该字段的错误文案\n return () => {\n const kids = slots.default?.()\n const auto = (!kids || kids.length === 0) && form && handle\n ? form.api.value.getFieldError(handle.name())\n : undefined\n return h('p', ctx.api.value.getErrorTextProps() as Record<string, unknown>, kids?.length ? kids : auto)\n }\n },\n})\n"],"mappings":";;;;;;;AASA,SAAS,aAAa,OAAkC;CACtD,OAAO,MAAM,QAAO,SAAQ,KAAK,SAAS,WAAW,KAAK,SAAS,IAAI;AACzE;AAEA,MAAa,cAAc,gBAAgB;CACzC,MAAM;CAEN,OAAO;EACL,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC7C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAE9C,WAAW;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;CAChD;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,OAAO,uBAAuB;EACpC,MAAM,SAAS,qBAAqB;EAmBpC,MAAM,MAAM,SAAS;GAhBnB,IAAI,UAAU;IACZ,OAAO,MAAM,YAAY,QAAQ,SAAS,KAAK,IAAI,MAAM,eAAe,OAAO,KAAK,CAAC,IAAI,KAAA;GAC3F;GACA,IAAI,WAAW;IACb,OAAO,MAAM,aAAa,QAAQ,SAAS,KAAK,IAAI,MAAM,gBAAgB,OAAO,KAAK,CAAC,IAAI,KAAA;GAC7F;GACA,IAAI,WAAW;IACb,OAAO,MAAM,aAAa,QAAQ,SAAS,KAAK,IAAI,MAAM,WAAW,KAAA;GACvE;GACA,IAAI,WAAW;IACb,OAAO,MAAM,aAAa,QAAQ,SAAS,KAAK,IAAI,MAAM,WAAW,KAAA;GACvE;GACA,IAAI,YAAY;IACd,OAAO,MAAM;GACf;EAEwB,CAAC;EAC3B,aAAa,GAAG;EAChB,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU,CAAC;CAClG;AACF,CAAC;AAED,MAAa,eAAe,gBAAgB;CAC1C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa,EAAE,SAAS,IAAI,IAAI,MAAM,cAAc,GAA8B,MAAM,UAAU,CAAC;CACrG;AACF,CAAC;;AAMD,SAAgB,WAAW,cAAgE;CACzF,MAAM,OAAgC,CAAC;CACvC,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,YAAY,GACpD,IAAI,QAAQ,gBAAgB,QAAQ,aAClC,KAAK,OAAO;CAEhB,OAAO;AACT;AAEA,MAAa,iBAAiB,gBAAgB;CAC5C,MAAM;CACN,OAAO;;;;;;;AAOL,SAAS;EAAE,MAAM;EAAS,SAAS;CAAK,EAC1C;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,gBAAgB;EAC5B,aAAa;GACX,MAAM,eAAe,IAAI,IAAI,MAAM,gBAAgB;GAEnD,MAAM,WAAW,MAAM,UAAU,YAAY,KAAK,CAAC;GACnD,MAAM,QAAQ,aAAa,QAAQ;GAEnC,IAAI,CAAC,MAAM,WAAW,MAAM,WAAW,GACrC,OAAO;GACT,MAAM,OAAO,MAAM;GAEnB,OAAO,WAAW,MAAM,kBAAkB,IAAI,IAAI,WAAW,YAAY,IAAI,YAAY;EAC3F;CACF;AACF,CAAC;AAED,MAAa,qBAAqB,gBAAgB;CAChD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa,EAAE,KAAK,IAAI,IAAI,MAAM,oBAAoB,GAA8B,MAAM,UAAU,CAAC;CACvG;AACF,CAAC;AAED,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,MAAM,OAAO,uBAAuB;EACpC,MAAM,SAAS,qBAAqB;EAEpC,aAAa;GACX,MAAM,OAAO,MAAM,UAAU;GAC7B,MAAM,QAAQ,CAAC,QAAQ,KAAK,WAAW,MAAM,QAAQ,SACjD,KAAK,IAAI,MAAM,cAAc,OAAO,KAAK,CAAC,IAC1C,KAAA;GACJ,OAAO,EAAE,KAAK,IAAI,IAAI,MAAM,kBAAkB,GAA8B,MAAM,SAAS,OAAO,IAAI;EACxG;CACF;AACF,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ComputedRef } from "vue";
|
|
2
|
+
//#region src/components/field/use-field-control.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* 在薄封装内部取字段的控件接线属性(id 与 aria-*),把它们绑到真正可聚焦的那个节点上。
|
|
5
|
+
*
|
|
6
|
+
* XhFieldControl 默认把属性合到它唯一的子节点上,而子节点是组件时合的是组件根——
|
|
7
|
+
* 封装的根往往是个 div,label 的 for 指过去就聚不到焦(for 只对可标注元素生效),
|
|
8
|
+
* 而且这种失效不报错。封装内部调一次本组合式,接线就落在该落的节点上。
|
|
9
|
+
*
|
|
10
|
+
* 外层要写 `<XhFieldControl :as-child="false">`,否则属性会被合两遍。
|
|
11
|
+
* 不在字段里时返回空对象,封装照样能单独用。
|
|
12
|
+
*/
|
|
13
|
+
declare function useFieldControl(): ComputedRef<Record<string, unknown>>;
|
|
14
|
+
/**
|
|
15
|
+
* 只取字段的「状态接线」(说明、校验、只读),不含 id 与名字。
|
|
16
|
+
*
|
|
17
|
+
* 给库自己的薄封装用:XhFieldControl 默认把整套属性合到封装根上,id 与
|
|
18
|
+
* aria-labelledby 落在那里是对的(label 的 for 得指得到一个真节点);但
|
|
19
|
+
* aria-describedby 与 aria-invalid 落在根上就等于没落——焦点进的是里面那个
|
|
20
|
+
* input / button,读屏只念焦点所在节点的描述,说明与错误文本因此播报不出来。
|
|
21
|
+
* 封装把这几条补到真控件上,两边不冲突:id 只有一份,描述有两份不影响播报。
|
|
22
|
+
*
|
|
23
|
+
* 作者自己写封装时用上面那个 useFieldControl(配 `:as-child="false"`),
|
|
24
|
+
* 那条路整套属性都落到真控件上。
|
|
25
|
+
*/
|
|
26
|
+
declare function useFieldStateWiring(): ComputedRef<Record<string, unknown>>;
|
|
27
|
+
/**
|
|
28
|
+
* 把字段标签的 id 并进这份属性里的名字链,供库自己的薄封装包在渲染属性外面。
|
|
29
|
+
*
|
|
30
|
+
* 复合控件的可聚焦部件自带 aria-labelledby,指的是它自己的 label 部件。套进字段时
|
|
31
|
+
* 作者用的是字段的标签、组件那个 label 部件根本没渲染,这条引用于是指向一个不存在的
|
|
32
|
+
* 节点——按 accname 规则悬空 IDREF 直接跳过,而名字也回退不到 label 的 for:for 指的
|
|
33
|
+
* 是封装根那个 div,只对可标注元素生效。结果是焦点所在的那个控件一个名字都没有。
|
|
34
|
+
*
|
|
35
|
+
* 字段的标签排在最前,控件自己的那截(值文本这类)跟在后面,两边都念得到。
|
|
36
|
+
* 不在字段里时属性原样返回。
|
|
37
|
+
*/
|
|
38
|
+
declare function useFieldLabelWiring(): ComputedRef<(props: Record<string, unknown>) => Record<string, unknown>>;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { useFieldControl, useFieldLabelWiring, useFieldStateWiring };
|
|
41
|
+
//# sourceMappingURL=use-field-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-field-control.d.ts","names":[],"sources":["../../../src/components/field/use-field-control.ts"],"mappings":";;;;;;;;;;;;iBAegB,mBAAmB,YAAY;;;;;;;;;;;;;iBAqB/B,uBAAuB,YAAY;;;;;;;;;;;;iBA0BnC,uBAAuB,aAAa,OAAO,4BAA4B"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { useOptionalFieldContext } from "./context.js";
|
|
2
|
+
import { wiringOnly } from "./field.js";
|
|
3
|
+
import { computed } from "vue";
|
|
4
|
+
//#region src/components/field/use-field-control.ts
|
|
5
|
+
/**
|
|
6
|
+
* 在薄封装内部取字段的控件接线属性(id 与 aria-*),把它们绑到真正可聚焦的那个节点上。
|
|
7
|
+
*
|
|
8
|
+
* XhFieldControl 默认把属性合到它唯一的子节点上,而子节点是组件时合的是组件根——
|
|
9
|
+
* 封装的根往往是个 div,label 的 for 指过去就聚不到焦(for 只对可标注元素生效),
|
|
10
|
+
* 而且这种失效不报错。封装内部调一次本组合式,接线就落在该落的节点上。
|
|
11
|
+
*
|
|
12
|
+
* 外层要写 `<XhFieldControl :as-child="false">`,否则属性会被合两遍。
|
|
13
|
+
* 不在字段里时返回空对象,封装照样能单独用。
|
|
14
|
+
*/
|
|
15
|
+
function useFieldControl() {
|
|
16
|
+
const ctx = useOptionalFieldContext();
|
|
17
|
+
return computed(() => {
|
|
18
|
+
if (!ctx) return {};
|
|
19
|
+
return wiringOnly(ctx.api.value.getControlProps());
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 只取字段的「状态接线」(说明、校验、只读),不含 id 与名字。
|
|
24
|
+
*
|
|
25
|
+
* 给库自己的薄封装用:XhFieldControl 默认把整套属性合到封装根上,id 与
|
|
26
|
+
* aria-labelledby 落在那里是对的(label 的 for 得指得到一个真节点);但
|
|
27
|
+
* aria-describedby 与 aria-invalid 落在根上就等于没落——焦点进的是里面那个
|
|
28
|
+
* input / button,读屏只念焦点所在节点的描述,说明与错误文本因此播报不出来。
|
|
29
|
+
* 封装把这几条补到真控件上,两边不冲突:id 只有一份,描述有两份不影响播报。
|
|
30
|
+
*
|
|
31
|
+
* 作者自己写封装时用上面那个 useFieldControl(配 `:as-child="false"`),
|
|
32
|
+
* 那条路整套属性都落到真控件上。
|
|
33
|
+
*/
|
|
34
|
+
function useFieldStateWiring() {
|
|
35
|
+
const ctx = useOptionalFieldContext();
|
|
36
|
+
return computed(() => {
|
|
37
|
+
if (!ctx) return {};
|
|
38
|
+
const control = ctx.api.value.getControlProps();
|
|
39
|
+
const wiring = {};
|
|
40
|
+
for (const key of [
|
|
41
|
+
"aria-describedby",
|
|
42
|
+
"aria-invalid",
|
|
43
|
+
"aria-required",
|
|
44
|
+
"aria-readonly"
|
|
45
|
+
]) if (control[key] !== void 0) wiring[key] = control[key];
|
|
46
|
+
return wiring;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 把字段标签的 id 并进这份属性里的名字链,供库自己的薄封装包在渲染属性外面。
|
|
51
|
+
*
|
|
52
|
+
* 复合控件的可聚焦部件自带 aria-labelledby,指的是它自己的 label 部件。套进字段时
|
|
53
|
+
* 作者用的是字段的标签、组件那个 label 部件根本没渲染,这条引用于是指向一个不存在的
|
|
54
|
+
* 节点——按 accname 规则悬空 IDREF 直接跳过,而名字也回退不到 label 的 for:for 指的
|
|
55
|
+
* 是封装根那个 div,只对可标注元素生效。结果是焦点所在的那个控件一个名字都没有。
|
|
56
|
+
*
|
|
57
|
+
* 字段的标签排在最前,控件自己的那截(值文本这类)跟在后面,两边都念得到。
|
|
58
|
+
* 不在字段里时属性原样返回。
|
|
59
|
+
*/
|
|
60
|
+
function useFieldLabelWiring() {
|
|
61
|
+
const ctx = useOptionalFieldContext();
|
|
62
|
+
return computed(() => {
|
|
63
|
+
const labelId = ctx?.api.value.labelId;
|
|
64
|
+
return (props) => {
|
|
65
|
+
if (!labelId) return props;
|
|
66
|
+
const own = props["aria-labelledby"];
|
|
67
|
+
return {
|
|
68
|
+
...props,
|
|
69
|
+
"aria-labelledby": typeof own === "string" && own ? `${labelId} ${own}` : labelId
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
export { useFieldControl, useFieldLabelWiring, useFieldStateWiring };
|
|
76
|
+
|
|
77
|
+
//# sourceMappingURL=use-field-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-field-control.js","names":[],"sources":["../../../src/components/field/use-field-control.ts"],"sourcesContent":["import type { ComputedRef } from 'vue'\nimport { computed } from 'vue'\nimport { useOptionalFieldContext } from './context'\nimport { wiringOnly } from './field'\n\n/**\n * 在薄封装内部取字段的控件接线属性(id 与 aria-*),把它们绑到真正可聚焦的那个节点上。\n *\n * XhFieldControl 默认把属性合到它唯一的子节点上,而子节点是组件时合的是组件根——\n * 封装的根往往是个 div,label 的 for 指过去就聚不到焦(for 只对可标注元素生效),\n * 而且这种失效不报错。封装内部调一次本组合式,接线就落在该落的节点上。\n *\n * 外层要写 `<XhFieldControl :as-child=\"false\">`,否则属性会被合两遍。\n * 不在字段里时返回空对象,封装照样能单独用。\n */\nexport function useFieldControl(): ComputedRef<Record<string, unknown>> {\n const ctx = useOptionalFieldContext()\n return computed(() => {\n if (!ctx)\n return {}\n return wiringOnly(ctx.api.value.getControlProps() as Record<string, unknown>)\n })\n}\n\n/**\n * 只取字段的「状态接线」(说明、校验、只读),不含 id 与名字。\n *\n * 给库自己的薄封装用:XhFieldControl 默认把整套属性合到封装根上,id 与\n * aria-labelledby 落在那里是对的(label 的 for 得指得到一个真节点);但\n * aria-describedby 与 aria-invalid 落在根上就等于没落——焦点进的是里面那个\n * input / button,读屏只念焦点所在节点的描述,说明与错误文本因此播报不出来。\n * 封装把这几条补到真控件上,两边不冲突:id 只有一份,描述有两份不影响播报。\n *\n * 作者自己写封装时用上面那个 useFieldControl(配 `:as-child=\"false\"`),\n * 那条路整套属性都落到真控件上。\n */\nexport function useFieldStateWiring(): ComputedRef<Record<string, unknown>> {\n const ctx = useOptionalFieldContext()\n return computed(() => {\n if (!ctx)\n return {}\n const control = ctx.api.value.getControlProps() as Record<string, unknown>\n const wiring: Record<string, unknown> = {}\n for (const key of ['aria-describedby', 'aria-invalid', 'aria-required', 'aria-readonly']) {\n if (control[key] !== undefined)\n wiring[key] = control[key]\n }\n return wiring\n })\n}\n\n/**\n * 把字段标签的 id 并进这份属性里的名字链,供库自己的薄封装包在渲染属性外面。\n *\n * 复合控件的可聚焦部件自带 aria-labelledby,指的是它自己的 label 部件。套进字段时\n * 作者用的是字段的标签、组件那个 label 部件根本没渲染,这条引用于是指向一个不存在的\n * 节点——按 accname 规则悬空 IDREF 直接跳过,而名字也回退不到 label 的 for:for 指的\n * 是封装根那个 div,只对可标注元素生效。结果是焦点所在的那个控件一个名字都没有。\n *\n * 字段的标签排在最前,控件自己的那截(值文本这类)跟在后面,两边都念得到。\n * 不在字段里时属性原样返回。\n */\nexport function useFieldLabelWiring(): ComputedRef<(props: Record<string, unknown>) => Record<string, unknown>> {\n const ctx = useOptionalFieldContext()\n return computed(() => {\n const labelId = ctx?.api.value.labelId\n return (props: Record<string, unknown>) => {\n if (!labelId)\n return props\n const own = props['aria-labelledby']\n return {\n ...props,\n 'aria-labelledby': typeof own === 'string' && own ? `${labelId} ${own}` : labelId,\n }\n }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,SAAgB,kBAAwD;CACtE,MAAM,MAAM,wBAAwB;CACpC,OAAO,eAAe;EACpB,IAAI,CAAC,KACH,OAAO,CAAC;EACV,OAAO,WAAW,IAAI,IAAI,MAAM,gBAAgB,CAA4B;CAC9E,CAAC;AACH;;;;;;;;;;;;;AAcA,SAAgB,sBAA4D;CAC1E,MAAM,MAAM,wBAAwB;CACpC,OAAO,eAAe;EACpB,IAAI,CAAC,KACH,OAAO,CAAC;EACV,MAAM,UAAU,IAAI,IAAI,MAAM,gBAAgB;EAC9C,MAAM,SAAkC,CAAC;EACzC,KAAK,MAAM,OAAO;GAAC;GAAoB;GAAgB;GAAiB;EAAe,GACrF,IAAI,QAAQ,SAAS,KAAA,GACnB,OAAO,OAAO,QAAQ;EAE1B,OAAO;CACT,CAAC;AACH;;;;;;;;;;;;AAaA,SAAgB,sBAAgG;CAC9G,MAAM,MAAM,wBAAwB;CACpC,OAAO,eAAe;EACpB,MAAM,UAAU,KAAK,IAAI,MAAM;EAC/B,QAAQ,UAAmC;GACzC,IAAI,CAAC,SACH,OAAO;GACT,MAAM,MAAM,MAAM;GAClB,OAAO;IACL,GAAG;IACH,mBAAmB,OAAO,QAAQ,YAAY,MAAM,GAAG,QAAQ,GAAG,QAAQ;GAC5E;EACF;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/components/fieldset/context.ts"],"mappings":";;iBAUgB,sBAAsB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { inject, provide } from "vue";
|
|
2
|
+
//#region src/components/fieldset/context.ts
|
|
3
|
+
const KEY = Symbol.for("xh-fieldset");
|
|
4
|
+
function provideFieldset(ctx) {
|
|
5
|
+
provide(KEY, ctx);
|
|
6
|
+
}
|
|
7
|
+
function useFieldsetContext() {
|
|
8
|
+
const ctx = inject(KEY, null);
|
|
9
|
+
if (!ctx) throw new Error("[xh] Fieldset 部件必须用在 XhFieldsetRoot 内");
|
|
10
|
+
return ctx;
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { provideFieldset, useFieldsetContext };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/fieldset/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { FieldsetContext } from './use-fieldset'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<FieldsetContext> = Symbol.for('xh-fieldset')\n\nexport function provideFieldset(ctx: FieldsetContext): void {\n provide(KEY, ctx)\n}\n\nexport function useFieldsetContext(): FieldsetContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Fieldset 部件必须用在 XhFieldsetRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAqC,OAAO,IAAI,aAAa;AAEnE,SAAgB,gBAAgB,KAA4B;CAC1D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,qBAAsC;CACpD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,uCAAuC;CACzD,OAAO;AACT"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { PropType } from "vue";
|
|
2
|
+
import { FieldsetTranslations } from "@xihan-ui/headless";
|
|
3
|
+
//#region src/components/fieldset/fieldset.d.ts
|
|
4
|
+
declare const XhFieldsetRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5
|
+
disabled: {
|
|
6
|
+
type: BooleanConstructor;
|
|
7
|
+
default: undefined;
|
|
8
|
+
};
|
|
9
|
+
invalid: {
|
|
10
|
+
type: BooleanConstructor;
|
|
11
|
+
default: undefined;
|
|
12
|
+
};
|
|
13
|
+
required: {
|
|
14
|
+
type: BooleanConstructor;
|
|
15
|
+
default: undefined;
|
|
16
|
+
};
|
|
17
|
+
translations: {
|
|
18
|
+
type: PropType<Partial<FieldsetTranslations>>;
|
|
19
|
+
default: undefined;
|
|
20
|
+
};
|
|
21
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
|
+
disabled: {
|
|
25
|
+
type: BooleanConstructor;
|
|
26
|
+
default: undefined;
|
|
27
|
+
};
|
|
28
|
+
invalid: {
|
|
29
|
+
type: BooleanConstructor;
|
|
30
|
+
default: undefined;
|
|
31
|
+
};
|
|
32
|
+
required: {
|
|
33
|
+
type: BooleanConstructor;
|
|
34
|
+
default: undefined;
|
|
35
|
+
};
|
|
36
|
+
translations: {
|
|
37
|
+
type: PropType<Partial<FieldsetTranslations>>;
|
|
38
|
+
default: undefined;
|
|
39
|
+
};
|
|
40
|
+
}>> & Readonly<{}>, {
|
|
41
|
+
required: boolean;
|
|
42
|
+
invalid: boolean;
|
|
43
|
+
disabled: boolean;
|
|
44
|
+
translations: Partial<FieldsetTranslations>;
|
|
45
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
46
|
+
declare const XhFieldsetLegend: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
47
|
+
[key: string]: any;
|
|
48
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
49
|
+
declare const XhFieldsetHelperText: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
50
|
+
[key: string]: any;
|
|
51
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
52
|
+
declare const XhFieldsetErrorText: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
53
|
+
[key: string]: any;
|
|
54
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
55
|
+
//#endregion
|
|
56
|
+
export { XhFieldsetErrorText, XhFieldsetHelperText, XhFieldsetLegend, XhFieldsetRoot };
|
|
57
|
+
//# sourceMappingURL=fieldset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldset.d.ts","names":[],"sources":["../../../src/components/fieldset/fieldset.ts"],"mappings":";;;cAOa,8BAAc,8BAAA;;;;;;;;;;;;;;IAOS,MAAA,SAAS,QAAQ;;;;;;;;;;;;;;;;;;;IAAjB,MAAA,SAAS,QAAQ;;;;;;;;qCAQnD;cAEW,gCAAgB,wCAAA,oBAAA,4BAAA;;8BAO3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,wCAAA,oBAAA,4BAAA;;8BAM/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,wCAAA,oBAAA,4BAAA;;8BAO9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { withXhConfig } from "../../config/config.js";
|
|
2
|
+
import { provideFieldset, useFieldsetContext } from "./context.js";
|
|
3
|
+
import { useFieldset } from "./use-fieldset.js";
|
|
4
|
+
import { defineComponent, h } from "vue";
|
|
5
|
+
//#region src/components/fieldset/fieldset.ts
|
|
6
|
+
const XhFieldsetRoot = defineComponent({
|
|
7
|
+
name: "XhFieldsetRoot",
|
|
8
|
+
props: {
|
|
9
|
+
disabled: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: void 0
|
|
12
|
+
},
|
|
13
|
+
invalid: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: void 0
|
|
16
|
+
},
|
|
17
|
+
required: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: void 0
|
|
20
|
+
},
|
|
21
|
+
translations: {
|
|
22
|
+
type: Object,
|
|
23
|
+
default: void 0
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
setup(props, { slots }) {
|
|
27
|
+
const ctx = useFieldset(withXhConfig("fieldset", props));
|
|
28
|
+
provideFieldset(ctx);
|
|
29
|
+
return () => h("fieldset", ctx.api.value.getRootProps(), slots.default?.());
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
const XhFieldsetLegend = defineComponent({
|
|
33
|
+
name: "XhFieldsetLegend",
|
|
34
|
+
setup(_, { slots }) {
|
|
35
|
+
const ctx = useFieldsetContext();
|
|
36
|
+
return () => h("legend", ctx.api.value.getLegendProps(), slots.default?.());
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
const XhFieldsetHelperText = defineComponent({
|
|
40
|
+
name: "XhFieldsetHelperText",
|
|
41
|
+
setup(_, { slots }) {
|
|
42
|
+
const ctx = useFieldsetContext();
|
|
43
|
+
return () => h("p", ctx.api.value.getHelperTextProps(), slots.default?.());
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
const XhFieldsetErrorText = defineComponent({
|
|
47
|
+
name: "XhFieldsetErrorText",
|
|
48
|
+
setup(_, { slots }) {
|
|
49
|
+
const ctx = useFieldsetContext();
|
|
50
|
+
return () => h("p", ctx.api.value.getErrorTextProps(), slots.default?.());
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
//#endregion
|
|
54
|
+
export { XhFieldsetErrorText, XhFieldsetHelperText, XhFieldsetLegend, XhFieldsetRoot };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=fieldset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldset.js","names":[],"sources":["../../../src/components/fieldset/fieldset.ts"],"sourcesContent":["import type { FieldsetProps, FieldsetTranslations } from '@xihan-ui/headless'\nimport type { PropType } from 'vue'\nimport { defineComponent, h } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { provideFieldset, useFieldsetContext } from './context'\nimport { useFieldset } from './use-fieldset'\n\nexport const XhFieldsetRoot = defineComponent({\n name: 'XhFieldsetRoot',\n // 三个布尔缺省 undefined:缺省值的事实源在 connect,写死 false 会挡住将来从上下文取值\n props: {\n disabled: { type: Boolean, default: undefined },\n invalid: { type: Boolean, default: undefined },\n required: { type: Boolean, default: undefined },\n translations: { type: Object as PropType<Partial<FieldsetTranslations>>, default: undefined },\n },\n setup(props, { slots }) {\n const ctx = useFieldset(withXhConfig('fieldset', props) as FieldsetProps)\n provideFieldset(ctx)\n // 必须是原生 <fieldset>:整组禁用连坐组内控件是浏览器给的,换成 div 就只剩一层灰样式\n return () => h('fieldset', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldsetLegend = defineComponent({\n name: 'XhFieldsetLegend',\n setup(_, { slots }) {\n const ctx = useFieldsetContext()\n // 原生 <legend> 只有作为 <fieldset> 的首个子节点时才充当这一组的名字\n return () => h('legend', ctx.api.value.getLegendProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldsetHelperText = defineComponent({\n name: 'XhFieldsetHelperText',\n setup(_, { slots }) {\n const ctx = useFieldsetContext()\n return () => h('p', ctx.api.value.getHelperTextProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldsetErrorText = defineComponent({\n name: 'XhFieldsetErrorText',\n setup(_, { slots }) {\n const ctx = useFieldsetContext()\n // 节点常挂,靠 hidden 显隐:翻转时 role=alert 才播报得出来,卸载重挂读屏读不到\n return () => h('p', ctx.api.value.getErrorTextProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":";;;;;AAOA,MAAa,iBAAiB,gBAAgB;CAC5C,MAAM;CAEN,OAAO;EACL,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC7C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,cAAc;GAAE,MAAM;GAAmD,SAAS,KAAA;EAAU;CAC9F;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,YAAY,aAAa,YAAY,KAAK,CAAkB;EACxE,gBAAgB,GAAG;EAEnB,aAAa,EAAE,YAAY,IAAI,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU,CAAC;CACvG;AACF,CAAC;AAED,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,mBAAmB;EAE/B,aAAa,EAAE,UAAU,IAAI,IAAI,MAAM,eAAe,GAA8B,MAAM,UAAU,CAAC;CACvG;AACF,CAAC;AAED,MAAa,uBAAuB,gBAAgB;CAClD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,mBAAmB;EAC/B,aAAa,EAAE,KAAK,IAAI,IAAI,MAAM,mBAAmB,GAA8B,MAAM,UAAU,CAAC;CACtG;AACF,CAAC;AAED,MAAa,sBAAsB,gBAAgB;CACjD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,mBAAmB;EAE/B,aAAa,EAAE,KAAK,IAAI,IAAI,MAAM,kBAAkB,GAA8B,MAAM,UAAU,CAAC;CACrG;AACF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ComputedRef } from "vue";
|
|
2
|
+
import { FieldsetApi, FieldsetProps } from "@xihan-ui/headless";
|
|
3
|
+
//#region src/components/fieldset/use-fieldset.d.ts
|
|
4
|
+
interface FieldsetContext {
|
|
5
|
+
api: ComputedRef<FieldsetApi>;
|
|
6
|
+
}
|
|
7
|
+
declare function useFieldset(props: FieldsetProps): FieldsetContext;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { FieldsetContext, useFieldset };
|
|
10
|
+
//# sourceMappingURL=use-fieldset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-fieldset.d.ts","names":[],"sources":["../../../src/components/fieldset/use-fieldset.ts"],"mappings":";;;UAQiB;EACf,KAAK,YAAY;;iBAIH,YAAY,OAAO,gBAAgB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { vueNormalize } from "../../runtime/normalize-props.js";
|
|
2
|
+
import { createVueIdGenerator } from "../../runtime/vue-id.js";
|
|
3
|
+
import { computed } from "vue";
|
|
4
|
+
import { connectFieldset } from "@xihan-ui/headless";
|
|
5
|
+
import { createScope } from "@xihan-ui/kernel";
|
|
6
|
+
//#region src/components/fieldset/use-fieldset.ts
|
|
7
|
+
function useFieldset(props) {
|
|
8
|
+
const scope = createScope(null, createVueIdGenerator());
|
|
9
|
+
return { api: computed(() => connectFieldset(props, scope, vueNormalize)) };
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { useFieldset };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=use-fieldset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-fieldset.js","names":[],"sources":["../../../src/components/fieldset/use-fieldset.ts"],"sourcesContent":["import type { FieldsetApi, FieldsetProps } from '@xihan-ui/headless'\nimport type { ComputedRef } from 'vue'\nimport { connectFieldset } from '@xihan-ui/headless'\nimport { createScope } from '@xihan-ui/kernel'\nimport { computed } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { createVueIdGenerator } from '../../runtime/vue-id'\n\nexport interface FieldsetContext {\n api: ComputedRef<FieldsetApi>\n}\n\n// Fieldset 无状态机,只用一份实例级 scope 派生 part id,props 变了由 computed 重算属性\nexport function useFieldset(props: FieldsetProps): FieldsetContext {\n const idGen = createVueIdGenerator()\n const scope = createScope(null, idGen)\n const api = computed(() => connectFieldset(props, scope, vueNormalize))\n return { api }\n}\n"],"mappings":";;;;;;AAaA,SAAgB,YAAY,OAAuC;CAEjE,MAAM,QAAQ,YAAY,MADZ,qBACsB,CAAC;CAErC,OAAO,EAAE,KADG,eAAe,gBAAgB,OAAO,OAAO,YAAY,CAC1D,EAAE;AACf"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { inject, provide } from "vue";
|
|
2
2
|
//#region src/components/file-upload/context.ts
|
|
3
|
-
const KEY = Symbol("xh-file-upload");
|
|
4
|
-
const ITEM_KEY = Symbol("xh-file-upload-item");
|
|
3
|
+
const KEY = Symbol.for("xh-file-upload");
|
|
4
|
+
const ITEM_KEY = Symbol.for("xh-file-upload-item");
|
|
5
5
|
function provideFileUpload(ctx) {
|
|
6
6
|
provide(KEY, ctx);
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/file-upload/context.ts"],"sourcesContent":["import type { FileUploadItemProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { FileUploadContext } from './use-file-upload'\nimport { inject, provide } from 'vue'\n\n/** 条目自报的文件,供 item-name / item-size-text / 删除按钮这些子部件复用同一份声明。 */\nexport interface FileUploadItemContext {\n item: ComputedRef<FileUploadItemProps>\n}\n\nconst KEY: InjectionKey<FileUploadContext> = Symbol('xh-file-upload')\nconst ITEM_KEY: InjectionKey<FileUploadItemContext> = Symbol('xh-file-upload-item')\n\nexport function provideFileUpload(ctx: FileUploadContext): void {\n provide(KEY, ctx)\n}\n\nexport function useFileUploadContext(): FileUploadContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] FileUpload 部件必须用在 XhFileUploadRoot 内')\n return ctx\n}\n\nexport function provideFileUploadItem(ctx: FileUploadItemContext): void {\n provide(ITEM_KEY, ctx)\n}\n\nexport function useFileUploadItemContext(): FileUploadItemContext {\n const ctx = inject(ITEM_KEY, null)\n if (!ctx)\n throw new Error('[xh] FileUpload 条目子部件必须用在 XhFileUploadItem 内')\n return ctx\n}\n"],"mappings":";;AAUA,MAAM,MAAuC,OAAO,gBAAgB;
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/components/file-upload/context.ts"],"sourcesContent":["import type { FileUploadItemProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { FileUploadContext } from './use-file-upload'\nimport { inject, provide } from 'vue'\n\n/** 条目自报的文件,供 item-name / item-size-text / 删除按钮这些子部件复用同一份声明。 */\nexport interface FileUploadItemContext {\n item: ComputedRef<FileUploadItemProps>\n}\n\nconst KEY: InjectionKey<FileUploadContext> = Symbol.for('xh-file-upload')\nconst ITEM_KEY: InjectionKey<FileUploadItemContext> = Symbol.for('xh-file-upload-item')\n\nexport function provideFileUpload(ctx: FileUploadContext): void {\n provide(KEY, ctx)\n}\n\nexport function useFileUploadContext(): FileUploadContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] FileUpload 部件必须用在 XhFileUploadRoot 内')\n return ctx\n}\n\nexport function provideFileUploadItem(ctx: FileUploadItemContext): void {\n provide(ITEM_KEY, ctx)\n}\n\nexport function useFileUploadItemContext(): FileUploadItemContext {\n const ctx = inject(ITEM_KEY, null)\n if (!ctx)\n throw new Error('[xh] FileUpload 条目子部件必须用在 XhFileUploadItem 内')\n return ctx\n}\n"],"mappings":";;AAUA,MAAM,MAAuC,OAAO,IAAI,gBAAgB;AACxE,MAAM,WAAgD,OAAO,IAAI,qBAAqB;AAEtF,SAAgB,kBAAkB,KAA8B;CAC9D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,uBAA0C;CACxD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,2CAA2C;CAC7D,OAAO;AACT;AAEA,SAAgB,sBAAsB,KAAkC;CACtE,QAAQ,UAAU,GAAG;AACvB;AAEA,SAAgB,2BAAkD;CAChE,MAAM,MAAM,OAAO,UAAU,IAAI;CACjC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,8CAA8C;CAChE,OAAO;AACT"}
|
|
@@ -4,7 +4,7 @@ import { FileUploadApi, FileUploadFile, FileUploadRemoteFile, FileUploadSchema,
|
|
|
4
4
|
//#region src/components/file-upload/file-upload.d.ts
|
|
5
5
|
type FileUploadProps = FileUploadSchema['props'];
|
|
6
6
|
/** 默认插槽的载荷:文件清单与传输快照、投放区与数量状态,与增删清空、开传、拉起选择器等命令。 */
|
|
7
|
-
type FileUploadRootSlotProps = Pick<FileUploadApi, 'acceptedFiles' | 'remoteFiles' | 'allFiles' | 'uploadOf' | 'startUpload' | 'dragging' | 'empty' | 'disabled' | 'maxFiles' | 'getFileSizeText' | 'setFiles' | 'addFiles' | 'deleteFile' | '
|
|
7
|
+
type FileUploadRootSlotProps = Pick<FileUploadApi, 'acceptedFiles' | 'remoteFiles' | 'allFiles' | 'uploadOf' | 'startUpload' | 'dragging' | 'empty' | 'disabled' | 'maxFiles' | 'getFileSizeText' | 'setFiles' | 'addFiles' | 'deleteFile' | 'clear' | 'openFilePicker'>;
|
|
8
8
|
declare const XhFileUploadRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
9
9
|
files: {
|
|
10
10
|
type: PropType<File[]>;
|
|
@@ -172,9 +172,17 @@ declare const XhFileUploadLabel: import("vue").DefineComponent<{}, () => VNode<i
|
|
|
172
172
|
declare const XhFileUploadDropzone: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
173
173
|
[key: string]: any;
|
|
174
174
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
175
|
-
declare const XhFileUploadTrigger: import("vue").DefineComponent<
|
|
175
|
+
declare const XhFileUploadTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
176
|
+
/** 借用作者的子节点当触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */
|
|
177
|
+
asChild: BooleanConstructor;
|
|
178
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
176
179
|
[key: string]: any;
|
|
177
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<
|
|
180
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
181
|
+
/** 借用作者的子节点当触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */
|
|
182
|
+
asChild: BooleanConstructor;
|
|
183
|
+
}>> & Readonly<{}>, {
|
|
184
|
+
asChild: boolean;
|
|
185
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
178
186
|
declare const XhFileUploadHiddenInput: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
179
187
|
[key: string]: any;
|
|
180
188
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-upload.d.ts","names":[],"sources":["../../../src/components/file-upload/file-upload.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"file-upload.d.ts","names":[],"sources":["../../../src/components/file-upload/file-upload.ts"],"mappings":";;;;KASK,kBAAkB;;KAGX,0BAA0B,KACpC;cAkBW,gCAAgB,8BAAA;;IAKD,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACV,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IAClB,MAAA,SAAS;;;;;;;;IAEF,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,MAAA;;;;IACK,MAAA,SAAS,QAAQ;;;;;;EAItB,iBAAA,UAAA,UAAU;EACZ,iBAAA,QAAA,UAAU;EACT,gBAAA,UAAA,UAAU;EACV,gBAAA,UAAA,UAAU;EACF,wBAAA,UAAA,UAAU;EACb,uBAAA,QAAA,UAAU;EACX,oBAAA,UAAA,UAAU;EACb,iBAAA,UAAA,UAAU;;;IA3Bb,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACV,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IAClB,MAAA,SAAS;;;;;;;;IAEF,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,MAAA;;;;IACK,MAAA,SAAS,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcvC,WAAC,OAAO,4BAA4B;kCAmChD;cAEW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAO5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAM/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,8BAAA;;;;;;;;;;qCAoB9B;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAMlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,qCAAqB,0BAAA,oBAAA,4BAAA;;8BAMhC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,8BAAA;;;IAID,MAAA,SAAS;;;;;IAEE,MAAA;;;;;;;;IAFX,MAAA,SAAS;;;;;IAEE,MAAA;;;;;;qCAqBrC;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAY/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,wCAAwB,0BAAA,oBAAA,4BAAA;;8BAYnC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAOlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6CAA6B,0BAAA,oBAAA,4BAAA;;8BAWxC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,wCAAwB,0BAAA,oBAAA,4BAAA;;8BAMnC,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { withXhConfig } from "../../config/config.js";
|
|
2
|
+
import { mergeIntoChild } from "../../runtime/as-child.js";
|
|
2
3
|
import { provideFileUpload, provideFileUploadItem, useFileUploadContext, useFileUploadItemContext } from "./context.js";
|
|
3
4
|
import { useFileUpload } from "./use-file-upload.js";
|
|
4
5
|
import { computed, defineComponent, h } from "vue";
|
|
@@ -113,7 +114,7 @@ const XhFileUploadRoot = defineComponent({
|
|
|
113
114
|
setFiles: ctx.api.value.setFiles,
|
|
114
115
|
addFiles: ctx.api.value.addFiles,
|
|
115
116
|
deleteFile: ctx.api.value.deleteFile,
|
|
116
|
-
|
|
117
|
+
clear: ctx.api.value.clear,
|
|
117
118
|
openFilePicker: ctx.api.value.openFilePicker
|
|
118
119
|
}));
|
|
119
120
|
}
|
|
@@ -134,9 +135,20 @@ const XhFileUploadDropzone = defineComponent({
|
|
|
134
135
|
});
|
|
135
136
|
const XhFileUploadTrigger = defineComponent({
|
|
136
137
|
name: "XhFileUploadTrigger",
|
|
137
|
-
|
|
138
|
+
props: {
|
|
139
|
+
/** 借用作者的子节点当触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */
|
|
140
|
+
asChild: Boolean },
|
|
141
|
+
setup(props, { slots }) {
|
|
138
142
|
const ctx = useFileUploadContext();
|
|
139
|
-
return () =>
|
|
143
|
+
return () => {
|
|
144
|
+
const attrs = ctx.api.value.getTriggerProps();
|
|
145
|
+
const children = slots.default?.();
|
|
146
|
+
if (props.asChild) {
|
|
147
|
+
const merged = mergeIntoChild(children, attrs, "file-upload");
|
|
148
|
+
if (merged) return merged;
|
|
149
|
+
}
|
|
150
|
+
return h("button", attrs, children);
|
|
151
|
+
};
|
|
140
152
|
}
|
|
141
153
|
});
|
|
142
154
|
const XhFileUploadHiddenInput = defineComponent({
|