@hanzo/ui 8.27.91 → 8.29.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/NOTICE +25 -0
- package/README.md +1 -1
- package/dist/backends/gui/alert-dialog.cjs +24 -6
- package/dist/backends/gui/alert-dialog.d.ts +11 -3
- package/dist/backends/gui/alert-dialog.d.ts.map +1 -1
- package/dist/backends/gui/alert-dialog.js +24 -6
- package/dist/backends/gui/alert-dialog.js.map +1 -1
- package/dist/backends/gui/alert.cjs +32 -1
- package/dist/backends/gui/alert.d.ts +36 -3
- package/dist/backends/gui/alert.d.ts.map +1 -1
- package/dist/backends/gui/alert.js +32 -2
- package/dist/backends/gui/alert.js.map +1 -1
- package/dist/backends/gui/avatar-group.cjs +28 -0
- package/dist/backends/gui/avatar-group.d.ts +33 -0
- package/dist/backends/gui/avatar-group.d.ts.map +1 -0
- package/dist/backends/gui/avatar-group.js +26 -0
- package/dist/backends/gui/avatar-group.js.map +1 -0
- package/dist/backends/gui/avatar.cjs +53 -3
- package/dist/backends/gui/avatar.d.ts +46 -4
- package/dist/backends/gui/avatar.d.ts.map +1 -1
- package/dist/backends/gui/avatar.js +52 -3
- package/dist/backends/gui/avatar.js.map +1 -1
- package/dist/backends/gui/badge.cjs +40 -2
- package/dist/backends/gui/badge.d.ts +7 -2
- package/dist/backends/gui/badge.d.ts.map +1 -1
- package/dist/backends/gui/badge.js +40 -2
- package/dist/backends/gui/badge.js.map +1 -1
- package/dist/backends/gui/banner.cjs +40 -1
- package/dist/backends/gui/banner.d.ts +36 -3
- package/dist/backends/gui/banner.d.ts.map +1 -1
- package/dist/backends/gui/banner.js +42 -4
- package/dist/backends/gui/banner.js.map +1 -1
- package/dist/backends/gui/breadcrumb.cjs +28 -10
- package/dist/backends/gui/breadcrumb.d.ts +20 -11
- package/dist/backends/gui/breadcrumb.d.ts.map +1 -1
- package/dist/backends/gui/breadcrumb.js +28 -10
- package/dist/backends/gui/breadcrumb.js.map +1 -1
- package/dist/backends/gui/button-group.cjs +43 -0
- package/dist/backends/gui/button-group.d.ts +48 -0
- package/dist/backends/gui/button-group.d.ts.map +1 -0
- package/dist/backends/gui/button-group.js +40 -0
- package/dist/backends/gui/button-group.js.map +1 -0
- package/dist/backends/gui/button.cjs +177 -4
- package/dist/backends/gui/button.d.ts +69 -4
- package/dist/backends/gui/button.d.ts.map +1 -1
- package/dist/backends/gui/button.js +179 -6
- package/dist/backends/gui/button.js.map +1 -1
- package/dist/backends/gui/card.cjs +50 -21
- package/dist/backends/gui/card.d.ts +16 -7
- package/dist/backends/gui/card.d.ts.map +1 -1
- package/dist/backends/gui/card.js +50 -21
- package/dist/backends/gui/card.js.map +1 -1
- package/dist/backends/gui/checkbox.cjs +86 -14
- package/dist/backends/gui/checkbox.d.ts +30 -2
- package/dist/backends/gui/checkbox.d.ts.map +1 -1
- package/dist/backends/gui/checkbox.js +87 -15
- package/dist/backends/gui/checkbox.js.map +1 -1
- package/dist/backends/gui/chip.cjs +51 -0
- package/dist/backends/gui/chip.d.ts +47 -0
- package/dist/backends/gui/chip.d.ts.map +1 -0
- package/dist/backends/gui/chip.js +49 -0
- package/dist/backends/gui/chip.js.map +1 -0
- package/dist/backends/gui/choice.cjs +18 -3
- package/dist/backends/gui/choice.d.ts +10 -2
- package/dist/backends/gui/choice.d.ts.map +1 -1
- package/dist/backends/gui/choice.js +19 -4
- package/dist/backends/gui/choice.js.map +1 -1
- package/dist/backends/gui/code-editor.cjs +16 -5
- package/dist/backends/gui/code-editor.d.ts +18 -1
- package/dist/backends/gui/code-editor.d.ts.map +1 -1
- package/dist/backends/gui/code-editor.js +16 -5
- package/dist/backends/gui/code-editor.js.map +1 -1
- package/dist/backends/gui/color-sample.cjs +24 -0
- package/dist/backends/gui/color-sample.d.ts +23 -0
- package/dist/backends/gui/color-sample.d.ts.map +1 -0
- package/dist/backends/gui/color-sample.js +22 -0
- package/dist/backends/gui/color-sample.js.map +1 -0
- package/dist/backends/gui/control.cjs +5 -3
- package/dist/backends/gui/control.d.ts +13 -3
- package/dist/backends/gui/control.d.ts.map +1 -1
- package/dist/backends/gui/control.js +5 -3
- package/dist/backends/gui/control.js.map +1 -1
- package/dist/backends/gui/country-select.cjs +69 -0
- package/dist/backends/gui/country-select.d.ts +30 -0
- package/dist/backends/gui/country-select.d.ts.map +1 -0
- package/dist/backends/gui/country-select.js +67 -0
- package/dist/backends/gui/country-select.js.map +1 -0
- package/dist/backends/gui/currency-picker.cjs +48 -0
- package/dist/backends/gui/currency-picker.d.ts +37 -0
- package/dist/backends/gui/currency-picker.d.ts.map +1 -0
- package/dist/backends/gui/currency-picker.js +46 -0
- package/dist/backends/gui/currency-picker.js.map +1 -0
- package/dist/backends/gui/density.cjs +32 -0
- package/dist/backends/gui/density.d.ts +27 -0
- package/dist/backends/gui/density.d.ts.map +1 -0
- package/dist/backends/gui/density.js +27 -0
- package/dist/backends/gui/density.js.map +1 -0
- package/dist/backends/gui/dialog.cjs +65 -7
- package/dist/backends/gui/dialog.d.ts +68 -3
- package/dist/backends/gui/dialog.d.ts.map +1 -1
- package/dist/backends/gui/dialog.js +63 -7
- package/dist/backends/gui/dialog.js.map +1 -1
- package/dist/backends/gui/dropdown-menu.cjs +361 -31
- package/dist/backends/gui/dropdown-menu.d.ts +151 -15
- package/dist/backends/gui/dropdown-menu.d.ts.map +1 -1
- package/dist/backends/gui/dropdown-menu.js +353 -34
- package/dist/backends/gui/dropdown-menu.js.map +1 -1
- package/dist/backends/gui/feedback.cjs +78 -0
- package/dist/backends/gui/feedback.d.ts +46 -0
- package/dist/backends/gui/feedback.d.ts.map +1 -0
- package/dist/backends/gui/feedback.js +74 -0
- package/dist/backends/gui/feedback.js.map +1 -0
- package/dist/backends/gui/field.cjs +71 -14
- package/dist/backends/gui/field.d.ts +43 -3
- package/dist/backends/gui/field.d.ts.map +1 -1
- package/dist/backends/gui/field.js +69 -14
- package/dist/backends/gui/field.js.map +1 -1
- package/dist/backends/gui/flag.cjs +17 -0
- package/dist/backends/gui/flag.d.ts +9 -0
- package/dist/backends/gui/flag.d.ts.map +1 -0
- package/dist/backends/gui/flag.js +14 -0
- package/dist/backends/gui/flag.js.map +1 -0
- package/dist/backends/gui/grip.cjs +35 -3
- package/dist/backends/gui/grip.d.ts +16 -1
- package/dist/backends/gui/grip.d.ts.map +1 -1
- package/dist/backends/gui/grip.js +35 -3
- package/dist/backends/gui/grip.js.map +1 -1
- package/dist/backends/gui/heading.cjs +27 -0
- package/dist/backends/gui/heading.d.ts +8 -0
- package/dist/backends/gui/heading.d.ts.map +1 -0
- package/dist/backends/gui/heading.js +25 -0
- package/dist/backends/gui/heading.js.map +1 -0
- package/dist/backends/gui/hue.cjs +49 -0
- package/dist/backends/gui/hue.d.ts +18 -0
- package/dist/backends/gui/hue.d.ts.map +1 -0
- package/dist/backends/gui/hue.js +43 -0
- package/dist/backends/gui/hue.js.map +1 -0
- package/dist/backends/gui/icon-picker.cjs +194 -0
- package/dist/backends/gui/icon-picker.d.ts +51 -0
- package/dist/backends/gui/icon-picker.d.ts.map +1 -0
- package/dist/backends/gui/icon-picker.js +155 -0
- package/dist/backends/gui/icon-picker.js.map +1 -0
- package/dist/backends/gui/icon-tile.cjs +36 -0
- package/dist/backends/gui/icon-tile.d.ts +26 -0
- package/dist/backends/gui/icon-tile.d.ts.map +1 -0
- package/dist/backends/gui/icon-tile.js +32 -0
- package/dist/backends/gui/icon-tile.js.map +1 -0
- package/dist/backends/gui/icons.cjs +381 -0
- package/dist/backends/gui/icons.d.ts +53 -0
- package/dist/backends/gui/icons.d.ts.map +1 -0
- package/dist/backends/gui/icons.js +377 -0
- package/dist/backends/gui/icons.js.map +1 -0
- package/dist/backends/gui/image-input.cjs +78 -0
- package/dist/backends/gui/image-input.d.ts +32 -0
- package/dist/backends/gui/image-input.d.ts.map +1 -0
- package/dist/backends/gui/image-input.js +74 -0
- package/dist/backends/gui/image-input.js.map +1 -0
- package/dist/backends/gui/index.cjs +105 -7
- package/dist/backends/gui/index.d.ts +47 -2
- package/dist/backends/gui/index.d.ts.map +1 -1
- package/dist/backends/gui/index.js +37 -1
- package/dist/backends/gui/index.js.map +1 -1
- package/dist/backends/gui/input-group.cjs +49 -0
- package/dist/backends/gui/input-group.d.ts +46 -0
- package/dist/backends/gui/input-group.d.ts.map +1 -0
- package/dist/backends/gui/input-group.js +46 -0
- package/dist/backends/gui/input-group.js.map +1 -0
- package/dist/backends/gui/input.cjs +32 -4
- package/dist/backends/gui/input.d.ts +5 -1
- package/dist/backends/gui/input.d.ts.map +1 -1
- package/dist/backends/gui/input.js +33 -5
- package/dist/backends/gui/input.js.map +1 -1
- package/dist/backends/gui/item.cjs +34 -2
- package/dist/backends/gui/item.d.ts +21 -5
- package/dist/backends/gui/item.d.ts.map +1 -1
- package/dist/backends/gui/item.js +35 -3
- package/dist/backends/gui/item.js.map +1 -1
- package/dist/backends/gui/json-tree.cjs +103 -15
- package/dist/backends/gui/json-tree.d.ts +39 -3
- package/dist/backends/gui/json-tree.d.ts.map +1 -1
- package/dist/backends/gui/json-tree.js +104 -16
- package/dist/backends/gui/json-tree.js.map +1 -1
- package/dist/backends/gui/kbd.cjs +18 -2
- package/dist/backends/gui/kbd.d.ts +5 -2
- package/dist/backends/gui/kbd.d.ts.map +1 -1
- package/dist/backends/gui/kbd.js +18 -2
- package/dist/backends/gui/kbd.js.map +1 -1
- package/dist/backends/gui/label.cjs +14 -3
- package/dist/backends/gui/label.d.ts +12 -3
- package/dist/backends/gui/label.d.ts.map +1 -1
- package/dist/backends/gui/label.js +14 -3
- package/dist/backends/gui/label.js.map +1 -1
- package/dist/backends/gui/layout.cjs +5 -1
- package/dist/backends/gui/layout.d.ts +1 -1
- package/dist/backends/gui/layout.d.ts.map +1 -1
- package/dist/backends/gui/layout.js +5 -1
- package/dist/backends/gui/layout.js.map +1 -1
- package/dist/backends/gui/number-field.cjs +163 -0
- package/dist/backends/gui/number-field.d.ts +34 -0
- package/dist/backends/gui/number-field.d.ts.map +1 -0
- package/dist/backends/gui/number-field.js +160 -0
- package/dist/backends/gui/number-field.js.map +1 -0
- package/dist/backends/gui/overflowing-list.cjs +79 -0
- package/dist/backends/gui/overflowing-list.d.ts +42 -0
- package/dist/backends/gui/overflowing-list.d.ts.map +1 -0
- package/dist/backends/gui/overflowing-list.js +76 -0
- package/dist/backends/gui/overflowing-list.js.map +1 -0
- package/dist/backends/gui/phone-country-picker.cjs +60 -0
- package/dist/backends/gui/phone-country-picker.d.ts +34 -0
- package/dist/backends/gui/phone-country-picker.d.ts.map +1 -0
- package/dist/backends/gui/phone-country-picker.js +57 -0
- package/dist/backends/gui/phone-country-picker.js.map +1 -0
- package/dist/backends/gui/popover.cjs +20 -4
- package/dist/backends/gui/popover.d.ts +12 -1
- package/dist/backends/gui/popover.d.ts.map +1 -1
- package/dist/backends/gui/popover.js +21 -5
- package/dist/backends/gui/popover.js.map +1 -1
- package/dist/backends/gui/progress-ring.cjs +38 -0
- package/dist/backends/gui/progress-ring.d.ts +37 -0
- package/dist/backends/gui/progress-ring.d.ts.map +1 -0
- package/dist/backends/gui/progress-ring.js +36 -0
- package/dist/backends/gui/progress-ring.js.map +1 -0
- package/dist/backends/gui/progress.cjs +31 -7
- package/dist/backends/gui/progress.d.ts +25 -3
- package/dist/backends/gui/progress.d.ts.map +1 -1
- package/dist/backends/gui/progress.js +32 -8
- package/dist/backends/gui/progress.js.map +1 -1
- package/dist/backends/gui/radio-group.cjs +28 -2
- package/dist/backends/gui/radio-group.d.ts +20 -2
- package/dist/backends/gui/radio-group.d.ts.map +1 -1
- package/dist/backends/gui/radio-group.js +28 -2
- package/dist/backends/gui/radio-group.js.map +1 -1
- package/dist/backends/gui/search-list.cjs +62 -0
- package/dist/backends/gui/search-list.d.ts +65 -0
- package/dist/backends/gui/search-list.d.ts.map +1 -0
- package/dist/backends/gui/search-list.js +58 -0
- package/dist/backends/gui/search-list.js.map +1 -0
- package/dist/backends/gui/select.cjs +50 -16
- package/dist/backends/gui/select.d.ts +12 -3
- package/dist/backends/gui/select.d.ts.map +1 -1
- package/dist/backends/gui/select.js +51 -17
- package/dist/backends/gui/select.js.map +1 -1
- package/dist/backends/gui/shortcut.cjs +122 -0
- package/dist/backends/gui/shortcut.d.ts +58 -0
- package/dist/backends/gui/shortcut.d.ts.map +1 -0
- package/dist/backends/gui/shortcut.js +115 -0
- package/dist/backends/gui/shortcut.js.map +1 -0
- package/dist/backends/gui/skeleton.cjs +41 -10
- package/dist/backends/gui/skeleton.d.ts +46 -8
- package/dist/backends/gui/skeleton.d.ts.map +1 -1
- package/dist/backends/gui/skeleton.js +39 -8
- package/dist/backends/gui/skeleton.js.map +1 -1
- package/dist/backends/gui/snippet.cjs +12 -1
- package/dist/backends/gui/snippet.d.ts +4 -2
- package/dist/backends/gui/snippet.d.ts.map +1 -1
- package/dist/backends/gui/snippet.js +12 -1
- package/dist/backends/gui/snippet.js.map +1 -1
- package/dist/backends/gui/spinner.cjs +8 -1
- package/dist/backends/gui/spinner.d.ts +11 -2
- package/dist/backends/gui/spinner.d.ts.map +1 -1
- package/dist/backends/gui/spinner.js +9 -2
- package/dist/backends/gui/spinner.js.map +1 -1
- package/dist/backends/gui/stack-icon.cjs +17 -0
- package/dist/backends/gui/stack-icon.d.ts +15 -0
- package/dist/backends/gui/stack-icon.d.ts.map +1 -0
- package/dist/backends/gui/stack-icon.js +15 -0
- package/dist/backends/gui/stack-icon.js.map +1 -0
- package/dist/backends/gui/status.cjs +38 -1
- package/dist/backends/gui/status.d.ts +16 -2
- package/dist/backends/gui/status.d.ts.map +1 -1
- package/dist/backends/gui/status.js +38 -2
- package/dist/backends/gui/status.js.map +1 -1
- package/dist/backends/gui/stepper.cjs +73 -3
- package/dist/backends/gui/stepper.d.ts +25 -1
- package/dist/backends/gui/stepper.d.ts.map +1 -1
- package/dist/backends/gui/stepper.js +71 -5
- package/dist/backends/gui/stepper.js.map +1 -1
- package/dist/backends/gui/switch.cjs +35 -20
- package/dist/backends/gui/switch.d.ts +12 -2
- package/dist/backends/gui/switch.d.ts.map +1 -1
- package/dist/backends/gui/switch.js +35 -20
- package/dist/backends/gui/switch.js.map +1 -1
- package/dist/backends/gui/tabs.cjs +63 -17
- package/dist/backends/gui/tabs.d.ts +35 -6
- package/dist/backends/gui/tabs.d.ts.map +1 -1
- package/dist/backends/gui/tabs.js +65 -19
- package/dist/backends/gui/tabs.js.map +1 -1
- package/dist/backends/gui/tag.cjs +48 -0
- package/dist/backends/gui/tag.d.ts +53 -0
- package/dist/backends/gui/tag.d.ts.map +1 -0
- package/dist/backends/gui/tag.js +46 -0
- package/dist/backends/gui/tag.js.map +1 -0
- package/dist/backends/gui/tags.cjs +9 -2
- package/dist/backends/gui/tags.d.ts +6 -5
- package/dist/backends/gui/tags.d.ts.map +1 -1
- package/dist/backends/gui/tags.js +9 -2
- package/dist/backends/gui/tags.js.map +1 -1
- package/dist/backends/gui/textarea.cjs +22 -6
- package/dist/backends/gui/textarea.d.ts +10 -1
- package/dist/backends/gui/textarea.d.ts.map +1 -1
- package/dist/backends/gui/textarea.js +22 -6
- package/dist/backends/gui/textarea.js.map +1 -1
- package/dist/backends/gui/toaster.cjs +167 -3
- package/dist/backends/gui/toaster.d.ts +28 -2
- package/dist/backends/gui/toaster.d.ts.map +1 -1
- package/dist/backends/gui/toaster.js +167 -5
- package/dist/backends/gui/toaster.js.map +1 -1
- package/dist/backends/gui/toggle-group.cjs +13 -0
- package/dist/backends/gui/toggle-group.d.ts +7 -1
- package/dist/backends/gui/toggle-group.d.ts.map +1 -1
- package/dist/backends/gui/toggle-group.js +13 -0
- package/dist/backends/gui/toggle-group.js.map +1 -1
- package/dist/backends/gui/tooltip.cjs +29 -6
- package/dist/backends/gui/tooltip.d.ts +23 -4
- package/dist/backends/gui/tooltip.d.ts.map +1 -1
- package/dist/backends/gui/tooltip.js +31 -8
- package/dist/backends/gui/tooltip.js.map +1 -1
- package/dist/backends/gui/truncated-text.cjs +102 -0
- package/dist/backends/gui/truncated-text.d.ts +55 -0
- package/dist/backends/gui/truncated-text.d.ts.map +1 -0
- package/dist/backends/gui/truncated-text.js +97 -0
- package/dist/backends/gui/truncated-text.js.map +1 -0
- package/dist/gallery/compound.cjs +60 -0
- package/dist/gallery/compound.d.ts +2 -0
- package/dist/gallery/compound.d.ts.map +1 -0
- package/dist/gallery/compound.js +58 -0
- package/dist/gallery/compound.js.map +1 -0
- package/dist/gallery/display.cjs +47 -0
- package/dist/gallery/display.d.ts +3 -0
- package/dist/gallery/display.d.ts.map +1 -0
- package/dist/gallery/display.js +45 -0
- package/dist/gallery/display.js.map +1 -0
- package/dist/gallery/feedback.cjs +38 -0
- package/dist/gallery/feedback.d.ts +2 -0
- package/dist/gallery/feedback.d.ts.map +1 -0
- package/dist/gallery/feedback.js +36 -0
- package/dist/gallery/feedback.js.map +1 -0
- package/dist/gallery/fields.cjs +53 -0
- package/dist/gallery/fields.d.ts +2 -0
- package/dist/gallery/fields.d.ts.map +1 -0
- package/dist/gallery/fields.js +51 -0
- package/dist/gallery/fields.js.map +1 -0
- package/dist/gallery/frames.cjs +47 -0
- package/dist/gallery/frames.d.ts +2 -0
- package/dist/gallery/frames.d.ts.map +1 -0
- package/dist/gallery/frames.js +45 -0
- package/dist/gallery/frames.js.map +1 -0
- package/dist/gallery/icons.cjs +19 -0
- package/dist/gallery/icons.d.ts +2 -0
- package/dist/gallery/icons.d.ts.map +1 -0
- package/dist/gallery/icons.js +17 -0
- package/dist/gallery/icons.js.map +1 -0
- package/dist/gallery/menus.cjs +64 -0
- package/dist/gallery/menus.d.ts +15 -0
- package/dist/gallery/menus.d.ts.map +1 -0
- package/dist/gallery/menus.js +58 -0
- package/dist/gallery/menus.js.map +1 -0
- package/dist/gallery/records.cjs +34 -0
- package/dist/gallery/records.d.ts +2 -0
- package/dist/gallery/records.d.ts.map +1 -0
- package/dist/gallery/records.js +32 -0
- package/dist/gallery/records.js.map +1 -0
- package/dist/gallery/section.cjs +17 -0
- package/dist/gallery/section.d.ts +10 -0
- package/dist/gallery/section.d.ts.map +1 -0
- package/dist/gallery/section.js +14 -0
- package/dist/gallery/section.js.map +1 -0
- package/dist/gallery.cjs +8 -14
- package/dist/gallery.d.ts.map +1 -1
- package/dist/gallery.html +1594 -256
- package/dist/gallery.js +3 -9
- package/dist/gallery.js.map +1 -1
- package/dist/gui-config.cjs +33 -4
- package/dist/gui-config.d.ts +11 -3
- package/dist/gui-config.d.ts.map +1 -1
- package/dist/gui-config.js +33 -4
- package/dist/gui-config.js.map +1 -1
- package/dist/index.cjs +73 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +73 -2
- package/dist/index.node.js +10 -1
- package/dist/motion.cjs +25 -1
- package/dist/motion.d.ts +16 -1
- package/dist/motion.d.ts.map +1 -1
- package/dist/motion.js +24 -1
- package/dist/motion.js.map +1 -1
- package/dist/primitives/AvatarGroup.cjs +8 -0
- package/dist/primitives/AvatarGroup.d.ts +2 -0
- package/dist/primitives/AvatarGroup.d.ts.map +1 -0
- package/dist/primitives/AvatarGroup.js +5 -0
- package/dist/primitives/AvatarGroup.js.map +1 -0
- package/dist/primitives/BannerAction.cjs +8 -0
- package/dist/primitives/BannerAction.d.ts +2 -0
- package/dist/primitives/BannerAction.d.ts.map +1 -0
- package/dist/primitives/BannerAction.js +5 -0
- package/dist/primitives/BannerAction.js.map +1 -0
- package/dist/primitives/ButtonGroup.cjs +8 -0
- package/dist/primitives/ButtonGroup.d.ts +2 -0
- package/dist/primitives/ButtonGroup.d.ts.map +1 -0
- package/dist/primitives/ButtonGroup.js +5 -0
- package/dist/primitives/ButtonGroup.js.map +1 -0
- package/dist/primitives/ButtonGroupContext.cjs +8 -0
- package/dist/primitives/ButtonGroupContext.d.ts +2 -0
- package/dist/primitives/ButtonGroupContext.d.ts.map +1 -0
- package/dist/primitives/ButtonGroupContext.js +5 -0
- package/dist/primitives/ButtonGroupContext.js.map +1 -0
- package/dist/primitives/CONCEPTS.cjs +8 -0
- package/dist/primitives/CONCEPTS.d.ts +2 -0
- package/dist/primitives/CONCEPTS.d.ts.map +1 -0
- package/dist/primitives/CONCEPTS.js +5 -0
- package/dist/primitives/CONCEPTS.js.map +1 -0
- package/dist/primitives/CalloutAction.cjs +8 -0
- package/dist/primitives/CalloutAction.d.ts +2 -0
- package/dist/primitives/CalloutAction.d.ts.map +1 -0
- package/dist/primitives/CalloutAction.js +5 -0
- package/dist/primitives/CalloutAction.js.map +1 -0
- package/dist/primitives/Chip.cjs +8 -0
- package/dist/primitives/Chip.d.ts +2 -0
- package/dist/primitives/Chip.d.ts.map +1 -0
- package/dist/primitives/Chip.js +5 -0
- package/dist/primitives/Chip.js.map +1 -0
- package/dist/primitives/ColorSample.cjs +8 -0
- package/dist/primitives/ColorSample.d.ts +2 -0
- package/dist/primitives/ColorSample.d.ts.map +1 -0
- package/dist/primitives/ColorSample.js +5 -0
- package/dist/primitives/ColorSample.js.map +1 -0
- package/dist/primitives/CountrySelect.cjs +8 -0
- package/dist/primitives/CountrySelect.d.ts +2 -0
- package/dist/primitives/CountrySelect.d.ts.map +1 -0
- package/dist/primitives/CountrySelect.js +5 -0
- package/dist/primitives/CountrySelect.js.map +1 -0
- package/dist/primitives/CurrencyPicker.cjs +8 -0
- package/dist/primitives/CurrencyPicker.d.ts +2 -0
- package/dist/primitives/CurrencyPicker.d.ts.map +1 -0
- package/dist/primitives/CurrencyPicker.js +5 -0
- package/dist/primitives/CurrencyPicker.js.map +1 -0
- package/dist/primitives/Density.cjs +8 -0
- package/dist/primitives/Density.d.ts +2 -0
- package/dist/primitives/Density.d.ts.map +1 -0
- package/dist/primitives/Density.js +5 -0
- package/dist/primitives/Density.js.map +1 -0
- package/dist/primitives/DialogBody.cjs +8 -0
- package/dist/primitives/DialogBody.d.ts +2 -0
- package/dist/primitives/DialogBody.d.ts.map +1 -0
- package/dist/primitives/DialogBody.js +5 -0
- package/dist/primitives/DialogBody.js.map +1 -0
- package/dist/primitives/DropdownMenuBack.cjs +8 -0
- package/dist/primitives/DropdownMenuBack.d.ts +2 -0
- package/dist/primitives/DropdownMenuBack.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuBack.js +5 -0
- package/dist/primitives/DropdownMenuBack.js.map +1 -0
- package/dist/primitives/DropdownMenuClose.cjs +8 -0
- package/dist/primitives/DropdownMenuClose.d.ts +2 -0
- package/dist/primitives/DropdownMenuClose.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuClose.js +5 -0
- package/dist/primitives/DropdownMenuClose.js.map +1 -0
- package/dist/primitives/DropdownMenuEmpty.cjs +8 -0
- package/dist/primitives/DropdownMenuEmpty.d.ts +2 -0
- package/dist/primitives/DropdownMenuEmpty.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuEmpty.js +5 -0
- package/dist/primitives/DropdownMenuEmpty.js.map +1 -0
- package/dist/primitives/DropdownMenuHeader.cjs +8 -0
- package/dist/primitives/DropdownMenuHeader.d.ts +2 -0
- package/dist/primitives/DropdownMenuHeader.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuHeader.js +5 -0
- package/dist/primitives/DropdownMenuHeader.js.map +1 -0
- package/dist/primitives/DropdownMenuLoading.cjs +8 -0
- package/dist/primitives/DropdownMenuLoading.d.ts +2 -0
- package/dist/primitives/DropdownMenuLoading.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuLoading.js +5 -0
- package/dist/primitives/DropdownMenuLoading.js.map +1 -0
- package/dist/primitives/DropdownMenuOptionItem.cjs +8 -0
- package/dist/primitives/DropdownMenuOptionItem.d.ts +2 -0
- package/dist/primitives/DropdownMenuOptionItem.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuOptionItem.js +5 -0
- package/dist/primitives/DropdownMenuOptionItem.js.map +1 -0
- package/dist/primitives/DropdownMenuPage.cjs +8 -0
- package/dist/primitives/DropdownMenuPage.d.ts +2 -0
- package/dist/primitives/DropdownMenuPage.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuPage.js +5 -0
- package/dist/primitives/DropdownMenuPage.js.map +1 -0
- package/dist/primitives/DropdownMenuSearch.cjs +8 -0
- package/dist/primitives/DropdownMenuSearch.d.ts +2 -0
- package/dist/primitives/DropdownMenuSearch.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSearch.js +5 -0
- package/dist/primitives/DropdownMenuSearch.js.map +1 -0
- package/dist/primitives/DropdownMenuSection.cjs +8 -0
- package/dist/primitives/DropdownMenuSection.d.ts +2 -0
- package/dist/primitives/DropdownMenuSection.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSection.js +5 -0
- package/dist/primitives/DropdownMenuSection.js.map +1 -0
- package/dist/primitives/DropdownMenuSelectionGroup.cjs +8 -0
- package/dist/primitives/DropdownMenuSelectionGroup.d.ts +2 -0
- package/dist/primitives/DropdownMenuSelectionGroup.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSelectionGroup.js +5 -0
- package/dist/primitives/DropdownMenuSelectionGroup.js.map +1 -0
- package/dist/primitives/DropdownMenuTitle.cjs +8 -0
- package/dist/primitives/DropdownMenuTitle.d.ts +2 -0
- package/dist/primitives/DropdownMenuTitle.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuTitle.js +5 -0
- package/dist/primitives/DropdownMenuTitle.js.map +1 -0
- package/dist/primitives/FIELD_ICONS.cjs +8 -0
- package/dist/primitives/FIELD_ICONS.d.ts +2 -0
- package/dist/primitives/FIELD_ICONS.d.ts.map +1 -0
- package/dist/primitives/FIELD_ICONS.js +5 -0
- package/dist/primitives/FIELD_ICONS.js.map +1 -0
- package/dist/primitives/Glyph.cjs +8 -0
- package/dist/primitives/Glyph.d.ts +2 -0
- package/dist/primitives/Glyph.d.ts.map +1 -0
- package/dist/primitives/Glyph.js +5 -0
- package/dist/primitives/Glyph.js.map +1 -0
- package/dist/primitives/Heading.cjs +2 -2
- package/dist/primitives/Heading.d.ts +1 -1
- package/dist/primitives/Heading.d.ts.map +1 -1
- package/dist/primitives/Heading.js +1 -1
- package/dist/primitives/Heading.js.map +1 -1
- package/dist/primitives/IconPicker.cjs +8 -0
- package/dist/primitives/IconPicker.d.ts +2 -0
- package/dist/primitives/IconPicker.d.ts.map +1 -0
- package/dist/primitives/IconPicker.js +5 -0
- package/dist/primitives/IconPicker.js.map +1 -0
- package/dist/primitives/IconTile.cjs +8 -0
- package/dist/primitives/IconTile.d.ts +2 -0
- package/dist/primitives/IconTile.d.ts.map +1 -0
- package/dist/primitives/IconTile.js +5 -0
- package/dist/primitives/IconTile.js.map +1 -0
- package/dist/primitives/ImageInput.cjs +8 -0
- package/dist/primitives/ImageInput.d.ts +2 -0
- package/dist/primitives/ImageInput.d.ts.map +1 -0
- package/dist/primitives/ImageInput.js +5 -0
- package/dist/primitives/ImageInput.js.map +1 -0
- package/dist/primitives/InputGroup.cjs +8 -0
- package/dist/primitives/InputGroup.d.ts +2 -0
- package/dist/primitives/InputGroup.d.ts.map +1 -0
- package/dist/primitives/InputGroup.js +5 -0
- package/dist/primitives/InputGroup.js.map +1 -0
- package/dist/primitives/NumberField.cjs +8 -0
- package/dist/primitives/NumberField.d.ts +2 -0
- package/dist/primitives/NumberField.d.ts.map +1 -0
- package/dist/primitives/NumberField.js +5 -0
- package/dist/primitives/NumberField.js.map +1 -0
- package/dist/primitives/OverflowingList.cjs +8 -0
- package/dist/primitives/OverflowingList.d.ts +2 -0
- package/dist/primitives/OverflowingList.d.ts.map +1 -0
- package/dist/primitives/OverflowingList.js +5 -0
- package/dist/primitives/OverflowingList.js.map +1 -0
- package/dist/primitives/PhoneCountryPicker.cjs +8 -0
- package/dist/primitives/PhoneCountryPicker.d.ts +2 -0
- package/dist/primitives/PhoneCountryPicker.d.ts.map +1 -0
- package/dist/primitives/PhoneCountryPicker.js +5 -0
- package/dist/primitives/PhoneCountryPicker.js.map +1 -0
- package/dist/primitives/ProgressRing.cjs +8 -0
- package/dist/primitives/ProgressRing.d.ts +2 -0
- package/dist/primitives/ProgressRing.d.ts.map +1 -0
- package/dist/primitives/ProgressRing.js +5 -0
- package/dist/primitives/ProgressRing.js.map +1 -0
- package/dist/primitives/RadioCircle.cjs +8 -0
- package/dist/primitives/RadioCircle.d.ts +2 -0
- package/dist/primitives/RadioCircle.d.ts.map +1 -0
- package/dist/primitives/RadioCircle.js +5 -0
- package/dist/primitives/RadioCircle.js.map +1 -0
- package/dist/primitives/SKELETON_HEIGHT.cjs +8 -0
- package/dist/primitives/SKELETON_HEIGHT.d.ts +2 -0
- package/dist/primitives/SKELETON_HEIGHT.d.ts.map +1 -0
- package/dist/primitives/SKELETON_HEIGHT.js +5 -0
- package/dist/primitives/SKELETON_HEIGHT.js.map +1 -0
- package/dist/primitives/STATUS_COLOR.cjs +8 -0
- package/dist/primitives/STATUS_COLOR.d.ts +2 -0
- package/dist/primitives/STATUS_COLOR.d.ts.map +1 -0
- package/dist/primitives/STATUS_COLOR.js +5 -0
- package/dist/primitives/STATUS_COLOR.js.map +1 -0
- package/dist/primitives/STATUS_HUE.cjs +8 -0
- package/dist/primitives/STATUS_HUE.d.ts +2 -0
- package/dist/primitives/STATUS_HUE.d.ts.map +1 -0
- package/dist/primitives/STATUS_HUE.js +5 -0
- package/dist/primitives/STATUS_HUE.js.map +1 -0
- package/dist/primitives/STATUS_PAINT.cjs +8 -0
- package/dist/primitives/STATUS_PAINT.d.ts +2 -0
- package/dist/primitives/STATUS_PAINT.d.ts.map +1 -0
- package/dist/primitives/STATUS_PAINT.js +5 -0
- package/dist/primitives/STATUS_PAINT.js.map +1 -0
- package/dist/primitives/Shortcut.cjs +8 -0
- package/dist/primitives/Shortcut.d.ts +2 -0
- package/dist/primitives/Shortcut.d.ts.map +1 -0
- package/dist/primitives/Shortcut.js +5 -0
- package/dist/primitives/Shortcut.js.map +1 -0
- package/dist/primitives/StackIcon.cjs +8 -0
- package/dist/primitives/StackIcon.d.ts +2 -0
- package/dist/primitives/StackIcon.d.ts.map +1 -0
- package/dist/primitives/StackIcon.js +5 -0
- package/dist/primitives/StackIcon.js.map +1 -0
- package/dist/primitives/TABLER.cjs +8 -0
- package/dist/primitives/TABLER.d.ts +2 -0
- package/dist/primitives/TABLER.d.ts.map +1 -0
- package/dist/primitives/TABLER.js +5 -0
- package/dist/primitives/TABLER.js.map +1 -0
- package/dist/primitives/TOAST_DURATION.cjs +8 -0
- package/dist/primitives/TOAST_DURATION.d.ts +2 -0
- package/dist/primitives/TOAST_DURATION.d.ts.map +1 -0
- package/dist/primitives/TOAST_DURATION.js +5 -0
- package/dist/primitives/TOAST_DURATION.js.map +1 -0
- package/dist/primitives/Tag.cjs +8 -0
- package/dist/primitives/Tag.d.ts +2 -0
- package/dist/primitives/Tag.d.ts.map +1 -0
- package/dist/primitives/Tag.js +5 -0
- package/dist/primitives/Tag.js.map +1 -0
- package/dist/primitives/ToastCard.cjs +8 -0
- package/dist/primitives/ToastCard.d.ts +2 -0
- package/dist/primitives/ToastCard.d.ts.map +1 -0
- package/dist/primitives/ToastCard.js +5 -0
- package/dist/primitives/ToastCard.js.map +1 -0
- package/dist/primitives/ToastFace.cjs +8 -0
- package/dist/primitives/ToastFace.d.ts +2 -0
- package/dist/primitives/ToastFace.d.ts.map +1 -0
- package/dist/primitives/ToastFace.js +5 -0
- package/dist/primitives/ToastFace.js.map +1 -0
- package/dist/primitives/TruncatedText.cjs +8 -0
- package/dist/primitives/TruncatedText.d.ts +2 -0
- package/dist/primitives/TruncatedText.d.ts.map +1 -0
- package/dist/primitives/TruncatedText.js +5 -0
- package/dist/primitives/TruncatedText.js.map +1 -0
- package/dist/primitives/TruncatedTextProvider.cjs +8 -0
- package/dist/primitives/TruncatedTextProvider.d.ts +2 -0
- package/dist/primitives/TruncatedTextProvider.d.ts.map +1 -0
- package/dist/primitives/TruncatedTextProvider.js +5 -0
- package/dist/primitives/TruncatedTextProvider.js.map +1 -0
- package/dist/primitives/VisuallyHidden.cjs +8 -0
- package/dist/primitives/VisuallyHidden.d.ts +2 -0
- package/dist/primitives/VisuallyHidden.d.ts.map +1 -0
- package/dist/primitives/VisuallyHidden.js +5 -0
- package/dist/primitives/VisuallyHidden.js.map +1 -0
- package/dist/primitives/fieldSize.cjs +8 -0
- package/dist/primitives/fieldSize.d.ts +2 -0
- package/dist/primitives/fieldSize.d.ts.map +1 -0
- package/dist/primitives/fieldSize.js +5 -0
- package/dist/primitives/fieldSize.js.map +1 -0
- package/dist/primitives/flag.cjs +8 -0
- package/dist/primitives/flag.d.ts +2 -0
- package/dist/primitives/flag.d.ts.map +1 -0
- package/dist/primitives/flag.js +5 -0
- package/dist/primitives/flag.js.map +1 -0
- package/dist/primitives/formatShortcut.cjs +8 -0
- package/dist/primitives/formatShortcut.d.ts +2 -0
- package/dist/primitives/formatShortcut.d.ts.map +1 -0
- package/dist/primitives/formatShortcut.js +5 -0
- package/dist/primitives/formatShortcut.js.map +1 -0
- package/dist/primitives/iconWords.cjs +8 -0
- package/dist/primitives/iconWords.d.ts +2 -0
- package/dist/primitives/iconWords.d.ts.map +1 -0
- package/dist/primitives/iconWords.js +5 -0
- package/dist/primitives/iconWords.js.map +1 -0
- package/dist/primitives/initialOf.cjs +8 -0
- package/dist/primitives/initialOf.d.ts +2 -0
- package/dist/primitives/initialOf.d.ts.map +1 -0
- package/dist/primitives/initialOf.js +5 -0
- package/dist/primitives/initialOf.js.map +1 -0
- package/dist/primitives/loadIcons.cjs +8 -0
- package/dist/primitives/loadIcons.d.ts +2 -0
- package/dist/primitives/loadIcons.d.ts.map +1 -0
- package/dist/primitives/loadIcons.js +5 -0
- package/dist/primitives/loadIcons.js.map +1 -0
- package/dist/primitives/parseNumber.cjs +8 -0
- package/dist/primitives/parseNumber.d.ts +2 -0
- package/dist/primitives/parseNumber.d.ts.map +1 -0
- package/dist/primitives/parseNumber.js +5 -0
- package/dist/primitives/parseNumber.js.map +1 -0
- package/dist/primitives/resolveIcon.cjs +8 -0
- package/dist/primitives/resolveIcon.d.ts +2 -0
- package/dist/primitives/resolveIcon.d.ts.map +1 -0
- package/dist/primitives/resolveIcon.js +5 -0
- package/dist/primitives/resolveIcon.js.map +1 -0
- package/dist/primitives/speakShortcut.cjs +8 -0
- package/dist/primitives/speakShortcut.d.ts +2 -0
- package/dist/primitives/speakShortcut.d.ts.map +1 -0
- package/dist/primitives/speakShortcut.js +5 -0
- package/dist/primitives/speakShortcut.js.map +1 -0
- package/dist/primitives/tileTones.cjs +8 -0
- package/dist/primitives/tileTones.d.ts +2 -0
- package/dist/primitives/tileTones.d.ts.map +1 -0
- package/dist/primitives/tileTones.js +5 -0
- package/dist/primitives/tileTones.js.map +1 -0
- package/dist/primitives/useDensity.cjs +8 -0
- package/dist/primitives/useDensity.d.ts +2 -0
- package/dist/primitives/useDensity.d.ts.map +1 -0
- package/dist/primitives/useDensity.js +5 -0
- package/dist/primitives/useDensity.js.map +1 -0
- package/dist/primitives/useField.cjs +8 -0
- package/dist/primitives/useField.d.ts +2 -0
- package/dist/primitives/useField.d.ts.map +1 -0
- package/dist/primitives/useField.js +5 -0
- package/dist/primitives/useField.js.map +1 -0
- package/dist/primitives/useIcons.cjs +8 -0
- package/dist/primitives/useIcons.d.ts +2 -0
- package/dist/primitives/useIcons.d.ts.map +1 -0
- package/dist/primitives/useIcons.js +5 -0
- package/dist/primitives/useIcons.js.map +1 -0
- package/dist/product/ComboBox.cjs +25 -7
- package/dist/product/ComboBox.d.ts +3 -1
- package/dist/product/ComboBox.d.ts.map +1 -1
- package/dist/product/ComboBox.js +25 -7
- package/dist/product/ComboBox.js.map +1 -1
- package/dist/product/CommandMenu.cjs +137 -0
- package/dist/product/CommandMenu.d.ts +77 -0
- package/dist/product/CommandMenu.d.ts.map +1 -0
- package/dist/product/CommandMenu.js +134 -0
- package/dist/product/CommandMenu.js.map +1 -0
- package/dist/product/DetailPane.cjs +154 -12
- package/dist/product/DetailPane.d.ts +80 -2
- package/dist/product/DetailPane.d.ts.map +1 -1
- package/dist/product/DetailPane.js +153 -16
- package/dist/product/DetailPane.js.map +1 -1
- package/dist/product/Fact.cjs +6 -1
- package/dist/product/Fact.d.ts +16 -1
- package/dist/product/Fact.d.ts.map +1 -1
- package/dist/product/Fact.js +6 -1
- package/dist/product/Fact.js.map +1 -1
- package/dist/product/Field.cjs +14 -2
- package/dist/product/Field.d.ts +16 -1
- package/dist/product/Field.d.ts.map +1 -1
- package/dist/product/Field.js +14 -2
- package/dist/product/Field.js.map +1 -1
- package/dist/product/Filters.cjs +61 -9
- package/dist/product/Filters.d.ts +37 -6
- package/dist/product/Filters.d.ts.map +1 -1
- package/dist/product/Filters.js +62 -10
- package/dist/product/Filters.js.map +1 -1
- package/dist/product/MenuRow.cjs +81 -2
- package/dist/product/MenuRow.d.ts +76 -6
- package/dist/product/MenuRow.d.ts.map +1 -1
- package/dist/product/MenuRow.js +81 -4
- package/dist/product/MenuRow.js.map +1 -1
- package/dist/product/PrimaryButton.cjs +5 -1
- package/dist/product/PrimaryButton.d.ts +8 -0
- package/dist/product/PrimaryButton.d.ts.map +1 -1
- package/dist/product/PrimaryButton.js +5 -1
- package/dist/product/PrimaryButton.js.map +1 -1
- package/dist/product/Skeleton.cjs +7 -6
- package/dist/product/Skeleton.d.ts +3 -20
- package/dist/product/Skeleton.d.ts.map +1 -1
- package/dist/product/Skeleton.js +8 -7
- package/dist/product/Skeleton.js.map +1 -1
- package/dist/product/index.cjs +2 -0
- package/dist/product/index.d.ts +1 -0
- package/dist/product/index.d.ts.map +1 -1
- package/dist/product/index.js +2 -0
- package/dist/product/index.js.map +1 -1
- package/dist/settings/Section.cjs +11 -2
- package/dist/settings/Section.d.ts +8 -1
- package/dist/settings/Section.d.ts.map +1 -1
- package/dist/settings/Section.js +11 -2
- package/dist/settings/Section.js.map +1 -1
- package/dist/styles/motion.css +70 -0
- package/dist/styles.css +1460 -127
- package/dist/theme.css +944 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/backends/gui/progress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/backends/gui/progress.tsx"],"names":[],"mappings":"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"}
|
|
@@ -30,16 +30,43 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
30
30
|
* `orientation` for those two and never forwards it, so the frame's own
|
|
31
31
|
* `orientation` variant never runs and the group stays a COLUMN while
|
|
32
32
|
* announcing itself a row. The direction is restored here, from the same prop.
|
|
33
|
+
*
|
|
34
|
+
* Two looks. With no `size`, an item is the 16px ring and `$ink` dot it has
|
|
35
|
+
* always been. Naming `size` (sm 16 | md 18), or a `<Density value="compact">`
|
|
36
|
+
* around it, draws twenty-ui's radio (MIT, NOTICE): a quiet ring at rest that
|
|
37
|
+
* FILLS when checked — the monochrome accent (`--primary`, which an org's accent
|
|
38
|
+
* restates) round a dot in its foreground — a 4px hover halo, and the 32%
|
|
39
|
+
* register of a disabled option.
|
|
33
40
|
*/
|
|
34
41
|
const gui_1 = require("@hanzo/gui");
|
|
35
42
|
const slot_1 = require("./slot.cjs");
|
|
36
43
|
const gesture_1 = require("./gesture.cjs");
|
|
44
|
+
const density_1 = require("./density.cjs");
|
|
37
45
|
/** 16px control, 8px dot — the Checkbox's box, made round. */
|
|
38
46
|
const BOX = 16;
|
|
39
47
|
const DOT = 8;
|
|
48
|
+
/** The record radio per size: the ring with its edge, and the dot inside a checked one. */
|
|
49
|
+
const RECORD = { sm: { ring: 16, dot: 6 }, md: { ring: 18, dot: 8 } };
|
|
40
50
|
const RadioGroup = ({ orientation = 'vertical', ...props }) => ((0, jsx_runtime_1.jsx)(gui_1.RadioGroup, { ...(0, slot_1.slot)('radio-group'), orientation: orientation, flexDirection: orientation === 'horizontal' ? 'row' : 'column', gap: "$2", ...props }));
|
|
41
51
|
exports.RadioGroup = RadioGroup;
|
|
42
|
-
const RadioGroupItem = ({
|
|
52
|
+
const RadioGroupItem = ({ size, ...props }) => {
|
|
53
|
+
const compact = (0, density_1.useDensity)() === 'compact';
|
|
54
|
+
const record = size ?? (compact ? 'sm' : undefined);
|
|
55
|
+
return record ? (0, jsx_runtime_1.jsx)(RecordItem, { size: record, ...props }) : (0, jsx_runtime_1.jsx)(PlainItem, { ...props });
|
|
56
|
+
};
|
|
57
|
+
exports.RadioGroupItem = RadioGroupItem;
|
|
58
|
+
/**
|
|
59
|
+
* The record radio. The fill is the INDICATOR, laid over the ring edge to
|
|
60
|
+
* edge: it mounts only while checked, so presence is the state here too, and
|
|
61
|
+
* no part of the item has to know which state it is in to be drawn.
|
|
62
|
+
*/
|
|
63
|
+
const RecordItem = ({ size, disabled, children, ...props }) => {
|
|
64
|
+
const dim = RECORD[size];
|
|
65
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.RadioGroup.Item, { ...(0, slot_1.slot)('radio-group-item'), "data-size": size, width: dim.ring, height: dim.ring, flexShrink: 0, padding: 0, borderRadius: 1000, borderWidth: 1, borderColor: "$aside", backgroundColor: "transparent", scale: 0.95, disabled: disabled, opacity: disabled ? 0.32 : 1, cursor: disabled ? 'not-allowed' : 'pointer', ...(disabled ? null : { hoverStyle: { bg: '$hover', boxShadow: '0 0 0 4px var(--hover)' } }), ...(0, gesture_1.touch)(dim.ring), ...props, children: [(0, jsx_runtime_1.jsx)(gui_1.RadioGroup.Indicator, { ...(0, slot_1.slot)('radio-group-indicator'), position: "absolute", t: -1, l: -1, width: dim.ring, height: dim.ring, borderRadius: 1000, backgroundColor: "var(--primary)", items: "center", justify: "center",
|
|
66
|
+
// 1.05 at the item's 0.95, as twenty-ui grows a checked radio.
|
|
67
|
+
scale: 1.1, children: (0, jsx_runtime_1.jsx)(gui_1.XStack, { width: dim.dot, height: dim.dot, rounded: 1000, bg: "var(--primary-foreground)" }) }), children] }));
|
|
68
|
+
};
|
|
69
|
+
const PlainItem = ({ disabled, children, ...props }) => ((0, jsx_runtime_1.jsxs)(gui_1.RadioGroup.Item, { ...(0, slot_1.slot)('radio-group-item'), width: BOX, height: BOX, flexShrink: 0, borderRadius: 1000, borderWidth: 1,
|
|
43
70
|
// A CONTROL boundary, not a surface hairline. `$borderColor` is 10% white —
|
|
44
71
|
// right for a card edge sitting on its own fill, and 1.26:1 against the
|
|
45
72
|
// ground, where WCAG 1.4.11 asks 3:1 for the visible boundary of a control.
|
|
@@ -50,4 +77,3 @@ const RadioGroupItem = ({ disabled, children, ...props }) => ((0, jsx_runtime_1.
|
|
|
50
77
|
// pointer events without dimming: a dead control that looks live invites a
|
|
51
78
|
// click that does nothing. Same treatment as Switch.
|
|
52
79
|
disabled: disabled, opacity: disabled ? 0.5 : 1, cursor: disabled ? 'not-allowed' : 'pointer', ...(0, gesture_1.touch)(BOX), ...props, children: [(0, jsx_runtime_1.jsx)(gui_1.RadioGroup.Indicator, { ...(0, slot_1.slot)('radio-group-indicator'), width: DOT, height: DOT, borderRadius: 1000, backgroundColor: "$ink" }), children] }));
|
|
53
|
-
exports.RadioGroupItem = RadioGroupItem;
|
|
@@ -25,12 +25,30 @@
|
|
|
25
25
|
* `orientation` for those two and never forwards it, so the frame's own
|
|
26
26
|
* `orientation` variant never runs and the group stays a COLUMN while
|
|
27
27
|
* announcing itself a row. The direction is restored here, from the same prop.
|
|
28
|
+
*
|
|
29
|
+
* Two looks. With no `size`, an item is the 16px ring and `$ink` dot it has
|
|
30
|
+
* always been. Naming `size` (sm 16 | md 18), or a `<Density value="compact">`
|
|
31
|
+
* around it, draws twenty-ui's radio (MIT, NOTICE): a quiet ring at rest that
|
|
32
|
+
* FILLS when checked — the monochrome accent (`--primary`, which an org's accent
|
|
33
|
+
* restates) round a dot in its foreground — a 4px hover halo, and the 32%
|
|
34
|
+
* register of a disabled option.
|
|
28
35
|
*/
|
|
29
36
|
import { RadioGroup as GuiRadioGroup } from '@hanzo/gui';
|
|
30
37
|
import type { ComponentProps } from 'react';
|
|
38
|
+
export type RadioSize = 'sm' | 'md';
|
|
31
39
|
export type RadioGroupProps = ComponentProps<typeof GuiRadioGroup>;
|
|
32
|
-
|
|
40
|
+
type GuiItemProps = ComponentProps<typeof GuiRadioGroup.Item>;
|
|
41
|
+
/**
|
|
42
|
+
* gui's item props with its `size` (a gui size token) replaced by the record
|
|
43
|
+
* size. `Omit` over gui's props loses `value` from the union it is built from,
|
|
44
|
+
* so `value` is restated — it is the one prop an item cannot do without.
|
|
45
|
+
*/
|
|
46
|
+
export type RadioGroupItemProps = Omit<GuiItemProps, 'size' | 'value'> & {
|
|
47
|
+
value: string;
|
|
48
|
+
/** The record radio: `sm` a 16px ring (the default under compact) or `md` 18px. */
|
|
49
|
+
size?: RadioSize;
|
|
50
|
+
};
|
|
33
51
|
declare const RadioGroup: ({ orientation, ...props }: RadioGroupProps) => import("react").JSX.Element;
|
|
34
|
-
declare const RadioGroupItem: ({
|
|
52
|
+
declare const RadioGroupItem: ({ size, ...props }: RadioGroupItemProps) => import("react").JSX.Element;
|
|
35
53
|
export { RadioGroup, RadioGroupItem };
|
|
36
54
|
//# sourceMappingURL=radio-group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/radio-group.tsx"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/radio-group.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,UAAU,IAAI,aAAa,EAAU,MAAM,YAAY,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAS3C,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;AAEnC,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,aAAa,CAAC,CAAA;AAClE,KAAK,YAAY,GAAG,cAAc,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;AAE7D;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IACvE,KAAK,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAKD,QAAA,MAAM,UAAU,8BAA4C,eAAe,gCAQ1E,CAAA;AAED,QAAA,MAAM,cAAc,uBAAwB,mBAAmB,gCAI9D,CAAA;AAyFD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -27,15 +27,41 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
27
27
|
* `orientation` for those two and never forwards it, so the frame's own
|
|
28
28
|
* `orientation` variant never runs and the group stays a COLUMN while
|
|
29
29
|
* announcing itself a row. The direction is restored here, from the same prop.
|
|
30
|
+
*
|
|
31
|
+
* Two looks. With no `size`, an item is the 16px ring and `$ink` dot it has
|
|
32
|
+
* always been. Naming `size` (sm 16 | md 18), or a `<Density value="compact">`
|
|
33
|
+
* around it, draws twenty-ui's radio (MIT, NOTICE): a quiet ring at rest that
|
|
34
|
+
* FILLS when checked — the monochrome accent (`--primary`, which an org's accent
|
|
35
|
+
* restates) round a dot in its foreground — a 4px hover halo, and the 32%
|
|
36
|
+
* register of a disabled option.
|
|
30
37
|
*/
|
|
31
|
-
import { RadioGroup as GuiRadioGroup } from '@hanzo/gui';
|
|
38
|
+
import { RadioGroup as GuiRadioGroup, XStack } from '@hanzo/gui';
|
|
32
39
|
import { slot } from './slot.js';
|
|
33
40
|
import { touch } from './gesture.js';
|
|
41
|
+
import { useDensity } from './density.js';
|
|
34
42
|
/** 16px control, 8px dot — the Checkbox's box, made round. */
|
|
35
43
|
const BOX = 16;
|
|
36
44
|
const DOT = 8;
|
|
45
|
+
/** The record radio per size: the ring with its edge, and the dot inside a checked one. */
|
|
46
|
+
const RECORD = { sm: { ring: 16, dot: 6 }, md: { ring: 18, dot: 8 } };
|
|
37
47
|
const RadioGroup = ({ orientation = 'vertical', ...props }) => (_jsx(GuiRadioGroup, { ...slot('radio-group'), orientation: orientation, flexDirection: orientation === 'horizontal' ? 'row' : 'column', gap: "$2", ...props }));
|
|
38
|
-
const RadioGroupItem = ({
|
|
48
|
+
const RadioGroupItem = ({ size, ...props }) => {
|
|
49
|
+
const compact = useDensity() === 'compact';
|
|
50
|
+
const record = size ?? (compact ? 'sm' : undefined);
|
|
51
|
+
return record ? _jsx(RecordItem, { size: record, ...props }) : _jsx(PlainItem, { ...props });
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* The record radio. The fill is the INDICATOR, laid over the ring edge to
|
|
55
|
+
* edge: it mounts only while checked, so presence is the state here too, and
|
|
56
|
+
* no part of the item has to know which state it is in to be drawn.
|
|
57
|
+
*/
|
|
58
|
+
const RecordItem = ({ size, disabled, children, ...props }) => {
|
|
59
|
+
const dim = RECORD[size];
|
|
60
|
+
return (_jsxs(GuiRadioGroup.Item, { ...slot('radio-group-item'), "data-size": size, width: dim.ring, height: dim.ring, flexShrink: 0, padding: 0, borderRadius: 1000, borderWidth: 1, borderColor: "$aside", backgroundColor: "transparent", scale: 0.95, disabled: disabled, opacity: disabled ? 0.32 : 1, cursor: disabled ? 'not-allowed' : 'pointer', ...(disabled ? null : { hoverStyle: { bg: '$hover', boxShadow: '0 0 0 4px var(--hover)' } }), ...touch(dim.ring), ...props, children: [_jsx(GuiRadioGroup.Indicator, { ...slot('radio-group-indicator'), position: "absolute", t: -1, l: -1, width: dim.ring, height: dim.ring, borderRadius: 1000, backgroundColor: "var(--primary)", items: "center", justify: "center",
|
|
61
|
+
// 1.05 at the item's 0.95, as twenty-ui grows a checked radio.
|
|
62
|
+
scale: 1.1, children: _jsx(XStack, { width: dim.dot, height: dim.dot, rounded: 1000, bg: "var(--primary-foreground)" }) }), children] }));
|
|
63
|
+
};
|
|
64
|
+
const PlainItem = ({ disabled, children, ...props }) => (_jsxs(GuiRadioGroup.Item, { ...slot('radio-group-item'), width: BOX, height: BOX, flexShrink: 0, borderRadius: 1000, borderWidth: 1,
|
|
39
65
|
// A CONTROL boundary, not a surface hairline. `$borderColor` is 10% white —
|
|
40
66
|
// right for a card edge sitting on its own fill, and 1.26:1 against the
|
|
41
67
|
// ground, where WCAG 1.4.11 asks 3:1 for the visible boundary of a control.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/backends/gui/radio-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ
|
|
1
|
+
{"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/backends/gui/radio-group.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use client';"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Segment = exports.useOpen = void 0;
|
|
5
|
+
exports.SearchList = SearchList;
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
/**
|
|
8
|
+
* SearchList — the searchable list the record kit's pickers open: a currency, a
|
|
9
|
+
* calling code, a country.
|
|
10
|
+
*
|
|
11
|
+
* Composition, as `Combobox` is: `Popover` owns the open state and the panel,
|
|
12
|
+
* `Command` owns the search and the cursor — typed text filters the rows, the
|
|
13
|
+
* arrows move, Enter picks, Escape closes. A row is matched on its label and on
|
|
14
|
+
* its keywords, so "usd", "dollar" and "$" all find the US dollar.
|
|
15
|
+
*
|
|
16
|
+
* The panel is portalled, and a portal does not carry React context across, so
|
|
17
|
+
* the density the trigger sits in is read here and given again inside, as
|
|
18
|
+
* `PortalTheme` does for the theme. Rows are the record row: 32px, 4px corners.
|
|
19
|
+
* After twenty-ui's searchable picker dropdown (MIT, NOTICE).
|
|
20
|
+
*/
|
|
21
|
+
const gui_1 = require("@hanzo/gui");
|
|
22
|
+
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
23
|
+
const react_1 = require("react");
|
|
24
|
+
const command_1 = require("./command.cjs");
|
|
25
|
+
const control_1 = require("./control.cjs");
|
|
26
|
+
const density_1 = require("./density.cjs");
|
|
27
|
+
const gesture_1 = require("./gesture.cjs");
|
|
28
|
+
const input_group_1 = require("./input-group.cjs");
|
|
29
|
+
const popover_1 = require("./popover.cjs");
|
|
30
|
+
const press_1 = require("./press.cjs");
|
|
31
|
+
const slot_1 = require("./slot.cjs");
|
|
32
|
+
/** Open state, controlled or not: `open` wins when given, `onOpenChange` hears every change. */
|
|
33
|
+
const useOpen = (open, defaultOpen = false, onOpenChange) => {
|
|
34
|
+
const [own, setOwn] = (0, react_1.useState)(defaultOpen);
|
|
35
|
+
const shown = open ?? own;
|
|
36
|
+
const set = (next) => {
|
|
37
|
+
if (open === undefined)
|
|
38
|
+
setOwn(next);
|
|
39
|
+
onOpenChange?.(next);
|
|
40
|
+
};
|
|
41
|
+
return [shown, set];
|
|
42
|
+
};
|
|
43
|
+
exports.useOpen = useOpen;
|
|
44
|
+
/**
|
|
45
|
+
* The start segment of an `InputGroup`: a picker trigger that is part of the
|
|
46
|
+
* field rather than a box beside it. Transparent, as tall as the group's inside,
|
|
47
|
+
* flush with its start edge (it takes back the group's gutter), with a hairline
|
|
48
|
+
* divider on its end side and the group's start corners. A real `<button>`, so
|
|
49
|
+
* Enter and Space open it with no key handling of ours; its focus ring is drawn
|
|
50
|
+
* inside, where the group's edge would otherwise cover it.
|
|
51
|
+
*/
|
|
52
|
+
exports.Segment = (0, react_1.forwardRef)(function Segment({ disabled, open, label, children, ...props }, ref) {
|
|
53
|
+
const group = (0, react_1.useContext)(input_group_1.GroupContext);
|
|
54
|
+
const density = (0, density_1.useDensity)();
|
|
55
|
+
const box = control_1.BOX[group?.size ?? (0, density_1.fieldSize)(undefined, density)];
|
|
56
|
+
return ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ref: ref, ...(0, slot_1.slot)('field-segment'), render: "button", ...{ type: 'button', disabled, 'aria-expanded': !!open, ...(label ? { 'aria-label': label } : null) }, height: box.h - 2, ml: group ? -box.gutter : 0, shrink: 0, items: "center", gap: "$1", px: "$2", bg: "transparent", borderWidth: 0, borderRightWidth: 1, borderColor: "$borderColor", borderTopLeftRadius: "$3", borderBottomLeftRadius: "$3", cursor: disabled ? 'not-allowed' : 'pointer', opacity: disabled ? 0.5 : 1, hoverStyle: disabled ? undefined : { bg: '$hover' }, focusVisibleStyle: { ...press_1.RING, outlineOffset: -2 }, ...props, children: children }));
|
|
57
|
+
});
|
|
58
|
+
const ROW = 32;
|
|
59
|
+
function SearchList({ trigger, open, onOpenChange, options, value, onPick, searchLabel = 'Search', emptyLabel = 'No results', width = 240, }) {
|
|
60
|
+
const density = (0, density_1.useDensity)();
|
|
61
|
+
return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: open, onOpenChange: onOpenChange, placement: "bottom-start", children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: trigger }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { "data-slot": "search-list", p: 0, width: width, sideOffset: 8, overflow: "hidden", children: (0, jsx_runtime_1.jsx)(density_1.Density, { value: density, children: (0, jsx_runtime_1.jsxs)(command_1.Command, { value: value ?? undefined, children: [(0, jsx_runtime_1.jsx)(command_1.CommandInput, { placeholder: searchLabel, "aria-label": searchLabel, autoFocus: true }), (0, jsx_runtime_1.jsxs)(command_1.CommandList, { p: "$1", children: [(0, jsx_runtime_1.jsx)(command_1.CommandEmpty, { children: emptyLabel }), options.map((o) => ((0, jsx_runtime_1.jsxs)(command_1.CommandItem, { value: o.value, keywords: [o.label, ...(o.keywords ?? [])], disabled: o.disabled, minH: ROW, px: "$1", rounded: "$xs", ...(0, gesture_1.touch)(ROW, 44, 'y'), onSelect: (picked) => onPick(picked), ...{ 'aria-selected': o.value === value }, children: [o.start ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { shrink: 0, items: "center", children: o.start })) : null, (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$ink", flex: 1, minW: 0, numberOfLines: 1, children: o.label }), o.end != null ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$hint", shrink: 0, children: o.end })) : null, (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 16, opacity: o.value === value ? 1 : 0, shrink: 0 })] }, o.value)))] })] }) }) })] }));
|
|
62
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SearchList — the searchable list the record kit's pickers open: a currency, a
|
|
3
|
+
* calling code, a country.
|
|
4
|
+
*
|
|
5
|
+
* Composition, as `Combobox` is: `Popover` owns the open state and the panel,
|
|
6
|
+
* `Command` owns the search and the cursor — typed text filters the rows, the
|
|
7
|
+
* arrows move, Enter picks, Escape closes. A row is matched on its label and on
|
|
8
|
+
* its keywords, so "usd", "dollar" and "$" all find the US dollar.
|
|
9
|
+
*
|
|
10
|
+
* The panel is portalled, and a portal does not carry React context across, so
|
|
11
|
+
* the density the trigger sits in is read here and given again inside, as
|
|
12
|
+
* `PortalTheme` does for the theme. Rows are the record row: 32px, 4px corners.
|
|
13
|
+
* After twenty-ui's searchable picker dropdown (MIT, NOTICE).
|
|
14
|
+
*/
|
|
15
|
+
import { XStack } from '@hanzo/gui';
|
|
16
|
+
import { type ComponentProps, type ReactElement, type ReactNode } from 'react';
|
|
17
|
+
/** Open state, controlled or not: `open` wins when given, `onOpenChange` hears every change. */
|
|
18
|
+
export declare const useOpen: (open?: boolean, defaultOpen?: boolean, onOpenChange?: (open: boolean) => void) => readonly [boolean, (next: boolean) => void];
|
|
19
|
+
export type SegmentProps = Omit<ComponentProps<typeof XStack>, 'children'> & {
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/** Whether the list it opens is open. */
|
|
22
|
+
open?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Its name to assistive technology: what it picks and what is picked. Omit it
|
|
25
|
+
* when the segment's own (visually hidden) text names it.
|
|
26
|
+
*/
|
|
27
|
+
label?: string;
|
|
28
|
+
children?: ReactNode;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* The start segment of an `InputGroup`: a picker trigger that is part of the
|
|
32
|
+
* field rather than a box beside it. Transparent, as tall as the group's inside,
|
|
33
|
+
* flush with its start edge (it takes back the group's gutter), with a hairline
|
|
34
|
+
* divider on its end side and the group's start corners. A real `<button>`, so
|
|
35
|
+
* Enter and Space open it with no key handling of ours; its focus ring is drawn
|
|
36
|
+
* inside, where the group's edge would otherwise cover it.
|
|
37
|
+
*/
|
|
38
|
+
export declare const Segment: import("react").ForwardRefExoticComponent<Omit<SegmentProps, "ref"> & import("react").RefAttributes<any>>;
|
|
39
|
+
export type SearchOption = {
|
|
40
|
+
value: string;
|
|
41
|
+
label: string;
|
|
42
|
+
/** More text the search matches: a code, a symbol, a calling code. */
|
|
43
|
+
keywords?: string[];
|
|
44
|
+
disabled?: boolean;
|
|
45
|
+
/** Before the label: a flag, an icon. */
|
|
46
|
+
start?: ReactNode;
|
|
47
|
+
/** After the label, dimmed: a code, a calling code. */
|
|
48
|
+
end?: ReactNode;
|
|
49
|
+
};
|
|
50
|
+
export type SearchListProps = {
|
|
51
|
+
/** The element that opens the list. It receives the press and the ref. */
|
|
52
|
+
trigger: ReactElement;
|
|
53
|
+
open: boolean;
|
|
54
|
+
onOpenChange: (open: boolean) => void;
|
|
55
|
+
options: SearchOption[];
|
|
56
|
+
/** The chosen value, marked with a check and highlighted on open. */
|
|
57
|
+
value?: string | null;
|
|
58
|
+
onPick: (value: string) => void;
|
|
59
|
+
searchLabel?: string;
|
|
60
|
+
emptyLabel?: string;
|
|
61
|
+
/** The panel's width; 240 by default. */
|
|
62
|
+
width?: number;
|
|
63
|
+
};
|
|
64
|
+
export declare function SearchList({ trigger, open, onOpenChange, options, value, onPick, searchLabel, emptyLabel, width, }: SearchListProps): import("react").JSX.Element;
|
|
65
|
+
//# sourceMappingURL=search-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-list.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/search-list.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAe,MAAM,EAAmB,MAAM,YAAY,CAAA;AAEjE,OAAO,EAAoC,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAUhH,gGAAgG;AAChG,eAAO,MAAM,OAAO,UAAW,OAAO,wCAAsC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,+BAG9E,OAAO,UAK3B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yCAAyC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,2GAoClB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,uDAAuD;IACvD,GAAG,CAAC,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,0EAA0E;IAC1E,OAAO,EAAE,YAAY,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAID,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAsB,EACtB,UAAyB,EACzB,KAAW,GACZ,EAAE,eAAe,+BA8CjB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* SearchList — the searchable list the record kit's pickers open: a currency, a
|
|
5
|
+
* calling code, a country.
|
|
6
|
+
*
|
|
7
|
+
* Composition, as `Combobox` is: `Popover` owns the open state and the panel,
|
|
8
|
+
* `Command` owns the search and the cursor — typed text filters the rows, the
|
|
9
|
+
* arrows move, Enter picks, Escape closes. A row is matched on its label and on
|
|
10
|
+
* its keywords, so "usd", "dollar" and "$" all find the US dollar.
|
|
11
|
+
*
|
|
12
|
+
* The panel is portalled, and a portal does not carry React context across, so
|
|
13
|
+
* the density the trigger sits in is read here and given again inside, as
|
|
14
|
+
* `PortalTheme` does for the theme. Rows are the record row: 32px, 4px corners.
|
|
15
|
+
* After twenty-ui's searchable picker dropdown (MIT, NOTICE).
|
|
16
|
+
*/
|
|
17
|
+
import { SizableText, XStack } from '@hanzo/gui';
|
|
18
|
+
import { Check } from '@hanzogui/lucide-icons-2';
|
|
19
|
+
import { forwardRef, useContext, useState } from 'react';
|
|
20
|
+
import { Command, CommandEmpty, CommandInput, CommandItem, CommandList } from './command.js';
|
|
21
|
+
import { BOX } from './control.js';
|
|
22
|
+
import { Density, fieldSize, useDensity } from './density.js';
|
|
23
|
+
import { touch } from './gesture.js';
|
|
24
|
+
import { GroupContext } from './input-group.js';
|
|
25
|
+
import { Popover, PopoverContent, PopoverTrigger } from './popover.js';
|
|
26
|
+
import { RING } from './press.js';
|
|
27
|
+
import { slot } from './slot.js';
|
|
28
|
+
/** Open state, controlled or not: `open` wins when given, `onOpenChange` hears every change. */
|
|
29
|
+
export const useOpen = (open, defaultOpen = false, onOpenChange) => {
|
|
30
|
+
const [own, setOwn] = useState(defaultOpen);
|
|
31
|
+
const shown = open ?? own;
|
|
32
|
+
const set = (next) => {
|
|
33
|
+
if (open === undefined)
|
|
34
|
+
setOwn(next);
|
|
35
|
+
onOpenChange?.(next);
|
|
36
|
+
};
|
|
37
|
+
return [shown, set];
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* The start segment of an `InputGroup`: a picker trigger that is part of the
|
|
41
|
+
* field rather than a box beside it. Transparent, as tall as the group's inside,
|
|
42
|
+
* flush with its start edge (it takes back the group's gutter), with a hairline
|
|
43
|
+
* divider on its end side and the group's start corners. A real `<button>`, so
|
|
44
|
+
* Enter and Space open it with no key handling of ours; its focus ring is drawn
|
|
45
|
+
* inside, where the group's edge would otherwise cover it.
|
|
46
|
+
*/
|
|
47
|
+
export const Segment = /* @__PURE__ */ forwardRef(function Segment({ disabled, open, label, children, ...props }, ref) {
|
|
48
|
+
const group = useContext(GroupContext);
|
|
49
|
+
const density = useDensity();
|
|
50
|
+
const box = BOX[group?.size ?? fieldSize(undefined, density)];
|
|
51
|
+
return (_jsx(XStack, { ref: ref, ...slot('field-segment'), render: "button", ...{ type: 'button', disabled, 'aria-expanded': !!open, ...(label ? { 'aria-label': label } : null) }, height: box.h - 2, ml: group ? -box.gutter : 0, shrink: 0, items: "center", gap: "$1", px: "$2", bg: "transparent", borderWidth: 0, borderRightWidth: 1, borderColor: "$borderColor", borderTopLeftRadius: "$3", borderBottomLeftRadius: "$3", cursor: disabled ? 'not-allowed' : 'pointer', opacity: disabled ? 0.5 : 1, hoverStyle: disabled ? undefined : { bg: '$hover' }, focusVisibleStyle: { ...RING, outlineOffset: -2 }, ...props, children: children }));
|
|
52
|
+
});
|
|
53
|
+
const ROW = 32;
|
|
54
|
+
export function SearchList({ trigger, open, onOpenChange, options, value, onPick, searchLabel = 'Search', emptyLabel = 'No results', width = 240, }) {
|
|
55
|
+
const density = useDensity();
|
|
56
|
+
return (_jsxs(Popover, { open: open, onOpenChange: onOpenChange, placement: "bottom-start", children: [_jsx(PopoverTrigger, { asChild: true, children: trigger }), _jsx(PopoverContent, { "data-slot": "search-list", p: 0, width: width, sideOffset: 8, overflow: "hidden", children: _jsx(Density, { value: density, children: _jsxs(Command, { value: value ?? undefined, children: [_jsx(CommandInput, { placeholder: searchLabel, "aria-label": searchLabel, autoFocus: true }), _jsxs(CommandList, { p: "$1", children: [_jsx(CommandEmpty, { children: emptyLabel }), options.map((o) => (_jsxs(CommandItem, { value: o.value, keywords: [o.label, ...(o.keywords ?? [])], disabled: o.disabled, minH: ROW, px: "$1", rounded: "$xs", ...touch(ROW, 44, 'y'), onSelect: (picked) => onPick(picked), ...{ 'aria-selected': o.value === value }, children: [o.start ? (_jsx(XStack, { shrink: 0, items: "center", children: o.start })) : null, _jsx(SizableText, { size: "$2", color: "$ink", flex: 1, minW: 0, numberOfLines: 1, children: o.label }), o.end != null ? (_jsx(SizableText, { size: "$2", color: "$hint", shrink: 0, children: o.end })) : null, _jsx(Check, { size: 16, opacity: o.value === value ? 1 : 0, shrink: 0 })] }, o.value)))] })] }) }) })] }));
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=search-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-list.js","sourceRoot":"","sources":["../../../src/backends/gui/search-list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,16 +14,22 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
14
14
|
*
|
|
15
15
|
* `Picker` is the other select: the platform's own, for a list the platform
|
|
16
16
|
* should show — every country, on a phone.
|
|
17
|
+
*
|
|
18
|
+
* Rows are concentric in the panel: a 4px inset inside an 8px panel takes a 4px
|
|
19
|
+
* row radius (`$xs`). Under `<Density value="compact">` the list takes the
|
|
20
|
+
* record density twenty-ui's Select draws (MIT, NOTICE): 13px rows in the quiet
|
|
21
|
+
* ink on the hover rung, and the density crosses the portal with the list.
|
|
17
22
|
*/
|
|
18
23
|
const react_1 = require("react");
|
|
19
24
|
const gui_1 = require("@hanzo/gui");
|
|
20
25
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
21
26
|
const control_1 = require("./control.cjs");
|
|
27
|
+
const density_1 = require("./density.cjs");
|
|
28
|
+
const field_1 = require("./field.cjs");
|
|
22
29
|
const gesture_1 = require("./gesture.cjs");
|
|
23
30
|
const ink_1 = require("./ink.cjs");
|
|
24
31
|
const slot_1 = require("./slot.cjs");
|
|
25
32
|
const ROW_H = 32;
|
|
26
|
-
const TRIGGER_H = control_1.CONTROL_H;
|
|
27
33
|
/**
|
|
28
34
|
* Disabling the control is one fact with two spellings: gui puts `disabled` on
|
|
29
35
|
* the Trigger, the compound API puts it on the root. The root declares it and
|
|
@@ -34,16 +40,26 @@ const Select = /* @__PURE__ */ Object.assign(({ disabled = false, ...props }) =>
|
|
|
34
40
|
exports.Select = Select;
|
|
35
41
|
const SelectGroup = gui_1.Select.Group;
|
|
36
42
|
exports.SelectGroup = SelectGroup;
|
|
37
|
-
|
|
43
|
+
/**
|
|
44
|
+
* The trigger's rung, handed to the value it shows. `ink()` sizes a string
|
|
45
|
+
* child; `SelectValue` is an element and drew gui's own 14px whatever the box,
|
|
46
|
+
* so a 32px compact trigger showed its value a rung larger than the Input
|
|
47
|
+
* beside it. The trigger provides its box's rung and the value reads it.
|
|
48
|
+
*/
|
|
49
|
+
const TriggerFont = /* @__PURE__ */ (0, react_1.createContext)("$3");
|
|
50
|
+
const SelectValue = (props) => ((0, jsx_runtime_1.jsx)(gui_1.Select.Value, { fontSize: (0, react_1.useContext)(TriggerFont), ...props }));
|
|
38
51
|
exports.SelectValue = SelectValue;
|
|
39
|
-
const SelectTrigger = ({ children, disabled, ...props }) => {
|
|
52
|
+
const SelectTrigger = ({ children, disabled, size, ...props }) => {
|
|
40
53
|
const inherited = (0, react_1.useContext)(Disabled);
|
|
41
|
-
|
|
54
|
+
const density = (0, density_1.useDensity)();
|
|
55
|
+
const box = control_1.BOX[(0, density_1.fieldSize)(size, density)];
|
|
56
|
+
const invalid = (0, field_1.invalidOf)(props["aria-invalid"], (0, field_1.useField)());
|
|
57
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.Select.Trigger, { ...(0, slot_1.slot)("select-trigger"), unstyled: true, disabled: disabled ?? inherited, ...control_1.FIELD, ...(density === "compact" ? { bg: "$panel" } : null), ...(invalid ? { borderColor: "$red7", "aria-invalid": true } : null), px: box.gutter, items: "center", justify: "space-between", gap: "$2",
|
|
42
58
|
// A FLOOR, not a pin. `height` alone clips a child taller than the box, and
|
|
43
59
|
// the build stays green while it does — that is why 01ac46dce moved Button
|
|
44
60
|
// off a pinned height. Select and Input kept theirs, so the same trap was
|
|
45
61
|
// still armed in the two controls that sit in every form.
|
|
46
|
-
height: "auto", minHeight:
|
|
62
|
+
height: "auto", minHeight: box.h,
|
|
47
63
|
// The trigger states its own vertical padding because otherwise something
|
|
48
64
|
// else states it. `unstyled` does not survive gui's ListItem (it is
|
|
49
65
|
// destructured into a local and never reaches the frame), so the frame
|
|
@@ -52,13 +68,18 @@ const SelectTrigger = ({ children, disabled, ...props }) => {
|
|
|
52
68
|
// 14 + a 20px line + 14 + 2px of border rendered a 50px Select beside a 36px
|
|
53
69
|
// Input. At 0 the floor decides again and `items="center"` does the
|
|
54
70
|
// centring, which is exactly how the Input already behaves.
|
|
55
|
-
py: 0, cursor: "pointer", ...(0, gesture_1.touch)(
|
|
71
|
+
py: 0, cursor: "pointer", ...(0, gesture_1.touch)(box.h, 44, "y"), ...props, children: [(0, jsx_runtime_1.jsx)(TriggerFont.Provider, { value: box.font, children: (0, ink_1.ink)(children, undefined, { size: box.font }) }), (0, jsx_runtime_1.jsx)(gui_1.Select.Icon, { children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronDown, { size: 16, opacity: 0.5 }) })] }));
|
|
56
72
|
};
|
|
57
73
|
exports.SelectTrigger = SelectTrigger;
|
|
58
|
-
const SelectItem = ({ children, value, ...props }) =>
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
74
|
+
const SelectItem = ({ children, value, ...props }) => {
|
|
75
|
+
const compact = (0, density_1.useDensity)() === "compact";
|
|
76
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.Select.Item, { value: value, ...(0, slot_1.slot)("select-item"), unstyled: true, index: props.index ?? 0, items: "center",
|
|
77
|
+
// Start-aligned. gui's ListItem centres its row on the main axis, which set
|
|
78
|
+
// every option's label in the middle of the list with the tick on the far edge.
|
|
79
|
+
justify: "flex-start", gap: "$2", minH: ROW_H, pl: compact ? "$1" : "$2", pr: "$7",
|
|
80
|
+
// Concentric: the panel is 8, its inset 4, so a row is 4.
|
|
81
|
+
rounded: "$xs", cursor: "pointer", ...(0, gesture_1.touch)(ROW_H, 44, "y"), hoverStyle: { bg: compact ? "$hover" : "$raised" }, focusStyle: { bg: compact ? "$hover" : "$raised" }, ...props, children: [(0, jsx_runtime_1.jsx)(gui_1.Select.ItemText, { ...(compact ? { fontSize: "$2", color: "$aside" } : null), children: children }), (0, jsx_runtime_1.jsx)(gui_1.XStack, { position: "absolute", r: "$2", items: "center", justify: "center", pointerEvents: "none", children: (0, jsx_runtime_1.jsx)(gui_1.Select.ItemIndicator, { children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 16, strokeWidth: 2 }) }) })] }));
|
|
82
|
+
};
|
|
62
83
|
exports.SelectItem = SelectItem;
|
|
63
84
|
/** Depth-first stamp of `index` onto every `SelectItem` in render order. */
|
|
64
85
|
const stampIndices = (children, next) => react_1.Children.map(children, (child) => {
|
|
@@ -77,10 +98,14 @@ const SelectScrollDownButton = (props) => ((0, jsx_runtime_1.jsx)(gui_1.Select.S
|
|
|
77
98
|
exports.SelectScrollDownButton = SelectScrollDownButton;
|
|
78
99
|
const SelectContent = ({ children, ...props }) => {
|
|
79
100
|
let n = 0;
|
|
80
|
-
|
|
101
|
+
// Read on the trigger's side of the portal and re-provided inside it: a
|
|
102
|
+
// context does not cross gui's portal, a provider placed in the portalled
|
|
103
|
+
// children does.
|
|
104
|
+
const density = (0, density_1.useDensity)();
|
|
105
|
+
return ((0, jsx_runtime_1.jsx)(gui_1.Select.Content, { ...(0, slot_1.slot)("select-content"), ...props, children: (0, jsx_runtime_1.jsxs)(density_1.Density, { value: density, children: [(0, jsx_runtime_1.jsx)(SelectScrollUpButton, {}), (0, jsx_runtime_1.jsx)(gui_1.Select.Viewport, { minW: 128, p: "$1", bg: "$panel", borderWidth: 1, borderColor: "$borderColor", rounded: "$3", children: stampIndices(children, () => n++) }), (0, jsx_runtime_1.jsx)(SelectScrollDownButton, {})] }) }));
|
|
81
106
|
};
|
|
82
107
|
exports.SelectContent = SelectContent;
|
|
83
|
-
const SelectLabel = (props) => ((0, jsx_runtime_1.jsx)(gui_1.Select.Label, { ...(0, slot_1.slot)("select-label"), px: "$2", py: "$1.5", fontSize: "$1", color: "$quiet", ...props }));
|
|
108
|
+
const SelectLabel = (props) => ((0, jsx_runtime_1.jsx)(gui_1.Select.Label, { ...(0, slot_1.slot)("select-label"), px: "$2", py: "$1.5", fontSize: "$1", fontWeight: "500", color: "$quiet", ...props }));
|
|
84
109
|
exports.SelectLabel = SelectLabel;
|
|
85
110
|
const SelectSeparator = (props) => ((0, jsx_runtime_1.jsx)(gui_1.SelectSeparator, { ...(0, slot_1.slot)("select-separator"), my: "$1", borderColor: "$borderColor", ...props }));
|
|
86
111
|
exports.SelectSeparator = SelectSeparator;
|
|
@@ -96,11 +121,20 @@ const INSET = 4;
|
|
|
96
121
|
* select's own 4px, and the Input theme's ink, edge and two edge states (`EDGE`)
|
|
97
122
|
* — a native control gui does not draw, so it names what gui's Input carries.
|
|
98
123
|
*/
|
|
99
|
-
const Picker = /* @__PURE__ */ (0, react_1.forwardRef)(function Picker({ id, name, value, defaultValue, onChange, required, disabled, autoComplete, children, size
|
|
100
|
-
const
|
|
101
|
-
|
|
124
|
+
const Picker = /* @__PURE__ */ (0, react_1.forwardRef)(function Picker({ id, name, value, defaultValue, onChange, required, disabled, autoComplete, children, size, fill = false, ...props }, ref) {
|
|
125
|
+
const density = (0, density_1.useDensity)();
|
|
126
|
+
const resolved = (0, density_1.fieldSize)(size, density);
|
|
127
|
+
const box = control_1.BOX[resolved];
|
|
128
|
+
const dense = resolved === "sm" || resolved === "xs";
|
|
129
|
+
return ((0, jsx_runtime_1.jsx)(gui_1.Text, { ref: ref, render: (0, jsx_runtime_1.jsx)("select", { id: id, name: name, value: value, defaultValue: defaultValue, onChange: onChange, required: required, disabled: disabled, autoComplete: autoComplete }), ...(0, slot_1.slot)("picker"), componentName: "Input", ...control_1.FIELD, ...control_1.EDGE, ...(density === "compact" ? { bg: "$panel" } : null), ...(fill ? control_1.FILL : null), display: "block",
|
|
102
130
|
// A floor, as the trigger's: the riser and the line make the box, and a
|
|
103
131
|
// larger font grows it rather than clipping the chosen option.
|
|
104
|
-
minH: box.h, width: "100%", minW: 0, pl: box.gutter - INSET, pr: box.gutter - INSET,
|
|
132
|
+
minH: box.h, width: "100%", minW: 0, pl: box.gutter - INSET, pr: box.gutter - INSET,
|
|
133
|
+
// Chromium ignores line-height on a <select> and sets its text on
|
|
134
|
+
// `normal` (19px at 13px Zen), so the record sizes cannot be built from a
|
|
135
|
+
// riser and a line the way the regular one is: 7 + 19 + 7 + 2 came out 35
|
|
136
|
+
// in a 32px box. They take no vertical padding and let the floor decide;
|
|
137
|
+
// the menulist centres its own text.
|
|
138
|
+
py: dense ? 0 : box.riser, color: "$color", fontFamily: "$body", fontSize: box.font, lineHeight: dense ? 16 : "$3", cursor: "pointer", ...props, children: children }));
|
|
105
139
|
});
|
|
106
140
|
exports.Picker = Picker;
|
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
*
|
|
10
10
|
* `Picker` is the other select: the platform's own, for a list the platform
|
|
11
11
|
* should show — every country, on a phone.
|
|
12
|
+
*
|
|
13
|
+
* Rows are concentric in the panel: a 4px inset inside an 8px panel takes a 4px
|
|
14
|
+
* row radius (`$xs`). Under `<Density value="compact">` the list takes the
|
|
15
|
+
* record density twenty-ui's Select draws (MIT, NOTICE): 13px rows in the quiet
|
|
16
|
+
* ink on the hover rung, and the density crosses the portal with the list.
|
|
12
17
|
*/
|
|
13
18
|
import { type ComponentProps, type ReactNode } from "react";
|
|
14
19
|
import { Select as GuiSelect, SelectSeparator as GuiSelectSeparator, type TextProps } from "@hanzo/gui";
|
|
@@ -24,8 +29,12 @@ export type SelectProps = ComponentProps<typeof GuiSelect> & {
|
|
|
24
29
|
type SelectRoot = ((props: SelectProps) => ReactNode) & typeof GuiSelect;
|
|
25
30
|
declare const Select: SelectRoot;
|
|
26
31
|
declare const SelectGroup: typeof GuiSelect.Group;
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
export type SelectValueProps = ComponentProps<typeof GuiSelect.Value>;
|
|
33
|
+
declare const SelectValue: (props: SelectValueProps) => import("react").JSX.Element;
|
|
34
|
+
export type SelectTriggerProps = Omit<ComponentProps<typeof GuiSelect.Trigger>, "size"> & {
|
|
35
|
+
/** The box, as `Input`'s (control.ts `BOX`). Unset, the nearest `<Density>` decides. */
|
|
36
|
+
size?: FieldSize;
|
|
37
|
+
};
|
|
29
38
|
export type SelectContentProps = ComponentProps<typeof GuiSelect.Content>;
|
|
30
39
|
export type SelectItemProps = Omit<ComponentProps<typeof GuiSelect.Item>, "index"> & {
|
|
31
40
|
index?: number;
|
|
@@ -33,7 +42,7 @@ export type SelectItemProps = Omit<ComponentProps<typeof GuiSelect.Item>, "index
|
|
|
33
42
|
export type SelectLabelProps = ComponentProps<typeof GuiSelect.Label>;
|
|
34
43
|
export type SelectSeparatorProps = ComponentProps<typeof GuiSelectSeparator>;
|
|
35
44
|
export type SelectScrollButtonProps = ComponentProps<typeof GuiSelect.ScrollUpButton>;
|
|
36
|
-
declare const SelectTrigger: ({ children, disabled, ...props }: SelectTriggerProps) => import("react").JSX.Element;
|
|
45
|
+
declare const SelectTrigger: ({ children, disabled, size, ...props }: SelectTriggerProps) => import("react").JSX.Element;
|
|
37
46
|
declare const SelectItem: ({ children, value, ...props }: SelectItemProps) => import("react").JSX.Element;
|
|
38
47
|
declare const SelectScrollUpButton: (props: SelectScrollButtonProps) => import("react").JSX.Element;
|
|
39
48
|
declare const SelectScrollDownButton: (props: SelectScrollButtonProps) => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/select.tsx"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/select.tsx"],"names":[],"mappings":"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"}
|