@xemahq/ui-kernel 0.8.0 → 0.9.0

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 (326) hide show
  1. package/dist/index.js +5 -21
  2. package/dist/index.js.map +1 -1
  3. package/dist/lib/biome-host/agent-validation.js +5 -9
  4. package/dist/lib/biome-host/agent-validation.js.map +1 -1
  5. package/dist/lib/biome-host/biome-builders.js +5 -9
  6. package/dist/lib/biome-host/biome-builders.js.map +1 -1
  7. package/dist/lib/biome-host/biome-mode.js +1 -2
  8. package/dist/lib/biome-host/biome-navigation.js +6 -10
  9. package/dist/lib/biome-host/biome-navigation.js.map +1 -1
  10. package/dist/lib/biome-host/biome-registry.js +13 -20
  11. package/dist/lib/biome-host/biome-registry.js.map +1 -1
  12. package/dist/lib/biome-host/biome-scope.js +9 -14
  13. package/dist/lib/biome-host/biome-scope.js.map +1 -1
  14. package/dist/lib/biome-host/biome-scoped-query.js +8 -13
  15. package/dist/lib/biome-host/biome-scoped-query.js.map +1 -1
  16. package/dist/lib/biome-host/create-biome-orval-config.js +1 -4
  17. package/dist/lib/biome-host/create-biome-orval-config.js.map +1 -1
  18. package/dist/lib/biome-host/define-web-biome.js +3 -6
  19. package/dist/lib/biome-host/define-web-biome.js.map +1 -1
  20. package/dist/lib/biome-host/errors.js +1 -4
  21. package/dist/lib/biome-host/errors.js.map +1 -1
  22. package/dist/lib/biome-host/frontend-biome.js +3 -6
  23. package/dist/lib/biome-host/frontend-biome.js.map +1 -1
  24. package/dist/lib/biome-host/host-bridge.js +5 -9
  25. package/dist/lib/biome-host/host-bridge.js.map +1 -1
  26. package/dist/lib/biome-host/host-sources.js +1 -2
  27. package/dist/lib/biome-host/i18n-hooks.js +5 -9
  28. package/dist/lib/biome-host/i18n-hooks.js.map +1 -1
  29. package/dist/lib/biome-host/i18n-port.js +1 -4
  30. package/dist/lib/biome-host/i18n-port.js.map +1 -1
  31. package/dist/lib/biome-host/index.js +22 -38
  32. package/dist/lib/biome-host/index.js.map +1 -1
  33. package/dist/lib/biome-host/realtime-hooks.js +7 -12
  34. package/dist/lib/biome-host/realtime-hooks.js.map +1 -1
  35. package/dist/lib/biome-host/realtime-port.js +1 -2
  36. package/dist/lib/biome-host/response-envelope.js +2 -6
  37. package/dist/lib/biome-host/response-envelope.js.map +1 -1
  38. package/dist/lib/biome-host/session-contributions.js +1 -2
  39. package/dist/lib/biome-host/session-profiles.js +7 -11
  40. package/dist/lib/biome-host/session-profiles.js.map +1 -1
  41. package/dist/lib/biome-host/use-mutation-with-error-toast.js +7 -10
  42. package/dist/lib/biome-host/use-mutation-with-error-toast.js.map +1 -1
  43. package/dist/lib/biome-host/use-page-state.js +16 -21
  44. package/dist/lib/biome-host/use-page-state.js.map +1 -1
  45. package/dist/lib/capabilities/capability-provider.js +11 -15
  46. package/dist/lib/capabilities/capability-provider.js.map +1 -1
  47. package/dist/lib/capabilities/index.js +3 -19
  48. package/dist/lib/capabilities/index.js.map +1 -1
  49. package/dist/lib/capabilities/types.js +1 -2
  50. package/dist/lib/capabilities/use-capability.js +5 -9
  51. package/dist/lib/capabilities/use-capability.js.map +1 -1
  52. package/dist/lib/system-bus/capability-invoke.js +1 -2
  53. package/dist/lib/system-bus/deeplink.js +12 -17
  54. package/dist/lib/system-bus/deeplink.js.map +1 -1
  55. package/dist/lib/system-bus/enums.js +10 -13
  56. package/dist/lib/system-bus/enums.js.map +1 -1
  57. package/dist/lib/system-bus/host-ports.js +1 -2
  58. package/dist/lib/system-bus/index.js +10 -26
  59. package/dist/lib/system-bus/index.js.map +1 -1
  60. package/dist/lib/system-bus/intent-registry.js +6 -10
  61. package/dist/lib/system-bus/intent-registry.js.map +1 -1
  62. package/dist/lib/system-bus/intents.js +1 -2
  63. package/dist/lib/system-bus/palette.js +1 -2
  64. package/dist/lib/system-bus/system-bus-builder.js +10 -13
  65. package/dist/lib/system-bus/system-bus-builder.js.map +1 -1
  66. package/dist/lib/system-bus/system-bus.js +1 -2
  67. package/dist/lib/system-bus/windows.js +1 -2
  68. package/dist/offline/id.js +1 -4
  69. package/dist/offline/id.js.map +1 -1
  70. package/dist/offline/index.js +8 -25
  71. package/dist/offline/index.js.map +1 -1
  72. package/dist/offline/mutation.js +5 -8
  73. package/dist/offline/mutation.js.map +1 -1
  74. package/dist/offline/offline-status-badge.js +7 -10
  75. package/dist/offline/offline-status-badge.js.map +1 -1
  76. package/dist/offline/online-controller.js +2 -7
  77. package/dist/offline/online-controller.js.map +1 -1
  78. package/dist/offline/outbox.js +22 -26
  79. package/dist/offline/outbox.js.map +1 -1
  80. package/dist/offline/react.js +15 -21
  81. package/dist/offline/react.js.map +1 -1
  82. package/dist/offline/storage.js +3 -9
  83. package/dist/offline/storage.js.map +1 -1
  84. package/dist/offline/types.js +2 -5
  85. package/dist/offline/types.js.map +1 -1
  86. package/dist/org-db/components/DbResultTable.js +7 -10
  87. package/dist/org-db/components/DbResultTable.js.map +1 -1
  88. package/dist/org-db/index.js +1 -5
  89. package/dist/org-db/index.js.map +1 -1
  90. package/dist/pdf/index.d.ts +2 -0
  91. package/dist/pdf/index.d.ts.map +1 -0
  92. package/dist/pdf/index.js +2 -0
  93. package/dist/pdf/index.js.map +1 -0
  94. package/dist/registry/index.js +8 -24
  95. package/dist/registry/index.js.map +1 -1
  96. package/dist/registry/lib/agent-validation-host.js +5 -8
  97. package/dist/registry/lib/agent-validation-host.js.map +1 -1
  98. package/dist/registry/lib/biome-slot.js +9 -12
  99. package/dist/registry/lib/biome-slot.js.map +1 -1
  100. package/dist/registry/lib/biomes-enabled-context.js +5 -9
  101. package/dist/registry/lib/biomes-enabled-context.js.map +1 -1
  102. package/dist/registry/lib/extension-points.js +1 -4
  103. package/dist/registry/lib/extension-points.js.map +1 -1
  104. package/dist/registry/lib/primitives/SessionEventCard.js +7 -10
  105. package/dist/registry/lib/primitives/SessionEventCard.js.map +1 -1
  106. package/dist/registry/lib/primitives/SessionEventTimeline.js +9 -12
  107. package/dist/registry/lib/primitives/SessionEventTimeline.js.map +1 -1
  108. package/dist/registry/lib/primitives/SessionMutationBar.js +3 -6
  109. package/dist/registry/lib/primitives/SessionMutationBar.js.map +1 -1
  110. package/dist/registry/lib/primitives/SessionTabbedDrawer.js +11 -14
  111. package/dist/registry/lib/primitives/SessionTabbedDrawer.js.map +1 -1
  112. package/dist/registry/lib/primitives/index.js +4 -20
  113. package/dist/registry/lib/primitives/index.js.map +1 -1
  114. package/dist/registry/lib/session-context-builder.js +6 -10
  115. package/dist/registry/lib/session-context-builder.js.map +1 -1
  116. package/dist/registry/lib/session-context-provider.js +9 -14
  117. package/dist/registry/lib/session-context-provider.js.map +1 -1
  118. package/dist/registry/lib/session-selectors.js +30 -39
  119. package/dist/registry/lib/session-selectors.js.map +1 -1
  120. package/dist/session/comments/CommentRail.js +6 -9
  121. package/dist/session/comments/CommentRail.js.map +1 -1
  122. package/dist/session/index.js +3 -9
  123. package/dist/session/index.js.map +1 -1
  124. package/dist/session/lib/cn.js +4 -7
  125. package/dist/session/lib/cn.js.map +1 -1
  126. package/dist/session/shell/SessionWorkspaceShell.js +5 -8
  127. package/dist/session/shell/SessionWorkspaceShell.js.map +1 -1
  128. package/dist/session-kit/approvals/ApprovalButton.js +3 -6
  129. package/dist/session-kit/approvals/ApprovalButton.js.map +1 -1
  130. package/dist/session-kit/approvals/ApprovalCard.js +30 -33
  131. package/dist/session-kit/approvals/ApprovalCard.js.map +1 -1
  132. package/dist/session-kit/approvals/ApprovalsCenter.js +29 -32
  133. package/dist/session-kit/approvals/ApprovalsCenter.js.map +1 -1
  134. package/dist/session-kit/approvals/CapabilityApprovalStickyBar.js +12 -15
  135. package/dist/session-kit/approvals/CapabilityApprovalStickyBar.js.map +1 -1
  136. package/dist/session-kit/approvals/Obligation.js +12 -16
  137. package/dist/session-kit/approvals/Obligation.js.map +1 -1
  138. package/dist/session-kit/approvals/ScopedBody.js +34 -37
  139. package/dist/session-kit/approvals/ScopedBody.js.map +1 -1
  140. package/dist/session-kit/approvals/approval-icons.js +1 -2
  141. package/dist/session-kit/approvals/approval-model.js +6 -11
  142. package/dist/session-kit/approvals/approval-model.js.map +1 -1
  143. package/dist/session-kit/approvals/index.js +11 -27
  144. package/dist/session-kit/approvals/index.js.map +1 -1
  145. package/dist/session-kit/approvals/obligation-display.js +13 -16
  146. package/dist/session-kit/approvals/obligation-display.js.map +1 -1
  147. package/dist/session-kit/approvals/risk-accent.js +6 -9
  148. package/dist/session-kit/approvals/risk-accent.js.map +1 -1
  149. package/dist/session-kit/approvals/scope-icons.js +2 -5
  150. package/dist/session-kit/approvals/scope-icons.js.map +1 -1
  151. package/dist/session-kit/combobox/Combobox.js +19 -22
  152. package/dist/session-kit/combobox/Combobox.js.map +1 -1
  153. package/dist/session-kit/combobox/use-click-outside.js +4 -7
  154. package/dist/session-kit/combobox/use-click-outside.js.map +1 -1
  155. package/dist/session-kit/display/ContextHeader.js +10 -13
  156. package/dist/session-kit/display/ContextHeader.js.map +1 -1
  157. package/dist/session-kit/display/FileDiffCard.js +11 -14
  158. package/dist/session-kit/display/FileDiffCard.js.map +1 -1
  159. package/dist/session-kit/display/MD.js +14 -17
  160. package/dist/session-kit/display/MD.js.map +1 -1
  161. package/dist/session-kit/display/MessageTurn.js +20 -23
  162. package/dist/session-kit/display/MessageTurn.js.map +1 -1
  163. package/dist/session-kit/display/ThinkingPanel.js +7 -10
  164. package/dist/session-kit/display/ThinkingPanel.js.map +1 -1
  165. package/dist/session-kit/display/TodoChecklist.js +13 -16
  166. package/dist/session-kit/display/TodoChecklist.js.map +1 -1
  167. package/dist/session-kit/display/TokenMeter.js +8 -11
  168. package/dist/session-kit/display/TokenMeter.js.map +1 -1
  169. package/dist/session-kit/display/ToolStrip.js +26 -30
  170. package/dist/session-kit/display/ToolStrip.js.map +1 -1
  171. package/dist/session-kit/display/TypingDots.js +3 -6
  172. package/dist/session-kit/display/TypingDots.js.map +1 -1
  173. package/dist/session-kit/index.js +20 -36
  174. package/dist/session-kit/index.js.map +1 -1
  175. package/dist/session-kit/lib/enums.js +14 -17
  176. package/dist/session-kit/lib/enums.js.map +1 -1
  177. package/dist/session-kit/lib/portal-accent.js +1 -4
  178. package/dist/session-kit/lib/portal-accent.js.map +1 -1
  179. package/dist/session-kit/lib/status-dot.js +19 -24
  180. package/dist/session-kit/lib/status-dot.js.map +1 -1
  181. package/dist/session-kit/primitives/Avatar.js +3 -6
  182. package/dist/session-kit/primitives/Avatar.js.map +1 -1
  183. package/dist/session-kit/primitives/PortalGlyph.js +8 -11
  184. package/dist/session-kit/primitives/PortalGlyph.js.map +1 -1
  185. package/dist/session-kit/primitives/RiskPill.js +10 -14
  186. package/dist/session-kit/primitives/RiskPill.js.map +1 -1
  187. package/dist/session-kit/primitives/ScopeDot.js +7 -10
  188. package/dist/session-kit/primitives/ScopeDot.js.map +1 -1
  189. package/dist/session-kit/primitives/Segmented.js +4 -7
  190. package/dist/session-kit/primitives/Segmented.js.map +1 -1
  191. package/dist/ui/branding/app-branding-provider.js +13 -51
  192. package/dist/ui/branding/app-branding-provider.js.map +1 -1
  193. package/dist/ui/branding/sanitize.js +3 -8
  194. package/dist/ui/branding/sanitize.js.map +1 -1
  195. package/dist/ui/breakpoints.js +1 -4
  196. package/dist/ui/breakpoints.js.map +1 -1
  197. package/dist/ui/capture/document-preview.js +16 -19
  198. package/dist/ui/capture/document-preview.js.map +1 -1
  199. package/dist/ui/capture/field-spec-to-zod.js +32 -36
  200. package/dist/ui/capture/field-spec-to-zod.js.map +1 -1
  201. package/dist/ui/capture/field-spec.js +6 -13
  202. package/dist/ui/capture/field-spec.js.map +1 -1
  203. package/dist/ui/capture/index.js +10 -30
  204. package/dist/ui/capture/index.js.map +1 -1
  205. package/dist/ui/capture/schema-field-input.js +55 -58
  206. package/dist/ui/capture/schema-field-input.js.map +1 -1
  207. package/dist/ui/capture/schema-form.js +11 -14
  208. package/dist/ui/capture/schema-form.js.map +1 -1
  209. package/dist/ui/capture/use-prefill.js +13 -16
  210. package/dist/ui/capture/use-prefill.js.map +1 -1
  211. package/dist/ui/capture/use-schema-validation.js +13 -16
  212. package/dist/ui/capture/use-schema-validation.js.map +1 -1
  213. package/dist/ui/capture/use-wizard.js +15 -18
  214. package/dist/ui/capture/use-wizard.js.map +1 -1
  215. package/dist/ui/capture/value-format.js +4 -8
  216. package/dist/ui/capture/value-format.js.map +1 -1
  217. package/dist/ui/capture/wizard.js +10 -14
  218. package/dist/ui/capture/wizard.js.map +1 -1
  219. package/dist/ui/charts/bar-chart.js +14 -17
  220. package/dist/ui/charts/bar-chart.js.map +1 -1
  221. package/dist/ui/charts/chart-frame.js +11 -16
  222. package/dist/ui/charts/chart-frame.js.map +1 -1
  223. package/dist/ui/charts/chart-types.js +1 -2
  224. package/dist/ui/charts/chart-utils.js +7 -15
  225. package/dist/ui/charts/chart-utils.js.map +1 -1
  226. package/dist/ui/charts/donut-chart.js +11 -14
  227. package/dist/ui/charts/donut-chart.js.map +1 -1
  228. package/dist/ui/charts/index.js +6 -20
  229. package/dist/ui/charts/index.js.map +1 -1
  230. package/dist/ui/charts/line-chart.js +15 -18
  231. package/dist/ui/charts/line-chart.js.map +1 -1
  232. package/dist/ui/charts/sparkline.js +9 -12
  233. package/dist/ui/charts/sparkline.js.map +1 -1
  234. package/dist/ui/chrome/AsyncBoundary.js +9 -15
  235. package/dist/ui/chrome/AsyncBoundary.js.map +1 -1
  236. package/dist/ui/chrome/EmptyState.js +9 -12
  237. package/dist/ui/chrome/EmptyState.js.map +1 -1
  238. package/dist/ui/chrome/ErrorCard.js +8 -11
  239. package/dist/ui/chrome/ErrorCard.js.map +1 -1
  240. package/dist/ui/chrome/LoadingState.js +8 -11
  241. package/dist/ui/chrome/LoadingState.js.map +1 -1
  242. package/dist/ui/chrome/PageHeader.js +10 -14
  243. package/dist/ui/chrome/PageHeader.js.map +1 -1
  244. package/dist/ui/chrome/StateCard.js +7 -11
  245. package/dist/ui/chrome/StateCard.js.map +1 -1
  246. package/dist/ui/chrome/confirm-delete-dialog.js +5 -8
  247. package/dist/ui/chrome/confirm-delete-dialog.js.map +1 -1
  248. package/dist/ui/chrome/page-shell.js +9 -15
  249. package/dist/ui/chrome/page-shell.js.map +1 -1
  250. package/dist/ui/chrome/scope-badge.js +5 -8
  251. package/dist/ui/chrome/scope-badge.js.map +1 -1
  252. package/dist/ui/chrome/status-badge.js +7 -10
  253. package/dist/ui/chrome/status-badge.js.map +1 -1
  254. package/dist/ui/cn.js +5 -8
  255. package/dist/ui/cn.js.map +1 -1
  256. package/dist/ui/design-tokens.js +21 -28
  257. package/dist/ui/design-tokens.js.map +1 -1
  258. package/dist/ui/hooks/use-debounced-value.js +4 -7
  259. package/dist/ui/hooks/use-debounced-value.js.map +1 -1
  260. package/dist/ui/hooks/use-is-mobile.js +8 -11
  261. package/dist/ui/hooks/use-is-mobile.js.map +1 -1
  262. package/dist/ui/index.d.ts +0 -1
  263. package/dist/ui/index.d.ts.map +1 -1
  264. package/dist/ui/index.js +46 -87
  265. package/dist/ui/index.js.map +1 -1
  266. package/dist/ui/pdf/pdf-preview.js +17 -20
  267. package/dist/ui/pdf/pdf-preview.js.map +1 -1
  268. package/dist/ui/primitives/alert-dialog.js +14 -60
  269. package/dist/ui/primitives/alert-dialog.js.map +1 -1
  270. package/dist/ui/primitives/async-combobox.js +18 -21
  271. package/dist/ui/primitives/async-combobox.js.map +1 -1
  272. package/dist/ui/primitives/badge.js +7 -44
  273. package/dist/ui/primitives/badge.js.map +1 -1
  274. package/dist/ui/primitives/button.js +9 -46
  275. package/dist/ui/primitives/button.js.map +1 -1
  276. package/dist/ui/primitives/card.js +10 -51
  277. package/dist/ui/primitives/card.js.map +1 -1
  278. package/dist/ui/primitives/checkbox.js +7 -43
  279. package/dist/ui/primitives/checkbox.js.map +1 -1
  280. package/dist/ui/primitives/collapsible.js +2 -40
  281. package/dist/ui/primitives/collapsible.js.map +1 -1
  282. package/dist/ui/primitives/dialog.js +12 -57
  283. package/dist/ui/primitives/dialog.js.map +1 -1
  284. package/dist/ui/primitives/dropdown-menu.js +15 -65
  285. package/dist/ui/primitives/dropdown-menu.js.map +1 -1
  286. package/dist/ui/primitives/form-stepper.js +8 -12
  287. package/dist/ui/primitives/form-stepper.js.map +1 -1
  288. package/dist/ui/primitives/input.js +5 -41
  289. package/dist/ui/primitives/input.js.map +1 -1
  290. package/dist/ui/primitives/label.js +8 -44
  291. package/dist/ui/primitives/label.js.map +1 -1
  292. package/dist/ui/primitives/overflow-tabs.js +18 -21
  293. package/dist/ui/primitives/overflow-tabs.js.map +1 -1
  294. package/dist/ui/primitives/popover.js +6 -44
  295. package/dist/ui/primitives/popover.js.map +1 -1
  296. package/dist/ui/primitives/preview-device-frame.js +16 -19
  297. package/dist/ui/primitives/preview-device-frame.js.map +1 -1
  298. package/dist/ui/primitives/radio-group.js +8 -45
  299. package/dist/ui/primitives/radio-group.js.map +1 -1
  300. package/dist/ui/primitives/resizable.js +11 -16
  301. package/dist/ui/primitives/resizable.js.map +1 -1
  302. package/dist/ui/primitives/scroll-area.js +7 -44
  303. package/dist/ui/primitives/scroll-area.js.map +1 -1
  304. package/dist/ui/primitives/select.js +15 -60
  305. package/dist/ui/primitives/select.js.map +1 -1
  306. package/dist/ui/primitives/separator.js +6 -42
  307. package/dist/ui/primitives/separator.js.map +1 -1
  308. package/dist/ui/primitives/sheet.js +14 -59
  309. package/dist/ui/primitives/sheet.js.map +1 -1
  310. package/dist/ui/primitives/skeleton.js +5 -7
  311. package/dist/ui/primitives/skeleton.js.map +1 -1
  312. package/dist/ui/primitives/switch.js +6 -42
  313. package/dist/ui/primitives/switch.js.map +1 -1
  314. package/dist/ui/primitives/table.js +12 -55
  315. package/dist/ui/primitives/table.js.map +1 -1
  316. package/dist/ui/primitives/tabs.js +8 -47
  317. package/dist/ui/primitives/tabs.js.map +1 -1
  318. package/dist/ui/primitives/tag-multi-select.js +24 -27
  319. package/dist/ui/primitives/tag-multi-select.js.map +1 -1
  320. package/dist/ui/primitives/textarea.js +5 -41
  321. package/dist/ui/primitives/textarea.js.map +1 -1
  322. package/dist/ui/primitives/tooltip.js +6 -45
  323. package/dist/ui/primitives/tooltip.js.map +1 -1
  324. package/package.json +8 -1
  325. package/src/pdf/index.ts +11 -0
  326. package/src/ui/index.ts +4 -1
