@shapesos/clay 0.18.0 → 0.19.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 (60) hide show
  1. package/dist/artifacts.cjs +151 -130
  2. package/dist/artifacts.cjs.map +1 -1
  3. package/dist/artifacts.js +3 -2
  4. package/dist/badge.cjs +70 -0
  5. package/dist/badge.cjs.map +1 -0
  6. package/dist/badge.d.cts +28 -0
  7. package/dist/badge.d.ts +28 -0
  8. package/dist/badge.js +9 -0
  9. package/dist/badge.js.map +1 -0
  10. package/dist/blocks.cjs +434 -176
  11. package/dist/blocks.cjs.map +1 -1
  12. package/dist/blocks.css +1 -1
  13. package/dist/blocks.d.cts +14 -3
  14. package/dist/blocks.d.ts +14 -3
  15. package/dist/blocks.js +17 -5
  16. package/dist/chat.cjs +439 -231
  17. package/dist/chat.cjs.map +1 -1
  18. package/dist/chat.d.cts +1 -1
  19. package/dist/chat.d.ts +1 -1
  20. package/dist/chat.js +10 -5
  21. package/dist/{chunk-JGMN6W72.js → chunk-2X4KUXYP.js} +1 -1
  22. package/dist/chunk-CSTCTO3B.js +161 -0
  23. package/dist/chunk-CSTCTO3B.js.map +1 -0
  24. package/dist/{chunk-QR4VBGK4.js → chunk-DC5KYT2G.js} +65 -198
  25. package/dist/chunk-DC5KYT2G.js.map +1 -0
  26. package/dist/chunk-EIAWZXE4.js +69 -0
  27. package/dist/chunk-EIAWZXE4.js.map +1 -0
  28. package/dist/chunk-EXRNGIQ2.js +41 -0
  29. package/dist/chunk-EXRNGIQ2.js.map +1 -0
  30. package/dist/{chunk-CATIRDZP.js → chunk-FCSYVF4Z.js} +10 -44
  31. package/dist/chunk-FCSYVF4Z.js.map +1 -0
  32. package/dist/{chunk-4MZZH3WX.js → chunk-HU5W7CGE.js} +37 -2
  33. package/dist/chunk-HU5W7CGE.js.map +1 -0
  34. package/dist/chunk-JMHE3Q5K.js +406 -0
  35. package/dist/chunk-JMHE3Q5K.js.map +1 -0
  36. package/dist/copy-button.cjs +439 -0
  37. package/dist/copy-button.cjs.map +1 -0
  38. package/dist/copy-button.d.cts +20 -0
  39. package/dist/copy-button.d.ts +20 -0
  40. package/dist/copy-button.js +12 -0
  41. package/dist/copy-button.js.map +1 -0
  42. package/dist/index.cjs +515 -289
  43. package/dist/index.cjs.map +1 -1
  44. package/dist/index.d.cts +4 -2
  45. package/dist/index.d.ts +4 -2
  46. package/dist/index.js +26 -9
  47. package/dist/table.cjs +40 -0
  48. package/dist/table.cjs.map +1 -1
  49. package/dist/table.d.cts +37 -2
  50. package/dist/table.d.ts +37 -2
  51. package/dist/table.js +11 -1
  52. package/dist/{types-BDYPVP2N.d.cts → types-Bhg0_ES8.d.cts} +74 -2
  53. package/dist/{types-BMwa4bPW.d.ts → types-orOQcI2z.d.ts} +74 -2
  54. package/package.json +11 -1
  55. package/dist/chunk-4MZZH3WX.js.map +0 -1
  56. package/dist/chunk-7MY4X4YL.js +0 -250
  57. package/dist/chunk-7MY4X4YL.js.map +0 -1
  58. package/dist/chunk-CATIRDZP.js.map +0 -1
  59. package/dist/chunk-QR4VBGK4.js.map +0 -1
  60. /package/dist/{chunk-JGMN6W72.js.map → chunk-2X4KUXYP.js.map} +0 -0
@@ -1,3 +1,16 @@
1
+ import {
2
+ IconAlertCircle,
3
+ IconArrowsMaximize,
4
+ IconArrowsMinimize,
5
+ IconCheck,
6
+ IconChevronLeft,
7
+ IconChevronRight,
8
+ IconCopy,
9
+ IconDownload,
10
+ IconFileSpreadsheet,
11
+ IconLoader2,
12
+ IconPhoto
13
+ } from "./chunk-CSTCTO3B.js";
1
14
  import {
2
15
  IconButton
3
16
  } from "./chunk-E36VI2HA.js";
@@ -13,14 +26,14 @@ import {
13
26
  fontFamilies
14
27
  } from "./chunk-UXT2H3FM.js";
15
28
  import {
16
- Table,
17
- TableBody,
29
+ DATA_TABLE_CELL_CLASS,
30
+ DATA_TABLE_HEAD_CLASS,
31
+ DATA_TABLE_ROW_CLASS,
32
+ DataTable,
18
33
  TableCell,
19
34
  TableHead,
20
- TableHeader,
21
- TableRow,
22
- useScrollShadow
23
- } from "./chunk-4MZZH3WX.js";
35
+ TableRow
36
+ } from "./chunk-HU5W7CGE.js";
24
37
  import {
25
38
  cn
26
39
  } from "./chunk-P6GUNIAE.js";
