@flamingo-stack/openframe-frontend-core 0.0.569 → 0.0.570

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 (109) hide show
  1. package/dist/{chunk-PLJAOZYZ.js → chunk-3H6NH2AD.js} +5 -5
  2. package/dist/{chunk-VNE2EHCD.cjs → chunk-3YO2ZIZL.cjs} +14 -14
  3. package/dist/{chunk-VNE2EHCD.cjs.map → chunk-3YO2ZIZL.cjs.map} +1 -1
  4. package/dist/{chunk-QY3VTOB6.cjs → chunk-4BJ4FQPG.cjs} +18 -18
  5. package/dist/{chunk-QY3VTOB6.cjs.map → chunk-4BJ4FQPG.cjs.map} +1 -1
  6. package/dist/{chunk-FE5QR7PT.js → chunk-5NVVVIHJ.js} +48 -28
  7. package/dist/{chunk-FE5QR7PT.js.map → chunk-5NVVVIHJ.js.map} +1 -1
  8. package/dist/{chunk-2DSDGWWU.cjs → chunk-6WXL6CIL.cjs} +97 -97
  9. package/dist/{chunk-2DSDGWWU.cjs.map → chunk-6WXL6CIL.cjs.map} +1 -1
  10. package/dist/{chunk-Z3SRMLMK.cjs → chunk-AQ6MIFNX.cjs} +41 -14
  11. package/dist/chunk-AQ6MIFNX.cjs.map +1 -0
  12. package/dist/{chunk-FMWIA5IH.cjs → chunk-CSCAOET4.cjs} +42 -42
  13. package/dist/{chunk-FMWIA5IH.cjs.map → chunk-CSCAOET4.cjs.map} +1 -1
  14. package/dist/{chunk-XMECOGLY.cjs → chunk-CYY2PEYQ.cjs} +3 -3
  15. package/dist/{chunk-XMECOGLY.cjs.map → chunk-CYY2PEYQ.cjs.map} +1 -1
  16. package/dist/{chunk-SMW5Z4NW.cjs → chunk-D463PBIY.cjs} +23 -23
  17. package/dist/{chunk-SMW5Z4NW.cjs.map → chunk-D463PBIY.cjs.map} +1 -1
  18. package/dist/{chunk-TDYTAED2.cjs → chunk-DP2L7US5.cjs} +3 -3
  19. package/dist/{chunk-TDYTAED2.cjs.map → chunk-DP2L7US5.cjs.map} +1 -1
  20. package/dist/{chunk-ME346OJF.cjs → chunk-GDPPFPLD.cjs} +40 -40
  21. package/dist/{chunk-ME346OJF.cjs.map → chunk-GDPPFPLD.cjs.map} +1 -1
  22. package/dist/{chunk-EBE22KOQ.cjs → chunk-HJCXSI7R.cjs} +4 -4
  23. package/dist/{chunk-EBE22KOQ.cjs.map → chunk-HJCXSI7R.cjs.map} +1 -1
  24. package/dist/{chunk-D6SBYELJ.cjs → chunk-I7CFA5DO.cjs} +32 -32
  25. package/dist/{chunk-D6SBYELJ.cjs.map → chunk-I7CFA5DO.cjs.map} +1 -1
  26. package/dist/{chunk-SW3K3JSP.cjs → chunk-IJA26YDA.cjs} +8 -8
  27. package/dist/{chunk-SW3K3JSP.cjs.map → chunk-IJA26YDA.cjs.map} +1 -1
  28. package/dist/{chunk-HOMYI5RR.js → chunk-KYDVOX5J.js} +2 -2
  29. package/dist/{chunk-OS5RFMW5.js → chunk-MT7IDGCM.js} +3 -3
  30. package/dist/{chunk-6STF67EF.js → chunk-MTORQ4LY.js} +4 -4
  31. package/dist/{chunk-AAROYQ4O.cjs → chunk-PS2TV7WG.cjs} +12 -12
  32. package/dist/{chunk-AAROYQ4O.cjs.map → chunk-PS2TV7WG.cjs.map} +1 -1
  33. package/dist/{chunk-P7ZENKIA.js → chunk-PTDRJCPW.js} +2 -2
  34. package/dist/{chunk-KO333Q2B.js → chunk-QIU5B2ZD.js} +2 -2
  35. package/dist/{chunk-74DB5H5T.cjs → chunk-RVCCJB6M.cjs} +165 -145
  36. package/dist/chunk-RVCCJB6M.cjs.map +1 -0
  37. package/dist/{chunk-PCL6WYYT.cjs → chunk-T4MB5TX6.cjs} +5 -5
  38. package/dist/{chunk-PCL6WYYT.cjs.map → chunk-T4MB5TX6.cjs.map} +1 -1
  39. package/dist/{chunk-3UPQAOES.js → chunk-TQER4FVN.js} +3 -3
  40. package/dist/{chunk-KCAGMTJ6.js → chunk-U6NPZMNT.js} +8 -8
  41. package/dist/{chunk-LJBNHO6B.js → chunk-VZQKENQU.js} +3 -3
  42. package/dist/{chunk-OWCN3BM6.js → chunk-XWMEHLDK.js} +6 -6
  43. package/dist/{chunk-TXEI4PES.js → chunk-YFLKONLB.js} +33 -6
  44. package/dist/{chunk-TXEI4PES.js.map → chunk-YFLKONLB.js.map} +1 -1
  45. package/dist/{chunk-C5GKBUT7.js → chunk-YYESWAAQ.js} +3 -3
  46. package/dist/{chunk-A2T266F3.js → chunk-Z3MSD6ZE.js} +6 -6
  47. package/dist/{chunk-GY22CIEF.cjs → chunk-Z7DXVKVT.cjs} +76 -76
  48. package/dist/{chunk-GY22CIEF.cjs.map → chunk-Z7DXVKVT.cjs.map} +1 -1
  49. package/dist/{chunk-4NN7V443.js → chunk-ZAYZ7JHF.js} +2 -2
  50. package/dist/{chunk-MZG3QQUR.js → chunk-ZTGWMXJK.js} +2 -2
  51. package/dist/components/case-studies/index.cjs +9 -9
  52. package/dist/components/case-studies/index.js +3 -3
  53. package/dist/components/chat/index.cjs +3 -3
  54. package/dist/components/chat/index.js +2 -2
  55. package/dist/components/contact/index.cjs +4 -4
  56. package/dist/components/contact/index.js +3 -3
  57. package/dist/components/docs/index.cjs +6 -6
  58. package/dist/components/docs/index.js +5 -5
  59. package/dist/components/embeds/claude-embed.d.ts.map +1 -1
  60. package/dist/components/embeds/embed-viewer-frame.d.ts +10 -2
  61. package/dist/components/embeds/embed-viewer-frame.d.ts.map +1 -1
  62. package/dist/components/embeds/index.cjs +4 -4
  63. package/dist/components/embeds/index.js +3 -3
  64. package/dist/components/faq/index.cjs +5 -5
  65. package/dist/components/faq/index.js +4 -4
  66. package/dist/components/features/index.cjs +3 -3
  67. package/dist/components/features/index.js +2 -2
  68. package/dist/components/help-center-pages/index.cjs +24 -24
  69. package/dist/components/help-center-pages/index.js +15 -15
  70. package/dist/components/index.cjs +138 -138
  71. package/dist/components/index.js +13 -13
  72. package/dist/components/meeting-scheduler/index.cjs +35 -35
  73. package/dist/components/meeting-scheduler/index.js +4 -4
  74. package/dist/components/navigation/index.cjs +3 -3
  75. package/dist/components/navigation/index.js +2 -2
  76. package/dist/components/onboarding-guides/index.cjs +7 -7
  77. package/dist/components/onboarding-guides/index.js +6 -6
  78. package/dist/components/related-content/index.cjs +5 -5
  79. package/dist/components/related-content/index.js +4 -4
  80. package/dist/components/tickets/index.cjs +7 -7
  81. package/dist/components/tickets/index.js +6 -6
  82. package/dist/components/ui/index.cjs +3 -3
  83. package/dist/components/ui/index.js +2 -2
  84. package/dist/hooks/index.cjs +2 -2
  85. package/dist/hooks/index.js +1 -1
  86. package/dist/hooks/use-claude-mirror-src.d.ts +34 -13
  87. package/dist/hooks/use-claude-mirror-src.d.ts.map +1 -1
  88. package/dist/index.cjs +3 -3
  89. package/dist/index.js +2 -2
  90. package/package.json +1 -1
  91. package/src/components/embeds/claude-embed.tsx +13 -4
  92. package/src/components/embeds/embed-viewer-frame.tsx +27 -2
  93. package/src/hooks/use-claude-mirror-src.ts +79 -19
  94. package/dist/chunk-74DB5H5T.cjs.map +0 -1
  95. package/dist/chunk-Z3SRMLMK.cjs.map +0 -1
  96. /package/dist/{chunk-PLJAOZYZ.js.map → chunk-3H6NH2AD.js.map} +0 -0
  97. /package/dist/{chunk-HOMYI5RR.js.map → chunk-KYDVOX5J.js.map} +0 -0
  98. /package/dist/{chunk-OS5RFMW5.js.map → chunk-MT7IDGCM.js.map} +0 -0
  99. /package/dist/{chunk-6STF67EF.js.map → chunk-MTORQ4LY.js.map} +0 -0
  100. /package/dist/{chunk-P7ZENKIA.js.map → chunk-PTDRJCPW.js.map} +0 -0
  101. /package/dist/{chunk-KO333Q2B.js.map → chunk-QIU5B2ZD.js.map} +0 -0
  102. /package/dist/{chunk-3UPQAOES.js.map → chunk-TQER4FVN.js.map} +0 -0
  103. /package/dist/{chunk-KCAGMTJ6.js.map → chunk-U6NPZMNT.js.map} +0 -0
  104. /package/dist/{chunk-LJBNHO6B.js.map → chunk-VZQKENQU.js.map} +0 -0
  105. /package/dist/{chunk-OWCN3BM6.js.map → chunk-XWMEHLDK.js.map} +0 -0
  106. /package/dist/{chunk-C5GKBUT7.js.map → chunk-YYESWAAQ.js.map} +0 -0
  107. /package/dist/{chunk-A2T266F3.js.map → chunk-Z3MSD6ZE.js.map} +0 -0
  108. /package/dist/{chunk-4NN7V443.js.map → chunk-ZAYZ7JHF.js.map} +0 -0
  109. /package/dist/{chunk-MZG3QQUR.js.map → chunk-ZTGWMXJK.js.map} +0 -0
