@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,13 +1,28 @@
|
|
|
1
1
|
import { type ComponentProps, type MouseEventHandler, type ReactNode } from 'react';
|
|
2
2
|
import type { Microdata } from './microdata.js';
|
|
3
|
+
import { type ShortcutKeys } from './shortcut.js';
|
|
3
4
|
export type ButtonVariant = 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link' | 'primary' | 'linkFG' | 'linkMuted';
|
|
4
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The colour a control speaks in, across its variant: twenty-ui's `color` axis
|
|
7
|
+
* (MIT). Named `tone` because `color` is already the label's colour here.
|
|
8
|
+
*
|
|
9
|
+
* `accent` is the monochrome accent — `--primary`, ink by default and an org's
|
|
10
|
+
* colour once it picks one — never a hue of its own. `danger` and `success` are
|
|
11
|
+
* the two state hues design permits.
|
|
12
|
+
*/
|
|
13
|
+
export type ButtonTone = 'neutral' | 'accent' | 'danger' | 'success';
|
|
14
|
+
export type ButtonSize = 'default' | 'sm' | 'xs' | 'lg' | 'icon' | 'icon-sm' | 'icon-xs' | 'icon-2xs' | 'icon-lg';
|
|
5
15
|
declare const Frame: import("@hanzogui/web").GuiComponent<import("@hanzogui/web").TamaDefer, any, import("@hanzogui/web").StackNonStyleProps, import("@hanzogui/web").StackStyleBase, {
|
|
6
16
|
chromeless?: "all" | boolean | undefined;
|
|
7
17
|
circular?: boolean | undefined;
|
|
18
|
+
compact?: boolean | undefined;
|
|
8
19
|
disabled?: boolean | undefined;
|
|
20
|
+
elevated?: boolean | undefined;
|
|
9
21
|
elevation?: number | import("@hanzogui/web").SizeTokens | undefined;
|
|
10
|
-
|
|
22
|
+
fullWidth?: boolean | undefined;
|
|
23
|
+
round?: boolean | undefined;
|
|
24
|
+
size?: number | "default" | "icon" | "icon-2xs" | "icon-lg" | "icon-sm" | "icon-xs" | "lg" | "sm" | "xs" | import("@hanzogui/web").SizeTokens | undefined;
|
|
25
|
+
tone?: ButtonTone | undefined;
|
|
11
26
|
unstyled?: boolean | undefined;
|
|
12
27
|
variant?: "default" | "destructive" | "ghost" | "link" | "linkFG" | "linkMuted" | "outline" | "outlined" | "primary" | "secondary" | undefined;
|
|
13
28
|
}, import("@hanzogui/web").StaticConfigPublic>;
|
|
@@ -17,10 +32,60 @@ declare const Frame: import("@hanzogui/web").GuiComponent<import("@hanzogui/web"
|
|
|
17
32
|
*/
|
|
18
33
|
import { buttonVariants } from '../../style.js';
|
|
19
34
|
export { buttonVariants };
|
|
20
|
-
export type ButtonProps = Omit<ComponentProps<typeof Frame>, 'variant' | 'size' | 'children' | 'onClick'> & {
|
|
35
|
+
export type ButtonProps = Omit<ComponentProps<typeof Frame>, 'variant' | 'size' | 'children' | 'onClick' | 'compact' | 'tone' | 'elevated' | 'fullWidth' | 'round'> & {
|
|
21
36
|
variant?: ButtonVariant | null;
|
|
37
|
+
/**
|
|
38
|
+
* The box. Unset, it follows the nearest `<Density>`: `default` (36) on a
|
|
39
|
+
* regular surface, `sm` (32) with the 8px record gutter on a compact one.
|
|
40
|
+
*/
|
|
22
41
|
size?: ButtonSize | null;
|
|
23
42
|
isLoading?: boolean;
|
|
43
|
+
/** An icon before the label, drawn at the size's glyph (14 at `sm`/`xs`, 16 otherwise) unless it names one. */
|
|
44
|
+
startIcon?: ReactNode;
|
|
45
|
+
/** An icon after the label — a chevron on a menu button, an arrow on a link. */
|
|
46
|
+
endIcon?: ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* The keys that do what the button does, drawn after the label as the quiet
|
|
49
|
+
* `Shortcut variant="button"` hint ("Update view ⌘↵"): one combination
|
|
50
|
+
* (`['Mod', 'Enter']`) or a sequence (`[['G'], ['P']]`). It names the keys;
|
|
51
|
+
* binding them is the host's.
|
|
52
|
+
*/
|
|
53
|
+
shortcut?: ShortcutKeys;
|
|
54
|
+
/** The word between a sequence's combinations. Default "then". */
|
|
55
|
+
shortcutJoinLabel?: string;
|
|
56
|
+
/**
|
|
57
|
+
* `subtle` lowers the label to the tertiary rank, `$hint` (design's ink at
|
|
58
|
+
* 55%): the icon button inside a row, a chip or a column header, which is
|
|
59
|
+
* present without asking to be pressed. Not `$quiet`, measured: gui's ramp is
|
|
60
|
+
* not symmetric, and in the light theme `$quiet` is rgb(36,36,36) — the ink by
|
|
61
|
+
* another name. A share of the ink keeps its distance in either scheme.
|
|
62
|
+
*/
|
|
63
|
+
emphasis?: 'standard' | 'subtle';
|
|
64
|
+
/** The colour axis across the variant: `accent`, `danger`, `success` (see `ButtonTone`). */
|
|
65
|
+
tone?: ButtonTone;
|
|
66
|
+
/**
|
|
67
|
+
* Where the spinner stands while `isLoading`. `start` (the default) puts it
|
|
68
|
+
* before the label; `end` after it; `center` keeps the label's width but hides
|
|
69
|
+
* it, so a button does not change size when it starts working.
|
|
70
|
+
*/
|
|
71
|
+
loadingPosition?: 'start' | 'center' | 'end';
|
|
72
|
+
/** Takes the whole width of its row. */
|
|
73
|
+
fullWidth?: boolean;
|
|
74
|
+
/** Lifted: the small shadow and, on an outline, the ground fill with the stronger edge. */
|
|
75
|
+
elevated?: boolean;
|
|
76
|
+
/** `round` makes an icon size a circle. */
|
|
77
|
+
shape?: 'square' | 'round';
|
|
78
|
+
/**
|
|
79
|
+
* A hint shown under the button after a second's hover or on focus. A string
|
|
80
|
+
* also names an icon-only button for assistive technology when it has no
|
|
81
|
+
* `aria-label`. A disabled button keeps showing it.
|
|
82
|
+
*/
|
|
83
|
+
tooltip?: ReactNode;
|
|
84
|
+
/**
|
|
85
|
+
* A disabled button that still takes focus: announced as disabled
|
|
86
|
+
* (`aria-disabled`), not pressable, but reachable — so its tooltip can say why.
|
|
87
|
+
*/
|
|
88
|
+
focusableWhenDisabled?: boolean;
|
|
24
89
|
children?: ReactNode;
|
|
25
90
|
/**
|
|
26
91
|
* The DOM click. Frame types this from the cross-platform stack, where the
|
|
@@ -73,6 +138,6 @@ export type ButtonProps = Omit<ComponentProps<typeof Frame>, 'variant' | 'size'
|
|
|
73
138
|
name?: string;
|
|
74
139
|
value?: string;
|
|
75
140
|
} & Microdata;
|
|
76
|
-
declare function Button({
|
|
141
|
+
declare function Button({ tooltip, ...props }: ButtonProps): import("react").JSX.Element;
|
|
77
142
|
export { Button };
|
|
78
143
|
//# sourceMappingURL=button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/button.tsx"],"names":[],"mappings":"AAyBA,OAAO,
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/button.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEtB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAO5C,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,aAAa,GACb,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,GACN,SAAS,GACT,QAAQ,GACR,WAAW,CAAA;AAEf;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEpE,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,SAAS,GACT,SAAS,GACT,UAAU,GACV,SAAS,CAAA;AAgEb,QAAA,MAAM,KAAK;;;;;;;;;;;;;8CAoKT,CAAA;AA2CF;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,cAAc,CAAC,OAAO,KAAK,CAAC,EAC5B,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CACtG,GAAG;IACF,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,+GAA+G;IAC/G,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,gFAAgF;IAChF,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;IAChC,4FAA4F;IAC5F,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAC5C,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACxC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,SAAS,CAAA;AAqBb,iBAAS,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,+BAiBjD;AAsID,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -22,39 +22,70 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
22
22
|
* The 44px touch floor comes from `touch()`, which is platform-correct on web
|
|
23
23
|
* as well as native — visual density stays at 36/32/40px.
|
|
24
24
|
*/
|
|
25
|
-
import { Button as GuiButton, Spinner, styled } from '@hanzo/gui';
|
|
26
|
-
import { createElement, isValidElement, } from 'react';
|
|
25
|
+
import { Button as GuiButton, Spinner, XStack, styled } from '@hanzo/gui';
|
|
26
|
+
import { cloneElement, createElement, isValidElement, useContext, } from 'react';
|
|
27
27
|
import { sx } from '../../sx.js';
|
|
28
28
|
import { ink } from './ink.js';
|
|
29
29
|
import { touch } from './gesture.js';
|
|
30
|
+
import { useDensity } from './density.js';
|
|
31
|
+
import { ButtonGroupContext } from './button-group.js';
|
|
32
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from './tooltip.js';
|
|
33
|
+
import { Shortcut } from './shortcut.js';
|
|
30
34
|
/** The floor every size takes under a coarse pointer: a thumb, not a cursor. */
|
|
31
35
|
const TOUCH = 44;
|
|
36
|
+
/**
|
|
37
|
+
* `xs` (24), `icon-xs` (24) and `icon-2xs` (20) are the record density: the
|
|
38
|
+
* quiet buttons a table cell, a chip, a kanban header and a menu row hold
|
|
39
|
+
* (twenty-ui's sm and xs, MIT). They sit beside 13px text, carry a 14px icon and
|
|
40
|
+
* keep the 44px press area under a coarse pointer like every other size.
|
|
41
|
+
*/
|
|
32
42
|
const HEIGHT = {
|
|
33
43
|
default: 36,
|
|
34
44
|
sm: 32,
|
|
45
|
+
xs: 24,
|
|
35
46
|
lg: 40,
|
|
36
47
|
icon: 36,
|
|
37
48
|
'icon-sm': 32,
|
|
49
|
+
'icon-xs': 24,
|
|
50
|
+
'icon-2xs': 20,
|
|
38
51
|
'icon-lg': 40,
|
|
39
52
|
};
|
|
40
53
|
/** Type scale per size — applied to the Text host, which is what renders it. */
|
|
41
54
|
const TYPE = {
|
|
42
55
|
default: '$3',
|
|
43
56
|
sm: '$2',
|
|
57
|
+
xs: '$2',
|
|
44
58
|
lg: '$3',
|
|
45
59
|
icon: '$3',
|
|
46
60
|
'icon-sm': '$2',
|
|
61
|
+
'icon-xs': '$2',
|
|
62
|
+
'icon-2xs': '$1',
|
|
47
63
|
'icon-lg': '$3',
|
|
48
64
|
};
|
|
65
|
+
/** The icon each size draws a `startIcon`/`endIcon` at, when the icon names no size of its own. */
|
|
66
|
+
const GLYPH = {
|
|
67
|
+
default: 16,
|
|
68
|
+
sm: 14,
|
|
69
|
+
xs: 14,
|
|
70
|
+
lg: 16,
|
|
71
|
+
icon: 16,
|
|
72
|
+
'icon-sm': 16,
|
|
73
|
+
'icon-xs': 14,
|
|
74
|
+
'icon-2xs': 14,
|
|
75
|
+
'icon-lg': 20,
|
|
76
|
+
};
|
|
49
77
|
/** The spinner's CEILING, paired 1:1 with TYPE above. A ceiling rather than a
|
|
50
78
|
* size for the reason the height ladder gives: a pin clips, a bound does not.
|
|
51
79
|
* A spinner stands in for the label, so it may not outgrow the label's line. */
|
|
52
80
|
const SPIN = {
|
|
53
81
|
default: 16,
|
|
54
82
|
sm: 14,
|
|
83
|
+
xs: 12,
|
|
55
84
|
lg: 16,
|
|
56
85
|
icon: 16,
|
|
57
86
|
'icon-sm': 14,
|
|
87
|
+
'icon-xs': 12,
|
|
88
|
+
'icon-2xs': 12,
|
|
58
89
|
'icon-lg': 16,
|
|
59
90
|
};
|
|
60
91
|
const Frame = styled(GuiButton.Frame, {
|
|
@@ -152,25 +183,162 @@ const Frame = styled(GuiButton.Frame, {
|
|
|
152
183
|
// TOUCH, the target a thumb lands on; a mouse keeps the designed sizes.
|
|
153
184
|
default: { height: 'auto', minHeight: HEIGHT.default, px: '$4', $touchable: { minHeight: TOUCH } },
|
|
154
185
|
sm: { height: 'auto', minHeight: HEIGHT.sm, px: '$3', gap: '$1.5', $touchable: { minHeight: TOUCH } },
|
|
186
|
+
xs: { height: 'auto', minHeight: HEIGHT.xs, px: '$2', gap: '$1', $touchable: { minHeight: TOUCH } },
|
|
155
187
|
lg: { height: 'auto', minHeight: HEIGHT.lg, px: '$6', $touchable: { minHeight: TOUCH } },
|
|
156
188
|
icon: { height: 'auto', minHeight: HEIGHT.icon, width: 'auto', minWidth: HEIGHT.icon, px: 0, $touchable: { minHeight: TOUCH, minWidth: TOUCH } },
|
|
157
189
|
'icon-sm': { height: 'auto', minHeight: HEIGHT['icon-sm'], width: 'auto', minWidth: HEIGHT['icon-sm'], px: 0, $touchable: { minHeight: TOUCH, minWidth: TOUCH } },
|
|
190
|
+
'icon-xs': { height: 'auto', minHeight: HEIGHT['icon-xs'], width: 'auto', minWidth: HEIGHT['icon-xs'], px: 0, $touchable: { minHeight: TOUCH, minWidth: TOUCH } },
|
|
191
|
+
'icon-2xs': { height: 'auto', minHeight: HEIGHT['icon-2xs'], width: 'auto', minWidth: HEIGHT['icon-2xs'], px: 0, rounded: '$xs', $touchable: { minHeight: TOUCH, minWidth: TOUCH } },
|
|
158
192
|
'icon-lg': { height: 'auto', minHeight: HEIGHT['icon-lg'], width: 'auto', minWidth: HEIGHT['icon-lg'], px: 0, $touchable: { minHeight: TOUCH, minWidth: TOUCH } },
|
|
159
193
|
},
|
|
194
|
+
// The record density's gutter: 8 beside the label and 4 between an icon and
|
|
195
|
+
// it, on the 32px box `compact` gives a size-less Button. After `size`, so
|
|
196
|
+
// it wins over the 12 `sm` states; passed only when the density chose the
|
|
197
|
+
// size, so a named size — an icon size, whose gutter is its width, above all
|
|
198
|
+
// — keeps its own.
|
|
199
|
+
compact: {
|
|
200
|
+
true: { px: '$2', gap: '$1' },
|
|
201
|
+
},
|
|
202
|
+
// After `variant`, so a tone restates the variant's colours rather than
|
|
203
|
+
// racing them. A function of the variant because the axis means a different
|
|
204
|
+
// pair per shape: the edge and the ink of an outline, the tint of a soft
|
|
205
|
+
// button, the fill of a solid one. `neutral` is the variant as it is.
|
|
206
|
+
tone: (tone, { props }) => {
|
|
207
|
+
const t = TONES[tone];
|
|
208
|
+
if (!t)
|
|
209
|
+
return {};
|
|
210
|
+
switch (props.variant) {
|
|
211
|
+
case 'primary':
|
|
212
|
+
return { bg: t.fill, color: t.fillInk, borderColor: 'transparent', hoverStyle: { bg: t.fillHover, borderColor: 'transparent' } };
|
|
213
|
+
case 'secondary':
|
|
214
|
+
return { bg: t.soft, color: t.ink, hoverStyle: { bg: t.softHover, opacity: 1 } };
|
|
215
|
+
case 'ghost':
|
|
216
|
+
return { color: t.ink, hoverStyle: { bg: t.tint } };
|
|
217
|
+
case 'default':
|
|
218
|
+
case 'outline':
|
|
219
|
+
case undefined:
|
|
220
|
+
return { color: t.ink, borderColor: t.edge, hoverStyle: { bg: t.tint, borderColor: t.edge } };
|
|
221
|
+
default:
|
|
222
|
+
return { color: t.ink };
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
// Lifted off the page: the ladder's first rung (the `elevation-1` class the
|
|
226
|
+
// component adds — lit edge and small drop, owned by glass.css) and, on an
|
|
227
|
+
// outline, the page's ground with the stronger edge, so it reads as raised
|
|
228
|
+
// rather than as a hole (twenty-ui's `elevated`). Never `--shadow-sm`: that
|
|
229
|
+
// size ramp is common property and glass.test holds the ladder off it.
|
|
230
|
+
elevated: (on, { props }) => on
|
|
231
|
+
? {
|
|
232
|
+
// The page's ground, through `--surface-page`. Neither `$background`
|
|
233
|
+
// nor `var(--background)` will do: gui redeclares `--background` on
|
|
234
|
+
// its Button sub-theme, so inside a button both read gui's button grey
|
|
235
|
+
// (rgb(36,36,36) measured). `--surface-page` is declared on :root as
|
|
236
|
+
// `var(--background)` and inherits RESOLVED, so it is the page's.
|
|
237
|
+
...(props.variant === 'default' || props.variant === 'outline' || props.variant === undefined
|
|
238
|
+
? { bg: 'var(--surface-page)', borderColor: '$rim' }
|
|
239
|
+
: null),
|
|
240
|
+
}
|
|
241
|
+
: {},
|
|
242
|
+
fullWidth: {
|
|
243
|
+
true: { width: '100%', self: 'stretch' },
|
|
244
|
+
},
|
|
245
|
+
round: {
|
|
246
|
+
true: { rounded: '$10' },
|
|
247
|
+
},
|
|
160
248
|
disabled: {
|
|
161
249
|
true: { opacity: 0.5, pointerEvents: 'none', cursor: 'default' },
|
|
162
250
|
},
|
|
163
251
|
},
|
|
164
252
|
defaultVariants: { variant: 'default', size: 'default' },
|
|
165
253
|
});
|
|
254
|
+
/** Each tone's pairs: ink and edge for an outline, tint under the pointer, the
|
|
255
|
+
* soft fill and its hover, the solid fill, its ink and its hover. */
|
|
256
|
+
const TONES = {
|
|
257
|
+
accent: {
|
|
258
|
+
ink: 'var(--primary)',
|
|
259
|
+
edge: 'var(--primary)',
|
|
260
|
+
tint: '$hover',
|
|
261
|
+
soft: '$hover',
|
|
262
|
+
softHover: '$raised',
|
|
263
|
+
fill: 'var(--primary)',
|
|
264
|
+
fillInk: 'var(--primary-foreground)',
|
|
265
|
+
fillHover: 'var(--primary-hover)',
|
|
266
|
+
},
|
|
267
|
+
danger: {
|
|
268
|
+
ink: '$bad',
|
|
269
|
+
edge: '$red7',
|
|
270
|
+
tint: 'var(--state-error-bg)',
|
|
271
|
+
soft: 'var(--state-error-bg)',
|
|
272
|
+
softHover: '$red4',
|
|
273
|
+
fill: 'var(--destructive)',
|
|
274
|
+
fillInk: 'var(--destructive-foreground)',
|
|
275
|
+
fillHover: 'var(--destructive-hover)',
|
|
276
|
+
},
|
|
277
|
+
success: {
|
|
278
|
+
ink: '$good',
|
|
279
|
+
edge: '$green7',
|
|
280
|
+
tint: 'var(--state-success-bg)',
|
|
281
|
+
soft: 'var(--state-success-bg)',
|
|
282
|
+
softHover: '$green4',
|
|
283
|
+
fill: '$green9',
|
|
284
|
+
fillInk: '#ffffff',
|
|
285
|
+
fillHover: '$green10',
|
|
286
|
+
},
|
|
287
|
+
};
|
|
288
|
+
/** The ink a tone gives its icons, which read colour from a prop and not from the label's text context. */
|
|
289
|
+
const toneInk = (tone, variant) => {
|
|
290
|
+
if (tone === 'neutral')
|
|
291
|
+
return undefined;
|
|
292
|
+
return variant === 'primary' ? TONES[tone].fillInk : TONES[tone].ink;
|
|
293
|
+
};
|
|
166
294
|
/**
|
|
167
295
|
* A stable class handle for hosts that hook buttons from CSS. Styling lives in
|
|
168
296
|
* the tokens; this only names the variant and size.
|
|
169
297
|
*/
|
|
170
298
|
import { buttonVariants } from '../../style.js';
|
|
171
299
|
export { buttonVariants };
|
|
172
|
-
|
|
173
|
-
|
|
300
|
+
/**
|
|
301
|
+
* A Lucide-style icon element, given the size it is drawn at and the label's
|
|
302
|
+
* colour, each only where it names none of its own. A gui icon reads its colour
|
|
303
|
+
* from a prop, not from the text context the label's colour rides on, so a
|
|
304
|
+
* subtle button's icon would otherwise stay at full ink beside a quiet label.
|
|
305
|
+
*/
|
|
306
|
+
const glyph = (icon, size, color) => {
|
|
307
|
+
if (!isValidElement(icon))
|
|
308
|
+
return icon;
|
|
309
|
+
const own = icon.props;
|
|
310
|
+
const next = { ...(own.size == null ? { size } : null), ...(color && own.color == null ? { color } : null) };
|
|
311
|
+
return Object.keys(next).length ? cloneElement(icon, next) : icon;
|
|
312
|
+
};
|
|
313
|
+
/** The two record sizes whose child IS the icon, so the button draws it at its glyph. */
|
|
314
|
+
const SMALL_ICON = new Set(['icon-xs', 'icon-2xs']);
|
|
315
|
+
/** How long a pointer rests on a button before its tooltip shows (twenty-ui's 1000ms). */
|
|
316
|
+
const TOOLTIP_DELAY = 1000;
|
|
317
|
+
function Button({ tooltip, ...props }) {
|
|
318
|
+
if (tooltip == null || tooltip === false)
|
|
319
|
+
return _jsx(Pressable, { ...props });
|
|
320
|
+
const label = typeof tooltip === 'string' && props['aria-label'] == null ? { 'aria-label': tooltip } : null;
|
|
321
|
+
return (_jsxs(Tooltip, { delay: TOOLTIP_DELAY, placement: "bottom", children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Pressable, { ...props, ...(props.disabled ? { focusableWhenDisabled: true } : null), ...label }) }), _jsx(TooltipContent, { children: tooltip })] }));
|
|
322
|
+
}
|
|
323
|
+
function Pressable({ className, variant: own, size, asChild = false, isLoading = false, disabled, startIcon, endIcon, shortcut, shortcutJoinLabel, emphasis = 'standard', tone: ownTone, loadingPosition = 'start', fullWidth, elevated, shape, focusableWhenDisabled, children, ...props }) {
|
|
324
|
+
const density = useDensity();
|
|
325
|
+
const group = useContext(ButtonGroupContext);
|
|
326
|
+
const variant = own ?? group?.variant ?? 'default';
|
|
327
|
+
const tone = ownTone ?? group?.tone ?? 'neutral';
|
|
328
|
+
const resolved = size ?? group?.size ?? (density === 'compact' ? 'sm' : 'default');
|
|
329
|
+
// Only the box the density chose takes its gutter: a named size is a decision.
|
|
330
|
+
const compact = density === 'compact' && size == null && group?.size == null;
|
|
331
|
+
const quiet = emphasis === 'subtle' ? { color: '$hint' } : null;
|
|
332
|
+
const tint = emphasis === 'subtle' ? '$hint' : toneInk(tone, variant);
|
|
333
|
+
// The record density's label weight: medium, as twenty-ui sets every button.
|
|
334
|
+
const weight = density === 'compact' ? { fontWeight: '500' } : null;
|
|
335
|
+
// Disabled but focusable: the frame's `disabled` would take pointer events and
|
|
336
|
+
// focus away, so the state is said in ARIA and the press is refused here.
|
|
337
|
+
const inert = !!disabled && !!focusableWhenDisabled;
|
|
338
|
+
const center = isLoading && loadingPosition === 'center';
|
|
339
|
+
// aria-hidden: the label stays the name and `disabled` says it is busy; an
|
|
340
|
+
// unnamed progressbar beside it is what axe reports.
|
|
341
|
+
const spinner = _jsx(Spinner, { "aria-hidden": true, size: "small", maxW: SPIN[resolved], maxH: SPIN[resolved] });
|
|
174
342
|
// gui's own `asChild` cannot merge into the child here: the Button frame bakes
|
|
175
343
|
// a `render: <button>`, so asChild WRAPS the child in a button and drops every
|
|
176
344
|
// compiled style (measured: `<button class="is_View "><a>…</a></button>`).
|
|
@@ -184,9 +352,14 @@ function Button({ className, variant = 'default', size = 'default', asChild = fa
|
|
|
184
352
|
// default, as `render` below records) so it cannot say otherwise. A caller's
|
|
185
353
|
// `role` still lands, from the spread after it.
|
|
186
354
|
const link = host != null && host.props.href != null;
|
|
187
|
-
return (_jsxs(Frame, { "data-slot": "button", "data-variant": variant
|
|
355
|
+
return (_jsxs(Frame, { "data-slot": "button", "data-variant": variant, "data-size": resolved, ...(tone !== 'neutral' ? { 'data-tone': tone } : null), variant: variant, size: resolved, ...(compact ? { compact: true } : null), ...(tone !== 'neutral' ? { tone } : null), ...(elevated ? { elevated: true } : null), ...(fullWidth ? { fullWidth: true } : null), ...(shape === 'round' ? { round: true } : null), ...(group?.framed ? { rounded: 1 } : null), ...(center ? { position: 'relative' } : null), ...(host
|
|
188
356
|
? { render: createElement(host.type, { ...host.props, children: undefined }) }
|
|
189
|
-
: null), ...(link ? { role: undefined } : null), disabled: disabled || isLoading, ...touch(HEIGHT[resolved], 44, 'y'), ...sx(buttonVariants({ variant, size, className })), ...props, children: [isLoading && _jsx(
|
|
357
|
+
: null), ...(link ? { role: undefined } : null), disabled: inert ? false : disabled || isLoading, ...(inert ? { 'aria-disabled': true, opacity: 0.5, cursor: 'not-allowed' } : null), ...touch(HEIGHT[resolved], 44, 'y'), ...sx(buttonVariants({ variant, size, className: elevated ? [className, 'elevation-1'].filter(Boolean).join(' ') : className })), ...props, ...(inert ? { onPress: undefined, onClick: (e) => e?.preventDefault?.() } : null), children: [isLoading && loadingPosition === 'start' ? spinner : null, center ? (_jsx(XStack, { position: "absolute", t: 0, b: 0, l: 0, r: 0, items: "center", justify: "center", pointerEvents: "none", children: spinner })) : null, startIcon ? glyph(startIcon, GLYPH[resolved], tint) : null, ink(SMALL_ICON.has(resolved) ? glyph(body, GLYPH[resolved], tint) : body, GuiButton.Text, {
|
|
358
|
+
fontSize: TYPE[resolved],
|
|
359
|
+
...weight,
|
|
360
|
+
...quiet,
|
|
361
|
+
...(center ? { opacity: 0 } : null),
|
|
362
|
+
}), shortcut && shortcut.length ? (_jsx(Shortcut, { keys: shortcut, variant: "button", sequenceJoinLabel: shortcutJoinLabel, ...(center ? { opacity: 0 } : null) })) : null, endIcon ? glyph(endIcon, GLYPH[resolved], tint) : null, isLoading && loadingPosition === 'end' ? spinner : null] }));
|
|
190
363
|
}
|
|
191
364
|
export { Button };
|
|
192
365
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/backends/gui/button.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/backends/gui/button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +10,26 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
10
10
|
* and a row is the one box model that also exists on native.
|
|
11
11
|
*/
|
|
12
12
|
const gui_1 = require("@hanzo/gui");
|
|
13
|
+
const react_1 = require("react");
|
|
14
|
+
const density_1 = require("./density.cjs");
|
|
13
15
|
const aspect_ratio_1 = require("./aspect-ratio.cjs");
|
|
14
16
|
const ink_1 = require("./ink.cjs");
|
|
15
17
|
const slot_1 = require("./slot.cjs");
|
|
16
18
|
const PAD = 24;
|
|
19
|
+
/**
|
|
20
|
+
* The compact card (twenty-ui's Card, MIT, NOTICE): the settings and record
|
|
21
|
+
* frame. No inset of its own and an 8px corner; a Header and a Footer band at
|
|
22
|
+
* 8×16 in 12px medium on the ground, a Content well at 16 on the panel rung,
|
|
23
|
+
* hairlines between them (`divider` on Content, on by default for the Footer).
|
|
24
|
+
* Asked for with `density="compact"` or given by a compact `<Density>`. The
|
|
25
|
+
* regular card stays the 24px-padded panel.
|
|
26
|
+
*/
|
|
27
|
+
const Compact = /* @__PURE__ */ (0, react_1.createContext)(false);
|
|
28
|
+
const COMPACT = {
|
|
29
|
+
frame: { py: 0, gap: 0, rounded: '$3', overflow: 'hidden', bg: 'transparent' },
|
|
30
|
+
band: { px: 16, py: 8, bg: '$background' },
|
|
31
|
+
content: { p: 16, bg: '$panel' },
|
|
32
|
+
};
|
|
17
33
|
const CardFrame = (0, gui_1.styled)(gui_1.YStack, {
|
|
18
34
|
name: 'Card',
|
|
19
35
|
bg: '$background',
|
|
@@ -41,25 +57,32 @@ const DescriptionFrame = (0, gui_1.styled)(gui_1.SizableText, { name: 'CardDescr
|
|
|
41
57
|
const ActionFrame = (0, gui_1.styled)(gui_1.XStack, { name: 'CardAction', self: 'flex-end', shrink: 0 });
|
|
42
58
|
const ContentFrame = (0, gui_1.styled)(gui_1.YStack, { name: 'CardContent', px: PAD });
|
|
43
59
|
const FooterFrame = (0, gui_1.styled)(gui_1.XStack, { name: 'CardFooter', px: PAD, items: 'center' });
|
|
44
|
-
const Card = ({ interactive, onPress, ...p }) =>
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
e
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
const Card = ({ interactive, onPress, density, children, ...p }) => {
|
|
61
|
+
const near = (0, density_1.useDensity)();
|
|
62
|
+
const compact = (density ?? near) === 'compact';
|
|
63
|
+
return ((0, jsx_runtime_1.jsx)(CardFrame, { ...(0, slot_1.slot)('card'), ...(compact ? { 'data-density': 'compact', ...COMPACT.frame } : null), ...(interactive
|
|
64
|
+
? {
|
|
65
|
+
role: 'button',
|
|
66
|
+
tabIndex: 0,
|
|
67
|
+
cursor: 'pointer',
|
|
68
|
+
hoverStyle: compact ? { bg: '$hover' } : { borderColor: '$dim' },
|
|
69
|
+
focusStyle: { borderColor: '$dim', outlineWidth: 2, outlineStyle: 'solid', outlineColor: '$dim' },
|
|
70
|
+
// A div with role="button" is not a button: the browser gives it no
|
|
71
|
+
// keyboard activation, so it has to be spelled out or the card is
|
|
72
|
+
// mouse-only. Space must also preventDefault or the page scrolls.
|
|
73
|
+
onKeyDown: (e) => {
|
|
74
|
+
if (e.key !== 'Enter' && e.key !== ' ')
|
|
75
|
+
return;
|
|
76
|
+
e.preventDefault();
|
|
77
|
+
onPress?.(e);
|
|
78
|
+
},
|
|
79
|
+
}
|
|
80
|
+
: null), onPress: onPress, ...p, children: (0, jsx_runtime_1.jsx)(Compact.Provider, { value: compact, children: children }) }));
|
|
81
|
+
};
|
|
82
|
+
const CardHeader = ({ children, ...p }) => {
|
|
83
|
+
const compact = (0, react_1.useContext)(Compact);
|
|
84
|
+
return ((0, jsx_runtime_1.jsx)(HeaderFrame, { ...(0, slot_1.slot)('card-header'), ...(compact ? { ...COMPACT.band, gap: '$1', borderBottomWidth: 1, borderColor: '$borderColor' } : null), ...p, children: compact ? (0, ink_1.ink)(children, gui_1.SizableText, { size: '$1', fontWeight: '500', color: '$aside' }) : children }));
|
|
85
|
+
};
|
|
63
86
|
exports.CardHeader = CardHeader;
|
|
64
87
|
const CardTitle = (p) => (0, jsx_runtime_1.jsx)(TitleFrame, { ...(0, slot_1.slot)('card-title'), ...p });
|
|
65
88
|
exports.CardTitle = CardTitle;
|
|
@@ -67,9 +90,15 @@ const CardDescription = (p) => (0, jsx_runtime_1.jsx)(DescriptionFrame, { ...(0,
|
|
|
67
90
|
exports.CardDescription = CardDescription;
|
|
68
91
|
const CardAction = (p) => (0, jsx_runtime_1.jsx)(ActionFrame, { ...(0, slot_1.slot)('card-action'), ...p });
|
|
69
92
|
exports.CardAction = CardAction;
|
|
70
|
-
const CardContent = ({ children, ...p }) =>
|
|
93
|
+
const CardContent = ({ children, divider = false, ...p }) => {
|
|
94
|
+
const compact = (0, react_1.useContext)(Compact);
|
|
95
|
+
return ((0, jsx_runtime_1.jsx)(ContentFrame, { ...(0, slot_1.slot)('card-content'), ...(compact ? { ...COMPACT.content, ...(divider ? { borderBottomWidth: 1, borderColor: '$borderColor' } : null) } : null), ...p, children: (0, ink_1.ink)(children) }));
|
|
96
|
+
};
|
|
71
97
|
exports.CardContent = CardContent;
|
|
72
|
-
const CardFooter = ({ children, ...p }) =>
|
|
98
|
+
const CardFooter = ({ children, divider = true, ...p }) => {
|
|
99
|
+
const compact = (0, react_1.useContext)(Compact);
|
|
100
|
+
return ((0, jsx_runtime_1.jsx)(FooterFrame, { ...(0, slot_1.slot)('card-footer'), ...(compact ? { ...COMPACT.band, ...(divider ? { borderTopWidth: 1, borderColor: '$borderColor' } : null) } : null), ...p, children: compact ? (0, ink_1.ink)(children, gui_1.SizableText, { size: '$1', color: '$aside' }) : (0, ink_1.ink)(children) }));
|
|
101
|
+
};
|
|
73
102
|
exports.CardFooter = CardFooter;
|
|
74
103
|
const CardMedia = ({ ratio = 16 / 10, ...p }) => ((0, jsx_runtime_1.jsx)(aspect_ratio_1.AspectRatio, { ...(0, slot_1.slot)('card-media'), ratio: ratio, mt: -PAD, ...p }));
|
|
75
104
|
exports.CardMedia = CardMedia;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ComponentProps } from 'react';
|
|
2
|
+
import { type DensityName } from './density.js';
|
|
2
3
|
import { type AspectRatioProps } from './aspect-ratio.js';
|
|
3
4
|
import type { Microdata } from './microdata.js';
|
|
4
5
|
declare const CardFrame: import("@hanzogui/web").GuiComponent<import("@hanzogui/web").TamaDefer, any, import("@hanzogui/core").RNGuiViewNonStyleProps, import("@hanzogui/web").StackStyleBase, {
|
|
@@ -40,20 +41,28 @@ export type CardProps = ComponentProps<typeof CardFrame> & {
|
|
|
40
41
|
* it.
|
|
41
42
|
*/
|
|
42
43
|
interactive?: boolean;
|
|
44
|
+
/** `compact` is the sectioned settings/record card; unset, the nearest `<Density>` decides. */
|
|
45
|
+
density?: DensityName;
|
|
43
46
|
} & Microdata;
|
|
44
47
|
export type CardHeaderProps = ComponentProps<typeof HeaderFrame>;
|
|
45
48
|
export type CardTitleProps = ComponentProps<typeof TitleFrame>;
|
|
46
49
|
export type CardDescriptionProps = ComponentProps<typeof DescriptionFrame>;
|
|
47
50
|
export type CardActionProps = ComponentProps<typeof ActionFrame>;
|
|
48
|
-
export type CardContentProps = ComponentProps<typeof ContentFrame
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
export type CardContentProps = ComponentProps<typeof ContentFrame> & {
|
|
52
|
+
/** A hairline under the content (compact card). */
|
|
53
|
+
divider?: boolean;
|
|
54
|
+
};
|
|
55
|
+
export type CardFooterProps = ComponentProps<typeof FooterFrame> & {
|
|
56
|
+
/** The hairline above the footer (compact card); on by default. */
|
|
57
|
+
divider?: boolean;
|
|
58
|
+
};
|
|
59
|
+
declare const Card: ({ interactive, onPress, density, children, ...p }: CardProps) => import("react").JSX.Element;
|
|
60
|
+
declare const CardHeader: ({ children, ...p }: CardHeaderProps) => import("react").JSX.Element;
|
|
52
61
|
declare const CardTitle: (p: CardTitleProps) => import("react").JSX.Element;
|
|
53
62
|
declare const CardDescription: (p: CardDescriptionProps) => import("react").JSX.Element;
|
|
54
63
|
declare const CardAction: (p: CardActionProps) => import("react").JSX.Element;
|
|
55
|
-
declare const CardContent: ({ children, ...p }: CardContentProps) => import("react").JSX.Element;
|
|
56
|
-
declare const CardFooter: ({ children, ...p }: CardFooterProps) => import("react").JSX.Element;
|
|
64
|
+
declare const CardContent: ({ children, divider, ...p }: CardContentProps) => import("react").JSX.Element;
|
|
65
|
+
declare const CardFooter: ({ children, divider, ...p }: CardFooterProps) => import("react").JSX.Element;
|
|
57
66
|
/**
|
|
58
67
|
* CardMedia — the picture at the top of a card, edge to edge.
|
|
59
68
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/card.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/card.tsx"],"names":[],"mappings":"AASA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AACtE,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAoB5C,QAAA,MAAM,SAAS;;;8CAQb,CAAA;AASF,QAAA,MAAM,WAAW;;;8CAKf,CAAA;AAEF,QAAA,MAAM,UAAU;;;8CAA4E,CAAA;AAC5F,QAAA,MAAM,gBAAgB;;;8CAAgF,CAAA;AACtG,QAAA,MAAM,WAAW;;;8CAAsE,CAAA;AACvF,QAAA,MAAM,YAAY;;;8CAAmD,CAAA;AACrE,QAAA,MAAM,WAAW;;;8CAAmE,CAAA;AAEpF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IACzD;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB,GAAG,SAAS,CAAA;AACb,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAA;AAChE,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,CAAA;AAC9D,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC1E,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAA;AAChE,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,GAAG;IACnE,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,GAAG;IACjE,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,QAAA,MAAM,IAAI,sDAAuD,SAAS,gCA8BzE,CAAA;AAED,QAAA,MAAM,UAAU,uBAAwB,eAAe,gCAWtD,CAAA;AACD,QAAA,MAAM,SAAS,MAAO,cAAc,gCAAkD,CAAA;AACtF,QAAA,MAAM,eAAe,MAAO,oBAAoB,gCAA8D,CAAA;AAC9G,QAAA,MAAM,UAAU,MAAO,eAAe,gCAAoD,CAAA;AAC1F,QAAA,MAAM,WAAW,gCAAyC,gBAAgB,gCAWzE,CAAA;AACD,QAAA,MAAM,UAAU,gCAAwC,eAAe,gCAWtE,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAA;AAC7C,QAAA,MAAM,SAAS,oBAA+B,cAAc,gCAE3D,CAAA;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,aAAa;;;;;;;;CAQjB,CAAA;AAEF,OAAO,EACL,aAAa,IAAI,IAAI,EACrB,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,GACV,CAAA"}
|