@epicbagel/saas-kit 1.32.0 → 1.33.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 (217) hide show
  1. package/THIRD_PARTY_NOTICES.md +6 -5
  2. package/dist/chunk-2DCJ2SFU.js +20 -0
  3. package/dist/chunk-2FVFPGP5.js +489 -0
  4. package/dist/{chunk-HTPPNW74.js → chunk-AWCXVYPL.js} +1 -1
  5. package/dist/chunk-B54ZEKBG.cjs +63 -0
  6. package/dist/chunk-CXAFTEEP.cjs +20 -0
  7. package/dist/{chunk-MOJHETNO.cjs → chunk-F3D5HA2F.cjs} +10 -10
  8. package/dist/chunk-G3SF4RRA.cjs +489 -0
  9. package/dist/chunk-HTTRUJQU.cjs +60 -0
  10. package/dist/{chunk-JS6BLIWL.js → chunk-IZF4WCK6.js} +11 -11
  11. package/dist/{chunk-PH2TV7XI.cjs → chunk-KOR2QR7I.cjs} +5 -5
  12. package/dist/{chunk-BGCNGYPL.cjs → chunk-PTMZTP3V.cjs} +2 -2
  13. package/dist/{chunk-6O3DUMF7.js → chunk-REGA2L5S.js} +1 -1
  14. package/dist/{chunk-PNI354BY.cjs → chunk-SL6ECEN6.cjs} +2 -2
  15. package/dist/{chunk-ZGTPNSR7.js → chunk-TS4MC3B3.js} +4 -4
  16. package/dist/chunk-TUQVHPSI.js +60 -0
  17. package/dist/chunk-VWOWPNKT.js +73 -0
  18. package/dist/chunk-XH2I3YJ6.js +63 -0
  19. package/dist/chunk-Y6X6XDHE.cjs +73 -0
  20. package/dist/primitives/accent-theme.cjs +66 -0
  21. package/dist/primitives/accent-theme.d.cts +32 -0
  22. package/dist/primitives/accent-theme.d.ts +32 -0
  23. package/dist/primitives/accent-theme.js +66 -0
  24. package/dist/primitives/activity-feed.cjs +2 -2
  25. package/dist/primitives/activity-feed.js +2 -2
  26. package/dist/primitives/agent-audio-visualizer-bar.cjs +3 -3
  27. package/dist/primitives/agent-audio-visualizer-bar.js +2 -2
  28. package/dist/primitives/alert.d.cts +1 -1
  29. package/dist/primitives/alert.d.ts +1 -1
  30. package/dist/primitives/app-layout.cjs +114 -0
  31. package/dist/primitives/app-layout.d.cts +47 -0
  32. package/dist/primitives/app-layout.d.ts +47 -0
  33. package/dist/primitives/app-layout.js +114 -0
  34. package/dist/primitives/app-sidebar.cjs +52 -0
  35. package/dist/primitives/app-sidebar.d.cts +105 -0
  36. package/dist/primitives/app-sidebar.d.ts +105 -0
  37. package/dist/primitives/app-sidebar.js +52 -0
  38. package/dist/primitives/archive-confirmation-dialog.cjs +2 -2
  39. package/dist/primitives/archive-confirmation-dialog.js +3 -3
  40. package/dist/primitives/back-bar.cjs +37 -0
  41. package/dist/primitives/back-bar.d.cts +31 -0
  42. package/dist/primitives/back-bar.d.ts +31 -0
  43. package/dist/primitives/back-bar.js +37 -0
  44. package/dist/primitives/badge.d.cts +1 -1
  45. package/dist/primitives/badge.d.ts +1 -1
  46. package/dist/primitives/batch-action-bar.cjs +134 -0
  47. package/dist/primitives/batch-action-bar.d.cts +27 -0
  48. package/dist/primitives/batch-action-bar.d.ts +27 -0
  49. package/dist/primitives/batch-action-bar.js +134 -0
  50. package/dist/primitives/board-view-internals.cjs +3 -3
  51. package/dist/primitives/board-view-internals.js +2 -2
  52. package/dist/primitives/board-view.cjs +8 -8
  53. package/dist/primitives/board-view.js +7 -7
  54. package/dist/primitives/brand-mark.cjs +26 -0
  55. package/dist/primitives/brand-mark.d.cts +10 -0
  56. package/dist/primitives/brand-mark.d.ts +10 -0
  57. package/dist/primitives/brand-mark.js +26 -0
  58. package/dist/primitives/bubble.d.cts +1 -1
  59. package/dist/primitives/bubble.d.ts +1 -1
  60. package/dist/primitives/button.d.cts +2 -2
  61. package/dist/primitives/button.d.ts +2 -2
  62. package/dist/primitives/chat.cjs +27 -27
  63. package/dist/primitives/chat.js +21 -21
  64. package/dist/primitives/code-block.cjs +4 -4
  65. package/dist/primitives/code-block.js +3 -3
  66. package/dist/primitives/command.cjs +129 -0
  67. package/dist/primitives/command.d.cts +60 -0
  68. package/dist/primitives/command.d.ts +60 -0
  69. package/dist/primitives/command.js +129 -0
  70. package/dist/primitives/compact-list.cjs +24 -0
  71. package/dist/primitives/compact-list.d.cts +18 -0
  72. package/dist/primitives/compact-list.d.ts +18 -0
  73. package/dist/primitives/compact-list.js +24 -0
  74. package/dist/primitives/connection.cjs +6 -6
  75. package/dist/primitives/connection.js +8 -8
  76. package/dist/primitives/context-bar.cjs +57 -0
  77. package/dist/primitives/context-bar.d.cts +50 -0
  78. package/dist/primitives/context-bar.d.ts +50 -0
  79. package/dist/primitives/context-bar.js +57 -0
  80. package/dist/primitives/copy-button.cjs +3 -3
  81. package/dist/primitives/copy-button.js +2 -2
  82. package/dist/primitives/cycling-prompt.cjs +102 -0
  83. package/dist/primitives/cycling-prompt.d.cts +24 -0
  84. package/dist/primitives/cycling-prompt.d.ts +24 -0
  85. package/dist/primitives/cycling-prompt.js +102 -0
  86. package/dist/primitives/dialog.d.cts +9 -9
  87. package/dist/primitives/dialog.d.ts +9 -9
  88. package/dist/primitives/dotted-list.cjs +41 -0
  89. package/dist/primitives/dotted-list.d.cts +28 -0
  90. package/dist/primitives/dotted-list.d.ts +28 -0
  91. package/dist/primitives/dotted-list.js +41 -0
  92. package/dist/primitives/drawer.d.cts +6 -6
  93. package/dist/primitives/drawer.d.ts +6 -6
  94. package/dist/primitives/field.cjs +3 -3
  95. package/dist/primitives/field.js +2 -2
  96. package/dist/primitives/file-dropzone.cjs +3 -3
  97. package/dist/primitives/file-dropzone.js +2 -2
  98. package/dist/primitives/file-preview.cjs +4 -4
  99. package/dist/primitives/file-preview.js +3 -3
  100. package/dist/primitives/filter-bar.cjs +4 -4
  101. package/dist/primitives/filter-bar.js +3 -3
  102. package/dist/primitives/fixed-action-bar.cjs +46 -0
  103. package/dist/primitives/fixed-action-bar.d.cts +15 -0
  104. package/dist/primitives/fixed-action-bar.d.ts +15 -0
  105. package/dist/primitives/fixed-action-bar.js +46 -0
  106. package/dist/primitives/floating-action-button.cjs +65 -0
  107. package/dist/primitives/floating-action-button.d.cts +52 -0
  108. package/dist/primitives/floating-action-button.d.ts +52 -0
  109. package/dist/primitives/floating-action-button.js +65 -0
  110. package/dist/primitives/form-section.cjs +38 -0
  111. package/dist/primitives/form-section.d.cts +43 -0
  112. package/dist/primitives/form-section.d.ts +43 -0
  113. package/dist/primitives/form-section.js +38 -0
  114. package/dist/primitives/key-value-grid.cjs +52 -0
  115. package/dist/primitives/key-value-grid.d.cts +20 -0
  116. package/dist/primitives/key-value-grid.d.ts +20 -0
  117. package/dist/primitives/key-value-grid.js +52 -0
  118. package/dist/primitives/marketing-footer.cjs +34 -0
  119. package/dist/primitives/marketing-footer.d.cts +29 -0
  120. package/dist/primitives/marketing-footer.d.ts +29 -0
  121. package/dist/primitives/marketing-footer.js +34 -0
  122. package/dist/primitives/marketing-header.cjs +41 -0
  123. package/dist/primitives/marketing-header.d.cts +31 -0
  124. package/dist/primitives/marketing-header.d.ts +31 -0
  125. package/dist/primitives/marketing-header.js +41 -0
  126. package/dist/primitives/marketing-section.cjs +8 -0
  127. package/dist/primitives/marketing-section.d.cts +35 -0
  128. package/dist/primitives/marketing-section.d.ts +35 -0
  129. package/dist/primitives/marketing-section.js +8 -0
  130. package/dist/primitives/marketing-shell.cjs +28 -0
  131. package/dist/primitives/marketing-shell.d.cts +14 -0
  132. package/dist/primitives/marketing-shell.d.ts +14 -0
  133. package/dist/primitives/marketing-shell.js +28 -0
  134. package/dist/primitives/notes.cjs +4 -4
  135. package/dist/primitives/notes.js +4 -4
  136. package/dist/primitives/page-header.cjs +3 -67
  137. package/dist/primitives/page-header.js +3 -67
  138. package/dist/primitives/page-tabs.cjs +4 -57
  139. package/dist/primitives/page-tabs.js +4 -57
  140. package/dist/primitives/pager.cjs +85 -0
  141. package/dist/primitives/pager.d.cts +39 -0
  142. package/dist/primitives/pager.d.ts +39 -0
  143. package/dist/primitives/pager.js +85 -0
  144. package/dist/primitives/pagination.cjs +119 -0
  145. package/dist/primitives/pagination.d.cts +41 -0
  146. package/dist/primitives/pagination.d.ts +41 -0
  147. package/dist/primitives/pagination.js +119 -0
  148. package/dist/primitives/poster.cjs +11 -1
  149. package/dist/primitives/poster.d.cts +12 -1
  150. package/dist/primitives/poster.d.ts +12 -1
  151. package/dist/primitives/poster.js +10 -0
  152. package/dist/primitives/resource-list.cjs +8 -8
  153. package/dist/primitives/resource-list.js +7 -7
  154. package/dist/primitives/responsive-embed.cjs +29 -0
  155. package/dist/primitives/responsive-embed.d.cts +14 -0
  156. package/dist/primitives/responsive-embed.d.ts +14 -0
  157. package/dist/primitives/responsive-embed.js +29 -0
  158. package/dist/primitives/save-bar.cjs +91 -0
  159. package/dist/primitives/save-bar.d.cts +55 -0
  160. package/dist/primitives/save-bar.d.ts +55 -0
  161. package/dist/primitives/save-bar.js +91 -0
  162. package/dist/primitives/settings-list.cjs +10 -0
  163. package/dist/primitives/settings-list.d.cts +31 -0
  164. package/dist/primitives/settings-list.d.ts +31 -0
  165. package/dist/primitives/settings-list.js +10 -0
  166. package/dist/primitives/settings-section.cjs +34 -0
  167. package/dist/primitives/settings-section.d.cts +44 -0
  168. package/dist/primitives/settings-section.d.ts +44 -0
  169. package/dist/primitives/settings-section.js +34 -0
  170. package/dist/primitives/sheet.d.cts +9 -9
  171. package/dist/primitives/sheet.d.ts +9 -9
  172. package/dist/primitives/short-video.cjs +110 -0
  173. package/dist/primitives/short-video.d.cts +30 -0
  174. package/dist/primitives/short-video.d.ts +30 -0
  175. package/dist/primitives/short-video.js +110 -0
  176. package/dist/primitives/stats-card.cjs +46 -0
  177. package/dist/primitives/stats-card.d.cts +19 -0
  178. package/dist/primitives/stats-card.d.ts +19 -0
  179. package/dist/primitives/stats-card.js +46 -0
  180. package/dist/primitives/stats-strip.cjs +38 -0
  181. package/dist/primitives/stats-strip.d.cts +24 -0
  182. package/dist/primitives/stats-strip.d.ts +24 -0
  183. package/dist/primitives/stats-strip.js +38 -0
  184. package/dist/primitives/step-list.cjs +32 -0
  185. package/dist/primitives/step-list.d.cts +19 -0
  186. package/dist/primitives/step-list.d.ts +19 -0
  187. package/dist/primitives/step-list.js +32 -0
  188. package/dist/primitives/steps.cjs +77 -0
  189. package/dist/primitives/steps.d.cts +35 -0
  190. package/dist/primitives/steps.d.ts +35 -0
  191. package/dist/primitives/steps.js +77 -0
  192. package/dist/primitives/tabbed-page-header.cjs +53 -0
  193. package/dist/primitives/tabbed-page-header.d.cts +26 -0
  194. package/dist/primitives/tabbed-page-header.d.ts +26 -0
  195. package/dist/primitives/tabbed-page-header.js +53 -0
  196. package/dist/primitives/theme-selector.cjs +17 -17
  197. package/dist/primitives/theme-selector.js +5 -5
  198. package/dist/primitives/voice-dictation-button.cjs +5 -5
  199. package/dist/primitives/voice-dictation-button.js +4 -4
  200. package/dist/primitives/voice-session-controls.cjs +4 -4
  201. package/dist/primitives/voice-session-controls.js +3 -3
  202. package/dist/primitives/workflow-assistant.cjs +5 -5
  203. package/dist/primitives/workflow-assistant.js +3 -3
  204. package/package.json +312 -1
  205. package/src/styles/components/poster.css +42 -1
  206. package/dist/{chunk-5OF6D3GH.js → chunk-4TJBXXUE.js} +3 -3
  207. package/dist/{chunk-DILYV4FI.js → chunk-7ZRFXJVN.js} +3 -3
  208. package/dist/{chunk-YYFVG5A6.cjs → chunk-D46FNEZ5.cjs} +2 -2
  209. package/dist/{chunk-NKWHDI4C.cjs → chunk-FB3VY2PL.cjs} +2 -2
  210. package/dist/{chunk-MW67PHAQ.cjs → chunk-GUVQAWUW.cjs} +9 -9
  211. package/dist/{chunk-WHDHUYS6.js → chunk-HBRVOGLA.js} +3 -3
  212. package/dist/{chunk-FARCLWLU.cjs → chunk-HHF5DEKM.cjs} +3 -3
  213. package/dist/{chunk-TWCJMFST.js → chunk-O42YC6ZQ.js} +3 -3
  214. package/dist/{chunk-ZJFYOXSM.cjs → chunk-SRVRNHCX.cjs} +2 -2
  215. package/dist/{chunk-UFFHGKI7.js → chunk-SW4T3O7M.js} +9 -9
  216. package/dist/{chunk-62UTAG2C.js → chunk-ULZB4A2I.js} +3 -3
  217. package/dist/{chunk-ZLEM2SAU.cjs → chunk-Z3JJSNR5.cjs} +2 -2