@@ -58,7 +58,7 @@ import {
58
58
  useResetOnPageHidden,
59
59
  useSuppressCloneFocus,
60
60
  useToast
61
- } from "./chunk-TXEI4PES.js";
61
+ } from "./chunk-YFLKONLB.js";
62
62
  import {
63
63
  init_next_navigation,
64
64
  usePathname,
@@ -24835,7 +24835,7 @@ import { ExternalLink as ExternalLink3, Play as Play3, LayoutGrid } from "lucide
24835
24835
  // src/components/embeds/embed-viewer-frame.tsx
24836
24836
  init_cn();
24837
24837
  import { useEffect as useEffect46, useRef as useRef36, useState as useState55 } from "react";
24838
- import { Maximize2, Minimize2 } from "lucide-react";
24838
+ import { Loader2 as Loader22, Maximize2, Minimize2 } from "lucide-react";
24839
24839
 
24840
24840
  // src/utils/fullscreen-switch.ts
24841
24841
  var fullscreenElementOf = (doc) => doc.fullscreenElement ?? doc.webkitFullscreenElement ?? null;
@@ -25014,8 +25014,10 @@ function EmbedViewerFrame({
25014
25014
  titleVariant = "h3",
25015
25015
  actions,
25016
25016
  src,
25017
+ isLoading,
25017
25018
  emptyIcon,
25018
25019
  emptyMessage = "Content not available",
25020
+ loadingMessage = "Loading\u2026",
25019
25021
  height,
25020
25022
  allow,
25021
25023
  allowFullScreen,
@@ -25085,6 +25087,21 @@ function EmbedViewerFrame({
25085
25087
  loading,
25086
25088
  sandbox
25087
25089
  }
25090
+ ) : isLoading ? (
25091
+ // SAME box as the empty/iframe state (height + border), so a viewer
25092
+ // resolving its frame doesn't collapse then jump — it reads as
25093
+ // "loading" and settles into the iframe in place.
25094
+ /* @__PURE__ */ jsxs130(
25095
+ "div",
25096
+ {
25097
+ className: "flex flex-col items-center justify-center gap-3 rounded-lg border border-ods-border px-4 py-16 text-center",
25098
+ style: height ? { height } : void 0,
25099
+ children: [
25100
+ /* @__PURE__ */ jsx170(Loader22, { className: "h-8 w-8 animate-spin text-ods-accent" }),
25101
+ /* @__PURE__ */ jsx170("p", { className: "text-ods-text-secondary", children: loadingMessage })
25102
+ ]
25103
+ }
25104
+ )
25088
25105
  ) : (
25089
25106
  // The SAME box the iframe would have filled: same height, same rounded
25090
25107
  // border. A viewer whose content is missing must not collapse the page
@@ -25208,8 +25225,9 @@ var KIND_HEADING = {
25208
25225
  design: "Claude Design"
25209
25226
  };
25210
25227
  function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
25211
- const mirrorSrc = useClaudeMirrorSrc(url);
25212
- const embedUrl = mirrorSrc ?? toClaudeEmbedUrl(url);
25228
+ const { src: mirrorSrc, status } = useClaudeMirrorSrc(url);
25229
+ const isProbing = status === "probing";
25230
+ const embedUrl = isProbing ? null : mirrorSrc ?? toClaudeEmbedUrl(url);
25213
25231
  return /* @__PURE__ */ jsx172(
25214
25232
  EmbedViewerFrame,
25215
25233
  {
@@ -25217,6 +25235,8 @@ function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }
25217
25235
  icon: /* @__PURE__ */ jsx172(ClaudeIcon, { className: "w-5 h-5 shrink-0" }),
25218
25236
  title: title?.trim() || KIND_HEADING[kind],
25219
25237
  titleVariant: "h6",
25238
+ isLoading: isProbing,
25239
+ loadingMessage: "Loading artifact\u2026",
25220
25240
  actions: /* @__PURE__ */ jsx172(
25221
25241
  Button,
25222
25242
  {
@@ -30704,7 +30724,7 @@ function useThemeToggle() {
30704
30724
 
30705
30725
  // src/components/features/array-entry-manager.tsx
30706
30726
  import { useState as useState64, useEffect as useEffect52 } from "react";
30707
- import { Trash2, Plus as Plus2, Save, Loader2 as Loader22 } from "lucide-react";
30727
+ import { Trash2, Plus as Plus2, Save, Loader2 as Loader23 } from "lucide-react";
30708
30728
  import { jsx as jsx217, jsxs as jsxs165 } from "react/jsx-runtime";
30709
30729
  function ArrayEntryManager({
30710
30730
  title,
@@ -30788,7 +30808,7 @@ function ArrayEntryManager({
30788
30808
  size: "small-legacy",
30789
30809
  onClick: handleSave,
30790
30810
  disabled: isSaving,
30791
- leftIcon: isSaving ? /* @__PURE__ */ jsx217(Loader22, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx217(Save, { className: "h-4 w-4" }),
30811
+ leftIcon: isSaving ? /* @__PURE__ */ jsx217(Loader23, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx217(Save, { className: "h-4 w-4" }),
30792
30812
  className: "text-h6 bg-ods-accent text-ods-text-on-accent hover:bg-ods-accent-hover",
30793
30813
  children: isSaving ? "Saving..." : saveButtonText
30794
30814
  }
@@ -33457,7 +33477,7 @@ import {
33457
33477
  Image as ImageIcon2,
33458
33478
  Video as VideoIcon,
33459
33479
  Trash2 as Trash23,
33460
- Loader2 as Loader23,
33480
+ Loader2 as Loader24,
33461
33481
  GripVertical,
33462
33482
  Plus as Plus4
33463
33483
  } from "lucide-react";
@@ -33544,7 +33564,7 @@ function MediaGalleryManager({
33544
33564
  onClick: () => handleDeleteMedia(index),
33545
33565
  disabled: isDeleting,
33546
33566
  className: "h-8 w-8 p-0 bg-ods-error hover:bg-ods-error-hover border-ods-error",
33547
- children: isDeleting ? /* @__PURE__ */ jsx246(Loader23, { className: "h-4 w-4 animate-spin text-ods-text-on-dark" }) : /* @__PURE__ */ jsx246(Trash23, { className: "h-4 w-4 text-ods-text-on-dark" })
33567
+ children: isDeleting ? /* @__PURE__ */ jsx246(Loader24, { className: "h-4 w-4 animate-spin text-ods-text-on-dark" }) : /* @__PURE__ */ jsx246(Trash23, { className: "h-4 w-4 text-ods-text-on-dark" })
33548
33568
  }
33549
33569
  ) }),
33550
33570
  /* @__PURE__ */ jsx246("div", { className: "aspect-video relative bg-ods-bg rounded-lg overflow-hidden", children: mediaItem.media_type === "video" || mediaItem.media_type === "demo" ? (
@@ -33575,7 +33595,7 @@ function MediaGalleryManager({
33575
33595
  }, [deletingIndex, handleDragStart, handleDragOver, handleDrop, handleDeleteMedia]);
33576
33596
  const content = /* @__PURE__ */ jsxs187("div", { className: `space-y-6 ${className}`, children: [
33577
33597
  /* @__PURE__ */ jsx246("div", { className: "border-2 border-dashed border-ods-border rounded-lg p-6 text-center hover:border-ods-accent/50 transition-colors", children: /* @__PURE__ */ jsxs187("div", { className: "flex flex-col items-center gap-4", children: [
33578
- /* @__PURE__ */ jsx246("div", { className: "w-12 h-12 rounded-full bg-ods-card flex items-center justify-center", children: isUploading ? /* @__PURE__ */ jsx246(Loader23, { className: "h-6 w-6 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsx246(Upload, { className: "h-6 w-6 text-ods-accent" }) }),
33598
+ /* @__PURE__ */ jsx246("div", { className: "w-12 h-12 rounded-full bg-ods-card flex items-center justify-center", children: isUploading ? /* @__PURE__ */ jsx246(Loader24, { className: "h-6 w-6 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsx246(Upload, { className: "h-6 w-6 text-ods-accent" }) }),
33579
33599
  /* @__PURE__ */ jsxs187("div", { children: [
33580
33600
  /* @__PURE__ */ jsx246("h3", { className: "text-h3 text-ods-text-primary mb-1", children: isUploading ? "Uploading..." : "Upload Media" }),
33581
33601
  /* @__PURE__ */ jsx246("p", { className: "text-h6 text-ods-text-secondary", children: "Drag and drop or click to select images and videos" }),
@@ -34239,7 +34259,7 @@ function PushButtonSelector({
34239
34259
 
34240
34260
  // src/components/features/release-media-manager.tsx
34241
34261
  import { useState as useState73, useRef as useRef42 } from "react";
34242
- import { Trash2 as Trash24, Plus as Plus5, Image as ImageIcon3, Video as VideoIcon2, Upload as Upload2, Loader2 as Loader24, GripVertical as GripVertical2 } from "lucide-react";
34262
+ import { Trash2 as Trash24, Plus as Plus5, Image as ImageIcon3, Video as VideoIcon2, Upload as Upload2, Loader2 as Loader25, GripVertical as GripVertical2 } from "lucide-react";
34243
34263
  import { jsx as jsx253, jsxs as jsxs193 } from "react/jsx-runtime";
34244
34264
  function ReleaseMediaManager({
34245
34265
  media,
@@ -34319,7 +34339,7 @@ function ReleaseMediaManager({
34319
34339
  };
34320
34340
  return /* @__PURE__ */ jsxs193("div", { className: `space-y-4 ${className}`, children: [
34321
34341
  /* @__PURE__ */ jsx253("div", { className: "border-2 border-dashed border-ods-border rounded-lg p-6 text-center hover:border-ods-accent/50 transition-colors", children: /* @__PURE__ */ jsxs193("div", { className: "flex flex-col items-center gap-4", children: [
34322
- /* @__PURE__ */ jsx253("div", { className: "w-12 h-12 rounded-full bg-ods-card flex items-center justify-center", children: uploadingIndex !== null ? /* @__PURE__ */ jsx253(Loader24, { className: "h-6 w-6 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsx253(Upload2, { className: "h-6 w-6 text-ods-accent" }) }),
34342
+ /* @__PURE__ */ jsx253("div", { className: "w-12 h-12 rounded-full bg-ods-card flex items-center justify-center", children: uploadingIndex !== null ? /* @__PURE__ */ jsx253(Loader25, { className: "h-6 w-6 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsx253(Upload2, { className: "h-6 w-6 text-ods-accent" }) }),
34323
34343
  /* @__PURE__ */ jsxs193("div", { children: [
34324
34344
  /* @__PURE__ */ jsx253("h3", { className: "text-h3 text-ods-text-primary mb-1", children: uploadingIndex !== null ? "Uploading..." : "Upload Media" }),
34325
34345
  /* @__PURE__ */ jsx253("p", { className: "text-h6 text-ods-text-secondary", children: "Drag and drop or click to select images and videos" }),
@@ -34395,7 +34415,7 @@ function ReleaseMediaManager({
34395
34415
  }
34396
34416
  ) }),
34397
34417
  item._uploading && /* @__PURE__ */ jsx253("div", { className: "aspect-video bg-ods-bg flex items-center justify-center", children: /* @__PURE__ */ jsxs193("div", { className: "flex flex-col items-center gap-2", children: [
34398
- /* @__PURE__ */ jsx253(Loader24, { className: "h-8 w-8 animate-spin text-ods-accent" }),
34418
+ /* @__PURE__ */ jsx253(Loader25, { className: "h-8 w-8 animate-spin text-ods-accent" }),
34399
34419
  /* @__PURE__ */ jsx253("span", { className: "text-h6 text-ods-text-secondary", children: "Uploading..." })
34400
34420
  ] }) }),
34401
34421
  /* @__PURE__ */ jsxs193("div", { className: "p-3 space-y-2", children: [
@@ -34510,7 +34530,7 @@ SelectButton.displayName = "SelectButton";
34510
34530
 
34511
34531
  // src/components/features/seo-editor-preview.tsx
34512
34532
  import { useState as useState74 } from "react";
34513
- import { Globe as Globe3, ExternalLink as ExternalLink8, Upload as Upload3, X as X6, Loader2 as Loader25 } from "lucide-react";
34533
+ import { Globe as Globe3, ExternalLink as ExternalLink8, Upload as Upload3, X as X6, Loader2 as Loader26 } from "lucide-react";
34514
34534
  import { Fragment as Fragment47, jsx as jsx255, jsxs as jsxs195 } from "react/jsx-runtime";
34515
34535
  var SEO_MEDIA_BOX_HEIGHT = "h-[280px]";
34516
34536
  function SEOEditorPreview({
@@ -34694,7 +34714,7 @@ function SEOEditorPreview({
34694
34714
  {
34695
34715
  className: cn(SEO_MEDIA_BOX_HEIGHT, "border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover"),
34696
34716
  onClick: () => onOgImageUpload && fileInputRef?.click(),
34697
- children: isUploading ? /* @__PURE__ */ jsx255(Loader25, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs195(Fragment47, { children: [
34717
+ children: isUploading ? /* @__PURE__ */ jsx255(Loader26, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs195(Fragment47, { children: [
34698
34718
  /* @__PURE__ */ jsx255(Upload3, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
34699
34719
  /* @__PURE__ */ jsx255("span", { className: "text-h6 text-ods-text-secondary", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
34700
34720
  ] })
@@ -34997,7 +35017,7 @@ function StatusFilterComponent({
34997
35017
 
34998
35018
  // src/components/features/tags-selector.tsx
34999
35019
  import { useState as useState75 } from "react";
35000
- import { Search as Search2, X as X7, Plus as Plus6, Loader2 as Loader26 } from "lucide-react";
35020
+ import { Search as Search2, X as X7, Plus as Plus6, Loader2 as Loader27 } from "lucide-react";
35001
35021
  import { jsx as jsx259, jsxs as jsxs198 } from "react/jsx-runtime";
35002
35022
  function TagsSelector({
35003
35023
  availableTags,
@@ -35138,7 +35158,7 @@ function TagsSelector({
35138
35158
  type: "button",
35139
35159
  onClick: handleCreateTag,
35140
35160
  disabled: isCreating,
35141
- leftIcon: isCreating ? /* @__PURE__ */ jsx259(Loader26, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ jsx259(Plus6, { className: "w-3 h-3" }),
35161
+ leftIcon: isCreating ? /* @__PURE__ */ jsx259(Loader27, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ jsx259(Plus6, { className: "w-3 h-3" }),
35142
35162
  className: "w-full flex flex-row items-center gap-1.5 px-2 py-1 mb-2 h-auto rounded border-dashed border-ods-accent bg-ods-bg hover:bg-ods-card text-ods-accent !text-h6",
35143
35163
  children: [
35144
35164
  "Create tag: ",
@@ -36368,7 +36388,7 @@ var AIWarningsSection = ({
36368
36388
 
36369
36389
  // src/components/features/ai-enrich/AIEnrichSection.tsx
36370
36390
  init_button2();
36371
- import { CheckCircle as CheckCircle2, AlertCircle, Loader2 as Loader27, X as X9 } from "lucide-react";
36391
+ import { CheckCircle as CheckCircle2, AlertCircle, Loader2 as Loader28, X as X9 } from "lucide-react";
36372
36392
  import { jsx as jsx269, jsxs as jsxs206 } from "react/jsx-runtime";
36373
36393
  var AIEnrichSection = ({
36374
36394
  onEnrich,
@@ -36482,7 +36502,7 @@ var AIEnrichSection = ({
36482
36502
  size: "small-legacy",
36483
36503
  onClick: onCancel,
36484
36504
  disabled: isCancelling,
36485
- leftIcon: isCancelling ? /* @__PURE__ */ jsx269(Loader27, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx269(X9, { className: "h-4 w-4" }),
36505
+ leftIcon: isCancelling ? /* @__PURE__ */ jsx269(Loader28, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx269(X9, { className: "h-4 w-4" }),
36486
36506
  className: "!w-full",
36487
36507
  children: isCancelling ? "Cancelling..." : "Cancel Processing"
36488
36508
  }
@@ -36503,7 +36523,7 @@ var AIEnrichSection = ({
36503
36523
  )) })
36504
36524
  ] }),
36505
36525
  loading && statusMessage && /* @__PURE__ */ jsxs206("div", { className: "flex items-center gap-3 p-3 rounded-lg bg-ods-bg-surface", children: [
36506
- /* @__PURE__ */ jsx269(Loader27, { className: "h-5 w-5 text-ods-accent animate-spin" }),
36526
+ /* @__PURE__ */ jsx269(Loader28, { className: "h-5 w-5 text-ods-accent animate-spin" }),
36507
36527
  /* @__PURE__ */ jsx269("span", { className: "text-h6 text-ods-text-primary", children: statusMessage })
36508
36528
  ] }),
36509
36529
  hasResults && /* @__PURE__ */ jsxs206("div", { className: "space-y-4", children: [
@@ -48092,7 +48112,7 @@ function TagSearchInput({
48092
48112
  // src/components/ui/markdown-editor.tsx
48093
48113
  import { useRef as useRef71, useCallback as useCallback49, useState as useState110, useEffect as useEffect85 } from "react";
48094
48114
  init_cn();
48095
- import { Loader2 as Loader28, Upload as Upload8 } from "lucide-react";
48115
+ import { Loader2 as Loader29, Upload as Upload8 } from "lucide-react";
48096
48116
  import { jsx as jsx369, jsxs as jsxs289 } from "react/jsx-runtime";
48097
48117
  var MDEditor = dynamic(() => import("@uiw/react-md-editor"), { ssr: false });
48098
48118
  var MARKDOWN_EDITOR_STYLE_ID = "ods-markdown-editor-styles";
@@ -48232,7 +48252,7 @@ function MarkdownEditor({
48232
48252
  name: "upload",
48233
48253
  keyCommand: "upload",
48234
48254
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
48235
- icon: isUploading ? /* @__PURE__ */ jsx369(Loader28, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ jsx369(Upload8, { className: "w-3 h-3" }),
48255
+ icon: isUploading ? /* @__PURE__ */ jsx369(Loader29, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ jsx369(Upload8, { className: "w-3 h-3" }),
48236
48256
  execute: () => {
48237
48257
  fileInputRef.current?.click();
48238
48258
  }
@@ -48320,7 +48340,7 @@ function MarkdownEditor({
48320
48340
  accept: "image/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt"
48321
48341
  }
48322
48342
  ),
48323
- !MDEditor && /* @__PURE__ */ jsx369("div", { className: "flex items-center justify-center h-64", children: /* @__PURE__ */ jsx369(Loader28, { className: "h-8 w-8 animate-spin" }) }),
48343
+ !MDEditor && /* @__PURE__ */ jsx369("div", { className: "flex items-center justify-center h-64", children: /* @__PURE__ */ jsx369(Loader29, { className: "h-8 w-8 animate-spin" }) }),
48324
48344
  MDEditor && /* @__PURE__ */ jsx369(
48325
48345
  MDEditor,
48326
48346
  {
@@ -48366,7 +48386,7 @@ function MarkdownEditor({
48366
48386
 
48367
48387
  // src/components/ui/file-upload.tsx
48368
48388
  import * as React133 from "react";
48369
- import { Loader2 as Loader29 } from "lucide-react";
48389
+ import { Loader2 as Loader210 } from "lucide-react";
48370
48390
  init_cn();
48371
48391
  import { jsx as jsx370, jsxs as jsxs290 } from "react/jsx-runtime";
48372
48392
  function formatFileSize2(bytes) {
@@ -48604,7 +48624,7 @@ function FileUpload({
48604
48624
  /* @__PURE__ */ jsxs290("div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
48605
48625
  /* @__PURE__ */ jsx370("span", { className: "text-h6 text-ods-text-secondary", children: formatFileSize2(entry.fileSize) }),
48606
48626
  entry.status === "uploading" && /* @__PURE__ */ jsxs290("span", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-h6 text-ods-text-secondary", children: [
48607
- /* @__PURE__ */ jsx370(Loader29, { className: "size-3 animate-spin" }),
48627
+ /* @__PURE__ */ jsx370(Loader210, { className: "size-3 animate-spin" }),
48608
48628
  "Uploading..."
48609
48629
  ] }),
48610
48630
  entry.status === "error" && /* @__PURE__ */ jsx370("span", { className: "text-h6 text-ods-error", children: entry.error || "Upload failed" })
@@ -48692,7 +48712,7 @@ function FileUpload({
48692
48712
 
48693
48713
  // src/components/ui/image-uploader.tsx
48694
48714
  import * as React134 from "react";
48695
- import { Loader2 as Loader210 } from "lucide-react";
48715
+ import { Loader2 as Loader211 } from "lucide-react";
48696
48716
  init_cn();
48697
48717
  import { Fragment as Fragment74, jsx as jsx371, jsxs as jsxs291 } from "react/jsx-runtime";
48698
48718
  var DEFAULT_MAX_SIZE = 25 * 1024 * 1024;
@@ -48859,8 +48879,8 @@ function ImageUploader({
48859
48879
  }
48860
48880
  )
48861
48881
  ] }),
48862
- loading && /* @__PURE__ */ jsx371("div", { className: "absolute inset-0 flex items-center justify-center rounded-md bg-ods-overlay", children: /* @__PURE__ */ jsx371(Loader210, { className: "size-8 animate-spin text-ods-text-on-dark" }) })
48863
- ] }) : loading ? /* @__PURE__ */ jsx371(Loader210, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs291(Fragment74, { children: [
48882
+ loading && /* @__PURE__ */ jsx371("div", { className: "absolute inset-0 flex items-center justify-center rounded-md bg-ods-overlay", children: /* @__PURE__ */ jsx371(Loader211, { className: "size-8 animate-spin text-ods-text-on-dark" }) })
48883
+ ] }) : loading ? /* @__PURE__ */ jsx371(Loader211, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs291(Fragment74, { children: [
48864
48884
  /* @__PURE__ */ jsx371("div", { className: "flex shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-card p-[var(--spacing-system-s)]", children: /* @__PURE__ */ jsx371(ImagePlusIcon, { className: "size-6 text-ods-text-primary" }) }),
48865
48885
  /* @__PURE__ */ jsxs291("div", { className: "flex w-full flex-col items-center text-center", children: [
48866
48886
  /* @__PURE__ */ jsx371("p", { className: "text-h4 text-ods-text-primary", children: label }),
@@ -63970,4 +63990,4 @@ export {
63970
63990
  LogsList,
63971
63991
  assets
63972
63992
  };
63973
- //# sourceMappingURL=chunk-FE5QR7PT.js.map
63993
+ //# sourceMappingURL=chunk-5NVVVIHJ.js.map