@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
package/dist/chunk-GWNNLYX4.cjs
DELETED
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunk7XDEUEWI_cjs = require('./chunk-7XDEUEWI.cjs');
|
|
4
|
-
var gui = require('@hanzo/gui');
|
|
5
|
-
var lucideIcons2 = require('@hanzogui/lucide-icons-2');
|
|
6
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
var react = require('react');
|
|
8
|
-
|
|
9
|
-
var ITEM_MIN_HEIGHT = 30;
|
|
10
|
-
var ITEM_RADIUS = 7;
|
|
11
|
-
var ITEM_PX = 8;
|
|
12
|
-
var ITEM_GAP = 8;
|
|
13
|
-
var ICON_SLOT = 16;
|
|
14
|
-
var PANEL_RADIUS = 12;
|
|
15
|
-
var PANEL_PAD = 4;
|
|
16
|
-
var PANEL_GAP = 2;
|
|
17
|
-
var SEP_MARGIN = 4;
|
|
18
|
-
var FONT_LABEL = 13;
|
|
19
|
-
var FONT_MUTED = 11;
|
|
20
|
-
var FONT_SHORTCUT = 12;
|
|
21
|
-
var ACCENT = "var(--hanzo-accent, #8b5cf6)";
|
|
22
|
-
var ACCENT_SOFT = "var(--hanzo-accent-soft, rgba(139,92,246,0.16))";
|
|
23
|
-
var DANGER = "var(--hanzo-danger, #ef4444)";
|
|
24
|
-
function MenuPanel({
|
|
25
|
-
children,
|
|
26
|
-
minWidth = 200,
|
|
27
|
-
maxHeight = 360,
|
|
28
|
-
onKeyDown,
|
|
29
|
-
panelRef,
|
|
30
|
-
...rest
|
|
31
|
-
}) {
|
|
32
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
-
gui.YStack,
|
|
34
|
-
{
|
|
35
|
-
ref: panelRef,
|
|
36
|
-
role: "menu",
|
|
37
|
-
bg: "$color2",
|
|
38
|
-
borderColor: "$borderColor",
|
|
39
|
-
borderWidth: 1,
|
|
40
|
-
rounded: PANEL_RADIUS,
|
|
41
|
-
p: PANEL_PAD,
|
|
42
|
-
gap: PANEL_GAP,
|
|
43
|
-
minW: minWidth,
|
|
44
|
-
maxH: maxHeight,
|
|
45
|
-
overflow: "scroll",
|
|
46
|
-
shadowColor: "rgba(0,0,0,0.45)",
|
|
47
|
-
shadowRadius: 20,
|
|
48
|
-
shadowOffset: { width: 0, height: 10 },
|
|
49
|
-
onKeyDown,
|
|
50
|
-
...rest,
|
|
51
|
-
children
|
|
52
|
-
}
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
function MenuItemView({
|
|
56
|
-
icon,
|
|
57
|
-
label,
|
|
58
|
-
description,
|
|
59
|
-
shortcut,
|
|
60
|
-
selected = false,
|
|
61
|
-
disabled = false,
|
|
62
|
-
destructive = false,
|
|
63
|
-
hasSubmenu = false,
|
|
64
|
-
onSelect
|
|
65
|
-
}) {
|
|
66
|
-
const track = chunk7XDEUEWI_cjs.useEmit();
|
|
67
|
-
const choose = () => {
|
|
68
|
-
track({ component: "MenuItem", action: "select", id: chunk7XDEUEWI_cjs.labelOf(label), value: selected });
|
|
69
|
-
onSelect();
|
|
70
|
-
};
|
|
71
|
-
const press = () => {
|
|
72
|
-
if (!disabled) choose();
|
|
73
|
-
};
|
|
74
|
-
const onKeyDown = (e) => {
|
|
75
|
-
if (disabled) return;
|
|
76
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
77
|
-
e.preventDefault();
|
|
78
|
-
choose();
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
const labelColor = destructive ? DANGER : "$color12";
|
|
82
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
83
|
-
gui.XStack,
|
|
84
|
-
{
|
|
85
|
-
role: "menuitem",
|
|
86
|
-
tabIndex: disabled ? -1 : 0,
|
|
87
|
-
"aria-disabled": disabled || void 0,
|
|
88
|
-
items: "center",
|
|
89
|
-
gap: ITEM_GAP,
|
|
90
|
-
px: ITEM_PX,
|
|
91
|
-
minH: ITEM_MIN_HEIGHT,
|
|
92
|
-
rounded: ITEM_RADIUS,
|
|
93
|
-
cursor: disabled ? "default" : "pointer",
|
|
94
|
-
opacity: disabled ? 0.4 : 1,
|
|
95
|
-
select: "none",
|
|
96
|
-
style: { outline: "none" },
|
|
97
|
-
hoverStyle: disabled ? {} : { bg: ACCENT_SOFT },
|
|
98
|
-
pressStyle: disabled ? {} : { bg: ACCENT_SOFT },
|
|
99
|
-
focusStyle: disabled ? {} : { bg: ACCENT_SOFT },
|
|
100
|
-
onPress: press,
|
|
101
|
-
onKeyDown,
|
|
102
|
-
children: [
|
|
103
|
-
/* @__PURE__ */ jsxRuntime.jsx(gui.XStack, { width: ICON_SLOT, height: ICON_SLOT, items: "center", justify: "center", shrink: 0, children: icon ? /* @__PURE__ */ jsxRuntime.jsx(gui.XStack, { items: "center", justify: "center", opacity: destructive ? 1 : 0.9, style: destructive ? { color: DANGER } : void 0, children: icon }) : null }),
|
|
104
|
-
/* @__PURE__ */ jsxRuntime.jsxs(gui.YStack, { flex: 1, minW: 0, children: [
|
|
105
|
-
/* @__PURE__ */ jsxRuntime.jsx(gui.Text, { fontSize: FONT_LABEL, lineHeight: 18, color: labelColor, numberOfLines: 1, children: label }),
|
|
106
|
-
description ? /* @__PURE__ */ jsxRuntime.jsx(gui.Text, { fontSize: FONT_MUTED, lineHeight: 14, color: "$color11", numberOfLines: 1, children: description }) : null
|
|
107
|
-
] }),
|
|
108
|
-
shortcut ? /* @__PURE__ */ jsxRuntime.jsx(gui.Text, { fontSize: FONT_SHORTCUT, color: "$color11", shrink: 0, children: shortcut }) : null,
|
|
109
|
-
selected ? /* @__PURE__ */ jsxRuntime.jsx(lucideIcons2.Check, { size: 14, color: ACCENT }) : null,
|
|
110
|
-
hasSubmenu ? /* @__PURE__ */ jsxRuntime.jsx(lucideIcons2.ChevronRight, { size: 14, color: "var(--hanzo-muted, currentColor)", opacity: 0.6 }) : null
|
|
111
|
-
]
|
|
112
|
-
}
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
function MenuSeparatorView() {
|
|
116
|
-
return /* @__PURE__ */ jsxRuntime.jsx(gui.YStack, { height: 1, bg: "$borderColor", my: SEP_MARGIN, mx: SEP_MARGIN, role: "separator" });
|
|
117
|
-
}
|
|
118
|
-
function MenuLabelView({ children }) {
|
|
119
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
120
|
-
gui.Text,
|
|
121
|
-
{
|
|
122
|
-
fontSize: FONT_MUTED,
|
|
123
|
-
color: "$color11",
|
|
124
|
-
px: ITEM_PX,
|
|
125
|
-
py: SEP_MARGIN,
|
|
126
|
-
textTransform: "uppercase",
|
|
127
|
-
letterSpacing: 0.4,
|
|
128
|
-
select: "none",
|
|
129
|
-
children
|
|
130
|
-
}
|
|
131
|
-
);
|
|
132
|
-
}
|
|
133
|
-
function renderMenuItems(items, close) {
|
|
134
|
-
return items.map((it, i) => {
|
|
135
|
-
if (it.type === "separator") return /* @__PURE__ */ jsxRuntime.jsx(MenuSeparatorView, {}, it.key ?? `sep-${i}`);
|
|
136
|
-
if (it.type === "label") return /* @__PURE__ */ jsxRuntime.jsx(MenuLabelView, { children: it.label }, it.key ?? `lbl-${i}`);
|
|
137
|
-
const { key, onSelect, closeOnSelect = true, ...rest } = it;
|
|
138
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
-
MenuItemView,
|
|
140
|
-
{
|
|
141
|
-
...rest,
|
|
142
|
-
onSelect: () => {
|
|
143
|
-
onSelect();
|
|
144
|
-
if (closeOnSelect) close?.();
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
key
|
|
148
|
-
);
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
function PortalTheme({ name, children }) {
|
|
152
|
-
return /* @__PURE__ */ jsxRuntime.jsx(gui.Theme, { name, children });
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// src/product/menu/roving.ts
|
|
156
|
-
function menuKeyDown(e, onClose) {
|
|
157
|
-
if (e.key === "Escape") {
|
|
158
|
-
onClose?.();
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
if (e.key !== "ArrowDown" && e.key !== "ArrowUp" && e.key !== "Home" && e.key !== "End") return;
|
|
162
|
-
if (typeof document === "undefined") return;
|
|
163
|
-
const panel = e.currentTarget;
|
|
164
|
-
const items = Array.from(
|
|
165
|
-
panel.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])')
|
|
166
|
-
);
|
|
167
|
-
if (items.length === 0) return;
|
|
168
|
-
e.preventDefault();
|
|
169
|
-
const active = document.activeElement;
|
|
170
|
-
const current = active ? items.indexOf(active) : -1;
|
|
171
|
-
let next;
|
|
172
|
-
if (e.key === "Home") next = 0;
|
|
173
|
-
else if (e.key === "End") next = items.length - 1;
|
|
174
|
-
else if (e.key === "ArrowDown") next = current < 0 ? 0 : (current + 1) % items.length;
|
|
175
|
-
else next = current <= 0 ? items.length - 1 : current - 1;
|
|
176
|
-
items[next]?.focus();
|
|
177
|
-
}
|
|
178
|
-
var EDGE = 8;
|
|
179
|
-
function FloatingMenu({
|
|
180
|
-
open,
|
|
181
|
-
onClose,
|
|
182
|
-
anchorRect,
|
|
183
|
-
anchorEl,
|
|
184
|
-
gap = 4,
|
|
185
|
-
minWidth = 200,
|
|
186
|
-
maxHeight,
|
|
187
|
-
autoFocus = true,
|
|
188
|
-
children
|
|
189
|
-
}) {
|
|
190
|
-
const themeName = gui.useThemeName();
|
|
191
|
-
const panelRef = react.useRef(null);
|
|
192
|
-
const [pos, setPos] = react.useState(null);
|
|
193
|
-
const setPanel = react.useCallback((n) => {
|
|
194
|
-
panelRef.current = n;
|
|
195
|
-
}, []);
|
|
196
|
-
const place = react.useCallback(() => {
|
|
197
|
-
if (typeof window === "undefined") return;
|
|
198
|
-
const a = anchorRect();
|
|
199
|
-
if (!a) return;
|
|
200
|
-
const node = panelRef.current;
|
|
201
|
-
const w = node?.offsetWidth || minWidth;
|
|
202
|
-
const h = node?.offsetHeight || 0;
|
|
203
|
-
let left = a.left;
|
|
204
|
-
let top = a.bottom + gap;
|
|
205
|
-
if (left + w > window.innerWidth - EDGE) left = Math.max(EDGE, window.innerWidth - w - EDGE);
|
|
206
|
-
if (h && top + h > window.innerHeight - EDGE) {
|
|
207
|
-
const above = a.top - gap - h;
|
|
208
|
-
top = above >= EDGE ? above : Math.max(EDGE, window.innerHeight - h - EDGE);
|
|
209
|
-
}
|
|
210
|
-
setPos({ left, top });
|
|
211
|
-
}, [anchorRect, gap, minWidth]);
|
|
212
|
-
react.useLayoutEffect(() => {
|
|
213
|
-
if (!open) {
|
|
214
|
-
setPos(null);
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
place();
|
|
218
|
-
if (autoFocus) panelRef.current?.focus?.();
|
|
219
|
-
}, [open, place, autoFocus]);
|
|
220
|
-
react.useEffect(() => {
|
|
221
|
-
if (!open || typeof document === "undefined") return;
|
|
222
|
-
const onPointerDown = (e) => {
|
|
223
|
-
const t = e.target;
|
|
224
|
-
if (panelRef.current?.contains(t)) return;
|
|
225
|
-
const anchor = anchorEl?.();
|
|
226
|
-
if (anchor && anchor.contains(t)) return;
|
|
227
|
-
onClose();
|
|
228
|
-
};
|
|
229
|
-
const onKey = (e) => {
|
|
230
|
-
if (e.key === "Escape") onClose();
|
|
231
|
-
};
|
|
232
|
-
document.addEventListener("pointerdown", onPointerDown, true);
|
|
233
|
-
document.addEventListener("keydown", onKey, true);
|
|
234
|
-
window.addEventListener("scroll", onClose, true);
|
|
235
|
-
window.addEventListener("resize", onClose);
|
|
236
|
-
window.addEventListener("blur", onClose);
|
|
237
|
-
return () => {
|
|
238
|
-
document.removeEventListener("pointerdown", onPointerDown, true);
|
|
239
|
-
document.removeEventListener("keydown", onKey, true);
|
|
240
|
-
window.removeEventListener("scroll", onClose, true);
|
|
241
|
-
window.removeEventListener("resize", onClose);
|
|
242
|
-
window.removeEventListener("blur", onClose);
|
|
243
|
-
};
|
|
244
|
-
}, [open, onClose, anchorEl]);
|
|
245
|
-
if (!open) return null;
|
|
246
|
-
return /* @__PURE__ */ jsxRuntime.jsx(gui.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(PortalTheme, { name: themeName, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
247
|
-
MenuPanel,
|
|
248
|
-
{
|
|
249
|
-
panelRef: setPanel,
|
|
250
|
-
minWidth,
|
|
251
|
-
maxHeight,
|
|
252
|
-
tabIndex: -1,
|
|
253
|
-
onKeyDown: (e) => menuKeyDown(e, onClose),
|
|
254
|
-
style: {
|
|
255
|
-
position: "fixed",
|
|
256
|
-
left: pos?.left ?? 0,
|
|
257
|
-
top: pos?.top ?? 0,
|
|
258
|
-
zIndex: 1e5,
|
|
259
|
-
visibility: pos ? "visible" : "hidden"
|
|
260
|
-
},
|
|
261
|
-
children
|
|
262
|
-
}
|
|
263
|
-
) }) });
|
|
264
|
-
}
|
|
265
|
-
function DropdownMenu({
|
|
266
|
-
trigger,
|
|
267
|
-
items,
|
|
268
|
-
open,
|
|
269
|
-
defaultOpen = false,
|
|
270
|
-
onOpenChange,
|
|
271
|
-
minWidth = 200,
|
|
272
|
-
maxHeight
|
|
273
|
-
}) {
|
|
274
|
-
const [isOpen, setOpen] = gui.useControllableState({
|
|
275
|
-
prop: open,
|
|
276
|
-
defaultProp: defaultOpen,
|
|
277
|
-
onChange: onOpenChange
|
|
278
|
-
});
|
|
279
|
-
const anchorRef = react.useRef(null);
|
|
280
|
-
const anchorRect = react.useCallback(() => anchorRef.current?.getBoundingClientRect() ?? null, []);
|
|
281
|
-
const anchorEl = react.useCallback(() => anchorRef.current, []);
|
|
282
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
283
|
-
/* @__PURE__ */ jsxRuntime.jsx(gui.XStack, { ref: anchorRef, self: "flex-start", cursor: "pointer", onPress: () => setOpen(!isOpen), children: trigger }),
|
|
284
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
285
|
-
FloatingMenu,
|
|
286
|
-
{
|
|
287
|
-
open: isOpen,
|
|
288
|
-
onClose: () => setOpen(false),
|
|
289
|
-
anchorRect,
|
|
290
|
-
anchorEl,
|
|
291
|
-
minWidth,
|
|
292
|
-
maxHeight,
|
|
293
|
-
children: renderMenuItems(items, () => setOpen(false))
|
|
294
|
-
}
|
|
295
|
-
)
|
|
296
|
-
] });
|
|
297
|
-
}
|
|
298
|
-
function SelectMenu({
|
|
299
|
-
options,
|
|
300
|
-
value,
|
|
301
|
-
onChange,
|
|
302
|
-
allLabel = "All",
|
|
303
|
-
icon,
|
|
304
|
-
minWidth = 130,
|
|
305
|
-
required,
|
|
306
|
-
minHeight,
|
|
307
|
-
disabled,
|
|
308
|
-
ariaLabel
|
|
309
|
-
}) {
|
|
310
|
-
const active = value === null ? null : options.find((o) => o.key === value) ?? null;
|
|
311
|
-
const triggerLabel = active ? active.label : allLabel;
|
|
312
|
-
const items = [
|
|
313
|
-
...required ? [] : [{ key: "__all__", label: allLabel, selected: value === null, onSelect: () => onChange(null) }],
|
|
314
|
-
...options.map((o) => ({ key: o.key, label: o.label, selected: value === o.key, onSelect: () => onChange(o.key) }))
|
|
315
|
-
];
|
|
316
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
317
|
-
DropdownMenu,
|
|
318
|
-
{
|
|
319
|
-
minWidth: Math.max(minWidth, 160),
|
|
320
|
-
trigger: /* @__PURE__ */ jsxRuntime.jsx(
|
|
321
|
-
gui.Button,
|
|
322
|
-
{
|
|
323
|
-
size: minHeight && minHeight >= 40 ? "$4" : "$2",
|
|
324
|
-
minW: minWidth,
|
|
325
|
-
minH: minHeight,
|
|
326
|
-
disabled,
|
|
327
|
-
"aria-label": ariaLabel,
|
|
328
|
-
justify: "space-between",
|
|
329
|
-
borderWidth: 1,
|
|
330
|
-
borderColor: "$borderColor",
|
|
331
|
-
bg: !required && value !== null ? "$color5" : "transparent",
|
|
332
|
-
icon,
|
|
333
|
-
iconAfter: /* @__PURE__ */ jsxRuntime.jsx(lucideIcons2.ChevronDown, { size: 14, opacity: 0.6 }),
|
|
334
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(gui.Text, { fontSize: "$2", color: "$color12", numberOfLines: 1, flex: 1, children: triggerLabel })
|
|
335
|
-
}
|
|
336
|
-
),
|
|
337
|
-
items
|
|
338
|
-
}
|
|
339
|
-
);
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
exports.DropdownMenu = DropdownMenu;
|
|
343
|
-
exports.FloatingMenu = FloatingMenu;
|
|
344
|
-
exports.MenuItemView = MenuItemView;
|
|
345
|
-
exports.MenuLabelView = MenuLabelView;
|
|
346
|
-
exports.MenuPanel = MenuPanel;
|
|
347
|
-
exports.MenuSeparatorView = MenuSeparatorView;
|
|
348
|
-
exports.PortalTheme = PortalTheme;
|
|
349
|
-
exports.SelectMenu = SelectMenu;
|
|
350
|
-
exports.renderMenuItems = renderMenuItems;
|
|
351
|
-
//# sourceMappingURL=chunk-GWNNLYX4.cjs.map
|
|
352
|
-
//# sourceMappingURL=chunk-GWNNLYX4.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/product/menu/items.tsx","../src/product/menu/portal-theme.tsx","../src/product/menu/roving.ts","../src/product/menu/FloatingMenu.tsx","../src/product/menu/DropdownMenu.tsx","../src/product/SelectMenu.tsx"],"names":["jsx","YStack","useEmit","labelOf","jsxs","XStack","Text","Check","ChevronRight","Theme","useThemeName","useRef","useState","useCallback","useLayoutEffect","useEffect","Portal","useControllableState","Fragment","Button","ChevronDown"],"mappings":"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","file":"chunk-GWNNLYX4.cjs","sourcesContent":["'use client'\n\n/**\n * The ONE menu-item spec — every menu across the fleet renders through these\n * presentational primitives, so DropdownMenu, ContextMenu, SelectMenu and ComboBox\n * are pixel-identical. Geometry is literal px on a strict 8-grid (never random);\n * colour is theme-adaptive tokens ($color2/$color11/$color12/$borderColor) so light\n * and dark both work, with the single purple accent supplied by the brand CSS vars.\n *\n * Style props use the @hanzo/gui config shorthands (bg/items/justify/px/py/p/mx/my/\n * minW/maxH/rounded/select/shrink) — the config omits the longhand aliases.\n *\n * Panel — bg $color2 (#111 dark), hairline border, radius 12, inner pad 4, subtle\n * border+ambient elevation.\n * Item — height 30 (28–32 band), px 8, gap 8, radius 7; icon in a fixed 16px slot\n * on the left; label 13px $color12; right affordance (shortcut / check /\n * chevron) right-aligned. States: hover/active/focus → accent-soft, focus\n * visible; selected → check + purple; disabled → muted, no hover.\n * Separator — 1px hairline, 4px vertical margin.\n * Label — 11px uppercase muted section header, px 8.\n */\nimport type { ReactNode, KeyboardEvent } from 'react'\nimport { Text, XStack, YStack } from '@hanzo/gui'\nimport { Check, ChevronRight } from '@hanzogui/lucide-icons-2'\n\n// ── Geometry — literal px, 8-grid ──────────────────────────────────────────────\nconst ITEM_MIN_HEIGHT = 30\nconst ITEM_RADIUS = 7\nconst ITEM_PX = 8\nconst ITEM_GAP = 8\nconst ICON_SLOT = 16\nexport const PANEL_RADIUS = 12\nexport const PANEL_PAD = 4\nconst PANEL_GAP = 2\nconst SEP_MARGIN = 4\nconst FONT_LABEL = 13\nconst FONT_MUTED = 11\nconst FONT_SHORTCUT = 12\n\n// ── Colour — brand purple accent via CSS vars (fallbacks keep it correct even when\n// @hanzo/brand is not loaded, e.g. a bare Vite/Tauri host); everything else uses\n// theme-adaptive Tamagui tokens. ──────────────────────────────────────────────\nconst ACCENT = 'var(--hanzo-accent, #8b5cf6)'\nconst ACCENT_SOFT = 'var(--hanzo-accent-soft, rgba(139,92,246,0.16))'\nconst DANGER = 'var(--hanzo-danger, #ef4444)'\n\n// ── Declarative item model ──────────────────────────────────────────────────────\nexport type MenuItemSpec =\n | {\n type?: 'item'\n /** Stable key. */\n key: string\n label: string\n /** Leading Lucide icon (16px, unfilled) in the fixed left slot. */\n icon?: ReactNode\n /** Second muted line under the label (e.g. an id or hint). */\n description?: string\n /** Right-aligned shortcut / hint text (e.g. \"⌘K\"). */\n shortcut?: string\n /** Renders a right check + purple tint. */\n selected?: boolean\n disabled?: boolean\n /** Danger styling (red label/icon). */\n destructive?: boolean\n /** Renders a right chevron (submenu / drill-in affordance). */\n hasSubmenu?: boolean\n onSelect: () => void\n /** Keep the menu open after selecting (default: close). */\n closeOnSelect?: boolean\n }\n | { type: 'separator'; key?: string }\n | { type: 'label'; key?: string; label: string }\n\n// ── Surface ───────────────────────────────────────────────────────────────────\nexport function MenuPanel({\n children,\n minWidth = 200,\n maxHeight = 360,\n onKeyDown,\n panelRef,\n ...rest\n}: {\n children: ReactNode\n minWidth?: number\n maxHeight?: number\n onKeyDown?: (e: KeyboardEvent) => void\n /** Web DOM node of the panel (for measuring / edge-flip). */\n panelRef?: (node: HTMLElement | null) => void\n [key: string]: unknown\n}) {\n return (\n <YStack\n // Web DOM ref; Gui forwards it to the underlying node. Cast (not @ts-expect-error)\n // so it is env-agnostic — the ref type is strict under the pkg build, loose here.\n ref={panelRef as never}\n role=\"menu\"\n bg=\"$color2\"\n borderColor=\"$borderColor\"\n borderWidth={1}\n rounded={PANEL_RADIUS}\n p={PANEL_PAD}\n gap={PANEL_GAP}\n minW={minWidth}\n maxH={maxHeight}\n overflow=\"scroll\"\n // Subtle border + ambient elevation, minimal shadow.\n shadowColor=\"rgba(0,0,0,0.45)\"\n shadowRadius={20}\n shadowOffset={{ width: 0, height: 10 }}\n onKeyDown={onKeyDown as never}\n {...rest}\n >\n {children}\n </YStack>\n )\n}\n\n// ── Item — the ONE row ──────────────────────────────────────────────────────────\nimport { labelOf, useEmit } from '../instrument'\n\nexport function MenuItemView({\n icon,\n label,\n description,\n shortcut,\n selected = false,\n disabled = false,\n destructive = false,\n hasSubmenu = false,\n onSelect,\n}: Omit<Extract<MenuItemSpec, { type?: 'item' }>, 'key' | 'type' | 'closeOnSelect'>) {\n const track = useEmit()\n const choose = () => {\n track({ component: 'MenuItem', action: 'select', id: labelOf(label), value: selected })\n onSelect()\n }\n const press = () => {\n if (!disabled) choose()\n }\n const onKeyDown = (e: KeyboardEvent) => {\n if (disabled) return\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n choose()\n }\n }\n const labelColor = destructive ? DANGER : '$color12'\n return (\n <XStack\n role=\"menuitem\"\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled || undefined}\n items=\"center\"\n gap={ITEM_GAP}\n px={ITEM_PX}\n minH={ITEM_MIN_HEIGHT}\n rounded={ITEM_RADIUS}\n cursor={disabled ? 'default' : 'pointer'}\n opacity={disabled ? 0.4 : 1}\n select=\"none\"\n style={{ outline: 'none' }}\n hoverStyle={disabled ? {} : { bg: ACCENT_SOFT as never }}\n pressStyle={disabled ? {} : { bg: ACCENT_SOFT as never }}\n focusStyle={disabled ? {} : { bg: ACCENT_SOFT as never }}\n onPress={press}\n onKeyDown={onKeyDown as never}\n >\n <XStack width={ICON_SLOT} height={ICON_SLOT} items=\"center\" justify=\"center\" shrink={0}>\n {icon ? (\n <XStack items=\"center\" justify=\"center\" opacity={destructive ? 1 : 0.9} style={destructive ? { color: DANGER } : undefined}>\n {icon}\n </XStack>\n ) : null}\n </XStack>\n\n <YStack flex={1} minW={0}>\n <Text fontSize={FONT_LABEL} lineHeight={18} color={labelColor as never} numberOfLines={1}>\n {label}\n </Text>\n {description ? (\n <Text fontSize={FONT_MUTED} lineHeight={14} color=\"$color11\" numberOfLines={1}>\n {description}\n </Text>\n ) : null}\n </YStack>\n\n {shortcut ? (\n <Text fontSize={FONT_SHORTCUT} color=\"$color11\" shrink={0}>\n {shortcut}\n </Text>\n ) : null}\n {selected ? <Check size={14} color={ACCENT} /> : null}\n {hasSubmenu ? <ChevronRight size={14} color=\"var(--hanzo-muted, currentColor)\" opacity={0.6} /> : null}\n </XStack>\n )\n}\n\n// ── Separator ───────────────────────────────────────────────────────────────────\nexport function MenuSeparatorView() {\n return <YStack height={1} bg=\"$borderColor\" my={SEP_MARGIN} mx={SEP_MARGIN} role=\"separator\" />\n}\n\n// ── Section label ────────────────────────────────────────────────────────────────\nexport function MenuLabelView({ children }: { children: ReactNode }) {\n return (\n <Text\n fontSize={FONT_MUTED}\n color=\"$color11\"\n px={ITEM_PX}\n py={SEP_MARGIN}\n textTransform=\"uppercase\"\n letterSpacing={0.4}\n select=\"none\"\n >\n {children}\n </Text>\n )\n}\n\n// ── The single render path shared by every menu ──────────────────────────────────\nexport function renderMenuItems(items: MenuItemSpec[], close?: () => void): ReactNode {\n return items.map((it, i) => {\n if (it.type === 'separator') return <MenuSeparatorView key={it.key ?? `sep-${i}`} />\n if (it.type === 'label') return <MenuLabelView key={it.key ?? `lbl-${i}`}>{it.label}</MenuLabelView>\n const { key, onSelect, closeOnSelect = true, ...rest } = it\n return (\n <MenuItemView\n key={key}\n {...rest}\n onSelect={() => {\n onSelect()\n if (closeOnSelect) close?.()\n }}\n />\n )\n })\n}\n","'use client'\n\n/**\n * PortalTheme — the ONE fix for \"themed content escapes its theme through a portal\".\n *\n * @hanzo/gui's `Popover.Content` and `Portal` render their children in a SEPARATE\n * React subtree (a Gorhom-style portal host mounted at the app root), NOT via\n * `ReactDOM.createPortal`. React context therefore does NOT flow from the trigger's\n * location to the host. Under a nested `<Theme name=\"dark\">` the portaled content\n * lands OUTSIDE that theme context and Tamagui throws \"Missing theme\" (or renders\n * unthemed).\n *\n * The fix is two-part and must stay two-part:\n * 1. At the TRIGGER site (theme context still available) capture the resolved\n * theme name with `useThemeName()`.\n * 2. INSIDE the portaled content re-apply it: `<PortalTheme name={captured}>`.\n *\n * Every portal-backed menu in this package (DropdownMenu, ContextMenu, SelectMenu,\n * ComboBox) uses this so a menu renders identically whether it is opened under the\n * root theme or under any nested `<Theme>`, light or dark.\n */\nimport type { ReactNode } from 'react'\nimport { Theme, useThemeName } from '@hanzo/gui'\n\n/** Capture the current resolved theme name at the trigger site. Re-exported so the\n * capture + re-apply pair reads from one module. */\nexport { useThemeName }\n\nexport function PortalTheme({ name, children }: { name: string; children: ReactNode }) {\n // `name` is the resolved theme name (e.g. \"dark\", or a compound \"dark_purple\").\n // Tamagui's `Theme` accepts the resolved name and reconstructs the context.\n return <Theme name={name as never}>{children}</Theme>\n}\n","'use client'\n\n/**\n * Roving keyboard focus for a menu panel — ArrowUp/Down move focus between enabled\n * `[role=\"menuitem\"]` children, Home/End jump to ends, Escape closes. Web/desktop\n * only (guards on `document`); native menus have no pointer-keyboard nav. Shared by\n * DropdownMenu and ContextMenu so navigation is identical.\n */\nimport type { KeyboardEvent } from 'react'\n\nexport function menuKeyDown(e: KeyboardEvent, onClose?: () => void): void {\n if (e.key === 'Escape') {\n onClose?.()\n return\n }\n if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp' && e.key !== 'Home' && e.key !== 'End') return\n if (typeof document === 'undefined') return\n\n const panel = e.currentTarget as HTMLElement\n const items = Array.from(\n panel.querySelectorAll<HTMLElement>('[role=\"menuitem\"]:not([aria-disabled=\"true\"])'),\n )\n if (items.length === 0) return\n e.preventDefault()\n\n const active = document.activeElement as HTMLElement | null\n const current = active ? items.indexOf(active) : -1\n let next: number\n if (e.key === 'Home') next = 0\n else if (e.key === 'End') next = items.length - 1\n else if (e.key === 'ArrowDown') next = current < 0 ? 0 : (current + 1) % items.length\n else next = current <= 0 ? items.length - 1 : current - 1\n items[next]?.focus()\n}\n","'use client'\n\n/**\n * FloatingMenu — the ONE floating-panel mechanism for every menu. Renders the shared\n * MenuPanel through the @hanzo/gui Portal, positioned at an anchor (a trigger rect or a\n * cursor point), theme-forwarded via PortalTheme, edge-flipped, dismiss-wired and\n * keyboard-navigable.\n *\n * Why Portal, not gui Popover: gui's Popover pulls in a SheetController that re-roots the\n * trigger subtree and reads the theme from React context — on gui-native hosts\n * (react-native-web-lite, theme in context, no CSS-class fallback) that throws\n * \"Missing theme\" AT MOUNT. The raw Portal does not re-root, so DropdownMenu, ContextMenu,\n * SelectMenu and ComboBox all ride this ONE working path.\n */\nimport type { ReactNode, KeyboardEvent as ReactKeyboardEvent } from 'react'\nimport { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react'\nimport { Portal } from '@hanzo/gui'\nimport { MenuPanel } from './items'\nimport { PortalTheme, useThemeName } from './portal-theme'\nimport { menuKeyDown } from './roving'\n\nconst EDGE = 8\n\nexport type RectLike = { left: number; top: number; right: number; bottom: number; width: number; height: number }\n\nexport function FloatingMenu({\n open,\n onClose,\n anchorRect,\n anchorEl,\n gap = 4,\n minWidth = 200,\n maxHeight,\n autoFocus = true,\n children,\n}: {\n open: boolean\n onClose: () => void\n /** Anchor in viewport coords — a trigger's rect, or a zero-size rect at a cursor point. */\n anchorRect: () => RectLike | null | undefined\n /** Element excluded from outside-dismiss (the trigger / input row). */\n anchorEl?: () => HTMLElement | null | undefined\n /** Space between the anchor's bottom and the panel (0 for a cursor menu). */\n gap?: number\n minWidth?: number\n maxHeight?: number\n /** Focus the panel on open (for roving keys). ComboBox keeps focus in its input. */\n autoFocus?: boolean\n children: ReactNode\n}) {\n const themeName = useThemeName()\n const panelRef = useRef<HTMLElement | null>(null)\n const [pos, setPos] = useState<{ left: number; top: number } | null>(null)\n\n const setPanel = useCallback((n: HTMLElement | null) => {\n panelRef.current = n\n }, [])\n\n const place = useCallback(() => {\n if (typeof window === 'undefined') return\n const a = anchorRect()\n if (!a) return\n const node = panelRef.current\n const w = node?.offsetWidth || minWidth\n const h = node?.offsetHeight || 0\n let left = a.left\n let top = a.bottom + gap\n if (left + w > window.innerWidth - EDGE) left = Math.max(EDGE, window.innerWidth - w - EDGE)\n if (h && top + h > window.innerHeight - EDGE) {\n const above = a.top - gap - h\n top = above >= EDGE ? above : Math.max(EDGE, window.innerHeight - h - EDGE)\n }\n setPos({ left, top })\n }, [anchorRect, gap, minWidth])\n\n // Measure + position before paint; focus the panel for keyboard nav.\n useLayoutEffect(() => {\n if (!open) {\n setPos(null)\n return\n }\n place()\n if (autoFocus) panelRef.current?.focus?.()\n }, [open, place, autoFocus])\n\n // Dismiss on outside pointer (excluding the anchor), Escape, scroll, resize, blur.\n useEffect(() => {\n if (!open || typeof document === 'undefined') return\n const onPointerDown = (e: PointerEvent) => {\n const t = e.target as Node\n if (panelRef.current?.contains(t)) return\n const anchor = anchorEl?.()\n if (anchor && anchor.contains(t)) return\n onClose()\n }\n const onKey = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape') onClose()\n }\n document.addEventListener('pointerdown', onPointerDown, true)\n document.addEventListener('keydown', onKey, true)\n window.addEventListener('scroll', onClose, true)\n window.addEventListener('resize', onClose)\n window.addEventListener('blur', onClose)\n return () => {\n document.removeEventListener('pointerdown', onPointerDown, true)\n document.removeEventListener('keydown', onKey, true)\n window.removeEventListener('scroll', onClose, true)\n window.removeEventListener('resize', onClose)\n window.removeEventListener('blur', onClose)\n }\n }, [open, onClose, anchorEl])\n\n if (!open) return null\n return (\n <Portal>\n <PortalTheme name={themeName}>\n <MenuPanel\n panelRef={setPanel}\n minWidth={minWidth}\n maxHeight={maxHeight}\n tabIndex={-1}\n onKeyDown={(e: ReactKeyboardEvent) => menuKeyDown(e, onClose)}\n style={{\n position: 'fixed',\n left: pos?.left ?? 0,\n top: pos?.top ?? 0,\n zIndex: 100000,\n visibility: pos ? 'visible' : 'hidden',\n }}\n >\n {children}\n </MenuPanel>\n </PortalTheme>\n </Portal>\n )\n}\n","'use client'\n\n/**\n * DropdownMenu — a portal-theme-safe click menu. Declarative `items` rendered through the\n * ONE shared menu-item spec, so it is pixel-identical to ContextMenu/SelectMenu/ComboBox.\n * Built on FloatingMenu (gui Portal), NOT the gui Popover — so it mounts without the\n * Sheet re-root that loses theme context on gui-native hosts (react-native-web-lite).\n *\n * <DropdownMenu\n * trigger={<Button>Actions</Button>}\n * items={[\n * { key: 'rename', label: 'Rename', icon: <Pencil size={16} />, onSelect: rename },\n * { type: 'separator' },\n * { key: 'del', label: 'Delete', destructive: true, onSelect: del },\n * ]}\n * />\n */\nimport type { ReactElement } from 'react'\nimport { useCallback, useRef } from 'react'\nimport { XStack, useControllableState } from '@hanzo/gui'\nimport { renderMenuItems, type MenuItemSpec } from './items'\nimport { FloatingMenu } from './FloatingMenu'\n\nexport type DropdownMenuProps = {\n /** The clickable element. Wrapped so any element opens the menu on press. */\n trigger: ReactElement\n items: MenuItemSpec[]\n /** Controlled open state. Omit for uncontrolled. */\n open?: boolean\n defaultOpen?: boolean\n onOpenChange?: (open: boolean) => void\n minWidth?: number\n maxHeight?: number\n}\n\nexport function DropdownMenu({\n trigger,\n items,\n open,\n defaultOpen = false,\n onOpenChange,\n minWidth = 200,\n maxHeight,\n}: DropdownMenuProps) {\n const [isOpen, setOpen] = useControllableState({\n prop: open,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n })\n const anchorRef = useRef<HTMLElement | null>(null)\n const anchorRect = useCallback(() => anchorRef.current?.getBoundingClientRect() ?? null, [])\n const anchorEl = useCallback(() => anchorRef.current, [])\n\n return (\n <>\n <XStack ref={anchorRef as never} self=\"flex-start\" cursor=\"pointer\" onPress={() => setOpen(!isOpen)}>\n {trigger}\n </XStack>\n <FloatingMenu\n open={isOpen}\n onClose={() => setOpen(false)}\n anchorRect={anchorRect}\n anchorEl={anchorEl}\n minWidth={minWidth}\n maxHeight={maxHeight}\n >\n {renderMenuItems(items, () => setOpen(false))}\n </FloatingMenu>\n </>\n )\n}\n","'use client'\n\n/**\n * SelectMenu — a compact, reusable dropdown select. Renders a labelled trigger (\"All\n * types\", or the chosen option) and a menu list with a check on the active option.\n * Prop-driven + self-contained. `value === null` is the \"all\"/unfiltered state.\n *\n * `required` turns the same control into a \"pick exactly one of N\": the null row is\n * dropped and the value is never nullable. That is the SAME control, not a second\n * one — a required field picker and a filter differ only in whether \"none\" is an\n * option, so it stays one component rather than growing a fourth select.\n *\n * A thin DropdownMenu (the ONE menu mechanism) so it is pixel-identical to every other\n * menu and rides the same portal-theme-safe Portal path — no gui Popover, no Sheet\n * re-root, works on gui-native hosts.\n */\nimport type { ReactElement } from 'react'\nimport { Button, Text } from '@hanzo/gui'\nimport { ChevronDown } from '@hanzogui/lucide-icons-2'\nimport { DropdownMenu } from './menu/DropdownMenu'\nimport type { MenuItemSpec } from './menu/items'\n\nexport type SelectOption<T extends string> = { key: T; label: string }\n\nexport function SelectMenu<T extends string>({\n options,\n value,\n onChange,\n allLabel = 'All',\n icon,\n minWidth = 130,\n required,\n minHeight,\n disabled,\n ariaLabel,\n}: {\n options: SelectOption<T>[]\n value: T | null\n onChange: (v: T | null) => void\n /** Label shown (and first menu row) for the unfiltered `null` state. */\n allLabel?: string\n /** Optional leading icon in the trigger. */\n icon?: ReactElement\n minWidth?: number\n /** Exactly one of `options` is always chosen — no \"all\"/none row. */\n required?: boolean\n /** Trigger height floor — pass the 44px tap floor on a phone. */\n minHeight?: number\n disabled?: boolean\n /** Accessible name for an unlabelled trigger. */\n ariaLabel?: string\n}) {\n const active = value === null ? null : options.find((o) => o.key === value) ?? null\n const triggerLabel = active ? active.label : allLabel\n\n const items: MenuItemSpec[] = [\n ...(required\n ? []\n : [{ key: '__all__', label: allLabel, selected: value === null, onSelect: () => onChange(null) }]),\n ...options.map((o) => ({ key: o.key, label: o.label, selected: value === o.key, onSelect: () => onChange(o.key) })),\n ]\n\n return (\n <DropdownMenu\n minWidth={Math.max(minWidth, 160)}\n trigger={\n <Button\n size={minHeight && minHeight >= 40 ? '$4' : '$2'}\n minW={minWidth}\n minH={minHeight}\n disabled={disabled}\n aria-label={ariaLabel}\n justify=\"space-between\"\n borderWidth={1}\n borderColor=\"$borderColor\"\n bg={!required && value !== null ? '$color5' : 'transparent'}\n icon={icon}\n iconAfter={<ChevronDown size={14} opacity={0.6} />}\n >\n <Text fontSize=\"$2\" color=\"$color12\" numberOfLines={1} flex={1}>\n {triggerLabel}\n </Text>\n </Button>\n }\n items={items}\n />\n )\n}\n"]}
|
package/dist/chunk-MWBFAV3D.cjs
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// src/product/social/api.ts
|
|
4
|
-
var enc = encodeURIComponent;
|
|
5
|
-
var str = (v) => typeof v === "string" ? v : v == null ? "" : String(v);
|
|
6
|
-
var num = (v) => {
|
|
7
|
-
if (typeof v === "number" && Number.isFinite(v)) return v;
|
|
8
|
-
if (typeof v === "string" && v.trim() !== "" && Number.isFinite(Number(v))) return Number(v);
|
|
9
|
-
return 0;
|
|
10
|
-
};
|
|
11
|
-
var strs = (v) => Array.isArray(v) ? v.filter((x) => typeof x === "string") : [];
|
|
12
|
-
var asRecord = (v) => v && typeof v === "object" && !Array.isArray(v) ? v : {};
|
|
13
|
-
var rows = (payload) => {
|
|
14
|
-
if (Array.isArray(payload)) return payload.filter((x) => x && typeof x === "object");
|
|
15
|
-
if (payload && typeof payload === "object") {
|
|
16
|
-
for (const k of ["data", "items", "rows"]) {
|
|
17
|
-
const v = payload[k];
|
|
18
|
-
if (Array.isArray(v)) return v.filter((x) => x && typeof x === "object");
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return [];
|
|
22
|
-
};
|
|
23
|
-
var PROVIDERS = ["x", "facebook", "instagram", "linkedin", "tiktok", "youtube", "threads"];
|
|
24
|
-
var ACCOUNT_STATUSES = ["connected", "disconnected", "error"];
|
|
25
|
-
var POST_STATUSES = ["draft", "scheduled", "published", "failed"];
|
|
26
|
-
function normalizeAccount(raw) {
|
|
27
|
-
const r = asRecord(raw);
|
|
28
|
-
return {
|
|
29
|
-
id: str(r.id),
|
|
30
|
-
provider: str(r.provider) || "x",
|
|
31
|
-
handle: str(r.handle),
|
|
32
|
-
status: str(r.status) || "connected",
|
|
33
|
-
createdAt: num(r.createdAt),
|
|
34
|
-
updatedAt: num(r.updatedAt)
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function normalizePost(raw) {
|
|
38
|
-
const r = asRecord(raw);
|
|
39
|
-
return {
|
|
40
|
-
id: str(r.id),
|
|
41
|
-
content: str(r.content),
|
|
42
|
-
channel: str(r.channel) || "x",
|
|
43
|
-
status: str(r.status) || "draft",
|
|
44
|
-
scheduleAt: num(r.scheduleAt),
|
|
45
|
-
media: strs(r.media),
|
|
46
|
-
accountId: str(r.accountId) || void 0,
|
|
47
|
-
externalId: str(r.externalId) || void 0,
|
|
48
|
-
error: str(r.error) || void 0,
|
|
49
|
-
createdAt: num(r.createdAt),
|
|
50
|
-
updatedAt: num(r.updatedAt)
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
function normalizeSummary(raw) {
|
|
54
|
-
const r = asRecord(raw);
|
|
55
|
-
return { posts: num(r.posts), scheduled: num(r.scheduled), published: num(r.published), accounts: num(r.accounts) };
|
|
56
|
-
}
|
|
57
|
-
function normalizeProviderCapability(raw) {
|
|
58
|
-
const r = asRecord(raw);
|
|
59
|
-
return {
|
|
60
|
-
provider: str(r.provider),
|
|
61
|
-
credentialsConfigured: Boolean(r.credentialsConfigured),
|
|
62
|
-
missingCredentials: strs(r.missingCredentials)
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
var normalizeAccounts = (p) => rows(p).map(normalizeAccount).filter((a) => a.id);
|
|
66
|
-
var normalizePosts = (p) => rows(p).map(normalizePost).filter((x) => x.id);
|
|
67
|
-
var normalizeProviders = (p) => rows(p).map(normalizeProviderCapability).filter((c) => c.provider);
|
|
68
|
-
function createSocialApi(rest) {
|
|
69
|
-
return {
|
|
70
|
-
summary: () => rest.get("summary").then(normalizeSummary),
|
|
71
|
-
/** Publish-readiness per network (+ the exact missing OAuth-app credentials). */
|
|
72
|
-
providers: () => rest.get("providers").then(normalizeProviders),
|
|
73
|
-
accounts: {
|
|
74
|
-
list: (provider) => rest.get(`accounts${provider ? `?provider=${enc(provider)}` : ""}`).then(normalizeAccounts),
|
|
75
|
-
get: (id) => rest.get(`accounts/${enc(id)}`).then(normalizeAccount),
|
|
76
|
-
create: (body) => rest.post("accounts", body).then(normalizeAccount),
|
|
77
|
-
update: (id, body) => rest.put(`accounts/${enc(id)}`, body).then(normalizeAccount),
|
|
78
|
-
remove: (id) => rest.del(`accounts/${enc(id)}`)
|
|
79
|
-
},
|
|
80
|
-
posts: {
|
|
81
|
-
list: (status) => rest.get(`posts${status ? `?status=${enc(status)}` : ""}`).then(normalizePosts),
|
|
82
|
-
get: (id) => rest.get(`posts/${enc(id)}`).then(normalizePost),
|
|
83
|
-
create: (body) => rest.post("posts", body).then(normalizePost),
|
|
84
|
-
update: (id, body) => rest.put(`posts/${enc(id)}`, body).then(normalizePost),
|
|
85
|
-
remove: (id) => rest.del(`posts/${enc(id)}`),
|
|
86
|
-
/** Publish a post NOW to its channel's connected accounts. */
|
|
87
|
-
publish: (id) => rest.post(`posts/${enc(id)}/publish`).then(normalizePost)
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
exports.ACCOUNT_STATUSES = ACCOUNT_STATUSES;
|
|
93
|
-
exports.POST_STATUSES = POST_STATUSES;
|
|
94
|
-
exports.PROVIDERS = PROVIDERS;
|
|
95
|
-
exports.createSocialApi = createSocialApi;
|
|
96
|
-
exports.normalizeAccount = normalizeAccount;
|
|
97
|
-
exports.normalizeAccounts = normalizeAccounts;
|
|
98
|
-
exports.normalizePost = normalizePost;
|
|
99
|
-
exports.normalizePosts = normalizePosts;
|
|
100
|
-
exports.normalizeProviderCapability = normalizeProviderCapability;
|
|
101
|
-
exports.normalizeProviders = normalizeProviders;
|
|
102
|
-
exports.normalizeSummary = normalizeSummary;
|
|
103
|
-
//# sourceMappingURL=chunk-MWBFAV3D.cjs.map
|
|
104
|
-
//# sourceMappingURL=chunk-MWBFAV3D.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/product/social/api.ts"],"names":[],"mappings":"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","file":"chunk-MWBFAV3D.cjs","sourcesContent":["/**\n * The `/v1/social` contract — the ONE typed client for the Hanzo Social surface,\n * shared by every host that renders it (the console's Publish product, the dedicated\n * social.hanzo.ai app, any white-label admin).\n *\n * The backend is `hanzoai/cloud` `clients/social`: a native-Go per-org accounts+posts\n * store on Base/SQLite (the in-process fold of the standalone social stack, twin of\n * clients/crm) — NOT a proxy to the retired social pods. Routes (social.go):\n *\n * GET /v1/social/summary per-org roll-up\n * GET /v1/social/providers publish-readiness per network\n * GET/POST /v1/social/accounts list (?provider=) / connect\n * GET/PUT/DELETE /v1/social/accounts/:id detail / update / disconnect\n * GET/POST /v1/social/posts list (?status=) / create-or-schedule\n * GET/PUT/DELETE /v1/social/posts/:id detail / update / delete\n * POST /v1/social/posts/:id/publish publish now\n *\n * TRANSPORT IS INJECTED. This layer never picks an origin, a credential or a fetch\n * wrapper — the host passes a `SocialRest` whose paths are relative to `/v1/social`\n * (`'summary'`, `'posts/<id>/publish'`), so the console rides its session-cookie\n * `originV1Url` and another app rides its own. Every read/write is org-scoped\n * SERVER-SIDE from the validated bearer/session owner claim; no org ever travels\n * from the browser.\n *\n * Payloads are normalized DEFENSIVELY: a field rename upstream degrades a cell\n * rather than throwing, and a list is read from whichever envelope key the backend\n * uses (`data`/`items`/`rows`, or a bare array).\n */\n\nconst enc = encodeURIComponent\n\n// ── Coercion helpers (pure) ─────────────────────────────────────────────────\nconst str = (v: unknown): string => (typeof v === 'string' ? v : v == null ? '' : String(v))\nconst num = (v: unknown): number => {\n if (typeof v === 'number' && Number.isFinite(v)) return v\n if (typeof v === 'string' && v.trim() !== '' && Number.isFinite(Number(v))) return Number(v)\n return 0\n}\nconst strs = (v: unknown): string[] => (Array.isArray(v) ? v.filter((x): x is string => typeof x === 'string') : [])\nconst asRecord = (v: unknown): Record<string, unknown> =>\n v && typeof v === 'object' && !Array.isArray(v) ? (v as Record<string, unknown>) : {}\n\nconst rows = (payload: unknown): Record<string, unknown>[] => {\n if (Array.isArray(payload)) return payload.filter((x) => x && typeof x === 'object') as Record<string, unknown>[]\n if (payload && typeof payload === 'object') {\n for (const k of ['data', 'items', 'rows']) {\n const v = (payload as Record<string, unknown>)[k]\n if (Array.isArray(v)) return v.filter((x) => x && typeof x === 'object') as Record<string, unknown>[]\n }\n }\n return []\n}\n\n// ── Domain types (mirror cloud clients/social/store.go JSON tags) ────────────\n\n/** Networks — the ONE ordered vocabulary (cloud rejects an unknown provider; '' → x). */\nexport const PROVIDERS = ['x', 'facebook', 'instagram', 'linkedin', 'tiktok', 'youtube', 'threads'] as const\nexport type Provider = (typeof PROVIDERS)[number]\n\n/** Account connection lifecycle (cloud rejects an unknown status; '' → connected). */\nexport const ACCOUNT_STATUSES = ['connected', 'disconnected', 'error'] as const\n\n/** Post lifecycle (cloud rejects an unknown status; '' → draft). */\nexport const POST_STATUSES = ['draft', 'scheduled', 'published', 'failed'] as const\n\nexport type Account = {\n id: string\n provider: string\n handle: string\n status: string\n createdAt: number\n updatedAt: number\n}\n\nexport type Post = {\n id: string\n content: string\n channel: string\n status: string\n /** Unix seconds; 0 = not scheduled / publish now. */\n scheduleAt: number\n /**\n * Attached media URLs. Cloud ALWAYS serializes an array (never null) and its PUT\n * rebuilds the row from the body — so this has to round-trip: an update that\n * omitted it would wipe the post's media.\n */\n media: string[]\n /** Server-managed publish results (empty until a publish attempt lands). */\n accountId?: string\n externalId?: string\n error?: string\n createdAt: number\n updatedAt: number\n}\n\n/** The per-org roll-up (GET /v1/social/summary) — the counts SocialSummaryBar renders. */\nexport type SocialSummary = { posts: number; scheduled: number; published: number; accounts: number }\n\n/**\n * A network's publish-readiness (GET /v1/social/providers): whether this deployment\n * holds the OAuth-app credentials to publish, and — if not — exactly which env vars\n * are missing. The honest connect affordance; never a fabricated \"connected\".\n */\nexport type ProviderCapability = {\n provider: string\n credentialsConfigured: boolean\n missingCredentials: string[]\n}\n\n/** Create/update bodies — only the writable fields (server owns id/org/timestamps). */\nexport type NewAccount = Partial<Omit<Account, 'id' | 'createdAt' | 'updatedAt'>> & { provider: string }\nexport type NewPost = Partial<Omit<Post, 'id' | 'createdAt' | 'updatedAt'>> & { content: string }\n\n// ── Normalizers (pure) ──────────────────────────────────────────────────────\n\nexport function normalizeAccount(raw: unknown): Account {\n const r = asRecord(raw)\n return {\n id: str(r.id),\n provider: str(r.provider) || 'x',\n handle: str(r.handle),\n status: str(r.status) || 'connected',\n createdAt: num(r.createdAt),\n updatedAt: num(r.updatedAt),\n }\n}\n\nexport function normalizePost(raw: unknown): Post {\n const r = asRecord(raw)\n return {\n id: str(r.id),\n content: str(r.content),\n channel: str(r.channel) || 'x',\n status: str(r.status) || 'draft',\n scheduleAt: num(r.scheduleAt),\n media: strs(r.media),\n accountId: str(r.accountId) || undefined,\n externalId: str(r.externalId) || undefined,\n error: str(r.error) || undefined,\n createdAt: num(r.createdAt),\n updatedAt: num(r.updatedAt),\n }\n}\n\nexport function normalizeSummary(raw: unknown): SocialSummary {\n const r = asRecord(raw)\n return { posts: num(r.posts), scheduled: num(r.scheduled), published: num(r.published), accounts: num(r.accounts) }\n}\n\nexport function normalizeProviderCapability(raw: unknown): ProviderCapability {\n const r = asRecord(raw)\n return {\n provider: str(r.provider),\n credentialsConfigured: Boolean(r.credentialsConfigured),\n missingCredentials: strs(r.missingCredentials),\n }\n}\n\nexport const normalizeAccounts = (p: unknown): Account[] => rows(p).map(normalizeAccount).filter((a) => a.id)\nexport const normalizePosts = (p: unknown): Post[] => rows(p).map(normalizePost).filter((x) => x.id)\nexport const normalizeProviders = (p: unknown): ProviderCapability[] =>\n rows(p).map(normalizeProviderCapability).filter((c) => c.provider)\n\n// ── The transport seam ──────────────────────────────────────────────────────\n\n/**\n * The host's REST transport. `path` is relative to `/v1/social` (no leading slash);\n * the host owns the origin, the credential and the error class. A rejected promise\n * is passed straight to `classifyBackend`, so any client's error type works.\n */\nexport type SocialRest = {\n get: (path: string) => Promise<unknown>\n post: (path: string, body?: unknown) => Promise<unknown>\n put: (path: string, body?: unknown) => Promise<unknown>\n del: (path: string) => Promise<void>\n}\n\nexport type SocialApi = ReturnType<typeof createSocialApi>\n\n/** Bind the `/v1/social` contract to a host transport. One method per documented route. */\nexport function createSocialApi(rest: SocialRest) {\n return {\n summary: (): Promise<SocialSummary> => rest.get('summary').then(normalizeSummary),\n\n /** Publish-readiness per network (+ the exact missing OAuth-app credentials). */\n providers: (): Promise<ProviderCapability[]> => rest.get('providers').then(normalizeProviders),\n\n accounts: {\n list: (provider?: string): Promise<Account[]> =>\n rest.get(`accounts${provider ? `?provider=${enc(provider)}` : ''}`).then(normalizeAccounts),\n get: (id: string): Promise<Account> => rest.get(`accounts/${enc(id)}`).then(normalizeAccount),\n create: (body: NewAccount): Promise<Account> => rest.post('accounts', body).then(normalizeAccount),\n update: (id: string, body: NewAccount): Promise<Account> =>\n rest.put(`accounts/${enc(id)}`, body).then(normalizeAccount),\n remove: (id: string): Promise<void> => rest.del(`accounts/${enc(id)}`),\n },\n\n posts: {\n list: (status?: string): Promise<Post[]> =>\n rest.get(`posts${status ? `?status=${enc(status)}` : ''}`).then(normalizePosts),\n get: (id: string): Promise<Post> => rest.get(`posts/${enc(id)}`).then(normalizePost),\n create: (body: NewPost): Promise<Post> => rest.post('posts', body).then(normalizePost),\n update: (id: string, body: NewPost): Promise<Post> => rest.put(`posts/${enc(id)}`, body).then(normalizePost),\n remove: (id: string): Promise<void> => rest.del(`posts/${enc(id)}`),\n /** Publish a post NOW to its channel's connected accounts. */\n publish: (id: string): Promise<Post> => rest.post(`posts/${enc(id)}/publish`).then(normalizePost),\n },\n }\n}\n"]}
|