@uipath/apollo-wind 0.10.0 → 0.11.0-pr295.af4e744

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 (187) hide show
  1. package/dist/components/custom/canvas-studio.cjs +133 -0
  2. package/dist/components/custom/canvas-studio.d.ts +99 -0
  3. package/dist/components/custom/canvas-studio.js +93 -0
  4. package/dist/components/custom/canvas.cjs +44 -0
  5. package/dist/components/custom/canvas.d.ts +14 -0
  6. package/dist/components/custom/canvas.js +10 -0
  7. package/dist/components/custom/chat-composer.cjs +105 -0
  8. package/dist/components/custom/chat-composer.d.ts +15 -0
  9. package/dist/components/custom/chat-composer.js +71 -0
  10. package/dist/components/custom/chat-first-experience.cjs +87 -0
  11. package/dist/components/custom/chat-first-experience.d.ts +24 -0
  12. package/dist/components/custom/chat-first-experience.js +53 -0
  13. package/dist/components/custom/chat-prompt-suggestions.cjs +49 -0
  14. package/dist/components/custom/chat-prompt-suggestions.d.ts +18 -0
  15. package/dist/components/custom/chat-prompt-suggestions.js +15 -0
  16. package/dist/components/custom/chat-steps-view.cjs +308 -0
  17. package/dist/components/custom/chat-steps-view.d.ts +38 -0
  18. package/dist/components/custom/chat-steps-view.js +274 -0
  19. package/dist/components/custom/flow-node.cjs +76 -0
  20. package/dist/components/custom/flow-node.d.ts +20 -0
  21. package/dist/components/custom/flow-node.js +42 -0
  22. package/dist/components/custom/flow-properties-bar.cjs +103 -0
  23. package/dist/components/custom/flow-properties-bar.d.ts +21 -0
  24. package/dist/components/custom/flow-properties-bar.js +69 -0
  25. package/dist/components/custom/flow-properties-expanded.cjs +328 -0
  26. package/dist/components/custom/flow-properties-expanded.d.ts +21 -0
  27. package/dist/components/custom/flow-properties-expanded.js +294 -0
  28. package/dist/components/custom/flow-properties-simple.cjs +364 -0
  29. package/dist/components/custom/flow-properties-simple.d.ts +62 -0
  30. package/dist/components/custom/flow-properties-simple.js +330 -0
  31. package/dist/components/custom/flow-properties.cjs +56 -0
  32. package/dist/components/custom/flow-properties.d.ts +28 -0
  33. package/dist/components/custom/flow-properties.js +22 -0
  34. package/dist/components/custom/global-header.cjs +422 -0
  35. package/dist/components/custom/global-header.d.ts +38 -0
  36. package/dist/components/custom/global-header.js +388 -0
  37. package/dist/components/custom/grid-maestro.cjs +62 -0
  38. package/dist/components/custom/grid-maestro.d.ts +19 -0
  39. package/dist/components/custom/grid-maestro.js +22 -0
  40. package/dist/components/custom/page-header.cjs +92 -0
  41. package/dist/components/custom/page-header.d.ts +43 -0
  42. package/dist/components/custom/page-header.js +58 -0
  43. package/dist/components/custom/panel-delegate.cjs +285 -0
  44. package/dist/components/custom/panel-delegate.d.ts +34 -0
  45. package/dist/components/custom/panel-delegate.js +251 -0
  46. package/dist/components/custom/panel-flow.cjs +262 -0
  47. package/dist/components/custom/panel-flow.d.ts +38 -0
  48. package/dist/components/custom/panel-flow.js +225 -0
  49. package/dist/components/custom/panel-maestro.cjs +74 -0
  50. package/dist/components/custom/panel-maestro.d.ts +30 -0
  51. package/dist/components/custom/panel-maestro.js +40 -0
  52. package/dist/components/custom/panel-studio.cjs +122 -0
  53. package/dist/components/custom/panel-studio.d.ts +48 -0
  54. package/dist/components/custom/panel-studio.js +85 -0
  55. package/dist/components/custom/toolbar-canvas.cjs +124 -0
  56. package/dist/components/custom/toolbar-canvas.d.ts +15 -0
  57. package/dist/components/custom/toolbar-canvas.js +90 -0
  58. package/dist/components/custom/toolbar-view.cjs +121 -0
  59. package/dist/components/custom/toolbar-view.d.ts +14 -0
  60. package/dist/components/custom/toolbar-view.js +87 -0
  61. package/dist/components/custom/viewport-guard.cjs +92 -0
  62. package/dist/components/custom/viewport-guard.d.ts +23 -0
  63. package/dist/components/custom/viewport-guard.js +55 -0
  64. package/dist/components/forms/field-renderer.cjs +3 -1
  65. package/dist/components/forms/field-renderer.js +3 -1
  66. package/dist/components/forms/form-designer.cjs +13 -2
  67. package/dist/components/forms/form-designer.js +13 -2
  68. package/dist/components/forms/rules-engine.d.ts +1 -1
  69. package/dist/components/ui/breadcrumb.cjs +1 -2
  70. package/dist/components/ui/breadcrumb.js +1 -2
  71. package/dist/components/ui/button-group.cjs +5 -3
  72. package/dist/components/ui/button-group.d.ts +2 -2
  73. package/dist/components/ui/button-group.js +5 -3
  74. package/dist/components/ui/button.cjs +3 -3
  75. package/dist/components/ui/button.js +3 -3
  76. package/dist/components/ui/chart.cjs +223 -0
  77. package/dist/components/ui/chart.d.ts +40 -0
  78. package/dist/components/ui/chart.js +174 -0
  79. package/dist/components/ui/code-block.cjs +258 -0
  80. package/dist/components/ui/code-block.d.ts +48 -0
  81. package/dist/components/ui/code-block.js +207 -0
  82. package/dist/components/ui/data-table.cjs +22 -4
  83. package/dist/components/ui/data-table.d.ts +5 -2
  84. package/dist/components/ui/data-table.js +23 -5
  85. package/dist/components/ui/editable-cell.cjs +3 -10
  86. package/dist/components/ui/editable-cell.js +3 -10
  87. package/dist/components/ui/empty-state.cjs +17 -6
  88. package/dist/components/ui/empty-state.d.ts +7 -0
  89. package/dist/components/ui/empty-state.js +17 -6
  90. package/dist/components/ui/file-upload.cjs +8 -0
  91. package/dist/components/ui/file-upload.js +8 -0
  92. package/dist/components/ui/index.cjs +289 -149
  93. package/dist/components/ui/index.d.ts +2 -3
  94. package/dist/components/ui/index.js +2 -3
  95. package/dist/components/ui/multi-select.cjs +3 -10
  96. package/dist/components/ui/multi-select.js +3 -10
  97. package/dist/components/ui/pagination.cjs +0 -1
  98. package/dist/components/ui/pagination.js +0 -1
  99. package/dist/components/ui/resizable.d.ts +1 -1
  100. package/dist/components/ui/tree-view.cjs +1117 -0
  101. package/dist/components/ui/tree-view.d.ts +95 -0
  102. package/dist/components/ui/tree-view.js +1083 -0
  103. package/dist/foundation/Future/colors.cjs +92 -0
  104. package/dist/foundation/Future/colors.d.ts +132 -0
  105. package/dist/foundation/Future/colors.js +43 -0
  106. package/dist/foundation/Future/radius.cjs +46 -0
  107. package/dist/foundation/Future/radius.d.ts +33 -0
  108. package/dist/foundation/Future/radius.js +12 -0
  109. package/dist/foundation/Future/responsive.cjs +49 -0
  110. package/dist/foundation/Future/responsive.d.ts +40 -0
  111. package/dist/foundation/Future/responsive.js +12 -0
  112. package/dist/foundation/Future/shadows.cjs +48 -0
  113. package/dist/foundation/Future/shadows.d.ts +29 -0
  114. package/dist/foundation/Future/shadows.js +11 -0
  115. package/dist/foundation/Future/spacing.cjs +71 -0
  116. package/dist/foundation/Future/spacing.d.ts +80 -0
  117. package/dist/foundation/Future/spacing.js +31 -0
  118. package/dist/foundation/Future/strokes.cjs +59 -0
  119. package/dist/foundation/Future/strokes.d.ts +49 -0
  120. package/dist/foundation/Future/strokes.js +19 -0
  121. package/dist/foundation/Future/types.cjs +18 -0
  122. package/dist/foundation/Future/types.d.ts +25 -0
  123. package/dist/foundation/Future/types.js +0 -0
  124. package/dist/foundation/Future/typography.cjs +79 -0
  125. package/dist/foundation/Future/typography.d.ts +86 -0
  126. package/dist/foundation/Future/typography.js +33 -0
  127. package/dist/index.cjs +131 -221
  128. package/dist/index.d.ts +4 -3
  129. package/dist/index.js +3 -4
  130. package/dist/src/foundation/Future/themes.css +279 -0
  131. package/dist/styles.css +1941 -605
  132. package/dist/tailwind.css +874 -87
  133. package/dist/templates/Admin/settings-admin.d.ts +5 -0
  134. package/dist/templates/Admin/template-admin.d.ts +86 -0
  135. package/dist/templates/Delegate/template-delegate.d.ts +26 -0
  136. package/dist/templates/EmptyErrors/error-components.d.ts +3 -0
  137. package/dist/templates/Experiments/ideas-AnimatedGradientText.d.ts +23 -0
  138. package/dist/templates/Flow/template-flow.d.ts +57 -0
  139. package/dist/templates/Maestro/template-maestro.d.ts +52 -0
  140. package/dist/templates/Studio/template-studio.d.ts +102 -0
  141. package/dist/templates/{vscode-example.d.ts → VisualStudio/shell.d.ts} +1 -1
  142. package/package.json +12 -1
  143. package/dist/components/ui/menubar.cjs +0 -210
  144. package/dist/components/ui/menubar.d.ts +0 -28
  145. package/dist/components/ui/menubar.js +0 -131
  146. package/dist/components/ui/navigation-menu.cjs +0 -122
  147. package/dist/components/ui/navigation-menu.d.ts +0 -12
  148. package/dist/components/ui/navigation-menu.js +0 -64
  149. package/dist/examples/admin-layout-example.cjs +0 -490
  150. package/dist/examples/admin-layout-example.d.ts +0 -92
  151. package/dist/examples/admin-layout-example.js +0 -411
  152. package/dist/examples/app-shell-example.cjs +0 -452
  153. package/dist/examples/app-shell-example.d.ts +0 -52
  154. package/dist/examples/app-shell-example.js +0 -418
  155. package/dist/examples/dashboard-example.cjs +0 -590
  156. package/dist/examples/dashboard-example.d.ts +0 -11
  157. package/dist/examples/dashboard-example.js +0 -556
  158. package/dist/examples/data-management-example.cjs +0 -584
  159. package/dist/examples/data-management-example.d.ts +0 -1
  160. package/dist/examples/data-management-example.js +0 -550
  161. package/dist/examples/flow-editor-layout-example.cjs +0 -309
  162. package/dist/examples/flow-editor-layout-example.d.ts +0 -22
  163. package/dist/examples/flow-editor-layout-example.js +0 -269
  164. package/dist/examples/flow-start-example.cjs +0 -467
  165. package/dist/examples/flow-start-example.d.ts +0 -30
  166. package/dist/examples/flow-start-example.js +0 -433
  167. package/dist/examples/form-builder-example.cjs +0 -674
  168. package/dist/examples/form-builder-example.js +0 -640
  169. package/dist/examples/new-project-example.cjs +0 -550
  170. package/dist/examples/new-project-example.d.ts +0 -30
  171. package/dist/examples/new-project-example.js +0 -516
  172. package/dist/examples/settings-example.cjs +0 -864
  173. package/dist/examples/settings-example.d.ts +0 -1
  174. package/dist/examples/settings-example.js +0 -830
  175. package/dist/examples/vscode-example.cjs +0 -340
  176. package/dist/examples/vscode-example.d.ts +0 -80
  177. package/dist/examples/vscode-example.js +0 -270
  178. package/dist/templates/admin-layout-example.d.ts +0 -92
  179. package/dist/templates/app-shell-example.d.ts +0 -52
  180. package/dist/templates/dashboard-example.d.ts +0 -11
  181. package/dist/templates/data-management-example.d.ts +0 -1
  182. package/dist/templates/flow-editor-layout-example.d.ts +0 -22
  183. package/dist/templates/flow-start-example.d.ts +0 -30
  184. package/dist/templates/form-builder-example.d.ts +0 -1
  185. package/dist/templates/new-project-example.d.ts +0 -30
  186. package/dist/templates/settings-example.d.ts +0 -1
  187. /package/dist/{examples → templates/Forms}/form-builder-example.d.ts +0 -0
