@epicbagel/saas-kit 1.33.0 → 1.35.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 (119) hide show
  1. package/README.md +131 -0
  2. package/dist/chunk-2BNEE3U6.cjs +36 -0
  3. package/dist/{chunk-KOR2QR7I.cjs → chunk-2YW5VA2V.cjs} +5 -5
  4. package/dist/chunk-5PHOKJCT.cjs +42 -0
  5. package/dist/chunk-BB7PO2BW.js +67 -0
  6. package/dist/{chunk-PTMZTP3V.cjs → chunk-BGCNGYPL.cjs} +2 -2
  7. package/dist/chunk-BOMVE7QO.cjs +47 -0
  8. package/dist/{chunk-FPOJ2NGG.js → chunk-C3VZMTVB.js} +1 -1
  9. package/dist/chunk-EXHF3QUY.js +36 -0
  10. package/dist/chunk-FYNHRHVY.cjs +47 -0
  11. package/dist/{chunk-AWCXVYPL.js → chunk-HTPPNW74.js} +1 -1
  12. package/dist/{chunk-REGA2L5S.js → chunk-HTUYUMAH.js} +3 -3
  13. package/dist/chunk-I3GBXIFL.cjs +67 -0
  14. package/dist/{chunk-SL6ECEN6.cjs → chunk-JMNDFISN.cjs} +3 -3
  15. package/dist/{chunk-TS4MC3B3.js → chunk-NNEV5RHQ.js} +6 -6
  16. package/dist/chunk-O3G3TVPU.js +27 -0
  17. package/dist/{chunk-IZF4WCK6.js → chunk-ROUWBWEQ.js} +5 -5
  18. package/dist/chunk-TDCVZKMX.cjs +27 -0
  19. package/dist/{chunk-E2UVQXBO.cjs → chunk-TP74SBRH.cjs} +6 -6
  20. package/dist/{chunk-F3D5HA2F.cjs → chunk-VUMLLKWY.cjs} +8 -8
  21. package/dist/chunk-W5L6LQI3.js +42 -0
  22. package/dist/chunk-WMTCL463.js +47 -0
  23. package/dist/chunk-WTVL2FK7.js +47 -0
  24. package/dist/primitives/accent-theme.cjs +4 -63
  25. package/dist/primitives/accent-theme.js +3 -62
  26. package/dist/primitives/activity-feed.cjs +4 -4
  27. package/dist/primitives/activity-feed.js +5 -5
  28. package/dist/primitives/agent-audio-visualizer-bar.cjs +3 -3
  29. package/dist/primitives/agent-audio-visualizer-bar.js +2 -2
  30. package/dist/primitives/alert.d.cts +1 -1
  31. package/dist/primitives/alert.d.ts +1 -1
  32. package/dist/primitives/anchor.cjs +3 -30
  33. package/dist/primitives/anchor.js +3 -30
  34. package/dist/primitives/app-layout.cjs +5 -5
  35. package/dist/primitives/app-layout.js +2 -2
  36. package/dist/primitives/app-sidebar.cjs +3 -3
  37. package/dist/primitives/app-sidebar.js +2 -2
  38. package/dist/primitives/archive-confirmation-dialog.cjs +2 -2
  39. package/dist/primitives/archive-confirmation-dialog.js +3 -3
  40. package/dist/primitives/badge.d.cts +1 -1
  41. package/dist/primitives/badge.d.ts +1 -1
  42. package/dist/primitives/board-view-internals.cjs +3 -3
  43. package/dist/primitives/board-view-internals.js +2 -2
  44. package/dist/primitives/board-view.cjs +8 -8
  45. package/dist/primitives/board-view.js +7 -7
  46. package/dist/primitives/brand-mark.cjs +3 -21
  47. package/dist/primitives/brand-mark.js +3 -21
  48. package/dist/primitives/branded-page.cjs +201 -0
  49. package/dist/primitives/branded-page.d.cts +118 -0
  50. package/dist/primitives/branded-page.d.ts +118 -0
  51. package/dist/primitives/branded-page.js +201 -0
  52. package/dist/primitives/bubble.d.cts +1 -1
  53. package/dist/primitives/bubble.d.ts +1 -1
  54. package/dist/primitives/button.d.cts +2 -2
  55. package/dist/primitives/button.d.ts +2 -2
  56. package/dist/primitives/call-card.cjs +2 -2
  57. package/dist/primitives/call-card.js +3 -3
  58. package/dist/primitives/chat.cjs +22 -22
  59. package/dist/primitives/chat.js +16 -16
  60. package/dist/primitives/code-block.cjs +4 -4
  61. package/dist/primitives/code-block.js +3 -3
  62. package/dist/primitives/command.d.cts +1 -1
  63. package/dist/primitives/command.d.ts +1 -1
  64. package/dist/primitives/connection.cjs +5 -5
  65. package/dist/primitives/connection.js +7 -7
  66. package/dist/primitives/copy-button.cjs +3 -3
  67. package/dist/primitives/copy-button.js +2 -2
  68. package/dist/primitives/cover-banner.cjs +41 -0
  69. package/dist/primitives/cover-banner.d.cts +67 -0
  70. package/dist/primitives/cover-banner.d.ts +67 -0
  71. package/dist/primitives/cover-banner.js +41 -0
  72. package/dist/primitives/document-preview.cjs +5 -5
  73. package/dist/primitives/document-preview.js +3 -3
  74. package/dist/primitives/file-preview-internals.cjs +4 -4
  75. package/dist/primitives/file-preview-internals.js +3 -3
  76. package/dist/primitives/file-preview.cjs +16 -16
  77. package/dist/primitives/file-preview.js +6 -6
  78. package/dist/primitives/filter-bar.cjs +4 -4
  79. package/dist/primitives/filter-bar.js +3 -3
  80. package/dist/primitives/fixed-action-bar.cjs +4 -41
  81. package/dist/primitives/fixed-action-bar.js +4 -41
  82. package/dist/primitives/marketing-header.cjs +3 -36
  83. package/dist/primitives/marketing-header.js +3 -36
  84. package/dist/primitives/notes.cjs +7 -7
  85. package/dist/primitives/notes.js +7 -7
  86. package/dist/primitives/page-shell.cjs +3 -41
  87. package/dist/primitives/page-shell.js +3 -41
  88. package/dist/primitives/resource-list.cjs +8 -8
  89. package/dist/primitives/resource-list.js +7 -7
  90. package/dist/primitives/responsive-dialog.cjs +3 -3
  91. package/dist/primitives/responsive-dialog.js +2 -2
  92. package/dist/primitives/section.cjs +2 -2
  93. package/dist/primitives/section.js +3 -3
  94. package/dist/primitives/switch-field.cjs +3 -3
  95. package/dist/primitives/switch-field.js +3 -3
  96. package/dist/primitives/theme-selector.cjs +3 -3
  97. package/dist/primitives/theme-selector.js +4 -4
  98. package/dist/primitives/voice-dictation-button.cjs +5 -5
  99. package/dist/primitives/voice-dictation-button.js +4 -4
  100. package/dist/primitives/voice-session-controls.cjs +4 -4
  101. package/dist/primitives/voice-session-controls.js +3 -3
  102. package/dist/primitives/workflow-assistant.cjs +5 -5
  103. package/dist/primitives/workflow-assistant.js +3 -3
  104. package/package.json +21 -1
  105. package/src/styles/components/cover-banner.css +201 -0
  106. package/src/styles/components.css +1 -0
  107. package/src/styles/utilities.css +5 -3
  108. package/dist/{chunk-2FVFPGP5.js → chunk-5GFMSK27.js} +3 -3
  109. package/dist/{chunk-4TJBXXUE.js → chunk-5OF6D3GH.js} +3 -3
  110. package/dist/{chunk-ULZB4A2I.js → chunk-62UTAG2C.js} +3 -3
  111. package/dist/{chunk-SW4T3O7M.js → chunk-6LB37JWO.js} +6 -6
  112. package/dist/{chunk-AO56ET4F.cjs → chunk-BTHYGHOH.cjs} +2 -2
  113. package/dist/{chunk-7ZRFXJVN.js → chunk-DILYV4FI.js} +3 -3
  114. package/dist/{chunk-HHF5DEKM.cjs → chunk-FARCLWLU.cjs} +3 -3
  115. package/dist/{chunk-CRZ4INEJ.js → chunk-JTI4244T.js} +10 -10
  116. package/dist/{chunk-FB3VY2PL.cjs → chunk-NKWHDI4C.cjs} +2 -2
  117. package/dist/{chunk-GUVQAWUW.cjs → chunk-S2IMM37Q.cjs} +5 -5
  118. package/dist/{chunk-G3SF4RRA.cjs → chunk-UKYUWSF2.cjs} +3 -3
  119. package/dist/{chunk-D46FNEZ5.cjs → chunk-YYFVG5A6.cjs} +2 -2
