@hanzo/ui 8.0.26 → 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/README.md +1 -1
- package/dist/backends/gui/aspect-ratio.cjs +15 -0
- package/dist/backends/gui/aspect-ratio.d.ts +15 -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 +17 -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 +20 -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 +30 -0
- 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 +45 -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 +10 -0
- 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 +11 -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 +87 -0
- 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 +21 -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 +28 -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 +99 -0
- 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 -2
- 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 +8 -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 +20 -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 +7 -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 +23 -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 +7 -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 +54 -0
- 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 +24 -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 +46 -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 +31 -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 +11 -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 +7 -0
- 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 +7 -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 +7 -0
- 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 +13 -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 +12 -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 +29 -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 +13 -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 -14
- package/dist/canvas.d.ts +1 -0
- package/dist/canvas.d.ts.map +1 -0
- package/dist/canvas.js +10 -1
- 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 +5 -5
- 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 -0
- package/dist/core/index.d.ts +4 -3
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/tokens.cjs +35 -0
- package/dist/core/tokens.d.ts +1 -0
- package/dist/core/tokens.d.ts.map +1 -0
- package/dist/core/tokens.js +16 -0
- package/dist/core/tokens.js.map +1 -0
- package/dist/dashboard.cjs +24 -14
- package/dist/dashboard.d.ts +1 -0
- package/dist/dashboard.d.ts.map +1 -0
- package/dist/dashboard.js +7 -1
- package/dist/dashboard.js.map +1 -1
- package/dist/data.cjs +28 -14
- package/dist/data.d.ts +1 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +11 -1
- 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 -212
- package/dist/framework/core.d.ts +7 -6
- package/dist/framework/core.d.ts.map +1 -0
- package/dist/framework/core.js +20 -2
- 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 -1339
- package/dist/framework/index.d.ts +10 -9
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +35 -1117
- 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 -14
- package/dist/gitops.d.ts +1 -0
- package/dist/gitops.d.ts.map +1 -0
- package/dist/gitops.js +4 -1
- package/dist/gitops.js.map +1 -1
- package/dist/gui-config.cjs +145 -112
- package/dist/gui-config.d.ts +1 -0
- package/dist/gui-config.d.ts.map +1 -0
- package/dist/gui-config.js +140 -104
- package/dist/gui-config.js.map +1 -1
- package/dist/index.cjs +40 -1144
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -1018
- 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 +2 -1
- 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 -0
- package/dist/models/index.d.ts +6 -5
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +8 -0
- package/dist/models/index.js.map +1 -0
- 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 -188
- package/dist/oss.d.ts +3 -2
- package/dist/oss.d.ts.map +1 -0
- package/dist/oss.js +12 -178
- package/dist/oss.js.map +1 -1
- package/dist/primitives/AspectRatio.cjs +8 -0
- package/dist/primitives/AspectRatio.d.ts +2 -1
- package/dist/primitives/AspectRatio.d.ts.map +1 -0
- package/dist/primitives/AspectRatio.js +5 -0
- package/dist/primitives/AspectRatio.js.map +1 -0
- package/dist/primitives/Avatar.cjs +8 -0
- package/dist/primitives/Avatar.d.ts +2 -1
- package/dist/primitives/Avatar.d.ts.map +1 -0
- package/dist/primitives/Avatar.js +5 -0
- package/dist/primitives/Avatar.js.map +1 -0
- package/dist/primitives/AvatarFallback.cjs +8 -0
- package/dist/primitives/AvatarFallback.d.ts +2 -1
- package/dist/primitives/AvatarFallback.d.ts.map +1 -0
- package/dist/primitives/AvatarFallback.js +5 -0
- package/dist/primitives/AvatarFallback.js.map +1 -0
- package/dist/primitives/AvatarImage.cjs +8 -0
- package/dist/primitives/AvatarImage.d.ts +2 -1
- package/dist/primitives/AvatarImage.d.ts.map +1 -0
- package/dist/primitives/AvatarImage.js +5 -0
- package/dist/primitives/AvatarImage.js.map +1 -0
- package/dist/primitives/Badge.cjs +8 -0
- package/dist/primitives/Badge.d.ts +2 -1
- package/dist/primitives/Badge.d.ts.map +1 -0
- package/dist/primitives/Badge.js +5 -0
- package/dist/primitives/Badge.js.map +1 -0
- package/dist/primitives/Button.cjs +8 -0
- package/dist/primitives/Button.d.ts +2 -1
- package/dist/primitives/Button.d.ts.map +1 -0
- package/dist/primitives/Button.js +5 -0
- package/dist/primitives/Button.js.map +1 -0
- package/dist/primitives/Card.cjs +8 -0
- package/dist/primitives/Card.d.ts +2 -1
- package/dist/primitives/Card.d.ts.map +1 -0
- package/dist/primitives/Card.js +5 -0
- package/dist/primitives/Card.js.map +1 -0
- package/dist/primitives/CardAction.cjs +8 -0
- package/dist/primitives/CardAction.d.ts +2 -1
- package/dist/primitives/CardAction.d.ts.map +1 -0
- package/dist/primitives/CardAction.js +5 -0
- package/dist/primitives/CardAction.js.map +1 -0
- package/dist/primitives/CardContent.cjs +8 -0
- package/dist/primitives/CardContent.d.ts +2 -1
- package/dist/primitives/CardContent.d.ts.map +1 -0
- package/dist/primitives/CardContent.js +5 -0
- package/dist/primitives/CardContent.js.map +1 -0
- package/dist/primitives/CardDescription.cjs +8 -0
- package/dist/primitives/CardDescription.d.ts +2 -1
- package/dist/primitives/CardDescription.d.ts.map +1 -0
- package/dist/primitives/CardDescription.js +5 -0
- package/dist/primitives/CardDescription.js.map +1 -0
- package/dist/primitives/CardFooter.cjs +8 -0
- package/dist/primitives/CardFooter.d.ts +2 -1
- package/dist/primitives/CardFooter.d.ts.map +1 -0
- package/dist/primitives/CardFooter.js +5 -0
- package/dist/primitives/CardFooter.js.map +1 -0
- package/dist/primitives/CardHeader.cjs +8 -0
- package/dist/primitives/CardHeader.d.ts +2 -1
- package/dist/primitives/CardHeader.d.ts.map +1 -0
- package/dist/primitives/CardHeader.js +5 -0
- package/dist/primitives/CardHeader.js.map +1 -0
- package/dist/primitives/CardTitle.cjs +8 -0
- package/dist/primitives/CardTitle.d.ts +2 -1
- package/dist/primitives/CardTitle.d.ts.map +1 -0
- package/dist/primitives/CardTitle.js +5 -0
- package/dist/primitives/CardTitle.js.map +1 -0
- package/dist/primitives/Checkbox.cjs +8 -0
- package/dist/primitives/Checkbox.d.ts +2 -1
- package/dist/primitives/Checkbox.d.ts.map +1 -0
- package/dist/primitives/Checkbox.js +5 -0
- package/dist/primitives/Checkbox.js.map +1 -0
- package/dist/primitives/Collapsible.cjs +8 -0
- package/dist/primitives/Collapsible.d.ts +2 -1
- package/dist/primitives/Collapsible.d.ts.map +1 -0
- package/dist/primitives/Collapsible.js +5 -0
- package/dist/primitives/Collapsible.js.map +1 -0
- package/dist/primitives/CollapsibleContent.cjs +8 -0
- package/dist/primitives/CollapsibleContent.d.ts +2 -1
- package/dist/primitives/CollapsibleContent.d.ts.map +1 -0
- package/dist/primitives/CollapsibleContent.js +5 -0
- package/dist/primitives/CollapsibleContent.js.map +1 -0
- package/dist/primitives/CollapsibleTrigger.cjs +8 -0
- package/dist/primitives/CollapsibleTrigger.d.ts +2 -1
- package/dist/primitives/CollapsibleTrigger.d.ts.map +1 -0
- package/dist/primitives/CollapsibleTrigger.js +5 -0
- package/dist/primitives/CollapsibleTrigger.js.map +1 -0
- package/dist/primitives/Command.cjs +8 -0
- package/dist/primitives/Command.d.ts +2 -1
- package/dist/primitives/Command.d.ts.map +1 -0
- package/dist/primitives/Command.js +5 -0
- package/dist/primitives/Command.js.map +1 -0
- package/dist/primitives/CommandDialog.cjs +8 -0
- package/dist/primitives/CommandDialog.d.ts +2 -1
- package/dist/primitives/CommandDialog.d.ts.map +1 -0
- package/dist/primitives/CommandDialog.js +5 -0
- package/dist/primitives/CommandDialog.js.map +1 -0
- package/dist/primitives/CommandEmpty.cjs +8 -0
- package/dist/primitives/CommandEmpty.d.ts +2 -1
- package/dist/primitives/CommandEmpty.d.ts.map +1 -0
- package/dist/primitives/CommandEmpty.js +5 -0
- package/dist/primitives/CommandEmpty.js.map +1 -0
- package/dist/primitives/CommandGroup.cjs +8 -0
- package/dist/primitives/CommandGroup.d.ts +2 -1
- package/dist/primitives/CommandGroup.d.ts.map +1 -0
- package/dist/primitives/CommandGroup.js +5 -0
- package/dist/primitives/CommandGroup.js.map +1 -0
- package/dist/primitives/CommandInput.cjs +8 -0
- package/dist/primitives/CommandInput.d.ts +2 -1
- package/dist/primitives/CommandInput.d.ts.map +1 -0
- package/dist/primitives/CommandInput.js +5 -0
- package/dist/primitives/CommandInput.js.map +1 -0
- package/dist/primitives/CommandItem.cjs +8 -0
- package/dist/primitives/CommandItem.d.ts +2 -1
- package/dist/primitives/CommandItem.d.ts.map +1 -0
- package/dist/primitives/CommandItem.js +5 -0
- package/dist/primitives/CommandItem.js.map +1 -0
- package/dist/primitives/CommandList.cjs +8 -0
- package/dist/primitives/CommandList.d.ts +2 -1
- package/dist/primitives/CommandList.d.ts.map +1 -0
- package/dist/primitives/CommandList.js +5 -0
- package/dist/primitives/CommandList.js.map +1 -0
- package/dist/primitives/CommandSeparator.cjs +8 -0
- package/dist/primitives/CommandSeparator.d.ts +2 -1
- package/dist/primitives/CommandSeparator.d.ts.map +1 -0
- package/dist/primitives/CommandSeparator.js +5 -0
- package/dist/primitives/CommandSeparator.js.map +1 -0
- package/dist/primitives/CommandShortcut.cjs +8 -0
- package/dist/primitives/CommandShortcut.d.ts +2 -1
- package/dist/primitives/CommandShortcut.d.ts.map +1 -0
- package/dist/primitives/CommandShortcut.js +5 -0
- package/dist/primitives/CommandShortcut.js.map +1 -0
- package/dist/primitives/Dialog.cjs +8 -0
- package/dist/primitives/Dialog.d.ts +2 -1
- package/dist/primitives/Dialog.d.ts.map +1 -0
- package/dist/primitives/Dialog.js +5 -0
- package/dist/primitives/Dialog.js.map +1 -0
- package/dist/primitives/DialogClose.cjs +8 -0
- package/dist/primitives/DialogClose.d.ts +2 -1
- package/dist/primitives/DialogClose.d.ts.map +1 -0
- package/dist/primitives/DialogClose.js +5 -0
- package/dist/primitives/DialogClose.js.map +1 -0
- package/dist/primitives/DialogContent.cjs +8 -0
- package/dist/primitives/DialogContent.d.ts +2 -1
- package/dist/primitives/DialogContent.d.ts.map +1 -0
- package/dist/primitives/DialogContent.js +5 -0
- package/dist/primitives/DialogContent.js.map +1 -0
- package/dist/primitives/DialogDescription.cjs +8 -0
- package/dist/primitives/DialogDescription.d.ts +2 -1
- package/dist/primitives/DialogDescription.d.ts.map +1 -0
- package/dist/primitives/DialogDescription.js +5 -0
- package/dist/primitives/DialogDescription.js.map +1 -0
- package/dist/primitives/DialogFooter.cjs +8 -0
- package/dist/primitives/DialogFooter.d.ts +2 -1
- package/dist/primitives/DialogFooter.d.ts.map +1 -0
- package/dist/primitives/DialogFooter.js +5 -0
- package/dist/primitives/DialogFooter.js.map +1 -0
- package/dist/primitives/DialogHeader.cjs +8 -0
- package/dist/primitives/DialogHeader.d.ts +2 -1
- package/dist/primitives/DialogHeader.d.ts.map +1 -0
- package/dist/primitives/DialogHeader.js +5 -0
- package/dist/primitives/DialogHeader.js.map +1 -0
- package/dist/primitives/DialogOverlay.cjs +8 -0
- package/dist/primitives/DialogOverlay.d.ts +2 -1
- package/dist/primitives/DialogOverlay.d.ts.map +1 -0
- package/dist/primitives/DialogOverlay.js +5 -0
- package/dist/primitives/DialogOverlay.js.map +1 -0
- package/dist/primitives/DialogPortal.cjs +8 -0
- package/dist/primitives/DialogPortal.d.ts +2 -1
- package/dist/primitives/DialogPortal.d.ts.map +1 -0
- package/dist/primitives/DialogPortal.js +5 -0
- package/dist/primitives/DialogPortal.js.map +1 -0
- package/dist/primitives/DialogTitle.cjs +8 -0
- package/dist/primitives/DialogTitle.d.ts +2 -1
- package/dist/primitives/DialogTitle.d.ts.map +1 -0
- package/dist/primitives/DialogTitle.js +5 -0
- package/dist/primitives/DialogTitle.js.map +1 -0
- package/dist/primitives/DialogTrigger.cjs +8 -0
- package/dist/primitives/DialogTrigger.d.ts +2 -1
- package/dist/primitives/DialogTrigger.d.ts.map +1 -0
- package/dist/primitives/DialogTrigger.js +5 -0
- package/dist/primitives/DialogTrigger.js.map +1 -0
- package/dist/primitives/DropdownMenu.cjs +8 -0
- package/dist/primitives/DropdownMenu.d.ts +2 -1
- package/dist/primitives/DropdownMenu.d.ts.map +1 -0
- package/dist/primitives/DropdownMenu.js +5 -0
- package/dist/primitives/DropdownMenu.js.map +1 -0
- package/dist/primitives/DropdownMenuCheckboxItem.cjs +8 -0
- package/dist/primitives/DropdownMenuCheckboxItem.d.ts +2 -1
- package/dist/primitives/DropdownMenuCheckboxItem.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuCheckboxItem.js +5 -0
- package/dist/primitives/DropdownMenuCheckboxItem.js.map +1 -0
- package/dist/primitives/DropdownMenuContent.cjs +8 -0
- package/dist/primitives/DropdownMenuContent.d.ts +2 -1
- package/dist/primitives/DropdownMenuContent.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuContent.js +5 -0
- package/dist/primitives/DropdownMenuContent.js.map +1 -0
- package/dist/primitives/DropdownMenuGroup.cjs +8 -0
- package/dist/primitives/DropdownMenuGroup.d.ts +2 -1
- package/dist/primitives/DropdownMenuGroup.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuGroup.js +5 -0
- package/dist/primitives/DropdownMenuGroup.js.map +1 -0
- package/dist/primitives/DropdownMenuItem.cjs +8 -0
- package/dist/primitives/DropdownMenuItem.d.ts +2 -1
- package/dist/primitives/DropdownMenuItem.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuItem.js +5 -0
- package/dist/primitives/DropdownMenuItem.js.map +1 -0
- package/dist/primitives/DropdownMenuLabel.cjs +8 -0
- package/dist/primitives/DropdownMenuLabel.d.ts +2 -1
- package/dist/primitives/DropdownMenuLabel.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuLabel.js +5 -0
- package/dist/primitives/DropdownMenuLabel.js.map +1 -0
- package/dist/primitives/DropdownMenuPortal.cjs +8 -0
- package/dist/primitives/DropdownMenuPortal.d.ts +2 -1
- package/dist/primitives/DropdownMenuPortal.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuPortal.js +5 -0
- package/dist/primitives/DropdownMenuPortal.js.map +1 -0
- package/dist/primitives/DropdownMenuRadioGroup.cjs +8 -0
- package/dist/primitives/DropdownMenuRadioGroup.d.ts +2 -1
- package/dist/primitives/DropdownMenuRadioGroup.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuRadioGroup.js +5 -0
- package/dist/primitives/DropdownMenuRadioGroup.js.map +1 -0
- package/dist/primitives/DropdownMenuRadioItem.cjs +8 -0
- package/dist/primitives/DropdownMenuRadioItem.d.ts +2 -1
- package/dist/primitives/DropdownMenuRadioItem.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuRadioItem.js +5 -0
- package/dist/primitives/DropdownMenuRadioItem.js.map +1 -0
- package/dist/primitives/DropdownMenuSeparator.cjs +8 -0
- package/dist/primitives/DropdownMenuSeparator.d.ts +2 -1
- package/dist/primitives/DropdownMenuSeparator.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSeparator.js +5 -0
- package/dist/primitives/DropdownMenuSeparator.js.map +1 -0
- package/dist/primitives/DropdownMenuShortcut.cjs +8 -0
- package/dist/primitives/DropdownMenuShortcut.d.ts +2 -1
- package/dist/primitives/DropdownMenuShortcut.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuShortcut.js +5 -0
- package/dist/primitives/DropdownMenuShortcut.js.map +1 -0
- package/dist/primitives/DropdownMenuSub.cjs +8 -0
- package/dist/primitives/DropdownMenuSub.d.ts +2 -1
- package/dist/primitives/DropdownMenuSub.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSub.js +5 -0
- package/dist/primitives/DropdownMenuSub.js.map +1 -0
- package/dist/primitives/DropdownMenuSubContent.cjs +8 -0
- package/dist/primitives/DropdownMenuSubContent.d.ts +2 -1
- package/dist/primitives/DropdownMenuSubContent.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSubContent.js +5 -0
- package/dist/primitives/DropdownMenuSubContent.js.map +1 -0
- package/dist/primitives/DropdownMenuSubTrigger.cjs +8 -0
- package/dist/primitives/DropdownMenuSubTrigger.d.ts +2 -1
- package/dist/primitives/DropdownMenuSubTrigger.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuSubTrigger.js +5 -0
- package/dist/primitives/DropdownMenuSubTrigger.js.map +1 -0
- package/dist/primitives/DropdownMenuTrigger.cjs +8 -0
- package/dist/primitives/DropdownMenuTrigger.d.ts +2 -1
- package/dist/primitives/DropdownMenuTrigger.d.ts.map +1 -0
- package/dist/primitives/DropdownMenuTrigger.js +5 -0
- package/dist/primitives/DropdownMenuTrigger.js.map +1 -0
- package/dist/primitives/Input.cjs +8 -0
- package/dist/primitives/Input.d.ts +2 -1
- package/dist/primitives/Input.d.ts.map +1 -0
- package/dist/primitives/Input.js +5 -0
- package/dist/primitives/Input.js.map +1 -0
- package/dist/primitives/Label.cjs +8 -0
- package/dist/primitives/Label.d.ts +2 -1
- package/dist/primitives/Label.d.ts.map +1 -0
- package/dist/primitives/Label.js +5 -0
- package/dist/primitives/Label.js.map +1 -0
- package/dist/primitives/Popover.cjs +8 -0
- package/dist/primitives/Popover.d.ts +2 -1
- package/dist/primitives/Popover.d.ts.map +1 -0
- package/dist/primitives/Popover.js +5 -0
- package/dist/primitives/Popover.js.map +1 -0
- package/dist/primitives/PopoverAnchor.cjs +8 -0
- package/dist/primitives/PopoverAnchor.d.ts +2 -1
- package/dist/primitives/PopoverAnchor.d.ts.map +1 -0
- package/dist/primitives/PopoverAnchor.js +5 -0
- package/dist/primitives/PopoverAnchor.js.map +1 -0
- package/dist/primitives/PopoverClose.cjs +8 -0
- package/dist/primitives/PopoverClose.d.ts +2 -0
- package/dist/primitives/PopoverClose.d.ts.map +1 -0
- package/dist/primitives/PopoverClose.js +5 -0
- package/dist/primitives/PopoverClose.js.map +1 -0
- package/dist/primitives/PopoverContent.cjs +8 -0
- package/dist/primitives/PopoverContent.d.ts +2 -1
- package/dist/primitives/PopoverContent.d.ts.map +1 -0
- package/dist/primitives/PopoverContent.js +5 -0
- package/dist/primitives/PopoverContent.js.map +1 -0
- package/dist/primitives/PopoverTrigger.cjs +8 -0
- package/dist/primitives/PopoverTrigger.d.ts +2 -1
- package/dist/primitives/PopoverTrigger.d.ts.map +1 -0
- package/dist/primitives/PopoverTrigger.js +5 -0
- package/dist/primitives/PopoverTrigger.js.map +1 -0
- package/dist/primitives/Progress.cjs +8 -0
- package/dist/primitives/Progress.d.ts +2 -1
- package/dist/primitives/Progress.d.ts.map +1 -0
- package/dist/primitives/Progress.js +5 -0
- package/dist/primitives/Progress.js.map +1 -0
- package/dist/primitives/ResizableHandle.cjs +8 -0
- package/dist/primitives/ResizableHandle.d.ts +2 -0
- package/dist/primitives/ResizableHandle.d.ts.map +1 -0
- package/dist/primitives/ResizableHandle.js +5 -0
- package/dist/primitives/ResizableHandle.js.map +1 -0
- package/dist/primitives/ResizablePanel.cjs +8 -0
- package/dist/primitives/ResizablePanel.d.ts +2 -0
- package/dist/primitives/ResizablePanel.d.ts.map +1 -0
- package/dist/primitives/ResizablePanel.js +5 -0
- package/dist/primitives/ResizablePanel.js.map +1 -0
- package/dist/primitives/ResizablePanelGroup.cjs +8 -0
- package/dist/primitives/ResizablePanelGroup.d.ts +2 -0
- package/dist/primitives/ResizablePanelGroup.d.ts.map +1 -0
- package/dist/primitives/ResizablePanelGroup.js +5 -0
- package/dist/primitives/ResizablePanelGroup.js.map +1 -0
- package/dist/primitives/ScrollArea.cjs +8 -0
- package/dist/primitives/ScrollArea.d.ts +2 -1
- package/dist/primitives/ScrollArea.d.ts.map +1 -0
- package/dist/primitives/ScrollArea.js +5 -0
- package/dist/primitives/ScrollArea.js.map +1 -0
- package/dist/primitives/ScrollBar.cjs +8 -0
- package/dist/primitives/ScrollBar.d.ts +2 -1
- package/dist/primitives/ScrollBar.d.ts.map +1 -0
- package/dist/primitives/ScrollBar.js +5 -0
- package/dist/primitives/ScrollBar.js.map +1 -0
- package/dist/primitives/Select.cjs +8 -0
- package/dist/primitives/Select.d.ts +2 -1
- package/dist/primitives/Select.d.ts.map +1 -0
- package/dist/primitives/Select.js +5 -0
- package/dist/primitives/Select.js.map +1 -0
- package/dist/primitives/SelectContent.cjs +8 -0
- package/dist/primitives/SelectContent.d.ts +2 -1
- package/dist/primitives/SelectContent.d.ts.map +1 -0
- package/dist/primitives/SelectContent.js +5 -0
- package/dist/primitives/SelectContent.js.map +1 -0
- package/dist/primitives/SelectGroup.cjs +8 -0
- package/dist/primitives/SelectGroup.d.ts +2 -1
- package/dist/primitives/SelectGroup.d.ts.map +1 -0
- package/dist/primitives/SelectGroup.js +5 -0
- package/dist/primitives/SelectGroup.js.map +1 -0
- package/dist/primitives/SelectItem.cjs +8 -0
- package/dist/primitives/SelectItem.d.ts +2 -1
- package/dist/primitives/SelectItem.d.ts.map +1 -0
- package/dist/primitives/SelectItem.js +5 -0
- package/dist/primitives/SelectItem.js.map +1 -0
- package/dist/primitives/SelectLabel.cjs +8 -0
- package/dist/primitives/SelectLabel.d.ts +2 -1
- package/dist/primitives/SelectLabel.d.ts.map +1 -0
- package/dist/primitives/SelectLabel.js +5 -0
- package/dist/primitives/SelectLabel.js.map +1 -0
- package/dist/primitives/SelectScrollDownButton.cjs +8 -0
- package/dist/primitives/SelectScrollDownButton.d.ts +2 -1
- package/dist/primitives/SelectScrollDownButton.d.ts.map +1 -0
- package/dist/primitives/SelectScrollDownButton.js +5 -0
- package/dist/primitives/SelectScrollDownButton.js.map +1 -0
- package/dist/primitives/SelectScrollUpButton.cjs +8 -0
- package/dist/primitives/SelectScrollUpButton.d.ts +2 -1
- package/dist/primitives/SelectScrollUpButton.d.ts.map +1 -0
- package/dist/primitives/SelectScrollUpButton.js +5 -0
- package/dist/primitives/SelectScrollUpButton.js.map +1 -0
- package/dist/primitives/SelectSeparator.cjs +8 -0
- package/dist/primitives/SelectSeparator.d.ts +2 -1
- package/dist/primitives/SelectSeparator.d.ts.map +1 -0
- package/dist/primitives/SelectSeparator.js +5 -0
- package/dist/primitives/SelectSeparator.js.map +1 -0
- package/dist/primitives/SelectTrigger.cjs +8 -0
- package/dist/primitives/SelectTrigger.d.ts +2 -1
- package/dist/primitives/SelectTrigger.d.ts.map +1 -0
- package/dist/primitives/SelectTrigger.js +5 -0
- package/dist/primitives/SelectTrigger.js.map +1 -0
- package/dist/primitives/SelectValue.cjs +8 -0
- package/dist/primitives/SelectValue.d.ts +2 -1
- package/dist/primitives/SelectValue.d.ts.map +1 -0
- package/dist/primitives/SelectValue.js +5 -0
- package/dist/primitives/SelectValue.js.map +1 -0
- package/dist/primitives/Separator.cjs +8 -0
- package/dist/primitives/Separator.d.ts +2 -1
- package/dist/primitives/Separator.d.ts.map +1 -0
- package/dist/primitives/Separator.js +5 -0
- package/dist/primitives/Separator.js.map +1 -0
- package/dist/primitives/Slider.cjs +8 -0
- package/dist/primitives/Slider.d.ts +2 -1
- package/dist/primitives/Slider.d.ts.map +1 -0
- package/dist/primitives/Slider.js +5 -0
- package/dist/primitives/Slider.js.map +1 -0
- package/dist/primitives/Switch.cjs +8 -0
- package/dist/primitives/Switch.d.ts +2 -1
- package/dist/primitives/Switch.d.ts.map +1 -0
- package/dist/primitives/Switch.js +5 -0
- package/dist/primitives/Switch.js.map +1 -0
- package/dist/primitives/Tabs.cjs +8 -0
- package/dist/primitives/Tabs.d.ts +2 -1
- package/dist/primitives/Tabs.d.ts.map +1 -0
- package/dist/primitives/Tabs.js +5 -0
- package/dist/primitives/Tabs.js.map +1 -0
- package/dist/primitives/TabsContent.cjs +8 -0
- package/dist/primitives/TabsContent.d.ts +2 -1
- package/dist/primitives/TabsContent.d.ts.map +1 -0
- package/dist/primitives/TabsContent.js +5 -0
- package/dist/primitives/TabsContent.js.map +1 -0
- package/dist/primitives/TabsList.cjs +8 -0
- package/dist/primitives/TabsList.d.ts +2 -1
- package/dist/primitives/TabsList.d.ts.map +1 -0
- package/dist/primitives/TabsList.js +5 -0
- package/dist/primitives/TabsList.js.map +1 -0
- package/dist/primitives/TabsTrigger.cjs +8 -0
- package/dist/primitives/TabsTrigger.d.ts +2 -1
- package/dist/primitives/TabsTrigger.d.ts.map +1 -0
- package/dist/primitives/TabsTrigger.js +5 -0
- package/dist/primitives/TabsTrigger.js.map +1 -0
- package/dist/primitives/Textarea.cjs +8 -0
- package/dist/primitives/Textarea.d.ts +2 -1
- package/dist/primitives/Textarea.d.ts.map +1 -0
- package/dist/primitives/Textarea.js +5 -0
- package/dist/primitives/Textarea.js.map +1 -0
- package/dist/primitives/Toaster.cjs +8 -0
- package/dist/primitives/Toaster.d.ts +2 -1
- package/dist/primitives/Toaster.d.ts.map +1 -0
- package/dist/primitives/Toaster.js +5 -0
- package/dist/primitives/Toaster.js.map +1 -0
- package/dist/primitives/Tooltip.cjs +8 -0
- package/dist/primitives/Tooltip.d.ts +2 -1
- package/dist/primitives/Tooltip.d.ts.map +1 -0
- package/dist/primitives/Tooltip.js +5 -0
- package/dist/primitives/Tooltip.js.map +1 -0
- package/dist/primitives/TooltipContent.cjs +8 -0
- package/dist/primitives/TooltipContent.d.ts +2 -1
- package/dist/primitives/TooltipContent.d.ts.map +1 -0
- package/dist/primitives/TooltipContent.js +5 -0
- package/dist/primitives/TooltipContent.js.map +1 -0
- package/dist/primitives/TooltipProvider.cjs +8 -0
- package/dist/primitives/TooltipProvider.d.ts +2 -1
- package/dist/primitives/TooltipProvider.d.ts.map +1 -0
- package/dist/primitives/TooltipProvider.js +5 -0
- package/dist/primitives/TooltipProvider.js.map +1 -0
- package/dist/primitives/TooltipTrigger.cjs +8 -0
- package/dist/primitives/TooltipTrigger.d.ts +2 -1
- package/dist/primitives/TooltipTrigger.d.ts.map +1 -0
- package/dist/primitives/TooltipTrigger.js +5 -0
- package/dist/primitives/TooltipTrigger.js.map +1 -0
- package/dist/primitives/badgeVariants.cjs +8 -0
- package/dist/primitives/badgeVariants.d.ts +2 -1
- package/dist/primitives/badgeVariants.d.ts.map +1 -0
- package/dist/primitives/badgeVariants.js +5 -0
- package/dist/primitives/badgeVariants.js.map +1 -0
- package/dist/primitives/bases/data/index.cjs +28 -14
- 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 -1
- package/dist/primitives/bases/data/index.js.map +1 -1
- package/dist/primitives/buttonVariants.cjs +8 -0
- package/dist/primitives/buttonVariants.d.ts +2 -1
- package/dist/primitives/buttonVariants.d.ts.map +1 -0
- package/dist/primitives/buttonVariants.js +5 -0
- package/dist/primitives/buttonVariants.js.map +1 -0
- package/dist/primitives/index.cjs +20 -0
- package/dist/primitives/index.d.ts +2 -1
- package/dist/primitives/index.d.ts.map +1 -0
- package/dist/primitives/index.js +5 -0
- package/dist/primitives/index.js.map +1 -0
- package/dist/primitives/toast.cjs +8 -0
- package/dist/primitives/toast.d.ts +2 -1
- package/dist/primitives/toast.d.ts.map +1 -0
- package/dist/primitives/toast.js +5 -0
- package/dist/primitives/toast.js.map +1 -0
- 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 -2240
- package/dist/product/index.d.ts +43 -41
- package/dist/product/index.d.ts.map +1 -0
- package/dist/product/index.js +88 -1912
- 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 -52
- 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 -2
- 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 -111
- 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 -5
- 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/styles/hanzo-motion.css +188 -0
- package/dist/telemetry.cjs +31 -14
- package/dist/telemetry.d.ts +1 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +14 -1
- package/dist/telemetry.js.map +1 -1
- package/dist/theme.css +185 -0
- package/dist/usage.cjs +24 -14
- package/dist/usage.d.ts +1 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +7 -1
- package/dist/usage.js.map +1 -1
- package/package.json +35 -78
- package/dist/ThemeToggleNext-AEDLHX5X.js +0 -4
- package/dist/ThemeToggleNext-AEDLHX5X.js.map +0 -1
- package/dist/ThemeToggleNext-N6ASYJ6J.cjs +0 -19
- package/dist/ThemeToggleNext-N6ASYJ6J.cjs.map +0 -1
- package/dist/backends/shadcn/aspect-ratio.d.ts +0 -4
- package/dist/backends/shadcn/avatar.d.ts +0 -6
- package/dist/backends/shadcn/badge.d.ts +0 -9
- package/dist/backends/shadcn/button.d.ts +0 -19
- package/dist/backends/shadcn/card.d.ts +0 -9
- package/dist/backends/shadcn/checkbox.d.ts +0 -9
- package/dist/backends/shadcn/collapsible.d.ts +0 -5
- package/dist/backends/shadcn/command.d.ts +0 -80
- package/dist/backends/shadcn/dialog.d.ts +0 -15
- package/dist/backends/shadcn/dropdown-menu.d.ts +0 -34
- package/dist/backends/shadcn/index.d.ts +0 -23
- package/dist/backends/shadcn/input.d.ts +0 -11
- package/dist/backends/shadcn/label.d.ts +0 -4
- package/dist/backends/shadcn/popover.d.ts +0 -7
- package/dist/backends/shadcn/progress.d.ts +0 -4
- package/dist/backends/shadcn/scroll-area.d.ts +0 -5
- package/dist/backends/shadcn/select.d.ts +0 -13
- package/dist/backends/shadcn/separator.d.ts +0 -4
- package/dist/backends/shadcn/slider.d.ts +0 -4
- package/dist/backends/shadcn/switch.d.ts +0 -4
- package/dist/backends/shadcn/tabs.d.ts +0 -7
- package/dist/backends/shadcn/textarea.d.ts +0 -4
- package/dist/backends/shadcn/toaster.d.ts +0 -10
- package/dist/backends/shadcn/tooltip.d.ts +0 -7
- package/dist/backends/shadcn/utils.d.ts +0 -8
- package/dist/billing.cjs +0 -14
- package/dist/billing.cjs.map +0 -1
- package/dist/billing.d.ts +0 -1
- package/dist/billing.js +0 -3
- package/dist/billing.js.map +0 -1
- package/dist/canvas.cjs.map +0 -1
- package/dist/chunk-3NG33DV2.cjs +0 -606
- package/dist/chunk-3NG33DV2.cjs.map +0 -1
- package/dist/chunk-5CZOYONP.js +0 -342
- package/dist/chunk-5CZOYONP.js.map +0 -1
- package/dist/chunk-77AMCLN4.js +0 -99
- package/dist/chunk-77AMCLN4.js.map +0 -1
- package/dist/chunk-7XDEUEWI.cjs +0 -43
- package/dist/chunk-7XDEUEWI.cjs.map +0 -1
- package/dist/chunk-7ZNK6JSS.js +0 -830
- package/dist/chunk-7ZNK6JSS.js.map +0 -1
- package/dist/chunk-ARV3P4CE.cjs +0 -104
- package/dist/chunk-ARV3P4CE.cjs.map +0 -1
- package/dist/chunk-FVQXROBK.js +0 -36
- package/dist/chunk-FVQXROBK.js.map +0 -1
- package/dist/chunk-GVCOAJLO.js +0 -396
- package/dist/chunk-GVCOAJLO.js.map +0 -1
- package/dist/chunk-GWNNLYX4.cjs +0 -352
- package/dist/chunk-GWNNLYX4.cjs.map +0 -1
- package/dist/chunk-MWBFAV3D.cjs +0 -104
- package/dist/chunk-MWBFAV3D.cjs.map +0 -1
- package/dist/chunk-ONVERVFG.cjs +0 -850
- package/dist/chunk-ONVERVFG.cjs.map +0 -1
- package/dist/chunk-P2QU5MN5.js +0 -554
- package/dist/chunk-P2QU5MN5.js.map +0 -1
- package/dist/chunk-WHJR5S4L.cjs +0 -417
- package/dist/chunk-WHJR5S4L.cjs.map +0 -1
- package/dist/chunk-ZGTJCJ55.js +0 -92
- package/dist/chunk-ZGTJCJ55.js.map +0 -1
- package/dist/components.d.ts +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/network.cjs +0 -14
- package/dist/network.cjs.map +0 -1
- package/dist/network.d.ts +0 -1
- package/dist/network.js +0 -3
- package/dist/network.js.map +0 -1
- package/dist/oss.cjs.map +0 -1
- package/dist/primitives/bases/data/index.cjs.map +0 -1
- package/dist/product/index.cjs.map +0 -1
- package/dist/product/menu/DropdownMenu.d.ts +0 -29
- 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
- package/dist/wallet.cjs +0 -14
- package/dist/wallet.cjs.map +0 -1
- package/dist/wallet.d.ts +0 -1
- package/dist/wallet.js +0 -3
- package/dist/wallet.js.map +0 -1
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
'use client';"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AnimatedLogo = AnimatedLogo;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
/**
|
|
7
|
+
* AnimatedLogo — the ONE animated brand logo across every Hanzo surface.
|
|
8
|
+
*
|
|
9
|
+
* On mount the full wordmark shows ("Hanzo {surface}", e.g. "Hanzo Cloud"), then
|
|
10
|
+
* collapses INTO just the brand mark; hover or keyboard-focus expands it back to
|
|
11
|
+
* the full name. This is the shared brand-identity primitive — the behavior that
|
|
12
|
+
* ships on hanzo.ai and cloud.hanzo.ai, made one component, white-label aware.
|
|
13
|
+
*
|
|
14
|
+
* <AnimatedLogo surface="Cloud" /> // Hanzo Cloud → H
|
|
15
|
+
* <AnimatedLogo surface="Studio" /> // Hanzo Studio → H
|
|
16
|
+
* <AnimatedLogo surface="Cloud" brand={LUX} /> // Lux Cloud → Lux mark
|
|
17
|
+
*
|
|
18
|
+
* Presentational + host-agnostic (plain React + inline SVG, no @hanzo/gui, no
|
|
19
|
+
* framer): drops into any surface — the Tamagui console, the Next marketing site,
|
|
20
|
+
* a desktop shell. Theme-aware (the mark is `currentColor`), and accessible: the
|
|
21
|
+
* accessible name is always the full "Hanzo {surface}" regardless of the visual
|
|
22
|
+
* collapse, and `prefers-reduced-motion` yields a static mark with no animation.
|
|
23
|
+
*/
|
|
24
|
+
const react_1 = require("react");
|
|
25
|
+
const brand_1 = require("./brand.cjs");
|
|
26
|
+
const animatedLogo_logic_1 = require("./animatedLogo.logic.cjs");
|
|
27
|
+
/** SSR-safe prefers-reduced-motion. Starts false (server), corrects on mount. */
|
|
28
|
+
function usePrefersReducedMotion() {
|
|
29
|
+
const [reduce, setReduce] = (0, react_1.useState)(false);
|
|
30
|
+
(0, react_1.useEffect)(() => {
|
|
31
|
+
if (typeof window === 'undefined' || !window.matchMedia)
|
|
32
|
+
return;
|
|
33
|
+
const mq = window.matchMedia('(prefers-reduced-motion: reduce)');
|
|
34
|
+
const sync = () => setReduce(mq.matches);
|
|
35
|
+
sync();
|
|
36
|
+
mq.addEventListener('change', sync);
|
|
37
|
+
return () => mq.removeEventListener('change', sync);
|
|
38
|
+
}, []);
|
|
39
|
+
return reduce;
|
|
40
|
+
}
|
|
41
|
+
function AnimatedLogo({ surface, brand = brand_1.HANZO, size = 22, gap = animatedLogo_logic_1.DEFAULT_GAP, introMs = animatedLogo_logic_1.DEFAULT_INTRO_MS, durationMs = animatedLogo_logic_1.DEFAULT_DURATION_MS, easing = animatedLogo_logic_1.HOUSE_EASE, href, onClick, component, className, style, 'aria-label': ariaLabel, }) {
|
|
42
|
+
const reduce = usePrefersReducedMotion();
|
|
43
|
+
const label = ariaLabel ?? (0, animatedLogo_logic_1.wordmarkText)(brand.name, surface);
|
|
44
|
+
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
45
|
+
const [focused, setFocused] = (0, react_1.useState)(false);
|
|
46
|
+
// Show the full wordmark on first paint (name shows on load), then collapse.
|
|
47
|
+
const [introShowing, setIntroShowing] = (0, react_1.useState)(introMs > 0);
|
|
48
|
+
const [naturalWidth, setNaturalWidth] = (0, react_1.useState)(undefined);
|
|
49
|
+
const wordRef = (0, react_1.useRef)(null);
|
|
50
|
+
// Mount intro: hold the name, then tuck it into the mark. Reduced motion skips
|
|
51
|
+
// the timeline entirely (static mark), so there is no animation.
|
|
52
|
+
(0, react_1.useEffect)(() => {
|
|
53
|
+
if (introMs <= 0)
|
|
54
|
+
return;
|
|
55
|
+
if (reduce) {
|
|
56
|
+
setIntroShowing(false);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const t = setTimeout(() => setIntroShowing(false), introMs);
|
|
60
|
+
return () => clearTimeout(t);
|
|
61
|
+
}, [introMs, reduce]);
|
|
62
|
+
// Measure the wordmark's natural width so it can animate to/from an exact px
|
|
63
|
+
// width (auto is not animatable). `scrollWidth` reports the full content width
|
|
64
|
+
// in every state (the wrapper is overflow-hidden + nowrap). Re-measure when the
|
|
65
|
+
// text changes and once the webfont has settled.
|
|
66
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
67
|
+
const el = wordRef.current;
|
|
68
|
+
if (!el)
|
|
69
|
+
return;
|
|
70
|
+
const measure = () => setNaturalWidth(el.scrollWidth);
|
|
71
|
+
measure();
|
|
72
|
+
const fonts = (typeof document !== 'undefined' && document.fonts) || null;
|
|
73
|
+
if (fonts?.ready)
|
|
74
|
+
fonts.ready.then(measure).catch(() => { });
|
|
75
|
+
}, [brand.name, surface]);
|
|
76
|
+
const expanded = (0, animatedLogo_logic_1.isExpanded)({ hovered, focused, introShowing });
|
|
77
|
+
const ws = (0, animatedLogo_logic_1.wordmarkStyle)({ expanded, naturalWidth, gap, durationMs, easing, reduce });
|
|
78
|
+
const Root = component ?? 'a';
|
|
79
|
+
const isAnchor = Root === 'a';
|
|
80
|
+
return ((0, jsx_runtime_1.jsxs)(Root, { ...(isAnchor ? { href: href ?? brand.href ?? '/' } : { href: href ?? brand.href }), onClick: onClick, "aria-label": label, title: label, className: className, onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false), onFocus: () => setFocused(true), onBlur: () => setFocused(false), style: {
|
|
81
|
+
display: 'inline-flex',
|
|
82
|
+
alignItems: 'center',
|
|
83
|
+
textDecoration: 'none',
|
|
84
|
+
color: 'inherit',
|
|
85
|
+
cursor: 'pointer',
|
|
86
|
+
...style,
|
|
87
|
+
}, children: [(0, jsx_runtime_1.jsx)("svg", { width: size, height: size, viewBox: brand.viewBox, "aria-hidden": "true", focusable: "false", fill: brand.fullColor ? undefined : 'currentColor', style: { display: 'block', flexShrink: 0 },
|
|
88
|
+
// `content` is a build-time-trusted constant (see ./brand), never user input.
|
|
89
|
+
dangerouslySetInnerHTML: { __html: brand.content } }), (0, jsx_runtime_1.jsx)("span", { ref: wordRef, "aria-hidden": "true", style: {
|
|
90
|
+
display: 'inline-block',
|
|
91
|
+
overflow: 'hidden',
|
|
92
|
+
whiteSpace: 'nowrap',
|
|
93
|
+
fontWeight: 600,
|
|
94
|
+
fontSize: 15,
|
|
95
|
+
letterSpacing: '-0.01em',
|
|
96
|
+
lineHeight: 1,
|
|
97
|
+
width: ws.width,
|
|
98
|
+
opacity: ws.opacity,
|
|
99
|
+
marginLeft: ws.marginLeft,
|
|
100
|
+
transition: ws.transition,
|
|
101
|
+
}, children: label })] }));
|
|
102
|
+
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* collapse, and `prefers-reduced-motion` yields a static mark with no animation.
|
|
18
18
|
*/
|
|
19
19
|
import React from 'react';
|
|
20
|
-
import { type BrandIdentity } from './brand';
|
|
20
|
+
import { type BrandIdentity } from './brand.js';
|
|
21
21
|
export interface AnimatedLogoProps {
|
|
22
22
|
/** Surface word after the brand ("AI", "Cloud", "Studio", "Chat", "App", "Console", "Team"). */
|
|
23
23
|
surface?: string;
|
|
@@ -45,3 +45,4 @@ export interface AnimatedLogoProps {
|
|
|
45
45
|
'aria-label'?: string;
|
|
46
46
|
}
|
|
47
47
|
export declare function AnimatedLogo({ surface, brand, size, gap, introMs, durationMs, easing, href, onClick, component, className, style, 'aria-label': ariaLabel, }: AnimatedLogoProps): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
//# sourceMappingURL=AnimatedLogo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimatedLogo.d.ts","sourceRoot":"","sources":["../../src/product/AnimatedLogo.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAuD,MAAM,OAAO,CAAA;AAE3E,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAWnD,MAAM,WAAW,iBAAiB;IAChC,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;4CACwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAA;IACjC,oEAAoE;IACpE,SAAS,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAgBD,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAa,EACb,IAAS,EACT,GAAiB,EACjB,OAA0B,EAC1B,UAAgC,EAChC,MAAmB,EACnB,IAAI,EACJ,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,YAAY,EAAE,SAAS,GACxB,EAAE,iBAAiB,2CA8FnB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* AnimatedLogo — the ONE animated brand logo across every Hanzo surface.
|
|
5
|
+
*
|
|
6
|
+
* On mount the full wordmark shows ("Hanzo {surface}", e.g. "Hanzo Cloud"), then
|
|
7
|
+
* collapses INTO just the brand mark; hover or keyboard-focus expands it back to
|
|
8
|
+
* the full name. This is the shared brand-identity primitive — the behavior that
|
|
9
|
+
* ships on hanzo.ai and cloud.hanzo.ai, made one component, white-label aware.
|
|
10
|
+
*
|
|
11
|
+
* <AnimatedLogo surface="Cloud" /> // Hanzo Cloud → H
|
|
12
|
+
* <AnimatedLogo surface="Studio" /> // Hanzo Studio → H
|
|
13
|
+
* <AnimatedLogo surface="Cloud" brand={LUX} /> // Lux Cloud → Lux mark
|
|
14
|
+
*
|
|
15
|
+
* Presentational + host-agnostic (plain React + inline SVG, no @hanzo/gui, no
|
|
16
|
+
* framer): drops into any surface — the Tamagui console, the Next marketing site,
|
|
17
|
+
* a desktop shell. Theme-aware (the mark is `currentColor`), and accessible: the
|
|
18
|
+
* accessible name is always the full "Hanzo {surface}" regardless of the visual
|
|
19
|
+
* collapse, and `prefers-reduced-motion` yields a static mark with no animation.
|
|
20
|
+
*/
|
|
21
|
+
import { useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
22
|
+
import { HANZO } from './brand.js';
|
|
23
|
+
import { DEFAULT_DURATION_MS, DEFAULT_GAP, DEFAULT_INTRO_MS, HOUSE_EASE, isExpanded, wordmarkStyle, wordmarkText, } from './animatedLogo.logic.js';
|
|
24
|
+
/** SSR-safe prefers-reduced-motion. Starts false (server), corrects on mount. */
|
|
25
|
+
function usePrefersReducedMotion() {
|
|
26
|
+
const [reduce, setReduce] = useState(false);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (typeof window === 'undefined' || !window.matchMedia)
|
|
29
|
+
return;
|
|
30
|
+
const mq = window.matchMedia('(prefers-reduced-motion: reduce)');
|
|
31
|
+
const sync = () => setReduce(mq.matches);
|
|
32
|
+
sync();
|
|
33
|
+
mq.addEventListener('change', sync);
|
|
34
|
+
return () => mq.removeEventListener('change', sync);
|
|
35
|
+
}, []);
|
|
36
|
+
return reduce;
|
|
37
|
+
}
|
|
38
|
+
export function AnimatedLogo({ surface, brand = HANZO, size = 22, gap = DEFAULT_GAP, introMs = DEFAULT_INTRO_MS, durationMs = DEFAULT_DURATION_MS, easing = HOUSE_EASE, href, onClick, component, className, style, 'aria-label': ariaLabel, }) {
|
|
39
|
+
const reduce = usePrefersReducedMotion();
|
|
40
|
+
const label = ariaLabel ?? wordmarkText(brand.name, surface);
|
|
41
|
+
const [hovered, setHovered] = useState(false);
|
|
42
|
+
const [focused, setFocused] = useState(false);
|
|
43
|
+
// Show the full wordmark on first paint (name shows on load), then collapse.
|
|
44
|
+
const [introShowing, setIntroShowing] = useState(introMs > 0);
|
|
45
|
+
const [naturalWidth, setNaturalWidth] = useState(undefined);
|
|
46
|
+
const wordRef = useRef(null);
|
|
47
|
+
// Mount intro: hold the name, then tuck it into the mark. Reduced motion skips
|
|
48
|
+
// the timeline entirely (static mark), so there is no animation.
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (introMs <= 0)
|
|
51
|
+
return;
|
|
52
|
+
if (reduce) {
|
|
53
|
+
setIntroShowing(false);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const t = setTimeout(() => setIntroShowing(false), introMs);
|
|
57
|
+
return () => clearTimeout(t);
|
|
58
|
+
}, [introMs, reduce]);
|
|
59
|
+
// Measure the wordmark's natural width so it can animate to/from an exact px
|
|
60
|
+
// width (auto is not animatable). `scrollWidth` reports the full content width
|
|
61
|
+
// in every state (the wrapper is overflow-hidden + nowrap). Re-measure when the
|
|
62
|
+
// text changes and once the webfont has settled.
|
|
63
|
+
useLayoutEffect(() => {
|
|
64
|
+
const el = wordRef.current;
|
|
65
|
+
if (!el)
|
|
66
|
+
return;
|
|
67
|
+
const measure = () => setNaturalWidth(el.scrollWidth);
|
|
68
|
+
measure();
|
|
69
|
+
const fonts = (typeof document !== 'undefined' && document.fonts) || null;
|
|
70
|
+
if (fonts?.ready)
|
|
71
|
+
fonts.ready.then(measure).catch(() => { });
|
|
72
|
+
}, [brand.name, surface]);
|
|
73
|
+
const expanded = isExpanded({ hovered, focused, introShowing });
|
|
74
|
+
const ws = wordmarkStyle({ expanded, naturalWidth, gap, durationMs, easing, reduce });
|
|
75
|
+
const Root = component ?? 'a';
|
|
76
|
+
const isAnchor = Root === 'a';
|
|
77
|
+
return (_jsxs(Root, { ...(isAnchor ? { href: href ?? brand.href ?? '/' } : { href: href ?? brand.href }), onClick: onClick, "aria-label": label, title: label, className: className, onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false), onFocus: () => setFocused(true), onBlur: () => setFocused(false), style: {
|
|
78
|
+
display: 'inline-flex',
|
|
79
|
+
alignItems: 'center',
|
|
80
|
+
textDecoration: 'none',
|
|
81
|
+
color: 'inherit',
|
|
82
|
+
cursor: 'pointer',
|
|
83
|
+
...style,
|
|
84
|
+
}, children: [_jsx("svg", { width: size, height: size, viewBox: brand.viewBox, "aria-hidden": "true", focusable: "false", fill: brand.fullColor ? undefined : 'currentColor', style: { display: 'block', flexShrink: 0 },
|
|
85
|
+
// `content` is a build-time-trusted constant (see ./brand), never user input.
|
|
86
|
+
dangerouslySetInnerHTML: { __html: brand.content } }), _jsx("span", { ref: wordRef, "aria-hidden": "true", style: {
|
|
87
|
+
display: 'inline-block',
|
|
88
|
+
overflow: 'hidden',
|
|
89
|
+
whiteSpace: 'nowrap',
|
|
90
|
+
fontWeight: 600,
|
|
91
|
+
fontSize: 15,
|
|
92
|
+
letterSpacing: '-0.01em',
|
|
93
|
+
lineHeight: 1,
|
|
94
|
+
width: ws.width,
|
|
95
|
+
opacity: ws.opacity,
|
|
96
|
+
marginLeft: ws.marginLeft,
|
|
97
|
+
transition: ws.transition,
|
|
98
|
+
}, children: label })] }));
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=AnimatedLogo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimatedLogo.js","sourceRoot":"","sources":["../../src/product/AnimatedLogo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use client';"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AppHeader = AppHeader;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
/**
|
|
7
|
+
* AppHeader — the shared shell header every Hanzo surface renders: the brand
|
|
8
|
+
* mark top-left (from @hanzo/logo, white-label via `wordmark`/`brand`), an
|
|
9
|
+
* org/project slot (usually `<OrgSwitcher/>`), an app switcher listing the
|
|
10
|
+
* Hanzo surfaces (modeled on the console's AppLauncher), and an identity menu
|
|
11
|
+
* (Profile · Theme · Team settings · Billing · Sign out).
|
|
12
|
+
*
|
|
13
|
+
* Host-agnostic: every action is an injected handler; a row renders only when
|
|
14
|
+
* its handler is provided (honest — no dead menu items). Mobile-first: fluid
|
|
15
|
+
* flex + truncation, the wordmark collapse is the brand motion itself.
|
|
16
|
+
*/
|
|
17
|
+
const react_1 = require("react");
|
|
18
|
+
const gui_1 = require("@hanzo/gui");
|
|
19
|
+
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
20
|
+
const BrandMark_1 = require("./BrandMark.cjs");
|
|
21
|
+
const ThemeToggle_1 = require("./ThemeToggle.cjs");
|
|
22
|
+
const surfaces_data_1 = require("./surfaces.data.cjs");
|
|
23
|
+
/** The per-surface glyph — keyed by `Surface.id`, so each surface reads distinctly. */
|
|
24
|
+
const SURFACE_ICON = {
|
|
25
|
+
ai: lucide_icons_2_1.Sparkles,
|
|
26
|
+
console: lucide_icons_2_1.LayoutGrid,
|
|
27
|
+
app: lucide_icons_2_1.AppWindow,
|
|
28
|
+
chat: lucide_icons_2_1.MessageCircle,
|
|
29
|
+
bot: lucide_icons_2_1.Bot,
|
|
30
|
+
team: lucide_icons_2_1.Users,
|
|
31
|
+
billing: lucide_icons_2_1.CreditCard,
|
|
32
|
+
};
|
|
33
|
+
const openHref = (href) => {
|
|
34
|
+
if (typeof window !== 'undefined')
|
|
35
|
+
window.open(href, '_blank', 'noopener');
|
|
36
|
+
};
|
|
37
|
+
function MenuRow({ icon, label, onPress }) {
|
|
38
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { onPress: onPress, cursor: "pointer", items: "center", gap: "$2.5", px: "$2", py: "$2", rounded: "$3", hoverStyle: { bg: '$color5' }, children: [icon, (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$color12", children: label })] }));
|
|
39
|
+
}
|
|
40
|
+
function AppHeader({ brand, wordmark = 'Hanzo', onBrand, org, children, current, surfaces, open, user, menu, theme, onProfile, onTeam, onBilling, onSignOut, }) {
|
|
41
|
+
const [appsOpen, setAppsOpen] = (0, react_1.useState)(false);
|
|
42
|
+
const [menuOpen, setMenuOpen] = (0, react_1.useState)(false);
|
|
43
|
+
const items = surfaces ?? (0, surfaces_data_1.otherSurfaces)(current);
|
|
44
|
+
const launch = (s) => {
|
|
45
|
+
setAppsOpen(false);
|
|
46
|
+
if (open)
|
|
47
|
+
open(s);
|
|
48
|
+
else
|
|
49
|
+
openHref(s.href);
|
|
50
|
+
};
|
|
51
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", px: "$3", height: 52, borderBottomWidth: 1, borderColor: "$borderColor", bg: "$background", children: [(0, jsx_runtime_1.jsx)(gui_1.XStack, { items: "center", cursor: onBrand ? 'pointer' : undefined, onPress: onBrand, children: brand ?? (0, jsx_runtime_1.jsx)(BrandMark_1.BrandMark, { wordmark: wordmark }) }), org ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { items: "center", minW: 0, children: org })) : null, (0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1, items: "center", minW: 0, children: children }), items.length > 0 ? ((0, jsx_runtime_1.jsxs)(gui_1.Popover, { open: appsOpen, onOpenChange: setAppsOpen, placement: "bottom-end", children: [(0, jsx_runtime_1.jsx)(gui_1.Popover.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", chromeless: true, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Grip, { size: 16 }), "aria-label": "Apps" }) }), (0, jsx_runtime_1.jsx)(gui_1.Popover.Content, { bordered: true, elevate: true, p: "$2", width: 230, bg: "$color2", borderColor: "$borderColor", children: (0, jsx_runtime_1.jsx)(gui_1.YStack, { gap: "$1", children: items.map((s) => {
|
|
52
|
+
const Icon = SURFACE_ICON[s.id];
|
|
53
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { onPress: () => launch(s), cursor: "pointer", items: "center", gap: "$2.5", px: "$2", py: "$2", rounded: "$3", hoverStyle: { bg: '$color5' }, children: [(0, jsx_runtime_1.jsx)(Icon, { size: 16 }), (0, jsx_runtime_1.jsx)(gui_1.Text, { flex: 1, fontSize: "$2", fontWeight: "600", color: "$color12", children: s.label }), s.hint ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$1", color: "$color10", children: s.hint })) : null] }, s.id));
|
|
54
|
+
}) }) })] })) : null, (0, jsx_runtime_1.jsxs)(gui_1.Popover, { open: menuOpen, onOpenChange: setMenuOpen, placement: "bottom-end", children: [(0, jsx_runtime_1.jsx)(gui_1.Popover.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", chromeless: true, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.UserRound, { size: 16 }), "aria-label": "Account", children: user ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$color12", numberOfLines: 1, maxW: 140, children: user })) : null }) }), (0, jsx_runtime_1.jsx)(gui_1.Popover.Content, { bordered: true, elevate: true, p: "$2", width: 220, bg: "$color2", borderColor: "$borderColor", children: menu ?? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", children: [onProfile ? (0, jsx_runtime_1.jsx)(MenuRow, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.UserRound, { size: 15 }), label: "Profile", onPress: () => (setMenuOpen(false), onProfile()) }) : null, theme !== null ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2.5", px: "$2", py: "$1", rounded: "$3", children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { flex: 1, fontSize: "$2", color: "$color12", children: "Theme" }), theme ?? (0, jsx_runtime_1.jsx)(ThemeToggle_1.ThemeToggle, {})] })) : null, onTeam ? (0, jsx_runtime_1.jsx)(MenuRow, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Settings2, { size: 15 }), label: "Team settings", onPress: () => (setMenuOpen(false), onTeam()) }) : null, onBilling ? (0, jsx_runtime_1.jsx)(MenuRow, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.CreditCard, { size: 15 }), label: "Billing", onPress: () => (setMenuOpen(false), onBilling()) }) : null, onSignOut ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(gui_1.Separator, { borderColor: "$borderColor", my: "$1" }), (0, jsx_runtime_1.jsx)(MenuRow, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.LogOut, { size: 15 }), label: "Sign out", onPress: () => (setMenuOpen(false), onSignOut()) })] })) : null] })) })] })] }));
|
|
55
|
+
}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* flex + truncation, the wordmark collapse is the brand motion itself.
|
|
11
11
|
*/
|
|
12
12
|
import { type ReactNode } from 'react';
|
|
13
|
-
import { type Surface, type SurfaceId } from './surfaces.data';
|
|
13
|
+
import { type Surface, type SurfaceId } from './surfaces.data.js';
|
|
14
14
|
export type AppHeaderProps = {
|
|
15
15
|
/** Brand slot — defaults to the animated `<BrandMark/>`. */
|
|
16
16
|
brand?: ReactNode;
|
|
@@ -40,3 +40,4 @@ export type AppHeaderProps = {
|
|
|
40
40
|
onSignOut?: () => void;
|
|
41
41
|
};
|
|
42
42
|
export declare function AppHeader({ brand, wordmark, onBrand, org, children, current, surfaces, open, user, menu, theme, onProfile, onTeam, onBilling, onSignOut, }: AppHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
//# sourceMappingURL=AppHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../src/product/AppHeader.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAMhD,OAAO,EAAiB,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA4B7E,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,qFAAqF;IACrF,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,wDAAwD;IACxD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACjC,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,wEAAwE;IACxE,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAkB,EAClB,OAAO,EACP,GAAG,EACH,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,SAAS,GACV,EAAE,cAAc,2CA0FhB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* AppHeader — the shared shell header every Hanzo surface renders: the brand
|
|
5
|
+
* mark top-left (from @hanzo/logo, white-label via `wordmark`/`brand`), an
|
|
6
|
+
* org/project slot (usually `<OrgSwitcher/>`), an app switcher listing the
|
|
7
|
+
* Hanzo surfaces (modeled on the console's AppLauncher), and an identity menu
|
|
8
|
+
* (Profile · Theme · Team settings · Billing · Sign out).
|
|
9
|
+
*
|
|
10
|
+
* Host-agnostic: every action is an injected handler; a row renders only when
|
|
11
|
+
* its handler is provided (honest — no dead menu items). Mobile-first: fluid
|
|
12
|
+
* flex + truncation, the wordmark collapse is the brand motion itself.
|
|
13
|
+
*/
|
|
14
|
+
import { useState } from 'react';
|
|
15
|
+
import { Button, Popover, Separator, Text, XStack, YStack } from '@hanzo/gui';
|
|
16
|
+
import { AppWindow, Bot, CreditCard, Grip, LayoutGrid, LogOut, MessageCircle, Settings2, Sparkles, UserRound, Users } from '@hanzogui/lucide-icons-2';
|
|
17
|
+
import { BrandMark } from './BrandMark.js';
|
|
18
|
+
import { ThemeToggle } from './ThemeToggle.js';
|
|
19
|
+
import { otherSurfaces } from './surfaces.data.js';
|
|
20
|
+
/** The per-surface glyph — keyed by `Surface.id`, so each surface reads distinctly. */
|
|
21
|
+
const SURFACE_ICON = {
|
|
22
|
+
ai: Sparkles,
|
|
23
|
+
console: LayoutGrid,
|
|
24
|
+
app: AppWindow,
|
|
25
|
+
chat: MessageCircle,
|
|
26
|
+
bot: Bot,
|
|
27
|
+
team: Users,
|
|
28
|
+
billing: CreditCard,
|
|
29
|
+
};
|
|
30
|
+
const openHref = (href) => {
|
|
31
|
+
if (typeof window !== 'undefined')
|
|
32
|
+
window.open(href, '_blank', 'noopener');
|
|
33
|
+
};
|
|
34
|
+
function MenuRow({ icon, label, onPress }) {
|
|
35
|
+
return (_jsxs(XStack, { onPress: onPress, cursor: "pointer", items: "center", gap: "$2.5", px: "$2", py: "$2", rounded: "$3", hoverStyle: { bg: '$color5' }, children: [icon, _jsx(Text, { fontSize: "$2", color: "$color12", children: label })] }));
|
|
36
|
+
}
|
|
37
|
+
export function AppHeader({ brand, wordmark = 'Hanzo', onBrand, org, children, current, surfaces, open, user, menu, theme, onProfile, onTeam, onBilling, onSignOut, }) {
|
|
38
|
+
const [appsOpen, setAppsOpen] = useState(false);
|
|
39
|
+
const [menuOpen, setMenuOpen] = useState(false);
|
|
40
|
+
const items = surfaces ?? otherSurfaces(current);
|
|
41
|
+
const launch = (s) => {
|
|
42
|
+
setAppsOpen(false);
|
|
43
|
+
if (open)
|
|
44
|
+
open(s);
|
|
45
|
+
else
|
|
46
|
+
openHref(s.href);
|
|
47
|
+
};
|
|
48
|
+
return (_jsxs(XStack, { items: "center", gap: "$2", px: "$3", height: 52, borderBottomWidth: 1, borderColor: "$borderColor", bg: "$background", children: [_jsx(XStack, { items: "center", cursor: onBrand ? 'pointer' : undefined, onPress: onBrand, children: brand ?? _jsx(BrandMark, { wordmark: wordmark }) }), org ? (_jsx(XStack, { items: "center", minW: 0, children: org })) : null, _jsx(XStack, { flex: 1, items: "center", minW: 0, children: children }), items.length > 0 ? (_jsxs(Popover, { open: appsOpen, onOpenChange: setAppsOpen, placement: "bottom-end", children: [_jsx(Popover.Trigger, { asChild: true, children: _jsx(Button, { size: "$2", chromeless: true, icon: _jsx(Grip, { size: 16 }), "aria-label": "Apps" }) }), _jsx(Popover.Content, { bordered: true, elevate: true, p: "$2", width: 230, bg: "$color2", borderColor: "$borderColor", children: _jsx(YStack, { gap: "$1", children: items.map((s) => {
|
|
49
|
+
const Icon = SURFACE_ICON[s.id];
|
|
50
|
+
return (_jsxs(XStack, { onPress: () => launch(s), cursor: "pointer", items: "center", gap: "$2.5", px: "$2", py: "$2", rounded: "$3", hoverStyle: { bg: '$color5' }, children: [_jsx(Icon, { size: 16 }), _jsx(Text, { flex: 1, fontSize: "$2", fontWeight: "600", color: "$color12", children: s.label }), s.hint ? (_jsx(Text, { fontSize: "$1", color: "$color10", children: s.hint })) : null] }, s.id));
|
|
51
|
+
}) }) })] })) : null, _jsxs(Popover, { open: menuOpen, onOpenChange: setMenuOpen, placement: "bottom-end", children: [_jsx(Popover.Trigger, { asChild: true, children: _jsx(Button, { size: "$2", chromeless: true, icon: _jsx(UserRound, { size: 16 }), "aria-label": "Account", children: user ? (_jsx(Text, { fontSize: "$2", color: "$color12", numberOfLines: 1, maxW: 140, children: user })) : null }) }), _jsx(Popover.Content, { bordered: true, elevate: true, p: "$2", width: 220, bg: "$color2", borderColor: "$borderColor", children: menu ?? (_jsxs(YStack, { gap: "$1", children: [onProfile ? _jsx(MenuRow, { icon: _jsx(UserRound, { size: 15 }), label: "Profile", onPress: () => (setMenuOpen(false), onProfile()) }) : null, theme !== null ? (_jsxs(XStack, { items: "center", gap: "$2.5", px: "$2", py: "$1", rounded: "$3", children: [_jsx(Text, { flex: 1, fontSize: "$2", color: "$color12", children: "Theme" }), theme ?? _jsx(ThemeToggle, {})] })) : null, onTeam ? _jsx(MenuRow, { icon: _jsx(Settings2, { size: 15 }), label: "Team settings", onPress: () => (setMenuOpen(false), onTeam()) }) : null, onBilling ? _jsx(MenuRow, { icon: _jsx(CreditCard, { size: 15 }), label: "Billing", onPress: () => (setMenuOpen(false), onBilling()) }) : null, onSignOut ? (_jsxs(_Fragment, { children: [_jsx(Separator, { borderColor: "$borderColor", my: "$1" }), _jsx(MenuRow, { icon: _jsx(LogOut, { size: 15 }), label: "Sign out", onPress: () => (setMenuOpen(false), onSignOut()) })] })) : null] })) })] })] }));
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=AppHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppHeader.js","sourceRoot":"","sources":["../../src/product/AppHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
'use client';"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.classifyBackend = classifyBackend;
|
|
5
|
+
exports.classifyRead = classifyRead;
|
|
6
|
+
exports.BackendStateCard = BackendStateCard;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const gui_1 = require("@hanzo/gui");
|
|
9
|
+
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
10
|
+
const host_1 = require("./host.cjs");
|
|
11
|
+
/**
|
|
12
|
+
* Classify a thrown `/v1` error into an honest kind + raw message.
|
|
13
|
+
*
|
|
14
|
+
* 401 and 403 are DISTINCT for a signed-in user: 401 = the session is expired /
|
|
15
|
+
* not recognized (re-auth fixes it → `signin`), 403 = the account IS signed in
|
|
16
|
+
* but this surface isn't authorized/enabled for its org (`access`). A signed-in
|
|
17
|
+
* user is NEVER told to "sign in" for a 403 — that would be a false instruction.
|
|
18
|
+
*/
|
|
19
|
+
function classifyBackend(e) {
|
|
20
|
+
const status = typeof e?.status === 'number' ? e.status : 0;
|
|
21
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
22
|
+
if (status === 503)
|
|
23
|
+
return { kind: 'not-initialized', message };
|
|
24
|
+
if (status === 404 || status === 405)
|
|
25
|
+
return { kind: 'unavailable', message };
|
|
26
|
+
// 501 — the route EXISTS and answers honestly that its body ships later (the
|
|
27
|
+
// Cloudflare R2/KV/D1 Phase-2 seams). Distinct from 404 (not mounted here): the
|
|
28
|
+
// capability is real and planned, so say that rather than "not available yet".
|
|
29
|
+
if (status === 501)
|
|
30
|
+
return { kind: 'not-implemented', message };
|
|
31
|
+
if (status === 402)
|
|
32
|
+
return { kind: 'billing', message };
|
|
33
|
+
if (status === 401)
|
|
34
|
+
return { kind: 'signin', message };
|
|
35
|
+
if (status === 403)
|
|
36
|
+
return { kind: 'access', message };
|
|
37
|
+
return { kind: 'error', message };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Classify a READ (GET/list) failure. Identical to `classifyBackend` EXCEPT a 402
|
|
41
|
+
* is NOT a wall: listing/reading a resource is never credit-gated, so a 402 on a
|
|
42
|
+
* read means "nothing is provisioned yet" — the caller shows its honest EMPTY
|
|
43
|
+
* state (e.g. "No buckets yet · Create one"), never an "add credits" paywall
|
|
44
|
+
* (that belongs only on a paid WRITE). Returns `null` for a 402 → treat as empty.
|
|
45
|
+
*/
|
|
46
|
+
function classifyRead(e) {
|
|
47
|
+
const s = classifyBackend(e);
|
|
48
|
+
return s.kind === 'billing' ? null : s;
|
|
49
|
+
}
|
|
50
|
+
const TITLES = {
|
|
51
|
+
'not-initialized': 'Backend not initialized',
|
|
52
|
+
unavailable: 'Not available on this deployment yet',
|
|
53
|
+
'not-implemented': 'Not yet available',
|
|
54
|
+
access: 'Not enabled for your account',
|
|
55
|
+
signin: 'Your session expired',
|
|
56
|
+
billing: 'Add credits to continue',
|
|
57
|
+
error: 'Could not reach the backend',
|
|
58
|
+
};
|
|
59
|
+
const BODIES = {
|
|
60
|
+
'not-initialized': 'The /v1 route is mounted but its runtime (or the console API key it proxies to) is not configured on this deployment yet. Real data appears here once it is — no placeholder data is shown.',
|
|
61
|
+
unavailable: 'This endpoint is not mounted at the gateway on this host yet. The view lights up automatically once the route is live.',
|
|
62
|
+
// 501 — a real, planned capability whose body ships in a later phase.
|
|
63
|
+
'not-implemented': 'This capability is planned but not wired yet. The backend answers honestly rather than pretending it worked — nothing here is fabricated, and the view lights up automatically once it ships.',
|
|
64
|
+
// 403 for a SIGNED-IN user — never "sign in".
|
|
65
|
+
access: "You're signed in, but this isn't enabled for your organization on this deployment, or it's an admin-only surface. It appears here automatically once your account has access — nothing is fabricated.",
|
|
66
|
+
// 401 — the session itself lapsed; re-auth returns to this exact page.
|
|
67
|
+
signin: 'Your session has expired or isn’t recognized here. Sign in again to continue where you left off.',
|
|
68
|
+
// Empty → the card shows the backend's own message (the honest "Insufficient
|
|
69
|
+
// balance. Please add credits…" from the gateway billing gate).
|
|
70
|
+
billing: '',
|
|
71
|
+
error: '',
|
|
72
|
+
};
|
|
73
|
+
/** A truthful state card for a `/v1` load failure, with an optional retry + hint. */
|
|
74
|
+
function BackendStateCard({ state, onRetry, hint, }) {
|
|
75
|
+
const { signIn, addCredits } = (0, host_1.useHost)();
|
|
76
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.Card, { borderWidth: 1, borderColor: "$borderColor", p: "$4", gap: "$2", maxWidth: 640, children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$2", items: "center", children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.TriangleAlert, { size: 16 }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$4", fontWeight: "700", children: TITLES[state.kind] })] }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", color: "$color11", children: BODIES[state.kind] || state.message }), hint ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$color10", children: hint })) : null, state.kind === 'signin' && signIn ? ((0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", theme: "light", self: "flex-start", onPress: signIn, children: "Sign in again" })) : state.kind === 'billing' && addCredits ? (
|
|
77
|
+
// 402 — the org has no funded balance. Offer a top-up CTA (and keep Retry so
|
|
78
|
+
// a returning, funded caller can reload in place).
|
|
79
|
+
(0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$2", items: "center", flexWrap: "wrap", children: [(0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", theme: "light", self: "flex-start", icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.CreditCard, { size: 14 }), onPress: addCredits, children: "Add credits" }), onRetry ? ((0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", self: "flex-start", onPress: onRetry, children: "Retry" })) : null] })) : onRetry ? ((0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$2", self: "flex-start", onPress: onRetry, children: "Retry" })) : null] }));
|
|
80
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackendState.d.ts","sourceRoot":"","sources":["../../src/product/BackendState.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,aAAa,GACb,iBAAiB,GACjB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,OAAO,CAAA;AAEX,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,YAAY,CAaxD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAG5D;AA+BD,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE;IACD,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,2CA0CA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button, Card, Text, XStack } from '@hanzo/gui';
|
|
4
|
+
import { TriangleAlert, CreditCard } from '@hanzogui/lucide-icons-2';
|
|
5
|
+
import { useHost } from './host.js';
|
|
6
|
+
/**
|
|
7
|
+
* Classify a thrown `/v1` error into an honest kind + raw message.
|
|
8
|
+
*
|
|
9
|
+
* 401 and 403 are DISTINCT for a signed-in user: 401 = the session is expired /
|
|
10
|
+
* not recognized (re-auth fixes it → `signin`), 403 = the account IS signed in
|
|
11
|
+
* but this surface isn't authorized/enabled for its org (`access`). A signed-in
|
|
12
|
+
* user is NEVER told to "sign in" for a 403 — that would be a false instruction.
|
|
13
|
+
*/
|
|
14
|
+
export function classifyBackend(e) {
|
|
15
|
+
const status = typeof e?.status === 'number' ? e.status : 0;
|
|
16
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
17
|
+
if (status === 503)
|
|
18
|
+
return { kind: 'not-initialized', message };
|
|
19
|
+
if (status === 404 || status === 405)
|
|
20
|
+
return { kind: 'unavailable', message };
|
|
21
|
+
// 501 — the route EXISTS and answers honestly that its body ships later (the
|
|
22
|
+
// Cloudflare R2/KV/D1 Phase-2 seams). Distinct from 404 (not mounted here): the
|
|
23
|
+
// capability is real and planned, so say that rather than "not available yet".
|
|
24
|
+
if (status === 501)
|
|
25
|
+
return { kind: 'not-implemented', message };
|
|
26
|
+
if (status === 402)
|
|
27
|
+
return { kind: 'billing', message };
|
|
28
|
+
if (status === 401)
|
|
29
|
+
return { kind: 'signin', message };
|
|
30
|
+
if (status === 403)
|
|
31
|
+
return { kind: 'access', message };
|
|
32
|
+
return { kind: 'error', message };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Classify a READ (GET/list) failure. Identical to `classifyBackend` EXCEPT a 402
|
|
36
|
+
* is NOT a wall: listing/reading a resource is never credit-gated, so a 402 on a
|
|
37
|
+
* read means "nothing is provisioned yet" — the caller shows its honest EMPTY
|
|
38
|
+
* state (e.g. "No buckets yet · Create one"), never an "add credits" paywall
|
|
39
|
+
* (that belongs only on a paid WRITE). Returns `null` for a 402 → treat as empty.
|
|
40
|
+
*/
|
|
41
|
+
export function classifyRead(e) {
|
|
42
|
+
const s = classifyBackend(e);
|
|
43
|
+
return s.kind === 'billing' ? null : s;
|
|
44
|
+
}
|
|
45
|
+
const TITLES = {
|
|
46
|
+
'not-initialized': 'Backend not initialized',
|
|
47
|
+
unavailable: 'Not available on this deployment yet',
|
|
48
|
+
'not-implemented': 'Not yet available',
|
|
49
|
+
access: 'Not enabled for your account',
|
|
50
|
+
signin: 'Your session expired',
|
|
51
|
+
billing: 'Add credits to continue',
|
|
52
|
+
error: 'Could not reach the backend',
|
|
53
|
+
};
|
|
54
|
+
const BODIES = {
|
|
55
|
+
'not-initialized': 'The /v1 route is mounted but its runtime (or the console API key it proxies to) is not configured on this deployment yet. Real data appears here once it is — no placeholder data is shown.',
|
|
56
|
+
unavailable: 'This endpoint is not mounted at the gateway on this host yet. The view lights up automatically once the route is live.',
|
|
57
|
+
// 501 — a real, planned capability whose body ships in a later phase.
|
|
58
|
+
'not-implemented': 'This capability is planned but not wired yet. The backend answers honestly rather than pretending it worked — nothing here is fabricated, and the view lights up automatically once it ships.',
|
|
59
|
+
// 403 for a SIGNED-IN user — never "sign in".
|
|
60
|
+
access: "You're signed in, but this isn't enabled for your organization on this deployment, or it's an admin-only surface. It appears here automatically once your account has access — nothing is fabricated.",
|
|
61
|
+
// 401 — the session itself lapsed; re-auth returns to this exact page.
|
|
62
|
+
signin: 'Your session has expired or isn’t recognized here. Sign in again to continue where you left off.',
|
|
63
|
+
// Empty → the card shows the backend's own message (the honest "Insufficient
|
|
64
|
+
// balance. Please add credits…" from the gateway billing gate).
|
|
65
|
+
billing: '',
|
|
66
|
+
error: '',
|
|
67
|
+
};
|
|
68
|
+
/** A truthful state card for a `/v1` load failure, with an optional retry + hint. */
|
|
69
|
+
export function BackendStateCard({ state, onRetry, hint, }) {
|
|
70
|
+
const { signIn, addCredits } = useHost();
|
|
71
|
+
return (_jsxs(Card, { borderWidth: 1, borderColor: "$borderColor", p: "$4", gap: "$2", maxWidth: 640, children: [_jsxs(XStack, { gap: "$2", items: "center", children: [_jsx(TriangleAlert, { size: 16 }), _jsx(Text, { fontSize: "$4", fontWeight: "700", children: TITLES[state.kind] })] }), _jsx(Text, { fontSize: "$3", color: "$color11", children: BODIES[state.kind] || state.message }), hint ? (_jsx(Text, { fontSize: "$2", color: "$color10", children: hint })) : null, state.kind === 'signin' && signIn ? (_jsx(Button, { size: "$2", theme: "light", self: "flex-start", onPress: signIn, children: "Sign in again" })) : state.kind === 'billing' && addCredits ? (
|
|
72
|
+
// 402 — the org has no funded balance. Offer a top-up CTA (and keep Retry so
|
|
73
|
+
// a returning, funded caller can reload in place).
|
|
74
|
+
_jsxs(XStack, { gap: "$2", items: "center", flexWrap: "wrap", children: [_jsx(Button, { size: "$2", theme: "light", self: "flex-start", icon: _jsx(CreditCard, { size: 14 }), onPress: addCredits, children: "Add credits" }), onRetry ? (_jsx(Button, { size: "$2", self: "flex-start", onPress: onRetry, children: "Retry" })) : null] })) : onRetry ? (_jsx(Button, { size: "$2", self: "flex-start", onPress: onRetry, children: "Retry" })) : null] }));
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=BackendState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackendState.js","sourceRoot":"","sources":["../../src/product/BackendState.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use client';"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.BrandMark = BrandMark;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
/**
|
|
7
|
+
* BrandMark — the canonical brand lockup for an app header, from @hanzo/logo
|
|
8
|
+
* (the ONE home of the mark geometry + motion). Animated by default: intro
|
|
9
|
+
* flip + idle breathing + a wordmark that slides in, holds, then collapses
|
|
10
|
+
* (returns on hover). Pure CSS, reduced-motion-safe; the mark inherits
|
|
11
|
+
* `currentColor` so it themes for free. White-label via `wordmark`.
|
|
12
|
+
*/
|
|
13
|
+
const react_1 = require("@hanzo/logo/react");
|
|
14
|
+
const HanzoMark_1 = require("./HanzoMark.cjs");
|
|
15
|
+
function BrandMark({ size = 20, wordmark = 'Hanzo', animated = true, }) {
|
|
16
|
+
if (!animated)
|
|
17
|
+
return (0, jsx_runtime_1.jsx)(HanzoMark_1.HanzoMark, { size: size });
|
|
18
|
+
return (0, jsx_runtime_1.jsx)(react_1.HanzoLogo, { animated: true, size: size, wordmark: wordmark });
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrandMark.d.ts","sourceRoot":"","sources":["../../src/product/BrandMark.tsx"],"names":[],"mappings":"AAaA,wBAAgB,SAAS,CAAC,EACxB,IAAS,EACT,QAAkB,EAClB,QAAe,GAChB,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,2CAGA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* BrandMark — the canonical brand lockup for an app header, from @hanzo/logo
|
|
5
|
+
* (the ONE home of the mark geometry + motion). Animated by default: intro
|
|
6
|
+
* flip + idle breathing + a wordmark that slides in, holds, then collapses
|
|
7
|
+
* (returns on hover). Pure CSS, reduced-motion-safe; the mark inherits
|
|
8
|
+
* `currentColor` so it themes for free. White-label via `wordmark`.
|
|
9
|
+
*/
|
|
10
|
+
import { HanzoLogo } from '@hanzo/logo/react';
|
|
11
|
+
import { HanzoMark } from './HanzoMark.js';
|
|
12
|
+
export function BrandMark({ size = 20, wordmark = 'Hanzo', animated = true, }) {
|
|
13
|
+
if (!animated)
|
|
14
|
+
return _jsx(HanzoMark, { size: size });
|
|
15
|
+
return _jsx(HanzoLogo, { animated: true, size: size, wordmark: wordmark });
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=BrandMark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrandMark.js","sourceRoot":"","sources":["../../src/product/BrandMark.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,OAAO,EAClB,QAAQ,GAAG,IAAI,GAOhB;IACC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,GAAI,CAAA;IAC/C,OAAO,KAAC,SAAS,IAAC,QAAQ,QAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAA;AAC/D,CAAC"}
|