@hanzo/ui 8.0.27 → 8.0.28
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/dist/backends/gui/aspect-ratio.cjs +15 -0
- package/dist/backends/gui/aspect-ratio.d.ts +1 -0
- package/dist/backends/gui/aspect-ratio.d.ts.map +1 -0
- package/dist/backends/gui/aspect-ratio.js +13 -0
- package/dist/backends/gui/aspect-ratio.js.map +1 -0
- package/dist/backends/gui/avatar.cjs +20 -0
- package/dist/backends/gui/avatar.d.ts +1 -0
- package/dist/backends/gui/avatar.d.ts.map +1 -0
- package/dist/backends/gui/avatar.js +16 -0
- package/dist/backends/gui/avatar.js.map +1 -0
- package/dist/backends/gui/badge.cjs +80 -0
- package/dist/backends/gui/badge.d.ts +1 -0
- package/dist/backends/gui/badge.d.ts.map +1 -0
- package/dist/backends/gui/badge.js +76 -0
- package/dist/backends/gui/badge.js.map +1 -0
- package/dist/backends/gui/button.cjs +114 -0
- package/dist/backends/gui/button.d.ts +4 -24
- package/dist/backends/gui/button.d.ts.map +1 -0
- package/dist/backends/gui/button.js +111 -0
- package/dist/backends/gui/button.js.map +1 -0
- package/dist/backends/gui/card.cjs +49 -0
- package/dist/backends/gui/card.d.ts +1 -0
- package/dist/backends/gui/card.d.ts.map +1 -0
- package/dist/backends/gui/card.js +41 -0
- package/dist/backends/gui/card.js.map +1 -0
- package/dist/backends/gui/checkbox.cjs +16 -0
- package/dist/backends/gui/checkbox.d.ts +2 -1
- package/dist/backends/gui/checkbox.d.ts.map +1 -0
- package/dist/backends/gui/checkbox.js +14 -0
- package/dist/backends/gui/checkbox.js.map +1 -0
- package/dist/backends/gui/collapsible.cjs +15 -0
- package/dist/backends/gui/collapsible.d.ts +1 -0
- package/dist/backends/gui/collapsible.d.ts.map +1 -0
- package/dist/backends/gui/collapsible.js +11 -0
- package/dist/backends/gui/collapsible.js.map +1 -0
- package/dist/backends/gui/command.cjs +198 -0
- package/dist/backends/gui/command.d.ts +2 -1
- package/dist/backends/gui/command.d.ts.map +1 -0
- package/dist/backends/gui/command.js +188 -0
- package/dist/backends/gui/command.js.map +1 -0
- package/dist/backends/gui/command.logic.cjs +49 -0
- package/dist/backends/gui/command.logic.d.ts +1 -0
- package/dist/backends/gui/command.logic.d.ts.map +1 -0
- package/dist/backends/gui/command.logic.js +45 -0
- package/dist/backends/gui/command.logic.js.map +1 -0
- package/dist/backends/gui/dialog.cjs +41 -0
- package/dist/backends/gui/dialog.d.ts +1 -0
- package/dist/backends/gui/dialog.d.ts.map +1 -0
- package/dist/backends/gui/dialog.js +30 -0
- package/dist/backends/gui/dialog.js.map +1 -0
- package/dist/backends/gui/dropdown-menu.cjs +168 -0
- package/dist/backends/gui/dropdown-menu.d.ts +7 -6
- package/dist/backends/gui/dropdown-menu.d.ts.map +1 -0
- package/dist/backends/gui/dropdown-menu.js +119 -0
- package/dist/backends/gui/dropdown-menu.js.map +1 -0
- package/dist/backends/gui/gesture.cjs +74 -0
- package/dist/backends/gui/gesture.d.ts +68 -0
- package/dist/backends/gui/gesture.d.ts.map +1 -0
- package/dist/backends/gui/gesture.js +69 -0
- package/dist/backends/gui/gesture.js.map +1 -0
- package/dist/backends/gui/index.cjs +134 -0
- package/dist/backends/gui/index.d.ts +25 -24
- package/dist/backends/gui/index.d.ts.map +1 -0
- package/dist/backends/gui/index.js +41 -0
- package/dist/backends/gui/index.js.map +1 -0
- package/dist/backends/gui/ink.cjs +14 -0
- package/dist/backends/gui/ink.d.ts +1 -0
- package/dist/backends/gui/ink.d.ts.map +1 -0
- package/dist/backends/gui/ink.js +11 -0
- package/dist/backends/gui/ink.js.map +1 -0
- package/dist/backends/gui/input.cjs +39 -0
- package/dist/backends/gui/input.d.ts +1 -0
- package/dist/backends/gui/input.d.ts.map +1 -0
- package/dist/backends/gui/input.js +37 -0
- package/dist/backends/gui/input.js.map +1 -0
- package/dist/backends/gui/label.cjs +10 -0
- package/dist/backends/gui/label.d.ts +1 -0
- package/dist/backends/gui/label.d.ts.map +1 -0
- package/dist/backends/gui/label.js +8 -0
- package/dist/backends/gui/label.js.map +1 -0
- package/dist/backends/gui/popover.cjs +39 -0
- package/dist/backends/gui/popover.d.ts +1 -0
- package/dist/backends/gui/popover.d.ts.map +1 -0
- package/dist/backends/gui/popover.js +33 -0
- package/dist/backends/gui/popover.js.map +1 -0
- package/dist/backends/gui/progress.cjs +10 -0
- package/dist/backends/gui/progress.d.ts +1 -0
- package/dist/backends/gui/progress.d.ts.map +1 -0
- package/dist/backends/gui/progress.js +8 -0
- package/dist/backends/gui/progress.js.map +1 -0
- package/dist/backends/gui/resizable.cjs +174 -0
- package/dist/backends/gui/resizable.d.ts +5 -3
- package/dist/backends/gui/resizable.d.ts.map +1 -0
- package/dist/backends/gui/resizable.js +168 -0
- package/dist/backends/gui/resizable.js.map +1 -0
- package/dist/backends/gui/resizable.logic.cjs +46 -0
- package/dist/backends/gui/resizable.logic.d.ts +1 -0
- package/dist/backends/gui/resizable.logic.d.ts.map +1 -0
- package/dist/backends/gui/resizable.logic.js +43 -0
- package/dist/backends/gui/resizable.logic.js.map +1 -0
- package/dist/backends/gui/scroll-area.cjs +126 -0
- package/dist/backends/gui/scroll-area.d.ts +1 -0
- package/dist/backends/gui/scroll-area.d.ts.map +1 -0
- package/dist/backends/gui/scroll-area.js +123 -0
- package/dist/backends/gui/scroll-area.js.map +1 -0
- package/dist/backends/gui/select.cjs +54 -0
- package/dist/backends/gui/select.d.ts +1 -0
- package/dist/backends/gui/select.d.ts.map +1 -0
- package/dist/backends/gui/select.js +43 -0
- package/dist/backends/gui/select.js.map +1 -0
- package/dist/backends/gui/separator.cjs +10 -0
- package/dist/backends/gui/separator.d.ts +1 -0
- package/dist/backends/gui/separator.d.ts.map +1 -0
- package/dist/backends/gui/separator.js +8 -0
- package/dist/backends/gui/separator.js.map +1 -0
- package/dist/backends/gui/slider.cjs +13 -0
- package/dist/backends/gui/slider.d.ts +2 -1
- package/dist/backends/gui/slider.d.ts.map +1 -0
- package/dist/backends/gui/slider.js +11 -0
- package/dist/backends/gui/slider.js.map +1 -0
- package/dist/backends/gui/slot.cjs +10 -0
- package/dist/backends/gui/slot.d.ts +1 -0
- package/dist/backends/gui/slot.d.ts.map +1 -0
- package/dist/backends/gui/slot.js +7 -0
- package/dist/backends/gui/slot.js.map +1 -0
- package/dist/backends/gui/switch.cjs +13 -0
- package/dist/backends/gui/switch.d.ts +2 -1
- package/dist/backends/gui/switch.d.ts.map +1 -0
- package/dist/backends/gui/switch.js +11 -0
- package/dist/backends/gui/switch.js.map +1 -0
- package/dist/backends/gui/tabs.cjs +19 -0
- package/dist/backends/gui/tabs.d.ts +1 -0
- package/dist/backends/gui/tabs.d.ts.map +1 -0
- package/dist/backends/gui/tabs.js +14 -0
- package/dist/backends/gui/tabs.js.map +1 -0
- package/dist/backends/gui/textarea.cjs +58 -0
- package/dist/backends/gui/textarea.d.ts +1 -0
- package/dist/backends/gui/textarea.d.ts.map +1 -0
- package/dist/backends/gui/textarea.js +23 -0
- package/dist/backends/gui/textarea.js.map +1 -0
- package/dist/backends/gui/toaster.cjs +13 -0
- package/dist/backends/gui/toaster.d.ts +1 -0
- package/dist/backends/gui/toaster.d.ts.map +1 -0
- package/dist/backends/gui/toaster.js +10 -0
- package/dist/backends/gui/toaster.js.map +1 -0
- package/dist/backends/gui/tooltip.cjs +22 -0
- package/dist/backends/gui/tooltip.d.ts +1 -0
- package/dist/backends/gui/tooltip.d.ts.map +1 -0
- package/dist/backends/gui/tooltip.js +17 -0
- package/dist/backends/gui/tooltip.js.map +1 -0
- package/dist/canvas.cjs +27 -15
- package/dist/canvas.d.ts +1 -0
- package/dist/canvas.d.ts.map +1 -0
- package/dist/canvas.js +10 -2
- package/dist/canvas.js.map +1 -1
- package/dist/cd/layout.cjs +143 -0
- package/dist/cd/layout.d.ts +1 -0
- package/dist/cd/layout.d.ts.map +1 -0
- package/dist/cd/layout.js +141 -0
- package/dist/cd/layout.js.map +1 -0
- package/dist/cd/status.cjs +132 -0
- package/dist/cd/status.d.ts +2 -1
- package/dist/cd/status.d.ts.map +1 -0
- package/dist/cd/status.js +120 -0
- package/dist/cd/status.js.map +1 -0
- package/dist/cd/time.cjs +60 -0
- package/dist/cd/time.d.ts +1 -0
- package/dist/cd/time.d.ts.map +1 -0
- package/dist/cd/time.js +56 -0
- package/dist/cd/time.js.map +1 -0
- package/dist/cd/types.cjs +19 -0
- package/dist/cd/types.d.ts +1 -0
- package/dist/cd/types.d.ts.map +1 -0
- package/dist/cd/types.js +19 -0
- package/dist/cd/types.js.map +1 -0
- package/dist/core/cn.cjs +15 -0
- package/dist/core/cn.d.ts +3 -1
- package/dist/core/cn.d.ts.map +1 -0
- package/dist/core/cn.js +13 -0
- package/dist/core/cn.js.map +1 -0
- package/dist/core/fonts.cjs +26 -0
- package/dist/core/fonts.d.ts +1 -0
- package/dist/core/fonts.d.ts.map +1 -0
- package/dist/core/fonts.js +24 -0
- package/dist/core/fonts.js.map +1 -0
- package/dist/core/index.cjs +31 -92
- package/dist/core/index.d.ts +4 -3
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -13
- package/dist/core/index.js.map +1 -1
- package/dist/core/tokens.cjs +35 -77
- package/dist/core/tokens.d.ts +1 -0
- package/dist/core/tokens.d.ts.map +1 -0
- package/dist/core/tokens.js +15 -3
- package/dist/core/tokens.js.map +1 -1
- package/dist/dashboard.cjs +24 -15
- package/dist/dashboard.d.ts +1 -0
- package/dist/dashboard.d.ts.map +1 -0
- package/dist/dashboard.js +7 -2
- package/dist/dashboard.js.map +1 -1
- package/dist/data.cjs +28 -15
- package/dist/data.d.ts +1 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +11 -2
- package/dist/data.js.map +1 -1
- package/dist/framework/CollectionBuilder.cjs +77 -0
- package/dist/framework/CollectionBuilder.d.ts +3 -2
- package/dist/framework/CollectionBuilder.d.ts.map +1 -0
- package/dist/framework/CollectionBuilder.js +75 -0
- package/dist/framework/CollectionBuilder.js.map +1 -0
- package/dist/framework/CollectionsBrowser.cjs +107 -0
- package/dist/framework/CollectionsBrowser.d.ts +3 -2
- package/dist/framework/CollectionsBrowser.d.ts.map +1 -0
- package/dist/framework/CollectionsBrowser.js +105 -0
- package/dist/framework/CollectionsBrowser.js.map +1 -0
- package/dist/framework/DocTypeDetail.cjs +187 -0
- package/dist/framework/DocTypeDetail.d.ts +2 -1
- package/dist/framework/DocTypeDetail.d.ts.map +1 -0
- package/dist/framework/DocTypeDetail.js +185 -0
- package/dist/framework/DocTypeDetail.js.map +1 -0
- package/dist/framework/DocTypeRecords.cjs +130 -0
- package/dist/framework/DocTypeRecords.d.ts +4 -3
- package/dist/framework/DocTypeRecords.d.ts.map +1 -0
- package/dist/framework/DocTypeRecords.js +128 -0
- package/dist/framework/DocTypeRecords.js.map +1 -0
- package/dist/framework/MediaGrid.cjs +134 -0
- package/dist/framework/MediaGrid.d.ts +4 -3
- package/dist/framework/MediaGrid.d.ts.map +1 -0
- package/dist/framework/MediaGrid.js +132 -0
- package/dist/framework/MediaGrid.js.map +1 -0
- package/dist/framework/RecordCards.cjs +47 -0
- package/dist/framework/RecordCards.d.ts +1 -0
- package/dist/framework/RecordCards.d.ts.map +1 -0
- package/dist/framework/RecordCards.js +45 -0
- package/dist/framework/RecordCards.js.map +1 -0
- package/dist/framework/builder-logic.cjs +169 -0
- package/dist/framework/builder-logic.d.ts +2 -1
- package/dist/framework/builder-logic.d.ts.map +1 -0
- package/dist/framework/builder-logic.js +156 -0
- package/dist/framework/builder-logic.js.map +1 -0
- package/dist/framework/client.cjs +95 -0
- package/dist/framework/client.d.ts +2 -1
- package/dist/framework/client.d.ts.map +1 -0
- package/dist/framework/client.js +91 -0
- package/dist/framework/client.js.map +1 -0
- package/dist/framework/core.cjs +36 -213
- package/dist/framework/core.d.ts +7 -6
- package/dist/framework/core.d.ts.map +1 -0
- package/dist/framework/core.js +20 -3
- package/dist/framework/core.js.map +1 -1
- package/dist/framework/data.cjs +41 -0
- package/dist/framework/data.d.ts +3 -2
- package/dist/framework/data.d.ts.map +1 -0
- package/dist/framework/data.js +38 -0
- package/dist/framework/data.js.map +1 -0
- package/dist/framework/fields.cjs +358 -0
- package/dist/framework/fields.d.ts +2 -1
- package/dist/framework/fields.d.ts.map +1 -0
- package/dist/framework/fields.js +335 -0
- package/dist/framework/fields.js.map +1 -0
- package/dist/framework/index.cjs +58 -1341
- package/dist/framework/index.d.ts +10 -9
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +35 -1119
- package/dist/framework/index.js.map +1 -1
- package/dist/framework/media.cjs +133 -0
- package/dist/framework/media.d.ts +2 -1
- package/dist/framework/media.d.ts.map +1 -0
- package/dist/framework/media.js +124 -0
- package/dist/framework/media.js.map +1 -0
- package/dist/framework/parts.cjs +60 -0
- package/dist/framework/parts.d.ts +1 -0
- package/dist/framework/parts.d.ts.map +1 -0
- package/dist/framework/parts.js +51 -0
- package/dist/framework/parts.js.map +1 -0
- package/dist/framework/responsive.cjs +62 -0
- package/dist/framework/responsive.d.ts +1 -0
- package/dist/framework/responsive.d.ts.map +1 -0
- package/dist/framework/responsive.js +58 -0
- package/dist/framework/responsive.js.map +1 -0
- package/dist/framework/types.cjs +20 -0
- package/dist/framework/types.d.ts +1 -0
- package/dist/framework/types.d.ts.map +1 -0
- package/dist/framework/types.js +18 -0
- package/dist/framework/types.js.map +1 -0
- package/dist/gitops.cjs +21 -15
- package/dist/gitops.d.ts +1 -0
- package/dist/gitops.d.ts.map +1 -0
- package/dist/gitops.js +4 -2
- package/dist/gitops.js.map +1 -1
- package/dist/gui-config.cjs +145 -113
- package/dist/gui-config.d.ts +1 -0
- package/dist/gui-config.d.ts.map +1 -0
- package/dist/gui-config.js +140 -105
- package/dist/gui-config.js.map +1 -1
- package/dist/index.cjs +41 -375
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -5
- package/dist/index.js.map +1 -1
- package/dist/models/ModelSelector.cjs +58 -0
- package/dist/models/ModelSelector.d.ts +10 -6
- package/dist/models/ModelSelector.d.ts.map +1 -0
- package/dist/models/ModelSelector.js +56 -0
- package/dist/models/ModelSelector.js.map +1 -0
- package/dist/models/catalog.cjs +191 -0
- package/dist/models/catalog.d.ts +1 -0
- package/dist/models/catalog.d.ts.map +1 -0
- package/dist/models/catalog.js +185 -0
- package/dist/models/catalog.js.map +1 -0
- package/dist/models/index.cjs +16 -225
- package/dist/models/index.d.ts +6 -5
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +7 -217
- package/dist/models/index.js.map +1 -1
- package/dist/models/types.cjs +8 -0
- package/dist/models/types.d.ts +1 -0
- package/dist/models/types.d.ts.map +1 -0
- package/dist/models/types.js +8 -0
- package/dist/models/types.js.map +1 -0
- package/dist/oss/blueprint.cjs +96 -0
- package/dist/oss/blueprint.d.ts +1 -0
- package/dist/oss/blueprint.d.ts.map +1 -0
- package/dist/oss/blueprint.js +94 -0
- package/dist/oss/blueprint.js.map +1 -0
- package/dist/oss/catalog.cjs +174 -0
- package/dist/oss/catalog.d.ts +1 -0
- package/dist/oss/catalog.d.ts.map +1 -0
- package/dist/oss/catalog.js +165 -0
- package/dist/oss/catalog.js.map +1 -0
- package/dist/oss.cjs +27 -189
- package/dist/oss.d.ts +3 -2
- package/dist/oss.d.ts.map +1 -0
- package/dist/oss.js +12 -179
- package/dist/oss.js.map +1 -1
- package/dist/primitives/AspectRatio.cjs +8 -14
- package/dist/primitives/AspectRatio.d.ts +2 -1
- package/dist/primitives/AspectRatio.d.ts.map +1 -0
- package/dist/primitives/AspectRatio.js +4 -4
- package/dist/primitives/AspectRatio.js.map +1 -1
- package/dist/primitives/Avatar.cjs +8 -14
- package/dist/primitives/Avatar.d.ts +2 -1
- package/dist/primitives/Avatar.d.ts.map +1 -0
- package/dist/primitives/Avatar.js +4 -4
- package/dist/primitives/Avatar.js.map +1 -1
- package/dist/primitives/AvatarFallback.cjs +8 -14
- package/dist/primitives/AvatarFallback.d.ts +2 -1
- package/dist/primitives/AvatarFallback.d.ts.map +1 -0
- package/dist/primitives/AvatarFallback.js +4 -4
- package/dist/primitives/AvatarFallback.js.map +1 -1
- package/dist/primitives/AvatarImage.cjs +8 -14
- package/dist/primitives/AvatarImage.d.ts +2 -1
- package/dist/primitives/AvatarImage.d.ts.map +1 -0
- package/dist/primitives/AvatarImage.js +4 -4
- package/dist/primitives/AvatarImage.js.map +1 -1
- package/dist/primitives/Badge.cjs +8 -14
- package/dist/primitives/Badge.d.ts +2 -1
- package/dist/primitives/Badge.d.ts.map +1 -0
- package/dist/primitives/Badge.js +4 -4
- package/dist/primitives/Badge.js.map +1 -1
- package/dist/primitives/Button.cjs +8 -14
- package/dist/primitives/Button.d.ts +2 -1
- package/dist/primitives/Button.d.ts.map +1 -0
- package/dist/primitives/Button.js +4 -4
- package/dist/primitives/Button.js.map +1 -1
- package/dist/primitives/Card.cjs +8 -14
- package/dist/primitives/Card.d.ts +2 -1
- package/dist/primitives/Card.d.ts.map +1 -0
- package/dist/primitives/Card.js +4 -4
- package/dist/primitives/Card.js.map +1 -1
- package/dist/primitives/CardAction.cjs +8 -14
- package/dist/primitives/CardAction.d.ts +2 -1
- package/dist/primitives/CardAction.d.ts.map +1 -0
- package/dist/primitives/CardAction.js +4 -4
- package/dist/primitives/CardAction.js.map +1 -1
- package/dist/primitives/CardContent.cjs +8 -14
- package/dist/primitives/CardContent.d.ts +2 -1
- package/dist/primitives/CardContent.d.ts.map +1 -0
- package/dist/primitives/CardContent.js +4 -4
- package/dist/primitives/CardContent.js.map +1 -1
- package/dist/primitives/CardDescription.cjs +8 -14
- package/dist/primitives/CardDescription.d.ts +2 -1
- package/dist/primitives/CardDescription.d.ts.map +1 -0
- package/dist/primitives/CardDescription.js +4 -4
- package/dist/primitives/CardDescription.js.map +1 -1
- package/dist/primitives/CardFooter.cjs +8 -14
- package/dist/primitives/CardFooter.d.ts +2 -1
- package/dist/primitives/CardFooter.d.ts.map +1 -0
- package/dist/primitives/CardFooter.js +4 -4
- package/dist/primitives/CardFooter.js.map +1 -1
- package/dist/primitives/CardHeader.cjs +8 -14
- package/dist/primitives/CardHeader.d.ts +2 -1
- package/dist/primitives/CardHeader.d.ts.map +1 -0
- package/dist/primitives/CardHeader.js +4 -4
- package/dist/primitives/CardHeader.js.map +1 -1
- package/dist/primitives/CardTitle.cjs +8 -14
- package/dist/primitives/CardTitle.d.ts +2 -1
- package/dist/primitives/CardTitle.d.ts.map +1 -0
- package/dist/primitives/CardTitle.js +4 -4
- package/dist/primitives/CardTitle.js.map +1 -1
- package/dist/primitives/Checkbox.cjs +8 -14
- package/dist/primitives/Checkbox.d.ts +2 -1
- package/dist/primitives/Checkbox.d.ts.map +1 -0
- package/dist/primitives/Checkbox.js +4 -4
- package/dist/primitives/Checkbox.js.map +1 -1
- package/dist/primitives/Collapsible.cjs +8 -14
- package/dist/primitives/Collapsible.d.ts +2 -1
- package/dist/primitives/Collapsible.d.ts.map +1 -0
- package/dist/primitives/Collapsible.js +4 -4
- package/dist/primitives/Collapsible.js.map +1 -1
- package/dist/primitives/CollapsibleContent.cjs +8 -14
- package/dist/primitives/CollapsibleContent.d.ts +2 -1
- package/dist/primitives/CollapsibleContent.d.ts.map +1 -0
- package/dist/primitives/CollapsibleContent.js +4 -4
- package/dist/primitives/CollapsibleContent.js.map +1 -1
- package/dist/primitives/CollapsibleTrigger.cjs +8 -14
- package/dist/primitives/CollapsibleTrigger.d.ts +2 -1
- package/dist/primitives/CollapsibleTrigger.d.ts.map +1 -0
- package/dist/primitives/CollapsibleTrigger.js +4 -4
- package/dist/primitives/CollapsibleTrigger.js.map +1 -1
- package/dist/primitives/Command.cjs +8 -14
- package/dist/primitives/Command.d.ts +2 -1
- package/dist/primitives/Command.d.ts.map +1 -0
- package/dist/primitives/Command.js +4 -4
- package/dist/primitives/Command.js.map +1 -1
- package/dist/primitives/CommandDialog.cjs +8 -14
- package/dist/primitives/CommandDialog.d.ts +2 -1
- package/dist/primitives/CommandDialog.d.ts.map +1 -0
- package/dist/primitives/CommandDialog.js +4 -4
- package/dist/primitives/CommandDialog.js.map +1 -1
- package/dist/primitives/CommandEmpty.cjs +8 -14
- package/dist/primitives/CommandEmpty.d.ts +2 -1
- package/dist/primitives/CommandEmpty.d.ts.map +1 -0
- package/dist/primitives/CommandEmpty.js +4 -4
- package/dist/primitives/CommandEmpty.js.map +1 -1
- package/dist/primitives/CommandGroup.cjs +8 -14
- package/dist/primitives/CommandGroup.d.ts +2 -1
- package/dist/primitives/CommandGroup.d.ts.map +1 -0
- package/dist/primitives/CommandGroup.js +4 -4
- package/dist/primitives/CommandGroup.js.map +1 -1
- package/dist/primitives/CommandInput.cjs +8 -14
- package/dist/primitives/CommandInput.d.ts +2 -1
- package/dist/primitives/CommandInput.d.ts.map +1 -0
- package/dist/primitives/CommandInput.js +4 -4
- package/dist/primitives/CommandInput.js.map +1 -1
- package/dist/primitives/CommandItem.cjs +8 -14
- package/dist/primitives/CommandItem.d.ts +2 -1
- package/dist/primitives/CommandItem.d.ts.map +1 -0
- package/dist/primitives/CommandItem.js +4 -4
- package/dist/primitives/CommandItem.js.map +1 -1
- package/dist/primitives/CommandList.cjs +8 -14
- package/dist/primitives/CommandList.d.ts +2 -1
- package/dist/primitives/CommandList.d.ts.map +1 -0
- package/dist/primitives/CommandList.js +4 -4
- package/dist/primitives/CommandList.js.map +1 -1
- package/dist/primitives/CommandSeparator.cjs +8 -14
- package/dist/primitives/CommandSeparator.d.ts +2 -1
- package/dist/primitives/CommandSeparator.d.ts.map +1 -0
- package/dist/primitives/CommandSeparator.js +4 -4
- package/dist/primitives/CommandSeparator.js.map +1 -1
- package/dist/primitives/CommandShortcut.cjs +8 -14
- package/dist/primitives/CommandShortcut.d.ts +2 -1
- package/dist/primitives/CommandShortcut.d.ts.map +1 -0
- package/dist/primitives/CommandShortcut.js +4 -4
- package/dist/primitives/CommandShortcut.js.map +1 -1
- package/dist/primitives/Dialog.cjs +8 -14
- package/dist/primitives/Dialog.d.ts +2 -1
- package/dist/primitives/Dialog.d.ts.map +1 -0
- package/dist/primitives/Dialog.js +4 -4
- package/dist/primitives/Dialog.js.map +1 -1
- package/dist/primitives/DialogClose.cjs +8 -14
- package/dist/primitives/DialogClose.d.ts +2 -1
- package/dist/primitives/DialogClose.d.ts.map +1 -0
- package/dist/primitives/DialogClose.js +4 -4
- package/dist/primitives/DialogClose.js.map +1 -1
- package/dist/primitives/DialogContent.cjs +8 -14
- package/dist/primitives/DialogContent.d.ts +2 -1
- package/dist/primitives/DialogContent.d.ts.map +1 -0
- package/dist/primitives/DialogContent.js +4 -4
- package/dist/primitives/DialogContent.js.map +1 -1
- package/dist/primitives/DialogDescription.cjs +8 -14
- package/dist/primitives/DialogDescription.d.ts +2 -1
- package/dist/primitives/DialogDescription.d.ts.map +1 -0
- package/dist/primitives/DialogDescription.js +4 -4
- package/dist/primitives/DialogDescription.js.map +1 -1
- package/dist/primitives/DialogFooter.cjs +8 -14
- package/dist/primitives/DialogFooter.d.ts +2 -1
- package/dist/primitives/DialogFooter.d.ts.map +1 -0
- package/dist/primitives/DialogFooter.js +4 -4
- package/dist/primitives/DialogFooter.js.map +1 -1
- package/dist/primitives/DialogHeader.cjs +8 -14
- package/dist/primitives/DialogHeader.d.ts +2 -1
- package/dist/primitives/DialogHeader.d.ts.map +1 -0
- package/dist/primitives/DialogHeader.js +4 -4
- package/dist/primitives/DialogHeader.js.map +1 -1
- package/dist/primitives/DialogOverlay.cjs +8 -14
- package/dist/primitives/DialogOverlay.d.ts +2 -1
- package/dist/primitives/DialogOverlay.d.ts.map +1 -0
- package/dist/primitives/DialogOverlay.js +4 -4
- package/dist/primitives/DialogOverlay.js.map +1 -1
- package/dist/primitives/DialogPortal.cjs +8 -14
- package/dist/primitives/DialogPortal.d.ts +2 -1
- package/dist/primitives/DialogPortal.d.ts.map +1 -0
- package/dist/primitives/DialogPortal.js +4 -4
- package/dist/primitives/DialogPortal.js.map +1 -1
- package/dist/primitives/DialogTitle.cjs +8 -14
- package/dist/primitives/DialogTitle.d.ts +2 -1
- package/dist/primitives/DialogTitle.d.ts.map +1 -0
- package/dist/primitives/DialogTitle.js +4 -4
- package/dist/primitives/DialogTitle.js.map +1 -1
- package/dist/primitives/DialogTrigger.cjs +8 -14
- package/dist/primitives/DialogTrigger.d.ts +2 -1
- package/dist/primitives/DialogTrigger.d.ts.map +1 -0
- package/dist/primitives/DialogTrigger.js +4 -4
- package/dist/primitives/DialogTrigger.js.map +1 -1
- package/dist/primitives/DropdownMenu.cjs +8 -14
- package/dist/primitives/DropdownMenu.d.ts +2 -1
- package/dist/primitives/DropdownMenu.d.ts.map +1 -0
- package/dist/primitives/DropdownMenu.js +4 -4
- package/dist/primitives/DropdownMenu.js.map +1 -1
- package/dist/primitives/DropdownMenuCheckboxItem.cjs +8 -14
- package/dist/primitives/DropdownMenuCheckboxItem.d.ts +2 -1
- package/dist/primitives/DropdownMenuCheckboxItem.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuCheckboxItem.js +4 -4
- package/dist/primitives/DropdownMenuCheckboxItem.js.map +1 -1
- package/dist/primitives/DropdownMenuContent.cjs +8 -14
- package/dist/primitives/DropdownMenuContent.d.ts +2 -1
- package/dist/primitives/DropdownMenuContent.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuContent.js +4 -4
- package/dist/primitives/DropdownMenuContent.js.map +1 -1
- package/dist/primitives/DropdownMenuGroup.cjs +8 -14
- package/dist/primitives/DropdownMenuGroup.d.ts +2 -1
- package/dist/primitives/DropdownMenuGroup.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuGroup.js +4 -4
- package/dist/primitives/DropdownMenuGroup.js.map +1 -1
- package/dist/primitives/DropdownMenuItem.cjs +8 -14
- package/dist/primitives/DropdownMenuItem.d.ts +2 -1
- package/dist/primitives/DropdownMenuItem.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuItem.js +4 -4
- package/dist/primitives/DropdownMenuItem.js.map +1 -1
- package/dist/primitives/DropdownMenuLabel.cjs +8 -14
- package/dist/primitives/DropdownMenuLabel.d.ts +2 -1
- package/dist/primitives/DropdownMenuLabel.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuLabel.js +4 -4
- package/dist/primitives/DropdownMenuLabel.js.map +1 -1
- package/dist/primitives/DropdownMenuPortal.cjs +8 -14
- package/dist/primitives/DropdownMenuPortal.d.ts +2 -1
- package/dist/primitives/DropdownMenuPortal.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuPortal.js +4 -4
- package/dist/primitives/DropdownMenuPortal.js.map +1 -1
- package/dist/primitives/DropdownMenuRadioGroup.cjs +8 -14
- package/dist/primitives/DropdownMenuRadioGroup.d.ts +2 -1
- package/dist/primitives/DropdownMenuRadioGroup.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuRadioGroup.js +4 -4
- package/dist/primitives/DropdownMenuRadioGroup.js.map +1 -1
- package/dist/primitives/DropdownMenuRadioItem.cjs +8 -14
- package/dist/primitives/DropdownMenuRadioItem.d.ts +2 -1
- package/dist/primitives/DropdownMenuRadioItem.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuRadioItem.js +4 -4
- package/dist/primitives/DropdownMenuRadioItem.js.map +1 -1
- package/dist/primitives/DropdownMenuSeparator.cjs +8 -14
- package/dist/primitives/DropdownMenuSeparator.d.ts +2 -1
- package/dist/primitives/DropdownMenuSeparator.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSeparator.js +4 -4
- package/dist/primitives/DropdownMenuSeparator.js.map +1 -1
- package/dist/primitives/DropdownMenuShortcut.cjs +8 -14
- package/dist/primitives/DropdownMenuShortcut.d.ts +2 -1
- package/dist/primitives/DropdownMenuShortcut.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuShortcut.js +4 -4
- package/dist/primitives/DropdownMenuShortcut.js.map +1 -1
- package/dist/primitives/DropdownMenuSub.cjs +8 -14
- package/dist/primitives/DropdownMenuSub.d.ts +2 -1
- package/dist/primitives/DropdownMenuSub.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSub.js +4 -4
- package/dist/primitives/DropdownMenuSub.js.map +1 -1
- package/dist/primitives/DropdownMenuSubContent.cjs +8 -14
- package/dist/primitives/DropdownMenuSubContent.d.ts +2 -1
- package/dist/primitives/DropdownMenuSubContent.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSubContent.js +4 -4
- package/dist/primitives/DropdownMenuSubContent.js.map +1 -1
- package/dist/primitives/DropdownMenuSubTrigger.cjs +8 -14
- package/dist/primitives/DropdownMenuSubTrigger.d.ts +2 -1
- package/dist/primitives/DropdownMenuSubTrigger.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSubTrigger.js +4 -4
- package/dist/primitives/DropdownMenuSubTrigger.js.map +1 -1
- package/dist/primitives/DropdownMenuTrigger.cjs +8 -14
- package/dist/primitives/DropdownMenuTrigger.d.ts +2 -1
- package/dist/primitives/DropdownMenuTrigger.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuTrigger.js +4 -4
- package/dist/primitives/DropdownMenuTrigger.js.map +1 -1
- package/dist/primitives/Input.cjs +8 -14
- package/dist/primitives/Input.d.ts +2 -1
- package/dist/primitives/Input.d.ts.map +1 -0
- package/dist/primitives/Input.js +4 -4
- package/dist/primitives/Input.js.map +1 -1
- package/dist/primitives/Label.cjs +8 -14
- package/dist/primitives/Label.d.ts +2 -1
- package/dist/primitives/Label.d.ts.map +1 -0
- package/dist/primitives/Label.js +4 -4
- package/dist/primitives/Label.js.map +1 -1
- package/dist/primitives/Popover.cjs +8 -14
- package/dist/primitives/Popover.d.ts +2 -1
- package/dist/primitives/Popover.d.ts.map +1 -0
- package/dist/primitives/Popover.js +4 -4
- package/dist/primitives/Popover.js.map +1 -1
- package/dist/primitives/PopoverAnchor.cjs +8 -14
- package/dist/primitives/PopoverAnchor.d.ts +2 -1
- package/dist/primitives/PopoverAnchor.d.ts.map +1 -0
- package/dist/primitives/PopoverAnchor.js +4 -4
- package/dist/primitives/PopoverAnchor.js.map +1 -1
- package/dist/primitives/PopoverClose.cjs +8 -14
- package/dist/primitives/PopoverClose.d.ts +2 -1
- package/dist/primitives/PopoverClose.d.ts.map +1 -0
- package/dist/primitives/PopoverClose.js +4 -4
- package/dist/primitives/PopoverClose.js.map +1 -1
- package/dist/primitives/PopoverContent.cjs +8 -14
- package/dist/primitives/PopoverContent.d.ts +2 -1
- package/dist/primitives/PopoverContent.d.ts.map +1 -0
- package/dist/primitives/PopoverContent.js +4 -4
- package/dist/primitives/PopoverContent.js.map +1 -1
- package/dist/primitives/PopoverTrigger.cjs +8 -14
- package/dist/primitives/PopoverTrigger.d.ts +2 -1
- package/dist/primitives/PopoverTrigger.d.ts.map +1 -0
- package/dist/primitives/PopoverTrigger.js +4 -4
- package/dist/primitives/PopoverTrigger.js.map +1 -1
- package/dist/primitives/Progress.cjs +8 -14
- package/dist/primitives/Progress.d.ts +2 -1
- package/dist/primitives/Progress.d.ts.map +1 -0
- package/dist/primitives/Progress.js +4 -4
- package/dist/primitives/Progress.js.map +1 -1
- package/dist/primitives/ResizableHandle.cjs +8 -14
- package/dist/primitives/ResizableHandle.d.ts +2 -1
- package/dist/primitives/ResizableHandle.d.ts.map +1 -0
- package/dist/primitives/ResizableHandle.js +4 -4
- package/dist/primitives/ResizableHandle.js.map +1 -1
- package/dist/primitives/ResizablePanel.cjs +8 -14
- package/dist/primitives/ResizablePanel.d.ts +2 -1
- package/dist/primitives/ResizablePanel.d.ts.map +1 -0
- package/dist/primitives/ResizablePanel.js +4 -4
- package/dist/primitives/ResizablePanel.js.map +1 -1
- package/dist/primitives/ResizablePanelGroup.cjs +8 -14
- package/dist/primitives/ResizablePanelGroup.d.ts +2 -1
- package/dist/primitives/ResizablePanelGroup.d.ts.map +1 -0
- package/dist/primitives/ResizablePanelGroup.js +4 -4
- package/dist/primitives/ResizablePanelGroup.js.map +1 -1
- package/dist/primitives/ScrollArea.cjs +8 -14
- package/dist/primitives/ScrollArea.d.ts +2 -1
- package/dist/primitives/ScrollArea.d.ts.map +1 -0
- package/dist/primitives/ScrollArea.js +4 -4
- package/dist/primitives/ScrollArea.js.map +1 -1
- package/dist/primitives/ScrollBar.cjs +8 -14
- package/dist/primitives/ScrollBar.d.ts +2 -1
- package/dist/primitives/ScrollBar.d.ts.map +1 -0
- package/dist/primitives/ScrollBar.js +4 -4
- package/dist/primitives/ScrollBar.js.map +1 -1
- package/dist/primitives/Select.cjs +8 -14
- package/dist/primitives/Select.d.ts +2 -1
- package/dist/primitives/Select.d.ts.map +1 -0
- package/dist/primitives/Select.js +4 -4
- package/dist/primitives/Select.js.map +1 -1
- package/dist/primitives/SelectContent.cjs +8 -14
- package/dist/primitives/SelectContent.d.ts +2 -1
- package/dist/primitives/SelectContent.d.ts.map +1 -0
- package/dist/primitives/SelectContent.js +4 -4
- package/dist/primitives/SelectContent.js.map +1 -1
- package/dist/primitives/SelectGroup.cjs +8 -14
- package/dist/primitives/SelectGroup.d.ts +2 -1
- package/dist/primitives/SelectGroup.d.ts.map +1 -0
- package/dist/primitives/SelectGroup.js +4 -4
- package/dist/primitives/SelectGroup.js.map +1 -1
- package/dist/primitives/SelectItem.cjs +8 -14
- package/dist/primitives/SelectItem.d.ts +2 -1
- package/dist/primitives/SelectItem.d.ts.map +1 -0
- package/dist/primitives/SelectItem.js +4 -4
- package/dist/primitives/SelectItem.js.map +1 -1
- package/dist/primitives/SelectLabel.cjs +8 -14
- package/dist/primitives/SelectLabel.d.ts +2 -1
- package/dist/primitives/SelectLabel.d.ts.map +1 -0
- package/dist/primitives/SelectLabel.js +4 -4
- package/dist/primitives/SelectLabel.js.map +1 -1
- package/dist/primitives/SelectScrollDownButton.cjs +8 -14
- package/dist/primitives/SelectScrollDownButton.d.ts +2 -1
- package/dist/primitives/SelectScrollDownButton.d.ts.map +1 -0
- package/dist/primitives/SelectScrollDownButton.js +4 -4
- package/dist/primitives/SelectScrollDownButton.js.map +1 -1
- package/dist/primitives/SelectScrollUpButton.cjs +8 -14
- package/dist/primitives/SelectScrollUpButton.d.ts +2 -1
- package/dist/primitives/SelectScrollUpButton.d.ts.map +1 -0
- package/dist/primitives/SelectScrollUpButton.js +4 -4
- package/dist/primitives/SelectScrollUpButton.js.map +1 -1
- package/dist/primitives/SelectSeparator.cjs +8 -14
- package/dist/primitives/SelectSeparator.d.ts +2 -1
- package/dist/primitives/SelectSeparator.d.ts.map +1 -0
- package/dist/primitives/SelectSeparator.js +4 -4
- package/dist/primitives/SelectSeparator.js.map +1 -1
- package/dist/primitives/SelectTrigger.cjs +8 -14
- package/dist/primitives/SelectTrigger.d.ts +2 -1
- package/dist/primitives/SelectTrigger.d.ts.map +1 -0
- package/dist/primitives/SelectTrigger.js +4 -4
- package/dist/primitives/SelectTrigger.js.map +1 -1
- package/dist/primitives/SelectValue.cjs +8 -14
- package/dist/primitives/SelectValue.d.ts +2 -1
- package/dist/primitives/SelectValue.d.ts.map +1 -0
- package/dist/primitives/SelectValue.js +4 -4
- package/dist/primitives/SelectValue.js.map +1 -1
- package/dist/primitives/Separator.cjs +8 -14
- package/dist/primitives/Separator.d.ts +2 -1
- package/dist/primitives/Separator.d.ts.map +1 -0
- package/dist/primitives/Separator.js +4 -4
- package/dist/primitives/Separator.js.map +1 -1
- package/dist/primitives/Slider.cjs +8 -14
- package/dist/primitives/Slider.d.ts +2 -1
- package/dist/primitives/Slider.d.ts.map +1 -0
- package/dist/primitives/Slider.js +4 -4
- package/dist/primitives/Slider.js.map +1 -1
- package/dist/primitives/Switch.cjs +8 -14
- package/dist/primitives/Switch.d.ts +2 -1
- package/dist/primitives/Switch.d.ts.map +1 -0
- package/dist/primitives/Switch.js +4 -4
- package/dist/primitives/Switch.js.map +1 -1
- package/dist/primitives/Tabs.cjs +8 -14
- package/dist/primitives/Tabs.d.ts +2 -1
- package/dist/primitives/Tabs.d.ts.map +1 -0
- package/dist/primitives/Tabs.js +4 -4
- package/dist/primitives/Tabs.js.map +1 -1
- package/dist/primitives/TabsContent.cjs +8 -14
- package/dist/primitives/TabsContent.d.ts +2 -1
- package/dist/primitives/TabsContent.d.ts.map +1 -0
- package/dist/primitives/TabsContent.js +4 -4
- package/dist/primitives/TabsContent.js.map +1 -1
- package/dist/primitives/TabsList.cjs +8 -14
- package/dist/primitives/TabsList.d.ts +2 -1
- package/dist/primitives/TabsList.d.ts.map +1 -0
- package/dist/primitives/TabsList.js +4 -4
- package/dist/primitives/TabsList.js.map +1 -1
- package/dist/primitives/TabsTrigger.cjs +8 -14
- package/dist/primitives/TabsTrigger.d.ts +2 -1
- package/dist/primitives/TabsTrigger.d.ts.map +1 -0
- package/dist/primitives/TabsTrigger.js +4 -4
- package/dist/primitives/TabsTrigger.js.map +1 -1
- package/dist/primitives/Textarea.cjs +8 -14
- package/dist/primitives/Textarea.d.ts +2 -1
- package/dist/primitives/Textarea.d.ts.map +1 -0
- package/dist/primitives/Textarea.js +4 -4
- package/dist/primitives/Textarea.js.map +1 -1
- package/dist/primitives/Toaster.cjs +8 -14
- package/dist/primitives/Toaster.d.ts +2 -1
- package/dist/primitives/Toaster.d.ts.map +1 -0
- package/dist/primitives/Toaster.js +4 -4
- package/dist/primitives/Toaster.js.map +1 -1
- package/dist/primitives/Tooltip.cjs +8 -14
- package/dist/primitives/Tooltip.d.ts +2 -1
- package/dist/primitives/Tooltip.d.ts.map +1 -0
- package/dist/primitives/Tooltip.js +4 -4
- package/dist/primitives/Tooltip.js.map +1 -1
- package/dist/primitives/TooltipContent.cjs +8 -14
- package/dist/primitives/TooltipContent.d.ts +2 -1
- package/dist/primitives/TooltipContent.d.ts.map +1 -0
- package/dist/primitives/TooltipContent.js +4 -4
- package/dist/primitives/TooltipContent.js.map +1 -1
- package/dist/primitives/TooltipProvider.cjs +8 -14
- package/dist/primitives/TooltipProvider.d.ts +2 -1
- package/dist/primitives/TooltipProvider.d.ts.map +1 -0
- package/dist/primitives/TooltipProvider.js +4 -4
- package/dist/primitives/TooltipProvider.js.map +1 -1
- package/dist/primitives/TooltipTrigger.cjs +8 -14
- package/dist/primitives/TooltipTrigger.d.ts +2 -1
- package/dist/primitives/TooltipTrigger.d.ts.map +1 -0
- package/dist/primitives/TooltipTrigger.js +4 -4
- package/dist/primitives/TooltipTrigger.js.map +1 -1
- package/dist/primitives/badgeVariants.cjs +8 -14
- package/dist/primitives/badgeVariants.d.ts +2 -1
- package/dist/primitives/badgeVariants.d.ts.map +1 -0
- package/dist/primitives/badgeVariants.js +4 -4
- package/dist/primitives/badgeVariants.js.map +1 -1
- package/dist/primitives/bases/data/index.cjs +28 -15
- package/dist/primitives/bases/data/index.d.ts +1 -0
- package/dist/primitives/bases/data/index.d.ts.map +1 -0
- package/dist/primitives/bases/data/index.js +11 -2
- package/dist/primitives/bases/data/index.js.map +1 -1
- package/dist/primitives/buttonVariants.cjs +8 -14
- package/dist/primitives/buttonVariants.d.ts +2 -1
- package/dist/primitives/buttonVariants.d.ts.map +1 -0
- package/dist/primitives/buttonVariants.js +4 -4
- package/dist/primitives/buttonVariants.js.map +1 -1
- package/dist/primitives/index.cjs +20 -370
- package/dist/primitives/index.d.ts +2 -1
- package/dist/primitives/index.d.ts.map +1 -0
- package/dist/primitives/index.js +4 -4
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/toast.cjs +8 -14
- package/dist/primitives/toast.d.ts +2 -1
- package/dist/primitives/toast.d.ts.map +1 -0
- package/dist/primitives/toast.js +4 -4
- package/dist/primitives/toast.js.map +1 -1
- package/dist/product/AnimatedLogo.cjs +102 -0
- package/dist/product/AnimatedLogo.d.ts +2 -1
- package/dist/product/AnimatedLogo.d.ts.map +1 -0
- package/dist/product/AnimatedLogo.js +100 -0
- package/dist/product/AnimatedLogo.js.map +1 -0
- package/dist/product/AppHeader.cjs +55 -0
- package/dist/product/AppHeader.d.ts +2 -1
- package/dist/product/AppHeader.d.ts.map +1 -0
- package/dist/product/AppHeader.js +53 -0
- package/dist/product/AppHeader.js.map +1 -0
- package/dist/product/BackendState.cjs +80 -0
- package/dist/product/BackendState.d.ts +1 -0
- package/dist/product/BackendState.d.ts.map +1 -0
- package/dist/product/BackendState.js +76 -0
- package/dist/product/BackendState.js.map +1 -0
- package/dist/product/BrandMark.cjs +19 -0
- package/dist/product/BrandMark.d.ts +1 -0
- package/dist/product/BrandMark.d.ts.map +1 -0
- package/dist/product/BrandMark.js +17 -0
- package/dist/product/BrandMark.js.map +1 -0
- package/dist/product/Charts.cjs +243 -0
- package/dist/product/Charts.d.ts +1 -0
- package/dist/product/Charts.d.ts.map +1 -0
- package/dist/product/Charts.js +235 -0
- package/dist/product/Charts.js.map +1 -0
- package/dist/product/ComboBox.cjs +44 -0
- package/dist/product/ComboBox.d.ts +3 -2
- package/dist/product/ComboBox.d.ts.map +1 -0
- package/dist/product/ComboBox.js +42 -0
- package/dist/product/ComboBox.js.map +1 -0
- package/dist/product/CommerceResource.cjs +39 -0
- package/dist/product/CommerceResource.d.ts +2 -1
- package/dist/product/CommerceResource.d.ts.map +1 -0
- package/dist/product/CommerceResource.js +37 -0
- package/dist/product/CommerceResource.js.map +1 -0
- package/dist/product/ConfirmDelete.cjs +42 -0
- package/dist/product/ConfirmDelete.d.ts +1 -0
- package/dist/product/ConfirmDelete.d.ts.map +1 -0
- package/dist/product/ConfirmDelete.js +40 -0
- package/dist/product/ConfirmDelete.js.map +1 -0
- package/dist/product/DataTable.cjs +58 -0
- package/dist/product/DataTable.d.ts +1 -0
- package/dist/product/DataTable.d.ts.map +1 -0
- package/dist/product/DataTable.js +56 -0
- package/dist/product/DataTable.js.map +1 -0
- package/dist/product/Donut.cjs +25 -0
- package/dist/product/Donut.d.ts +1 -0
- package/dist/product/Donut.d.ts.map +1 -0
- package/dist/product/Donut.js +23 -0
- package/dist/product/Donut.js.map +1 -0
- package/dist/product/EmptyState.cjs +30 -0
- package/dist/product/EmptyState.d.ts +2 -1
- package/dist/product/EmptyState.d.ts.map +1 -0
- package/dist/product/EmptyState.js +28 -0
- package/dist/product/EmptyState.js.map +1 -0
- package/dist/product/FadeIn.cjs +9 -0
- package/dist/product/FadeIn.d.ts +1 -0
- package/dist/product/FadeIn.d.ts.map +1 -0
- package/dist/product/FadeIn.js +7 -0
- package/dist/product/FadeIn.js.map +1 -0
- package/dist/product/Field.cjs +111 -0
- package/dist/product/Field.d.ts +1 -0
- package/dist/product/Field.d.ts.map +1 -0
- package/dist/product/Field.js +104 -0
- package/dist/product/Field.js.map +1 -0
- package/dist/product/Filters.cjs +31 -0
- package/dist/product/Filters.d.ts +1 -0
- package/dist/product/Filters.d.ts.map +1 -0
- package/dist/product/Filters.js +28 -0
- package/dist/product/Filters.js.map +1 -0
- package/dist/product/HanzoMark.cjs +16 -0
- package/dist/product/HanzoMark.d.ts +1 -0
- package/dist/product/HanzoMark.d.ts.map +1 -0
- package/dist/product/HanzoMark.js +14 -0
- package/dist/product/HanzoMark.js.map +1 -0
- package/dist/product/Metric.cjs +96 -0
- package/dist/product/Metric.d.ts +1 -0
- package/dist/product/Metric.d.ts.map +1 -0
- package/dist/product/Metric.js +85 -0
- package/dist/product/Metric.js.map +1 -0
- package/dist/product/OrgMark.cjs +50 -0
- package/dist/product/OrgMark.d.ts +2 -1
- package/dist/product/OrgMark.d.ts.map +1 -0
- package/dist/product/OrgMark.js +47 -0
- package/dist/product/OrgMark.js.map +1 -0
- package/dist/product/OrgSwitcher.cjs +140 -0
- package/dist/product/OrgSwitcher.d.ts +2 -1
- package/dist/product/OrgSwitcher.d.ts.map +1 -0
- package/dist/product/OrgSwitcher.js +138 -0
- package/dist/product/OrgSwitcher.js.map +1 -0
- package/dist/product/PageHeader.cjs +15 -0
- package/dist/product/PageHeader.d.ts +1 -0
- package/dist/product/PageHeader.d.ts.map +1 -0
- package/dist/product/PageHeader.js +13 -0
- package/dist/product/PageHeader.js.map +1 -0
- package/dist/product/PrimaryButton.cjs +31 -0
- package/dist/product/PrimaryButton.d.ts +1 -0
- package/dist/product/PrimaryButton.d.ts.map +1 -0
- package/dist/product/PrimaryButton.js +29 -0
- package/dist/product/PrimaryButton.js.map +1 -0
- package/dist/product/ProductIcon.cjs +36 -0
- package/dist/product/ProductIcon.d.ts +2 -1
- package/dist/product/ProductIcon.d.ts.map +1 -0
- package/dist/product/ProductIcon.js +34 -0
- package/dist/product/ProductIcon.js.map +1 -0
- package/dist/product/ProviderLogo.cjs +84 -0
- package/dist/product/ProviderLogo.d.ts +1 -0
- package/dist/product/ProviderLogo.d.ts.map +1 -0
- package/dist/product/ProviderLogo.js +81 -0
- package/dist/product/ProviderLogo.js.map +1 -0
- package/dist/product/Reorder.cjs +82 -0
- package/dist/product/Reorder.d.ts +1 -0
- package/dist/product/Reorder.d.ts.map +1 -0
- package/dist/product/Reorder.js +78 -0
- package/dist/product/Reorder.js.map +1 -0
- package/dist/product/SelectMenu.cjs +19 -0
- package/dist/product/SelectMenu.d.ts +1 -0
- package/dist/product/SelectMenu.d.ts.map +1 -0
- package/dist/product/SelectMenu.js +17 -0
- package/dist/product/SelectMenu.js.map +1 -0
- package/dist/product/SiteFooter.cjs +17 -0
- package/dist/product/SiteFooter.d.ts +2 -1
- package/dist/product/SiteFooter.d.ts.map +1 -0
- package/dist/product/SiteFooter.js +15 -0
- package/dist/product/SiteFooter.js.map +1 -0
- package/dist/product/SiteNav.cjs +124 -0
- package/dist/product/SiteNav.d.ts +1 -0
- package/dist/product/SiteNav.d.ts.map +1 -0
- package/dist/product/SiteNav.js +122 -0
- package/dist/product/SiteNav.js.map +1 -0
- package/dist/product/SlideOver.cjs +129 -0
- package/dist/product/SlideOver.d.ts +2 -1
- package/dist/product/SlideOver.d.ts.map +1 -0
- package/dist/product/SlideOver.js +126 -0
- package/dist/product/SlideOver.js.map +1 -0
- package/dist/product/StatusTag.cjs +49 -0
- package/dist/product/StatusTag.d.ts +1 -0
- package/dist/product/StatusTag.d.ts.map +1 -0
- package/dist/product/StatusTag.js +47 -0
- package/dist/product/StatusTag.js.map +1 -0
- package/dist/product/ThemeToggle.cjs +120 -0
- package/dist/product/ThemeToggle.d.ts +1 -0
- package/dist/product/ThemeToggle.d.ts.map +1 -0
- package/dist/product/ThemeToggle.js +84 -0
- package/dist/product/ThemeToggle.js.map +1 -0
- package/dist/product/ThemeToggleNext.cjs +20 -0
- package/dist/product/ThemeToggleNext.d.ts +2 -1
- package/dist/product/ThemeToggleNext.d.ts.map +1 -0
- package/dist/product/ThemeToggleNext.js +19 -0
- package/dist/product/ThemeToggleNext.js.map +1 -0
- package/dist/product/Toast.cjs +90 -0
- package/dist/product/Toast.d.ts +1 -0
- package/dist/product/Toast.d.ts.map +1 -0
- package/dist/product/Toast.js +87 -0
- package/dist/product/Toast.js.map +1 -0
- package/dist/product/accent.cjs +97 -0
- package/dist/product/accent.d.ts +1 -0
- package/dist/product/accent.d.ts.map +1 -0
- package/dist/product/accent.js +90 -0
- package/dist/product/accent.js.map +1 -0
- package/dist/product/animatedLogo.logic.cjs +52 -0
- package/dist/product/animatedLogo.logic.d.ts +1 -0
- package/dist/product/animatedLogo.logic.d.ts.map +1 -0
- package/dist/product/animatedLogo.logic.js +47 -0
- package/dist/product/animatedLogo.logic.js.map +1 -0
- package/dist/product/brand.cjs +91 -0
- package/dist/product/brand.d.ts +1 -0
- package/dist/product/brand.d.ts.map +1 -0
- package/dist/product/brand.js +88 -0
- package/dist/product/brand.js.map +1 -0
- package/dist/product/color.cjs +6 -0
- package/dist/product/color.d.ts +1 -0
- package/dist/product/color.d.ts.map +1 -0
- package/dist/product/color.js +3 -0
- package/dist/product/color.js.map +1 -0
- package/dist/product/combobox/filter.cjs +31 -0
- package/dist/product/combobox/filter.d.ts +1 -0
- package/dist/product/combobox/filter.d.ts.map +1 -0
- package/dist/product/combobox/filter.js +28 -0
- package/dist/product/combobox/filter.js.map +1 -0
- package/dist/product/host.cjs +20 -0
- package/dist/product/host.d.ts +1 -0
- package/dist/product/host.d.ts.map +1 -0
- package/dist/product/host.js +16 -0
- package/dist/product/host.js.map +1 -0
- package/dist/product/index.cjs +120 -2490
- package/dist/product/index.d.ts +42 -41
- package/dist/product/index.d.ts.map +1 -0
- package/dist/product/index.js +88 -2168
- package/dist/product/index.js.map +1 -1
- package/dist/product/instrument.cjs +79 -0
- package/dist/product/instrument.d.ts +1 -0
- package/dist/product/instrument.d.ts.map +1 -0
- package/dist/product/instrument.js +72 -0
- package/dist/product/instrument.js.map +1 -0
- package/dist/product/menu/ContextMenu.cjs +26 -0
- package/dist/product/menu/ContextMenu.d.ts +2 -1
- package/dist/product/menu/ContextMenu.d.ts.map +1 -0
- package/dist/product/menu/ContextMenu.js +24 -0
- package/dist/product/menu/ContextMenu.js.map +1 -0
- package/dist/product/menu/FloatingMenu.cjs +87 -0
- package/dist/product/menu/FloatingMenu.d.ts +1 -0
- package/dist/product/menu/FloatingMenu.d.ts.map +1 -0
- package/dist/product/menu/FloatingMenu.js +85 -0
- package/dist/product/menu/FloatingMenu.js.map +1 -0
- package/dist/product/menu/index.cjs +30 -0
- package/dist/product/menu/index.d.ts +6 -5
- package/dist/product/menu/index.d.ts.map +1 -0
- package/dist/product/menu/index.js +19 -0
- package/dist/product/menu/index.js.map +1 -0
- package/dist/product/menu/items.cjs +92 -0
- package/dist/product/menu/items.d.ts +2 -1
- package/dist/product/menu/items.d.ts.map +1 -0
- package/dist/product/menu/items.js +85 -0
- package/dist/product/menu/items.js.map +1 -0
- package/dist/product/menu/portal-theme.cjs +13 -0
- package/dist/product/menu/portal-theme.d.ts +1 -0
- package/dist/product/menu/portal-theme.d.ts.map +1 -0
- package/dist/product/menu/portal-theme.js +12 -0
- package/dist/product/menu/portal-theme.js.map +1 -0
- package/dist/product/menu/roving.cjs +31 -0
- package/dist/product/menu/roving.d.ts +1 -0
- package/dist/product/menu/roving.d.ts.map +1 -0
- package/dist/product/menu/roving.js +29 -0
- package/dist/product/menu/roving.js.map +1 -0
- package/dist/product/scope.cjs +102 -0
- package/dist/product/scope.d.ts +1 -0
- package/dist/product/scope.d.ts.map +1 -0
- package/dist/product/scope.js +99 -0
- package/dist/product/scope.js.map +1 -0
- package/dist/product/social/CampaignCard.cjs +17 -0
- package/dist/product/social/CampaignCard.d.ts +1 -0
- package/dist/product/social/CampaignCard.d.ts.map +1 -0
- package/dist/product/social/CampaignCard.js +15 -0
- package/dist/product/social/CampaignCard.js.map +1 -0
- package/dist/product/social/ChannelBadge.cjs +24 -0
- package/dist/product/social/ChannelBadge.d.ts +2 -1
- package/dist/product/social/ChannelBadge.d.ts.map +1 -0
- package/dist/product/social/ChannelBadge.js +22 -0
- package/dist/product/social/ChannelBadge.js.map +1 -0
- package/dist/product/social/PostAgenda.cjs +40 -0
- package/dist/product/social/PostAgenda.d.ts +2 -1
- package/dist/product/social/PostAgenda.d.ts.map +1 -0
- package/dist/product/social/PostAgenda.js +38 -0
- package/dist/product/social/PostAgenda.js.map +1 -0
- package/dist/product/social/PostCard.cjs +19 -0
- package/dist/product/social/PostCard.d.ts +2 -1
- package/dist/product/social/PostCard.d.ts.map +1 -0
- package/dist/product/social/PostCard.js +17 -0
- package/dist/product/social/PostCard.js.map +1 -0
- package/dist/product/social/PostComposer.cjs +64 -0
- package/dist/product/social/PostComposer.d.ts +2 -1
- package/dist/product/social/PostComposer.d.ts.map +1 -0
- package/dist/product/social/PostComposer.js +61 -0
- package/dist/product/social/PostComposer.js.map +1 -0
- package/dist/product/social/ProviderReadinessList.cjs +16 -0
- package/dist/product/social/ProviderReadinessList.d.ts +2 -1
- package/dist/product/social/ProviderReadinessList.d.ts.map +1 -0
- package/dist/product/social/ProviderReadinessList.js +14 -0
- package/dist/product/social/ProviderReadinessList.js.map +1 -0
- package/dist/product/social/SocialResource.cjs +147 -0
- package/dist/product/social/SocialResource.d.ts +2 -1
- package/dist/product/social/SocialResource.d.ts.map +1 -0
- package/dist/product/social/SocialResource.js +145 -0
- package/dist/product/social/SocialResource.js.map +1 -0
- package/dist/product/social/SocialSummaryBar.cjs +20 -0
- package/dist/product/social/SocialSummaryBar.d.ts +2 -1
- package/dist/product/social/SocialSummaryBar.d.ts.map +1 -0
- package/dist/product/social/SocialSummaryBar.js +18 -0
- package/dist/product/social/SocialSummaryBar.js.map +1 -0
- package/dist/product/social/ViewToggle.cjs +23 -0
- package/dist/product/social/ViewToggle.d.ts +1 -0
- package/dist/product/social/ViewToggle.d.ts.map +1 -0
- package/dist/product/social/ViewToggle.js +21 -0
- package/dist/product/social/ViewToggle.js.map +1 -0
- package/dist/product/social/api.cjs +137 -53
- package/dist/product/social/api.d.ts +1 -0
- package/dist/product/social/api.d.ts.map +1 -0
- package/dist/product/social/api.js +126 -3
- package/dist/product/social/api.js.map +1 -1
- package/dist/product/social/format.cjs +39 -0
- package/dist/product/social/format.d.ts +1 -0
- package/dist/product/social/format.d.ts.map +1 -0
- package/dist/product/social/format.js +34 -0
- package/dist/product/social/format.js.map +1 -0
- package/dist/product/social/index.cjs +38 -112
- package/dist/product/social/index.d.ts +12 -11
- package/dist/product/social/index.d.ts.map +1 -0
- package/dist/product/social/index.js +22 -6
- package/dist/product/social/index.js.map +1 -1
- package/dist/product/surfaces.data.cjs +25 -0
- package/dist/product/surfaces.data.d.ts +1 -0
- package/dist/product/surfaces.data.d.ts.map +1 -0
- package/dist/product/surfaces.data.js +22 -0
- package/dist/product/surfaces.data.js.map +1 -0
- package/dist/telemetry.cjs +31 -15
- package/dist/telemetry.d.ts +1 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +14 -2
- package/dist/telemetry.js.map +1 -1
- package/dist/theme.css +70 -45
- package/dist/usage.cjs +24 -15
- package/dist/usage.d.ts +1 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +7 -2
- package/dist/usage.js.map +1 -1
- package/package.json +10 -13
- package/dist/ThemeToggleNext-AEDLHX5X.js +0 -5
- package/dist/ThemeToggleNext-AEDLHX5X.js.map +0 -1
- package/dist/ThemeToggleNext-N6ASYJ6J.cjs +0 -20
- package/dist/ThemeToggleNext-N6ASYJ6J.cjs.map +0 -1
- package/dist/canvas.cjs.map +0 -1
- package/dist/chunk-2U3MNE4I.js +0 -4
- package/dist/chunk-2U3MNE4I.js.map +0 -1
- package/dist/chunk-3NG33DV2.cjs +0 -607
- package/dist/chunk-3NG33DV2.cjs.map +0 -1
- package/dist/chunk-6DDY6XZI.js +0 -53
- package/dist/chunk-6DDY6XZI.js.map +0 -1
- package/dist/chunk-6KZWRBK2.cjs +0 -1498
- package/dist/chunk-6KZWRBK2.cjs.map +0 -1
- package/dist/chunk-77AMCLN4.js +0 -100
- package/dist/chunk-77AMCLN4.js.map +0 -1
- package/dist/chunk-7XDEUEWI.cjs +0 -44
- package/dist/chunk-7XDEUEWI.cjs.map +0 -1
- package/dist/chunk-7ZNK6JSS.js +0 -831
- package/dist/chunk-7ZNK6JSS.js.map +0 -1
- package/dist/chunk-ARV3P4CE.cjs +0 -105
- package/dist/chunk-ARV3P4CE.cjs.map +0 -1
- package/dist/chunk-DC52DQ27.cjs +0 -303
- package/dist/chunk-DC52DQ27.cjs.map +0 -1
- package/dist/chunk-FVQXROBK.js +0 -37
- package/dist/chunk-FVQXROBK.js.map +0 -1
- package/dist/chunk-GVCOAJLO.js +0 -397
- package/dist/chunk-GVCOAJLO.js.map +0 -1
- package/dist/chunk-MWBFAV3D.cjs +0 -105
- package/dist/chunk-MWBFAV3D.cjs.map +0 -1
- package/dist/chunk-NQUA5YRQ.cjs +0 -55
- package/dist/chunk-NQUA5YRQ.cjs.map +0 -1
- package/dist/chunk-ONVERVFG.cjs +0 -851
- package/dist/chunk-ONVERVFG.cjs.map +0 -1
- package/dist/chunk-P2QU5MN5.js +0 -555
- package/dist/chunk-P2QU5MN5.js.map +0 -1
- package/dist/chunk-PI3GSHLU.js +0 -263
- package/dist/chunk-PI3GSHLU.js.map +0 -1
- package/dist/chunk-QHC2ZNAF.js +0 -11
- package/dist/chunk-QHC2ZNAF.js.map +0 -1
- package/dist/chunk-QV52JQHR.cjs +0 -77
- package/dist/chunk-QV52JQHR.cjs.map +0 -1
- package/dist/chunk-RBS5AYO4.cjs +0 -13
- package/dist/chunk-RBS5AYO4.cjs.map +0 -1
- package/dist/chunk-RCMDRI6V.js +0 -1401
- package/dist/chunk-RCMDRI6V.js.map +0 -1
- package/dist/chunk-WHJR5S4L.cjs +0 -418
- package/dist/chunk-WHJR5S4L.cjs.map +0 -1
- package/dist/chunk-ZGTJCJ55.js +0 -93
- package/dist/chunk-ZGTJCJ55.js.map +0 -1
- package/dist/components.d.ts +0 -1
- package/dist/core/index.cjs.map +0 -1
- package/dist/core/tokens.cjs.map +0 -1
- package/dist/dashboard.cjs.map +0 -1
- package/dist/data.cjs.map +0 -1
- package/dist/framework/core.cjs.map +0 -1
- package/dist/framework/index.cjs.map +0 -1
- package/dist/gitops.cjs.map +0 -1
- package/dist/gui-config.cjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/models/index.cjs.map +0 -1
- package/dist/oss.cjs.map +0 -1
- package/dist/primitives/AspectRatio.cjs.map +0 -1
- package/dist/primitives/Avatar.cjs.map +0 -1
- package/dist/primitives/AvatarFallback.cjs.map +0 -1
- package/dist/primitives/AvatarImage.cjs.map +0 -1
- package/dist/primitives/Badge.cjs.map +0 -1
- package/dist/primitives/Button.cjs.map +0 -1
- package/dist/primitives/Card.cjs.map +0 -1
- package/dist/primitives/CardAction.cjs.map +0 -1
- package/dist/primitives/CardContent.cjs.map +0 -1
- package/dist/primitives/CardDescription.cjs.map +0 -1
- package/dist/primitives/CardFooter.cjs.map +0 -1
- package/dist/primitives/CardHeader.cjs.map +0 -1
- package/dist/primitives/CardTitle.cjs.map +0 -1
- package/dist/primitives/Checkbox.cjs.map +0 -1
- package/dist/primitives/Collapsible.cjs.map +0 -1
- package/dist/primitives/CollapsibleContent.cjs.map +0 -1
- package/dist/primitives/CollapsibleTrigger.cjs.map +0 -1
- package/dist/primitives/Command.cjs.map +0 -1
- package/dist/primitives/CommandDialog.cjs.map +0 -1
- package/dist/primitives/CommandEmpty.cjs.map +0 -1
- package/dist/primitives/CommandGroup.cjs.map +0 -1
- package/dist/primitives/CommandInput.cjs.map +0 -1
- package/dist/primitives/CommandItem.cjs.map +0 -1
- package/dist/primitives/CommandList.cjs.map +0 -1
- package/dist/primitives/CommandSeparator.cjs.map +0 -1
- package/dist/primitives/CommandShortcut.cjs.map +0 -1
- package/dist/primitives/Dialog.cjs.map +0 -1
- package/dist/primitives/DialogClose.cjs.map +0 -1
- package/dist/primitives/DialogContent.cjs.map +0 -1
- package/dist/primitives/DialogDescription.cjs.map +0 -1
- package/dist/primitives/DialogFooter.cjs.map +0 -1
- package/dist/primitives/DialogHeader.cjs.map +0 -1
- package/dist/primitives/DialogOverlay.cjs.map +0 -1
- package/dist/primitives/DialogPortal.cjs.map +0 -1
- package/dist/primitives/DialogTitle.cjs.map +0 -1
- package/dist/primitives/DialogTrigger.cjs.map +0 -1
- package/dist/primitives/DropdownMenu.cjs.map +0 -1
- package/dist/primitives/DropdownMenuCheckboxItem.cjs.map +0 -1
- package/dist/primitives/DropdownMenuContent.cjs.map +0 -1
- package/dist/primitives/DropdownMenuGroup.cjs.map +0 -1
- package/dist/primitives/DropdownMenuItem.cjs.map +0 -1
- package/dist/primitives/DropdownMenuLabel.cjs.map +0 -1
- package/dist/primitives/DropdownMenuPortal.cjs.map +0 -1
- package/dist/primitives/DropdownMenuRadioGroup.cjs.map +0 -1
- package/dist/primitives/DropdownMenuRadioItem.cjs.map +0 -1
- package/dist/primitives/DropdownMenuSeparator.cjs.map +0 -1
- package/dist/primitives/DropdownMenuShortcut.cjs.map +0 -1
- package/dist/primitives/DropdownMenuSub.cjs.map +0 -1
- package/dist/primitives/DropdownMenuSubContent.cjs.map +0 -1
- package/dist/primitives/DropdownMenuSubTrigger.cjs.map +0 -1
- package/dist/primitives/DropdownMenuTrigger.cjs.map +0 -1
- package/dist/primitives/Input.cjs.map +0 -1
- package/dist/primitives/Label.cjs.map +0 -1
- package/dist/primitives/Popover.cjs.map +0 -1
- package/dist/primitives/PopoverAnchor.cjs.map +0 -1
- package/dist/primitives/PopoverClose.cjs.map +0 -1
- package/dist/primitives/PopoverContent.cjs.map +0 -1
- package/dist/primitives/PopoverTrigger.cjs.map +0 -1
- package/dist/primitives/Progress.cjs.map +0 -1
- package/dist/primitives/ResizableHandle.cjs.map +0 -1
- package/dist/primitives/ResizablePanel.cjs.map +0 -1
- package/dist/primitives/ResizablePanelGroup.cjs.map +0 -1
- package/dist/primitives/ScrollArea.cjs.map +0 -1
- package/dist/primitives/ScrollBar.cjs.map +0 -1
- package/dist/primitives/Select.cjs.map +0 -1
- package/dist/primitives/SelectContent.cjs.map +0 -1
- package/dist/primitives/SelectGroup.cjs.map +0 -1
- package/dist/primitives/SelectItem.cjs.map +0 -1
- package/dist/primitives/SelectLabel.cjs.map +0 -1
- package/dist/primitives/SelectScrollDownButton.cjs.map +0 -1
- package/dist/primitives/SelectScrollUpButton.cjs.map +0 -1
- package/dist/primitives/SelectSeparator.cjs.map +0 -1
- package/dist/primitives/SelectTrigger.cjs.map +0 -1
- package/dist/primitives/SelectValue.cjs.map +0 -1
- package/dist/primitives/Separator.cjs.map +0 -1
- package/dist/primitives/Slider.cjs.map +0 -1
- package/dist/primitives/Switch.cjs.map +0 -1
- package/dist/primitives/Tabs.cjs.map +0 -1
- package/dist/primitives/TabsContent.cjs.map +0 -1
- package/dist/primitives/TabsList.cjs.map +0 -1
- package/dist/primitives/TabsTrigger.cjs.map +0 -1
- package/dist/primitives/Textarea.cjs.map +0 -1
- package/dist/primitives/Toaster.cjs.map +0 -1
- package/dist/primitives/Tooltip.cjs.map +0 -1
- package/dist/primitives/TooltipContent.cjs.map +0 -1
- package/dist/primitives/TooltipProvider.cjs.map +0 -1
- package/dist/primitives/TooltipTrigger.cjs.map +0 -1
- package/dist/primitives/badgeVariants.cjs.map +0 -1
- package/dist/primitives/bases/data/index.cjs.map +0 -1
- package/dist/primitives/buttonVariants.cjs.map +0 -1
- package/dist/primitives/index.cjs.map +0 -1
- package/dist/primitives/toast.cjs.map +0 -1
- package/dist/product/index.cjs.map +0 -1
- package/dist/product/social/api.cjs.map +0 -1
- package/dist/product/social/index.cjs.map +0 -1
- package/dist/telemetry.cjs.map +0 -1
- package/dist/usage.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/backends/gui/aspect-ratio.tsx","../src/backends/gui/avatar.tsx","../src/backends/gui/ink.tsx","../src/backends/gui/badge.tsx","../src/backends/gui/button.tsx","../src/backends/gui/slot.ts","../src/backends/gui/card.tsx","../src/backends/gui/checkbox.tsx","../src/backends/gui/collapsible.tsx","../src/backends/gui/command.logic.ts","../src/backends/gui/command.tsx","../src/backends/gui/dialog.tsx","../src/backends/gui/input.tsx","../src/backends/gui/label.tsx","../src/backends/gui/popover.tsx","../src/backends/gui/progress.tsx","../src/backends/gui/resizable.logic.ts","../src/backends/gui/resizable.tsx","../src/backends/gui/scroll-area.tsx","../src/backends/gui/select.tsx","../src/backends/gui/separator.tsx","../src/backends/gui/slider.tsx","../src/backends/gui/switch.tsx","../src/backends/gui/tabs.tsx","../src/backends/gui/textarea.tsx","../src/backends/gui/toaster.tsx","../src/backends/gui/tooltip.tsx"],"names":["jsx","YStack","GuiAvatar","SizableText","Children","createElement","createStyledContext","styled","XStack","HEIGHT","MIN_TOUCH","GuiButton","Spinner","HIT_SLOP","GuiCheckbox","Check","GuiCollapsible","isValidElement","useContext","forwardRef","Command","useRef","useReducer","useState","useCallback","useMemo","useEffect","isWeb","Dialog","DialogPortal","DialogOverlay","jsxs","DialogContent","VisuallyHidden","DialogTitle","DialogDescription","CommandInput","SearchIcon","Input","CommandList","ScrollView","CommandEmpty","CommandGroup","useId","CommandSeparator","Separator","CommandItem","ListItem","PAD","GuiDialog","useThemeName","PortalTheme","X","GuiInput","EyeOff","Eye","GuiLabel","createContext","GuiPopover","GuiProgress","GroupContext","GripVertical","TOUCH","clamp","ScrollBar","ScrollArea","GuiSelect","ChevronDown","cloneElement","ChevronUp","GuiSelectSeparator","GuiSeparator","GuiSlider","THUMB","GuiSwitch","ROW_H","GuiTabs","React","Textarea","TextArea","Toaster","GuiToaster","DEFAULT_OFFSET","GuiTooltip","TooltipGroup"],"mappings":"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","file":"chunk-6KZWRBK2.cjs","sourcesContent":["'use client'\n\n/**\n * AspectRatio — a box that holds a width-to-height ratio.\n *\n * `aspectRatio` is a first-class layout property of the gui/Yoga box model, so\n * there is nothing to compute and no padding-bottom trick: the ratio is the\n * style. That is why this is the whole component on web, native and desktop.\n */\nimport { YStack, type YStackProps } from '@hanzo/gui'\n\nexport interface AspectRatioProps extends YStackProps {\n /** Width divided by height. Square by default. */\n ratio?: number\n}\n\nconst AspectRatio = ({ ratio = 1, ...props }: AspectRatioProps) => (\n <YStack data-slot=\"aspect-ratio\" width=\"100%\" aspectRatio={ratio} {...props} />\n)\n\nexport { AspectRatio }\n","'use client'\n\n/**\n * Avatar — circular image with a text fallback.\n *\n * @hanzogui/avatar owns the load/error state machine and the fallback delay, so\n * this only names the three parts and dresses them in tokens.\n */\nimport { Avatar as GuiAvatar, SizableText } from '@hanzo/gui'\nimport type { ComponentProps } from 'react'\n\nconst SIZE = 32\n\nexport type AvatarProps = ComponentProps<typeof GuiAvatar>\nexport type AvatarImageProps = ComponentProps<typeof GuiAvatar.Image>\nexport type AvatarFallbackProps = ComponentProps<typeof GuiAvatar.Fallback>\n\nconst Avatar = (props: AvatarProps) => (\n <GuiAvatar data-slot=\"avatar\" circular size={SIZE} shrink={0} overflow=\"hidden\" {...props} />\n)\n\nconst AvatarImage = (props: AvatarImageProps) => (\n <GuiAvatar.Image data-slot=\"avatar-image\" width=\"100%\" height=\"100%\" {...props} />\n)\n\n/** Bare text needs a Text host to render on native; elements pass through. */\nconst AvatarFallback = ({ children, ...props }: AvatarFallbackProps) => (\n <GuiAvatar.Fallback\n data-slot=\"avatar-fallback\"\n bg=\"$color4\"\n items=\"center\"\n justify=\"center\"\n {...props}\n >\n {typeof children === 'string' || typeof children === 'number' ? (\n <SizableText size=\"$2\" color=\"$color11\">\n {children}\n </SizableText>\n ) : (\n children\n )}\n </GuiAvatar.Fallback>\n)\n\nexport { Avatar, AvatarImage, AvatarFallback }\n","import { SizableText } from '@hanzo/gui'\nimport { Children, createElement, type ComponentType, type ReactNode } from 'react'\n\n/**\n * Bare text needs a Text host to render on native; elements pass through.\n * Every component in this backend that accepts free-form children runs them\n * through here, so a string child behaves identically on web and native.\n */\nexport const ink = (\n children: ReactNode,\n Wrap: ComponentType<Record<string, unknown>> = SizableText as never,\n props: Record<string, unknown> = {},\n) =>\n Children.map(children, (child) =>\n typeof child === 'string' || typeof child === 'number'\n ? createElement(Wrap, props, child)\n : child,\n )\n","'use client'\n\n/**\n * Badge — the gui-backend original.\n *\n * `Badge`, `badgeVariants`, `data-slot`/`data-variant`, `asChild`. The substrate\n * is @hanzo/gui: `styled()` variants and theme tokens, so it renders on web,\n * native (expo) and Tauri.\n *\n * Surface and ink are two concerns, so they are two styled parts sharing one\n * `variant` through a styled context — the frame owns background/border, the\n * text owns color/weight/case. Nothing reads `variant` twice by hand.\n */\nimport { SizableText, XStack, createStyledContext, styled } from '@hanzo/gui'\nimport * as React from 'react'\nimport { ink } from './ink'\n\nexport type BadgeVariant =\n | 'default'\n | 'secondary'\n | 'destructive'\n | 'outline'\n | 'ghost'\n | 'link'\n | 'inputAdornment'\n | 'tags'\n\n/** A badge is a 24px pill; the slop makes its press area meet the 44px floor. */\nconst MIN_TOUCH = 44\nconst HEIGHT = 24\nconst HIT_SLOP = (MIN_TOUCH - HEIGHT) / 2\n\nconst BadgeContext = /* @__PURE__ */ createStyledContext<{ variant: BadgeVariant }>({ variant: 'default' })\n\nconst BadgeFrame = styled(XStack, {\n name: 'Badge',\n context: BadgeContext,\n self: 'flex-start',\n items: 'center',\n justify: 'center',\n shrink: 0,\n minH: HEIGHT,\n px: '$2.5',\n py: '$1',\n gap: '$1.5',\n rounded: '$2',\n borderWidth: 1,\n borderColor: 'transparent',\n overflow: 'hidden',\n\n variants: {\n variant: {\n default: { bg: '$color12' },\n secondary: { bg: '$color4' },\n destructive: { bg: '$red9' },\n outline: { bg: '$background', borderColor: '$borderColor' },\n ghost: { bg: 'transparent', hoverStyle: { bg: '$color3' } },\n link: { bg: 'transparent' },\n inputAdornment: { bg: '$color3', px: '$2' },\n tags: { bg: '$color3', borderColor: '$borderColor', rounded: '$3' },\n },\n } as const,\n\n defaultVariants: { variant: 'default' },\n})\n\nconst BadgeText = styled(SizableText, {\n name: 'BadgeText',\n context: BadgeContext,\n size: '$1',\n fontWeight: '600',\n\n variants: {\n variant: {\n default: { color: '$color1' },\n secondary: { color: '$color12' },\n destructive: { color: '$white1' },\n outline: { color: '$color12' },\n ghost: { color: '$color12' },\n link: { color: '$color12', textDecorationLine: 'underline' },\n inputAdornment: { color: '$color12', fontWeight: '500' },\n tags: { color: '$color11', fontWeight: '400', textTransform: 'capitalize' },\n },\n } as const,\n})\n\n/**\n * A stable class handle for hosts that hook badges from CSS. Styling lives in\n * the tokens; this only names the variant.\n */\nexport const badgeVariants = ({ variant }: { variant?: BadgeVariant | null } = {}) =>\n `hanzo-badge hanzo-badge--${variant ?? 'default'}`\n\n/**\n * Typed as span props because that is the contract every existing call site was\n * written against; the leftovers are handed to gui, which forwards unknown props\n * to the host element on web and drops them on native.\n */\nexport type BadgeProps = React.ComponentProps<'span'> & {\n variant?: BadgeVariant | null\n asChild?: boolean\n}\n\nexport function Badge({\n className,\n variant = 'default',\n asChild = false,\n children,\n ...props\n}: BadgeProps) {\n return (\n <BadgeFrame\n data-slot=\"badge\"\n data-variant={variant}\n variant={variant ?? 'default'}\n asChild={asChild}\n render={asChild ? undefined : 'span'}\n hitSlop={HIT_SLOP}\n className={[badgeVariants({ variant }), className].filter(Boolean).join(' ')}\n {...(props as React.ComponentProps<typeof BadgeFrame>)}\n >\n {asChild ? children : ink(children, BadgeText)}\n </BadgeFrame>\n )\n}\n","'use client'\n\n/**\n * Button — the gui-backend original.\n *\n * `variant`, `size`, `asChild`, `isLoading`, `buttonVariants`, and the\n * `data-slot`/`data-variant`/`data-size` markers. The substrate is @hanzo/gui:\n * `styled()` variants on the gui `Button` frame.\n *\n * Every size meets the 44px touch floor through `hitSlop`, never through\n * padding — the visual density stays at 36/32/40px.\n */\nimport { Button as GuiButton, Spinner, styled } from '@hanzo/gui'\nimport type { ComponentProps, ReactNode } from 'react'\n\nexport type ButtonVariant =\n | 'default'\n | 'destructive'\n | 'outline'\n | 'secondary'\n | 'ghost'\n | 'link'\n | 'primary'\n | 'linkFG'\n | 'linkMuted'\n\nexport type ButtonSize = 'default' | 'sm' | 'lg' | 'icon' | 'icon-sm' | 'icon-lg'\n\nconst HEIGHT: Record<ButtonSize, number> = {\n default: 36,\n sm: 32,\n lg: 40,\n icon: 36,\n 'icon-sm': 32,\n 'icon-lg': 40,\n}\n\nconst MIN_TOUCH = 44\nconst slop = (size: ButtonSize) => Math.max(0, (MIN_TOUCH - HEIGHT[size]) / 2)\n\nconst Frame = styled(GuiButton, {\n name: 'Button',\n items: 'center',\n justify: 'center',\n gap: '$2',\n shrink: 0,\n rounded: '$3',\n borderWidth: 1,\n borderColor: 'transparent',\n cursor: 'pointer',\n\n variants: {\n variant: {\n default: { bg: '$color12', color: '$color1', hoverStyle: { opacity: 0.9 } },\n primary: { bg: '$color12', color: '$color1', hoverStyle: { opacity: 0.9 } },\n destructive: { bg: '$red9', color: '$white1', hoverStyle: { opacity: 0.9 } },\n outline: {\n bg: '$background',\n color: '$color12',\n borderColor: '$borderColor',\n hoverStyle: { bg: '$color3' },\n },\n secondary: { bg: '$color4', color: '$color12', hoverStyle: { opacity: 0.8 } },\n ghost: { bg: 'transparent', color: '$color12', hoverStyle: { bg: '$color3' } },\n link: { bg: 'transparent', color: '$color12', hoverStyle: { textDecorationLine: 'underline' } },\n linkFG: { bg: 'transparent', color: '$color12', hoverStyle: { textDecorationLine: 'underline' } },\n linkMuted: {\n bg: 'transparent',\n color: '$color11',\n hoverStyle: { color: '$color12', textDecorationLine: 'underline' },\n },\n },\n size: {\n default: { height: HEIGHT.default, px: '$4', fontSize: '$3' },\n sm: { height: HEIGHT.sm, px: '$3', gap: '$1.5', fontSize: '$2' },\n lg: { height: HEIGHT.lg, px: '$6', fontSize: '$3' },\n icon: { height: HEIGHT.icon, width: HEIGHT.icon, px: 0 },\n 'icon-sm': { height: HEIGHT['icon-sm'], width: HEIGHT['icon-sm'], px: 0 },\n 'icon-lg': { height: HEIGHT['icon-lg'], width: HEIGHT['icon-lg'], px: 0 },\n },\n disabled: {\n true: { opacity: 0.5, pointerEvents: 'none', cursor: 'default' },\n },\n } as const,\n\n defaultVariants: { variant: 'default', size: 'default' },\n})\n\n/**\n * A stable class handle for hosts that hook buttons from CSS. Styling lives in\n * the tokens; this only names the variant and size.\n */\nexport const buttonVariants = ({\n variant,\n size,\n className,\n}: { variant?: ButtonVariant | null; size?: ButtonSize | null; className?: string } = {}) =>\n [`hanzo-button`, `hanzo-button--${variant ?? 'default'}`, `hanzo-button--${size ?? 'default'}`, className]\n .filter(Boolean)\n .join(' ')\n\nexport type ButtonProps = Omit<ComponentProps<typeof Frame>, 'variant' | 'size' | 'children'> & {\n variant?: ButtonVariant | null\n size?: ButtonSize | null\n asChild?: boolean\n isLoading?: boolean\n children?: ReactNode\n}\n\nfunction Button({\n className,\n variant = 'default',\n size = 'default',\n asChild = false,\n isLoading = false,\n disabled,\n children,\n ...props\n}: ButtonProps) {\n const resolved = size ?? 'default'\n return (\n <Frame\n data-slot=\"button\"\n data-variant={variant ?? 'default'}\n data-size={resolved}\n variant={variant ?? 'default'}\n size={resolved}\n asChild={asChild}\n disabled={disabled || isLoading}\n hitSlop={slop(resolved)}\n className={buttonVariants({ variant, size, className })}\n icon={isLoading && !asChild ? <Spinner size=\"small\" /> : undefined}\n {...props}\n >\n {children}\n </Frame>\n )\n}\n\nexport { Button }\n","/**\n * Web-only slot marker. gui forwards unrecognised props to the DOM node and\n * native drops them, so this is the cross-platform way to keep the `data-slot`\n * contract that app CSS and tests select on.\n */\nexport const slot = (name: string) => ({ 'data-slot': name }) as object\n","'use client'\n\n/**\n * Card — surface, header, title, description, action, content, footer.\n *\n * The header is a row whose action sits at its end: gui/Yoga has no CSS grid,\n * and a row is the one box model that also exists on native.\n */\nimport { SizableText, XStack, YStack, styled } from '@hanzo/gui'\nimport type { ComponentProps } from 'react'\nimport { slot } from './slot'\n\nconst PAD = 24\n\nconst CardFrame = styled(YStack, {\n name: 'Card',\n bg: '$background',\n borderWidth: 1,\n borderColor: '$borderColor',\n rounded: '$6',\n py: PAD,\n gap: PAD,\n})\n\nconst HeaderFrame = styled(XStack, {\n name: 'CardHeader',\n px: PAD,\n gap: '$2',\n items: 'flex-start',\n justify: 'space-between',\n})\n\nconst TitleFrame = styled(SizableText, { name: 'CardTitle', size: '$4', fontWeight: '600' })\nconst DescriptionFrame = styled(SizableText, { name: 'CardDescription', size: '$2', color: '$color11' })\nconst ActionFrame = styled(XStack, { name: 'CardAction', self: 'flex-start', shrink: 0 })\nconst ContentFrame = styled(YStack, { name: 'CardContent', px: PAD })\nconst FooterFrame = styled(XStack, { name: 'CardFooter', px: PAD, items: 'center' })\n\nexport type CardProps = ComponentProps<typeof CardFrame>\nexport type CardHeaderProps = ComponentProps<typeof HeaderFrame>\nexport type CardTitleProps = ComponentProps<typeof TitleFrame>\nexport type CardDescriptionProps = ComponentProps<typeof DescriptionFrame>\nexport type CardActionProps = ComponentProps<typeof ActionFrame>\nexport type CardContentProps = ComponentProps<typeof ContentFrame>\nexport type CardFooterProps = ComponentProps<typeof FooterFrame>\n\nconst Card = (p: CardProps) => <CardFrame {...slot('card')} {...p} />\nconst CardHeader = (p: CardHeaderProps) => <HeaderFrame {...slot('card-header')} {...p} />\nconst CardTitle = (p: CardTitleProps) => <TitleFrame {...slot('card-title')} {...p} />\nconst CardDescription = (p: CardDescriptionProps) => <DescriptionFrame {...slot('card-description')} {...p} />\nconst CardAction = (p: CardActionProps) => <ActionFrame {...slot('card-action')} {...p} />\nconst CardContent = (p: CardContentProps) => <ContentFrame {...slot('card-content')} {...p} />\nconst CardFooter = (p: CardFooterProps) => <FooterFrame {...slot('card-footer')} {...p} />\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent }\n","'use client'\n\n/**\n * Checkbox — 16px box, `hitSlop` to the 44px touch floor.\n * @hanzogui/checkbox owns the checked/indeterminate state and a11y.\n */\nimport { Checkbox as GuiCheckbox } from '@hanzo/gui'\nimport { Check } from '@hanzogui/lucide-icons-2'\nimport type { ComponentProps } from 'react'\nimport { slot } from './slot'\n\nconst BOX = 16\nconst HIT_SLOP = (44 - BOX) / 2\n\nexport type CheckboxProps = ComponentProps<typeof GuiCheckbox>\n\nconst Checkbox = (props: CheckboxProps) => (\n <GuiCheckbox\n {...slot('checkbox')}\n width={BOX}\n height={BOX}\n shrink={0}\n rounded=\"$2\"\n borderWidth={1}\n borderColor=\"$borderColor\"\n bg=\"transparent\"\n hitSlop={HIT_SLOP}\n {...props}\n >\n <GuiCheckbox.Indicator {...slot('checkbox-indicator')} items=\"center\" justify=\"center\">\n <Check size={BOX - 3} />\n </GuiCheckbox.Indicator>\n </GuiCheckbox>\n)\n\nexport { Checkbox }\n","'use client'\n\n/** Collapsible — @hanzogui/collapsible's three parts under the flat names. */\nimport { Collapsible as GuiCollapsible } from '@hanzo/gui'\nimport type { ComponentProps } from 'react'\nimport { slot } from './slot'\n\nexport type CollapsibleProps = ComponentProps<typeof GuiCollapsible>\nexport type CollapsibleTriggerProps = ComponentProps<typeof GuiCollapsible.Trigger>\nexport type CollapsibleContentProps = ComponentProps<typeof GuiCollapsible.Content>\n\nconst Collapsible = (p: CollapsibleProps) => <GuiCollapsible {...slot('collapsible')} {...p} />\nconst CollapsibleTrigger = (p: CollapsibleTriggerProps) => (\n <GuiCollapsible.Trigger {...slot('collapsible-trigger')} unstyled hitSlop={8} {...p} />\n)\nconst CollapsibleContent = (p: CollapsibleContentProps) => (\n <GuiCollapsible.Content {...slot('collapsible-content')} {...p} />\n)\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","/**\n * The Command palette's decisions, as pure functions over plain values.\n *\n * cmdk shipped its matcher and its cursor welded to a DOM store. They are neither\n * DOM nor React: `score` answers \"does this item survive the search\", `step`\n * answers \"where does the cursor land\". Keeping them here means they are testable\n * in the node env (this module imports no @hanzo/gui runtime), and `command.tsx`\n * is left holding only the view.\n */\n\n/** `0` hides the item; anything higher keeps it and ranks it. */\nexport type CommandFilter = (value: string, search: string, keywords?: string[]) => number\n\n/** Exact › prefix › substring (earlier wins) › subsequence › no match. */\nexport const score: CommandFilter = (value, search, keywords) => {\n const needle = search.trim().toLowerCase()\n if (!needle) return 1\n const hay = (keywords?.length ? `${value} ${keywords.join(' ')}` : value).toLowerCase()\n if (hay === needle) return 1\n if (hay.startsWith(needle)) return 0.9\n const at = hay.indexOf(needle)\n if (at > -1) return 0.8 - at / (hay.length * 100)\n let i = 0\n for (let j = 0; j < hay.length && i < needle.length; j++) if (hay[j] === needle[i]) i++\n return i === needle.length ? 0.4 : 0\n}\n\n/**\n * Where the cursor goes. `from` is -1 when nothing is selected yet; `count` is\n * the number of REACHABLE (visible, enabled) items, so skipping disabled rows is\n * the caller's filter rather than a second concept in here. Returns -1 for an\n * empty list.\n */\nexport const step = (count: number, from: number, delta: number, loop = false): number => {\n if (count <= 0) return -1\n const next = from + delta\n if (next < 0) return loop ? count - 1 : 0\n if (next >= count) return loop ? 0 : count - 1\n return next\n}\n","'use client'\n\n/**\n * Command — the filterable command palette, native to gui.\n *\n * cmdk is gone. What it gave us was one thing: a list whose items each know\n * whether they match the current search, plus a cursor that walks the ones that\n * do. That is a small state machine over VALUES (a search string, a registry of\n * item values, a selected value) — it does not need a DOM, so it works the same\n * on web, native and desktop.\n *\n * Two decisions carry the whole file:\n *\n * • Filtered-out items are HIDDEN (`display=\"none\"`), never unmounted. `display`\n * is a real Yoga property, so this is one behaviour on both platforms — and\n * because items stay mounted, registration order is fixed at first mount and\n * stays true to source order. Arrow-key traversal therefore needs no DOM query.\n * • An item registers a mutable REF of itself, not a snapshot. Inline props\n * (`keywords={['a']}`, `onSelect={() => …}`) change identity every render;\n * registering the ref means the registry is always fresh without an effect\n * that re-fires forever.\n *\n * Keyboard navigation is web-only by construction (`isWeb` guards `onKeyDown`);\n * on touch the list is driven by press, which is the native idiom anyway.\n */\nimport {\n createContext,\n forwardRef,\n isValidElement,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useReducer,\n useRef,\n useState,\n type ComponentProps,\n type ComponentRef,\n type FC,\n type ReactNode,\n type RefAttributes,\n} from 'react'\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n Input,\n ListItem,\n ScrollView,\n Separator,\n SizableText,\n VisuallyHidden,\n XStack,\n YStack,\n isWeb,\n type GuiElement,\n} from '@hanzo/gui'\nimport { Search as SearchIcon } from '@hanzogui/lucide-icons-2'\n\nimport { score, step, type CommandFilter } from './command.logic'\n\nexport type { CommandFilter }\n\n/** The one touch-target floor. A palette row IS the target, so it is its height. */\nconst TOUCH = 44\n\n/** Falls back to the item's rendered text when no explicit `value` is given. */\nconst textOf = (node: ReactNode): string =>\n typeof node === 'string' || typeof node === 'number'\n ? String(node)\n : Array.isArray(node)\n ? node.map(textOf).filter(Boolean).join(' ')\n : isValidElement<{ children?: ReactNode }>(node)\n ? textOf(node.props.children)\n : ''\n\ntype Entry = {\n value: string\n keywords?: string[]\n disabled?: boolean\n group?: string\n onSelect?: (value: string) => void\n}\n\ntype KeyLike = {\n key: string\n ctrlKey?: boolean\n metaKey?: boolean\n preventDefault: () => void\n}\n\ntype CommandContextValue = {\n search: string\n setSearch: (search: string) => void\n selected: string\n select: (value: string) => void\n register: (id: string, entry: { current: Entry }) => () => void\n touch: () => void\n run: (id: string) => void\n onKey: (e: KeyLike) => void\n shows: (id: string) => boolean\n showsGroup: (group: string) => boolean\n empty: boolean\n disablePointerSelection: boolean\n}\n\nconst CommandContext = /* @__PURE__ */ createContext<CommandContextValue | null>(null)\nconst GroupContext = /* @__PURE__ */ createContext<string | undefined>(undefined)\n\nconst useCommand = () => {\n const ctx = useContext(CommandContext)\n if (!ctx) throw new Error('Command parts must be rendered inside <Command>')\n return ctx\n}\n\nexport type CommandProps = Omit<ComponentProps<typeof YStack>, 'onSelect'> & {\n /** Selected item value (controlled). */\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n filter?: CommandFilter\n shouldFilter?: boolean\n /** Arrow keys wrap around at the ends. */\n loop?: boolean\n label?: string\n /** ctrl/cmd + n/p/j/k also move the cursor. */\n vimBindings?: boolean\n /** Hovering an item no longer selects it. */\n disablePointerSelection?: boolean\n}\n\nconst Command = /* @__PURE__ */ forwardRef<GuiElement, CommandProps>(function Command(\n {\n value,\n defaultValue,\n onValueChange,\n filter = score,\n shouldFilter = true,\n loop = false,\n label,\n vimBindings = true,\n disablePointerSelection = false,\n children,\n ...rest\n },\n ref,\n) {\n const entries = useRef(new Map<string, { current: Entry }>()).current\n const order = useRef<string[]>([]).current\n const [version, touch] = useReducer((n: number) => n + 1, 0)\n const [search, setSearch] = useState('')\n const [uncontrolled, setUncontrolled] = useState(defaultValue ?? '')\n const selected = value ?? uncontrolled\n\n const register = useCallback(\n (id: string, entry: { current: Entry }) => {\n entries.set(id, entry)\n if (!order.includes(id)) order.push(id)\n touch()\n return () => {\n entries.delete(id)\n const at = order.indexOf(id)\n if (at > -1) order.splice(at, 1)\n touch()\n }\n },\n [entries, order],\n )\n\n // The visible slice, in source order — the single derived value every part reads.\n const visible = useMemo(\n () =>\n order.filter((id) => {\n const entry = entries.get(id)?.current\n return !!entry && (!shouldFilter || filter(entry.value, search, entry.keywords) > 0)\n }),\n // `version` is the registry's revision — the registry itself is a mutable ref.\n [version, order, entries, shouldFilter, filter, search],\n )\n\n const shown = useMemo(() => new Set(visible), [visible])\n const shownGroups = useMemo(\n () => new Set(visible.map((id) => entries.get(id)?.current.group).filter(Boolean)),\n [visible, entries],\n )\n\n const select = useCallback(\n (next: string) => {\n if (value === undefined) setUncontrolled(next)\n onValueChange?.(next)\n },\n [value, onValueChange],\n )\n\n // Keep the cursor on something real: when the selection filters out, take the first hit.\n useEffect(() => {\n if (!visible.length) return\n if (selected && visible.some((id) => entries.get(id)?.current.value === selected)) return\n const first = entries.get(visible[0])?.current.value\n if (first) select(first)\n }, [visible, selected, entries, select])\n\n const move = useCallback(\n (delta: number) => {\n const reachable = visible.filter((id) => !entries.get(id)?.current.disabled)\n const at = reachable.findIndex((id) => entries.get(id)?.current.value === selected)\n const next = step(reachable.length, at, delta, loop)\n const target = next < 0 ? undefined : entries.get(reachable[next])?.current.value\n if (target) select(target)\n },\n [visible, entries, selected, loop, select],\n )\n\n const run = useCallback(\n (id: string) => {\n const entry = entries.get(id)?.current\n if (!entry || entry.disabled) return\n select(entry.value)\n entry.onSelect?.(entry.value)\n },\n [entries, select],\n )\n\n const onKey = useCallback(\n (e: KeyLike) => {\n const mod = vimBindings && (e.ctrlKey || e.metaKey)\n const down = e.key === 'ArrowDown' || (mod && (e.key === 'n' || e.key === 'j'))\n const up = e.key === 'ArrowUp' || (mod && (e.key === 'p' || e.key === 'k'))\n if (down || up) {\n e.preventDefault()\n move(down ? 1 : -1)\n } else if (e.key === 'Enter') {\n e.preventDefault()\n const id = visible.find((it) => entries.get(it)?.current.value === selected)\n if (id) run(id)\n }\n },\n [vimBindings, move, visible, entries, selected, run],\n )\n\n const ctx = useMemo<CommandContextValue>(\n () => ({\n search,\n setSearch,\n selected,\n select,\n register,\n touch,\n run,\n onKey,\n shows: (id) => shown.has(id),\n showsGroup: (group) => shownGroups.has(group),\n empty: visible.length === 0,\n disablePointerSelection,\n }),\n [search, selected, select, register, run, onKey, shown, shownGroups, visible.length, disablePointerSelection],\n )\n\n return (\n <CommandContext.Provider value={ctx}>\n <YStack\n ref={ref}\n data-slot=\"command\"\n aria-label={label}\n width=\"100%\"\n overflow=\"hidden\"\n rounded=\"$4\"\n bg=\"$background\"\n {...(isWeb ? { onKeyDown: onKey } : null)}\n {...rest}\n >\n {children}\n </YStack>\n </CommandContext.Provider>\n )\n})\n\nexport type CommandDialogProps = ComponentProps<typeof Dialog> & {\n title?: string\n description?: string\n}\n\nconst CommandDialog = ({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n ...props\n}: CommandDialogProps) => (\n <Dialog modal {...props}>\n <DialogPortal>\n <DialogOverlay key=\"overlay\" bg=\"rgba(0,0,0,0.5)\" />\n <DialogContent key=\"content\" p={0} width=\"100%\" maxW={640} overflow=\"hidden\">\n {/* The accessible name/description live INSIDE the dialog, hidden but read. */}\n <VisuallyHidden>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </VisuallyHidden>\n <Command>{children}</Command>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n)\n\nexport type CommandInputProps = Omit<ComponentProps<typeof Input>, 'value' | 'onChangeText'> & {\n value?: string\n onValueChange?: (search: string) => void\n}\n\nconst CommandInput = /* @__PURE__ */ forwardRef<GuiElement, CommandInputProps>(\n function CommandInput({ value, onValueChange, placeholder, ...rest }, ref) {\n const { search, setSearch, onKey } = useCommand()\n\n useEffect(() => {\n if (value !== undefined && value !== search) setSearch(value)\n }, [value, search, setSearch])\n\n return (\n <XStack\n data-slot=\"command-input-wrapper\"\n items=\"center\"\n gap=\"$2\"\n px=\"$3\"\n minH={TOUCH}\n borderBottomWidth={1}\n borderColor=\"$borderColor\"\n >\n <SearchIcon size={16} opacity={0.5} />\n <Input\n ref={ref}\n data-slot=\"command-input\"\n unstyled\n flex={1}\n height={TOUCH}\n borderWidth={0}\n bg=\"transparent\"\n color=\"$color\"\n placeholder={placeholder}\n value={value ?? search}\n onChangeText={(next: string) => {\n setSearch(next)\n onValueChange?.(next)\n }}\n {...(isWeb ? { onKeyDown: onKey } : null)}\n {...rest}\n />\n </XStack>\n )\n },\n)\n\nexport type CommandListProps = ComponentProps<typeof ScrollView>\n\nconst CommandList: FC<CommandListProps & RefAttributes<GuiElement>> = /* @__PURE__ */ forwardRef<GuiElement, CommandListProps>(\n function CommandList(props, ref) {\n return <ScrollView ref={ref as never} data-slot=\"command-list\" maxH={300} {...props} />\n },\n)\n\nexport type CommandEmptyProps = ComponentProps<typeof YStack>\n\nconst CommandEmpty = /* @__PURE__ */ forwardRef<GuiElement, CommandEmptyProps>(\n function CommandEmpty({ children, ...rest }, ref) {\n const { empty } = useCommand()\n if (!empty) return null\n return (\n <YStack ref={ref} data-slot=\"command-empty\" py=\"$4\" items=\"center\" {...rest}>\n {typeof children === 'string' ? (\n <SizableText size=\"$3\" color=\"$color11\">\n {children}\n </SizableText>\n ) : (\n children\n )}\n </YStack>\n )\n },\n)\n\nexport type CommandGroupProps = ComponentProps<typeof YStack> & { heading?: ReactNode }\n\nconst CommandGroup = /* @__PURE__ */ forwardRef<GuiElement, CommandGroupProps>(\n function CommandGroup({ heading, children, ...rest }, ref) {\n const id = useId()\n const { showsGroup } = useCommand()\n return (\n <GroupContext.Provider value={id}>\n <YStack\n ref={ref}\n data-slot=\"command-group\"\n // Never unmounted: the children must stay registered to stay ordered.\n display={showsGroup(id) ? 'flex' : 'none'}\n p=\"$1\"\n {...rest}\n >\n {heading != null ? (\n <SizableText\n size=\"$1\"\n color=\"$color11\"\n fontWeight=\"500\"\n px=\"$2\"\n py=\"$1.5\"\n >\n {heading}\n </SizableText>\n ) : null}\n {children}\n </YStack>\n </GroupContext.Provider>\n )\n },\n)\n\nexport type CommandSeparatorProps = ComponentProps<typeof Separator> & {\n /** Keep the rule while a search is active. */\n alwaysRender?: boolean\n}\n\nconst CommandSeparator: FC<CommandSeparatorProps & RefAttributes<GuiElement>> = /* @__PURE__ */ forwardRef<GuiElement, CommandSeparatorProps>(\n function CommandSeparator({ alwaysRender, ...rest }, ref) {\n const { search } = useCommand()\n if (!alwaysRender && search) return null\n return <Separator ref={ref} data-slot=\"command-separator\" {...rest} />\n },\n)\n\nexport type CommandItemProps = Omit<ComponentProps<typeof ListItem>, 'onSelect' | 'value'> & {\n value?: string\n keywords?: string[]\n disabled?: boolean\n onSelect?: (value: string) => void\n}\n\nconst CommandItem: FC<CommandItemProps & RefAttributes<GuiElement>> = /* @__PURE__ */ forwardRef<GuiElement, CommandItemProps>(\n function CommandItem({ value, keywords, disabled, onSelect, children, ...rest }, ref) {\n const id = useId()\n const { register, touch, run, select, selected, shows, disablePointerSelection } = useCommand()\n const group = useContext(GroupContext)\n const self = value ?? textOf(children)\n\n // A ref, not a snapshot — inline `keywords`/`onSelect` change identity every render.\n const entry = useRef<Entry>({ value: self, keywords, disabled, group, onSelect })\n entry.current = { value: self, keywords, disabled, group, onSelect }\n\n useEffect(() => register(id, entry), [id, register])\n // Only what the filter reads needs to re-derive the visible slice.\n useEffect(touch, [touch, self, disabled, keywords?.join('\u0000')])\n\n const isSelected = !!self && selected === self\n\n return (\n <ListItem\n ref={ref}\n data-slot=\"command-item\"\n data-selected={isSelected}\n data-disabled={!!disabled}\n display={shows(id) ? 'flex' : 'none'}\n disabled={disabled}\n minH={TOUCH}\n gap=\"$2\"\n rounded=\"$2\"\n bg={isSelected ? '$backgroundFocus' : 'transparent'}\n opacity={disabled ? 0.5 : 1}\n onPress={() => run(id)}\n onPointerEnter={disabled || disablePointerSelection ? undefined : () => select(self)}\n {...rest}\n >\n {children}\n </ListItem>\n )\n },\n)\n\n/** The trailing key hint. `SizableText` renders a span on web, Text on native. */\nexport type CommandShortcutProps = ComponentProps<typeof SizableText>\n\nconst CommandShortcut = (props: CommandShortcutProps) => (\n <SizableText\n data-slot=\"command-shortcut\"\n ml=\"auto\"\n size=\"$1\"\n color=\"$color11\"\n letterSpacing={1.5}\n {...props}\n />\n)\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n","'use client'\n\n/**\n * Dialog — modal surface, flattened from @hanzogui/dialog's compound parts.\n *\n * `DialogContent` mounts its OWN portal + overlay (so callers never wrap it) and\n * re-applies the trigger's resolved theme inside the portal via `PortalTheme` —\n * gui portals re-root the subtree, so React theme context does not flow.\n */\nimport { Dialog as GuiDialog, XStack, YStack } from '@hanzo/gui'\nimport { X } from '@hanzogui/lucide-icons-2'\nimport type { ComponentProps, ReactNode } from 'react'\nimport { PortalTheme, useThemeName } from '../../product/menu/portal-theme'\nimport { slot } from './slot'\n\nconst PAD = 24\n\nconst Dialog = (p: ComponentProps<typeof GuiDialog>) => <GuiDialog modal {...p} />\nconst DialogTrigger: typeof GuiDialog.Trigger = GuiDialog.Trigger\nconst DialogPortal: typeof GuiDialog.Portal = GuiDialog.Portal\nconst DialogClose: typeof GuiDialog.Close = GuiDialog.Close\n\nexport type DialogOverlayProps = ComponentProps<typeof GuiDialog.Overlay>\n\nconst DialogOverlay = (props: DialogOverlayProps) => (\n <GuiDialog.Overlay\n {...slot('dialog-overlay')}\n bg=\"rgba(0,0,0,0.5)\"\n opacity={0.5}\n {...props}\n />\n)\n\nexport type DialogContentProps = ComponentProps<typeof GuiDialog.Content> & {\n showCloseButton?: boolean\n}\n\nconst DialogContent = ({ showCloseButton = true, children, ...props }: DialogContentProps) => {\n const themeName = useThemeName()\n return (\n <GuiDialog.Portal>\n <PortalTheme name={themeName}>\n <DialogOverlay />\n <GuiDialog.Content\n {...slot('dialog-content')}\n bg=\"$background\"\n borderWidth={1}\n borderColor=\"$borderColor\"\n rounded=\"$5\"\n p={PAD}\n gap=\"$4\"\n width=\"100%\"\n maxW={512}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <GuiDialog.Close asChild>\n <XStack\n {...slot('dialog-close')}\n position=\"absolute\"\n t={16}\n r={16}\n cursor=\"pointer\"\n opacity={0.7}\n hoverStyle={{ opacity: 1 }}\n hitSlop={14}\n aria-label=\"Close\"\n >\n <X size={16} />\n </XStack>\n </GuiDialog.Close>\n ) : null}\n </GuiDialog.Content>\n </PortalTheme>\n </GuiDialog.Portal>\n )\n}\n\nexport type DialogSectionProps = ComponentProps<typeof YStack> & { children?: ReactNode }\n\nconst DialogHeader = (props: DialogSectionProps) => (\n <YStack {...slot('dialog-header')} gap=\"$2\" {...props} />\n)\n\nconst DialogFooter = (props: ComponentProps<typeof XStack>) => (\n <XStack {...slot('dialog-footer')} gap=\"$2\" justify=\"flex-end\" items=\"center\" {...props} />\n)\n\nconst DialogTitle = (props: ComponentProps<typeof GuiDialog.Title>) => (\n <GuiDialog.Title {...slot('dialog-title')} size=\"$5\" fontWeight=\"600\" {...props} />\n)\n\nconst DialogDescription = (props: ComponentProps<typeof GuiDialog.Description>) => (\n <GuiDialog.Description {...slot('dialog-description')} size=\"$2\" color=\"$color11\" {...props} />\n)\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n","'use client'\n\n/**\n * Input — single-line field with optional adornments and a password reveal.\n *\n * @hanzogui/input owns the field; the adornment wrapper only appears when an\n * adornment (or the password toggle) is actually asked for, so the common path\n * stays one element.\n */\nimport { Input as GuiInput, XStack } from '@hanzo/gui'\nimport { Eye, EyeOff } from '@hanzogui/lucide-icons-2'\nimport { forwardRef, useState, type ComponentProps, type ReactNode } from 'react'\nimport { slot } from './slot'\n\nconst HEIGHT = 36\nconst GUTTER = 12\n/** Width reserved for an adornment inside the field. */\nconst WELL = 36\n\nexport type InputProps = Omit<ComponentProps<typeof GuiInput>, 'children'> & {\n /** Optional leading affordance (icon/text) rendered inside the field. */\n startAdornment?: ReactNode\n /** Optional trailing affordance rendered inside the field. */\n endAdornment?: ReactNode\n /** Suppress the built-in show/hide control for `secureTextEntry`/`type=\"password\"`. */\n hidePasswordToggle?: boolean\n}\n\nconst well = (side: 'l' | 'r') =>\n ({\n position: 'absolute' as const,\n [side]: GUTTER,\n t: 0,\n b: 0,\n items: 'center' as const,\n justify: 'center' as const,\n })\n\nconst Input = /* @__PURE__ */ forwardRef<HTMLInputElement, InputProps>(function Input(\n { startAdornment, endAdornment, hidePasswordToggle, type, secureTextEntry, ...props },\n ref,\n) {\n const [revealed, setRevealed] = useState(false)\n const isPassword = type === 'password' || secureTextEntry === true\n const toggle = isPassword && !hidePasswordToggle\n\n const field = (\n <GuiInput\n ref={ref as never}\n {...slot('input')}\n secureTextEntry={isPassword && !revealed}\n height={HEIGHT}\n width=\"100%\"\n minW={0}\n rounded=\"$3\"\n bg=\"transparent\"\n borderWidth={1}\n borderColor=\"$borderColor\"\n placeholderTextColor=\"$color10\"\n fontSize=\"$3\"\n pl={startAdornment ? WELL : GUTTER}\n pr={endAdornment || toggle ? WELL : GUTTER}\n {...props}\n />\n )\n\n if (!startAdornment && !endAdornment && !toggle) return field\n\n return (\n <XStack position=\"relative\" width=\"100%\" items=\"center\">\n {startAdornment ? (\n <XStack {...well('l')} pointerEvents=\"none\" opacity={0.6}>\n {startAdornment}\n </XStack>\n ) : null}\n {field}\n {toggle ? (\n <XStack\n {...well('r')}\n cursor=\"pointer\"\n hitSlop={8}\n onPress={() => setRevealed((v) => !v)}\n aria-label={revealed ? 'Hide password' : 'Show password'}\n >\n {revealed ? <EyeOff size={16} /> : <Eye size={16} />}\n </XStack>\n ) : endAdornment ? (\n <XStack {...well('r')} opacity={0.6}>\n {endAdornment}\n </XStack>\n ) : null}\n </XStack>\n )\n})\n\nexport { Input }\n","'use client'\n\n/** Label — form-control caption bound to its field by @hanzogui/label. */\nimport { Label as GuiLabel } from '@hanzo/gui'\nimport type { ComponentProps } from 'react'\nimport { slot } from './slot'\n\nexport type LabelProps = ComponentProps<typeof GuiLabel>\n\nconst Label = (props: LabelProps) => (\n <GuiLabel\n {...slot('label')}\n fontSize=\"$2\"\n fontWeight=\"500\"\n color=\"$color12\"\n select=\"none\"\n cursor=\"pointer\"\n {...props}\n />\n)\n\nexport { Label }\n","'use client'\n\n/**\n * Popover — floating panel anchored to a trigger.\n *\n * `PopoverContent` mounts its own portal and re-applies the trigger's resolved\n * theme inside it (gui portals re-root the subtree, so theme context does not\n * flow). `sideOffset` lands on the popper root, which is where gui keeps it.\n */\nimport { Popover as GuiPopover } from '@hanzo/gui'\nimport { createContext, useContext, useEffect, useState, type ComponentProps } from 'react'\nimport { PortalTheme, useThemeName } from '../../product/menu/portal-theme'\nimport { slot } from './slot'\n\nconst DEFAULT_OFFSET = 4\n\n/** gui puts `offset` on the popper ROOT; the compound API puts `sideOffset` on\n * Content. One value, one owner: the root holds it, Content publishes into it. */\nconst OffsetContext = /* @__PURE__ */ createContext<((n: number) => void) | null>(null)\n\nexport type PopoverProps = Omit<ComponentProps<typeof GuiPopover>, 'offset'> & { offset?: number }\n\nfunction Popover({ offset = DEFAULT_OFFSET, ...props }: PopoverProps) {\n const [current, setOffset] = useState(offset)\n useEffect(() => setOffset(offset), [offset])\n return (\n <OffsetContext.Provider value={setOffset}>\n <GuiPopover offset={current} {...props} />\n </OffsetContext.Provider>\n )\n}\n\nconst PopoverTrigger: typeof GuiPopover.Trigger = GuiPopover.Trigger\nconst PopoverAnchor: typeof GuiPopover.Anchor = GuiPopover.Anchor\nconst PopoverClose: typeof GuiPopover.Close = GuiPopover.Close\n\nexport type PopoverContentProps = ComponentProps<typeof GuiPopover.Content> & {\n sideOffset?: number\n align?: 'start' | 'center' | 'end'\n}\n\nconst PopoverContent = ({ sideOffset = DEFAULT_OFFSET, align: _align, ...props }: PopoverContentProps) => {\n const themeName = useThemeName()\n const setOffset = useContext(OffsetContext)\n useEffect(() => setOffset?.(sideOffset), [setOffset, sideOffset])\n return (\n <PortalTheme name={themeName}>\n <GuiPopover.Content\n {...slot('popover-content')}\n bg=\"$color2\"\n borderWidth={1}\n borderColor=\"$borderColor\"\n rounded=\"$4\"\n p=\"$4\"\n width={288}\n {...props}\n />\n </PortalTheme>\n )\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverClose }\n","'use client'\n\n/** Progress — determinate bar; `value` is 0–100. */\nimport { Progress as GuiProgress } from '@hanzo/gui'\nimport type { ComponentProps } from 'react'\nimport { slot } from './slot'\n\nexport type ProgressProps = ComponentProps<typeof GuiProgress>\n\nconst Progress = ({ value, ...props }: ProgressProps) => (\n <GuiProgress\n {...slot('progress')}\n value={value ?? 0}\n height={8}\n width=\"100%\"\n bg=\"$color4\"\n rounded=\"$10\"\n overflow=\"hidden\"\n {...props}\n >\n <GuiProgress.Indicator {...slot('progress-indicator')} bg=\"$color12\" />\n </GuiProgress>\n)\n\nexport { Progress }\n","/**\n * The panel-sizing math — pure values, no React and no @hanzo/gui, so the\n * boundary rules can be reasoned about and tested on their own.\n */\nexport type ResizeDirection = \"horizontal\" | \"vertical\"\n\n/** Everything the boundary math needs to know about a panel. */\nexport type PanelSpec = {\n id: string\n defaultSize?: number\n minSize?: number\n maxSize?: number\n collapsible?: boolean\n collapsedSize?: number\n onResize?: (size: number) => void\n}\n\nconst clamp = (n: number, lo: number, hi: number) =>\n Math.max(lo, Math.min(n, hi))\n\n/** Smallest percentage a panel may take — collapsible panels may go to `collapsedSize`. */\nconst floorOf = (s: PanelSpec) =>\n s.collapsible ? (s.collapsedSize ?? 0) : (s.minSize ?? 0)\nconst ceilOf = (s: PanelSpec) => s.maxSize ?? 100\n\n/** Starting percentages: honour every `defaultSize`, split the remainder evenly, normalise to 100. PURE. */\nexport function defaultLayout(specs: PanelSpec[]): number[] {\n if (specs.length === 0) return []\n const claimed = specs.reduce((n, s) => n + (s.defaultSize ?? 0), 0)\n const free = specs.filter((s) => s.defaultSize == null).length\n const each = free > 0 ? Math.max(0, 100 - claimed) / free : 0\n const raw = specs.map((s) => s.defaultSize ?? each)\n const sum = raw.reduce((a, b) => a + b, 0)\n return sum > 0\n ? raw.map((v) => (v / sum) * 100)\n : specs.map(() => 100 / specs.length)\n}\n\n/**\n * Move the boundary AFTER panel `i` by `delta` percent. Only the two adjacent\n * panels change, so their sum is invariant and the layout always totals 100.\n * Returns the original array when the move is fully clamped. PURE.\n */\nexport function resizeAt(\n sizes: number[],\n specs: PanelSpec[],\n i: number,\n delta: number\n): number[] {\n const a = sizes[i]\n const b = sizes[i + 1]\n const sa = specs[i]\n const sb = specs[i + 1]\n if (a == null || b == null || !sa || !sb) return sizes\n const pair = a + b\n const lo = Math.max(floorOf(sa), pair - ceilOf(sb))\n const hi = Math.min(ceilOf(sa), pair - floorOf(sb))\n if (lo > hi) return sizes\n const next = clamp(a + delta, lo, hi)\n if (next === a) return sizes\n const out = sizes.slice()\n out[i] = next\n out[i + 1] = pair - next\n return out\n}\n","\"use client\"\n\n/**\n * Resizable panel group — native to @hanzo/gui, no `react-resizable-panels`.\n *\n * The upstream package dropped `PanelGroup`/`PanelResizeHandle` in v4 (it now\n * exports `Group`/`Panel`/`Separator` and renamed `direction` → `orientation`),\n * so every consumer pinned to the old shape is unbuildable. Rather than pin a\n * dead version we own the primitive: it is ~200 lines of percentage arithmetic\n * over a flexbox, which is cheaper to keep than a dependency that renames its\n * public surface.\n *\n * Layout is PERCENTAGES, never pixels: a panel's share becomes its `flexGrow`\n * over a zero `flexBasis`, so the browser/RN layout engine handles container\n * resize for free (and rounding can never leave a gap). The only thing this\n * module owns is \"where is the boundary\" — pure functions (`defaultLayout`,\n * `resizeAt`) with the min/max/collapse clamping in ONE place.\n *\n * Cross-platform by construction: the group measures itself with `onLayout`\n * (gui implements it on web too), and the handle drives web with Pointer Events\n * + pointer capture and native with the responder system. Both prop sets are\n * typed on gui's stacks, and pointer capture is feature-detected, so nothing\n * here reaches for the DOM on expo. Keyboard resize is arrow keys (Shift for a\n * fine step). Touch target is the 4px handle plus a 20px hitSlop = 44px.\n */\nimport {\n Children,\n createContext,\n isValidElement,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ReactElement,\n type ReactNode,\n} from \"react\"\nimport { isWeb, Separator, XStack, type XStackProps } from \"@hanzo/gui\"\nimport { GripVertical } from \"@hanzogui/lucide-icons-2\"\n\nimport {\n defaultLayout,\n resizeAt,\n type PanelSpec,\n type ResizeDirection,\n} from \"./resizable.logic\"\n\nexport type { ResizeDirection, PanelSpec } from \"./resizable.logic\"\n\nexport { defaultLayout, resizeAt }\n\n// ── Persisted layouts (autoSaveId) ────────────────────────────────────────────\n// One blob per autoSaveId, keyed inside by the set of visible panels, so toggling\n// a panel off and back on restores what that arrangement had. Read in an effect,\n// never during render, so SSR markup matches the first client paint.\n\ntype Store = Record<string, number[]>\n\nconst webStorage = () =>\n (\n globalThis as {\n localStorage?: {\n getItem(k: string): string | null\n setItem(k: string, v: string): void\n }\n }\n ).localStorage\n\nconst storeKey = (id: string) => `hanzo.panels.${id}`\n\nfunction loadStore(id?: string): Store {\n if (!id) return {}\n try {\n return JSON.parse(webStorage()?.getItem(storeKey(id)) ?? \"{}\") as Store\n } catch {\n return {}\n }\n}\n\nfunction saveStore(id: string | undefined, store: Store) {\n if (!id) return\n try {\n webStorage()?.setItem(storeKey(id), JSON.stringify(store))\n } catch {\n // No storage (native, private mode, quota) — layout is simply not persisted.\n }\n}\n\n// ── Context ───────────────────────────────────────────────────────────────────\n\ntype GroupValue = {\n direction: ResizeDirection\n specs: PanelSpec[]\n sizes: number[]\n extent: { current: number }\n setLayout: (next: number[]) => void\n}\n\nconst GroupContext = /* @__PURE__ */ createContext<GroupValue | null>(null)\n/** A panel's index, or for a handle the index of the panel it follows. */\nconst SlotContext = /* @__PURE__ */ createContext(-1)\n\n// ── Group ─────────────────────────────────────────────────────────────────────\n\nexport type ResizablePanelGroupProps = Omit<\n XStackProps,\n \"onLayout\" | \"direction\"\n> & {\n direction: ResizeDirection\n autoSaveId?: string\n onLayout?: (sizes: number[]) => void\n children?: ReactNode\n}\n\nexport function ResizablePanelGroup({\n direction,\n autoSaveId,\n onLayout,\n children,\n ...rest\n}: ResizablePanelGroupProps) {\n const axis = direction === \"horizontal\"\n const extent = useRef(0)\n const [store, setStore] = useState<Store>({})\n\n const slots = useMemo(\n () =>\n Children.toArray(children).filter(isValidElement) as ReactElement<\n Record<string, unknown>\n >[],\n [children]\n )\n\n const specs = useMemo<PanelSpec[]>(\n () =>\n slots\n .filter((el) => el.type === ResizablePanel)\n .map((el, i) => {\n const p = el.props as ResizablePanelProps\n return {\n id: p.id ?? String(p.order ?? i),\n defaultSize: p.defaultSize,\n minSize: p.minSize,\n maxSize: p.maxSize,\n collapsible: p.collapsible,\n collapsedSize: p.collapsedSize,\n onResize: p.onResize,\n }\n }),\n [slots]\n )\n\n const key = specs.map((s) => s.id).join(\",\")\n const sizes = store[key] ?? defaultLayout(specs)\n\n useEffect(() => {\n setStore(loadStore(autoSaveId))\n }, [autoSaveId])\n\n const setLayout = useCallback(\n (next: number[]) => {\n const merged = { ...store, [key]: next }\n setStore(merged)\n saveStore(autoSaveId, merged)\n onLayout?.(next)\n },\n [autoSaveId, key, onLayout, store]\n )\n\n const prev = useRef<number[]>([])\n useEffect(() => {\n specs.forEach((s, i) => {\n if (sizes[i] != null && sizes[i] !== prev.current[i])\n s.onResize?.(sizes[i])\n })\n prev.current = sizes\n }, [specs, sizes])\n\n const value = useMemo<GroupValue>(\n () => ({ direction, specs, sizes, extent, setLayout }),\n [direction, specs, sizes, setLayout]\n )\n\n let panel = -1\n return (\n <GroupContext.Provider value={value}>\n <XStack\n width=\"100%\"\n height=\"100%\"\n flexDirection={axis ? \"row\" : \"column\"}\n overflow=\"hidden\"\n data-panel-group-direction={direction}\n onLayout={(e) => {\n extent.current = axis\n ? e.nativeEvent.layout.width\n : e.nativeEvent.layout.height\n }}\n {...rest}\n >\n {slots.map((el, i) => {\n if (el.type === ResizablePanel) panel++\n return (\n <SlotContext.Provider key={el.key ?? i} value={panel}>\n {el}\n </SlotContext.Provider>\n )\n })}\n </XStack>\n </GroupContext.Provider>\n )\n}\n\n// ── Panel ─────────────────────────────────────────────────────────────────────\n\nexport type ResizablePanelProps = Omit<XStackProps, \"id\" | \"onLayout\"> & {\n id?: string\n order?: number\n defaultSize?: number\n minSize?: number\n maxSize?: number\n collapsible?: boolean\n collapsedSize?: number\n onResize?: (size: number) => void\n children?: ReactNode\n}\n\nexport function ResizablePanel({\n id,\n order,\n defaultSize,\n minSize,\n maxSize,\n collapsible,\n collapsedSize,\n onResize,\n children,\n ...rest\n}: ResizablePanelProps) {\n const group = useContext(GroupContext)\n const index = useContext(SlotContext)\n const size = group?.sizes[index]\n\n return (\n <XStack\n flexDirection=\"column\"\n overflow=\"hidden\"\n flexBasis={0}\n grow={size ?? 1}\n shrink={1}\n {...rest}\n >\n {children}\n </XStack>\n )\n}\n\n// ── Handle ────────────────────────────────────────────────────────────────────\n\nconst THICKNESS = 4\n/** 4px + 20px each side = a 44px target without inflating the visual divider. */\nconst HIT_SLOP = 20\nconst KEY_STEP = 5\nconst KEY_STEP_FINE = 1\n\n/** Structural shape shared by a React pointer event and an RN responder event. */\ntype DragEvent = {\n clientX?: number\n clientY?: number\n pointerId?: number\n currentTarget?: unknown\n nativeEvent?: { pageX?: number; pageY?: number }\n}\n\nexport type ResizableHandleProps = Omit<\n XStackProps,\n \"disabled\" | \"onLayout\"\n> & {\n withHandle?: boolean\n disabled?: boolean\n}\n\nexport function ResizableHandle({\n withHandle,\n disabled,\n ...rest\n}: ResizableHandleProps) {\n const group = useContext(GroupContext)\n const boundary = useContext(SlotContext)\n const [state, setState] = useState<\"idle\" | \"hover\" | \"drag\">(\"idle\")\n const start = useRef<{ pos: number; sizes: number[] } | null>(null)\n\n const axis = group?.direction !== \"vertical\"\n const off =\n disabled || !group || boundary < 0 || boundary + 1 >= group.sizes.length\n\n const posOf = useCallback(\n (e: DragEvent) =>\n (axis\n ? (e.clientX ?? e.nativeEvent?.pageX)\n : (e.clientY ?? e.nativeEvent?.pageY)) ?? 0,\n [axis]\n )\n\n const begin = useCallback(\n (e: DragEvent) => {\n if (off || !group) return\n start.current = { pos: posOf(e), sizes: group.sizes }\n setState(\"drag\")\n // Keeps the drag alive once the pointer leaves the 4px handle, without a\n // window listener. Absent on native, where the responder system owns it.\n const target = e.currentTarget as\n | { setPointerCapture?: (id: number) => void }\n | undefined\n if (target?.setPointerCapture && e.pointerId != null)\n target.setPointerCapture(e.pointerId)\n },\n [group, off, posOf]\n )\n\n const move = useCallback(\n (e: DragEvent) => {\n const from = start.current\n if (!from || !group) return\n const px = group.extent.current\n if (px <= 0) return\n group.setLayout(\n resizeAt(\n from.sizes,\n group.specs,\n boundary,\n ((posOf(e) - from.pos) / px) * 100\n )\n )\n },\n [boundary, group, posOf]\n )\n\n const end = useCallback(() => {\n start.current = null\n setState(\"idle\")\n }, [])\n\n const nudge = useCallback(\n (e: { key: string; shiftKey?: boolean; preventDefault: () => void }) => {\n if (off || !group) return\n const dir = axis\n ? e.key === \"ArrowLeft\"\n ? -1\n : e.key === \"ArrowRight\"\n ? 1\n : 0\n : e.key === \"ArrowUp\"\n ? -1\n : e.key === \"ArrowDown\"\n ? 1\n : 0\n if (dir === 0) return\n e.preventDefault()\n group.setLayout(\n resizeAt(\n group.sizes,\n group.specs,\n boundary,\n dir * (e.shiftKey ? KEY_STEP_FINE : KEY_STEP)\n )\n )\n },\n [axis, boundary, group, off]\n )\n\n const hover = useCallback(\n (on: boolean) =>\n setState((s) => (s === \"drag\" ? s : on ? \"hover\" : \"idle\")),\n []\n )\n\n const gesture = isWeb\n ? {\n onPointerDown: begin,\n onPointerMove: move,\n onPointerUp: end,\n onPointerCancel: end,\n onKeyDown: nudge,\n onMouseEnter: () => hover(true),\n onMouseLeave: () => hover(false),\n }\n : {\n onStartShouldSetResponder: () => !off,\n onMoveShouldSetResponder: () => !off,\n onResponderTerminationRequest: () => false,\n onResponderGrant: begin,\n onResponderMove: move,\n onResponderRelease: end,\n onResponderTerminate: end,\n }\n\n return (\n <XStack\n position=\"relative\"\n flexDirection={axis ? \"column\" : \"row\"}\n items=\"center\"\n justify=\"center\"\n shrink={0}\n width={axis ? THICKNESS : \"100%\"}\n height={axis ? \"100%\" : THICKNESS}\n hitSlop={HIT_SLOP}\n cursor={off ? \"default\" : axis ? \"col-resize\" : \"row-resize\"}\n tabIndex={off ? -1 : 0}\n role=\"separator\"\n aria-orientation={axis ? \"vertical\" : \"horizontal\"}\n data-panel-group-direction={group?.direction}\n data-resize-handle-state={state}\n {...gesture}\n {...rest}\n >\n <Separator\n vertical={axis}\n borderColor={state === \"idle\" ? \"$borderColor\" : \"$color8\"}\n />\n {withHandle && (\n <XStack\n position=\"absolute\"\n items=\"center\"\n justify=\"center\"\n width={12}\n height={20}\n rounded=\"$2\"\n bg=\"$color5\"\n borderWidth={1}\n borderColor=\"$borderColor\"\n rotate={axis ? \"0deg\" : \"90deg\"}\n >\n <GripVertical size={10} />\n </XStack>\n )}\n </XStack>\n )\n}\n","\"use client\"\n\n/**\n * ScrollArea — the cross-platform (web + native + desktop) scroll surface.\n *\n * Scrolling itself is the platform's: @hanzogui/scroll-view's `ScrollView` (a\n * styled react-native `ScrollView`), so momentum, keyboard, wheel, and\n * accessibility come from the host and are never reimplemented. What this adds is\n * the ONE custom scrollbar — the platform indicator is suppressed and `ScrollBar`\n * draws it from the scroll metrics the viewport reports, so a thumb looks and\n * drags identically on Chrome, iOS, and Tauri.\n *\n * One area scrolls one axis (`horizontal` picks it), so there is exactly one bar\n * and never a dead one: `ScrollArea` renders `<ScrollBar orientation={axis} />`\n * and a bar for the other axis has nothing to scroll and renders nothing.\n */\nimport {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n type ReactNode,\n} from \"react\"\nimport {\n ScrollView,\n XStack,\n YStack,\n type GetRef,\n type GuiElement,\n type YStackProps,\n} from \"@hanzo/gui\"\n\nimport { slot } from \"./slot\"\n\n/** Bar thickness, and the thumb's minimum length — both in px. */\nconst BAR = 10\n/** Minimum touch target. The thumb is `BAR` thin, so hitSlop makes up the rest. */\nconst TOUCH = 44\nconst SLOP = (TOUCH - BAR) / 2\n\nexport type ScrollAreaType = \"auto\" | \"always\" | \"scroll\" | \"hover\"\ntype Axis = \"vertical\" | \"horizontal\"\n\n/** What the viewport reports about one axis, in px. */\ntype Track = { offset: number; viewport: number; content: number }\nconst ZERO: Track = { offset: 0, viewport: 0, content: 0 }\n\ntype ScrollAreaCtx = {\n axis: Axis\n track: Track\n type: ScrollAreaType\n /** Scrolling or hovered — what `scroll` and `hover` reveal on. */\n active: boolean\n rtl: boolean\n scrollBy: (delta: number) => void\n}\n\nconst Ctx = /* @__PURE__ */ createContext<ScrollAreaCtx | null>(null)\n\nconst clamp = (n: number, max: number) => (n < 0 ? 0 : n > max ? max : n)\n\nexport type ScrollBarProps = Omit<YStackProps, \"children\"> & {\n orientation?: Axis\n}\n\nconst ScrollBar = /* @__PURE__ */ forwardRef<GuiElement, ScrollBarProps>(\n function ScrollBar({ orientation = \"vertical\", ...props }, ref) {\n const ctx = useContext(Ctx)\n const [len, setLen] = useState(0)\n const from = useRef<number | null>(null)\n\n if (!ctx || ctx.axis !== orientation) return null\n\n const vertical = orientation === \"vertical\"\n const { content, viewport, offset } = ctx.track\n const scrollable = content - viewport\n const overflow = scrollable > 1\n const shown =\n ctx.type === \"always\"\n ? true\n : !overflow\n ? false\n : ctx.type === \"auto\"\n ? true\n : ctx.active\n\n const thumb = Math.max(TOUCH, len * (viewport / Math.max(content, 1)))\n const range = Math.max(len - thumb, 0)\n const at = overflow ? range * clamp(offset / scrollable, 1) : 0\n const coord = (e: { nativeEvent: { pageX: number; pageY: number } }) =>\n vertical ? e.nativeEvent.pageY : e.nativeEvent.pageX\n\n return (\n <XStack\n ref={ref}\n {...slot(\"scroll-area-scrollbar\")}\n position=\"absolute\"\n {...(vertical\n ? {\n t: 0,\n b: 0,\n ...(ctx.rtl ? { l: 0 } : { r: 0 }),\n width: BAR,\n flexDirection: \"column\" as const,\n }\n : { l: 0, r: 0, b: 0, height: BAR, flexDirection: \"row\" as const })}\n p={1}\n opacity={shown ? 1 : 0}\n pointerEvents={shown ? \"auto\" : \"none\"}\n onLayout={(e) =>\n setLen(\n vertical ? e.nativeEvent.layout.height : e.nativeEvent.layout.width\n )\n }\n {...props}\n >\n <YStack\n {...slot(\"scroll-area-thumb\")}\n bg=\"$borderColor\"\n rounded={BAR}\n hitSlop={\n vertical ? { left: SLOP, right: SLOP } : { top: SLOP, bottom: SLOP }\n }\n {...(vertical\n ? { width: \"100%\" as const, height: thumb, y: at }\n : { height: \"100%\" as const, width: thumb, x: at })}\n onStartShouldSetResponder={() => true}\n onMoveShouldSetResponder={() => true}\n onResponderGrant={(e) => {\n from.current = coord(e)\n }}\n onResponderMove={(e) => {\n const start = from.current\n if (start === null || range === 0) return\n const now = coord(e)\n from.current = now\n ctx.scrollBy(((now - start) * scrollable) / range)\n }}\n onResponderRelease={() => {\n from.current = null\n }}\n onResponderTerminate={() => {\n from.current = null\n }}\n />\n </XStack>\n )\n }\n)\n\nexport type ScrollAreaProps = Omit<YStackProps, \"children\"> & {\n /** When the bar shows: on overflow, always, while scrolling, or on hover. */\n type?: ScrollAreaType\n /** ms the bar lingers after scrolling/hover stops (`scroll` and `hover`). */\n scrollHideDelay?: number\n dir?: \"ltr\" | \"rtl\"\n /** Scroll the x axis instead of the y axis (react-native ScrollView semantics). */\n horizontal?: boolean\n children?: ReactNode\n}\n\nconst ScrollArea = /* @__PURE__ */ forwardRef<GuiElement, ScrollAreaProps>(\n function ScrollArea(\n {\n type = \"hover\",\n scrollHideDelay = 600,\n dir,\n horizontal = false,\n children,\n ...props\n },\n ref\n ) {\n const viewport = useRef<GetRef<typeof ScrollView>>(null)\n const live = useRef<Track>(ZERO)\n const [track, setTrack] = useState<Track>(ZERO)\n const [active, setActive] = useState(false)\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const axis: Axis = horizontal ? \"horizontal\" : \"vertical\"\n\n const put = useCallback((patch: Partial<Track>) => {\n const next = { ...live.current, ...patch }\n live.current = next\n setTrack(next)\n }, [])\n\n const clear = () => {\n if (timer.current) clearTimeout(timer.current)\n timer.current = null\n }\n\n const hold = () => {\n clear()\n setActive(true)\n }\n\n /** Show now, then fade after the delay — the shared reveal for scroll + hover. */\n const wake = useCallback(() => {\n setActive(true)\n clear()\n timer.current = setTimeout(() => setActive(false), scrollHideDelay)\n }, [scrollHideDelay])\n\n useEffect(() => clear, [])\n\n const scrollBy = useCallback(\n (delta: number) => {\n const t = live.current\n const next = clamp(\n t.offset + delta,\n Math.max(t.content - t.viewport, 0)\n )\n put({ offset: next })\n viewport.current?.scrollTo(\n horizontal\n ? { x: next, y: 0, animated: false }\n : { x: 0, y: next, animated: false }\n )\n },\n [horizontal, put]\n )\n\n return (\n <YStack\n ref={ref}\n {...slot(\"scroll-area\")}\n position=\"relative\"\n overflow=\"hidden\"\n onMouseEnter={type === \"hover\" ? hold : undefined}\n onMouseLeave={type === \"hover\" ? wake : undefined}\n {...props}\n >\n <ScrollView\n ref={viewport}\n {...slot(\"scroll-area-viewport\")}\n flex={1}\n width=\"100%\"\n height=\"100%\"\n horizontal={horizontal}\n showsVerticalScrollIndicator={false}\n showsHorizontalScrollIndicator={false}\n scrollEventThrottle={16}\n onLayout={(e) =>\n put({\n viewport: horizontal\n ? e.nativeEvent.layout.width\n : e.nativeEvent.layout.height,\n })\n }\n onContentSizeChange={(w, h) => put({ content: horizontal ? w : h })}\n onScroll={(e) => {\n const { contentOffset } = e.nativeEvent\n put({ offset: horizontal ? contentOffset.x : contentOffset.y })\n wake()\n }}\n >\n {children}\n </ScrollView>\n <Ctx.Provider\n value={{ axis, track, type, active, rtl: dir === \"rtl\", scrollBy }}\n >\n <ScrollBar orientation={axis} />\n </Ctx.Provider>\n </YStack>\n )\n }\n)\n\nexport { ScrollArea, ScrollBar }\n","'use client'\n\n/**\n * Select — the compound picker on @hanzogui/select.\n *\n * gui's `Select.Item` needs a positional `index`. Call sites should not have to\n * count, so `SelectContent` walks its subtree once per render and stamps\n * sequential indices on every `SelectItem` it finds — including items nested in a\n * `SelectGroup`. An item is written `<SelectItem value=\"x\">Label</SelectItem>`\n * and the numbering always matches render order.\n */\nimport { Select as GuiSelect, SelectSeparator as GuiSelectSeparator, XStack } from '@hanzo/gui'\nimport { Check, ChevronDown, ChevronUp } from '@hanzogui/lucide-icons-2'\nimport {\n Children,\n cloneElement,\n isValidElement,\n type ComponentProps,\n type ReactNode,\n} from 'react'\nimport { ink } from './ink'\nimport { slot } from './slot'\n\nconst ROW_H = 32\nconst HIT_SLOP = (44 - ROW_H) / 2\n\nconst Select: typeof GuiSelect = GuiSelect\nconst SelectGroup: typeof GuiSelect.Group = GuiSelect.Group\nconst SelectValue: typeof GuiSelect.Value = GuiSelect.Value\n\nexport type SelectTriggerProps = ComponentProps<typeof GuiSelect.Trigger>\nexport type SelectContentProps = ComponentProps<typeof GuiSelect.Content>\nexport type SelectItemProps = Omit<ComponentProps<typeof GuiSelect.Item>, 'index'> & {\n index?: number\n}\nexport type SelectLabelProps = ComponentProps<typeof GuiSelect.Label>\nexport type SelectSeparatorProps = ComponentProps<typeof GuiSelectSeparator>\nexport type SelectScrollButtonProps = ComponentProps<typeof GuiSelect.ScrollUpButton>\n\nconst SelectTrigger = ({ children, ...props }: SelectTriggerProps) => (\n <GuiSelect.Trigger\n {...slot('select-trigger')}\n unstyled\n items=\"center\"\n justify=\"space-between\"\n gap=\"$2\"\n height={36}\n px=\"$3\"\n rounded=\"$3\"\n borderWidth={1}\n borderColor=\"$borderColor\"\n bg=\"transparent\"\n cursor=\"pointer\"\n hitSlop={4}\n {...props}\n >\n {ink(children, undefined, { size: '$2' })}\n <GuiSelect.Icon>\n <ChevronDown size={16} opacity={0.5} />\n </GuiSelect.Icon>\n </GuiSelect.Trigger>\n)\n\nconst SelectItem = ({ children, ...props }: SelectItemProps) => (\n <GuiSelect.Item\n {...slot('select-item')}\n unstyled\n index={props.index ?? 0}\n items=\"center\"\n gap=\"$2\"\n minH={ROW_H}\n pl=\"$2\"\n pr=\"$7\"\n rounded=\"$2\"\n cursor=\"pointer\"\n hitSlop={HIT_SLOP}\n hoverStyle={{ bg: '$color5' }}\n focusStyle={{ bg: '$color5' }}\n {...props}\n >\n <GuiSelect.ItemText>{children}</GuiSelect.ItemText>\n <XStack position=\"absolute\" r=\"$2\" items=\"center\" justify=\"center\" pointerEvents=\"none\">\n <GuiSelect.ItemIndicator>\n <Check size={16} />\n </GuiSelect.ItemIndicator>\n </XStack>\n </GuiSelect.Item>\n)\n\n/** Depth-first stamp of `index` onto every `SelectItem` in render order. */\nconst stampIndices = (children: ReactNode, next: () => number): ReactNode =>\n Children.map(children, (child) => {\n if (!isValidElement(child)) return child\n if (child.type === SelectItem) return cloneElement(child, { index: next() } as never)\n const kids = (child.props as { children?: ReactNode }).children\n return kids === undefined ? child : cloneElement(child, undefined, stampIndices(kids, next))\n })\n\nconst SelectScrollUpButton = (props: SelectScrollButtonProps) => (\n <GuiSelect.ScrollUpButton {...slot('select-scroll-up-button')} items=\"center\" justify=\"center\" py=\"$1\" {...props}>\n <ChevronUp size={16} />\n </GuiSelect.ScrollUpButton>\n)\n\nconst SelectScrollDownButton = (props: SelectScrollButtonProps) => (\n <GuiSelect.ScrollDownButton {...slot('select-scroll-down-button')} items=\"center\" justify=\"center\" py=\"$1\" {...props}>\n <ChevronDown size={16} />\n </GuiSelect.ScrollDownButton>\n)\n\nconst SelectContent = ({ children, ...props }: SelectContentProps) => {\n let n = 0\n return (\n <GuiSelect.Content {...slot('select-content')} {...props}>\n <SelectScrollUpButton />\n <GuiSelect.Viewport\n minW={128}\n p=\"$1\"\n bg=\"$color2\"\n borderWidth={1}\n borderColor=\"$borderColor\"\n rounded=\"$4\"\n >\n {stampIndices(children, () => n++)}\n </GuiSelect.Viewport>\n <SelectScrollDownButton />\n </GuiSelect.Content>\n )\n}\n\nconst SelectLabel = (props: SelectLabelProps) => (\n <GuiSelect.Label {...slot('select-label')} px=\"$2\" py=\"$1.5\" fontSize=\"$1\" color=\"$color11\" {...props} />\n)\n\nconst SelectSeparator = (props: SelectSeparatorProps) => (\n <GuiSelectSeparator {...slot('select-separator')} my=\"$1\" borderColor=\"$borderColor\" {...props} />\n)\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n","'use client'\n\n/** Separator — a 1px rule on either axis. */\nimport { Separator as GuiSeparator } from '@hanzo/gui'\nimport type { ComponentProps } from 'react'\nimport { slot } from './slot'\n\nexport type SeparatorProps = Omit<ComponentProps<typeof GuiSeparator>, 'vertical'> & {\n orientation?: 'horizontal' | 'vertical'\n /** Radix parity — gui separators are always presentational. */\n decorative?: boolean\n}\n\nconst Separator = ({ orientation = 'horizontal', decorative: _decorative, ...props }: SeparatorProps) => (\n <GuiSeparator\n {...slot('separator')}\n data-orientation={orientation}\n vertical={orientation === 'vertical'}\n borderColor=\"$borderColor\"\n {...props}\n />\n)\n\nexport { Separator }\n","'use client'\n\n/** Slider — 6px track, 16px thumb, `hitSlop` to the 44px touch floor. */\nimport { Slider as GuiSlider } from '@hanzo/gui'\nimport type { ComponentProps } from 'react'\nimport { slot } from './slot'\n\nconst TRACK = 6\nconst THUMB = 16\nconst HIT_SLOP = (44 - THUMB) / 2\n\nexport type SliderProps = ComponentProps<typeof GuiSlider>\n\nconst Slider = (props: SliderProps) => (\n <GuiSlider {...slot('slider')} width=\"100%\" {...props}>\n <GuiSlider.Track {...slot('slider-track')} height={TRACK} bg=\"$color4\" rounded=\"$10\">\n <GuiSlider.TrackActive {...slot('slider-range')} bg=\"$color12\" />\n </GuiSlider.Track>\n <GuiSlider.Thumb\n {...slot('slider-thumb')}\n index={0}\n circular\n size={THUMB}\n bg=\"$background\"\n borderWidth={1}\n borderColor=\"$color12\"\n hitSlop={HIT_SLOP}\n />\n </GuiSlider>\n)\n\nexport { Slider }\n","'use client'\n\n/** Switch — 36×20 track, 16px thumb, `hitSlop` to the 44px touch floor. */\nimport { Switch as GuiSwitch } from '@hanzo/gui'\nimport type { ComponentProps } from 'react'\nimport { slot } from './slot'\n\nconst TRACK_H = 20\nconst THUMB = 16\nconst HIT_SLOP = (44 - TRACK_H) / 2\n\nexport type SwitchProps = ComponentProps<typeof GuiSwitch>\n\nconst Switch = (props: SwitchProps) => (\n <GuiSwitch\n {...slot('switch')}\n width={36}\n height={TRACK_H}\n p={2}\n shrink={0}\n hitSlop={HIT_SLOP}\n {...props}\n >\n <GuiSwitch.Thumb\n {...slot('switch-thumb')}\n width={THUMB}\n height={THUMB}\n />\n </GuiSwitch>\n)\n\nexport { Switch }\n","'use client'\n\n/** Tabs — `TabsTrigger` is gui's `Tabs.Tab`; rows meet the 44px touch floor. */\nimport { Tabs as GuiTabs } from '@hanzo/gui'\nimport type { ComponentProps } from 'react'\nimport { ink } from './ink'\nimport { slot } from './slot'\n\nconst ROW_H = 36\nconst HIT_SLOP = (44 - ROW_H) / 2\n\nexport type TabsProps = ComponentProps<typeof GuiTabs>\nexport type TabsListProps = ComponentProps<typeof GuiTabs.List>\nexport type TabsTriggerProps = ComponentProps<typeof GuiTabs.Tab>\nexport type TabsContentProps = ComponentProps<typeof GuiTabs.Content>\n\nconst Tabs = (p: TabsProps) => <GuiTabs {...slot('tabs')} flexDirection=\"column\" gap=\"$2\" {...p} />\n\nconst TabsList = (p: TabsListProps) => (\n <GuiTabs.List\n {...slot('tabs-list')}\n items=\"center\"\n justify=\"center\"\n self=\"flex-start\"\n height={ROW_H}\n p={3}\n gap={2}\n bg=\"$color3\"\n rounded=\"$4\"\n {...p}\n />\n)\n\nconst TabsTrigger = ({ children, ...p }: TabsTriggerProps) => (\n <GuiTabs.Tab\n {...slot('tabs-trigger')}\n unstyled\n items=\"center\"\n justify=\"center\"\n height=\"100%\"\n px=\"$3\"\n gap=\"$1.5\"\n rounded=\"$3\"\n cursor=\"pointer\"\n hitSlop={HIT_SLOP}\n hoverStyle={{ bg: '$color4' }}\n focusStyle={{ bg: '$color4' }}\n {...p}\n >\n {ink(children, undefined, { size: '$2', fontWeight: '500' })}\n </GuiTabs.Tab>\n)\n\nconst TabsContent = (p: TabsContentProps) => <GuiTabs.Content {...slot('tabs-content')} flex={1} {...p} />\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { TextArea } from \"@hanzo/gui\"\n\n/** Floor for the grown row count. */\nconst MIN_ROWS = 3\n\nconst rowsOf = (v: unknown) =>\n typeof v === \"string\" ? v.split(\"\\n\").length : 0\n\n/**\n * Textarea — standard-token multiline field.\n *\n * Auto-grow is line-driven rather than DOM-measured, so web, native and desktop\n * grow identically: the row count follows the value and gui's\n * `textAreaSizeVariant` turns rows into height.\n * `rows` is the floor, not a fixed size.\n */\nconst Textarea = /* @__PURE__ */ React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(function Textarea({ rows, value, defaultValue, ...props }, ref) {\n const [typed, setTyped] = React.useState(() => rowsOf(defaultValue))\n const uncontrolled = value === undefined\n const invalid = props[\"aria-invalid\"]\n return (\n <TextArea\n ref={ref as never}\n data-slot=\"textarea\"\n rows={Math.max(rows ?? MIN_ROWS, uncontrolled ? typed : rowsOf(value))}\n value={value as string | undefined}\n defaultValue={defaultValue as string | undefined}\n onChangeText={uncontrolled ? (t) => setTyped(rowsOf(t)) : undefined}\n width=\"100%\"\n minH={64}\n rounded=\"$4\"\n bg=\"transparent\"\n borderWidth={1}\n borderColor={invalid && invalid !== \"false\" ? \"$red7\" : \"$borderColor\"}\n placeholderTextColor=\"$color10\"\n fontSize=\"$3\"\n opacity={props.disabled ? 0.5 : 1}\n {...(props as Record<string, unknown>)}\n />\n )\n})\n\nexport { Textarea }\n","'use client'\n\n/**\n * Toaster — the toast viewport, mounted once near the root of an app.\n *\n * gui already owns the whole thing: `@hanzogui/toast/v2` ships a sonner-shaped\n * `toast()` observer and a `Toaster` that portals a themed, swipe-dismissable\n * stack on web, native and desktop. So this is a prop translation, not a\n * reimplementation.\n *\n * `className`, `style` and the per-part `classNames` are accepted and ignored:\n * gui paints from theme tokens (`$background`, `$color`, `$borderColor`), the one\n * styling channel that also exists on native. They stay in the type so existing\n * call sites keep compiling.\n */\nimport type { GuiElement } from '@hanzogui/core'\nimport {\n Toaster as GuiToaster,\n toast,\n type ExternalToast,\n type ToasterProps as GuiToasterProps,\n} from '@hanzogui/toast/v2'\nimport { forwardRef } from 'react'\n\n/** Sonner's per-part class hooks. Inert — see the note above. */\nexport type ToasterClassNames = Partial<\n Record<\n | 'toast'\n | 'title'\n | 'description'\n | 'icon'\n | 'actionButton'\n | 'cancelButton'\n | 'closeButton',\n string\n >\n>\n\nexport interface ToasterProps extends Omit<GuiToasterProps, 'toastOptions'> {\n /** Inert. gui themes the viewport from tokens. */\n className?: string\n /** Inert. gui themes the viewport from tokens. */\n style?: Record<string, string | number>\n toastOptions?: ExternalToast & { classNames?: ToasterClassNames }\n}\n\nconst Toaster = /* @__PURE__ */ forwardRef<GuiElement, ToasterProps>(function Toaster(props, ref) {\n const { theme = 'system', toastOptions, ...rest } = props\n return <GuiToaster ref={ref} theme={theme} toastOptions={toastOptions} {...rest} />\n})\n\nexport { Toaster, toast }\n","'use client'\n\n/** Tooltip — hover/focus hint. `TooltipProvider` is gui's `TooltipGroup`. */\nimport { Tooltip as GuiTooltip, TooltipGroup } from '@hanzo/gui'\nimport { useEffect, type ComponentProps } from 'react'\nimport { PortalTheme, useThemeName } from '../../product/menu/portal-theme'\nimport { ink } from './ink'\nimport { slot } from './slot'\n\nconst DEFAULT_OFFSET = 4\n\nexport type TooltipProps = ComponentProps<typeof GuiTooltip>\nexport type TooltipContentProps = ComponentProps<typeof GuiTooltip.Content> & { sideOffset?: number }\n\nconst Tooltip = (props: TooltipProps) => <GuiTooltip offset={DEFAULT_OFFSET} {...props} />\nconst TooltipTrigger: typeof GuiTooltip.Trigger = GuiTooltip.Trigger\nconst TooltipProvider: typeof TooltipGroup = TooltipGroup\n\nconst TooltipContent = ({ sideOffset: _sideOffset, children, ...props }: TooltipContentProps) => {\n const themeName = useThemeName()\n return (\n <PortalTheme name={themeName}>\n <GuiTooltip.Content\n {...slot('tooltip-content')}\n bg=\"$color2\"\n borderWidth={1}\n borderColor=\"$borderColor\"\n rounded=\"$3\"\n px=\"$3\"\n py=\"$1.5\"\n {...props}\n >\n {ink(children, undefined, { size: '$1' })}\n </GuiTooltip.Content>\n </PortalTheme>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"]}
|
package/dist/chunk-77AMCLN4.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useEmit } from './chunk-FVQXROBK.js';
|
|
3
|
-
import { useThemeSetting } from '@hanzogui/next-theme';
|
|
4
|
-
import { lazy, useState, Suspense, Component } from 'react';
|
|
5
|
-
import { Button } from '@hanzo/gui';
|
|
6
|
-
import { Sun, Moon } from '@hanzogui/lucide-icons-2';
|
|
7
|
-
import { jsx } from 'react/jsx-runtime';
|
|
8
|
-
|
|
9
|
-
var STORAGE_KEY = "theme";
|
|
10
|
-
function readDomTheme() {
|
|
11
|
-
if (typeof document === "undefined") return void 0;
|
|
12
|
-
const el = document.documentElement;
|
|
13
|
-
if (el.classList.contains("dark")) return "dark";
|
|
14
|
-
if (el.classList.contains("light")) return "light";
|
|
15
|
-
try {
|
|
16
|
-
const ls = window.localStorage.getItem(STORAGE_KEY);
|
|
17
|
-
if (ls === "light" || ls === "dark") return ls;
|
|
18
|
-
} catch {
|
|
19
|
-
}
|
|
20
|
-
return void 0;
|
|
21
|
-
}
|
|
22
|
-
function applyDomTheme(next) {
|
|
23
|
-
if (typeof document === "undefined") return;
|
|
24
|
-
const el = document.documentElement;
|
|
25
|
-
el.classList.toggle("dark", next === "dark");
|
|
26
|
-
el.classList.toggle("light", next === "light");
|
|
27
|
-
el.style.colorScheme = next;
|
|
28
|
-
try {
|
|
29
|
-
window.localStorage.setItem(STORAGE_KEY, next);
|
|
30
|
-
} catch {
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function AgnosticThemeToggle({
|
|
34
|
-
theme,
|
|
35
|
-
defaultTheme,
|
|
36
|
-
onToggle,
|
|
37
|
-
onThemeChange,
|
|
38
|
-
size = "$2",
|
|
39
|
-
label
|
|
40
|
-
}) {
|
|
41
|
-
const controlled = theme !== void 0;
|
|
42
|
-
const [internal, setInternal] = useState(() => theme ?? defaultTheme ?? readDomTheme() ?? "dark");
|
|
43
|
-
const current = controlled ? theme : internal;
|
|
44
|
-
const isDark = current === "dark";
|
|
45
|
-
const track = useEmit();
|
|
46
|
-
const toggle = () => {
|
|
47
|
-
const next = isDark ? "light" : "dark";
|
|
48
|
-
track({ component: "ThemeToggle", action: "change", value: next });
|
|
49
|
-
if (!controlled) {
|
|
50
|
-
setInternal(next);
|
|
51
|
-
applyDomTheme(next);
|
|
52
|
-
}
|
|
53
|
-
onToggle?.(next);
|
|
54
|
-
onThemeChange?.(next);
|
|
55
|
-
};
|
|
56
|
-
return /* @__PURE__ */ jsx(
|
|
57
|
-
Button,
|
|
58
|
-
{
|
|
59
|
-
size,
|
|
60
|
-
chromeless: true,
|
|
61
|
-
icon: isDark ? /* @__PURE__ */ jsx(Sun, { size: 16 }) : /* @__PURE__ */ jsx(Moon, { size: 16 }),
|
|
62
|
-
onPress: toggle,
|
|
63
|
-
"aria-label": label ?? (isDark ? "Switch to light theme" : "Switch to dark theme")
|
|
64
|
-
}
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
var NextThemeToggle = lazy(() => import('./ThemeToggleNext-AEDLHX5X.js'));
|
|
68
|
-
var NextThemeBoundary = class extends Component {
|
|
69
|
-
state = { failed: false };
|
|
70
|
-
static getDerivedStateFromError() {
|
|
71
|
-
return { failed: true };
|
|
72
|
-
}
|
|
73
|
-
render() {
|
|
74
|
-
return this.state.failed ? this.props.fallback : this.props.children;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
function ThemeToggle(props) {
|
|
78
|
-
const injected = props.theme !== void 0 || props.onToggle !== void 0 || props.onThemeChange !== void 0;
|
|
79
|
-
if (injected) return /* @__PURE__ */ jsx(AgnosticThemeToggle, { ...props });
|
|
80
|
-
const fallback = /* @__PURE__ */ jsx(AgnosticThemeToggle, { ...props });
|
|
81
|
-
return /* @__PURE__ */ jsx(NextThemeBoundary, { fallback, children: /* @__PURE__ */ jsx(Suspense, { fallback, children: /* @__PURE__ */ jsx(NextThemeToggle, { size: props.size, label: props.label }) }) });
|
|
82
|
-
}
|
|
83
|
-
function ThemeToggleNext({ size, label }) {
|
|
84
|
-
const { current, resolvedTheme, set } = useThemeSetting();
|
|
85
|
-
const isDark = (resolvedTheme ?? current ?? "dark") !== "light";
|
|
86
|
-
return /* @__PURE__ */ jsx(
|
|
87
|
-
AgnosticThemeToggle,
|
|
88
|
-
{
|
|
89
|
-
theme: isDark ? "dark" : "light",
|
|
90
|
-
onToggle: (next) => set(next),
|
|
91
|
-
size,
|
|
92
|
-
label
|
|
93
|
-
}
|
|
94
|
-
);
|
|
95
|
-
}
|
|
96
|
-
var ThemeToggleNext_default = ThemeToggleNext;
|
|
97
|
-
|
|
98
|
-
export { AgnosticThemeToggle, ThemeToggle, ThemeToggleNext, ThemeToggleNext_default };
|
|
99
|
-
//# sourceMappingURL=chunk-77AMCLN4.js.map
|
|
100
|
-
//# sourceMappingURL=chunk-77AMCLN4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/product/ThemeToggle.tsx","../src/product/ThemeToggleNext.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-77AMCLN4.js","sourcesContent":["'use client'\n\n/**\n * ThemeToggle — flips between dark and light. Framework-agnostic by default so\n * Vite / Tauri / Express hosts can use it with NO Next dependency:\n *\n * • Controlled: <ThemeToggle theme={theme} onToggle={setTheme} /> (host owns theme)\n * • Uncontrolled (agnostic): <ThemeToggle onThemeChange={fn} /> (toggles the DOM\n * `.dark` class + persists to localStorage)\n * • Uncontrolled (no props): <ThemeToggle /> (console/Next —\n * falls back to the OPTIONAL @hanzogui/next-theme path;\n * if it cannot load, degrades to the agnostic DOM toggle)\n *\n * Shows the action's target icon (a sun in dark mode, a moon in light mode).\n */\nimport type { ReactNode } from 'react'\nimport { Component, Suspense, lazy, useState } from 'react'\nimport { Button } from '@hanzo/gui'\nimport { Moon, Sun } from '@hanzogui/lucide-icons-2'\n\nimport { useEmit } from './instrument'\n\nexport type ThemeMode = 'light' | 'dark'\n\nexport type ThemeToggleProps = {\n /** Controlled theme. Pair with `onToggle`/`onThemeChange` to fully control it. */\n theme?: ThemeMode\n /** Seed for uncontrolled mode (default: read from the DOM `.dark` class, else 'dark'). */\n defaultTheme?: ThemeMode\n /** Called with the next theme on toggle (alias of `onThemeChange`). */\n onToggle?: (next: ThemeMode) => void\n /** Called with the next theme on toggle. */\n onThemeChange?: (next: ThemeMode) => void\n /** @hanzo/gui Button size token (default \"$2\"). */\n size?: string\n /** aria-label override. */\n label?: string\n}\n\nconst STORAGE_KEY = 'theme'\n\nfunction readDomTheme(): ThemeMode | undefined {\n if (typeof document === 'undefined') return undefined\n const el = document.documentElement\n if (el.classList.contains('dark')) return 'dark'\n if (el.classList.contains('light')) return 'light'\n try {\n const ls = window.localStorage.getItem(STORAGE_KEY)\n if (ls === 'light' || ls === 'dark') return ls\n } catch {\n /* localStorage may be unavailable */\n }\n return undefined\n}\n\nfunction applyDomTheme(next: ThemeMode): void {\n if (typeof document === 'undefined') return\n const el = document.documentElement\n el.classList.toggle('dark', next === 'dark')\n el.classList.toggle('light', next === 'light')\n el.style.colorScheme = next\n try {\n window.localStorage.setItem(STORAGE_KEY, next)\n } catch {\n /* ignore */\n }\n}\n\n/**\n * The framework-agnostic toggle button. Controlled when `theme` is provided; otherwise\n * self-managed via the DOM `.dark` class. No framework dependency — safe on any host.\n */\nexport function AgnosticThemeToggle({\n theme,\n defaultTheme,\n onToggle,\n onThemeChange,\n size = '$2',\n label,\n}: ThemeToggleProps) {\n const controlled = theme !== undefined\n const [internal, setInternal] = useState<ThemeMode>(() => theme ?? defaultTheme ?? readDomTheme() ?? 'dark')\n const current: ThemeMode = controlled ? (theme as ThemeMode) : internal\n const isDark = current === 'dark'\n const track = useEmit()\n\n const toggle = () => {\n const next: ThemeMode = isDark ? 'light' : 'dark'\n track({ component: 'ThemeToggle', action: 'change', value: next })\n if (!controlled) {\n setInternal(next)\n applyDomTheme(next)\n }\n onToggle?.(next)\n onThemeChange?.(next)\n }\n\n return (\n <Button\n size={size as never}\n chromeless\n icon={isDark ? <Sun size={16} /> : <Moon size={16} />}\n onPress={toggle}\n aria-label={label ?? (isDark ? 'Switch to light theme' : 'Switch to dark theme')}\n />\n )\n}\n\n// @hanzogui/next-theme is an OPTIONAL dependency — loaded only on the uncontrolled,\n// no-props path (console/Next). Lazily code-split so non-Next hosts never need it at\n// runtime; if it fails to load, the boundary below degrades to the agnostic toggle.\nconst NextThemeToggle = lazy(() => import('./ThemeToggleNext'))\n\nclass NextThemeBoundary extends Component<{ fallback: ReactNode; children: ReactNode }, { failed: boolean }> {\n state = { failed: false }\n static getDerivedStateFromError() {\n return { failed: true }\n }\n render() {\n return this.state.failed ? this.props.fallback : this.props.children\n }\n}\n\nexport function ThemeToggle(props: ThemeToggleProps) {\n const injected =\n props.theme !== undefined || props.onToggle !== undefined || props.onThemeChange !== undefined\n if (injected) return <AgnosticThemeToggle {...props} />\n\n // No props → keep the existing console/Next behaviour via the optional next-theme\n // path, degrading to the agnostic DOM toggle if it is not installed.\n const fallback = <AgnosticThemeToggle {...props} />\n return (\n <NextThemeBoundary fallback={fallback}>\n <Suspense fallback={fallback}>\n <NextThemeToggle size={props.size} label={props.label} />\n </Suspense>\n </NextThemeBoundary>\n )\n}\n","'use client'\n\n/**\n * ThemeToggleNext — the @hanzogui/next-theme binding (console / Next). This is the ONLY\n * module that imports @hanzogui/next-theme, so it stays an OPTIONAL dependency: the base\n * ThemeToggle lazy-loads it (default export) and non-Next hosts never pull it in unless\n * they import this component directly. UI is delegated to the framework-agnostic button\n * in controlled mode, so every toggle looks identical.\n */\nimport { useThemeSetting } from '@hanzogui/next-theme'\nimport { AgnosticThemeToggle, type ThemeToggleProps } from './ThemeToggle'\n\nfunction ThemeToggleNext({ size, label }: Pick<ThemeToggleProps, 'size' | 'label'>) {\n const { current, resolvedTheme, set } = useThemeSetting()\n const isDark = (resolvedTheme ?? current ?? 'dark') !== 'light'\n return (\n <AgnosticThemeToggle\n theme={isDark ? 'dark' : 'light'}\n onToggle={(next) => set(next)}\n size={size}\n label={label}\n />\n )\n}\n\nexport default ThemeToggleNext\nexport { ThemeToggleNext }\n"]}
|
package/dist/chunk-7XDEUEWI.cjs
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var react = require('react');
|
|
5
|
-
var telemetry = require('@hanzogui/telemetry');
|
|
6
|
-
|
|
7
|
-
// src/product/instrument.ts
|
|
8
|
-
var SurfaceContext = react.createContext(void 0);
|
|
9
|
-
var InstrumentSurface = SurfaceContext.Provider;
|
|
10
|
-
var useSurface = () => react.useContext(SurfaceContext);
|
|
11
|
-
function emit(e) {
|
|
12
|
-
telemetry.track(telemetry.EVENTS.FEATURE_USED, {
|
|
13
|
-
component: e.component,
|
|
14
|
-
action: e.action,
|
|
15
|
-
...e.id !== void 0 ? { id: e.id } : null,
|
|
16
|
-
...e.value !== void 0 ? { value: e.value } : null,
|
|
17
|
-
...e.surface !== void 0 ? { surface: e.surface } : null
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
function useEmit() {
|
|
21
|
-
const surface = useSurface();
|
|
22
|
-
return react.useCallback(
|
|
23
|
-
(e) => emit(surface !== void 0 && e.surface === void 0 ? { ...e, surface } : e),
|
|
24
|
-
[surface]
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
function labelOf(children) {
|
|
28
|
-
if (typeof children === "string") return children.trim() || void 0;
|
|
29
|
-
if (Array.isArray(children)) {
|
|
30
|
-
const text = children.filter((c) => typeof c === "string" || typeof c === "number").join("");
|
|
31
|
-
return text.trim() || void 0;
|
|
32
|
-
}
|
|
33
|
-
return void 0;
|
|
34
|
-
}
|
|
35
|
-
var textSize = (s) => s ? s.length : 0;
|
|
36
|
-
|
|
37
|
-
exports.InstrumentSurface = InstrumentSurface;
|
|
38
|
-
exports.emit = emit;
|
|
39
|
-
exports.labelOf = labelOf;
|
|
40
|
-
exports.textSize = textSize;
|
|
41
|
-
exports.useEmit = useEmit;
|
|
42
|
-
exports.useSurface = useSurface;
|
|
43
|
-
//# sourceMappingURL=chunk-7XDEUEWI.cjs.map
|
|
44
|
-
//# sourceMappingURL=chunk-7XDEUEWI.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/product/instrument.ts"],"names":["createContext","useContext","track","EVENTS","useCallback"],"mappings":";;;;;;AAkEA,IAAM,cAAA,GAAiBA,oBAAkC,MAAS,CAAA;AAI3D,IAAM,oBAAoB,cAAA,CAAe;AAGzC,IAAM,UAAA,GAAa,MAA0BC,gBAAA,CAAW,cAAc;AAItE,SAAS,KAAK,CAAA,EAAkB;AACrC,EAAAC,eAAA,CAAMC,iBAAO,YAAA,EAAc;AAAA,IACzB,WAAW,CAAA,CAAE,SAAA;AAAA,IACb,QAAQ,CAAA,CAAE,MAAA;AAAA,IACV,GAAI,EAAE,EAAA,KAAO,MAAA,GAAY,EAAE,EAAA,EAAI,CAAA,CAAE,IAAG,GAAI,IAAA;AAAA,IACxC,GAAI,EAAE,KAAA,KAAU,MAAA,GAAY,EAAE,KAAA,EAAO,CAAA,CAAE,OAAM,GAAI,IAAA;AAAA,IACjD,GAAI,EAAE,OAAA,KAAY,MAAA,GAAY,EAAE,OAAA,EAAS,CAAA,CAAE,SAAQ,GAAI;AAAA,GACxD,CAAA;AACH;AAIO,SAAS,OAAA,GAAgC;AAC9C,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,OAAOC,iBAAA;AAAA,IACL,CAAC,CAAA,KAAe,IAAA,CAAK,OAAA,KAAY,MAAA,IAAa,CAAA,CAAE,OAAA,KAAY,MAAA,GAAY,EAAE,GAAG,CAAA,EAAG,OAAA,KAAY,CAAC,CAAA;AAAA,IAC7F,CAAC,OAAO;AAAA,GACV;AACF;AAOO,SAAS,QAAQ,QAAA,EAAuC;AAC7D,EAAA,IAAI,OAAO,QAAA,KAAa,QAAA,EAAU,OAAO,QAAA,CAAS,MAAK,IAAK,MAAA;AAC5D,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,QAAQ,CAAA,EAAG;AAC3B,IAAA,MAAM,IAAA,GAAO,QAAA,CAAS,MAAA,CAAO,CAAC,CAAA,KAAM,OAAO,CAAA,KAAM,QAAA,IAAY,OAAO,CAAA,KAAM,QAAQ,CAAA,CAAE,KAAK,EAAE,CAAA;AAC3F,IAAA,OAAO,IAAA,CAAK,MAAK,IAAK,MAAA;AAAA,EACxB;AACA,EAAA,OAAO,MAAA;AACT;AAKO,IAAM,QAAA,GAAW,CAAC,CAAA,KAAmC,CAAA,GAAI,EAAE,MAAA,GAAS","file":"chunk-7XDEUEWI.cjs","sourcesContent":["// The ONE place a shared component says what a user just did.\n//\n// Instrumenting the COMPONENT beats instrumenting 100 apps: a product that\n// renders `DataTable`, `PrimaryButton`, `SlideOver`, `ConfirmDelete`, `Field*`,\n// `ComboBox`, `Segmented`, `SearchInput`, `OrgSwitcher`, `MenuItemView`,\n// `EmptyState` or `ThemeToggle` reports the SAME interaction vocabulary with\n// zero app code. Nothing to wire, nothing to remember, nothing to drift.\n//\n// import { emit, useEmit, InstrumentSurface } from '@hanzo/ui'\n// <InstrumentSurface name=\"billing\">…</InstrumentSurface> // optional context\n//\n// ONE event name, structured properties — the taxonomy in @hanzo/event is a\n// CLOSED set, and its own rule for a product-specific moment is \"the `action`\n// property, never a new event name\". So every UI interaction is\n// EVENTS.FEATURE_USED carrying { component, action, surface, id, value }.\n// Funnel moments (signup, checkout, deploy) keep their own dedicated names and\n// are emitted by the surface that owns them, not by a button.\n//\n// One stream: `track` from @hanzogui/telemetry — already a dependency of this\n// package and already THE front door (POST api.hanzo.ai/v1/event). No second\n// client, no CDN script, no `window` poking. It is SSR-safe, consent-aware,\n// honors DNT/GPC, and is fail-soft by construction, so this module inherits all\n// of that and adds no error policy of its own.\n\nimport { createContext, useCallback, useContext } from 'react'\n// ONE dependency edge: @hanzogui/telemetry owns the transport AND re-exports the\n// @hanzo/event vocabulary, so this package never names a second source of truth.\nimport { EVENTS, track } from '@hanzogui/telemetry'\n\n/** What a user did to a component. A closed set — it is the verb half of the\n * vocabulary, and a closed verb set is what makes cross-product funnels join. */\nexport type UiAction =\n | 'click'\n | 'open'\n | 'close'\n | 'select'\n | 'change'\n | 'sort'\n | 'filter'\n | 'search'\n | 'confirm'\n | 'cancel'\n | 'dismiss'\n | 'expand'\n | 'view'\n | 'error'\n\n/** One interaction. `component` + `action` are required; everything else is the\n * detail a lens groups by. Values are scrubbed downstream by @hanzo/event. */\nexport interface UiEvent {\n /** The shared component that observed it — `DataTable`, `PrimaryButton`, … */\n component: string\n action: UiAction\n /** The thing acted on: a column key, an option value, a menu item id. */\n id?: string\n /** A small scalar detail (sort direction, boolean state, count). Never PII —\n * free-text values (search terms, field contents) are reported as a LENGTH,\n * by the caller, not as the text. */\n value?: string | number | boolean\n /** The product area, when the app declared one via `<InstrumentSurface/>`. */\n surface?: string\n}\n\n/** The enclosing product area (route/module). Optional: with no provider the\n * events still carry component+action, and the product+path already come from\n * the telemetry client. */\nconst SurfaceContext = createContext<string | undefined>(undefined)\n\n/** Names the product area every shared component inside it reports under.\n * Plain provider, no element — it must not perturb any layout. */\nexport const InstrumentSurface = SurfaceContext.Provider\n\n/** The current product area, or undefined outside a provider. */\nexport const useSurface = (): string | undefined => useContext(SurfaceContext)\n\n/** Report an interaction. Callable from anywhere (module scope, event handler,\n * a non-React host) — the ambient telemetry client is built on first use. */\nexport function emit(e: UiEvent): void {\n track(EVENTS.FEATURE_USED, {\n component: e.component,\n action: e.action,\n ...(e.id !== undefined ? { id: e.id } : null),\n ...(e.value !== undefined ? { value: e.value } : null),\n ...(e.surface !== undefined ? { surface: e.surface } : null),\n })\n}\n\n/** `emit` with the surrounding `<InstrumentSurface/>` already bound — what the\n * shared components themselves use, so an app never labels a surface twice. */\nexport function useEmit(): (e: UiEvent) => void {\n const surface = useSurface()\n return useCallback(\n (e: UiEvent) => emit(surface !== undefined && e.surface === undefined ? { ...e, surface } : e),\n [surface],\n )\n}\n\n/** A component's own children ARE its identity — \"Deploy\", \"Log in with Hanzo\n * Cloud\". React hands them over as a string, or as an ARRAY when the label is\n * interpolated (`Log in with {brand}`), which is the common case; flattening the\n * string parts is the difference between a named event and an anonymous one.\n * Anything non-textual (an icon element) yields undefined rather than a guess. */\nexport function labelOf(children: unknown): string | undefined {\n if (typeof children === 'string') return children.trim() || undefined\n if (Array.isArray(children)) {\n const text = children.filter((c) => typeof c === 'string' || typeof c === 'number').join('')\n return text.trim() || undefined\n }\n return undefined\n}\n\n/** Free text (a search box, a text field) is reported as its LENGTH — the shape\n * of the behaviour without the content. One helper so no component invents its\n * own idea of \"safe to send\". */\nexport const textSize = (s: string | undefined): number => (s ? s.length : 0)\n"]}
|