@@ -0,0 +1,77 @@
1
+ "use client";
2
+ import {
3
+ MarketingSection
4
+ } from "../chunk-TUQVHPSI.js";
5
+ import {
6
+ Eyebrow
7
+ } from "../chunk-LIE6W3QT.js";
8
+ import {
9
+ cn
10
+ } from "../chunk-G6SRSWXB.js";
11
+
12
+ // src/primitives/steps.tsx
13
+ import { jsx, jsxs } from "react/jsx-runtime";
14
+ function Steps({
15
+ eyebrow,
16
+ title,
17
+ description,
18
+ caption,
19
+ items,
20
+ variant = "numbered",
21
+ tone = "default",
22
+ className,
23
+ id,
24
+ marginTop = "none"
25
+ }) {
26
+ const cols = items.length === 2 ? "md:grid-cols-2" : "md:grid-cols-3";
27
+ const isList = variant === "list";
28
+ return /* @__PURE__ */ jsxs(MarketingSection, { tone, width: "widest", className: cn(marginTop === "md" && "mt-4", className), id, children: [
29
+ (eyebrow || title || description || caption) && (isList ? (
30
+ // List header: left-aligned, with the caption pinned to the right.
31
+ /* @__PURE__ */ jsxs("div", { className: "mb-10 flex flex-col gap-4 md:mb-14 md:flex-row md:items-end md:justify-between", children: [
32
+ /* @__PURE__ */ jsxs("div", { children: [
33
+ eyebrow && /* @__PURE__ */ jsx(Eyebrow, { className: "mb-3 block", children: eyebrow }),
34
+ title && /* @__PURE__ */ jsx("h2", { className: "text-3xl font-medium leading-[1.1] tracking-tight md:text-4xl", children: title }),
35
+ description && /* @__PURE__ */ jsx("p", { className: "mt-4 max-w-xl text-base leading-relaxed text-muted-foreground md:text-lg", children: description })
36
+ ] }),
37
+ caption && /* @__PURE__ */ jsx(Eyebrow, { className: "shrink-0 md:pb-1.5", children: caption })
38
+ ] })
39
+ ) : /* @__PURE__ */ jsxs("div", { className: "mx-auto mb-12 max-w-2xl text-center md:mb-16", children: [
40
+ eyebrow && /* @__PURE__ */ jsx(Eyebrow, { className: "mb-3 block", children: eyebrow }),
41
+ title && /* @__PURE__ */ jsx("h2", { className: "text-3xl font-medium tracking-tight md:text-4xl", children: title }),
42
+ description && /* @__PURE__ */ jsx("p", { className: "mt-4 text-base leading-relaxed text-muted-foreground md:text-lg", children: description })
43
+ ] })),
44
+ isList ? /* @__PURE__ */ jsx("div", { children: items.map((step, i) => /* @__PURE__ */ jsxs(
45
+ "div",
46
+ {
47
+ className: "grid grid-cols-1 gap-2 border-t border-border py-8 md:grid-cols-[5rem_1fr_1.15fr] md:items-baseline md:gap-10 md:py-10",
48
+ children: [
49
+ /* @__PURE__ */ jsx("div", { className: "font-mono text-3xl font-medium tabular-nums text-foreground/20 md:text-4xl", children: String(i + 1).padStart(2, "0") }),
50
+ /* @__PURE__ */ jsx("h3", { className: "text-xl font-medium tracking-tight md:text-2xl", children: step.title }),
51
+ step.description && /* @__PURE__ */ jsx("p", { className: "text-base leading-relaxed text-muted-foreground", children: step.description })
52
+ ]
53
+ },
54
+ i
55
+ )) }) : /* @__PURE__ */ jsx("div", { className: cn("grid gap-8 md:gap-12", cols), children: items.map(
56
+ (step, i) => variant === "cards" ? /* @__PURE__ */ jsxs(
57
+ "div",
58
+ {
59
+ className: "rounded-xl border border-border bg-background p-6 text-left",
60
+ children: [
61
+ step.icon ? /* @__PURE__ */ jsx("div", { className: "mb-4 inline-flex h-10 w-10 items-center justify-center rounded-lg bg-muted text-foreground [&_svg]:h-5 [&_svg]:w-5", children: step.icon }) : /* @__PURE__ */ jsx("div", { className: "mb-4 font-mono text-sm text-muted-foreground", children: String(i + 1).padStart(2, "0") }),
62
+ /* @__PURE__ */ jsx("h3", { className: "text-lg font-medium tracking-tight", children: step.title }),
63
+ step.description && /* @__PURE__ */ jsx("p", { className: "mt-2 text-base leading-relaxed text-muted-foreground", children: step.description })
64
+ ]
65
+ },
66
+ i
67
+ ) : /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
68
+ /* @__PURE__ */ jsx("div", { className: "mx-auto mb-4 font-mono text-3xl font-medium tabular-nums text-foreground/30", children: String(i + 1).padStart(2, "0") }),
69
+ /* @__PURE__ */ jsx("h3", { className: "text-lg font-medium tracking-tight md:text-xl", children: step.title }),
70
+ step.description && /* @__PURE__ */ jsx("p", { className: "mx-auto mt-2 max-w-xs text-base leading-relaxed text-muted-foreground", children: step.description })
71
+ ] }, i)
72
+ ) })
73
+ ] });
74
+ }
75
+ export {
76
+ Steps
77
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+ "use client";
3
+
4
+
5
+ var _chunkY6X6XDHEcjs = require('../chunk-Y6X6XDHE.cjs');
6
+
7
+
8
+ var _chunkB54ZEKBGcjs = require('../chunk-B54ZEKBG.cjs');
9
+ require('../chunk-DFB4ILN6.cjs');
10
+
11
+
12
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
13
+
14
+ // src/primitives/tabbed-page-header.tsx
15
+ var _jsxruntime = require('react/jsx-runtime');
16
+ function TabbedPageHeader({
17
+ eyebrow,
18
+ title,
19
+ description,
20
+ value,
21
+ onValueChange,
22
+ items,
23
+ ariaLabel,
24
+ layout,
25
+ actions,
26
+ className
27
+ }) {
28
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex flex-col gap-5", className), children: [
29
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30
+ _chunkY6X6XDHEcjs.PageHeader,
31
+ {
32
+ eyebrow,
33
+ title,
34
+ description,
35
+ className: "mb-0",
36
+ children: actions
37
+ }
38
+ ),
39
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40
+ _chunkB54ZEKBGcjs.PageTabs,
41
+ {
42
+ value,
43
+ onValueChange,
44
+ items,
45
+ ariaLabel,
46
+ layout
47
+ }
48
+ )
49
+ ] });
50
+ }
51
+
52
+
53
+ exports.TabbedPageHeader = TabbedPageHeader;
@@ -0,0 +1,26 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { PageTabItem } from './page-tabs.cjs';
4
+
5
+ interface TabbedPageHeaderProps<TValue extends string = string> {
6
+ eyebrow?: ReactNode;
7
+ title: ReactNode;
8
+ description?: ReactNode;
9
+ value: TValue;
10
+ onValueChange: (value: TValue) => void;
11
+ items: PageTabItem<TValue>[];
12
+ ariaLabel: string;
13
+ layout?: "equal" | "scroll";
14
+ actions?: ReactNode;
15
+ className?: string;
16
+ }
17
+ /**
18
+ * Stable page identity followed by full-width sibling navigation.
19
+ *
20
+ * Content for the selected destination belongs after this component. Keeping
21
+ * the heading and tabs together prevents route tabs from floating above the
22
+ * page title or appearing to replace content on both sides of the control.
23
+ */
24
+ declare function TabbedPageHeader<TValue extends string = string>({ eyebrow, title, description, value, onValueChange, items, ariaLabel, layout, actions, className, }: TabbedPageHeaderProps<TValue>): react_jsx_runtime.JSX.Element;
25
+
26
+ export { TabbedPageHeader, type TabbedPageHeaderProps };
@@ -0,0 +1,26 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { PageTabItem } from './page-tabs.js';
4
+
5
+ interface TabbedPageHeaderProps<TValue extends string = string> {
6
+ eyebrow?: ReactNode;
7
+ title: ReactNode;
8
+ description?: ReactNode;
9
+ value: TValue;
10
+ onValueChange: (value: TValue) => void;
11
+ items: PageTabItem<TValue>[];
12
+ ariaLabel: string;
13
+ layout?: "equal" | "scroll";
14
+ actions?: ReactNode;
15
+ className?: string;
16
+ }
17
+ /**
18
+ * Stable page identity followed by full-width sibling navigation.
19
+ *
20
+ * Content for the selected destination belongs after this component. Keeping
21
+ * the heading and tabs together prevents route tabs from floating above the
22
+ * page title or appearing to replace content on both sides of the control.
23
+ */
24
+ declare function TabbedPageHeader<TValue extends string = string>({ eyebrow, title, description, value, onValueChange, items, ariaLabel, layout, actions, className, }: TabbedPageHeaderProps<TValue>): react_jsx_runtime.JSX.Element;
25
+
26
+ export { TabbedPageHeader, type TabbedPageHeaderProps };
@@ -0,0 +1,53 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ PageHeader
5
+ } from "../chunk-VWOWPNKT.js";
6
+ import {
7
+ PageTabs
8
+ } from "../chunk-XH2I3YJ6.js";
9
+ import "../chunk-7CRDYV3C.js";
10
+ import {
11
+ cn
12
+ } from "../chunk-G6SRSWXB.js";
13
+
14
+ // src/primitives/tabbed-page-header.tsx
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ function TabbedPageHeader({
17
+ eyebrow,
18
+ title,
19
+ description,
20
+ value,
21
+ onValueChange,
22
+ items,
23
+ ariaLabel,
24
+ layout,
25
+ actions,
26
+ className
27
+ }) {
28
+ return /* @__PURE__ */ jsxs("header", { className: cn("flex flex-col gap-5", className), children: [
29
+ /* @__PURE__ */ jsx(
30
+ PageHeader,
31
+ {
32
+ eyebrow,
33
+ title,
34
+ description,
35
+ className: "mb-0",
36
+ children: actions
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsx(
40
+ PageTabs,
41
+ {
42
+ value,
43
+ onValueChange,
44
+ items,
45
+ ariaLabel,
46
+ layout
47
+ }
48
+ )
49
+ ] });
50
+ }
51
+ export {
52
+ TabbedPageHeader
53
+ };
@@ -18,20 +18,20 @@ var _chunkHAP6USTPcjs = require('../chunk-HAP6USTP.cjs');
18
18
 
19
19
 
20
20
 
21
- var _chunkZJFYOXSMcjs = require('../chunk-ZJFYOXSM.cjs');
22
- require('../chunk-NQK5ZWC7.cjs');
21
+ var _chunkSRVRNHCXcjs = require('../chunk-SRVRNHCX.cjs');
23
22
  require('../chunk-IQZLUT2Y.cjs');
24
23
 
25
24
 
26
25
  var _chunkT2ZFSPE4cjs = require('../chunk-T2ZFSPE4.cjs');
26
+ require('../chunk-NQK5ZWC7.cjs');
27
27
 
28
28
 
29
- var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
30
29
 
31
30
 
31
+ var _chunkU3YFP6ZVcjs = require('../chunk-U3YFP6ZV.cjs');
32
32
 
33
33
 
34
- var _chunkU3YFP6ZVcjs = require('../chunk-U3YFP6ZV.cjs');
34
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
35
35
 
36
36
  // src/primitives/theme-selector.tsx
37
37
  var _react = require('react');
@@ -90,11 +90,11 @@ function PaletteOption({ palette, id }) {
90
90
  const titleId = `${id}-title`;
91
91
  const descriptionId = `${id}-description`;
92
92
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
93
- _chunkZJFYOXSMcjs.FieldLabel,
93
+ _chunkSRVRNHCXcjs.FieldLabel,
94
94
  {
95
95
  htmlFor: id,
96
96
  className: "cursor-pointer transition-colors not-has-data-[state=checked]:hover:border-foreground/30",
97
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZJFYOXSMcjs.Field, { children: [
97
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSRVRNHCXcjs.Field, { children: [
98
98
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex overflow-hidden rounded-md border border-border", children: [
99
99
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
100
100
  PalettePreview,
@@ -106,10 +106,10 @@ function PaletteOption({ palette, id }) {
106
106
  ),
107
107
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PalettePreview, { palette, mode: "dark", className: "w-1/2 rounded-none border-0" })
108
108
  ] }),
109
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZJFYOXSMcjs.Field, { orientation: "horizontal", children: [
110
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZJFYOXSMcjs.FieldContent, { children: [
111
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJFYOXSMcjs.FieldTitle, { id: titleId, children: palette.label }),
112
- palette.description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJFYOXSMcjs.FieldDescription, { id: descriptionId, children: palette.description }) : null
109
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSRVRNHCXcjs.Field, { orientation: "horizontal", children: [
110
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSRVRNHCXcjs.FieldContent, { children: [
111
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSRVRNHCXcjs.FieldTitle, { id: titleId, children: palette.label }),
112
+ palette.description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSRVRNHCXcjs.FieldDescription, { id: descriptionId, children: palette.description }) : null
113
113
  ] }),
114
114
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
115
115
  _chunkHAP6USTPcjs.RadioGroupItem,
@@ -146,10 +146,10 @@ function ThemeSelector({
146
146
  { value: "dark", label: darkLabel, icon: _lucidereact.Moon },
147
147
  { value: "system", label: systemLabel, icon: _lucidereact.Monitor }
148
148
  ];
149
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZJFYOXSMcjs.FieldGroup, { "data-slot": "theme-selector", className: _chunkKWLSBTB2cjs.cn.call(void 0, "gap-6", className), children: [
150
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZJFYOXSMcjs.FieldSet, { className: "gap-3", children: [
151
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJFYOXSMcjs.FieldLegend, { variant: "label", children: modeLabel }),
152
- modeDescription ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJFYOXSMcjs.FieldDescription, { children: modeDescription }) : null,
149
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSRVRNHCXcjs.FieldGroup, { "data-slot": "theme-selector", className: _chunkKWLSBTB2cjs.cn.call(void 0, "gap-6", className), children: [
150
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSRVRNHCXcjs.FieldSet, { className: "gap-3", children: [
151
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSRVRNHCXcjs.FieldLegend, { variant: "label", children: modeLabel }),
152
+ modeDescription ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSRVRNHCXcjs.FieldDescription, { children: modeDescription }) : null,
153
153
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
154
154
  _chunkD5EHW3O2cjs.ToggleGroup,
155
155
  {
@@ -167,9 +167,9 @@ function ThemeSelector({
167
167
  }
168
168
  )
169
169
  ] }),
170
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZJFYOXSMcjs.FieldSet, { className: "gap-3", children: [
171
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJFYOXSMcjs.FieldLegend, { variant: "label", children: paletteLabel }),
172
- paletteDescription ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJFYOXSMcjs.FieldDescription, { children: paletteDescription }) : null,
170
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSRVRNHCXcjs.FieldSet, { className: "gap-3", children: [
171
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSRVRNHCXcjs.FieldLegend, { variant: "label", children: paletteLabel }),
172
+ paletteDescription ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSRVRNHCXcjs.FieldDescription, { children: paletteDescription }) : null,
173
173
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
174
174
  _chunkHAP6USTPcjs.RadioGroup,
175
175
  {
@@ -18,20 +18,20 @@ import {
18
18
  FieldLegend,
19
19
  FieldSet,
20
20
  FieldTitle
21
- } from "../chunk-TWCJMFST.js";
22
- import "../chunk-HYTILYE5.js";
21
+ } from "../chunk-O42YC6ZQ.js";
23
22
  import "../chunk-E2TQMDO7.js";
24
23
  import {
25
24
  Icon
26
25
  } from "../chunk-KN4RPX35.js";
27
- import {
28
- cn
29
- } from "../chunk-G6SRSWXB.js";
26
+ import "../chunk-HYTILYE5.js";
30
27
  import {
31
28
  NEUTRAL_PALETTE,
32
29
  NEUTRAL_THEME_ID,
33
30
  paletteStyle
34
31
  } from "../chunk-F3DAFAMD.js";
32
+ import {
33
+ cn
34
+ } from "../chunk-G6SRSWXB.js";
35
35
 
36
36
  // src/primitives/theme-selector.tsx
37
37
  import { useId, useMemo } from "react";
@@ -2,12 +2,12 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunkPH2TV7XIcjs = require('../chunk-PH2TV7XI.cjs');
6
- require('../chunk-NKWHDI4C.cjs');
5
+ var _chunkKOR2QR7Icjs = require('../chunk-KOR2QR7I.cjs');
6
+ require('../chunk-7Q4EFCUI.cjs');
7
+ require('../chunk-FB3VY2PL.cjs');
8
+ require('../chunk-2BSFYU22.cjs');
7
9
  require('../chunk-JDEXZGIY.cjs');
8
10
  require('../chunk-KWLSBTB2.cjs');
9
- require('../chunk-2BSFYU22.cjs');
10
- require('../chunk-7Q4EFCUI.cjs');
11
11
 
12
12
 
13
- exports.VoiceDictationButton = _chunkPH2TV7XIcjs.VoiceDictationButton;
13
+ exports.VoiceDictationButton = _chunkKOR2QR7Icjs.VoiceDictationButton;
@@ -2,12 +2,12 @@
2
2
  "use client";
3
3
  import {
4
4
  VoiceDictationButton
5
- } from "../chunk-ZGTPNSR7.js";
6
- import "../chunk-5OF6D3GH.js";
5
+ } from "../chunk-TS4MC3B3.js";
6
+ import "../chunk-RPSRCB5O.js";
7
+ import "../chunk-4TJBXXUE.js";
8
+ import "../chunk-GJ7S3L6R.js";
7
9
  import "../chunk-W326GKML.js";
8
10
  import "../chunk-G6SRSWXB.js";
9
- import "../chunk-GJ7S3L6R.js";
10
- import "../chunk-RPSRCB5O.js";
11
11
  export {
12
12
  VoiceDictationButton
13
13
  };
@@ -3,12 +3,12 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkPNI354BYcjs = require('../chunk-PNI354BY.cjs');
7
- require('../chunk-NKWHDI4C.cjs');
6
+ var _chunkSL6ECEN6cjs = require('../chunk-SL6ECEN6.cjs');
7
+ require('../chunk-FB3VY2PL.cjs');
8
+ require('../chunk-2BSFYU22.cjs');
8
9
  require('../chunk-JDEXZGIY.cjs');
9
10
  require('../chunk-KWLSBTB2.cjs');
10
- require('../chunk-2BSFYU22.cjs');
11
11
 
12
12
 
13
13
 
14
- exports.VoiceSessionAction = _chunkPNI354BYcjs.VoiceSessionAction; exports.VoiceSessionControls = _chunkPNI354BYcjs.VoiceSessionControls;
14
+ exports.VoiceSessionAction = _chunkSL6ECEN6cjs.VoiceSessionAction; exports.VoiceSessionControls = _chunkSL6ECEN6cjs.VoiceSessionControls;
@@ -3,11 +3,11 @@
3
3
  import {
4
4
  VoiceSessionAction,
5
5
  VoiceSessionControls
6
- } from "../chunk-6O3DUMF7.js";
7
- import "../chunk-5OF6D3GH.js";
6
+ } from "../chunk-REGA2L5S.js";
7
+ import "../chunk-4TJBXXUE.js";
8
+ import "../chunk-GJ7S3L6R.js";
8
9
  import "../chunk-W326GKML.js";
9
10
  import "../chunk-G6SRSWXB.js";
10
- import "../chunk-GJ7S3L6R.js";
11
11
  export {
12
12
  VoiceSessionAction,
13
13
  VoiceSessionControls
@@ -3,15 +3,15 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkPNI354BYcjs = require('../chunk-PNI354BY.cjs');
7
- require('../chunk-NKWHDI4C.cjs');
6
+ var _chunkSL6ECEN6cjs = require('../chunk-SL6ECEN6.cjs');
7
+ require('../chunk-FB3VY2PL.cjs');
8
+ require('../chunk-2BSFYU22.cjs');
8
9
 
9
10
 
10
11
  var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
11
12
 
12
13
 
13
14
  var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
14
- require('../chunk-2BSFYU22.cjs');
15
15
 
16
16
  // src/primitives/workflow-assistant.tsx
17
17
  var _react = require('react');
@@ -155,7 +155,7 @@ var WorkflowAssistant = _react.forwardRef.call(void 0, function WorkflowAssistan
155
155
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJDEXZGIYcjs.Button, { type: "button", variant: "ghost", size: "icon", "aria-label": _nullishCoalesce(_optionalChain([labels, 'optionalAccess', _17 => _17.minimize]), () => ( "Minimize voice review")), onClick: () => toggle(false), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown, { "aria-hidden": "true" }) })
156
156
  ] }),
157
157
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", "data-slot": "workflow-assistant-voice", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
158
- _chunkPNI354BYcjs.VoiceSessionControls,
158
+ _chunkSL6ECEN6cjs.VoiceSessionControls,
159
159
  {
160
160
  ...voiceSession,
161
161
  disabled: Boolean(startDisabled),
@@ -167,7 +167,7 @@ var WorkflowAssistant = _react.forwardRef.call(void 0, function WorkflowAssistan
167
167
  actions: summaries.length > 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
168
168
  voiceSession.actions,
169
169
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
170
- _chunkPNI354BYcjs.VoiceSessionAction,
170
+ _chunkSL6ECEN6cjs.VoiceSessionAction,
171
171
  {
172
172
  label: showingSummaries ? _nullishCoalesce(_optionalChain([labels, 'optionalAccess', _21 => _21.hideSummaries]), () => ( "Hide actions")) : _nullishCoalesce(_optionalChain([labels, 'optionalAccess', _22 => _22.showSummaries]), () => ( "Show actions")),
173
173
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ListChecks, { "aria-hidden": "true" }),
@@ -3,15 +3,15 @@
3
3
  import {
4
4
  VoiceSessionAction,
5
5
  VoiceSessionControls
6
- } from "../chunk-6O3DUMF7.js";
7
- import "../chunk-5OF6D3GH.js";
6
+ } from "../chunk-REGA2L5S.js";
7
+ import "../chunk-4TJBXXUE.js";
8
+ import "../chunk-GJ7S3L6R.js";
8
9
  import {
9
10
  Button
10
11
  } from "../chunk-W326GKML.js";
11
12
  import {
12
13
  cn
13
14
  } from "../chunk-G6SRSWXB.js";
14
- import "../chunk-GJ7S3L6R.js";
15
15
 
16
16
  // src/primitives/workflow-assistant.tsx
17
17
  import { forwardRef, useEffect, useId, useRef, useState } from "react";