@hanzo/ui 8.0.2 → 8.0.5

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.
Files changed (113) hide show
  1. package/package.json +63 -4
  2. package/src/billing.ts +9 -0
  3. package/src/canvas.ts +11 -0
  4. package/src/cd/layout.ts +184 -0
  5. package/src/cd/status.ts +158 -0
  6. package/src/cd/time.ts +52 -0
  7. package/src/cd/types.ts +318 -0
  8. package/src/dashboard.ts +8 -0
  9. package/src/gitops.ts +5 -0
  10. package/src/network.ts +11 -0
  11. package/src/product/AppHeader.tsx +175 -0
  12. package/src/product/BrandMark.tsx +27 -0
  13. package/src/product/HanzoMark.tsx +7 -4
  14. package/src/product/OrgSwitcher.tsx +332 -0
  15. package/src/product/index.ts +10 -5
  16. package/src/product/scope.test.ts +92 -0
  17. package/src/product/scope.ts +123 -0
  18. package/src/usage.ts +8 -0
  19. package/src/wallet.ts +11 -0
  20. package/types/billing.d.ts +2 -0
  21. package/types/billing.d.ts.map +1 -0
  22. package/types/canvas.d.ts +2 -0
  23. package/types/canvas.d.ts.map +1 -0
  24. package/types/cd/layout.d.ts +57 -0
  25. package/types/cd/layout.d.ts.map +1 -0
  26. package/types/cd/status.d.ts +50 -0
  27. package/types/cd/status.d.ts.map +1 -0
  28. package/types/cd/time.d.ts +15 -0
  29. package/types/cd/time.d.ts.map +1 -0
  30. package/types/cd/types.d.ts +269 -0
  31. package/types/cd/types.d.ts.map +1 -0
  32. package/types/dashboard.d.ts +2 -0
  33. package/types/dashboard.d.ts.map +1 -0
  34. package/types/gitops.d.ts +2 -0
  35. package/types/gitops.d.ts.map +1 -0
  36. package/types/network.d.ts +2 -0
  37. package/types/network.d.ts.map +1 -0
  38. package/types/product/AppHeader.d.ts +49 -0
  39. package/types/product/AppHeader.d.ts.map +1 -0
  40. package/types/product/BrandMark.d.ts +8 -0
  41. package/types/product/BrandMark.d.ts.map +1 -0
  42. package/types/product/Charts.d.ts +5 -5
  43. package/types/product/Charts.d.ts.map +1 -1
  44. package/types/product/ComboBox.d.ts +1 -1
  45. package/types/product/ComboBox.d.ts.map +1 -1
  46. package/types/product/DataTable.d.ts +1 -1
  47. package/types/product/DataTable.d.ts.map +1 -1
  48. package/types/product/Donut.d.ts +1 -1
  49. package/types/product/Donut.d.ts.map +1 -1
  50. package/types/product/EmptyState.d.ts +1 -1
  51. package/types/product/EmptyState.d.ts.map +1 -1
  52. package/types/product/FadeIn.d.ts +1 -1
  53. package/types/product/FadeIn.d.ts.map +1 -1
  54. package/types/product/Field.d.ts +6 -6
  55. package/types/product/Field.d.ts.map +1 -1
  56. package/types/product/HanzoMark.d.ts +6 -5
  57. package/types/product/HanzoMark.d.ts.map +1 -1
  58. package/types/product/Metric.d.ts +4 -4
  59. package/types/product/Metric.d.ts.map +1 -1
  60. package/types/product/OrgSwitcher.d.ts +19 -0
  61. package/types/product/OrgSwitcher.d.ts.map +1 -0
  62. package/types/product/PageHeader.d.ts +1 -1
  63. package/types/product/PageHeader.d.ts.map +1 -1
  64. package/types/product/PrimaryButton.d.ts +1 -1
  65. package/types/product/PrimaryButton.d.ts.map +1 -1
  66. package/types/product/ProductIcon.d.ts +1 -1
  67. package/types/product/ProductIcon.d.ts.map +1 -1
  68. package/types/product/ProviderLogo.d.ts +2 -2
  69. package/types/product/ProviderLogo.d.ts.map +1 -1
  70. package/types/product/Reorder.d.ts +1 -1
  71. package/types/product/Reorder.d.ts.map +1 -1
  72. package/types/product/SelectMenu.d.ts +1 -1
  73. package/types/product/SelectMenu.d.ts.map +1 -1
  74. package/types/product/SlideOver.d.ts +1 -1
  75. package/types/product/SlideOver.d.ts.map +1 -1
  76. package/types/product/StatusTag.d.ts +1 -1
  77. package/types/product/StatusTag.d.ts.map +1 -1
  78. package/types/product/ThemeToggle.d.ts +1 -1
  79. package/types/product/ThemeToggle.d.ts.map +1 -1
  80. package/types/product/Toast.d.ts +1 -1
  81. package/types/product/Toast.d.ts.map +1 -1
  82. package/types/product/index.d.ts +4 -2
  83. package/types/product/index.d.ts.map +1 -1
  84. package/types/product/scope.d.ts +56 -0
  85. package/types/product/scope.d.ts.map +1 -0
  86. package/types/usage.d.ts +2 -0
  87. package/types/usage.d.ts.map +1 -0
  88. package/types/wallet.d.ts +2 -0
  89. package/types/wallet.d.ts.map +1 -0
  90. package/src/product/social/CampaignCard.tsx +0 -62
  91. package/src/product/social/ChannelBadge.tsx +0 -60
  92. package/src/product/social/PostCard.tsx +0 -80
  93. package/src/product/social/index.ts +0 -6
  94. package/src/product/usage/UsageDashboard.tsx +0 -54
  95. package/src/product/usage/UsageMeter.tsx +0 -75
  96. package/src/product/usage/UsageProviderCard.tsx +0 -153
  97. package/src/product/usage/index.ts +0 -10
  98. package/types/product/social/CampaignCard.d.ts +0 -14
  99. package/types/product/social/CampaignCard.d.ts.map +0 -1
  100. package/types/product/social/ChannelBadge.d.ts +0 -7
  101. package/types/product/social/ChannelBadge.d.ts.map +0 -1
  102. package/types/product/social/PostCard.d.ts +0 -16
  103. package/types/product/social/PostCard.d.ts.map +0 -1
  104. package/types/product/social/index.d.ts +0 -4
  105. package/types/product/social/index.d.ts.map +0 -1
  106. package/types/product/usage/UsageDashboard.d.ts +0 -10
  107. package/types/product/usage/UsageDashboard.d.ts.map +0 -1
  108. package/types/product/usage/UsageMeter.d.ts +0 -15
  109. package/types/product/usage/UsageMeter.d.ts.map +0 -1
  110. package/types/product/usage/UsageProviderCard.d.ts +0 -35
  111. package/types/product/usage/UsageProviderCard.d.ts.map +0 -1
  112. package/types/product/usage/index.d.ts +0 -4
  113. package/types/product/usage/index.d.ts.map +0 -1