@@ -1,27 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = EmptyState;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const cn_1 = require("../cn");
6
- const button_1 = require("../primitives/button");
7
- const card_1 = require("../primitives/card");
8
- const DefaultLink = ({ href, children }) => ((0, jsx_runtime_1.jsx)("a", { href: href, children: children }));
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../cn';
3
+ import { Button } from '../primitives/button';
4
+ import { Card, CardContent } from '../primitives/card';
5
+ const DefaultLink = ({ href, children }) => (_jsx("a", { href: href, children: children }));
9
6
  const VARIANT_DEFAULTS = {
10
7
  'not-configured': { iconBg: 'bg-info/10', iconColor: 'text-info' },
11
8
  'no-results': { iconBg: 'bg-warning/10', iconColor: 'text-warning' },
12
9
  'disabled-context': { iconBg: 'bg-muted', iconColor: 'text-ink-3' },
13
10
  };
14
- function EmptyState({ icon: Icon, title, description, illustration, variant = 'not-configured', size = 'comfortable', iconBg, iconColor, action, secondaryAction, linkComponent, className, }) {
11
+ export default function EmptyState({ icon: Icon, title, description, illustration, variant = 'not-configured', size = 'comfortable', iconBg, iconColor, action, secondaryAction, linkComponent, className, }) {
15
12
  const Link = linkComponent ?? DefaultLink;
16
13
  const defaults = VARIANT_DEFAULTS[variant];
17
14
  const resolvedIconBg = iconBg ?? defaults.iconBg;
18
15
  const resolvedIconColor = iconColor ?? defaults.iconColor;
19
16
  if (size === 'inline') {
20
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)('flex items-center justify-center px-3 py-6 text-center text-body-2 text-ink-4', className), children: (0, jsx_runtime_1.jsxs)("div", { className: "max-w-sm space-y-1", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-ink-3", children: title }), description && (0, jsx_runtime_1.jsx)("p", { className: "text-ink-4", children: description }), (action || secondaryAction) && ((0, jsx_runtime_1.jsxs)("div", { className: "mt-3 flex items-center justify-center gap-2", children: [action && ((0, jsx_runtime_1.jsxs)(button_1.Button, { size: "sm", variant: "outline", onClick: action.onClick, className: "h-7 gap-1.5 text-body-2", children: [action.icon && (0, jsx_runtime_1.jsx)(action.icon, { className: "h-3.5 w-3.5" }), action.label] })), secondaryAction && ((0, jsx_runtime_1.jsx)(button_1.Button, { asChild: true, size: "sm", variant: "ghost", className: "h-7 px-2 text-body-2", children: (0, jsx_runtime_1.jsx)(Link, { href: secondaryAction.href, children: secondaryAction.label }) }))] }))] }) }));
17
+ return (_jsx("div", { className: cn('flex items-center justify-center px-3 py-6 text-center text-body-2 text-ink-4', className), children: _jsxs("div", { className: "max-w-sm space-y-1", children: [_jsx("p", { className: "text-ink-3", children: title }), description && _jsx("p", { className: "text-ink-4", children: description }), (action || secondaryAction) && (_jsxs("div", { className: "mt-3 flex items-center justify-center gap-2", children: [action && (_jsxs(Button, { size: "sm", variant: "outline", onClick: action.onClick, className: "h-7 gap-1.5 text-body-2", children: [action.icon && _jsx(action.icon, { className: "h-3.5 w-3.5" }), action.label] })), secondaryAction && (_jsx(Button, { asChild: true, size: "sm", variant: "ghost", className: "h-7 px-2 text-body-2", children: _jsx(Link, { href: secondaryAction.href, children: secondaryAction.label }) }))] }))] }) }));
21
18
  }
22
19
  if (size === 'dense') {
23
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, cn_1.cn)('flex flex-col items-center justify-center px-4 py-8 text-center', className), children: [illustration ?? ((0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)('h-9 w-9 rounded-xl flex items-center justify-center mb-3', resolvedIconBg), children: (0, jsx_runtime_1.jsx)(Icon, { className: (0, cn_1.cn)('h-4 w-4', resolvedIconColor) }) })), (0, jsx_runtime_1.jsx)("p", { className: "text-body-1 font-semibold text-ink", children: title }), description && ((0, jsx_runtime_1.jsx)("p", { className: "mt-1 max-w-md text-body-2 leading-snug text-ink-3", children: description })), (action || secondaryAction) && ((0, jsx_runtime_1.jsxs)("div", { className: "mt-3 flex items-center gap-2", children: [action && ((0, jsx_runtime_1.jsxs)(button_1.Button, { size: "sm", variant: "outline", onClick: action.onClick, className: "h-7 gap-1.5 text-body-2", children: [action.icon && (0, jsx_runtime_1.jsx)(action.icon, { className: "h-3.5 w-3.5" }), action.label] })), secondaryAction && ((0, jsx_runtime_1.jsx)(button_1.Button, { asChild: true, size: "sm", variant: "ghost", className: "h-7 px-2 text-body-2", children: (0, jsx_runtime_1.jsx)(Link, { href: secondaryAction.href, children: secondaryAction.label }) }))] }))] }));
20
+ return (_jsxs("div", { className: cn('flex flex-col items-center justify-center px-4 py-8 text-center', className), children: [illustration ?? (_jsx("div", { className: cn('h-9 w-9 rounded-xl flex items-center justify-center mb-3', resolvedIconBg), children: _jsx(Icon, { className: cn('h-4 w-4', resolvedIconColor) }) })), _jsx("p", { className: "text-body-1 font-semibold text-ink", children: title }), description && (_jsx("p", { className: "mt-1 max-w-md text-body-2 leading-snug text-ink-3", children: description })), (action || secondaryAction) && (_jsxs("div", { className: "mt-3 flex items-center gap-2", children: [action && (_jsxs(Button, { size: "sm", variant: "outline", onClick: action.onClick, className: "h-7 gap-1.5 text-body-2", children: [action.icon && _jsx(action.icon, { className: "h-3.5 w-3.5" }), action.label] })), secondaryAction && (_jsx(Button, { asChild: true, size: "sm", variant: "ghost", className: "h-7 px-2 text-body-2", children: _jsx(Link, { href: secondaryAction.href, children: secondaryAction.label }) }))] }))] }));
24
21
  }
