@epicbagel/saas-kit 1.31.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.
- package/THIRD_PARTY_NOTICES.md +6 -5
- package/dist/chunk-2DCJ2SFU.js +20 -0
- package/dist/chunk-2FVFPGP5.js +489 -0
- package/dist/{chunk-HTPPNW74.js → chunk-AWCXVYPL.js} +1 -1
- package/dist/chunk-B54ZEKBG.cjs +63 -0
- package/dist/chunk-CXAFTEEP.cjs +20 -0
- package/dist/{chunk-MOJHETNO.cjs → chunk-F3D5HA2F.cjs} +10 -10
- package/dist/chunk-G3SF4RRA.cjs +489 -0
- package/dist/chunk-HTTRUJQU.cjs +60 -0
- package/dist/{chunk-JS6BLIWL.js → chunk-IZF4WCK6.js} +11 -11
- package/dist/{chunk-PH2TV7XI.cjs → chunk-KOR2QR7I.cjs} +5 -5
- package/dist/{chunk-BGCNGYPL.cjs → chunk-PTMZTP3V.cjs} +2 -2
- package/dist/{chunk-6O3DUMF7.js → chunk-REGA2L5S.js} +1 -1
- package/dist/{chunk-PNI354BY.cjs → chunk-SL6ECEN6.cjs} +2 -2
- package/dist/{chunk-ZGTPNSR7.js → chunk-TS4MC3B3.js} +4 -4
- package/dist/chunk-TUQVHPSI.js +60 -0
- package/dist/chunk-VWOWPNKT.js +73 -0
- package/dist/chunk-XH2I3YJ6.js +63 -0
- package/dist/chunk-Y6X6XDHE.cjs +73 -0
- package/dist/primitives/accent-theme.cjs +66 -0
- package/dist/primitives/accent-theme.d.cts +32 -0
- package/dist/primitives/accent-theme.d.ts +32 -0
- package/dist/primitives/accent-theme.js +66 -0
- package/dist/primitives/activity-feed.cjs +2 -2
- package/dist/primitives/activity-feed.js +2 -2
- package/dist/primitives/agent-audio-visualizer-bar.cjs +3 -3
- package/dist/primitives/agent-audio-visualizer-bar.js +2 -2
- package/dist/primitives/alert.d.cts +1 -1
- package/dist/primitives/alert.d.ts +1 -1
- package/dist/primitives/app-layout.cjs +114 -0
- package/dist/primitives/app-layout.d.cts +47 -0
- package/dist/primitives/app-layout.d.ts +47 -0
- package/dist/primitives/app-layout.js +114 -0
- package/dist/primitives/app-sidebar.cjs +52 -0
- package/dist/primitives/app-sidebar.d.cts +105 -0
- package/dist/primitives/app-sidebar.d.ts +105 -0
- package/dist/primitives/app-sidebar.js +52 -0
- package/dist/primitives/archive-confirmation-dialog.cjs +2 -2
- package/dist/primitives/archive-confirmation-dialog.js +3 -3
- package/dist/primitives/back-bar.cjs +37 -0
- package/dist/primitives/back-bar.d.cts +31 -0
- package/dist/primitives/back-bar.d.ts +31 -0
- package/dist/primitives/back-bar.js +37 -0
- package/dist/primitives/badge.d.cts +1 -1
- package/dist/primitives/badge.d.ts +1 -1
- package/dist/primitives/batch-action-bar.cjs +134 -0
- package/dist/primitives/batch-action-bar.d.cts +27 -0
- package/dist/primitives/batch-action-bar.d.ts +27 -0
- package/dist/primitives/batch-action-bar.js +134 -0
- package/dist/primitives/board-view-internals.cjs +3 -3
- package/dist/primitives/board-view-internals.js +2 -2
- package/dist/primitives/board-view.cjs +8 -8
- package/dist/primitives/board-view.js +7 -7
- package/dist/primitives/brand-mark.cjs +26 -0
- package/dist/primitives/brand-mark.d.cts +10 -0
- package/dist/primitives/brand-mark.d.ts +10 -0
- package/dist/primitives/brand-mark.js +26 -0
- package/dist/primitives/bubble.d.cts +1 -1
- package/dist/primitives/bubble.d.ts +1 -1
- package/dist/primitives/button.d.cts +2 -2
- package/dist/primitives/button.d.ts +2 -2
- package/dist/primitives/chat.cjs +27 -27
- package/dist/primitives/chat.js +21 -21
- package/dist/primitives/code-block.cjs +4 -4
- package/dist/primitives/code-block.js +3 -3
- package/dist/primitives/command.cjs +129 -0
- package/dist/primitives/command.d.cts +60 -0
- package/dist/primitives/command.d.ts +60 -0
- package/dist/primitives/command.js +129 -0
- package/dist/primitives/compact-list.cjs +24 -0
- package/dist/primitives/compact-list.d.cts +18 -0
- package/dist/primitives/compact-list.d.ts +18 -0
- package/dist/primitives/compact-list.js +24 -0
- package/dist/primitives/connection.cjs +6 -6
- package/dist/primitives/connection.js +8 -8
- package/dist/primitives/context-bar.cjs +57 -0
- package/dist/primitives/context-bar.d.cts +50 -0
- package/dist/primitives/context-bar.d.ts +50 -0
- package/dist/primitives/context-bar.js +57 -0
- package/dist/primitives/copy-button.cjs +3 -3
- package/dist/primitives/copy-button.js +2 -2
- package/dist/primitives/cycling-prompt.cjs +102 -0
- package/dist/primitives/cycling-prompt.d.cts +24 -0
- package/dist/primitives/cycling-prompt.d.ts +24 -0
- package/dist/primitives/cycling-prompt.js +102 -0
- package/dist/primitives/dialog.d.cts +9 -9
- package/dist/primitives/dialog.d.ts +9 -9
- package/dist/primitives/dotted-list.cjs +41 -0
- package/dist/primitives/dotted-list.d.cts +28 -0
- package/dist/primitives/dotted-list.d.ts +28 -0
- package/dist/primitives/dotted-list.js +41 -0
- package/dist/primitives/drawer.d.cts +6 -6
- package/dist/primitives/drawer.d.ts +6 -6
- package/dist/primitives/field.cjs +3 -3
- package/dist/primitives/field.js +2 -2
- package/dist/primitives/file-dropzone.cjs +3 -3
- package/dist/primitives/file-dropzone.js +2 -2
- package/dist/primitives/file-preview.cjs +4 -4
- package/dist/primitives/file-preview.js +3 -3
- package/dist/primitives/filter-bar.cjs +4 -4
- package/dist/primitives/filter-bar.js +3 -3
- package/dist/primitives/fixed-action-bar.cjs +46 -0
- package/dist/primitives/fixed-action-bar.d.cts +15 -0
- package/dist/primitives/fixed-action-bar.d.ts +15 -0
- package/dist/primitives/fixed-action-bar.js +46 -0
- package/dist/primitives/floating-action-button.cjs +65 -0
- package/dist/primitives/floating-action-button.d.cts +52 -0
- package/dist/primitives/floating-action-button.d.ts +52 -0
- package/dist/primitives/floating-action-button.js +65 -0
- package/dist/primitives/form-section.cjs +38 -0
- package/dist/primitives/form-section.d.cts +43 -0
- package/dist/primitives/form-section.d.ts +43 -0
- package/dist/primitives/form-section.js +38 -0
- package/dist/primitives/key-value-grid.cjs +52 -0
- package/dist/primitives/key-value-grid.d.cts +20 -0
- package/dist/primitives/key-value-grid.d.ts +20 -0
- package/dist/primitives/key-value-grid.js +52 -0
- package/dist/primitives/marketing-footer.cjs +34 -0
- package/dist/primitives/marketing-footer.d.cts +29 -0
- package/dist/primitives/marketing-footer.d.ts +29 -0
- package/dist/primitives/marketing-footer.js +34 -0
- package/dist/primitives/marketing-header.cjs +41 -0
- package/dist/primitives/marketing-header.d.cts +31 -0
- package/dist/primitives/marketing-header.d.ts +31 -0
- package/dist/primitives/marketing-header.js +41 -0
- package/dist/primitives/marketing-section.cjs +8 -0
- package/dist/primitives/marketing-section.d.cts +35 -0
- package/dist/primitives/marketing-section.d.ts +35 -0
- package/dist/primitives/marketing-section.js +8 -0
- package/dist/primitives/marketing-shell.cjs +28 -0
- package/dist/primitives/marketing-shell.d.cts +14 -0
- package/dist/primitives/marketing-shell.d.ts +14 -0
- package/dist/primitives/marketing-shell.js +28 -0
- package/dist/primitives/notes.cjs +4 -4
- package/dist/primitives/notes.js +4 -4
- package/dist/primitives/page-header.cjs +3 -67
- package/dist/primitives/page-header.js +3 -67
- package/dist/primitives/page-tabs.cjs +4 -57
- package/dist/primitives/page-tabs.js +4 -57
- package/dist/primitives/pager.cjs +85 -0
- package/dist/primitives/pager.d.cts +39 -0
- package/dist/primitives/pager.d.ts +39 -0
- package/dist/primitives/pager.js +85 -0
- package/dist/primitives/pagination.cjs +119 -0
- package/dist/primitives/pagination.d.cts +41 -0
- package/dist/primitives/pagination.d.ts +41 -0
- package/dist/primitives/pagination.js +119 -0
- package/dist/primitives/poster.cjs +406 -0
- package/dist/primitives/poster.d.cts +406 -0
- package/dist/primitives/poster.d.ts +406 -0
- package/dist/primitives/poster.js +406 -0
- package/dist/primitives/resource-list.cjs +8 -8
- package/dist/primitives/resource-list.js +7 -7
- package/dist/primitives/responsive-embed.cjs +29 -0
- package/dist/primitives/responsive-embed.d.cts +14 -0
- package/dist/primitives/responsive-embed.d.ts +14 -0
- package/dist/primitives/responsive-embed.js +29 -0
- package/dist/primitives/save-bar.cjs +91 -0
- package/dist/primitives/save-bar.d.cts +55 -0
- package/dist/primitives/save-bar.d.ts +55 -0
- package/dist/primitives/save-bar.js +91 -0
- package/dist/primitives/settings-list.cjs +10 -0
- package/dist/primitives/settings-list.d.cts +31 -0
- package/dist/primitives/settings-list.d.ts +31 -0
- package/dist/primitives/settings-list.js +10 -0
- package/dist/primitives/settings-section.cjs +34 -0
- package/dist/primitives/settings-section.d.cts +44 -0
- package/dist/primitives/settings-section.d.ts +44 -0
- package/dist/primitives/settings-section.js +34 -0
- package/dist/primitives/sheet.d.cts +9 -9
- package/dist/primitives/sheet.d.ts +9 -9
- package/dist/primitives/short-video.cjs +110 -0
- package/dist/primitives/short-video.d.cts +30 -0
- package/dist/primitives/short-video.d.ts +30 -0
- package/dist/primitives/short-video.js +110 -0
- package/dist/primitives/stats-card.cjs +46 -0
- package/dist/primitives/stats-card.d.cts +19 -0
- package/dist/primitives/stats-card.d.ts +19 -0
- package/dist/primitives/stats-card.js +46 -0
- package/dist/primitives/stats-strip.cjs +38 -0
- package/dist/primitives/stats-strip.d.cts +24 -0
- package/dist/primitives/stats-strip.d.ts +24 -0
- package/dist/primitives/stats-strip.js +38 -0
- package/dist/primitives/step-list.cjs +32 -0
- package/dist/primitives/step-list.d.cts +19 -0
- package/dist/primitives/step-list.d.ts +19 -0
- package/dist/primitives/step-list.js +32 -0
- package/dist/primitives/steps.cjs +77 -0
- package/dist/primitives/steps.d.cts +35 -0
- package/dist/primitives/steps.d.ts +35 -0
- package/dist/primitives/steps.js +77 -0
- package/dist/primitives/tabbed-page-header.cjs +53 -0
- package/dist/primitives/tabbed-page-header.d.cts +26 -0
- package/dist/primitives/tabbed-page-header.d.ts +26 -0
- package/dist/primitives/tabbed-page-header.js +53 -0
- package/dist/primitives/theme-selector.cjs +17 -17
- package/dist/primitives/theme-selector.js +5 -5
- package/dist/primitives/voice-dictation-button.cjs +5 -5
- package/dist/primitives/voice-dictation-button.js +4 -4
- package/dist/primitives/voice-session-controls.cjs +4 -4
- package/dist/primitives/voice-session-controls.js +3 -3
- package/dist/primitives/workflow-assistant.cjs +5 -5
- package/dist/primitives/workflow-assistant.js +3 -3
- package/package.json +322 -1
- package/src/styles/components/poster.css +1449 -0
- package/src/styles/components.css +1 -0
- package/src/styles/utilities.css +2 -2
- package/dist/{chunk-5OF6D3GH.js → chunk-4TJBXXUE.js} +3 -3
- package/dist/{chunk-DILYV4FI.js → chunk-7ZRFXJVN.js} +3 -3
- package/dist/{chunk-YYFVG5A6.cjs → chunk-D46FNEZ5.cjs} +2 -2
- package/dist/{chunk-NKWHDI4C.cjs → chunk-FB3VY2PL.cjs} +2 -2
- package/dist/{chunk-MW67PHAQ.cjs → chunk-GUVQAWUW.cjs} +9 -9
- package/dist/{chunk-WHDHUYS6.js → chunk-HBRVOGLA.js} +3 -3
- package/dist/{chunk-FARCLWLU.cjs → chunk-HHF5DEKM.cjs} +3 -3
- package/dist/{chunk-TWCJMFST.js → chunk-O42YC6ZQ.js} +3 -3
- package/dist/{chunk-ZJFYOXSM.cjs → chunk-SRVRNHCX.cjs} +2 -2
- package/dist/{chunk-UFFHGKI7.js → chunk-SW4T3O7M.js} +9 -9
- package/dist/{chunk-62UTAG2C.js → chunk-ULZB4A2I.js} +3 -3
- package/dist/{chunk-ZLEM2SAU.cjs → chunk-Z3JJSNR5.cjs} +2 -2
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type Step = {
|
|
5
|
+
title: ReactNode;
|
|
6
|
+
description?: ReactNode;
|
|
7
|
+
/** Rendered icon element (server-safe). Used by the "cards" variant. */
|
|
8
|
+
icon?: ReactNode;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Steps — a "how it works" section.
|
|
12
|
+
*
|
|
13
|
+
* - "numbered" → big mono number + title + copy, centered columns (default)
|
|
14
|
+
* - "cards" → bordered cards with an icon + title + copy
|
|
15
|
+
* - "list" → editorial rule-separated rows (index · title · copy), with a
|
|
16
|
+
* left-aligned header and an optional right-aligned `caption`
|
|
17
|
+
*
|
|
18
|
+
* For the tabbed two-column "how it works" layout, use HowItWorksTabs.
|
|
19
|
+
*/
|
|
20
|
+
interface StepsProps {
|
|
21
|
+
eyebrow?: ReactNode;
|
|
22
|
+
title?: ReactNode;
|
|
23
|
+
description?: ReactNode;
|
|
24
|
+
/** Right-aligned header note (the "list" variant), e.g. "SPEC → QUEUE → DECISION". */
|
|
25
|
+
caption?: ReactNode;
|
|
26
|
+
items: Step[];
|
|
27
|
+
variant?: "numbered" | "cards" | "list";
|
|
28
|
+
tone?: "default" | "muted" | "inverted";
|
|
29
|
+
className?: string;
|
|
30
|
+
id?: string;
|
|
31
|
+
marginTop?: "none" | "md";
|
|
32
|
+
}
|
|
33
|
+
declare function Steps({ eyebrow, title, description, caption, items, variant, tone, className, id, marginTop, }: StepsProps): react_jsx_runtime.JSX.Element;
|
|
34
|
+
|
|
35
|
+
export { type Step, Steps, type StepsProps };
|
|
@@ -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
|
|
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
|
|
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
|
-
|
|
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,
|
|
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,
|
|
110
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
111
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
112
|
-
palette.description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
150
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
151
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
152
|
-
modeDescription ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
171
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
172
|
-
paletteDescription ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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-
|
|
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
|
|
6
|
-
require('../chunk-
|
|
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 =
|
|
13
|
+
exports.VoiceDictationButton = _chunkKOR2QR7Icjs.VoiceDictationButton;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
import {
|
|
4
4
|
VoiceDictationButton
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
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
|
|
7
|
-
require('../chunk-
|
|
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 =
|
|
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-
|
|
7
|
-
import "../chunk-
|
|
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
|
|
7
|
-
require('../chunk-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
7
|
-
import "../chunk-
|
|
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";
|