@@ -1,12 +1,13 @@
1
1
  /**
2
- * The Hanzo "H" mark — the canonical brand glyph (same geometry as app/icon.svg).
2
+ * The Hanzo "H" mark — the canonical 7-path shaded glyph: five body blocks +
3
+ * two shade slivers (geometry canon: @hanzo/logo `MARK_PATHS`).
3
4
  *
4
- * Rendered as inline SVG with `fill: currentColor`, so it inherits the
5
- * surrounding text color and adapts to the dark/light theme with no per-theme
6
- * asset. ONE source for the mark across the chrome (sidebar + header).
5
+ * Rendered as inline SVG with `fill: currentColor` (shade at reduced opacity),
6
+ * so it inherits the surrounding text color and adapts to the dark/light theme
7
+ * with no per-theme asset. ONE source for the mark across the chrome.
7
8
  */
8
9
  export declare function HanzoMark({ size, color }: {
9
10
  size?: number;
10
11
  color?: string;
11
- }): import("react").JSX.Element;
12
+ }): import("react/jsx-runtime").JSX.Element;
12
13
  //# sourceMappingURL=HanzoMark.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HanzoMark.d.ts","sourceRoot":"","sources":["../../src/product/HanzoMark.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,+BAkBjG"}
1
+ {"version":3,"file":"HanzoMark.d.ts","sourceRoot":"","sources":["../../src/product/HanzoMark.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAoBjG"}
@@ -55,7 +55,7 @@ export declare function LegendDot({ color, label, value }: {
55
55
  color: string;
56
56
  label: string;
57
57
  value?: ReactNode;
58
- }): import("react").JSX.Element;
58
+ }): import("react/jsx-runtime").JSX.Element;
59
59
  /**
60
60
  * One overview metric tile. `value` is pre-formatted by the caller (so an absent
61
61
  * metric is an honest `—`, never a fabricated number). The sparkline only appears
@@ -71,7 +71,7 @@ export declare function MetricCard({ icon, label, value, caption, spark, sparkCo
71
71
  delta?: {
72
72
  pct: number;
73
73
  };
74
- }): import("react").JSX.Element;
74
+ }): import("react/jsx-runtime").JSX.Element;
75
75
  /**
76
76
  * A button that is either a real action (onPress) or HONESTLY disabled with a
77
77
  * native tooltip explaining why (the action has no backend yet). One way to
@@ -86,7 +86,7 @@ export declare function HintButton({ icon, iconAfter, children, onPress, disable
86
86
  /** Native tooltip text (shown on hover) — say WHY it is disabled. */