25
- return ((0, jsx_runtime_1.jsx)(card_1.Card, { className: (0, cn_1.cn)('border-2 border-dashed border-border/50 rounded-xl', className), children: (0, jsx_runtime_1.jsxs)(card_1.CardContent, { className: "flex flex-col items-center justify-center py-16 text-center", children: [illustration ?? ((0, jsx_runtime_1.jsx)("div", { className: `h-16 w-16 rounded-2xl flex items-center justify-center mb-5 ${resolvedIconBg}`, children: (0, jsx_runtime_1.jsx)(Icon, { className: `h-7 w-7 ${resolvedIconColor}` }) })), (0, jsx_runtime_1.jsx)("p", { className: "text-subtitle font-semibold text-ink", children: title }), description && ((0, jsx_runtime_1.jsx)("p", { className: "text-body-1 mt-2 max-w-sm text-ink-3 leading-relaxed", children: description })), (action || secondaryAction) && ((0, jsx_runtime_1.jsxs)("div", { className: "mt-6 flex items-center gap-3", children: [action && ((0, jsx_runtime_1.jsxs)(button_1.Button, { size: "sm", variant: "outline", onClick: action.onClick, className: "gap-2 h-10 px-5", children: [action.icon && (0, jsx_runtime_1.jsx)(action.icon, { className: "h-4 w-4" }), action.label] })), secondaryAction && ((0, jsx_runtime_1.jsx)(button_1.Button, { asChild: true, size: "sm", variant: "ghost", className: "h-10 px-3", children: (0, jsx_runtime_1.jsx)(Link, { href: secondaryAction.href, children: secondaryAction.label }) }))] }))] }) }));
22
+ return (_jsx(Card, { className: cn('border-2 border-dashed border-border/50 rounded-xl', className), children: _jsxs(CardContent, { className: "flex flex-col items-center justify-center py-16 text-center", children: [illustration ?? (_jsx("div", { className: `h-16 w-16 rounded-2xl flex items-center justify-center mb-5 ${resolvedIconBg}`, children: _jsx(Icon, { className: `h-7 w-7 ${resolvedIconColor}` }) })), _jsx("p", { className: "text-subtitle font-semibold text-ink", children: title }), description && (_jsx("p", { className: "text-body-1 mt-2 max-w-sm text-ink-3 leading-relaxed", children: description })), (action || secondaryAction) && (_jsxs("div", { className: "mt-6 flex items-center gap-3", children: [action && (_jsxs(Button, { size: "sm", variant: "outline", onClick: action.onClick, className: "gap-2 h-10 px-5", children: [action.icon && _jsx(action.icon, { className: "h-4 w-4" }), action.label] })), secondaryAction && (_jsx(Button, { asChild: true, size: "sm", variant: "ghost", className: "h-10 px-3", children: _jsx(Link, { href: secondaryAction.href, children: secondaryAction.label }) }))] }))] }) }));
26
23
  }