@@ -82,114 +95,6 @@ var DEFAULT_DECK_ARTIFACT_LABELS = {
82
95
  table: DEFAULT_TABLE_ARTIFACT_LABELS
83
96
  };
84
97
 
85
- // node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs
86
- import { forwardRef, createElement } from "react";
87
-
88
- // node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs
89
- var defaultAttributes = {
90
- outline: {
91
- xmlns: "http://www.w3.org/2000/svg",
92
- width: 24,
93
- height: 24,
94
- viewBox: "0 0 24 24",
95
- fill: "none",
96
- stroke: "currentColor",
97
- strokeWidth: 2,
98
- strokeLinecap: "round",
99
- strokeLinejoin: "round"
100
- },
101
- filled: {
102
- xmlns: "http://www.w3.org/2000/svg",
103
- width: 24,
104
- height: 24,
105
- viewBox: "0 0 24 24",
106
- fill: "currentColor",
107
- stroke: "none"
108
- }
109
- };
110
-
111
- // node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs
112
- var createReactComponent = (type, iconName, iconNamePascal, iconNode) => {
113
- const Component = forwardRef(
114
- ({ color = "currentColor", size = 24, stroke = 2, title, className, children, ...rest }, ref) => createElement(
115
- "svg",
116
- {
117
- ref,
118
- ...defaultAttributes[type],
119
- width: size,
120
- height: size,
121
- className: [`tabler-icon`, `tabler-icon-${iconName}`, className].join(" "),
122
- ...type === "filled" ? {
123
- fill: color
124
- } : {
125
- strokeWidth: stroke,
126
- stroke: color
127
- },
128
- ...rest
129
- },
130
- [
131
- title && createElement("title", { key: "svg-title" }, title),
132
- ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
133
- ...Array.isArray(children) ? children : [children]
134
- ]
135
- )
136
- );
137
- Component.displayName = `${iconNamePascal}`;
138
- return Component;
139
- };
140
-
141
- // node_modules/@tabler/icons-react/dist/esm/icons/IconAlertCircle.mjs
142
- var __iconNode = [["path", { "d": "M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0", "key": "svg-0" }], ["path", { "d": "M12 8v4", "key": "svg-1" }], ["path", { "d": "M12 16h.01", "key": "svg-2" }]];
143
- var IconAlertCircle = createReactComponent("outline", "alert-circle", "AlertCircle", __iconNode);
144
-
145
- // node_modules/@tabler/icons-react/dist/esm/icons/IconArrowsMaximize.mjs
146
- var __iconNode2 = [["path", { "d": "M16 4l4 0l0 4", "key": "svg-0" }], ["path", { "d": "M14 10l6 -6", "key": "svg-1" }], ["path", { "d": "M8 20l-4 0l0 -4", "key": "svg-2" }], ["path", { "d": "M4 20l6 -6", "key": "svg-3" }], ["path", { "d": "M16 20l4 0l0 -4", "key": "svg-4" }], ["path", { "d": "M14 14l6 6", "key": "svg-5" }], ["path", { "d": "M8 4l-4 0l0 4", "key": "svg-6" }], ["path", { "d": "M4 4l6 6", "key": "svg-7" }]];
147
- var IconArrowsMaximize = createReactComponent("outline", "arrows-maximize", "ArrowsMaximize", __iconNode2);
148
-
149
- // node_modules/@tabler/icons-react/dist/esm/icons/IconArrowsMinimize.mjs
150
- var __iconNode3 = [["path", { "d": "M5 9l4 0l0 -4", "key": "svg-0" }], ["path", { "d": "M3 3l6 6", "key": "svg-1" }], ["path", { "d": "M5 15l4 0l0 4", "key": "svg-2" }], ["path", { "d": "M3 21l6 -6", "key": "svg-3" }], ["path", { "d": "M19 9l-4 0l0 -4", "key": "svg-4" }], ["path", { "d": "M15 9l6 -6", "key": "svg-5" }], ["path", { "d": "M19 15l-4 0l0 4", "key": "svg-6" }], ["path", { "d": "M15 15l6 6", "key": "svg-7" }]];
151
- var IconArrowsMinimize = createReactComponent("outline", "arrows-minimize", "ArrowsMinimize", __iconNode3);
152
-
153
- // node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.mjs
154
- var __iconNode4 = [["path", { "d": "M5 12l5 5l10 -10", "key": "svg-0" }]];
155
- var IconCheck = createReactComponent("outline", "check", "Check", __iconNode4);
156
-
157
- // node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.mjs
158
- var __iconNode5 = [["path", { "d": "M15 6l-6 6l6 6", "key": "svg-0" }]];
159
- var IconChevronLeft = createReactComponent("outline", "chevron-left", "ChevronLeft", __iconNode5);
160
-
161
- // node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.mjs
162
- var __iconNode6 = [["path", { "d": "M9 6l6 6l-6 6", "key": "svg-0" }]];
163
- var IconChevronRight = createReactComponent("outline", "chevron-right", "ChevronRight", __iconNode6);
164
-
165
- // node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.mjs
166
- var __iconNode7 = [["path", { "d": "M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666", "key": "svg-0" }], ["path", { "d": "M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1", "key": "svg-1" }]];
167
- var IconCopy = createReactComponent("outline", "copy", "Copy", __iconNode7);
168
-
169
- // node_modules/@tabler/icons-react/dist/esm/icons/IconDownload.mjs
170
- var __iconNode8 = [["path", { "d": "M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2", "key": "svg-0" }], ["path", { "d": "M7 11l5 5l5 -5", "key": "svg-1" }], ["path", { "d": "M12 4l0 12", "key": "svg-2" }]];
171
- var IconDownload = createReactComponent("outline", "download", "Download", __iconNode8);
172
-
173
- // node_modules/@tabler/icons-react/dist/esm/icons/IconFileSpreadsheet.mjs
174
- var __iconNode9 = [["path", { "d": "M14 3v4a1 1 0 0 0 1 1h4", "key": "svg-0" }], ["path", { "d": "M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2", "key": "svg-1" }], ["path", { "d": "M8 11h8v7h-8l0 -7", "key": "svg-2" }], ["path", { "d": "M8 15h8", "key": "svg-3" }], ["path", { "d": "M11 11v7", "key": "svg-4" }]];
175
- var IconFileSpreadsheet = createReactComponent("outline", "file-spreadsheet", "FileSpreadsheet", __iconNode9);
176
-
177
- // node_modules/@tabler/icons-react/dist/esm/icons/IconLoader2.mjs
178
- var __iconNode10 = [["path", { "d": "M12 3a9 9 0 1 0 9 9", "key": "svg-0" }]];
179
- var IconLoader2 = createReactComponent("outline", "loader-2", "Loader2", __iconNode10);
180
-
181
- // node_modules/@tabler/icons-react/dist/esm/icons/IconPhoto.mjs
182
- var __iconNode11 = [["path", { "d": "M15 8h.01", "key": "svg-0" }], ["path", { "d": "M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12", "key": "svg-1" }], ["path", { "d": "M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5", "key": "svg-2" }], ["path", { "d": "M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3", "key": "svg-3" }]];
183
- var IconPhoto = createReactComponent("outline", "photo", "Photo", __iconNode11);
184
-
185
- // node_modules/@tabler/icons-react/dist/esm/icons/IconThumbDown.mjs
186
- var __iconNode12 = [["path", { "d": "M7 13v-8a1 1 0 0 0 -1 -1h-2a1 1 0 0 0 -1 1v7a1 1 0 0 0 1 1h3a4 4 0 0 1 4 4v1a2 2 0 0 0 4 0v-5h3a2 2 0 0 0 2 -2l-1 -5a2 3 0 0 0 -2 -2h-7a3 3 0 0 0 -3 3", "key": "svg-0" }]];
187
- var IconThumbDown = createReactComponent("outline", "thumb-down", "ThumbDown", __iconNode12);
188
-
189
- // node_modules/@tabler/icons-react/dist/esm/icons/IconThumbUp.mjs
190
- var __iconNode13 = [["path", { "d": "M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3", "key": "svg-0" }]];
191
- var IconThumbUp = createReactComponent("outline", "thumb-up", "ThumbUp", __iconNode13);
192
-
193
98
  // src/components/artifacts/artifact-copy-as-image-button/artifact-copy-as-image-button.tsx