87
87
  hint?: string;
88
88
  theme?: 'light';
89
- }): import("react").JSX.Element;
89
+ }): import("react/jsx-runtime").JSX.Element;
90
90
  /**
91
91
  * A titled panel wrapper used across the consoles (chart + list cards). `grow`
92
92
  * (default true) sets `flex={1}` so panels SHARE width in a ROW; pass `grow={false}`
@@ -99,5 +99,5 @@ export declare function Panel({ title, right, children, minW, grow, }: {
99
99
  children: ReactNode;
100
100
  minW?: number;
101
101
  grow?: boolean;
102
- }): import("react").JSX.Element;
102
+ }): import("react/jsx-runtime").JSX.Element;
103
103
  //# sourceMappingURL=Metric.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Metric.d.ts","sourceRoot":"","sources":["../../src/product/Metric.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Metric.d.ts","sourceRoot":"","sources":["../../src/product/Metric.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type Org, type OrgScope } from './scope';
2
+ export type OrgSwitcherProps = {
3
+ /** The active-org contract (see `orgScope`). */
4
+ scope: OrgScope;
5
+ /**
6
+ * Lazy paged org list: 0-based page + server-pushed search → one page of
7
+ * rows. A full page (=== pageSize) implies another. Omit when the caller
8
+ * can only see its own org.
9
+ */
10
+ orgs?: (page: number, query: string) => Promise<Org[]>;
11
+ /** Rows per page the loader returns. Default 20. */
12
+ pageSize?: number;
13
+ /** Create-org hook → the created org's id; omit to hide the affordance. */
14
+ create?: (name: string) => Promise<string>;
15
+ /** Show the "All organizations" de-scope row (`scope.leaveOrg`). */
16
+ picker?: boolean;
17
+ };
18
+ export declare function OrgSwitcher({ scope, orgs, pageSize, create, picker }: OrgSwitcherProps): import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=OrgSwitcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrgSwitcher.d.ts","sourceRoot":"","sources":["../../src/product/OrgSwitcher.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAc,KAAK,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AA0B7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gDAAgD;IAChD,KAAK,EAAE,QAAQ,CAAA;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACtD,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1C,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAa,EAAE,MAAM,EAAE,MAAc,EAAE,EAAE,gBAAgB,2CA4QnG"}
@@ -4,5 +4,5 @@ export declare function PageHeader({ title, subtitle, actions, }: {
4
4
  title: string;
5
5
  subtitle?: string;
6
6
  actions?: ReactNode;
7
- }): import("react").JSX.Element;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
8
  //# sourceMappingURL=PageHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../src/product/PageHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,+BAgBA"}
1
+ {"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../src/product/PageHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,2CAgBA"}
@@ -9,5 +9,5 @@
9
9
  */
10
10
  import type { ComponentProps } from 'react';
11
11
  import { Button } from '@hanzo/gui';