27
24
  //# sourceMappingURL=EmptyState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../../src/ui/chrome/EmptyState.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../../src/ui/chrome/EmptyState.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA2BvD,MAAM,WAAW,GAA4B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACnE,YAAG,IAAI,EAAE,IAAI,YAAG,QAAQ,GAAK,CAC9B,CAAC;AAgCF,MAAM,gBAAgB,GAAqE;IACzF,gBAAgB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE;IAClE,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE;IACpE,kBAAkB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE;CACpE,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EAAE,IAAI,EACV,KAAK,EACL,WAAW,EACX,YAAY,EACZ,OAAO,GAAG,gBAAgB,EAC1B,IAAI,GAAG,aAAa,EACpB,MAAM,EACN,SAAS,EACT,MAAM,EACN,eAAe,EACf,aAAa,EACb,SAAS,GACiB;IAC1B,MAAM,IAAI,GAAG,aAAa,IAAI,WAAW,CAAC;IAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;IACjD,MAAM,iBAAiB,GAAG,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;IAE1D,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,+EAA+E,EAAE,SAAS,CAAC,YAC5G,eAAK,SAAS,EAAC,oBAAoB,aACjC,YAAG,SAAS,EAAC,YAAY,YAAE,KAAK,GAAK,EACpC,WAAW,IAAI,YAAG,SAAS,EAAC,YAAY,YAAE,WAAW,GAAK,EAC1D,CAAC,MAAM,IAAI,eAAe,CAAC,IAAI,CAC9B,eAAK,SAAS,EAAC,6CAA6C,aACzD,MAAM,IAAI,CACT,MAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAC,yBAAyB,aAC7F,MAAM,CAAC,IAAI,IAAI,KAAC,MAAM,CAAC,IAAI,IAAC,SAAS,EAAC,aAAa,GAAG,EACtD,MAAM,CAAC,KAAK,IACN,CACV,EACA,eAAe,IAAI,CAClB,KAAC,MAAM,IAAC,OAAO,QAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,sBAAsB,YACxE,KAAC,IAAI,IAAC,IAAI,EAAE,eAAe,CAAC,IAAI,YAAG,eAAe,CAAC,KAAK,GAAQ,GACzD,CACV,IACG,CACP,IACG,GACF,CACP,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,SAAS,CACV,aAEA,YAAY,IAAI,CACf,cAAK,SAAS,EAAE,EAAE,CAAC,0DAA0D,EAAE,cAAc,CAAC,YAC5F,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,GAAI,GACjD,CACP,EACD,YAAG,SAAS,EAAC,oCAAoC,YAAE,KAAK,GAAK,EAC5D,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,mDAAmD,YAAE,WAAW,GAAK,CACnF,EACA,CAAC,MAAM,IAAI,eAAe,CAAC,IAAI,CAC9B,eAAK,SAAS,EAAC,8BAA8B,aAC1C,MAAM,IAAI,CACT,MAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAC,yBAAyB,aAC7F,MAAM,CAAC,IAAI,IAAI,KAAC,MAAM,CAAC,IAAI,IAAC,SAAS,EAAC,aAAa,GAAG,EACtD,MAAM,CAAC,KAAK,IACN,CACV,EACA,eAAe,IAAI,CAClB,KAAC,MAAM,IAAC,OAAO,QAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,sBAAsB,YACxE,KAAC,IAAI,IAAC,IAAI,EAAE,eAAe,CAAC,IAAI,YAAG,eAAe,CAAC,KAAK,GAAQ,GACzD,CACV,IACG,CACP,IACG,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,YAClF,MAAC,WAAW,IAAC,SAAS,EAAC,6DAA6D,aACjF,YAAY,IAAI,CACf,cAAK,SAAS,EAAE,+DAA+D,cAAc,EAAE,YAC7F,KAAC,IAAI,IAAC,SAAS,EAAE,WAAW,iBAAiB,EAAE,GAAI,GAC/C,CACP,EACD,YAAG,SAAS,EAAC,sCAAsC,YAAE,KAAK,GAAK,EAC9D,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,sDAAsD,YAAE,WAAW,GAAK,CACtF,EACA,CAAC,MAAM,IAAI,eAAe,CAAC,IAAI,CAC9B,eAAK,SAAS,EAAC,8BAA8B,aAC1C,MAAM,IAAI,CACT,MAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAC,iBAAiB,aACrF,MAAM,CAAC,IAAI,IAAI,KAAC,MAAM,CAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,EAClD,MAAM,CAAC,KAAK,IACN,CACV,EACA,eAAe,IAAI,CAClB,KAAC,MAAM,IAAC,OAAO,QAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,WAAW,YAC7D,KAAC,IAAI,IAAC,IAAI,EAAE,eAAe,CAAC,IAAI,YAAG,eAAe,CAAC,KAAK,GAAQ,GACzD,CACV,IACG,CACP,IACW,GACT,CACR,CAAC;AACJ,CAAC"}
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = ErrorCard;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const lucide_react_1 = require("lucide-react");
6
- const errors_1 = require("../../lib/biome-host/errors");
7
- const button_1 = require("../primitives/button");
8
- const card_1 = require("../primitives/card");
9
- const defaultFormatError = (error, fallback) => (0, errors_1.getUserFacingErrorMessage)(error, fallback);
10
- function ErrorCard({ error, title = 'Something went wrong', onRetry, formatError = defaultFormatError, fallbackMessage = 'Unable to load this content right now.', }) {
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AlertCircle, RefreshCw } from 'lucide-react';
3
+ import { getUserFacingErrorMessage } from '../../lib/biome-host/errors';
4
+ import { Button } from '../primitives/button';
5
+ import { Card, CardContent } from '../primitives/card';
6
+ const defaultFormatError = (error, fallback) => getUserFacingErrorMessage(error, fallback);
7
+ export default function ErrorCard({ error, title = 'Something went wrong', onRetry, formatError = defaultFormatError, fallbackMessage = 'Unable to load this content right now.', }) {
11
8
  const message = formatError(error, fallbackMessage);
12
- return ((0, jsx_runtime_1.jsx)(card_1.Card, { className: "border-destructive/25 bg-destructive/[0.03] rounded-xl", children: (0, jsx_runtime_1.jsxs)(card_1.CardContent, { className: "flex flex-col items-center py-14 text-center", children: [(0, jsx_runtime_1.jsx)("div", { className: "h-14 w-14 rounded-2xl bg-destructive/10 flex items-center justify-center mb-4", children: (0, jsx_runtime_1.jsx)(lucide_react_1.AlertCircle, { className: "h-6 w-6 text-destructive" }) }), (0, jsx_runtime_1.jsx)("p", { className: "text-subtitle font-semibold text-ink", children: title }), (0, jsx_runtime_1.jsx)("p", { className: "text-body-1 text-ink-3 mt-2 max-w-md leading-relaxed", children: message }), onRetry && ((0, jsx_runtime_1.jsxs)(button_1.Button, { size: "sm", variant: "outline", onClick: onRetry, className: "mt-5 gap-2 h-10 border-destructive/20 text-destructive hover:bg-destructive/5", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.RefreshCw, { className: "h-4 w-4" }), "Retry"] }))] }) }));
9
+ return (_jsx(Card, { className: "border-destructive/25 bg-destructive/[0.03] rounded-xl", children: _jsxs(CardContent, { className: "flex flex-col items-center py-14 text-center", children: [_jsx("div", { className: "h-14 w-14 rounded-2xl bg-destructive/10 flex items-center justify-center mb-4", children: _jsx(AlertCircle, { className: "h-6 w-6 text-destructive" }) }), _jsx("p", { className: "text-subtitle font-semibold text-ink", children: title }), _jsx("p", { className: "text-body-1 text-ink-3 mt-2 max-w-md leading-relaxed", children: message }), onRetry && (_jsxs(Button, { size: "sm", variant: "outline", onClick: onRetry, className: "mt-5 gap-2 h-10 border-destructive/20 text-destructive hover:bg-destructive/5", children: [_jsx(RefreshCw, { className: "h-4 w-4" }), "Retry"] }))] }) }));
13
10
  }
14
11
  //# sourceMappingURL=ErrorCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorCard.js","sourceRoot":"","sources":["../../../src/ui/chrome/ErrorCard.tsx"],"names":[],"mappings":";;AA+BA,4BA+BC;;AA9DD,+CAAsD;AAEtD,wDAAwE;AACxE,iDAA8C;AAC9C,6CAAuD;AAWvD,MAAM,kBAAkB,GAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CACpE,IAAA,kCAAyB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAe7C,SAAwB,SAAS,CAAC,EAChC,KAAK,EACL,KAAK,GAAG,sBAAsB,EAC9B,OAAO,EACP,WAAW,GAAG,kBAAkB,EAChC,eAAe,GAAG,wCAAwC,GAC3C;IACf,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAEpD,OAAO,CACL,uBAAC,WAAI,IAAC,SAAS,EAAC,wDAAwD,YACtE,wBAAC,kBAAW,IAAC,SAAS,EAAC,8CAA8C,aACnE,gCAAK,SAAS,EAAC,+EAA+E,YAC5F,uBAAC,0BAAW,IAAC,SAAS,EAAC,0BAA0B,GAAG,GAChD,EACN,8BAAG,SAAS,EAAC,sCAAsC,YAAE,KAAK,GAAK,EAC/D,8BAAG,SAAS,EAAC,sDAAsD,YAAE,OAAO,GAAK,EAChF,OAAO,IAAI,CACV,wBAAC,eAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,+EAA+E,aAEzF,uBAAC,wBAAS,IAAC,SAAS,EAAC,SAAS,GAAG,aAE1B,CACV,IACW,GACT,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ErrorCard.js","sourceRoot":"","sources":["../../../src/ui/chrome/ErrorCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWvD,MAAM,kBAAkB,GAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CACpE,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAe7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,KAAK,EACL,KAAK,GAAG,sBAAsB,EAC9B,OAAO,EACP,WAAW,GAAG,kBAAkB,EAChC,eAAe,GAAG,wCAAwC,GAC3C;IACf,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAEpD,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,wDAAwD,YACtE,MAAC,WAAW,IAAC,SAAS,EAAC,8CAA8C,aACnE,cAAK,SAAS,EAAC,+EAA+E,YAC5F,KAAC,WAAW,IAAC,SAAS,EAAC,0BAA0B,GAAG,GAChD,EACN,YAAG,SAAS,EAAC,sCAAsC,YAAE,KAAK,GAAK,EAC/D,YAAG,SAAS,EAAC,sDAAsD,YAAE,OAAO,GAAK,EAChF,OAAO,IAAI,CACV,MAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,+EAA+E,aAEzF,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,GAAG,aAE1B,CACV,IACW,GACT,CACR,CAAC;AACJ,CAAC"}
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = LoadingState;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const lucide_react_1 = require("lucide-react");
6
- const cn_1 = require("../cn");
7
- const skeleton_1 = require("../primitives/skeleton");
8
- function LoadingState({ variant = 'spinner', label = 'Loading…', rows = 4, className, }) {
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Loader2 } from 'lucide-react';
3
+ import { cn } from '../cn';
4
+ import { Skeleton } from '../primitives/skeleton';
5
+ export default function LoadingState({ variant = 'spinner', label = 'Loading…', rows = 4, className, }) {
9
6
  if (variant === 'skeleton-list') {
10
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)('space-y-3', className), role: "status", "aria-label": label, children: Array.from({ length: rows }).map((_, i) => ((0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "h-12 w-full rounded-xl" }, i))) }));
7
+ return (_jsx("div", { className: cn('space-y-3', className), role: "status", "aria-label": label, children: Array.from({ length: rows }).map((_, i) => (_jsx(Skeleton, { className: "h-12 w-full rounded-xl" }, i))) }));
11
8
  }
12
9
  if (variant === 'skeleton-card') {
13
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, cn_1.cn)('space-y-3', className), role: "status", "aria-label": label, children: [(0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "h-40 w-full rounded-2xl" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "h-4 w-2/3 rounded" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "h-4 w-1/2 rounded" })] }));
10
+ return (_jsxs("div", { className: cn('space-y-3', className), role: "status", "aria-label": label, children: [_jsx(Skeleton, { className: "h-40 w-full rounded-2xl" }), _jsx(Skeleton, { className: "h-4 w-2/3 rounded" }), _jsx(Skeleton, { className: "h-4 w-1/2 rounded" })] }));
14
11
  }
15
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, cn_1.cn)('flex flex-col items-center justify-center py-14 text-center', className), role: "status", "aria-label": label, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "h-6 w-6 animate-spin text-ink-3" }), label && (0, jsx_runtime_1.jsx)("p", { className: "mt-3 text-body-2 text-ink-3", children: label })] }));
12
+ return (_jsxs("div", { className: cn('flex flex-col items-center justify-center py-14 text-center', className), role: "status", "aria-label": label, children: [_jsx(Loader2, { className: "h-6 w-6 animate-spin text-ink-3" }), label && _jsx("p", { className: "mt-3 text-body-2 text-ink-3", children: label })] }));
16
13
  }
17
14
  //# sourceMappingURL=LoadingState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingState.js","sourceRoot":"","sources":["../../../src/ui/chrome/LoadingState.tsx"],"names":[],"mappings":";;AAwBA,+BAoCC;;AA5DD,+CAAuC;AAEvC,8BAA2B;AAC3B,qDAAkD;AAqBlD,SAAwB,YAAY,CAAC,EACnC,OAAO,GAAG,SAAS,EACnB,KAAK,GAAG,UAAU,EAClB,IAAI,GAAG,CAAC,EACR,SAAS,GACmB;IAC5B,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,CACL,gCAAK,SAAS,EAAE,IAAA,OAAE,EAAC,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,QAAQ,gBAAa,KAAK,YACxE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1C,uBAAC,mBAAQ,IAAS,SAAS,EAAC,wBAAwB,IAArC,CAAC,CAAuC,CACxD,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,CACL,iCAAK,SAAS,EAAE,IAAA,OAAE,EAAC,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,QAAQ,gBAAa,KAAK,aACzE,uBAAC,mBAAQ,IAAC,SAAS,EAAC,yBAAyB,GAAG,EAChD,uBAAC,mBAAQ,IAAC,SAAS,EAAC,mBAAmB,GAAG,EAC1C,uBAAC,mBAAQ,IAAC,SAAS,EAAC,mBAAmB,GAAG,IACtC,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,iCACE,SAAS,EAAE,IAAA,OAAE,EAAC,6DAA6D,EAAE,SAAS,CAAC,EACvF,IAAI,EAAC,QAAQ,gBACD,KAAK,aAEjB,uBAAC,sBAAO,IAAC,SAAS,EAAC,iCAAiC,GAAG,EACtD,KAAK,IAAI,8BAAG,SAAS,EAAC,6BAA6B,YAAE,KAAK,GAAK,IAC5D,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"LoadingState.js","sourceRoot":"","sources":["../../../src/ui/chrome/LoadingState.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAqBlD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,OAAO,GAAG,SAAS,EACnB,KAAK,GAAG,UAAU,EAClB,IAAI,GAAG,CAAC,EACR,SAAS,GACmB;IAC5B,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,QAAQ,gBAAa,KAAK,YACxE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1C,KAAC,QAAQ,IAAS,SAAS,EAAC,wBAAwB,IAArC,CAAC,CAAuC,CACxD,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,QAAQ,gBAAa,KAAK,aACzE,KAAC,QAAQ,IAAC,SAAS,EAAC,yBAAyB,GAAG,EAChD,KAAC,QAAQ,IAAC,SAAS,EAAC,mBAAmB,GAAG,EAC1C,KAAC,QAAQ,IAAC,SAAS,EAAC,mBAAmB,GAAG,IACtC,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,6DAA6D,EAAE,SAAS,CAAC,EACvF,IAAI,EAAC,QAAQ,gBACD,KAAK,aAEjB,KAAC,OAAO,IAAC,SAAS,EAAC,iCAAiC,GAAG,EACtD,KAAK,IAAI,YAAG,SAAS,EAAC,6BAA6B,YAAE,KAAK,GAAK,IAC5D,CACP,CAAC;AACJ,CAAC"}