@@ -0,0 +1,388 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Content } from "@radix-ui/react-dialog";
3
+ import { AlertCircle, Bell, BookOpen, CheckCircle2, ChevronDown, CircleHelp, ExternalLink, Info, LogOut, Menu, MessageCircleQuestion, Search, Settings, Sparkles, User, X } from "lucide-react";
4
+ import { useState } from "react";
5
+ import { Avatar, AvatarFallback } from "../ui/avatar.js";
6
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from "../ui/dropdown-menu.js";
7
+ import { Popover, PopoverContent, PopoverTrigger } from "../ui/popover.js";
8
+ import { Sheet, SheetOverlay, SheetPortal, SheetTitle } from "../ui/sheet.js";
9
+ import { cn } from "../../lib/index.js";
10
+ function HeaderIconButton({ icon, label, onClick, disabled }) {
11
+ return /*#__PURE__*/ jsx("button", {
12
+ type: "button",
13
+ className: cn('flex h-8 w-8 items-center justify-center rounded-lg text-foreground-muted transition-colors', disabled ? 'cursor-default opacity-50' : 'hover:text-foreground'),
14
+ onClick: disabled ? void 0 : onClick,
15
+ "aria-label": label,
16
+ "aria-disabled": disabled,
17
+ disabled: disabled,
18
+ children: icon
19
+ });
20
+ }
21
+ function NotificationsDropdown({ themeClass }) {
22
+ return /*#__PURE__*/ jsxs(DropdownMenu, {
23
+ children: [
24
+ /*#__PURE__*/ jsx(DropdownMenuTrigger, {
25
+ asChild: true,
26
+ children: /*#__PURE__*/ jsx("button", {
27
+ type: "button",
28
+ className: "flex h-8 w-8 items-center justify-center rounded-lg text-foreground-muted transition-colors hover:text-foreground",
29
+ "aria-label": "Notifications",
30
+ children: /*#__PURE__*/ jsx(Bell, {
31
+ className: "h-5 w-5"
32
+ })
33
+ })
34
+ }),
35
+ /*#__PURE__*/ jsxs(DropdownMenuContent, {
36
+ align: "end",
37
+ sideOffset: 8,
38
+ className: cn(themeClass, 'w-72 border-border bg-surface-overlay'),
39
+ children: [
40
+ /*#__PURE__*/ jsx("div", {
41
+ className: "px-3 py-2",
42
+ children: /*#__PURE__*/ jsx("p", {
43
+ className: "text-sm font-semibold text-foreground",
44
+ children: "Notifications"
45
+ })
46
+ }),
47
+ /*#__PURE__*/ jsx(DropdownMenuSeparator, {
48
+ className: "bg-border-subtle"
49
+ }),
50
+ /*#__PURE__*/ jsxs(DropdownMenuItem, {
51
+ className: "flex items-start gap-3 px-3 py-2.5 text-foreground-muted focus:bg-surface-hover focus:text-foreground",
52
+ children: [
53
+ /*#__PURE__*/ jsx(Info, {
54
+ className: "mt-0.5 h-4 w-4 shrink-0 text-brand-foreground"
55
+ }),
56
+ /*#__PURE__*/ jsxs("div", {
57
+ className: "flex flex-col gap-0.5",
58
+ children: [
59
+ /*#__PURE__*/ jsx("span", {
60
+ className: "text-sm font-medium text-foreground",
61
+ children: "System update available"
62
+ }),
63
+ /*#__PURE__*/ jsx("span", {
64
+ className: "text-xs text-foreground-muted",
65
+ children: "A new version is ready to install"
66
+ })
67
+ ]
68
+ })
69
+ ]
70
+ }),
71
+ /*#__PURE__*/ jsxs(DropdownMenuItem, {
72
+ className: "flex items-start gap-3 px-3 py-2.5 text-foreground-muted focus:bg-surface-hover focus:text-foreground",
73
+ children: [
74
+ /*#__PURE__*/ jsx(CheckCircle2, {
75
+ className: "mt-0.5 h-4 w-4 shrink-0 text-green-500"
76
+ }),
77
+ /*#__PURE__*/ jsxs("div", {
78
+ className: "flex flex-col gap-0.5",
79
+ children: [
80
+ /*#__PURE__*/ jsx("span", {
81
+ className: "text-sm font-medium text-foreground",
82
+ children: "Flow completed"
83
+ }),
84
+ /*#__PURE__*/ jsx("span", {
85
+ className: "text-xs text-foreground-muted",
86
+ children: "Invoice processing finished successfully"
87
+ })
88
+ ]
89
+ })
90
+ ]
91
+ }),
92
+ /*#__PURE__*/ jsxs(DropdownMenuItem, {
93
+ className: "flex items-start gap-3 px-3 py-2.5 text-foreground-muted focus:bg-surface-hover focus:text-foreground",
94
+ children: [
95
+ /*#__PURE__*/ jsx(AlertCircle, {
96
+ className: "mt-0.5 h-4 w-4 shrink-0 text-amber-500"
97
+ }),
98
+ /*#__PURE__*/ jsxs("div", {
99
+ className: "flex flex-col gap-0.5",
100
+ children: [
101
+ /*#__PURE__*/ jsx("span", {
102
+ className: "text-sm font-medium text-foreground",
103
+ children: "Action required"
104
+ }),
105
+ /*#__PURE__*/ jsx("span", {
106
+ className: "text-xs text-foreground-muted",
107
+ children: "Review pending approval requests"
108
+ })
109
+ ]
110
+ })
111
+ ]
112
+ })
113
+ ]
114
+ })
115
+ ]
116
+ });
117
+ }
118
+ function HelpDropdown({ themeClass }) {
119
+ return /*#__PURE__*/ jsxs(DropdownMenu, {
120
+ children: [
121
+ /*#__PURE__*/ jsx(DropdownMenuTrigger, {
122
+ asChild: true,
123
+ children: /*#__PURE__*/ jsx("button", {
124
+ type: "button",
125
+ className: "flex h-8 w-8 items-center justify-center rounded-lg text-foreground-muted transition-colors hover:text-foreground",
126
+ "aria-label": "Help",
127
+ children: /*#__PURE__*/ jsx(CircleHelp, {
128
+ className: "h-5 w-5"
129
+ })
130
+ })
131
+ }),
132
+ /*#__PURE__*/ jsxs(DropdownMenuContent, {
133
+ align: "end",
134
+ sideOffset: 8,
135
+ className: cn(themeClass, 'w-56 border-border bg-surface-overlay'),
136
+ children: [
137
+ /*#__PURE__*/ jsxs(DropdownMenuItem, {
138
+ className: "flex items-center gap-2 px-3 py-2 text-foreground-muted focus:bg-surface-hover focus:text-foreground",
139
+ children: [
140
+ /*#__PURE__*/ jsx(BookOpen, {
141
+ className: "h-4 w-4"
142
+ }),
143
+ /*#__PURE__*/ jsx("span", {
144
+ className: "text-sm",
145
+ children: "Documentation"
146
+ })
147
+ ]
148
+ }),
149
+ /*#__PURE__*/ jsxs(DropdownMenuItem, {
150
+ className: "flex items-center gap-2 px-3 py-2 text-foreground-muted focus:bg-surface-hover focus:text-foreground",
151
+ children: [
152
+ /*#__PURE__*/ jsx(MessageCircleQuestion, {
153
+ className: "h-4 w-4"
154
+ }),
155
+ /*#__PURE__*/ jsx("span", {
156
+ className: "text-sm",
157
+ children: "Support"
158
+ })
159
+ ]
160
+ }),
161
+ /*#__PURE__*/ jsxs(DropdownMenuItem, {
162
+ className: "flex items-center gap-2 px-3 py-2 text-foreground-muted focus:bg-surface-hover focus:text-foreground",
163
+ children: [
164
+ /*#__PURE__*/ jsx(ExternalLink, {
165
+ className: "h-4 w-4"
166
+ }),
167
+ /*#__PURE__*/ jsx("span", {
168
+ className: "text-sm",
169
+ children: "Community forum"
170
+ })
171
+ ]
172
+ })
173
+ ]
174
+ })
175
+ ]
176
+ });
177
+ }
178
+ function TenantSelector({ tenantName, themeClass }) {
179
+ const [selected, setSelected] = useState(tenantName);
180
+ const tenants = [
181
+ {
182
+ id: 'default',
183
+ label: 'Default Tenant'
184
+ },
185
+ {
186
+ id: 'production',
187
+ label: 'Production'
188
+ },
189
+ {
190
+ id: 'staging',
191
+ label: 'Staging'
192
+ }
193
+ ];
194
+ return /*#__PURE__*/ jsxs(Popover, {
195
+ children: [
196
+ /*#__PURE__*/ jsx(PopoverTrigger, {
197
+ asChild: true,
198
+ children: /*#__PURE__*/ jsxs("button", {
199
+ type: "button",
200
+ className: "flex items-center gap-1 rounded-lg px-2 py-1 text-sm text-foreground-muted transition-colors hover:text-foreground",
201
+ children: [
202
+ /*#__PURE__*/ jsxs("span", {
203
+ children: [
204
+ "Tenant: ",
205
+ /*#__PURE__*/ jsx("span", {
206
+ className: "font-medium",
207
+ children: selected
208
+ })
209
+ ]
210
+ }),
211
+ /*#__PURE__*/ jsx(ChevronDown, {
212
+ className: "h-4 w-4"
213
+ })
214
+ ]
215
+ })
216
+ }),
217
+ /*#__PURE__*/ jsx(PopoverContent, {
218
+ align: "end",
219
+ sideOffset: 8,
220
+ className: cn(themeClass, 'w-56 border-border bg-surface-overlay p-1'),
221
+ children: tenants.map((tenant)=>/*#__PURE__*/ jsx("button", {
222
+ type: "button",
223
+ className: cn('flex w-full items-center rounded-md px-3 py-2 text-sm transition-colors hover:bg-surface-hover', selected === tenant.label ? 'font-medium text-foreground' : 'text-foreground-muted'),
224
+ onClick: ()=>setSelected(tenant.label),
225
+ children: tenant.label
226
+ }, tenant.id))
227
+ })
228
+ ]
229
+ });
230
+ }
231
+ function AvatarDropdown({ themeClass }) {
232
+ return /*#__PURE__*/ jsxs(DropdownMenu, {
233
+ children: [
234
+ /*#__PURE__*/ jsx(DropdownMenuTrigger, {
235
+ asChild: true,
236
+ children: /*#__PURE__*/ jsx("button", {
237
+ type: "button",
238
+ className: "rounded-full focus:outline-none",
239
+ "aria-label": "User menu",
240
+ children: /*#__PURE__*/ jsx(Avatar, {
241
+ className: "h-6 w-6 bg-brand",
242
+ children: /*#__PURE__*/ jsx(AvatarFallback, {
243
+ className: "bg-brand text-[10px] font-bold text-foreground-on-accent",
244
+ children: "UI"
245
+ })
246
+ })
247
+ })
248
+ }),
249
+ /*#__PURE__*/ jsxs(DropdownMenuContent, {
250
+ align: "end",
251
+ sideOffset: 8,
252
+ className: cn(themeClass, 'w-48 border-border bg-surface-overlay'),
253
+ children: [
254
+ /*#__PURE__*/ jsxs(DropdownMenuItem, {
255
+ className: "flex items-center gap-2 px-3 py-2 text-foreground-muted focus:bg-surface-hover focus:text-foreground",
256
+ children: [
257
+ /*#__PURE__*/ jsx(User, {
258
+ className: "h-4 w-4"
259
+ }),
260
+ /*#__PURE__*/ jsx("span", {
261
+ className: "text-sm",
262
+ children: "Profile"
263
+ })
264
+ ]
265
+ }),
266
+ /*#__PURE__*/ jsxs(DropdownMenuItem, {
267
+ className: "flex items-center gap-2 px-3 py-2 text-foreground-muted focus:bg-surface-hover focus:text-foreground",
268
+ children: [
269
+ /*#__PURE__*/ jsx(Settings, {
270
+ className: "h-4 w-4"
271
+ }),
272
+ /*#__PURE__*/ jsx("span", {
273
+ className: "text-sm",
274
+ children: "Settings"
275
+ })
276
+ ]
277
+ }),
278
+ /*#__PURE__*/ jsx(DropdownMenuSeparator, {
279
+ className: "bg-border-subtle"
280
+ }),
281
+ /*#__PURE__*/ jsxs(DropdownMenuItem, {
282
+ className: "flex items-center gap-2 px-3 py-2 text-foreground-muted focus:bg-surface-hover focus:text-foreground",
283
+ children: [
284
+ /*#__PURE__*/ jsx(LogOut, {
285
+ className: "h-4 w-4"
286
+ }),
287
+ /*#__PURE__*/ jsx("span", {
288
+ className: "text-sm",
289
+ children: "Log out"
290
+ })
291
+ ]
292
+ })
293
+ ]
294
+ })
295
+ ]
296
+ });
297
+ }
298
+ function MaestroHeader({ className, theme = 'dark', title = 'Maestro', tenantName = 'Select', menuContent, onSearchClick }) {
299
+ const themeClass = theme;
300
+ const [menuOpen, setMenuOpen] = useState(false);
301
+ return /*#__PURE__*/ jsxs(Fragment, {
302
+ children: [
303
+ /*#__PURE__*/ jsxs("header", {
304
+ className: cn('flex h-12 shrink-0 items-center justify-between border-b border-border-subtle bg-surface px-4', className),
305
+ children: [
306
+ /*#__PURE__*/ jsxs("div", {
307
+ className: "flex items-center gap-3",
308
+ children: [
309
+ /*#__PURE__*/ jsx("button", {
310
+ type: "button",
311
+ className: "flex h-8 w-8 items-center justify-center rounded-lg text-foreground-muted transition-colors hover:text-foreground",
312
+ onClick: ()=>menuContent && setMenuOpen((prev)=>!prev),
313
+ "aria-label": "App launcher",
314
+ children: menuOpen ? /*#__PURE__*/ jsx(X, {
315
+ className: "h-5 w-5"
316
+ }) : /*#__PURE__*/ jsx(Menu, {
317
+ className: "h-5 w-5"
318
+ })
319
+ }),
320
+ /*#__PURE__*/ jsx("span", {
321
+ className: "text-sm font-semibold text-foreground",
322
+ children: title
323
+ })
324
+ ]
325
+ }),
326
+ /*#__PURE__*/ jsxs("div", {
327
+ className: "flex items-center gap-4",
328
+ children: [
329
+ /*#__PURE__*/ jsx(HeaderIconButton, {
330
+ icon: /*#__PURE__*/ jsx(Search, {
331
+ className: "h-5 w-5"
332
+ }),
333
+ label: "Search",
334
+ onClick: onSearchClick,
335
+ disabled: true
336
+ }),
337
+ /*#__PURE__*/ jsx(HeaderIconButton, {
338
+ icon: /*#__PURE__*/ jsx(Sparkles, {
339
+ className: "h-5 w-5"
340
+ }),
341
+ label: "AI",
342
+ disabled: true
343
+ }),
344
+ /*#__PURE__*/ jsx(NotificationsDropdown, {
345
+ themeClass: themeClass
346
+ }),
347
+ /*#__PURE__*/ jsx(HelpDropdown, {
348
+ themeClass: themeClass
349
+ }),
350
+ /*#__PURE__*/ jsx(TenantSelector, {
351
+ tenantName: tenantName,
352
+ themeClass: themeClass
353
+ }),
354
+ /*#__PURE__*/ jsx(AvatarDropdown, {
355
+ themeClass: themeClass
356
+ })
357
+ ]
358
+ })
359
+ ]
360
+ }),
361
+ menuContent && /*#__PURE__*/ jsx(Sheet, {
362
+ open: menuOpen,
363
+ onOpenChange: setMenuOpen,
364
+ children: /*#__PURE__*/ jsxs(SheetPortal, {
365
+ children: [
366
+ /*#__PURE__*/ jsx(SheetOverlay, {
367
+ className: "top-12"
368
+ }),
369
+ /*#__PURE__*/ jsxs(Content, {
370
+ className: cn(themeClass, 'fixed left-0 top-12 bottom-0 z-50 w-[300px] border-r border-border-subtle bg-surface p-0 shadow-lg', 'data-[state=open]:animate-in data-[state=closed]:animate-out', 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left', 'data-[state=closed]:duration-300 data-[state=open]:duration-300'),
371
+ children: [
372
+ /*#__PURE__*/ jsx(SheetTitle, {
373
+ className: "sr-only",
374
+ children: "App launcher"
375
+ }),
376
+ /*#__PURE__*/ jsx("div", {
377
+ className: "flex h-full flex-col overflow-y-auto",
378
+ children: menuContent
379
+ })
380
+ ]
381
+ })
382
+ ]
383
+ })
384
+ })
385
+ ]
386
+ });
387
+ }
388
+ export { MaestroHeader };
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ Canvas: ()=>Canvas,
28
+ GridItem: ()=>GridItem,
29
+ Grid: ()=>Grid
30
+ });
31
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
32
+ require("react");
33
+ const index_cjs_namespaceObject = require("../../lib/index.cjs");
34
+ function Canvas({ children, className }) {
35
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("main", {
36
+ className: (0, index_cjs_namespaceObject.cn)('flex flex-1 flex-col overflow-y-auto bg-surface-raised p-6', className),
37
+ children: children
38
+ });
39
+ }
40
+ function Grid({ children, className }) {
41
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
42
+ className: (0, index_cjs_namespaceObject.cn)('grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-4', className),
43
+ children: children
44
+ });
45
+ }
46
+ function GridItem({ children, className }) {
47
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
48
+ className: className,
49
+ children: children
50
+ });
51
+ }
52
+ exports.Canvas = __webpack_exports__.Canvas;
53
+ exports.Grid = __webpack_exports__.Grid;
54
+ exports.GridItem = __webpack_exports__.GridItem;
55
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
56
+ "Canvas",
57
+ "Grid",
58
+ "GridItem"
59
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
60
+ Object.defineProperty(exports, '__esModule', {
61
+ value: true
62
+ });
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ export declare function Canvas({ children, className, }: {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ /**
7
+ * Responsive grid:
8
+ * < 768px → 1 column
9
+ * 768–1023 → 2 columns
10
+ * >= 1024 → 4 columns
11
+ */
12
+ export declare function Grid({ children, className, }: {
13
+ children: React.ReactNode;
14
+ className?: string;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ export declare function GridItem({ children, className, }: {
17
+ children: React.ReactNode;
18
+ className?: string;
19
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ import { cn } from "../../lib/index.js";
4
+ function Canvas({ children, className }) {
5
+ return /*#__PURE__*/ jsx("main", {
6
+ className: cn('flex flex-1 flex-col overflow-y-auto bg-surface-raised p-6', className),
7
+ children: children
8
+ });
9
+ }
10
+ function Grid({ children, className }) {
11
+ return /*#__PURE__*/ jsx("div", {
12
+ className: cn('grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-4', className),
13
+ children: children
14
+ });
15
+ }
16
+ function GridItem({ children, className }) {
17
+ return /*#__PURE__*/ jsx("div", {
18
+ className: className,
19
+ children: children
20
+ });
21
+ }
22
+ export { Canvas, Grid, GridItem };
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ PageHeader: ()=>PageHeader
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const external_react_namespaceObject = require("react");
31
+ const index_cjs_namespaceObject = require("../../lib/index.cjs");
32
+ function PageHeader({ className, title, description, breadcrumb, actions, tabs, activeTab, onTabChange }) {
33
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
34
+ className: (0, index_cjs_namespaceObject.cn)('border-b border-border-subtle px-6 py-4', className),
35
+ children: [
36
+ breadcrumb && breadcrumb.length > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
37
+ className: "mb-2 flex items-center gap-1.5 text-sm text-foreground-muted",
38
+ children: breadcrumb.map((item, i)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_react_namespaceObject.Fragment, {
39
+ children: [
40
+ i > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
41
+ className: "text-foreground-subtle",
42
+ children: "/"
43
+ }),
44
+ i === breadcrumb.length - 1 ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
45
+ className: "text-foreground",
46
+ children: item
47
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
48
+ children: item
49
+ })
50
+ ]
51
+ }, item))
52
+ }),
53
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
54
+ className: "flex items-center justify-between",
55
+ children: [
56
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
57
+ children: [
58
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("h1", {
59
+ className: "text-xl font-semibold text-foreground",
60
+ children: title
61
+ }),
62
+ description && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("p", {
63
+ className: "mt-0.5 text-sm text-foreground-muted",
64
+ children: description
65
+ })
66
+ ]
67
+ }),
68
+ actions && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
69
+ className: "flex items-center gap-2",
70
+ children: actions
71
+ })
72
+ ]
73
+ }),
74
+ tabs && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
75
+ className: "mt-4 flex gap-1",
76
+ children: tabs.map((tab)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
77
+ type: "button",
78
+ className: (0, index_cjs_namespaceObject.cn)('px-4 pb-2 pt-1 text-sm font-medium transition-colors', activeTab === tab.value ? 'border-b-2 border-brand text-foreground' : 'text-foreground-muted hover:text-foreground'),
79
+ onClick: ()=>onTabChange?.(tab.value),
80
+ children: tab.label
81
+ }, tab.value))
82
+ })
83
+ ]
84
+ });
85
+ }
86
+ exports.PageHeader = __webpack_exports__.PageHeader;
87
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
88
+ "PageHeader"
89
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
90
+ Object.defineProperty(exports, '__esModule', {
91
+ value: true
92
+ });
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ export interface PageHeaderProps {
3
+ className?: string;
4
+ /** Page title */
5
+ title: string;
6
+ /** Optional subtitle rendered below the title */
7
+ description?: string;
8
+ /** Breadcrumb segments — last segment is rendered in the foreground color */
9
+ breadcrumb?: string[];
10
+ /** Action buttons rendered on the right of the title row */
11
+ actions?: React.ReactNode;
12
+ /** Tab definitions */
13
+ tabs?: {
14
+ value: string;
15
+ label: string;
16
+ }[];
17
+ /** Currently active tab value */
18
+ activeTab?: string;
19
+ /** Called when a tab is clicked */
20
+ onTabChange?: (value: string) => void;
21
+ }
22
+ /**
23
+ * Reusable page header with optional breadcrumb trail, action buttons, and
24
+ * an underline tab bar.
25
+ *
26
+ * Used by the Admin, Studio, and other templates. Compose with a template's
27
+ * main content area; the component handles its own bottom border.
28
+ *
29
+ * ```tsx
30
+ * <PageHeader
31
+ * title="Manage access"
32
+ * breadcrumb={['POPoC', 'DefaultTenant', 'Manage access']}
33
+ * actions={<Button>Assign role</Button>}
34
+ * tabs={[
35
+ * { value: 'assignments', label: 'Role assignments' },
36
+ * { value: 'roles', label: 'Roles' },
37
+ * ]}
38
+ * activeTab={activeTab}
39
+ * onTabChange={setActiveTab}
40
+ * />
41
+ * ```
42
+ */
43
+ export declare function PageHeader({ className, title, description, breadcrumb, actions, tabs, activeTab, onTabChange, }: PageHeaderProps): import("react/jsx-runtime").JSX.Element;