12
- export declare function PrimaryButton(props: ComponentProps<typeof Button>): import("react").JSX.Element;
12
+ export declare function PrimaryButton(props: ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
13
13
  //# sourceMappingURL=PrimaryButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrimaryButton.d.ts","sourceRoot":"","sources":["../../src/product/PrimaryButton.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,MAAM,CAAC,+BAEjE"}
1
+ {"version":3,"file":"PrimaryButton.d.ts","sourceRoot":"","sources":["../../src/product/PrimaryButton.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,MAAM,CAAC,2CAEjE"}
@@ -4,5 +4,5 @@ export declare function ProductIcon({ icon: Icon, color, size, }: {
4
4
  /** The product's resolved accent hex (e.g. `#5E6AD2`). Omit for the neutral chip. */
5
5
  color?: string;
6
6
  size?: number;
7
- }): import("react").JSX.Element;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
8
  //# sourceMappingURL=ProductIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductIcon.d.ts","sourceRoot":"","sources":["../../src/product/ProductIcon.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EAAE,IAAI,EACV,KAAK,EACL,IAAS,GACV,EAAE;IACD,IAAI,EAAE,QAAQ,CAAA;IACd,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,+BA2BA"}
1
+ {"version":3,"file":"ProductIcon.d.ts","sourceRoot":"","sources":["../../src/product/ProductIcon.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EAAE,IAAI,EACV,KAAK,EACL,IAAS,GACV,EAAE;IACD,IAAI,EAAE,QAAQ,CAAA;IACd,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,2CA2BA"}
@@ -4,10 +4,10 @@ export declare function providerInitials(provider: string): string;
4
4
  export declare function ProviderLogo({ provider, size }: {
5
5
  provider: string;
6
6
  size?: number;
7
- }): import("react").JSX.Element;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
8
  /** A generic fallback mark for an unspecified provider (used sparingly). */
9
9
  export declare function GenericLogo({ size }: {
10
10
  size?: number;
11
- }): import("react").JSX.Element;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
12
  export { Boxes as CustomModelMark };
13
13
  //# sourceMappingURL=ProviderLogo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderLogo.d.ts","sourceRoot":"","sources":["../../src/product/ProviderLogo.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,EAAsB,MAAM,0BAA0B,CAAA;AA0CpE,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAqDxF;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,EAAE,IAAS,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAM3D;AAID,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"ProviderLogo.d.ts","sourceRoot":"","sources":["../../src/product/ProviderLogo.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,EAAsB,MAAM,0BAA0B,CAAA;AA0CpE,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,2CAqDxF;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,EAAE,IAAS,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,2CAM3D;AAID,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAA"}
@@ -32,5 +32,5 @@ export declare function Reorder<T>({ items, keyOf, rowHeight, onReorder, renderI
32
32
  rowHeight?: number;
33
33
  onReorder: (from: number, to: number) => void;
34
34
  renderItem: (item: T, handle: DragHandle, dragging: boolean) => ReactNode;
35
- }): import("react").JSX.Element;
35
+ }): import("react/jsx-runtime").JSX.Element;
36
36
  //# sourceMappingURL=Reorder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Reorder.d.ts","sourceRoot":"","sources":["../../src/product/Reorder.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGrE,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzF;AAED;+DAC+D;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9F;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,aAAa,EAAE,CAAC,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAA;CAAE,CAAA;AAErI,wBAAgB,OAAO,CAAC,CAAC,EAAE,EACzB,KAAK,EACL,KAAK,EACL,SAAc,EACd,SAAS,EACT,UAAU,GACX,EAAE;IACD,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,CAAA;CAC1E,+BA6DA"}
1
+ {"version":3,"file":"Reorder.d.ts","sourceRoot":"","sources":["../../src/product/Reorder.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGrE,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzF;AAED;+DAC+D;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9F;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,aAAa,EAAE,CAAC,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAA;CAAE,CAAA;AAErI,wBAAgB,OAAO,CAAC,CAAC,EAAE,EACzB,KAAK,EACL,KAAK,EACL,SAAc,EACd,SAAS,EACT,UAAU,GACX,EAAE;IACD,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,CAAA;CAC1E,2CA6DA"}
@@ -19,5 +19,5 @@ export declare function SelectMenu<T extends string>({ options, value, onChange,
19
19
  /** Optional leading icon in the trigger. */
20
20
  icon?: ReactElement;
21
21
  minWidth?: number;
22
- }): import("react").JSX.Element;
22
+ }): import("react/jsx-runtime").JSX.Element;
23
23
  //# sourceMappingURL=SelectMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMenu.d.ts","sourceRoot":"","sources":["../../src/product/SelectMenu.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAC3C,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,IAAI,EACJ,QAAc,GACf,EAAE;IACD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1B,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACf,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,+BAsCA"}