@@ -7,20 +7,17 @@ import {
7
7
  } from "./chunk-EEHIMPD7.js";
8
8
  import {
9
9
  FilterBar
10
- } from "./chunk-SW4T3O7M.js";
10
+ } from "./chunk-6LB37JWO.js";
11
11
  import {
12
12
  Heading
13
13
  } from "./chunk-H2O6NMLZ.js";
14
14
  import {
15
15
  BoardColumnComponent,
16
16
  MobileBoardView
17
- } from "./chunk-ULZB4A2I.js";
17
+ } from "./chunk-62UTAG2C.js";
18
18
  import {
19
19
  ScrollArea
20
20
  } from "./chunk-LELFPLTE.js";
21
- import {
22
- useIsMobile
23
- } from "./chunk-PIU5SSUV.js";
24
21
  import {
25
22
  Tooltip,
26
23
  TooltipContent,
@@ -36,6 +33,9 @@ import {
36
33
  import {
37
34
  cn
38
35
  } from "./chunk-G6SRSWXB.js";
36
+ import {
37
+ useIsMobile
38
+ } from "./chunk-PIU5SSUV.js";
39
39
 
40
40
  // src/primitives/resource-list.tsx
41
41
  import { ChevronLeft, ChevronRight, Grid3X3, Kanban, List, Search, X } from "lucide-react";
@@ -0,0 +1,27 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('./chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/brand-mark.tsx
7
+ var _react = require('react');
8
+ var _jsxruntime = require('react/jsx-runtime');
9
+ var sizeStyles = {
10
+ sm: "h-6 max-w-36",
11
+ md: "h-7 max-w-44",
12
+ lg: "h-9 max-w-52"
13
+ };
14
+ var BrandMark = _react.forwardRef.call(void 0, function BrandMark2({ size = "md", className, ...props }, ref) {
15
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16
+ "img",
17
+ {
18
+ ref,
19
+ className: _chunkKWLSBTB2cjs.cn.call(void 0, "w-auto object-contain", sizeStyles[size], className),
20
+ ...props
21
+ }
22
+ );
23
+ });
24
+
25
+
26
+
27
+ exports.BrandMark = BrandMark;
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- var _chunkAO56ET4Fcjs = require('./chunk-AO56ET4F.cjs');
9
+ var _chunkBTHYGHOHcjs = require('./chunk-BTHYGHOH.cjs');
10
10
 
11
11
 
12
12
  var _chunkT2ZFSPE4cjs = require('./chunk-T2ZFSPE4.cjs');
@@ -29,10 +29,10 @@ function PreviewDialog({
29
29
  downloadLabel,
30
30
  children
31
31
  }) {
32
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAO56ET4Fcjs.ResponsiveDialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAO56ET4Fcjs.ResponsiveDialogContent, { presentation: "preview", className: "h-[92dvh] outline-none", children: [
33
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAO56ET4Fcjs.ResponsiveDialogHeader, { className: "shrink-0 border-b border-border", children: [
32
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTHYGHOHcjs.ResponsiveDialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBTHYGHOHcjs.ResponsiveDialogContent, { presentation: "preview", className: "h-[92dvh] outline-none", children: [
33
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBTHYGHOHcjs.ResponsiveDialogHeader, { className: "shrink-0 border-b border-border", children: [
34
34
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
35
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAO56ET4Fcjs.ResponsiveDialogTitle, { className: "min-w-0 flex-1 truncate text-left", children: title }),
35
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTHYGHOHcjs.ResponsiveDialogTitle, { className: "min-w-0 flex-1 truncate text-left", children: title }),
36
36
  onDownload && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37
37
  _chunkJDEXZGIYcjs.Button,
38
38
  {
@@ -46,7 +46,7 @@ function PreviewDialog({
46
46
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkT2ZFSPE4cjs.Icon, { icon: downloading ? _lucidereact.Loader2 : _lucidereact.Download, size: "sm", spin: downloading })
47
47
  }
48
48
  ),
49
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAO56ET4Fcjs.ResponsiveDialogClose, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTHYGHOHcjs.ResponsiveDialogClose, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
50
50
  _chunkJDEXZGIYcjs.Button,
51
51
  {
52
52
  type: "button",
@@ -58,7 +58,7 @@ function PreviewDialog({
58
58
  }
59
59
  ) })
60
60
  ] }),
61
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAO56ET4Fcjs.ResponsiveDialogDescription, { className: "sr-only", children: [
61
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBTHYGHOHcjs.ResponsiveDialogDescription, { className: "sr-only", children: [
62
62
  "Preview of ",
63
63
  title
64
64
  ] })
@@ -7,22 +7,19 @@ var _chunkEUFV25KLcjs = require('./chunk-EUFV25KL.cjs');
7
7
  var _chunk7YCKII7Gcjs = require('./chunk-7YCKII7G.cjs');
8
8
 
9
9
 
10
- var _chunkGUVQAWUWcjs = require('./chunk-GUVQAWUW.cjs');
10
+ var _chunkS2IMM37Qcjs = require('./chunk-S2IMM37Q.cjs');
11
11
 
12
12
 
13
13
  var _chunkLELBCBDTcjs = require('./chunk-LELBCBDT.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkD46FNEZ5cjs = require('./chunk-D46FNEZ5.cjs');
17
+ var _chunkYYFVG5A6cjs = require('./chunk-YYFVG5A6.cjs');
18
18
 
19
19
 
20
20
  var _chunkXLIAY56Vcjs = require('./chunk-XLIAY56V.cjs');
21
21
 
22
22
 
23
- var _chunkR35FT53Gcjs = require('./chunk-R35FT53G.cjs');
24
-
25
-
26
23
 
27
24
 
28
25
 
@@ -37,6 +34,9 @@ var _chunkJDEXZGIYcjs = require('./chunk-JDEXZGIY.cjs');
37
34
 
38
35
  var _chunkKWLSBTB2cjs = require('./chunk-KWLSBTB2.cjs');
39
36
 
37
+
38
+ var _chunkR35FT53Gcjs = require('./chunk-R35FT53G.cjs');
39
+
40
40
  // src/primitives/resource-list.tsx
41
41
  var _lucidereact = require('lucide-react');
42
42
  var _react = require('react');
@@ -209,7 +209,7 @@ function ResourceList({
209
209
  if (boardActive && boardConfig) {
210
210
  if (isMobile) {
211
211
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
212
- _chunkD46FNEZ5cjs.MobileBoardView,
212
+ _chunkYYFVG5A6cjs.MobileBoardView,
213
213
  {
214
214
  columns: boardConfig.columns,
215
215
  grouped,
@@ -235,7 +235,7 @@ function ResourceList({
235
235
  minHeight: boardConfig.viewport === "bounded" ? void 0 : _nullishCoalesce(boardConfig.columnMinHeight, () => ( "400px"))
236
236
  },
237
237
  children: boardConfig.columns.map((col) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
238
- _chunkD46FNEZ5cjs.BoardColumnComponent,
238
+ _chunkYYFVG5A6cjs.BoardColumnComponent,
239
239
  {
240
240
  column: col,
241
241
  items: grouped[col.id] || [],
@@ -268,7 +268,7 @@ function ResourceList({
268
268
  const controlsVisible = !(hideControlsWhenEmpty && !loading && !error && _optionalChain([data, 'optionalAccess', _5 => _5.length]) === 0);
269
269
  const filterOnQuickRow = filterBarVisible && !toolbarHasOtherControls && hasQuickFilters;
270
270
  const filterBarNode = filterBarVisible ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
271
- _chunkGUVQAWUWcjs.FilterBar,
271
+ _chunkS2IMM37Qcjs.FilterBar,
272
272
  {
273
273
  filters: filterSchema,
274
274
  onFiltersChange,
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "./chunk-G6SRSWXB.js";
5
+
6
+ // src/primitives/marketing-header.tsx
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function MarketingHeader({
9
+ brand,
10
+ links = [],
11
+ trailing,
12
+ renderLink,
13
+ variant = "default",
14
+ className
15
+ }) {
16
+ const link = (l) => {
17
+ const cls = variant === "mono" ? "font-mono text-xs uppercase tracking-[0.18em] text-muted-foreground transition-colors hover:text-foreground" : "text-sm text-muted-foreground transition-colors hover:text-foreground";
18
+ if (renderLink)
19
+ return /* @__PURE__ */ jsx("span", { children: renderLink({ href: l.href, children: l.label, className: cls }) }, l.href);
20
+ return /* @__PURE__ */ jsx("a", { href: l.href, className: cls, children: l.label }, l.href);
21
+ };
22
+ return /* @__PURE__ */ jsx(
23
+ "header",
24
+ {
25
+ className: cn(
26
+ "sticky top-0 z-50 border-b border-border bg-background/80 backdrop-blur-sm supports-[backdrop-filter]:bg-background/70",
27
+ className
28
+ ),
29
+ children: /* @__PURE__ */ jsxs("div", { className: "mx-auto flex w-full max-w-5xl items-center justify-between px-4 py-4 md:px-6", children: [
30
+ /* @__PURE__ */ jsx("div", { className: "flex items-center", children: brand }),
31
+ /* @__PURE__ */ jsxs("nav", { className: "flex items-center gap-3 md:gap-5", children: [
32
+ links.length > 0 && /* @__PURE__ */ jsx("div", { className: "hidden items-center gap-5 sm:flex", children: links.map(link) }),
33
+ trailing && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 md:gap-3", children: trailing })
34
+ ] })
35
+ ] })
36
+ }
37
+ );
38
+ }
39
+
40
+ export {
41
+ MarketingHeader
42
+ };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import {
3
+ Text
4
+ } from "./chunk-EIY5LLSP.js";
5
+ import {
6
+ cn
7
+ } from "./chunk-G6SRSWXB.js";
8
+
9
+ // src/primitives/fixed-action-bar.tsx
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ var widthStyles = {
12
+ compact: "max-w-2xl",
13
+ narrow: "max-w-3xl",
14
+ wide: "max-w-5xl",
15
+ full: "max-w-none"
16
+ };
17
+ function FixedActionBar({
18
+ title,
19
+ description,
20
+ children,
21
+ width = "narrow",
22
+ actionsWidth = "auto",
23
+ className
24
+ }) {
25
+ return /* @__PURE__ */ jsx(
26
+ "aside",
27
+ {
28
+ "aria-label": "Page action",
29
+ className: cn(
30
+ "fixed inset-x-0 bottom-0 z-40 border-t border-border bg-background/95 backdrop-blur-sm",
31
+ "pb-[env(safe-area-inset-bottom)] supports-backdrop-filter:bg-background/80",
32
+ className
33
+ ),
34
+ children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto flex items-center gap-4 px-4 py-3 md:px-6", title ? "justify-between" : "justify-end", widthStyles[width]), children: [
35
+ title && /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
36
+ /* @__PURE__ */ jsx(Text, { className: "truncate font-medium", children: title }),
37
+ description && /* @__PURE__ */ jsx(Text, { variant: "muted", className: "text-sm", children: description })
38
+ ] }),
39
+ /* @__PURE__ */ jsx("div", { className: cn("shrink-0", actionsWidth === "full" && "w-full"), children })
40
+ ] })
41
+ }
42
+ );
43
+ }
44
+
45
+ export {
46
+ FixedActionBar
47
+ };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "./chunk-G6SRSWXB.js";
5
+
6
+ // src/primitives/page-shell.tsx
7
+ import { forwardRef } from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var widthStyles = {
10
+ narrow: "max-w-3xl",
11
+ wide: "max-w-5xl",
12
+ full: "max-w-none"
13
+ };
14
+ var paddingStyles = {
15
+ none: "",
16
+ base: "px-4 md:px-6",
17
+ relaxed: "px-6 md:px-10",
18
+ spacious: "px-6 md:px-10 xl:px-16"
19
+ };
20
+ var PageShell = forwardRef(
21
+ function PageShell2({ width = "full", padding = "base", spacing = "default", bottomInset = "default", minHeight = "none", align = "start", printMode = "default", mobileTreatment = "page", as = "main", className, ...props }, ref) {
22
+ const Tag = as;
23
+ return /* @__PURE__ */ jsx(
24
+ Tag,
25
+ {
26
+ ref,
27
+ className: cn(
28
+ "mx-auto w-full pt-6 md:pt-8 mb-28",
29
+ spacing === "default" ? "space-y-6" : "space-y-4",
30
+ widthStyles[width],
31
+ paddingStyles[padding],
32
+ bottomInset === "action" && "pb-32",
33
+ minHeight === "content" && "min-h-[70vh]",
34
+ align === "center" && "flex items-center",
35
+ printMode === "compact" && "print:my-0 print:pt-0",
36
+ mobileTreatment === "application" && "mb-0 flex min-h-[calc(100svh-4rem)] flex-1 flex-col space-y-0 px-0 pt-0 md:mb-28 md:block md:min-h-0 md:pt-8",
37
+ className
38
+ ),
39
+ ...props
40
+ }
41
+ );
42
+ }
43
+ );
44
+
45
+ export {
46
+ PageShell
47
+ };
@@ -1,66 +1,7 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- // src/primitives/accent-theme.tsx
4
- var _react = require('react');
5
- var _jsxruntime = require('react/jsx-runtime');
6
- var PALETTE_ID = /^[A-Za-z0-9_-]+$/;
7
- function hexToHslTriplet(hex) {
8
- const match = /^#([0-9a-f]{6})$/i.exec(hex.trim());
9
- if (!match) return null;
10
- const value = Number.parseInt(match[1], 16);
11
- const red = (value >> 16 & 255) / 255;
12
- const green = (value >> 8 & 255) / 255;
13
- const blue = (value & 255) / 255;
14
- const maximum = Math.max(red, green, blue);
15
- const minimum = Math.min(red, green, blue);
16
- const lightness = (maximum + minimum) / 2;
17
- let hue = 0;
18
- let saturation = 0;
19
- if (maximum !== minimum) {
20
- const delta = maximum - minimum;
21
- saturation = lightness > 0.5 ? delta / (2 - maximum - minimum) : delta / (maximum + minimum);
22
- if (maximum === red) hue = ((green - blue) / delta + (green < blue ? 6 : 0)) / 6;
23
- else if (maximum === green) hue = ((blue - red) / delta + 2) / 6;
24
- else hue = ((red - green) / delta + 4) / 6;
25
- }
26
- const round = (number) => Math.round(number * 10) / 10;
27
- return `${round(hue * 360)} ${round(saturation * 100)}% ${round(lightness * 100)}%`;
28
- }
29
- function foregroundFor(hex) {
30
- const match = /^#([0-9a-f]{6})$/i.exec(hex.trim());
31
- if (!match) return "0 0% 100%";
32
- const value = Number.parseInt(match[1], 16);
33
- const channel = (number) => {
34
- const normalized = number / 255;
35
- return normalized <= 0.03928 ? normalized / 12.92 : ((normalized + 0.055) / 1.055) ** 2.4;
36
- };
37
- const luminance = 0.2126 * channel(value >> 16 & 255) + 0.7152 * channel(value >> 8 & 255) + 0.0722 * channel(value & 255);
38
- return luminance > 0.45 ? "0 0% 9%" : "0 0% 100%";
39
- }
40
- function AccentTheme({ colours, palette, scope: target = "region", children }) {
41
- const scope = `accent-${_react.useId.call(void 0, ).replace(/[^a-zA-Z0-9]/g, "")}`;
42
- const light = _optionalChain([colours, 'optionalAccess', _ => _.light]) ? hexToHslTriplet(colours.light) : null;
43
- const dark = _optionalChain([colours, 'optionalAccess', _2 => _2.dark]) ? hexToHslTriplet(colours.dark) : null;
44
- if (!light && !dark) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children });
45
- const root = palette === void 0 ? null : PALETTE_ID.test(palette) ? `:root[data-theme="${palette}"]` : ":root:not(*)";
46
- const lightSelector = target === "document" ? _nullishCoalesce(root, () => ( ":root")) : root ? `${root} .${scope}` : `.${scope}`;
47
- const darkSelector = `${_nullishCoalesce(root, () => ( ":root"))}.dark${target === "document" ? "" : ` .${scope}`}`;
48
- const rules = [];
49
- if (light && _optionalChain([colours, 'optionalAccess', _3 => _3.light])) {
50
- rules.push(
51
- `${lightSelector}{--primary:${light};--primary-foreground:${foregroundFor(colours.light)};--ring:${light};--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-ring:hsl(var(--ring));}`
52
- );
53
- }
54
- if (dark && _optionalChain([colours, 'optionalAccess', _4 => _4.dark])) {
55
- rules.push(
56
- `${darkSelector}{--primary:${dark};--primary-foreground:${foregroundFor(colours.dark)};--ring:${dark};--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-ring:hsl(var(--ring));}`
57
- );
58
- }
59
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
60
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { dangerouslySetInnerHTML: { __html: rules.join("") } }),
61
- target === "document" ? children : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: scope, children })
62
- ] });
63
- }
64
3
 
4
+ var _chunkI3GBXIFLcjs = require('../chunk-I3GBXIFL.cjs');
65
5
 
66
- exports.AccentTheme = AccentTheme;
6
+
7
+ exports.AccentTheme = _chunkI3GBXIFLcjs.AccentTheme;
@@ -1,66 +1,7 @@
1
1
  "use client";
2
-
3
- // src/primitives/accent-theme.tsx
4
- import { useId } from "react";
5
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
- var PALETTE_ID = /^[A-Za-z0-9_-]+$/;
7
- function hexToHslTriplet(hex) {
8
- const match = /^#([0-9a-f]{6})$/i.exec(hex.trim());
9
- if (!match) return null;
10
- const value = Number.parseInt(match[1], 16);
11
- const red = (value >> 16 & 255) / 255;
12
- const green = (value >> 8 & 255) / 255;
13
- const blue = (value & 255) / 255;
14
- const maximum = Math.max(red, green, blue);
15
- const minimum = Math.min(red, green, blue);
16
- const lightness = (maximum + minimum) / 2;
17
- let hue = 0;
18
- let saturation = 0;
19
- if (maximum !== minimum) {
20
- const delta = maximum - minimum;
21
- saturation = lightness > 0.5 ? delta / (2 - maximum - minimum) : delta / (maximum + minimum);
22
- if (maximum === red) hue = ((green - blue) / delta + (green < blue ? 6 : 0)) / 6;
23
- else if (maximum === green) hue = ((blue - red) / delta + 2) / 6;
24
- else hue = ((red - green) / delta + 4) / 6;
25
- }
26
- const round = (number) => Math.round(number * 10) / 10;
27
- return `${round(hue * 360)} ${round(saturation * 100)}% ${round(lightness * 100)}%`;
28
- }
29
- function foregroundFor(hex) {
30
- const match = /^#([0-9a-f]{6})$/i.exec(hex.trim());
31
- if (!match) return "0 0% 100%";
32
- const value = Number.parseInt(match[1], 16);
33
- const channel = (number) => {
34
- const normalized = number / 255;
35
- return normalized <= 0.03928 ? normalized / 12.92 : ((normalized + 0.055) / 1.055) ** 2.4;
36
- };
37
- const luminance = 0.2126 * channel(value >> 16 & 255) + 0.7152 * channel(value >> 8 & 255) + 0.0722 * channel(value & 255);
38
- return luminance > 0.45 ? "0 0% 9%" : "0 0% 100%";
39
- }
40
- function AccentTheme({ colours, palette, scope: target = "region", children }) {
41
- const scope = `accent-${useId().replace(/[^a-zA-Z0-9]/g, "")}`;
42
- const light = colours?.light ? hexToHslTriplet(colours.light) : null;
43
- const dark = colours?.dark ? hexToHslTriplet(colours.dark) : null;
44
- if (!light && !dark) return /* @__PURE__ */ jsx(Fragment, { children });
45
- const root = palette === void 0 ? null : PALETTE_ID.test(palette) ? `:root[data-theme="${palette}"]` : ":root:not(*)";
46
- const lightSelector = target === "document" ? root ?? ":root" : root ? `${root} .${scope}` : `.${scope}`;
47
- const darkSelector = `${root ?? ":root"}.dark${target === "document" ? "" : ` .${scope}`}`;
48
- const rules = [];
49
- if (light && colours?.light) {
50
- rules.push(
51
- `${lightSelector}{--primary:${light};--primary-foreground:${foregroundFor(colours.light)};--ring:${light};--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-ring:hsl(var(--ring));}`
52
- );
53
- }
54
- if (dark && colours?.dark) {
55
- rules.push(
56
- `${darkSelector}{--primary:${dark};--primary-foreground:${foregroundFor(colours.dark)};--ring:${dark};--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-ring:hsl(var(--ring));}`
57
- );
58
- }
59
- return /* @__PURE__ */ jsxs(Fragment, { children: [
60
- /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: rules.join("") } }),
61
- target === "document" ? children : /* @__PURE__ */ jsx("div", { className: scope, children })
62
- ] });
63
- }
2
+ import {
3
+ AccentTheme
4
+ } from "../chunk-BB7PO2BW.js";
64
5
  export {
65
6
  AccentTheme
66
7
  };
@@ -4,20 +4,20 @@
4
4
  var _chunkPPYHNJMVcjs = require('../chunk-PPYHNJMV.cjs');
5
5
 
6
6
 
7
- var _chunkPQUSJEXLcjs = require('../chunk-PQUSJEXL.cjs');
8
7
 
9
8
 
9
+ var _chunkWABCLRBRcjs = require('../chunk-WABCLRBR.cjs');
10
10
 
11
11
 
12
- var _chunkWABCLRBRcjs = require('../chunk-WABCLRBR.cjs');
12
+ var _chunkPQUSJEXLcjs = require('../chunk-PQUSJEXL.cjs');
13
+ require('../chunk-VGTINL5Q.cjs');
14
+ require('../chunk-I6GUOEBO.cjs');
13
15
 
14
16
 
15
17
  var _chunkCLYAASFNcjs = require('../chunk-CLYAASFN.cjs');
16
18
 
17
19
 
18
20
  var _chunkVBPPFC7Xcjs = require('../chunk-VBPPFC7X.cjs');
19
- require('../chunk-VGTINL5Q.cjs');
20
- require('../chunk-I6GUOEBO.cjs');
21
21
  require('../chunk-JDEXZGIY.cjs');
22
22
 
23
23
 
@@ -2,22 +2,22 @@
2
2
  import {
3
3
  ChipTabs
4
4
  } from "../chunk-MP64UGRF.js";
5
- import {
6
- Input
7
- } from "../chunk-QMA3WVB7.js";
8
5
  import {
9
6
  Avatar,
10
7
  AvatarFallback,
11
8
  AvatarImage
12
9
  } from "../chunk-3OWGL4Q2.js";
10
+ import {
11
+ Input
12
+ } from "../chunk-QMA3WVB7.js";
13
+ import "../chunk-H7TETFLB.js";
14
+ import "../chunk-D4ZL2OEQ.js";
13
15
  import {
14
16
  EmptyState
15
17
  } from "../chunk-ET4THLFX.js";
16
18
  import {
17
19
  Skeleton
18
20
  } from "../chunk-YEW65ASC.js";
19
- import "../chunk-H7TETFLB.js";
20
- import "../chunk-D4ZL2OEQ.js";
21
21
  import "../chunk-W326GKML.js";
22
22
  import {
23
23
  cn
@@ -5,12 +5,12 @@
5
5
 
6
6
 
7
7
 
8
- var _chunkFB3VY2PLcjs = require('../chunk-FB3VY2PL.cjs');
9
- require('../chunk-2BSFYU22.cjs');
8
+ var _chunkNKWHDI4Ccjs = require('../chunk-NKWHDI4C.cjs');
10
9
  require('../chunk-KWLSBTB2.cjs');
10
+ require('../chunk-2BSFYU22.cjs');
11
11
 
12
12
 
13
13
 
14
14
 
15
15
 
16
- exports.AgentAudioVisualizerBar = _chunkFB3VY2PLcjs.AgentAudioVisualizerBar; exports.AgentAudioVisualizerBarElementVariants = _chunkFB3VY2PLcjs.AgentAudioVisualizerBarElementVariants; exports.AgentAudioVisualizerBarVariants = _chunkFB3VY2PLcjs.AgentAudioVisualizerBarVariants; exports.normalizeVolumeBands = _chunkFB3VY2PLcjs.normalizeVolumeBands;
16
+ exports.AgentAudioVisualizerBar = _chunkNKWHDI4Ccjs.AgentAudioVisualizerBar; exports.AgentAudioVisualizerBarElementVariants = _chunkNKWHDI4Ccjs.AgentAudioVisualizerBarElementVariants; exports.AgentAudioVisualizerBarVariants = _chunkNKWHDI4Ccjs.AgentAudioVisualizerBarVariants; exports.normalizeVolumeBands = _chunkNKWHDI4Ccjs.normalizeVolumeBands;
@@ -5,9 +5,9 @@ import {
5
5
  AgentAudioVisualizerBarElementVariants,
6
6
  AgentAudioVisualizerBarVariants,
7
7
  normalizeVolumeBands
8
- } from "../chunk-4TJBXXUE.js";
9
- import "../chunk-GJ7S3L6R.js";
8
+ } from "../chunk-5OF6D3GH.js";
10
9
  import "../chunk-G6SRSWXB.js";
10
+ import "../chunk-GJ7S3L6R.js";
11
11
  export {
12
12
  AgentAudioVisualizerBar,
13
13
  AgentAudioVisualizerBarElementVariants,
@@ -4,7 +4,7 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const alertVariants: (props?: ({
7
- variant?: "success" | "default" | "destructive" | "warning" | null | undefined;
7
+ variant?: "default" | "destructive" | "success" | "warning" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface AlertProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {
10
10
  marginBottom?: "none" | "md";
@@ -4,7 +4,7 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const alertVariants: (props?: ({
7
- variant?: "success" | "default" | "destructive" | "warning" | null | undefined;
7
+ variant?: "default" | "destructive" | "success" | "warning" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface AlertProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {
10
10
  marginBottom?: "none" | "md";
@@ -1,35 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
4
+ var _chunk2BNEE3U6cjs = require('../chunk-2BNEE3U6.cjs');
5
+ require('../chunk-KWLSBTB2.cjs');
5
6
 
6
- // src/primitives/anchor.tsx
7
- var _reactslot = require('@radix-ui/react-slot');
8
- var _react = require('react');
9
- var _jsxruntime = require('react/jsx-runtime');
10
- var Anchor = _react.forwardRef.call(void 0, function Anchor2({ variant = "unstyled", size = "inherit", display = "inline", underline = false, asChild = false, border = "none", weight = "normal", className, ...props }, ref) {
11
- const Component = asChild ? _reactslot.Slot : "a";
12
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13
- Component,
14
- {
15
- ref,
16
- className: _chunkKWLSBTB2cjs.cn.call(void 0,
17
- variant === "text" && "font-medium text-primary underline-offset-4 hover:underline",
18
- variant === "muted" && "text-muted-foreground underline underline-offset-2 hover:text-foreground",
19
- variant === "foreground" && "text-foreground underline-offset-2 hover:underline",
20
- size === "xs" && "text-xs",
21
- size === "sm" && "text-sm",
22
- display === "inline-flex" && "inline-flex items-center gap-1",
23
- display === "block" && "block",
24
- border === "bottom" && "border-b last:border-b-0",
25
- weight === "medium" && "font-medium",
26
- underline && "underline",
27
- className
28
- ),
29
- ...props
30
- }
31
- );
32
- });
33
7
 
34
-
35
- exports.Anchor = Anchor;
8
+ exports.Anchor = _chunk2BNEE3U6cjs.Anchor;
@@ -1,35 +1,8 @@
1
1
  "use client";
2
2
  import {
3
- cn
4
- } from "../chunk-G6SRSWXB.js";
5
-
6
- // src/primitives/anchor.tsx
7
- import { Slot } from "@radix-ui/react-slot";
8
- import { forwardRef } from "react";
9
- import { jsx } from "react/jsx-runtime";
10
- var Anchor = forwardRef(function Anchor2({ variant = "unstyled", size = "inherit", display = "inline", underline = false, asChild = false, border = "none", weight = "normal", className, ...props }, ref) {
11
- const Component = asChild ? Slot : "a";
12
- return /* @__PURE__ */ jsx(
13
- Component,
14
- {
15
- ref,
16
- className: cn(
17
- variant === "text" && "font-medium text-primary underline-offset-4 hover:underline",
18
- variant === "muted" && "text-muted-foreground underline underline-offset-2 hover:text-foreground",
19
- variant === "foreground" && "text-foreground underline-offset-2 hover:underline",
20
- size === "xs" && "text-xs",
21
- size === "sm" && "text-sm",
22
- display === "inline-flex" && "inline-flex items-center gap-1",
23
- display === "block" && "block",
24
- border === "bottom" && "border-b last:border-b-0",
25
- weight === "medium" && "font-medium",
26
- underline && "underline",
27
- className
28
- ),
29
- ...props
30
- }
31
- );
32
- });
3
+ Anchor
4
+ } from "../chunk-EXHF3QUY.js";
5
+ import "../chunk-G6SRSWXB.js";
33
6
  export {
34
7
  Anchor
35
8
  };