194
99
  import { useCallback as useCallback2 } from "react";
195
100
 
@@ -465,9 +370,9 @@ function ArtifactDownloadMenu({
465
370
  import { useEffect as useEffect3, useMemo as useMemo2, useRef as useRef2 } from "react";
466
371
 
467
372
  // src/components/ai-elements/artifact.tsx
468
- import { forwardRef as forwardRef4 } from "react";
373
+ import { forwardRef as forwardRef3 } from "react";
469
374
  import { jsx as jsx6 } from "react/jsx-runtime";
470
- var Artifact = forwardRef4(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
375
+ var Artifact = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
471
376
  "div",
472
377
  {
473
378
  ref,
@@ -482,9 +387,9 @@ var ArtifactActions = ({ className, ...props }) => /* @__PURE__ */ jsx6("div", {
482
387
  var ArtifactContent = ({ className, ...props }) => /* @__PURE__ */ jsx6("div", { className: cn("flex-1 overflow-auto p-4", className), ...props });
483
388
 
484
389
  // src/components/artifacts/status-message.tsx
485
- import { createElement as createElement2 } from "react";
390
+ import { createElement } from "react";
486
391
  function StatusMessage({ $tone, children }) {
487
- return createElement2(
392
+ return createElement(
488
393
  "div",
489
394
  {
490
395
  className: `py-6 px-2 text-center text-sm font-medium leading-5 ${$tone === "error" ? "text-red-600" : "text-brown-70"}`
@@ -829,14 +734,10 @@ var TABLE_STATUS = {
829
734
  function formatCell(row, column) {
830
735
  return row[column.key] ?? "";
831
736
  }
832
- var HEAD_CLASS = "h-auto py-2 px-4 text-xs font-medium text-foreground whitespace-nowrap text-left";
833
- var CELL_CLASS = "p-4 text-sm font-normal text-foreground align-top min-w-[150px] text-left";
834
- var ROW_CLASSES = "border-b-brown-30 bg-background/70 hover:bg-secondary";
835
- var DATA_ROW_CLASSES = `${ROW_CLASSES} animate-in fade-in duration-300`;
836
- var SCROLL_SHADOW = "0 1px 2px rgb(0 0 0 / 0.01), 0 6px 12px -2px rgb(0 0 0 / 0.03)";
737
+ var DATA_ROW_CLASSES = `${DATA_TABLE_ROW_CLASS} animate-in fade-in duration-300`;
837
738
 
838
739
  // src/components/artifacts/table-artifact/table-artifact-content.tsx
839
- import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
740
+ import { jsx as jsx12 } from "react/jsx-runtime";
840
741
  function TableArtifactContent({
841
742
  columns,
842
743
  data,
@@ -861,25 +762,20 @@ function TableArtifactContent({
861
762
  return /* @__PURE__ */ jsx12(ArtifactTable, { columns, maxBodyHeight, children: data.rows.length === 0 ? renderEmptyRow(columns.length, labels.empty) : renderDataRows(columns, data.rows) });
862
763
  }
863
764
  function ArtifactTable({ columns, maxBodyHeight, children }) {
864
- const { targetRef, isScrolled } = useScrollShadow();
865
- return /* @__PURE__ */ jsx12("div", { ref: targetRef, className: "overscroll-none", style: { maxHeight: maxBodyHeight, overflowY: "auto" }, children: /* @__PURE__ */ jsxs5(Table, { containerClassName: "overflow-visible", children: [
866
- /* @__PURE__ */ jsx12(
867
- TableHeader,
868
- {
869
- "data-scrolled": isScrolled ? "true" : void 0,
870
- className: "sticky top-0 z-10 bg-background/70 backdrop-blur-lg transition-shadow",
871
- style: isScrolled ? { boxShadow: SCROLL_SHADOW } : void 0,
872
- children: /* @__PURE__ */ jsx12(TableRow, { className: "hover:bg-transparent", children: columns.map((column) => /* @__PURE__ */ jsx12(TableHead, { scope: "col", className: HEAD_CLASS, children: column.label }, column.key)) })
873
- }
874
- ),
875
- /* @__PURE__ */ jsx12(TableBody, { children })
876
- ] }) });
765
+ return /* @__PURE__ */ jsx12(
766
+ DataTable,
767
+ {
768
+ maxBodyHeight,
769
+ header: /* @__PURE__ */ jsx12(TableRow, { className: "hover:bg-transparent", children: columns.map((column) => /* @__PURE__ */ jsx12(TableHead, { scope: "col", className: DATA_TABLE_HEAD_CLASS, children: column.label }, column.key)) }),
770
+ children
771
+ }
772
+ );
877
773
  }
878
774
  function renderShimmerRows(columns, count) {
879
- return Array.from({ length: count }).map((_, index) => /* @__PURE__ */ jsx12(TableRow, { className: ROW_CLASSES, "aria-hidden": "true", children: columns.map((column) => /* @__PURE__ */ jsx12(TableCell, { className: CELL_CLASS, children: /* @__PURE__ */ jsx12("span", { className: "block h-3 w-3/4 animate-pulse rounded bg-muted-foreground/20" }) }, column.key)) }, `shimmer-${index}`));
775
+ return Array.from({ length: count }).map((_, index) => /* @__PURE__ */ jsx12(TableRow, { className: DATA_TABLE_ROW_CLASS, "aria-hidden": "true", children: columns.map((column) => /* @__PURE__ */ jsx12(TableCell, { className: DATA_TABLE_CELL_CLASS, children: /* @__PURE__ */ jsx12("span", { className: "block h-3 w-3/4 animate-pulse rounded bg-muted-foreground/20" }) }, column.key)) }, `shimmer-${index}`));
880
776
  }
881
777
  function renderDataRows(columns, rows) {
882
- return rows.map((row, index) => /* @__PURE__ */ jsx12(TableRow, { className: DATA_ROW_CLASSES, children: columns.map((column) => /* @__PURE__ */ jsx12(TableCell, { className: CELL_CLASS, children: formatCell(row, column) }, column.key)) }, index));
778
+ return rows.map((row, index) => /* @__PURE__ */ jsx12(TableRow, { className: DATA_ROW_CLASSES, children: columns.map((column) => /* @__PURE__ */ jsx12(TableCell, { className: DATA_TABLE_CELL_CLASS, children: formatCell(row, column) }, column.key)) }, index));
883
779
  }
884
780
  function renderEmptyRow(colSpan, emptyMessage) {
885
781
  return /* @__PURE__ */ jsx12(TableRow, { className: "hover:bg-transparent", children: /* @__PURE__ */ jsx12(TableCell, { colSpan, className: "py-6 text-center text-sm text-muted-foreground", children: emptyMessage }) });
@@ -935,7 +831,7 @@ function DeckMarkdown({ markdown }) {
935
831
 
936
832
  // src/components/artifacts/deck-artifact/slide-renderers.tsx
937
833
  import { useLayoutEffect, useRef as useRef3, useState as useState3 } from "react";
938
- import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
834
+ import { jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
939
835
  function safeLogoUrl(meta) {
940
836
  return meta?.logoUrl && isSafeDownloadUrl(meta.logoUrl) ? meta.logoUrl : null;
941
837
  }
@@ -962,7 +858,7 @@ function SlideFrame({ meta, children, accent = false, bare = false }) {
962
858
  const eyebrowColor = accent ? "text-white/70" : "text-brown-60";
963
859
  const borderColor = accent ? "border-white/20" : "border-brown-alpha-12";
964
860
  const logoSrc = safeLogoUrl(meta);
965
- return /* @__PURE__ */ jsx14("div", { ref: frameRef, className: `relative aspect-[16/9] w-full overflow-hidden rounded-lg ${bg}`, children: /* @__PURE__ */ jsxs6(
861
+ return /* @__PURE__ */ jsx14("div", { ref: frameRef, className: `relative aspect-[16/9] w-full overflow-hidden rounded-lg ${bg}`, children: /* @__PURE__ */ jsxs5(
966
862
  "div",
967
863
  {
968
864
  className: "absolute left-0 top-0 origin-top-left",
@@ -973,7 +869,7 @@ function SlideFrame({ meta, children, accent = false, bare = false }) {
973
869
  visibility: scale === null ? "hidden" : "visible"
974
870
  },
975
871
  children: [
976
- !bare ? /* @__PURE__ */ jsxs6(
872
+ !bare ? /* @__PURE__ */ jsxs5(
977
873
  "div",
978
874
  {
979
875
  className: `absolute inset-x-0 top-0 flex items-center justify-between border-b px-16 ${borderColor}`,
@@ -991,7 +887,7 @@ function SlideFrame({ meta, children, accent = false, bare = false }) {
991
887
  }
992
888
  function TitleSlide({ slide, meta }) {
993
889
  const logoSrc = safeLogoUrl(meta);
994
- return /* @__PURE__ */ jsx14(SlideFrame, { meta, bare: true, children: /* @__PURE__ */ jsxs6("div", { className: "flex h-full flex-col justify-center px-24 py-16", children: [
890
+ return /* @__PURE__ */ jsx14(SlideFrame, { meta, bare: true, children: /* @__PURE__ */ jsxs5("div", { className: "flex h-full flex-col justify-center px-24 py-16", children: [
995
891
  logoSrc ? /* @__PURE__ */ jsx14(
996
892
  "img",
997
893
  {
@@ -1016,29 +912,29 @@ function TitleSlide({ slide, meta }) {
1016
912
  }
1017
913
  function AgendaSlide({ slide, meta, labels }) {
1018
914
  const items = slide.items ?? [];
1019
- return /* @__PURE__ */ jsx14(SlideFrame, { meta, children: /* @__PURE__ */ jsxs6("div", { className: "h-full px-24 py-14", children: [
915
+ return /* @__PURE__ */ jsx14(SlideFrame, { meta, children: /* @__PURE__ */ jsxs5("div", { className: "h-full px-24 py-14", children: [
1020
916
  /* @__PURE__ */ jsx14("h2", { className: "mb-10 font-bold text-brown-90", style: { fontSize: 40 }, children: slide.title || labels.agenda }),
1021
- /* @__PURE__ */ jsx14("div", { className: "flex flex-col", children: items.map((item, i) => /* @__PURE__ */ jsxs6("div", { className: "flex items-baseline gap-6 border-b border-brown-alpha-12 py-5", children: [
917
+ /* @__PURE__ */ jsx14("div", { className: "flex flex-col", children: items.map((item, i) => /* @__PURE__ */ jsxs5("div", { className: "flex items-baseline gap-6 border-b border-brown-alpha-12 py-5", children: [
1022
918
  /* @__PURE__ */ jsx14("span", { className: "shrink-0 text-indigo-600", style: { ...ACCENT_FONT, fontSize: 28, width: 64 }, children: String(i + 1).padStart(2, "0") }),
1023
919
  /* @__PURE__ */ jsx14("span", { className: "text-brown-90", style: { fontSize: 28 }, children: item })
1024
920
  ] }, i)) })
1025
921
  ] }) });
1026
922
  }
1027
923
  function SectionSlide({ slide, meta }) {
1028
- return /* @__PURE__ */ jsx14(SlideFrame, { meta, accent: true, children: /* @__PURE__ */ jsxs6("div", { className: "flex h-full flex-col justify-center gap-6 px-24", children: [
924
+ return /* @__PURE__ */ jsx14(SlideFrame, { meta, accent: true, children: /* @__PURE__ */ jsxs5("div", { className: "flex h-full flex-col justify-center gap-6 px-24", children: [
1029
925
  /* @__PURE__ */ jsx14("h2", { className: "font-bold text-white", style: { fontSize: 72, lineHeight: 1.05, maxWidth: 940 }, children: slide.title }),
1030
926
  /* @__PURE__ */ jsx14("div", { className: "mt-2 bg-white/50", style: { width: 96, height: 5 } })
1031
927
  ] }) });
1032
928
  }
1033
929
  function ClosingSlide({ meta, labels }) {
1034
- return /* @__PURE__ */ jsx14(SlideFrame, { meta, children: /* @__PURE__ */ jsxs6("div", { className: "flex h-full flex-col items-center justify-center gap-6 px-24 text-center", children: [
930
+ return /* @__PURE__ */ jsx14(SlideFrame, { meta, children: /* @__PURE__ */ jsxs5("div", { className: "flex h-full flex-col items-center justify-center gap-6 px-24 text-center", children: [
1035
931
  /* @__PURE__ */ jsx14("h1", { className: "font-bold text-brown-100", style: { fontSize: 72 }, children: labels.thankYou }),
1036
932
  /* @__PURE__ */ jsx14("p", { className: "text-indigo-600", style: { ...ACCENT_FONT, fontSize: 36 }, children: labels.questions })
1037
933
  ] }) });
1038
934
  }
1039
935
 
1040
936
  // src/components/artifacts/deck-artifact/deck-artifact-content.tsx
1041
- import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
937
+ import { jsx as jsx15, jsxs as jsxs6 } from "react/jsx-runtime";
1042
938
  var TABLE_BLOCK_MAX_SHIMMER_ROWS = 10;
1043
939
  var TABLE_CHROME_RESERVE = 56;
1044
940
  var VISUAL_FALLBACK_HEIGHT = 360;
@@ -1068,9 +964,9 @@ function DeckArtifactContent({
1068
964
  [slides.length, onNavigate, isControlled, onSlideChange]
1069
965
  );
1070
966
  const position = labels.position.replace("{current}", String(current + 1)).replace("{total}", String(slides.length));
1071
- return /* @__PURE__ */ jsxs7("div", { className: "flex flex-col gap-3 p-4", children: [
967
+ return /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-3 p-4", children: [
1072
968
  /* @__PURE__ */ jsx15(SlideDispatch, { slide, labels, meta }),
1073
- /* @__PURE__ */ jsxs7(
969
+ /* @__PURE__ */ jsxs6(
1074
970
  "div",
1075
971
  {
1076
972
  className: `flex items-center justify-between border-t pt-2 ${onDark ? "border-white/20" : "border-brown-alpha-12"}`,
@@ -1129,8 +1025,8 @@ function ContentSlide({ slide, meta, labels }) {
1129
1025
  (b) => b.type === deckBlockTypes.TEXT
1130
1026
  );
1131
1027
  if (visuals.length === 1 && texts.length > 0) {
1132
- return /* @__PURE__ */ jsx15(SlideFrame, { meta, children: /* @__PURE__ */ jsxs7("div", { className: "flex h-full items-stretch gap-12 px-16 py-12", children: [
1133
- /* @__PURE__ */ jsx15("div", { className: "flex w-[42%] shrink-0 flex-col overflow-hidden", children: /* @__PURE__ */ jsxs7(AutoFit, { children: [
1028
+ return /* @__PURE__ */ jsx15(SlideFrame, { meta, children: /* @__PURE__ */ jsxs6("div", { className: "flex h-full items-stretch gap-12 px-16 py-12", children: [
1029
+ /* @__PURE__ */ jsx15("div", { className: "flex w-[42%] shrink-0 flex-col overflow-hidden", children: /* @__PURE__ */ jsxs6(AutoFit, { children: [
1134
1030
  /* @__PURE__ */ jsx15("h3", { className: "mb-5 font-bold leading-tight text-foreground", style: { fontSize: 34 }, children: slide.title }),
1135
1031
  texts.map((block, i) => /* @__PURE__ */ jsx15(DeckMarkdown, { markdown: block.markdown }, i))
1136
1032
  ] }) }),
@@ -1138,14 +1034,14 @@ function ContentSlide({ slide, meta, labels }) {
1138
1034
  ] }) });
1139
1035
  }
1140
1036
  if (visuals.length > 0) {
1141
- return /* @__PURE__ */ jsx15(SlideFrame, { meta, children: /* @__PURE__ */ jsxs7("div", { className: "flex h-full flex-col gap-5 px-16 py-10", children: [
1037
+ return /* @__PURE__ */ jsx15(SlideFrame, { meta, children: /* @__PURE__ */ jsxs6("div", { className: "flex h-full flex-col gap-5 px-16 py-10", children: [
1142
1038
  /* @__PURE__ */ jsx15("h3", { className: "shrink-0 font-bold leading-tight text-foreground", style: { fontSize: 32 }, children: slide.title }),
1143
1039
  content.map(
1144
1040
  (block, i) => isVisualBlock(block) ? /* @__PURE__ */ jsx15("div", { className: "min-h-0 min-w-0 flex-1", children: /* @__PURE__ */ jsx15(FillVisual, { block, labels }) }, i) : /* @__PURE__ */ jsx15("div", { className: "shrink-0 overflow-hidden", children: /* @__PURE__ */ jsx15(DeckMarkdown, { markdown: block.markdown }) }, i)
1145
1041
  )
1146
1042
  ] }) });
1147
1043
  }
1148
- return /* @__PURE__ */ jsx15(SlideFrame, { meta, children: /* @__PURE__ */ jsx15("div", { className: "h-full px-24 py-12", children: /* @__PURE__ */ jsxs7(AutoFit, { children: [
1044
+ return /* @__PURE__ */ jsx15(SlideFrame, { meta, children: /* @__PURE__ */ jsx15("div", { className: "h-full px-24 py-12", children: /* @__PURE__ */ jsxs6(AutoFit, { children: [
1149
1045
  /* @__PURE__ */ jsx15("h3", { className: "mb-6 font-bold leading-tight text-foreground", style: { fontSize: 38 }, children: slide.title }),
1150
1046
  texts.map((block, i) => /* @__PURE__ */ jsx15(DeckMarkdown, { markdown: block.markdown }, i))
1151
1047
  ] }) }) });
@@ -1267,7 +1163,7 @@ function isValidDeckBlock(block) {
1267
1163
  }
1268
1164
 
1269
1165
  // src/components/artifacts/deck-artifact/deck-artifact.tsx
1270
- import { Fragment, jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
1166
+ import { Fragment, jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1271
1167
  var TITLE_CLASSES2 = "text-sm font-semibold text-foreground";
1272
1168
  function DeckArtifact({ artifact, labels, callbacks }) {
1273
1169
  const validConfig = isValidDeckConfig(artifact.config);
@@ -1308,7 +1204,7 @@ function DeckArtifact({ artifact, labels, callbacks }) {
1308
1204
  const meta = artifact.config?.meta;
1309
1205
  const handleOpenFullscreen = () => setIsFullscreen(true);
1310
1206
  const handleCloseFullscreen = () => setIsFullscreen(false);
1311
- const actions = /* @__PURE__ */ jsxs8(ArtifactActions, { ...{ [CAPTURE_EXCLUDE_ATTRIBUTE]: "" }, children: [
1207
+ const actions = /* @__PURE__ */ jsxs7(ArtifactActions, { ...{ [CAPTURE_EXCLUDE_ATTRIBUTE]: "" }, children: [
1312
1208
  showDownload ? /* @__PURE__ */ jsx16(ArtifactDownloadButton, { href: presignedUrl ?? "", label: resolvedLabels.download, onClick: handleDownload }) : null,
1313
1209
  validConfig ? /* @__PURE__ */ jsx16(
1314
1210
  IconButton,
@@ -1321,17 +1217,17 @@ function DeckArtifact({ artifact, labels, callbacks }) {
1321
1217
  ) : null
1322
1218
  ] });
1323
1219
  if (!validConfig) {
1324
- return /* @__PURE__ */ jsxs8(Artifact, { className: "shadow-none w-full rounded-2xl bg-background/70", children: [
1325
- /* @__PURE__ */ jsxs8(ArtifactHeader, { className: "bg-background/70", children: [
1220
+ return /* @__PURE__ */ jsxs7(Artifact, { className: "shadow-none w-full rounded-2xl bg-background/70", children: [
1221
+ /* @__PURE__ */ jsxs7(ArtifactHeader, { className: "bg-background/70", children: [
1326
1222
  artifact.title ? /* @__PURE__ */ jsx16(ArtifactTitle, { className: TITLE_CLASSES2, children: artifact.title }) : /* @__PURE__ */ jsx16("span", {}),
1327
1223
  actions
1328
1224
  ] }),
1329
1225
  /* @__PURE__ */ jsx16(ArtifactContent, { className: "p-0", children: /* @__PURE__ */ jsx16(StatusMessage, { $tone: "info", children: resolvedLabels.unavailable }) })
1330
1226
  ] });
1331
1227
  }
1332
- return /* @__PURE__ */ jsxs8(Fragment, { children: [
1333
- /* @__PURE__ */ jsxs8(Artifact, { className: "shadow-none w-full rounded-2xl bg-background/70", children: [
1334
- /* @__PURE__ */ jsxs8(ArtifactHeader, { className: "bg-background/70", children: [
1228
+ return /* @__PURE__ */ jsxs7(Fragment, { children: [
1229
+ /* @__PURE__ */ jsxs7(Artifact, { className: "shadow-none w-full rounded-2xl bg-background/70", children: [
1230
+ /* @__PURE__ */ jsxs7(ArtifactHeader, { className: "bg-background/70", children: [
1335
1231
  artifact.title ? /* @__PURE__ */ jsx16(ArtifactTitle, { className: TITLE_CLASSES2, children: artifact.title }) : /* @__PURE__ */ jsx16("span", {}),
1336
1232
  actions
1337
1233
  ] }),
@@ -1379,7 +1275,7 @@ function FullscreenOverlay({
1379
1275
  role: "dialog",
1380
1276
  "aria-modal": "true",
1381
1277
  "aria-label": resolvedLabels.exitFullscreen,
1382
- children: /* @__PURE__ */ jsxs8("div", { className: "relative", style: { width: "min(94vw, calc(82vh * 16 / 9))" }, children: [
1278
+ children: /* @__PURE__ */ jsxs7("div", { className: "relative", style: { width: "min(94vw, calc(82vh * 16 / 9))" }, children: [
1383
1279
  /* @__PURE__ */ jsx16(
1384
1280
  DeckArtifactContent,
1385
1281
  {
@@ -1392,7 +1288,7 @@ function FullscreenOverlay({
1392
1288
  onDark: true
1393
1289
  }
1394
1290
  ),
1395
- /* @__PURE__ */ jsxs8(
1291
+ /* @__PURE__ */ jsxs7(
1396
1292
  "button",
1397
1293
  {
1398
1294
  className: "absolute -top-10 right-6 flex items-center gap-1.5 text-sm text-white/80 hover:text-white",
@@ -1418,7 +1314,7 @@ function useTableArtifactData(presignedUrl, columns) {
1418
1314
  }
1419
1315
 
1420
1316
  // src/components/artifacts/table-artifact/table-artifact.tsx
1421
- import { jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
1317
+ import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
1422
1318
  var TITLE_CLASSES3 = "text-sm font-semibold text-foreground";
1423
1319
  var TABLE_MAX_BODY_HEIGHT = 480;
1424
1320
  var MAX_SHIMMER_ROWS = 10;
@@ -1441,8 +1337,8 @@ function TableArtifact({ artifact, labels, callbacks }) {
1441
1337
  const onDownload = callbacks?.onDownload;
1442
1338
  const handleDownloadClick = onDownload ? () => onDownload(artifact) : void 0;
1443
1339
  if (!validConfig || !validColumns) {
1444
- return /* @__PURE__ */ jsxs9(Artifact, { className: "shadow-none w-full rounded-2xl bg-background/70", children: [
1445
- /* @__PURE__ */ jsxs9(ArtifactHeader, { className: "bg-background/70", children: [
1340
+ return /* @__PURE__ */ jsxs8(Artifact, { className: "shadow-none w-full rounded-2xl bg-background/70", children: [
1341
+ /* @__PURE__ */ jsxs8(ArtifactHeader, { className: "bg-background/70", children: [
1446
1342
  artifact.title ? /* @__PURE__ */ jsx17(ArtifactTitle, { className: TITLE_CLASSES3, children: artifact.title }) : /* @__PURE__ */ jsx17("span", {}),
1447
1343
  presignedUrl ? /* @__PURE__ */ jsx17(ArtifactActions, { children: /* @__PURE__ */ jsx17(
1448
1344
  ArtifactDownloadButton,
@@ -1460,8 +1356,8 @@ function TableArtifact({ artifact, labels, callbacks }) {
1460
1356
  // The table body owns its own scroll container (`ArtifactTable` inside `TableArtifactContent`).
1461
1357
  // Disable the outer overflow container so only one scroll context exists — this prevents
1462
1358
  // double-scroll nesting and lets `useScrollShadow` find the correct scroll ancestor.
1463
- /* @__PURE__ */ jsxs9(Artifact, { className: "shadow-none w-full rounded-2xl bg-background/70", children: [
1464
- /* @__PURE__ */ jsxs9(ArtifactHeader, { className: "bg-background/70", children: [
1359
+ /* @__PURE__ */ jsxs8(Artifact, { className: "shadow-none w-full rounded-2xl bg-background/70", children: [
1360
+ /* @__PURE__ */ jsxs8(ArtifactHeader, { className: "bg-background/70", children: [
1465
1361
  artifact.title ? /* @__PURE__ */ jsx17(ArtifactTitle, { className: TITLE_CLASSES3, children: artifact.title }) : /* @__PURE__ */ jsx17("span", {}),
1466
1362
  /* @__PURE__ */ jsx17(ArtifactActions, { children: /* @__PURE__ */ jsx17(
1467
1363
  ArtifactDownloadButton,
@@ -1593,10 +1489,6 @@ export {
1593
1489
  deckBlockTypes,
1594
1490
  deckSlideKinds,
1595
1491
  DEFAULT_DECK_ARTIFACT_LABELS,
1596
- IconCheck,
1597
- IconCopy,
1598
- IconThumbDown,
1599
- IconThumbUp,
1600
1492
  ArtifactCopyAsImageButton,
1601
1493
  ArtifactDownloadButton,
1602
1494
  isSafeDownloadUrl,
@@ -1607,29 +1499,4 @@ export {
1607
1499
  ArtifactServices,
1608
1500
  artifactToClipboardText
1609
1501
  };
1610
- /*! Bundled license information:
1611
-
1612
- @tabler/icons-react/dist/esm/defaultAttributes.mjs:
1613
- @tabler/icons-react/dist/esm/createReactComponent.mjs:
1614
- @tabler/icons-react/dist/esm/icons/IconAlertCircle.mjs:
1615
- @tabler/icons-react/dist/esm/icons/IconArrowsMaximize.mjs:
1616
- @tabler/icons-react/dist/esm/icons/IconArrowsMinimize.mjs:
1617
- @tabler/icons-react/dist/esm/icons/IconCheck.mjs:
1618
- @tabler/icons-react/dist/esm/icons/IconChevronLeft.mjs:
1619
- @tabler/icons-react/dist/esm/icons/IconChevronRight.mjs:
1620
- @tabler/icons-react/dist/esm/icons/IconCopy.mjs:
1621
- @tabler/icons-react/dist/esm/icons/IconDownload.mjs:
1622
- @tabler/icons-react/dist/esm/icons/IconFileSpreadsheet.mjs:
1623
- @tabler/icons-react/dist/esm/icons/IconLoader2.mjs:
1624
- @tabler/icons-react/dist/esm/icons/IconPhoto.mjs:
1625
- @tabler/icons-react/dist/esm/icons/IconThumbDown.mjs:
1626
- @tabler/icons-react/dist/esm/icons/IconThumbUp.mjs:
1627
- @tabler/icons-react/dist/esm/tabler-icons-react.mjs:
1628
- (**
1629
- * @license @tabler/icons-react v3.37.1 - MIT
1630
- *
1631
- * This source code is licensed under the MIT license.
1632
- * See the LICENSE file in the root directory of this source tree.
1633
- *)
1634
- */
1635
- //# sourceMappingURL=chunk-QR4VBGK4.js.map
1502
+ //# sourceMappingURL=chunk-DC5KYT2G.js.map