1
+ {"version":3,"file":"SelectMenu.d.ts","sourceRoot":"","sources":["../../src/product/SelectMenu.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAC3C,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,IAAI,EACJ,QAAc,GACf,EAAE;IACD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1B,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACf,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,2CAsCA"}
@@ -43,6 +43,6 @@ export type SlideOverProps = {
43
43
  zIndex?: number;
44
44
  children: ReactNode;
45
45
  };
46
- export declare function SlideOver({ open, onClose, side, size, title, icon: Icon, iconColor, headerRight, ariaLabel, zIndex, children, }: SlideOverProps): import("react").JSX.Element;
46
+ export declare function SlideOver({ open, onClose, side, size, title, icon: Icon, iconColor, headerRight, ariaLabel, zIndex, children, }: SlideOverProps): import("react/jsx-runtime").JSX.Element;
47
47
  export { LG as SLIDEOVER_LG };
48
48
  //# sourceMappingURL=SlideOver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlideOver.d.ts","sourceRoot":"","sources":["../../src/product/SlideOver.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEhD,6EAA6E;AAC7E,QAAA,MAAM,EAAE,OAAO,CAAA;AAmBf,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,IAAc,EACd,IAAU,EACV,KAAK,EACL,IAAI,EAAE,IAAI,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,MAAa,EACb,QAAQ,GACT,EAAE,cAAc,+BAgHhB;AAED,OAAO,EAAE,EAAE,IAAI,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"SlideOver.d.ts","sourceRoot":"","sources":["../../src/product/SlideOver.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEhD,6EAA6E;AAC7E,QAAA,MAAM,EAAE,OAAO,CAAA;AAmBf,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,IAAc,EACd,IAAU,EACV,KAAK,EACL,IAAI,EAAE,IAAI,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,MAAa,EACb,QAAQ,GACT,EAAE,cAAc,2CAgHhB;AAED,OAAO,EAAE,EAAE,IAAI,YAAY,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
1
  export declare function StatusTag({ status }: {
2
2
  status?: string;
3
- }): import("react").JSX.Element;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=StatusTag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusTag.d.ts","sourceRoot":"","sources":["../../src/product/StatusTag.tsx"],"names":[],"mappings":"AAyCA,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,+BAOxD"}
1
+ {"version":3,"file":"StatusTag.d.ts","sourceRoot":"","sources":["../../src/product/StatusTag.tsx"],"names":[],"mappings":"AAyCA,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,2CAOxD"}
@@ -1,2 +1,2 @@
1
- export declare function ThemeToggle(): import("react").JSX.Element;
1
+ export declare function ThemeToggle(): import("react/jsx-runtime").JSX.Element;
2
2
  //# sourceMappingURL=ThemeToggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../src/product/ThemeToggle.tsx"],"names":[],"mappings":"AAYA,wBAAgB,WAAW,gCAY1B"}
1
+ {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../src/product/ThemeToggle.tsx"],"names":[],"mappings":"AAYA,wBAAgB,WAAW,4CAY1B"}
@@ -27,7 +27,7 @@ type ToastApi = {
27
27
  };
28
28
  export declare function ToastProvider({ children }: {
29
29
  children: ReactNode;
30
- }): import("react").JSX.Element;
30
+ }): import("react/jsx-runtime").JSX.Element;
31
31
  export declare function useToast(): ToastApi;
32
32
  export {};
33
33
  //# sourceMappingURL=Toast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/product/Toast.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,OAAO,EAAuE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK3G,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAEpD,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAID,KAAK,QAAQ,GAAG;IACd,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,CAAA;AAyED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAkDlE;AAED,wBAAgB,QAAQ,IAAI,QAAQ,CAInC"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/product/Toast.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,OAAO,EAAuE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK3G,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAEpD,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAID,KAAK,QAAQ,GAAG;IACd,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,CAAA;AAyED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAkDlE;AAED,wBAAgB,QAAQ,IAAI,QAAQ,CAInC"}