@@ -1,15 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = PageHeader;
4
- exports.PageToolbar = PageToolbar;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const react_1 = require("react");
7
- const biome_host_1 = require("../../lib/biome-host");
8
- const cn_1 = require("../cn");
9
- function PageHeader({ title, description, topbarDescription, eyebrow, helpActions, actions, backTo, }) {
10
- const topbarActions = (0, react_1.useMemo)(() => actions, [actions]);
11
- const topbarMeta = (0, react_1.useMemo)(() => (description ? (0, jsx_runtime_1.jsx)("span", { children: description }) : null), [description]);
12
- (0, biome_host_1.useHostBridge)().pageMeta.usePageMeta({
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { useHostBridge } from '../../lib/biome-host';
4
+ import { cn } from '../cn';
5
+ export default function PageHeader({ title, description, topbarDescription, eyebrow, helpActions, actions, backTo, }) {
6
+ const topbarActions = useMemo(() => actions, [actions]);
7
+ const topbarMeta = useMemo(() => (description ? _jsx("span", { children: description }) : null), [description]);
8
+ useHostBridge().pageMeta.usePageMeta({
13
9
  title,
14
10
  eyebrow,
15
11
  description: topbarDescription ?? description,
@@ -20,7 +16,7 @@ function PageHeader({ title, description, topbarDescription, eyebrow, helpAction
20
16
  });
21
17
  return null;
22
18
  }
23
- function PageToolbar({ children, trailing, className, }) {
24
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, cn_1.cn)('flex shrink-0 items-center gap-2 border-b border-rule/50 bg-paper px-4 py-1.5 sm:px-6', className), children: [(0, jsx_runtime_1.jsx)("div", { className: "flex min-w-0 flex-1 flex-wrap items-center gap-2", children: children }), trailing && (0, jsx_runtime_1.jsx)("div", { className: "flex shrink-0 items-center gap-1.5", children: trailing })] }));
19
+ export function PageToolbar({ children, trailing, className, }) {
20
+ return (_jsxs("div", { className: cn('flex shrink-0 items-center gap-2 border-b border-rule/50 bg-paper px-4 py-1.5 sm:px-6', className), children: [_jsx("div", { className: "flex min-w-0 flex-1 flex-wrap items-center gap-2", children: children }), trailing && _jsx("div", { className: "flex shrink-0 items-center gap-1.5", children: trailing })] }));
25
21
  }
26
22
  //# sourceMappingURL=PageHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageHeader.js","sourceRoot":"","sources":["../../../src/ui/chrome/PageHeader.tsx"],"names":[],"mappings":";;AAmEA,6BA+BC;AAsBD,kCAgBC;;AAlHD,iCAAgD;AAEhD,qDAA0E;AAC1E,8BAA2B;AA0C3B,SAAwB,UAAU,CAAC,EACjC,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,OAAO,EACP,MAAM,GACoB;IAI1B,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAA,eAAO,EACxB,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,2CAAO,WAAW,GAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EACvD,CAAC,WAAW,CAAC,CACd,CAAC;IAKF,IAAA,0BAAa,GAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACnC,KAAK;QACL,OAAO;QACP,WAAW,EAAE,iBAAiB,IAAI,WAAW;QAC7C,OAAO,EAAE,WAAW;QACpB,aAAa;QACb,UAAU;QACV,MAAM;KACP,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAsBD,SAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,QAAQ,EACR,SAAS,GACkB;IAC3B,OAAO,CACL,iCACE,SAAS,EAAE,IAAA,OAAE,EACX,uFAAuF,EACvF,SAAS,CACV,aAED,gCAAK,SAAS,EAAC,kDAAkD,YAAE,QAAQ,GAAO,EACjF,QAAQ,IAAI,gCAAK,SAAS,EAAC,oCAAoC,YAAE,QAAQ,GAAO,IAC7E,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PageHeader.js","sourceRoot":"","sources":["../../../src/ui/chrome/PageHeader.tsx"],"names":[],"mappings":";AAsBA,OAAO,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AA0C3B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,OAAO,EACP,MAAM,GACoB;IAI1B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAO,WAAW,GAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EACvD,CAAC,WAAW,CAAC,CACd,CAAC;IAKF,aAAa,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACnC,KAAK;QACL,OAAO;QACP,WAAW,EAAE,iBAAiB,IAAI,WAAW;QAC7C,OAAO,EAAE,WAAW;QACpB,aAAa;QACb,UAAU;QACV,MAAM;KACP,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAsBD,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,QAAQ,EACR,SAAS,GACkB;IAC3B,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,uFAAuF,EACvF,SAAS,CACV,aAED,cAAK,SAAS,EAAC,kDAAkD,YAAE,QAAQ,GAAO,EACjF,QAAQ,IAAI,cAAK,SAAS,EAAC,oCAAoC,YAAE,QAAQ,GAAO,IAC7E,CACP,CAAC;AACJ,CAAC"}
@@ -1,17 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StateCard = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const lucide_react_1 = require("lucide-react");
6
- const react_1 = require("react");
7
- const cn_1 = require("../cn");
8
- const StateCard = ({ variant, icon, title, description, action, errorDetails, className = '', }) => {
9
- const [detailsExpanded, setDetailsExpanded] = (0, react_1.useState)(false);
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChevronDown, ChevronRight } from 'lucide-react';
3
+ import { useState } from 'react';
4
+ import { cn } from '../cn';
5
+ export const StateCard = ({ variant, icon, title, description, action, errorDetails, className = '', }) => {
6
+ const [detailsExpanded, setDetailsExpanded] = useState(false);
10
7
  const isError = variant.startsWith('error');
11
8
  const isDetailed = variant === 'error-detailed';
12
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, cn_1.cn)('flex flex-col items-center justify-center py-14 px-6 rounded-xl border-2', isError ? 'border-destructive/20 bg-destructive/[0.03]' : 'border-dashed border-border/50 bg-paper-elev/60', className), children: [(0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)('h-14 w-14 rounded-2xl flex items-center justify-center mb-5', isError ? 'bg-destructive/10' : 'bg-primary/10'), children: (0, jsx_runtime_1.jsx)("span", { className: isError ? 'text-destructive' : 'text-primary', children: icon }) }), (0, jsx_runtime_1.jsx)("h2", { className: "text-subtitle font-semibold text-ink mb-2 text-center", children: title }), description && ((0, jsx_runtime_1.jsx)("p", { className: "text-body-1 text-ink-3 max-w-md text-center mb-4 leading-relaxed", children: description })), isDetailed && errorDetails && ((0, jsx_runtime_1.jsxs)("div", { className: "mt-4 w-full max-w-md", children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setDetailsExpanded(!detailsExpanded), className: "text-body-1 font-medium text-destructive hover:text-destructive flex items-center gap-1.5 mb-2", children: [detailsExpanded ? (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { className: "h-4 w-4" }) : (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" }), "Error Details"] }), detailsExpanded && ((0, jsx_runtime_1.jsxs)("div", { className: "p-4 bg-card border border-destructive/20 rounded-xl space-y-3", children: [errorDetails.fields && errorDetails.fields.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "space-y-1.5", children: errorDetails.fields.map((field, idx) => ((0, jsx_runtime_1.jsxs)("div", { className: "text-body-1", children: [(0, jsx_runtime_1.jsx)("span", { className: "font-semibold text-destructive", children: field.label }), (0, jsx_runtime_1.jsxs)("span", { className: "text-ink/70", children: [": ", field.value] })] }, idx))) })), errorDetails.stackTrace && ((0, jsx_runtime_1.jsxs)("details", { className: "text-body-1", children: [(0, jsx_runtime_1.jsx)("summary", { className: "font-medium text-destructive cursor-pointer mb-1", children: "Stack Trace" }), (0, jsx_runtime_1.jsx)("pre", { className: "bg-destructive/5 p-3 rounded-lg overflow-auto max-h-32 text-destructive whitespace-pre-wrap break-words text-body-1 font-mono", children: errorDetails.stackTrace })] })), errorDetails.requestId && ((0, jsx_runtime_1.jsxs)("div", { className: "text-body-1 pt-2 border-t border-destructive/15", children: [(0, jsx_runtime_1.jsx)("span", { className: "font-medium text-ink-3", children: "Request ID" }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("code", { className: "text-body-1 text-ink/70 font-mono break-all", children: errorDetails.requestId })] }))] }))] })), action && ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: action.onClick, className: (0, cn_1.cn)('mt-6 px-5 py-2.5 rounded-lg font-medium transition-colors h-10', isError
9
+ return (_jsxs("div", { className: cn('flex flex-col items-center justify-center py-14 px-6 rounded-xl border-2', isError ? 'border-destructive/20 bg-destructive/[0.03]' : 'border-dashed border-border/50 bg-paper-elev/60', className), children: [_jsx("div", { className: cn('h-14 w-14 rounded-2xl flex items-center justify-center mb-5', isError ? 'bg-destructive/10' : 'bg-primary/10'), children: _jsx("span", { className: isError ? 'text-destructive' : 'text-primary', children: icon }) }), _jsx("h2", { className: "text-subtitle font-semibold text-ink mb-2 text-center", children: title }), description && (_jsx("p", { className: "text-body-1 text-ink-3 max-w-md text-center mb-4 leading-relaxed", children: description })), isDetailed && errorDetails && (_jsxs("div", { className: "mt-4 w-full max-w-md", children: [_jsxs("button", { type: "button", onClick: () => setDetailsExpanded(!detailsExpanded), className: "text-body-1 font-medium text-destructive hover:text-destructive flex items-center gap-1.5 mb-2", children: [detailsExpanded ? _jsx(ChevronDown, { className: "h-4 w-4" }) : _jsx(ChevronRight, { className: "h-4 w-4" }), "Error Details"] }), detailsExpanded && (_jsxs("div", { className: "p-4 bg-card border border-destructive/20 rounded-xl space-y-3", children: [errorDetails.fields && errorDetails.fields.length > 0 && (_jsx("div", { className: "space-y-1.5", children: errorDetails.fields.map((field, idx) => (_jsxs("div", { className: "text-body-1", children: [_jsx("span", { className: "font-semibold text-destructive", children: field.label }), _jsxs("span", { className: "text-ink/70", children: [": ", field.value] })] }, idx))) })), errorDetails.stackTrace && (_jsxs("details", { className: "text-body-1", children: [_jsx("summary", { className: "font-medium text-destructive cursor-pointer mb-1", children: "Stack Trace" }), _jsx("pre", { className: "bg-destructive/5 p-3 rounded-lg overflow-auto max-h-32 text-destructive whitespace-pre-wrap break-words text-body-1 font-mono", children: errorDetails.stackTrace })] })), errorDetails.requestId && (_jsxs("div", { className: "text-body-1 pt-2 border-t border-destructive/15", children: [_jsx("span", { className: "font-medium text-ink-3", children: "Request ID" }), _jsx("br", {}), _jsx("code", { className: "text-body-1 text-ink/70 font-mono break-all", children: errorDetails.requestId })] }))] }))] })), action && (_jsx("button", { type: "button", onClick: action.onClick, className: cn('mt-6 px-5 py-2.5 rounded-lg font-medium transition-colors h-10', isError
13
10
  ? 'bg-destructive text-destructive-foreground hover:bg-destructive/90'
14
11
  : 'bg-primary text-primary-foreground hover:bg-primary/90'), children: action.label }))] }));
15
12
  };
16
- exports.StateCard = StateCard;
17
13
  //# sourceMappingURL=StateCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateCard.js","sourceRoot":"","sources":["../../../src/ui/chrome/StateCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StateCard.js","sourceRoot":"","sources":["../../../src/ui/chrome/StateCard.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = ConfirmDeleteDialog;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const lucide_react_1 = require("lucide-react");
6
- const alert_dialog_1 = require("../primitives/alert-dialog");
7
- function ConfirmDeleteDialog({ open, onOpenChange, onConfirm, title = 'Delete item', description = 'This action cannot be undone. Are you sure you want to continue?', isPending, confirmLabel = 'Delete', }) {
8
- return ((0, jsx_runtime_1.jsx)(alert_dialog_1.AlertDialog, { open: open, onOpenChange: onOpenChange, children: (0, jsx_runtime_1.jsxs)(alert_dialog_1.AlertDialogContent, { children: [(0, jsx_runtime_1.jsxs)(alert_dialog_1.AlertDialogHeader, { children: [(0, jsx_runtime_1.jsx)(alert_dialog_1.AlertDialogTitle, { children: title }), (0, jsx_runtime_1.jsx)(alert_dialog_1.AlertDialogDescription, { children: description })] }), (0, jsx_runtime_1.jsxs)(alert_dialog_1.AlertDialogFooter, { children: [(0, jsx_runtime_1.jsx)(alert_dialog_1.AlertDialogCancel, { disabled: isPending, children: "Cancel" }), (0, jsx_runtime_1.jsxs)(alert_dialog_1.AlertDialogAction, { onClick: onConfirm, disabled: isPending, className: "bg-destructive text-destructive-foreground hover:bg-destructive/90", children: [isPending && (0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "h-4 w-4 mr-1.5 animate-spin" }), confirmLabel] })] })] }) }));
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Loader2 } from 'lucide-react';
3
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '../primitives/alert-dialog';
4
+ export default function ConfirmDeleteDialog({ open, onOpenChange, onConfirm, title = 'Delete item', description = 'This action cannot be undone. Are you sure you want to continue?', isPending, confirmLabel = 'Delete', }) {
5
+ return (_jsx(AlertDialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: title }), _jsx(AlertDialogDescription, { children: description })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { disabled: isPending, children: "Cancel" }), _jsxs(AlertDialogAction, { onClick: onConfirm, disabled: isPending, className: "bg-destructive text-destructive-foreground hover:bg-destructive/90", children: [isPending && _jsx(Loader2, { className: "h-4 w-4 mr-1.5 animate-spin" }), confirmLabel] })] })] }) }));
9
6
  }