@@ -3,6 +3,10 @@ export { SERIES, colorForIndex, utilColor, Sparkline as MetricSparkline, MiniBar
3
3
  export { Donut as DonutRing, type DonutSegment } from './Donut';
4
4
  export { ComboBox } from './ComboBox';
5
5
  export * from './combobox/filter';
6
+ export * from './AppHeader';
7
+ export * from './BrandMark';
8
+ export * from './OrgSwitcher';
9
+ export * from './scope';
6
10
  export * from './DataTable';
7
11
  export * from './EmptyState';
8
12
  export * from './FadeIn';
@@ -19,6 +23,4 @@ export * from './StatusTag';
19
23
  export * from './ThemeToggle';
20
24
  export * from './Toast';
21
25
  export * from './color';
22
- export * from './usage';
23
- export * from './social';
24
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/product/index.ts"],"names":[],"mappings":"AAaA,cAAc,UAAU,CAAA;AAKxB,OAAO,EACL,MAAM,EACN,aAAa,EACb,SAAS,EACT,SAAS,IAAI,eAAe,EAC5B,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,KAAK,GACN,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAK/D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,cAAc,mBAAmB,CAAA;AAGjC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AAGvB,cAAc,SAAS,CAAA;AAGvB,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/product/index.ts"],"names":[],"mappings":"AAaA,cAAc,UAAU,CAAA;AAKxB,OAAO,EACL,MAAM,EACN,aAAa,EACb,SAAS,EACT,SAAS,IAAI,eAAe,EAC5B,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,KAAK,GACN,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAK/D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,cAAc,mBAAmB,CAAA;AAIjC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AAGvB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * orgScope — the active-organization contract every Hanzo surface shares
3
+ * (hoisted from the console; see hanzoai/ui#36).
4
+ *
5
+ * Brand identity (which IAM you log into, the wordmark + logo) is fixed per
6
+ * host; the DATA scope — which org's identity, secrets and resources the app
7
+ * acts on — is orthogonal. This module owns only that switch. Every
8
+ * tenant-scoped call reads `currentOrg()` and stamps it as `X-Org-Id`.
9
+ *
10
+ * Two-level model: the org VALUE (which org) and the SELECTION (has one been
11
+ * chosen yet) are orthogonal. A fresh login is org-LESS: `hasSelectedOrg()` is
12
+ * false so the host can show its org picker even for a one-org user. Entering
13
+ * (`enterOrg`) sets value + flag and navigates home; leaving (`leaveOrg`)
14
+ * clears the flag back to the picker; the in-shell quick switch (`switchOrg`)
15
+ * persists and reloads so every module refetches under the new `X-Org-Id`.
16
+ *
17
+ * Host-agnostic: storage + navigation are injected (browser defaults), so the
18
+ * same contract runs in Next, Vite, Svelte or a test.
19
+ */
20
+ export type Org = {
21
+ name: string;
22
+ displayName?: string;
23
+ logo?: string;
24
+ };
25
+ export type OrgScopeConfig = {
26
+ /** The brand's own org — the default scope (e.g. `config.iamOrgName`). */
27
+ brandOrg: string;
28
+ /** Storage key namespace — ONE per surface. Default `'hanzo.org'`. */
29
+ key?: string;
30
+ /** Storage — defaults to `window.localStorage`, null-safe on SSR/blocked. */
31
+ storage?: Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>;
32
+ /** Navigate to a path (enter/leave land on home). Default `location.assign`. */
33
+ navigate?: (path: string) => void;
34
+ /** Hard reload (quick-switch refetches everything). Default `location.reload`. */
35
+ reload?: () => void;
36
+ };
37
+ export type OrgScope = {
38
+ /** The org the surface is currently scoped to (default: the brand org). */
39
+ currentOrg(): string;
40
+ /** Switch the active scope. Passing the brand org clears the override. */
41
+ setCurrentOrg(org: string): void;
42
+ /** True when scoped to a non-default (switched) org. */
43
+ isScopedAway(): boolean;
44
+ /** True once an org has been explicitly ENTERED (picker → shell). */
45
+ hasSelectedOrg(): boolean;
46
+ /** Enter an org from the picker: scope + select + navigate home. */
47
+ enterOrg(org: string): void;
48
+ /** Leave the org (back to the picker): de-select + reset + navigate home. */
49
+ leaveOrg(): void;
50
+ /** In-shell quick switch: persist + keep selection + reload. Same org: no-op. */
51
+ switchOrg(org: string): void;
52
+ };
53
+ export declare function orgScope(config: OrgScopeConfig): OrgScope;
54
+ /** Case-insensitive filter over org name + display name (the switcher search). */
55
+ export declare function filterOrgs<T extends Org>(orgs: T[], query: string): T[];
56
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/product/scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,GAAG,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvE,MAAM,MAAM,cAAc,GAAG;IAC3B,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC,CAAA;IAC7D,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,2EAA2E;IAC3E,UAAU,IAAI,MAAM,CAAA;IACpB,0EAA0E;IAC1E,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,wDAAwD;IACxD,YAAY,IAAI,OAAO,CAAA;IACvB,qEAAqE;IACrE,cAAc,IAAI,OAAO,CAAA;IACzB,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,6EAA6E;IAC7E,QAAQ,IAAI,IAAI,CAAA;IAChB,iFAAiF;IACjF,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAWD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,CAoDzD;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAMvE"}
@@ -0,0 +1,2 @@
1
+ export * from '@hanzo/usage';
2
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from '@hanzo/ui-shadcn/wallet';
2
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAUA,cAAc,yBAAyB,CAAA"}
@@ -1,62 +0,0 @@
1
- 'use client'
2
-
3
- /**
4
- * CampaignCard — one marketing campaign (name, channel, lifecycle, budget/spend
5
- * bar). Pure: all data via props. Reuses the shared StatusTag for the lifecycle
6
- * pill (one status vocabulary). Extracted from Hanzo Social.
7
- */
8
- import { Card, Text, XStack, YStack } from '@hanzo/gui'
9
- import { StatusTag } from '../StatusTag'
10
-
11
- export type Campaign = {
12
- id: string
13
- name: string
14
- channel: string
15
- status: string
16
- objective?: string
17
- /** minor units (cents) */
18
- budget: number
19
- spend: number
20
- }
21
-
22
- const money = (cents: number) => `$${Math.round((cents || 0) / 100).toLocaleString()}`
23
-
24
- export function CampaignCard({ campaign }: { campaign: Campaign }) {
25
- const pct =
26
- campaign.budget > 0 ? Math.min(100, (campaign.spend / campaign.budget) * 100) : 0
27
- return (
28
- <Card p="$4" gap="$3" borderWidth={1} borderColor="$borderColor" width="100%">
29
- <XStack items="flex-start" justify="space-between" gap="$2">
30
- <YStack gap="$1">
31
- <Text fontSize="$4" fontWeight="700">
32
- {campaign.name}
33
- </Text>
34
- <Text fontSize="$2" color="$color11">
35
- {campaign.channel}
36
- </Text>
37
- </YStack>
38
- <StatusTag status={campaign.status} />
39
- </XStack>
40
-
41
- {campaign.objective ? (
42
- <Text fontSize="$2" color="$color11">
43
- {campaign.objective}
44
- </Text>
45
- ) : null}
46
-
47
- <YStack gap="$1.5">
48
- <XStack justify="space-between">
49
- <Text fontSize="$1" color="$color11">
50
- {money(campaign.spend)} spent
51
- </Text>
52
- <Text fontSize="$1" color="$color11">
53
- {money(campaign.budget)} budget
54
- </Text>
55
- </XStack>
56
- <YStack height={6} rounded="$2" bg="$color3" overflow="hidden">
57
- <YStack height={6} rounded="$2" bg="$color9" width={`${pct}%` as never} />
58
- </YStack>
59
- </YStack>
60
- </Card>
61
- )
62
- }
@@ -1,60 +0,0 @@
1
- 'use client'
2
-
3
- /**
4
- * ChannelBadge — the ONE way a social network is marked (brand color + glyph +
5
- * optional label), on @hanzo/gui primitives so it renders on web, native, and
6
- * desktop. Data-free / host-agnostic. Extracted from Hanzo Social (social.hanzo.ai).
7
- */
8
- import { Text, XStack, YStack } from '@hanzo/gui'
9
-
10
- export type Channel =
11
- | 'x'
12
- | 'facebook'
13
- | 'instagram'
14
- | 'linkedin'
15
- | 'tiktok'
16
- | 'youtube'
17
- | 'threads'
18
-
19
- const META: Record<Channel, { label: string; bg: string; fg: string; mark: string }> = {
20
- x: { label: 'X', bg: '#0f0f12', fg: '#e6e6ea', mark: '𝕏' },
21
- facebook: { label: 'Facebook', bg: '#1877f2', fg: '#ffffff', mark: 'f' },
22
- instagram: { label: 'Instagram', bg: '#e1306c', fg: '#ffffff', mark: 'IG' },
23
- linkedin: { label: 'LinkedIn', bg: '#0a66c2', fg: '#ffffff', mark: 'in' },
24
- tiktok: { label: 'TikTok', bg: '#111114', fg: '#25f4ee', mark: 'TT' },
25
- youtube: { label: 'YouTube', bg: '#ff0000', fg: '#ffffff', mark: '▶' },
26
- threads: { label: 'Threads', bg: '#111114', fg: '#e6e6ea', mark: '@' },
27
- }
28
-
29
- export function ChannelBadge({
30
- channel,
31
- showLabel = false,
32
- size = 22,
33
- }: {
34
- channel: Channel
35
- showLabel?: boolean
36
- size?: number
37
- }) {
38
- const m = META[channel] ?? META.x
39
- return (
40
- <XStack items="center" gap="$2">
41
- <YStack
42
- width={size}
43
- height={size}
44
- items="center"
45
- justify="center"
46
- rounded="$2"
47
- bg={m.bg as never}
48
- >
49
- <Text fontSize="$1" fontWeight="800" color={m.fg as never}>
50
- {m.mark}
51
- </Text>
52
- </YStack>
53
- {showLabel ? (
54
- <Text fontSize="$3" color="$color12">
55
- {m.label}
56
- </Text>
57
- ) : null}
58
- </XStack>
59
- )
60
- }
@@ -1,80 +0,0 @@
1
- 'use client'
2
-
3
- /**
4
- * PostCard — one social post: channel, lifecycle, body, schedule time, a media
5
- * count, and injected edit/delete affordances. Pure (data + handlers via props);
6
- * composes ChannelBadge + the shared StatusTag. Extracted from Hanzo Social.
7
- */
8
- import { Card, Text, XStack, YStack, Button } from '@hanzo/gui'
9
- import { Pencil, Trash2 } from '@hanzogui/lucide-icons-2'
10
- import { StatusTag } from '../StatusTag'
11
- import { ChannelBadge, type Channel } from './ChannelBadge'
12
-
13
- export type Post = {
14
- id: string
15
- content: string
16
- channel: Channel
17
- status: string
18
- /** unix seconds; 0/undefined = not scheduled */
19
- scheduleAt?: number
20
- media?: string[]
21
- }
22
-
23
- const fmt = (unix?: number) =>
24
- unix
25
- ? new Date(unix * 1000).toLocaleString(undefined, {
26
- month: 'short',
27
- day: 'numeric',
28
- hour: '2-digit',
29
- minute: '2-digit',
30
- })
31
- : ''
32
-
33
- export function PostCard({
34
- post,
35
- onEdit,
36
- onDelete,
37
- }: {
38
- post: Post
39
- onEdit?: (p: Post) => void
40
- onDelete?: (p: Post) => void
41
- }) {
42
- const mediaCount = post.media?.length ?? 0
43
- return (
44
- <Card p="$3" gap="$2.5" borderWidth={1} borderColor="$borderColor" width="100%">
45
- <XStack items="center" justify="space-between" gap="$2">
46
- <XStack items="center" gap="$2">
47
- <ChannelBadge channel={post.channel} />
48
- <StatusTag status={post.status} />
49
- </XStack>
50
- <XStack gap="$1">
51
- {onEdit ? (
52
- <Button size="$2" chromeless icon={<Pencil size={15} />} onPress={() => onEdit(post)} />
53
- ) : null}
54
- {onDelete ? (
55
- <Button size="$2" chromeless icon={<Trash2 size={15} />} onPress={() => onDelete(post)} />
56
- ) : null}
57
- </XStack>
58
- </XStack>
59
-
60
- <Text fontSize="$3" color="$color12">
61
- {post.content}
62
- </Text>
63
-
64
- <XStack items="center" justify="space-between" gap="$2">
65
- {post.scheduleAt ? (
66
- <Text fontSize="$1" color="$color11">
67
- {fmt(post.scheduleAt)}
68
- </Text>
69
- ) : (
70
- <YStack />
71
- )}
72
- {mediaCount ? (
73
- <Text fontSize="$1" color="$color10">
74
- {mediaCount} media
75
- </Text>
76
- ) : null}
77
- </XStack>
78
- </Card>
79
- )
80
- }
@@ -1,6 +0,0 @@
1
- // @hanzo/ui/product/social — pure, host-agnostic social-media components
2
- // extracted from Hanzo Social (social.hanzo.ai). Data + handlers injected via
3
- // props; built only on @hanzo/gui primitives + the shared StatusTag.
4
- export * from './ChannelBadge'
5
- export * from './CampaignCard'
6
- export * from './PostCard'
@@ -1,54 +0,0 @@
1
- 'use client'
2
-
3
- /**
4
- * Usage dashboard — the ONE shared AI-usage screen every Hanzo app (console,
5
- * desktop, app, chat) renders: a summary header of totals (spend / tokens /
6
- * requests) as `Metric` tiles, above a responsive grid of `UsageProviderCard`s.
7
- *
8
- * Presentational + honest: totals are pre-summed by the caller and formatted here
9
- * (an absent total is an em-dash, never fabricated); the grid simply lays out the
10
- * providers it is given. @hanzo/gui primitives only — web + native + desktop.
11
- */
12
- import { XStack, YStack } from '@hanzo/gui'
13
- import { Activity, Coins, DollarSign } from '@hanzogui/lucide-icons-2'
14
-
15
- import { MetricCard } from '../Metric'
16
- import { UsageProviderCard, type UsageProviderCardProps, formatUsageCount, formatUsageCurrency } from './UsageProviderCard'
17
-
18
- export function UsageDashboard({
19
- providers,
20
- totals,
21
- }: {
22
- providers: UsageProviderCardProps[]
23
- totals?: { spendUSD?: number; tokens?: number; requests?: number }
24
- }) {
25
- return (
26
- <YStack gap="$4">
27
- {totals ? (
28
- <XStack gap="$3" flexWrap="wrap">
29
- <MetricCard
30
- icon={<DollarSign size={16} color="$color11" />}
31
- label="Total spend"
32
- value={totals.spendUSD != null ? formatUsageCurrency(totals.spendUSD, 'USD') : '—'}
33
- />
34
- <MetricCard
35
- icon={<Coins size={16} color="$color11" />}
36
- label="Tokens"
37
- value={totals.tokens != null ? formatUsageCount(totals.tokens) : '—'}
38
- />
39
- <MetricCard
40
- icon={<Activity size={16} color="$color11" />}
41
- label="Requests"
42
- value={totals.requests != null ? formatUsageCount(totals.requests) : '—'}
43
- />
44
- </XStack>
45
- ) : null}
46
-
47
- <XStack gap="$3" flexWrap="wrap">
48
- {providers.map((p) => (
49
- <UsageProviderCard key={p.name} {...p} />
50
- ))}
51
- </XStack>
52
- </YStack>
53
- )
54
- }