10
7
  //# sourceMappingURL=confirm-delete-dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-delete-dialog.js","sourceRoot":"","sources":["../../../src/ui/chrome/confirm-delete-dialog.tsx"],"names":[],"mappings":";;AA4BA,sCA8BC;;AA1DD,+CAAuC;AAEvC,6DASoC;AAiBpC,SAAwB,mBAAmB,CAAC,EAC1C,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,KAAK,GAAG,aAAa,EACrB,WAAW,GAAG,kEAAkE,EAChF,SAAS,EACT,YAAY,GAAG,QAAQ,GACE;IACzB,OAAO,CACL,uBAAC,0BAAW,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,YACjD,wBAAC,iCAAkB,eACjB,wBAAC,gCAAiB,eAChB,uBAAC,+BAAgB,cAAE,KAAK,GAAoB,EAC5C,uBAAC,qCAAsB,cAAE,WAAW,GAA0B,IAC5C,EACpB,wBAAC,gCAAiB,eAChB,uBAAC,gCAAiB,IAAC,QAAQ,EAAE,SAAS,uBAA4B,EAClE,wBAAC,gCAAiB,IAChB,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAC,oEAAoE,aAE7E,SAAS,IAAI,uBAAC,sBAAO,IAAC,SAAS,EAAC,6BAA6B,GAAG,EAChE,YAAY,IACK,IACF,IACD,GACT,CACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"confirm-delete-dialog.js","sourceRoot":"","sources":["../../../src/ui/chrome/confirm-delete-dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAiBpC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,KAAK,GAAG,aAAa,EACrB,WAAW,GAAG,kEAAkE,EAChF,SAAS,EACT,YAAY,GAAG,QAAQ,GACE;IACzB,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,YACjD,MAAC,kBAAkB,eACjB,MAAC,iBAAiB,eAChB,KAAC,gBAAgB,cAAE,KAAK,GAAoB,EAC5C,KAAC,sBAAsB,cAAE,WAAW,GAA0B,IAC5C,EACpB,MAAC,iBAAiB,eAChB,KAAC,iBAAiB,IAAC,QAAQ,EAAE,SAAS,uBAA4B,EAClE,MAAC,iBAAiB,IAChB,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAC,oEAAoE,aAE7E,SAAS,IAAI,KAAC,OAAO,IAAC,SAAS,EAAC,6BAA6B,GAAG,EAChE,YAAY,IACK,IACF,IACD,GACT,CACf,CAAC;AACJ,CAAC"}
@@ -1,19 +1,13 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = PageShell;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const lucide_react_1 = require("lucide-react");
9
- const biome_host_1 = require("../../lib/biome-host");
10
- const EmptyState_1 = __importDefault(require("./EmptyState"));
11
- const tabs_1 = require("../primitives/tabs");
12
- function PageShell({ icon: _Icon, title, description, children, actions, tabs, activeTab, onTabChange, maxWidth, embedded, eyebrow, backTo, topbarActions, }) {
13
- (0, biome_host_1.useHostBridge)().pageMeta.usePageMeta({ title, description, eyebrow, backTo, topbarActions });
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { FileQuestion } from 'lucide-react';
3
+ import { useHostBridge } from '../../lib/biome-host';
4
+ import EmptyState from './EmptyState';
5
+ import { Tabs, TabsList, TabsTrigger } from '../primitives/tabs';
6
+ export default function PageShell({ icon: _Icon, title, description, children, actions, tabs, activeTab, onTabChange, maxWidth, embedded, eyebrow, backTo, topbarActions, }) {
7
+ useHostBridge().pageMeta.usePageMeta({ title, description, eyebrow, backTo, topbarActions });
14
8
  if (embedded) {
15
- return ((0, jsx_runtime_1.jsxs)("div", { className: "flex h-full min-h-0 flex-col bg-paper", children: [(tabs && tabs.length > 0) || actions ? ((0, jsx_runtime_1.jsx)("div", { className: "shrink-0 border-b border-rule bg-paper-elev/40", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3 px-4 py-2 lg:px-6", children: [tabs && tabs.length > 0 && ((0, jsx_runtime_1.jsx)(tabs_1.Tabs, { value: activeTab, onValueChange: onTabChange, className: "flex-1 min-w-0", children: (0, jsx_runtime_1.jsx)("div", { className: "overflow-x-auto", children: (0, jsx_runtime_1.jsx)(tabs_1.TabsList, { className: "h-7 bg-transparent p-0 gap-0", children: tabs.map((tab) => ((0, jsx_runtime_1.jsxs)(tabs_1.TabsTrigger, { value: tab.value, className: "rounded-none border-b-2 border-transparent px-2 py-1 text-body-2 font-medium text-ink-3 transition-colors data-[state=active]:border-primary data-[state=active]:text-ink data-[state=active]:bg-transparent data-[state=active]:shadow-none", children: [tab.label, tab.count !== undefined && ((0, jsx_runtime_1.jsx)("span", { className: "ml-1.5 text-caption tabular-nums opacity-70", children: tab.count })), tab.indicator && ((0, jsx_runtime_1.jsx)("span", { className: "ml-1.5 inline-block h-1.5 w-1.5 rounded-full bg-warning" }))] }, tab.value))) }) }) })), !tabs && (0, jsx_runtime_1.jsx)("div", { className: "flex-1" }), actions && (0, jsx_runtime_1.jsx)("div", { className: "flex items-center gap-2 shrink-0", children: actions })] }) })) : null, (0, jsx_runtime_1.jsx)("div", { className: "flex-1 overflow-auto min-h-0", children: (0, jsx_runtime_1.jsx)("div", { className: "flex h-full min-h-0 flex-col px-4 pb-4 pt-3 lg:px-6", children: children }) })] }));
9
+ return (_jsxs("div", { className: "flex h-full min-h-0 flex-col bg-paper", children: [(tabs && tabs.length > 0) || actions ? (_jsx("div", { className: "shrink-0 border-b border-rule bg-paper-elev/40", children: _jsxs("div", { className: "flex items-center gap-3 px-4 py-2 lg:px-6", children: [tabs && tabs.length > 0 && (_jsx(Tabs, { value: activeTab, onValueChange: onTabChange, className: "flex-1 min-w-0", children: _jsx("div", { className: "overflow-x-auto", children: _jsx(TabsList, { className: "h-7 bg-transparent p-0 gap-0", children: tabs.map((tab) => (_jsxs(TabsTrigger, { value: tab.value, className: "rounded-none border-b-2 border-transparent px-2 py-1 text-body-2 font-medium text-ink-3 transition-colors data-[state=active]:border-primary data-[state=active]:text-ink data-[state=active]:bg-transparent data-[state=active]:shadow-none", children: [tab.label, tab.count !== undefined && (_jsx("span", { className: "ml-1.5 text-caption tabular-nums opacity-70", children: tab.count })), tab.indicator && (_jsx("span", { className: "ml-1.5 inline-block h-1.5 w-1.5 rounded-full bg-warning" }))] }, tab.value))) }) }) })), !tabs && _jsx("div", { className: "flex-1" }), actions && _jsx("div", { className: "flex items-center gap-2 shrink-0", children: actions })] }) })) : null, _jsx("div", { className: "flex-1 overflow-auto min-h-0", children: _jsx("div", { className: "flex h-full min-h-0 flex-col px-4 pb-4 pt-3 lg:px-6", children: children }) })] }));
16
10
  }
17
- return ((0, jsx_runtime_1.jsxs)("div", { className: `flex h-full min-h-0 flex-col ${maxWidth ?? ''}`, children: [(tabs || actions) && ((0, jsx_runtime_1.jsx)("div", { className: "shrink-0 border-b border-border/50 px-4 sm:px-5 lg:px-8", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex min-h-[34px] flex-col gap-2 py-1.5 sm:flex-row sm:items-center sm:gap-3 sm:py-0", children: [tabs && tabs.length > 0 && ((0, jsx_runtime_1.jsx)(tabs_1.Tabs, { value: activeTab, onValueChange: onTabChange, className: "flex-1 min-w-0", children: (0, jsx_runtime_1.jsx)("div", { className: "overflow-x-auto", children: (0, jsx_runtime_1.jsx)(tabs_1.TabsList, { className: "h-7 bg-transparent p-0 gap-0", children: tabs.map((tab) => ((0, jsx_runtime_1.jsxs)(tabs_1.TabsTrigger, { value: tab.value, className: "whitespace-nowrap rounded-none border-b-2 border-transparent px-2.5 py-1.5 text-caption font-medium text-ink-3/90 transition-colors data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:text-ink data-[state=active]:shadow-none hover:text-ink", children: [tab.label, tab.count !== undefined && ((0, jsx_runtime_1.jsx)("span", { className: "ml-1.5 text-caption tabular-nums opacity-60", children: tab.count })), tab.indicator && ((0, jsx_runtime_1.jsx)("span", { className: "ml-1.5 inline-block h-1.5 w-1.5 rounded-full bg-warning" }))] }, tab.value))) }) }) })), !tabs && (0, jsx_runtime_1.jsx)("div", { className: "flex-1" }), actions && ((0, jsx_runtime_1.jsx)("div", { className: "flex w-full flex-wrap items-center gap-2 sm:w-auto sm:shrink-0 sm:justify-end", children: actions }))] }) })), (0, jsx_runtime_1.jsx)("div", { className: "flex min-h-0 flex-1 flex-col overflow-auto px-4 pb-5 pt-4 sm:px-6 sm:pb-6 sm:pt-5", children: children || ((0, jsx_runtime_1.jsx)(EmptyState_1.default, { icon: lucide_react_1.FileQuestion, title: "Nothing to show yet", description: "This page has no content to display. Check back once the workspace has data." })) })] }));
11
+ return (_jsxs("div", { className: `flex h-full min-h-0 flex-col ${maxWidth ?? ''}`, children: [(tabs || actions) && (_jsx("div", { className: "shrink-0 border-b border-border/50 px-4 sm:px-5 lg:px-8", children: _jsxs("div", { className: "flex min-h-[34px] flex-col gap-2 py-1.5 sm:flex-row sm:items-center sm:gap-3 sm:py-0", children: [tabs && tabs.length > 0 && (_jsx(Tabs, { value: activeTab, onValueChange: onTabChange, className: "flex-1 min-w-0", children: _jsx("div", { className: "overflow-x-auto", children: _jsx(TabsList, { className: "h-7 bg-transparent p-0 gap-0", children: tabs.map((tab) => (_jsxs(TabsTrigger, { value: tab.value, className: "whitespace-nowrap rounded-none border-b-2 border-transparent px-2.5 py-1.5 text-caption font-medium text-ink-3/90 transition-colors data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:text-ink data-[state=active]:shadow-none hover:text-ink", children: [tab.label, tab.count !== undefined && (_jsx("span", { className: "ml-1.5 text-caption tabular-nums opacity-60", children: tab.count })), tab.indicator && (_jsx("span", { className: "ml-1.5 inline-block h-1.5 w-1.5 rounded-full bg-warning" }))] }, tab.value))) }) }) })), !tabs && _jsx("div", { className: "flex-1" }), actions && (_jsx("div", { className: "flex w-full flex-wrap items-center gap-2 sm:w-auto sm:shrink-0 sm:justify-end", children: actions }))] }) })), _jsx("div", { className: "flex min-h-0 flex-1 flex-col overflow-auto px-4 pb-5 pt-4 sm:px-6 sm:pb-6 sm:pt-5", children: children || (_jsx(EmptyState, { icon: FileQuestion, title: "Nothing to show yet", description: "This page has no content to display. Check back once the workspace has data." })) })] }));
18
12
  }
19
13
  //# sourceMappingURL=page-shell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-shell.js","sourceRoot":"","sources":["../../../src/ui/chrome/page-shell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-shell.js","sourceRoot":"","sources":["../../../src/ui/chrome/page-shell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0CjE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EAAE,KAAK,EACX,KAAK,EACL,WAAW,EACX,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,aAAa,GACY;IAIzB,aAAa,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAC7F,IAAI,QAAQ,EAAE,CAAC;QAKb,OAAO,CACL,eAAK,SAAS,EAAC,uCAAuC,aACnD,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CACtC,cAAK,SAAS,EAAC,gDAAgD,YAC7D,eAAK,SAAS,EAAC,2CAA2C,aACvD,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAC,gBAAgB,YAC5E,cAAK,SAAS,EAAC,iBAAiB,YAC9B,KAAC,QAAQ,IAAC,SAAS,EAAC,8BAA8B,YAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,MAAC,WAAW,IAEV,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,SAAS,EAAC,8OAA8O,aAEvP,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAC1B,eAAM,SAAS,EAAC,6CAA6C,YAAE,GAAG,CAAC,KAAK,GAAQ,CACjF,EACA,GAAG,CAAC,SAAS,IAAI,CAChB,eAAM,SAAS,EAAC,yDAAyD,GAAG,CAC7E,KAVI,GAAG,CAAC,KAAK,CAWF,CACf,CAAC,GACO,GACP,GACD,CACR,EACA,CAAC,IAAI,IAAI,cAAK,SAAS,EAAC,QAAQ,GAAG,EACnC,OAAO,IAAI,cAAK,SAAS,EAAC,kCAAkC,YAAE,OAAO,GAAO,IACzE,GACF,CACP,CAAC,CAAC,CAAC,IAAI,EACR,cAAK,SAAS,EAAC,8BAA8B,YAC3C,cAAK,SAAS,EAAC,qDAAqD,YAAE,QAAQ,GAAO,GACjF,IACF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAE,gCAAgC,QAAQ,IAAI,EAAE,EAAE,aAE7D,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CACpB,cAAK,SAAS,EAAC,yDAAyD,YACtE,eAAK,SAAS,EAAC,sFAAsF,aAClG,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAC,gBAAgB,YAC5E,cAAK,SAAS,EAAC,iBAAiB,YAC9B,KAAC,QAAQ,IAAC,SAAS,EAAC,8BAA8B,YAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,MAAC,WAAW,IAEV,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,SAAS,EAAC,uRAAuR,aAEhS,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAC1B,eAAM,SAAS,EAAC,6CAA6C,YAAE,GAAG,CAAC,KAAK,GAAQ,CACjF,EACA,GAAG,CAAC,SAAS,IAAI,CAChB,eAAM,SAAS,EAAC,yDAAyD,GAAG,CAC7E,KAVI,GAAG,CAAC,KAAK,CAWF,CACf,CAAC,GACO,GACP,GACD,CACR,EACA,CAAC,IAAI,IAAI,cAAK,SAAS,EAAC,QAAQ,GAAG,EACnC,OAAO,IAAI,CACV,cAAK,SAAS,EAAC,+EAA+E,YAC3F,OAAO,GACJ,CACP,IACG,GACF,CACP,EAKD,cAAK,SAAS,EAAC,mFAAmF,YAC/F,QAAQ,IAAI,CACX,KAAC,UAAU,IACT,IAAI,EAAE,YAAY,EAClB,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAC,8EAA8E,GAC1F,CACH,GACG,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = ScopeBadge;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const cn_1 = require("../cn");
6
- const design_tokens_1 = require("../design-tokens");
7
- function ScopeBadge({ label, tone = 'neutral', hint, className, }) {
8
- return ((0, jsx_runtime_1.jsx)("span", { className: (0, cn_1.cn)('inline-flex shrink-0 items-center rounded-sm border px-1.5 py-0 text-[10px] font-medium uppercase tracking-wide', design_tokens_1.TONE_STYLES[tone], className), title: hint, children: label }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../cn';
3
+ import { TONE_STYLES } from '../design-tokens';
4
+ export default function ScopeBadge({ label, tone = 'neutral', hint, className, }) {
5
+ return (_jsx("span", { className: cn('inline-flex shrink-0 items-center rounded-sm border px-1.5 py-0 text-[10px] font-medium uppercase tracking-wide', TONE_STYLES[tone], className), title: hint, children: label }));
9
6
  }
10
7
  //# sourceMappingURL=scope-badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope-badge.js","sourceRoot":"","sources":["../../../src/ui/chrome/scope-badge.tsx"],"names":[],"mappings":";;AAqBA,6BAkBC;;AAvCD,8BAA2B;AAC3B,oDAA0D;AAoB1D,SAAwB,UAAU,CAAC,EACjC,KAAK,EACL,IAAI,GAAG,SAAS,EAChB,IAAI,EACJ,SAAS,GACO;IAChB,OAAO,CACL,iCACE,SAAS,EAAE,IAAA,OAAE,EACX,iHAAiH,EACjH,2BAAW,CAAC,IAAI,CAAC,EACjB,SAAS,CACV,EACD,KAAK,EAAE,IAAI,YAEV,KAAK,GACD,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"scope-badge.js","sourceRoot":"","sources":["../../../src/ui/chrome/scope-badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAa,MAAM,kBAAkB,CAAC;AAoB1D,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,IAAI,GAAG,SAAS,EAChB,IAAI,EACJ,SAAS,GACO;IAChB,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,iHAAiH,EACjH,WAAW,CAAC,IAAI,CAAC,EACjB,SAAS,CACV,EACD,KAAK,EAAE,IAAI,YAEV,KAAK,GACD,CACR,CAAC;AACJ,CAAC"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = StatusBadge;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const cn_1 = require("../cn");
6
- const design_tokens_1 = require("../design-tokens");
7
- const badge_1 = require("../primitives/badge");
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../cn';
3
+ import { getStatusStyle } from '../design-tokens';
4
+ import { Badge } from '../primitives/badge';
8
5
  const SIZE_TOKENS = {
9
6
  xs: {
10
7
  badge: 'h-[18px] px-1.5 py-0 text-[10px] font-medium',
@@ -22,9 +19,9 @@ const SIZE_TOKENS = {
22
19
  gap: 'gap-1.5',
23
20
  },
24
21
  };
25
- function StatusBadge({ status, className, dot, size = 'sm', children, }) {
26
- const style = (0, design_tokens_1.getStatusStyle)(status);
22
+ export default function StatusBadge({ status, className, dot, size = 'sm', children, }) {
23
+ const style = getStatusStyle(status);
27
24
  const sz = SIZE_TOKENS[size];
28
- return ((0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: "outline", className: (0, cn_1.cn)('inline-flex items-center rounded-full', sz.badge, sz.gap, style.badge, className), children: [dot && (0, jsx_runtime_1.jsx)("span", { className: (0, cn_1.cn)('shrink-0 rounded-full', sz.dot, style.dot) }), children ?? (0, jsx_runtime_1.jsx)("span", { className: "capitalize", children: status.replace(/_/g, ' ') })] }));
25
+ return (_jsxs(Badge, { variant: "outline", className: cn('inline-flex items-center rounded-full', sz.badge, sz.gap, style.badge, className), children: [dot && _jsx("span", { className: cn('shrink-0 rounded-full', sz.dot, style.dot) }), children ?? _jsx("span", { className: "capitalize", children: status.replace(/_/g, ' ') })] }));
29
26
  }
30
27
  //# sourceMappingURL=status-badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status-badge.js","sourceRoot":"","sources":["../../../src/ui/chrome/status-badge.tsx"],"names":[],"mappings":";;AAkDA,8BAwBC;;AAxED,8BAA2B;AAC3B,oDAAkD;AAClD,+CAA4C;AAmB5C,MAAM,WAAW,GAAwC;IACvD,EAAE,EAAE;QACF,KAAK,EAAE,8CAA8C;QACrD,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,OAAO;KACb;IACD,EAAE,EAAE;QACF,KAAK,EAAE,wCAAwC;QAC/C,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,SAAS;KACf;IACD,EAAE,EAAE;QACF,KAAK,EAAE,2BAA2B;QAClC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,SAAS;KACf;CACF,CAAC;AAWF,SAAwB,WAAW,CAAC,EAClC,MAAM,EACN,SAAS,EACT,GAAG,EACH,IAAI,GAAG,IAAI,EACX,QAAQ,GACS;IACjB,MAAM,KAAK,GAAG,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CACL,wBAAC,aAAK,IACJ,OAAO,EAAC,SAAS,EACjB,SAAS,EAAE,IAAA,OAAE,EACX,uCAAuC,EACvC,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,GAAG,EACN,KAAK,CAAC,KAAK,EACX,SAAS,CACV,aAEA,GAAG,IAAI,iCAAM,SAAS,EAAE,IAAA,OAAE,EAAC,uBAAuB,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAI,EAC1E,QAAQ,IAAI,iCAAM,SAAS,EAAC,YAAY,YAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAQ,IACtE,CACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"status-badge.js","sourceRoot":"","sources":["../../../src/ui/chrome/status-badge.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAmB5C,MAAM,WAAW,GAAwC;IACvD,EAAE,EAAE;QACF,KAAK,EAAE,8CAA8C;QACrD,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,OAAO;KACb;IACD,EAAE,EAAE;QACF,KAAK,EAAE,wCAAwC;QAC/C,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,SAAS;KACf;IACD,EAAE,EAAE;QACF,KAAK,EAAE,2BAA2B;QAClC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,SAAS;KACf;CACF,CAAC;AAWF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,SAAS,EACT,GAAG,EACH,IAAI,GAAG,IAAI,EACX,QAAQ,GACS;IACjB,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CACL,MAAC,KAAK,IACJ,OAAO,EAAC,SAAS,EACjB,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,GAAG,EACN,KAAK,CAAC,KAAK,EACX,SAAS,CACV,aAEA,GAAG,IAAI,eAAM,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAI,EAC1E,QAAQ,IAAI,eAAM,SAAS,EAAC,YAAY,YAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAQ,IACtE,CACT,CAAC;AACJ,CAAC"}
package/dist/ui/cn.js CHANGED
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cn = cn;
4
- const clsx_1 = require("clsx");
5
- const tailwind_merge_1 = require("tailwind-merge");
6
- const twMerge = (0, tailwind_merge_1.extendTailwindMerge)({
1
+ import { clsx } from 'clsx';
2
+ import { extendTailwindMerge } from 'tailwind-merge';
3
+ const twMerge = extendTailwindMerge({
7
4
  extend: {
8
5
  classGroups: {
9
6
  'font-size': [
@@ -12,7 +9,7 @@ const twMerge = (0, tailwind_merge_1.extendTailwindMerge)({
12
9
  },
13
10
  },
14
11
  });
15
- function cn(...inputs) {
16
- return twMerge((0, clsx_1.clsx)(inputs));
12
+ export function cn(...inputs) {
13
+ return twMerge(clsx(inputs));
17
14
  }
18
15
  //# sourceMappingURL=cn.js.map
package/dist/ui/cn.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/ui/cn.ts"],"names":[],"mappings":";;AA6BA,gBAEC;AA/BD,+BAA6C;AAC7C,mDAAqD;AAcrD,MAAM,OAAO,GAAG,IAAA,oCAAmB,EAAC;IAClC,MAAM,EAAE;QACN,WAAW,EAAE;YACX,WAAW,EAAE;gBACX,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;aAC1E;SACF;KACF;CACF,CAAC,CAAC;AAMH,SAAgB,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAA,WAAI,EAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/ui/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAcrD,MAAM,OAAO,GAAG,mBAAmB,CAAC;IAClC,MAAM,EAAE;QACN,WAAW,EAAE;YACX,WAAW,EAAE;gBACX,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;aAC1E;SACF;KACF;CACF,CAAC,CAAC;AAMH,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,10 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ORIGIN_STYLES = exports.STATE_STYLES = exports.KIND_STYLES = exports.AGENT_SOURCE_STYLES = exports.RISK_LEVEL_STYLES = exports.IMPORTANCE_STYLES = exports.SECTION_STYLES = exports.CARD_STYLES = exports.TYPE_STYLES = exports.SEVERITY_STYLES = exports.PRIORITY_STYLES = exports.STATUS_STYLES = exports.TONE_STYLES = void 0;
4
- exports.getStatusStyle = getStatusStyle;
5
- exports.getPriorityStyle = getPriorityStyle;
6
- exports.getSeverityStyle = getSeverityStyle;
7
- exports.getRiskLevelStyle = getRiskLevelStyle;
8
1
  const SUCCESS_STYLE = {
9
2
  badge: 'bg-success/15 text-success dark:text-success border-success/30',
10
3
  dot: 'bg-success',
@@ -53,7 +46,7 @@ const NEUTRAL_STYLE = {
53
46
  border: 'border-border',
54
47
  icon: 'text-ink-3',
55
48
  };
56
- exports.TONE_STYLES = {
49
+ export const TONE_STYLES = {
57
50
  neutral: 'bg-paper-elev text-ink-3 border-border',
58
51
  primary: 'bg-primary/10 text-primary border-primary/20',
59
52
  info: 'bg-info/15 text-info dark:text-info border-info/20',
@@ -62,7 +55,7 @@ exports.TONE_STYLES = {
62
55
  danger: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/20',
63
56
  accent: 'bg-amber-500/15 text-amber-700 dark:text-amber-400 border-amber-500/20',
64
57
  };
65
- exports.STATUS_STYLES = {
58
+ export const STATUS_STYLES = {
66
59
  pending: INFO_STYLE,
67
60
  running: WARNING_STYLE,
68
61
  waiting_on_approval: WARNING_STYLE,
@@ -97,10 +90,10 @@ exports.STATUS_STYLES = {
97
90
  approved: SUCCESS_STYLE,
98
91
  manual_review: WARNING_STYLE,
99
92
  };
100
- function getStatusStyle(status) {
101
- return exports.STATUS_STYLES[status] ?? exports.STATUS_STYLES.pending;
93
+ export function getStatusStyle(status) {
94
+ return STATUS_STYLES[status] ?? STATUS_STYLES.pending;
102
95
  }
103
- exports.PRIORITY_STYLES = {
96
+ export const PRIORITY_STYLES = {
104
97
  p0: {
105
98
  badge: 'bg-destructive text-white border-destructive',
106
99
  text: 'text-destructive dark:text-destructive',
@@ -130,10 +123,10 @@ exports.PRIORITY_STYLES = {
130
123
  label: 'Low',
131
124
  },
132
125
  };
133
- function getPriorityStyle(priority) {
134
- return exports.PRIORITY_STYLES[priority] ?? exports.PRIORITY_STYLES.p3;
126
+ export function getPriorityStyle(priority) {
127
+ return PRIORITY_STYLES[priority] ?? PRIORITY_STYLES.p3;
135
128
  }
136
- exports.SEVERITY_STYLES = {
129
+ export const SEVERITY_STYLES = {
137
130
  critical: {
138
131
  badge: 'bg-destructive text-white border-destructive',
139
132
  text: 'text-destructive dark:text-destructive',
@@ -171,24 +164,24 @@ exports.SEVERITY_STYLES = {
171
164
  border: 'border-info/30',
172
165
  },
173
166
  };
174
- function getSeverityStyle(severity) {
167
+ export function getSeverityStyle(severity) {
175
168
  const s = severity.toLowerCase();
176
- return exports.SEVERITY_STYLES[s] ?? { badge: 'bg-paper-elev text-ink-3 border-border', text: 'text-ink-3', bg: 'bg-muted/30', border: 'border-border' };
169
+ return SEVERITY_STYLES[s] ?? { badge: 'bg-paper-elev text-ink-3 border-border', text: 'text-ink-3', bg: 'bg-muted/30', border: 'border-border' };
177
170
  }
178
- exports.TYPE_STYLES = {
171
+ export const TYPE_STYLES = {
179
172
  epic: { badge: 'bg-primary/15 text-primary dark:text-primary border-primary/30', text: 'text-primary dark:text-primary', border: 'border-l-purple-600' },
180
173
  story: { badge: 'bg-info/15 text-info dark:text-info border-info/30', text: 'text-info dark:text-info', border: 'border-l-blue-600' },
181
174
  task: { badge: 'bg-success/15 text-success dark:text-success border-success/30', text: 'text-success dark:text-success', border: 'border-l-green-600' },
182
175
  bug: { badge: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30', text: 'text-destructive dark:text-destructive', border: 'border-l-red-600' },
183
176
  };
184
- exports.CARD_STYLES = {
177
+ export const CARD_STYLES = {
185
178
  default: 'bg-card border border-border/50 rounded-xl shadow-[var(--shadow-2)]',
186
179
  elevated: 'bg-card border border-border/40 rounded-xl shadow-[var(--shadow-8)]',
187
180
  dark: 'bg-foreground text-background rounded-xl shadow-[var(--shadow-16)]',
188
181
  accent: 'bg-primary/5 border border-primary/15 rounded-xl',
189
182
  empty: 'border-2 border-dashed border-border/50 rounded-xl',
190
183
  };
191
- exports.SECTION_STYLES = {
184
+ export const SECTION_STYLES = {
192
185
  pageTitle: 'text-lg sm:text-xl font-semibold tracking-tight text-ink',
193
186
  sectionHeader: 'text-sm font-semibold text-ink',
194
187
  cardLabel: 'text-[11px] font-semibold uppercase tracking-wider text-ink-3',
@@ -196,22 +189,22 @@ exports.SECTION_STYLES = {
196
189
  metricValue: 'text-xl sm:text-2xl font-semibold tabular-nums text-ink',
197
190
  metricLabel: 'text-sm text-ink-3',
198
191
  };
199
- exports.IMPORTANCE_STYLES = {
192
+ export const IMPORTANCE_STYLES = {
200
193
  1: { badge: 'bg-paper-elev text-ink-3 border-border', label: 'Low', star: 'text-ink-3' },
201
194
  2: { badge: 'bg-info/15 text-info dark:text-info border-info/30', label: 'Normal', star: 'text-info' },
202
195
  3: { badge: 'bg-warning/15 text-warning dark:text-warning border-warning/30', label: 'High', star: 'text-warning' },
203
196
  4: { badge: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30', label: 'Critical', star: 'text-destructive' },
204
197
  };
205
- exports.RISK_LEVEL_STYLES = {
198
+ export const RISK_LEVEL_STYLES = {
206
199
  low: { badge: 'bg-success/15 text-success dark:text-success border-success/30', text: 'text-success dark:text-success' },
207
200
  medium: { badge: 'bg-warning/15 text-warning dark:text-warning border-warning/30', text: 'text-warning dark:text-warning' },
208
201
  high: { badge: 'bg-warning/15 text-warning dark:text-warning border-warning/30', text: 'text-warning dark:text-warning' },
209
202
  critical: { badge: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30', text: 'text-destructive dark:text-destructive' },
210
203
  };
211
- function getRiskLevelStyle(level) {
212
- return exports.RISK_LEVEL_STYLES[level] ?? exports.RISK_LEVEL_STYLES.low;
204
+ export function getRiskLevelStyle(level) {
205
+ return RISK_LEVEL_STYLES[level] ?? RISK_LEVEL_STYLES.low;
213
206
  }
214
- exports.AGENT_SOURCE_STYLES = {
207
+ export const AGENT_SOURCE_STYLES = {
215
208
  dynamic: {
216
209
  border: 'border-warning/30',
217
210
  bg: 'bg-warning/5',
@@ -225,13 +218,13 @@ exports.AGENT_SOURCE_STYLES = {
225
218
  iconBg: 'bg-primary/10',
226
219
  },
227
220
  };
228
- exports.KIND_STYLES = {
221
+ export const KIND_STYLES = {
229
222
  LESSON: 'bg-info/15 text-info dark:text-info border-info/30',
230
223
  PATTERN: 'bg-primary/15 text-primary dark:text-primary border-primary/30',
231
224
  CORRECTION: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30',
232
225
  PREFERENCE: 'bg-success/15 text-success dark:text-success border-success/30',
233
226
  };
234
- exports.STATE_STYLES = {
227
+ export const STATE_STYLES = {
235
228
  CANDIDATE: 'bg-paper-elev text-ink-3 border-border',
236
229
  ACTIVE: 'bg-success/15 text-success dark:text-success border-success/30',
237
230
  SUPERSEDED: 'bg-paper-elev text-ink-3 border-border line-through',
@@ -239,7 +232,7 @@ exports.STATE_STYLES = {
239
232
  REVIEW_REQUIRED: 'bg-warning/15 text-warning dark:text-warning border-warning/30',
240
233
  ARCHIVED: 'bg-paper-elev text-ink-3 border-border opacity-60',
241
234
  };
242
- exports.ORIGIN_STYLES = {
235
+ export const ORIGIN_STYLES = {
243
236
  GATE_REJECTION: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30',
244
237
  GATE_APPROVAL: 'bg-success/15 text-success dark:text-success border-success/30',
245
238
  USER_CORRECTION: 'bg-warning/15 text-warning dark:text-warning border-warning/30',