@flamingo-stack/openframe-frontend-core 0.0.406 → 0.0.407-snapshot.20260711133234

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 (167) hide show
  1. package/dist/{chunk-3KEBI6TP.cjs → chunk-2B6773QM.cjs} +1 -1
  2. package/dist/chunk-2B6773QM.cjs.map +1 -0
  3. package/dist/{chunk-TFDNJTBX.js → chunk-5HOII3WB.js} +4 -4
  4. package/dist/{chunk-E6YHDT3D.js → chunk-7Q52HP45.js} +2 -2
  5. package/dist/chunk-7Q52HP45.js.map +1 -0
  6. package/dist/{chunk-VZGU4BV6.cjs → chunk-A3RW7M6B.cjs} +29 -29
  7. package/dist/{chunk-VZGU4BV6.cjs.map → chunk-A3RW7M6B.cjs.map} +1 -1
  8. package/dist/{chunk-QAFRLO5N.cjs → chunk-CUN4CJUN.cjs} +10 -11
  9. package/dist/chunk-CUN4CJUN.cjs.map +1 -0
  10. package/dist/{chunk-6WMVBCNA.js → chunk-E4J5KKHH.js} +3 -3
  11. package/dist/{chunk-P43ZHPM6.cjs → chunk-F4KE5AZO.cjs} +40 -40
  12. package/dist/{chunk-P43ZHPM6.cjs.map → chunk-F4KE5AZO.cjs.map} +1 -1
  13. package/dist/{chunk-PQN5R5II.js → chunk-IK5AR6QG.js} +7 -7
  14. package/dist/{chunk-SOK32D6C.js → chunk-IVM47EGI.js} +346 -297
  15. package/dist/chunk-IVM47EGI.js.map +1 -0
  16. package/dist/{chunk-AYFWYOL6.js → chunk-J6M2G6TD.js} +7 -7
  17. package/dist/{chunk-NA7XJRWB.js → chunk-KFQXO7QB.js} +1 -1
  18. package/dist/chunk-KFQXO7QB.js.map +1 -0
  19. package/dist/{chunk-ISYVNPRT.cjs → chunk-KPGKNUJF.cjs} +42 -42
  20. package/dist/{chunk-ISYVNPRT.cjs.map → chunk-KPGKNUJF.cjs.map} +1 -1
  21. package/dist/{chunk-GNS65HNC.cjs → chunk-KRLBVBYU.cjs} +18 -18
  22. package/dist/{chunk-GNS65HNC.cjs.map → chunk-KRLBVBYU.cjs.map} +1 -1
  23. package/dist/{chunk-ZVUR3A33.js → chunk-KZPVN7AZ.js} +2 -2
  24. package/dist/{chunk-7RVSGGO6.js → chunk-L6OPVKVR.js} +6 -6
  25. package/dist/{chunk-OATWTTCI.js → chunk-LQWYXIKB.js} +6 -6
  26. package/dist/{chunk-COERBDG4.cjs → chunk-NEMUCNCG.cjs} +75 -75
  27. package/dist/{chunk-COERBDG4.cjs.map → chunk-NEMUCNCG.cjs.map} +1 -1
  28. package/dist/{chunk-PNJ5LMVK.js → chunk-NO2KT42M.js} +9 -10
  29. package/dist/{chunk-PNJ5LMVK.js.map → chunk-NO2KT42M.js.map} +1 -1
  30. package/dist/{chunk-LSPBPUQM.js → chunk-O5W26SCL.js} +2 -2
  31. package/dist/{chunk-VANFD4FX.cjs → chunk-RL344I7V.cjs} +7 -7
  32. package/dist/{chunk-VANFD4FX.cjs.map → chunk-RL344I7V.cjs.map} +1 -1
  33. package/dist/{chunk-CF3LBCNI.cjs → chunk-RPGFIUN3.cjs} +35 -35
  34. package/dist/{chunk-CF3LBCNI.cjs.map → chunk-RPGFIUN3.cjs.map} +1 -1
  35. package/dist/{chunk-LL4QQSAD.cjs → chunk-SOALFYU6.cjs} +479 -430
  36. package/dist/chunk-SOALFYU6.cjs.map +1 -0
  37. package/dist/{chunk-CCIBZ7TO.cjs → chunk-STGWQFYT.cjs} +5 -5
  38. package/dist/chunk-STGWQFYT.cjs.map +1 -0
  39. package/dist/{chunk-VIB4SGCD.cjs → chunk-T6ZUBXPA.cjs} +14 -14
  40. package/dist/{chunk-VIB4SGCD.cjs.map → chunk-T6ZUBXPA.cjs.map} +1 -1
  41. package/dist/{chunk-HJJXNMM7.cjs → chunk-V3EZQWHQ.cjs} +7 -7
  42. package/dist/{chunk-HJJXNMM7.cjs.map → chunk-V3EZQWHQ.cjs.map} +1 -1
  43. package/dist/{chunk-3KZXOLFK.js → chunk-VUW4G6SU.js} +4 -4
  44. package/dist/{chunk-JAPP2F4M.cjs → chunk-WGOATV3P.cjs} +77 -77
  45. package/dist/{chunk-JAPP2F4M.cjs.map → chunk-WGOATV3P.cjs.map} +1 -1
  46. package/dist/{chunk-SF4G7M6U.cjs → chunk-YRKPMYI3.cjs} +15 -15
  47. package/dist/{chunk-SF4G7M6U.cjs.map → chunk-YRKPMYI3.cjs.map} +1 -1
  48. package/dist/{chunk-XXG2Z2JT.js → chunk-ZF5O3KUQ.js} +3 -3
  49. package/dist/{chunk-C3NPMZBI.js → chunk-ZMFQWMM7.js} +3 -3
  50. package/dist/components/announcement-bar.d.ts.map +1 -1
  51. package/dist/components/case-studies/index.cjs +11 -10
  52. package/dist/components/case-studies/index.cjs.map +1 -1
  53. package/dist/components/case-studies/index.js +5 -4
  54. package/dist/components/case-studies/index.js.map +1 -1
  55. package/dist/components/chat/index.cjs +5 -4
  56. package/dist/components/chat/index.cjs.map +1 -1
  57. package/dist/components/chat/index.js +4 -3
  58. package/dist/components/chat/quick-action-chip.d.ts +11 -2
  59. package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
  60. package/dist/components/contact/index.cjs +6 -5
  61. package/dist/components/contact/index.cjs.map +1 -1
  62. package/dist/components/contact/index.js +5 -4
  63. package/dist/components/docs/index.cjs +8 -8
  64. package/dist/components/docs/index.js +7 -7
  65. package/dist/components/embeds/index.cjs +6 -5
  66. package/dist/components/embeds/index.cjs.map +1 -1
  67. package/dist/components/embeds/index.js +5 -4
  68. package/dist/components/embeds/reddit-embed-client.d.ts.map +1 -1
  69. package/dist/components/faq/index.cjs +7 -6
  70. package/dist/components/faq/index.cjs.map +1 -1
  71. package/dist/components/faq/index.js +6 -5
  72. package/dist/components/features/index.cjs +5 -4
  73. package/dist/components/features/index.cjs.map +1 -1
  74. package/dist/components/features/index.js +4 -3
  75. package/dist/components/help-center-pages/index.cjs +24 -24
  76. package/dist/components/help-center-pages/index.js +15 -15
  77. package/dist/components/index.cjs +186 -180
  78. package/dist/components/index.cjs.map +1 -1
  79. package/dist/components/index.d.ts +1 -0
  80. package/dist/components/index.d.ts.map +1 -1
  81. package/dist/components/index.js +39 -33
  82. package/dist/components/index.js.map +1 -1
  83. package/dist/components/media-carousel.d.ts +28 -4
  84. package/dist/components/media-carousel.d.ts.map +1 -1
  85. package/dist/components/navigation/index.cjs +5 -4
  86. package/dist/components/navigation/index.cjs.map +1 -1
  87. package/dist/components/navigation/index.js +4 -3
  88. package/dist/components/onboarding-guides/index.cjs +9 -9
  89. package/dist/components/onboarding-guides/index.js +8 -8
  90. package/dist/components/related-content/index.cjs +7 -6
  91. package/dist/components/related-content/index.cjs.map +1 -1
  92. package/dist/components/related-content/index.js +6 -5
  93. package/dist/components/tickets/index.cjs +8 -8
  94. package/dist/components/tickets/index.js +7 -7
  95. package/dist/components/ui/index.cjs +5 -4
  96. package/dist/components/ui/index.cjs.map +1 -1
  97. package/dist/components/ui/index.js +4 -3
  98. package/dist/components/ui/tag.d.ts +3 -2
  99. package/dist/components/ui/tag.d.ts.map +1 -1
  100. package/dist/contexts/endpoints-runtime-context.d.ts +1 -1
  101. package/dist/contexts/endpoints-runtime-context.d.ts.map +1 -1
  102. package/dist/contexts/index.cjs +2 -2
  103. package/dist/contexts/index.js +1 -1
  104. package/dist/hooks/index.cjs +3 -3
  105. package/dist/hooks/index.js +2 -2
  106. package/dist/hooks/use-self-fetch.d.ts.map +1 -1
  107. package/dist/index.cjs +5 -4
  108. package/dist/index.cjs.map +1 -1
  109. package/dist/index.js +6 -5
  110. package/dist/types/announcement.cjs.map +1 -1
  111. package/dist/types/announcement.d.ts +0 -6
  112. package/dist/types/announcement.d.ts.map +1 -1
  113. package/dist/types/announcement.js.map +1 -1
  114. package/dist/types/index.cjs.map +1 -1
  115. package/dist/types/index.js.map +1 -1
  116. package/dist/utils/announcement-storage.d.ts +3 -0
  117. package/dist/utils/announcement-storage.d.ts.map +1 -1
  118. package/dist/utils/app-config.d.ts.map +1 -1
  119. package/dist/utils/color-analysis.d.ts +0 -4
  120. package/dist/utils/color-analysis.d.ts.map +1 -1
  121. package/dist/utils/index.cjs +186 -177
  122. package/dist/utils/index.cjs.map +1 -1
  123. package/dist/utils/index.js +185 -176
  124. package/dist/utils/index.js.map +1 -1
  125. package/dist/utils/media-carousel-utils-stub.d.ts +3 -1
  126. package/dist/utils/media-carousel-utils-stub.d.ts.map +1 -1
  127. package/dist/utils/ods-color-utils.d.ts +2 -1
  128. package/dist/utils/ods-color-utils.d.ts.map +1 -1
  129. package/package.json +1 -1
  130. package/src/components/announcement-bar.tsx +38 -21
  131. package/src/components/chat/quick-action-chip.tsx +18 -4
  132. package/src/components/embeds/reddit-embed-client.tsx +0 -3
  133. package/src/components/index.ts +5 -0
  134. package/src/components/media-carousel.tsx +195 -149
  135. package/src/components/ui/tag.tsx +21 -3
  136. package/src/contexts/endpoints-runtime-context.tsx +1 -1
  137. package/src/hooks/use-self-fetch.ts +10 -9
  138. package/src/stories/AnnouncementBar.stories.tsx +8 -14
  139. package/src/styles/ods-design-tokens.css +2 -0
  140. package/src/types/announcement.ts +0 -8
  141. package/src/utils/announcement-storage.ts +17 -0
  142. package/src/utils/app-config.ts +3 -2
  143. package/src/utils/color-analysis.ts +5 -2
  144. package/src/utils/media-carousel-utils-stub.ts +3 -1
  145. package/src/utils/ods-color-utils.ts +4 -7
  146. package/dist/chunk-3KEBI6TP.cjs.map +0 -1
  147. package/dist/chunk-CCIBZ7TO.cjs.map +0 -1
  148. package/dist/chunk-E6YHDT3D.js.map +0 -1
  149. package/dist/chunk-LL4QQSAD.cjs.map +0 -1
  150. package/dist/chunk-NA7XJRWB.js.map +0 -1
  151. package/dist/chunk-QAFRLO5N.cjs.map +0 -1
  152. package/dist/chunk-SOK32D6C.js.map +0 -1
  153. package/dist/utils/media-carousel-utils.d.ts +0 -10
  154. package/dist/utils/media-carousel-utils.d.ts.map +0 -1
  155. package/src/utils/.media-carousel-utils.md +0 -31
  156. package/src/utils/media-carousel-utils.ts +0 -22
  157. /package/dist/{chunk-TFDNJTBX.js.map → chunk-5HOII3WB.js.map} +0 -0
  158. /package/dist/{chunk-6WMVBCNA.js.map → chunk-E4J5KKHH.js.map} +0 -0
  159. /package/dist/{chunk-PQN5R5II.js.map → chunk-IK5AR6QG.js.map} +0 -0
  160. /package/dist/{chunk-AYFWYOL6.js.map → chunk-J6M2G6TD.js.map} +0 -0
  161. /package/dist/{chunk-ZVUR3A33.js.map → chunk-KZPVN7AZ.js.map} +0 -0
  162. /package/dist/{chunk-7RVSGGO6.js.map → chunk-L6OPVKVR.js.map} +0 -0
  163. /package/dist/{chunk-OATWTTCI.js.map → chunk-LQWYXIKB.js.map} +0 -0
  164. /package/dist/{chunk-LSPBPUQM.js.map → chunk-O5W26SCL.js.map} +0 -0
  165. /package/dist/{chunk-3KZXOLFK.js.map → chunk-VUW4G6SU.js.map} +0 -0
  166. /package/dist/{chunk-XXG2Z2JT.js.map → chunk-ZF5O3KUQ.js.map} +0 -0
  167. /package/dist/{chunk-C3NPMZBI.js.map → chunk-ZMFQWMM7.js.map} +0 -0
@@ -26,7 +26,8 @@
26
26
 
27
27
 
28
28
 
29
- var _chunkCCIBZ7TOcjs = require('./chunk-CCIBZ7TO.cjs');
29
+ var _chunkSTGWQFYTcjs = require('./chunk-STGWQFYT.cjs');
30
+
30
31
 
31
32
 
32
33
 
@@ -150,7 +151,7 @@ var _chunkBGD345ZVcjs = require('./chunk-BGD345ZV.cjs');
150
151
 
151
152
 
152
153
 
153
- var _chunk3KEBI6TPcjs = require('./chunk-3KEBI6TP.cjs');
154
+ var _chunk2B6773QMcjs = require('./chunk-2B6773QM.cjs');
154
155
 
155
156
 
156
157
  var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
@@ -424,11 +425,18 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
424
425
 
425
426
  var tagVariants = _classvarianceauthority.cva.call(void 0,
426
427
  [
427
- "text-h5 h-8 inline-flex items-center justify-center gap-[var(--spacing-system-xxs)] p-[var(--spacing-system-xsf)] rounded-md",
428
+ "inline-flex items-center justify-center rounded-md",
428
429
  "transition-colors duration-150"
429
430
  ],
430
431
  {
431
432
  variants: {
433
+ // Chip scale. `default` is the classic 32px mono-uppercase tag; `large`
434
+ // is the Figma "Feature Item" chip (48px, h3 bold body label) used by
435
+ // chip groups acting as tabs (OpenFrame categories).
436
+ size: {
437
+ default: "text-h5 h-8 gap-[var(--spacing-system-xxs)] p-[var(--spacing-system-xsf)]",
438
+ large: "text-h3 font-bold h-12 gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)]"
439
+ },
432
440
  variant: {
433
441
  primary: [
434
442
  "bg-[var(--ods-open-yellow-base)] text-[var(--ods-system-greys-black)]",
@@ -459,6 +467,15 @@ var tagVariants = _classvarianceauthority.cva.call(void 0,
459
467
  "bg-[var(--ods-system-greys-soft-grey)] text-[var(--ods-system-greys-grey)]",
460
468
  "hover:bg-[var(--ods-system-greys-soft-grey-hover)] active:bg-[var(--ods-system-greys-soft-grey-action)]"
461
469
  ],
470
+ // Active/selected chip state (Figma "Feature Item" active): pink
471
+ // border + pink-secondary fill. A dedicated variant (not appended
472
+ // utilities) so its own hover rules win — the outline variant's
473
+ // hover:bg/hover:border would otherwise repaint an active chip grey.
474
+ selected: [
475
+ "bg-[var(--ods-flamingo-pink-secondary)] text-[var(--ods-system-greys-white)] border border-[var(--ods-flamingo-pink-base)]",
476
+ "hover:bg-[var(--ods-flamingo-pink-secondary-hover)] hover:border-[var(--ods-flamingo-pink-base)]",
477
+ "active:bg-[var(--ods-flamingo-pink-secondary-action)]"
478
+ ],
462
479
  // Matches the EntityTagBadges / StatusBadge tag skin (ods-card + ods-border,
463
480
  // mono uppercase) so the tag-editor chips render identically to the public
464
481
  // tag badges. Used for FilterChipData variant 'tag' (see search-input).
@@ -469,7 +486,8 @@ var tagVariants = _classvarianceauthority.cva.call(void 0,
469
486
  }
470
487
  },
471
488
  defaultVariants: {
472
- variant: "primary"
489
+ variant: "primary",
490
+ size: "default"
473
491
  }
474
492
  }
475
493
  );
@@ -482,6 +500,7 @@ var disabledTagClasses = [
482
500
  function Tag({
483
501
  label,
484
502
  variant,
503
+ size: size2,
485
504
  icon,
486
505
  onClose,
487
506
  className,
@@ -494,14 +513,14 @@ function Tag({
494
513
  Comp,
495
514
  {
496
515
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
497
- tagVariants({ variant }),
516
+ tagVariants({ variant, size: size2 }),
498
517
  disabled && disabledTagClasses,
499
518
  className
500
519
  ),
501
520
  "aria-disabled": disabled || void 0,
502
521
  ...props,
503
522
  children: [
504
- icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center size-5 shrink-0", children: icon }),
523
+ icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex items-center justify-center shrink-0", size2 === "large" ? "size-6" : "size-5"), children: icon }),
505
524
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "truncate", labelClassName), title: typeof label === "string" ? label : void 0, children: label }),
506
525
  onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
507
526
  "button",
@@ -773,7 +792,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
773
792
  onClick: onToggle,
774
793
  className: "flex gap-[var(--spacing-system-xsf)] items-start w-full p-[var(--spacing-system-sf)] cursor-pointer text-left",
775
794
  children: [
776
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCIBZ7TOcjs.ToolIcon, { toolType, size: 16 }) }),
795
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType, size: 16 }) }),
777
796
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
778
797
  "div",
779
798
  {
@@ -2745,6 +2764,174 @@ function ColorSwatch({ color, className }) {
2745
2764
  // src/components/ui/ticket-status-tag.tsx
2746
2765
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
2747
2766
 
2767
+ // src/utils/color-analysis.ts
2768
+ var DESIGN_PALETTE = [
2769
+ { name: "yellow", hex: "#FFC008", rgb: [255, 192, 8] },
2770
+ { name: "black", hex: "#161616", rgb: [22, 22, 22] },
2771
+ { name: "gray", hex: "#888888", rgb: [136, 136, 136] }
2772
+ ];
2773
+ function hexToRgb(hex) {
2774
+ const normalized = hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (_, r, g, b) => `${r}${r}${g}${g}${b}${b}`);
2775
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(normalized);
2776
+ return result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : [0, 0, 0];
2777
+ }
2778
+ function getLuminance(rgb) {
2779
+ const [r, g, b] = rgb.map((c) => {
2780
+ c = c / 255;
2781
+ return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
2782
+ });
2783
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b;
2784
+ }
2785
+ function getContrastRatio(color1, color2) {
2786
+ const lum1 = getLuminance(color1);
2787
+ const lum2 = getLuminance(color2);
2788
+ const brightest = Math.max(lum1, lum2);
2789
+ const darkest = Math.min(lum1, lum2);
2790
+ return (brightest + 0.05) / (darkest + 0.05);
2791
+ }
2792
+ function pickReadableTextColor(bgHex) {
2793
+ const bg = hexToRgb(bgHex);
2794
+ const darkContrast = getContrastRatio(bg, [26, 26, 26]);
2795
+ const lightContrast = getContrastRatio(bg, [250, 250, 250]);
2796
+ return darkContrast >= lightContrast ? "dark" : "light";
2797
+ }
2798
+ function extractDominantColor(canvas) {
2799
+ const ctx = canvas.getContext("2d");
2800
+ if (!ctx) return [128, 128, 128];
2801
+ const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
2802
+ const data = imageData.data;
2803
+ const sampleSize = Math.max(1, Math.floor(data.length / (4 * 1e3)));
2804
+ const colorCounts = {};
2805
+ for (let i = 0; i < data.length; i += 4 * sampleSize) {
2806
+ const r = data[i];
2807
+ const g = data[i + 1];
2808
+ const b = data[i + 2];
2809
+ const alpha = data[i + 3];
2810
+ if (alpha < 128) continue;
2811
+ const bucketR = Math.round(r / 32) * 32;
2812
+ const bucketG = Math.round(g / 32) * 32;
2813
+ const bucketB = Math.round(b / 32) * 32;
2814
+ const key = `${bucketR},${bucketG},${bucketB}`;
2815
+ colorCounts[key] = (colorCounts[key] || 0) + 1;
2816
+ }
2817
+ let maxCount = 0;
2818
+ let dominantColor = [128, 128, 128];
2819
+ for (const [colorKey, count] of Object.entries(colorCounts)) {
2820
+ if (count > maxCount) {
2821
+ maxCount = count;
2822
+ const [r, g, b] = colorKey.split(",").map(Number);
2823
+ dominantColor = [r, g, b];
2824
+ }
2825
+ }
2826
+ return dominantColor;
2827
+ }
2828
+ function getBestContrastColor(imageColor) {
2829
+ let bestColor = DESIGN_PALETTE[0];
2830
+ let bestContrast = 0;
2831
+ for (const color of DESIGN_PALETTE) {
2832
+ const contrast = getContrastRatio(imageColor, color.rgb);
2833
+ if (contrast > bestContrast) {
2834
+ bestContrast = contrast;
2835
+ bestColor = color;
2836
+ }
2837
+ }
2838
+ return bestContrast >= 3 ? bestColor : DESIGN_PALETTE.find((c) => c.name === "black") || bestColor;
2839
+ }
2840
+ function analyzeImageColor(imageSrc) {
2841
+ return new Promise((resolve, reject) => {
2842
+ const img = new Image();
2843
+ img.crossOrigin = "anonymous";
2844
+ img.onload = () => {
2845
+ try {
2846
+ const canvas = document.createElement("canvas");
2847
+ const ctx = canvas.getContext("2d");
2848
+ if (!ctx) {
2849
+ reject(new Error("Could not get canvas context"));
2850
+ return;
2851
+ }
2852
+ const maxSize = 100;
2853
+ const scale = Math.min(maxSize / img.width, maxSize / img.height);
2854
+ canvas.width = img.width * scale;
2855
+ canvas.height = img.height * scale;
2856
+ ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
2857
+ const dominantColor = extractDominantColor(canvas);
2858
+ const bestContrastColor = getBestContrastColor(dominantColor);
2859
+ resolve(bestContrastColor);
2860
+ } catch (error) {
2861
+ reject(error);
2862
+ }
2863
+ };
2864
+ img.onerror = () => reject(new Error("Failed to load image"));
2865
+ img.src = imageSrc;
2866
+ });
2867
+ }
2868
+ async function extractImageEdgeColorAsync(imageUrl) {
2869
+ return new Promise((resolve) => {
2870
+ if (typeof window === "undefined") {
2871
+ resolve("#000000");
2872
+ return;
2873
+ }
2874
+ const img = new Image();
2875
+ img.crossOrigin = "anonymous";
2876
+ img.onload = () => {
2877
+ try {
2878
+ const canvas = document.createElement("canvas");
2879
+ const ctx = canvas.getContext("2d");
2880
+ if (!ctx) {
2881
+ resolve("#000000");
2882
+ return;
2883
+ }
2884
+ const maxSize = 50;
2885
+ const scale = Math.min(maxSize / img.naturalWidth, maxSize / img.naturalHeight);
2886
+ const w = Math.round(img.naturalWidth * scale);
2887
+ const h = Math.round(img.naturalHeight * scale);
2888
+ canvas.width = w;
2889
+ canvas.height = h;
2890
+ ctx.drawImage(img, 0, 0, w, h);
2891
+ const data = ctx.getImageData(0, 0, w, h).data;
2892
+ const edgeW = Math.max(2, Math.round(w * 0.15));
2893
+ const edgeH = Math.max(2, Math.round(h * 0.15));
2894
+ const bucketSize = 32;
2895
+ const buckets = /* @__PURE__ */ new Map();
2896
+ for (let y = 0; y < h; y++) {
2897
+ for (let x = 0; x < w; x++) {
2898
+ if (!(x < edgeW || x >= w - edgeW || y < edgeH || y >= h - edgeH)) continue;
2899
+ const i = (y * w + x) * 4;
2900
+ if (data[i + 3] < 128) continue;
2901
+ const br = Math.floor(data[i] / bucketSize) * bucketSize;
2902
+ const bg = Math.floor(data[i + 1] / bucketSize) * bucketSize;
2903
+ const bb = Math.floor(data[i + 2] / bucketSize) * bucketSize;
2904
+ const key = `${br},${bg},${bb}`;
2905
+ const existing = buckets.get(key);
2906
+ if (existing) {
2907
+ existing.r += data[i];
2908
+ existing.g += data[i + 1];
2909
+ existing.b += data[i + 2];
2910
+ existing.count++;
2911
+ } else {
2912
+ buckets.set(key, { r: data[i], g: data[i + 1], b: data[i + 2], count: 1 });
2913
+ }
2914
+ }
2915
+ }
2916
+ let best = { r: 0, g: 0, b: 0, count: 0 };
2917
+ for (const b2 of buckets.values()) {
2918
+ if (b2.count > best.count) best = b2;
2919
+ }
2920
+ if (best.count === 0) {
2921
+ resolve("#000000");
2922
+ return;
2923
+ }
2924
+ const r = Math.round(best.r / best.count), g = Math.round(best.g / best.count), b = Math.round(best.b / best.count);
2925
+ resolve(`#${r.toString(16).padStart(2, "0")}${g.toString(16).padStart(2, "0")}${b.toString(16).padStart(2, "0")}`);
2926
+ } catch (e6) {
2927
+ resolve("#000000");
2928
+ }
2929
+ };
2930
+ img.onerror = () => resolve("#000000");
2931
+ img.src = imageUrl;
2932
+ });
2933
+ }
2934
+
2748
2935
  // src/utils/ods-color-utils.ts
2749
2936
  function getPlatformAccentColor(platform) {
2750
2937
  const currentPlatform = platform || getCurrentPlatform();
@@ -2769,18 +2956,13 @@ function getCurrentPlatform() {
2769
2956
  return process.env.NEXT_PUBLIC_APP_TYPE || "openmsp";
2770
2957
  }
2771
2958
  function getReadableTextColor(hex) {
2772
- const n = parseInt(hex.replace("#", ""), 16);
2773
- const r = n >> 16 & 255;
2774
- const g = n >> 8 & 255;
2775
- const b = n & 255;
2776
- const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
2777
- return luminance > 0.5 ? "#212121" : "#fafafa";
2959
+ return pickReadableTextColor(hex) === "dark" ? "#212121" : "#fafafa";
2778
2960
  }
2779
2961
  var HEX_PATTERN = /^#[0-9a-fA-F]{6}$/;
2780
2962
  function clamp(n, min, max) {
2781
2963
  return Math.max(min, Math.min(max, n));
2782
2964
  }
2783
- function hexToRgb(hex) {
2965
+ function hexToRgb2(hex) {
2784
2966
  if (!HEX_PATTERN.test(hex)) return null;
2785
2967
  const n = Number.parseInt(hex.slice(1), 16);
2786
2968
  return { r: n >> 16 & 255, g: n >> 8 & 255, b: n & 255 };
@@ -2792,7 +2974,7 @@ function rgbToHex(r, g, b) {
2792
2974
  var HOVER_DARKEN_STEP = 10;
2793
2975
  var ACTIVE_DARKEN_STEP = 20;
2794
2976
  function darkenByStep(hex, step) {
2795
- const rgb = hexToRgb(hex);
2977
+ const rgb = hexToRgb2(hex);
2796
2978
  if (!rgb) return hex;
2797
2979
  return rgbToHex(rgb.r - step, rgb.g - step, rgb.b - step);
2798
2980
  }
@@ -4359,7 +4541,7 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
4359
4541
  setIsStopping(true);
4360
4542
  try {
4361
4543
  await onStop();
4362
- } catch (e6) {
4544
+ } catch (e7) {
4363
4545
  setIsStopping(false);
4364
4546
  }
4365
4547
  }, [onStop, isStopping]);
@@ -4691,7 +4873,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
4691
4873
  className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
4692
4874
  onClick: () => setExpanded((prev) => !prev),
4693
4875
  children: [
4694
- !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCIBZ7TOcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4876
+ !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4695
4877
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4696
4878
  "div",
4697
4879
  {
@@ -6110,7 +6292,7 @@ function getProxiedImageUrl(imageUrl, options) {
6110
6292
  function urlPathLooksLikeSvg(imageUrl) {
6111
6293
  try {
6112
6294
  return /\.svg$/i.test(new URL(imageUrl).pathname);
6113
- } catch (e7) {
6295
+ } catch (e8) {
6114
6296
  return /\.svg(\?|#|$)/i.test(imageUrl);
6115
6297
  }
6116
6298
  }
@@ -6126,7 +6308,7 @@ function generateImageSizes(_url) {
6126
6308
 
6127
6309
  // src/components/chat/hooks/use-proxied-image-url.ts
6128
6310
  function useProxiedImageUrl(url) {
6129
- const r = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
6311
+ const r = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
6130
6312
  return _nullishCoalesce(getProxiedImageUrl(_nullishCoalesce(url, () => ( "")), {
6131
6313
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
6132
6314
  skipDomains: r.endpoints.imageProxySkipDomains,
@@ -6341,13 +6523,14 @@ function composeChipLabel(label, lozenge) {
6341
6523
  function ChipSkelBar({ className, style }) {
6342
6524
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, className: _chunkFIG2RKZFcjs.cn.call(void 0, "animate-pulse rounded-md bg-ods-border", className), style });
6343
6525
  }
6344
- function QuickActionChipSkeleton({ labelCh = 16, icon = true, lozenge = false, className }) {
6526
+ function QuickActionChipSkeleton({ labelCh = 16, icon = true, lozenge = false, size: size2 = "default", className }) {
6345
6527
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6346
6528
  Tag,
6347
6529
  {
6348
6530
  variant: "outline",
6531
+ size: size2,
6349
6532
  className,
6350
- icon: icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: "block size-4" }) : void 0,
6533
+ icon: icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: size2 === "large" ? "block size-5" : "block size-4" }) : void 0,
6351
6534
  label: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
6352
6535
  lozenge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: "mr-2 inline-block h-[16px] w-[26px] translate-y-[2px]" }),
6353
6536
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: "inline-block h-[0.9em] translate-y-[0.08em]", style: { width: `${labelCh}ch` } })
@@ -6360,6 +6543,8 @@ function QuickActionChipButton({
6360
6543
  icon,
6361
6544
  lozenge,
6362
6545
  variant = "outline",
6546
+ selected = false,
6547
+ size: size2 = "default",
6363
6548
  onSelect,
6364
6549
  onHoverStart,
6365
6550
  onHoverEnd,
@@ -6368,8 +6553,9 @@ function QuickActionChipButton({
6368
6553
  }) {
6369
6554
  const resolvedIcon = renderQuickActionIcon(icon);
6370
6555
  const resolvedLabel = composeChipLabel(label, lozenge);
6556
+ const tagVariant = selected ? "selected" : variant;
6371
6557
  if (!interactive) {
6372
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant, icon: resolvedIcon, label: resolvedLabel, className });
6558
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: tagVariant, size: size2, icon: resolvedIcon, label: resolvedLabel, className });
6373
6559
  }
6374
6560
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6375
6561
  "button",
@@ -6380,11 +6566,12 @@ function QuickActionChipButton({
6380
6566
  onMouseLeave: onHoverEnd,
6381
6567
  onFocus: onHoverStart,
6382
6568
  onBlur: onHoverEnd,
6569
+ "aria-pressed": selected || void 0,
6383
6570
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
6384
6571
  "shrink-0 rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
6385
6572
  className
6386
6573
  ),
6387
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant, icon: resolvedIcon, label: resolvedLabel })
6574
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: tagVariant, size: size2, icon: resolvedIcon, label: resolvedLabel })
6388
6575
  }
6389
6576
  );
6390
6577
  }
@@ -6410,7 +6597,7 @@ function ChatQuickActionRow({
6410
6597
  wrap = false,
6411
6598
  className
6412
6599
  }) {
6413
- const auto = _chunkCCIBZ7TOcjs.useAutoLimitTags.call(void 0, {
6600
+ const auto = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
6414
6601
  count: chips.length,
6415
6602
  reserveInputWidth: false
6416
6603
  });
@@ -6997,7 +7184,7 @@ function DialogSearchBar({
6997
7184
  onSearchChange
6998
7185
  }) {
6999
7186
  const [value, setValue] = React16.useState(_nullishCoalesce(initialValue, () => ( "")));
7000
- const debounced = _chunkCCIBZ7TOcjs.useDebounce.call(void 0, value, 300);
7187
+ const debounced = _chunkSTGWQFYTcjs.useDebounce.call(void 0, value, 300);
7001
7188
  const lastEmitted = React16.useRef(_nullishCoalesce(initialValue, () => ( "")));
7002
7189
  React16.useEffect(() => {
7003
7190
  if (debounced === lastEmitted.current) return;
@@ -7154,7 +7341,7 @@ function MingoWelcome({
7154
7341
  try {
7155
7342
  const store = promoStorage === "session" ? window.sessionStorage : window.localStorage;
7156
7343
  if (store.getItem(promoStorageKey) === "1") setPromoDismissed(true);
7157
- } catch (e8) {
7344
+ } catch (e9) {
7158
7345
  }
7159
7346
  }, [resolvedPromo, promoStorage, promoStorageKey]);
7160
7347
  const dismissPromo = React17.useCallback(() => {
@@ -7162,7 +7349,7 @@ function MingoWelcome({
7162
7349
  try {
7163
7350
  const store = promoStorage === "session" ? window.sessionStorage : window.localStorage;
7164
7351
  store.setItem(promoStorageKey, "1");
7165
- } catch (e9) {
7352
+ } catch (e10) {
7166
7353
  }
7167
7354
  }, [promoStorage, promoStorageKey]);
7168
7355
  const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = useScrollFade();
@@ -8744,7 +8931,7 @@ function isSameOriginAbsoluteHref(href) {
8744
8931
  if (!/^https?:\/\//i.test(href)) return false;
8745
8932
  try {
8746
8933
  return new URL(href).origin === window.location.origin;
8747
- } catch (e10) {
8934
+ } catch (e11) {
8748
8935
  return false;
8749
8936
  }
8750
8937
  }
@@ -8774,7 +8961,7 @@ function stripSameOriginToPath(href) {
8774
8961
  try {
8775
8962
  const u = new URL(href);
8776
8963
  return u.pathname + u.search + u.hash;
8777
- } catch (e11) {
8964
+ } catch (e12) {
8778
8965
  return href;
8779
8966
  }
8780
8967
  }
@@ -8820,7 +9007,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
8820
9007
  return;
8821
9008
  }
8822
9009
  const target = stripSameOriginToPath(href);
8823
- if (target.includes("#") && _chunkCCIBZ7TOcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkCCIBZ7TOcjs.STICKY_HEADER_OFFSET_PX })) {
9010
+ if (target.includes("#") && _chunkSTGWQFYTcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkSTGWQFYTcjs.STICKY_HEADER_OFFSET_PX })) {
8824
9011
  return;
8825
9012
  }
8826
9013
  const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _141 => _141.navigation, 'access', _142 => _142.navigate, 'optionalCall', _143 => _143({ href, path, targetPlatform })]), () => ( false));
@@ -8877,7 +9064,7 @@ function NavLinkAnchorViaRuntime({
8877
9064
  className,
8878
9065
  children
8879
9066
  }) {
8880
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
9067
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
8881
9068
  const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
8882
9069
  const panel = useChatPanel();
8883
9070
  const resolvedHref = resolveHrefForRuntime(href, runtime);
@@ -9259,7 +9446,7 @@ function EntityPortraitCard({
9259
9446
  setIsWide(img.naturalWidth / img.naturalHeight >= MIN_WIDE_RATIO);
9260
9447
  }
9261
9448
  };
9262
- const edgeColor = _chunkCCIBZ7TOcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--ods-bg-secondary)");
9449
+ const edgeColor = _chunkSTGWQFYTcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--ods-bg-secondary)");
9263
9450
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, "block h-full", className), "aria-label": `Open ${title}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { className: "bg-ods-card border border-ods-border hover:border-ods-accent hover:shadow-lg hover:shadow-ods-accent/[0.08] transition-all duration-200 p-6 flex flex-col gap-6 overflow-hidden h-full", children: [
9264
9451
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9265
9452
  "div",
@@ -9566,7 +9753,7 @@ function AdminContentCard({
9566
9753
  const [imageError, setImageError] = _react.useState.call(void 0, false);
9567
9754
  const [imageLoaded, setImageLoaded] = _react.useState.call(void 0, false);
9568
9755
  const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
9569
- const imageBgColor = _chunkCCIBZ7TOcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
9756
+ const imageBgColor = _chunkSTGWQFYTcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
9570
9757
  _react.useEffect.call(void 0, () => {
9571
9758
  setImageLoaded(false);
9572
9759
  }, [displayUrl]);
@@ -9817,7 +10004,7 @@ if (typeof window !== "undefined") {
9817
10004
  activationWaiters.forEach((fn) => {
9818
10005
  try {
9819
10006
  fn();
9820
- } catch (e12) {
10007
+ } catch (e13) {
9821
10008
  }
9822
10009
  });
9823
10010
  activationWaiters.clear();
@@ -9839,7 +10026,7 @@ var YT_HOSTS = /* @__PURE__ */ new Set([
9839
10026
  function isYouTubeUrl(url) {
9840
10027
  try {
9841
10028
  return YT_HOSTS.has(new URL(url, "http://placeholder.local").hostname.toLowerCase());
9842
- } catch (e13) {
10029
+ } catch (e14) {
9843
10030
  return false;
9844
10031
  }
9845
10032
  }
@@ -9851,7 +10038,7 @@ function extractYouTubeId(url) {
9851
10038
  let u;
9852
10039
  try {
9853
10040
  u = new URL(url, "http://placeholder.local");
9854
- } catch (e14) {
10041
+ } catch (e15) {
9855
10042
  return null;
9856
10043
  }
9857
10044
  if (!YT_HOSTS.has(u.hostname.toLowerCase())) return null;
@@ -9977,7 +10164,7 @@ function FilePlayer({
9977
10164
  _optionalChain([el, 'access', _160 => _160.play, 'optionalCall', _161 => _161(), 'optionalAccess', _162 => _162.catch, 'optionalCall', _163 => _163(() => {
9978
10165
  })]);
9979
10166
  setHoverMutedFallback(true);
9980
- } catch (e15) {
10167
+ } catch (e16) {
9981
10168
  }
9982
10169
  }
9983
10170
  })]);
@@ -9993,7 +10180,7 @@ function FilePlayer({
9993
10180
  try {
9994
10181
  el.muted = false;
9995
10182
  el.volume = 0.5;
9996
- } catch (e16) {
10183
+ } catch (e17) {
9997
10184
  }
9998
10185
  setHoverMutedFallback(false);
9999
10186
  }
@@ -10001,7 +10188,7 @@ function FilePlayer({
10001
10188
  activationWaiterRef.current = waiter;
10002
10189
  activationWaiters.add(waiter);
10003
10190
  }
10004
- } catch (e17) {
10191
+ } catch (e18) {
10005
10192
  }
10006
10193
  }, []);
10007
10194
  const stopHoverPlayback = _react.useCallback.call(void 0, () => {
@@ -10010,7 +10197,7 @@ function FilePlayer({
10010
10197
  clearActivationWaiter();
10011
10198
  try {
10012
10199
  _optionalChain([hoverPlayerRef, 'access', _168 => _168.current, 'optionalAccess', _169 => _169.pause, 'optionalCall', _170 => _170()]);
10013
- } catch (e18) {
10200
+ } catch (e19) {
10014
10201
  }
10015
10202
  }, [clearActivationWaiter]);
10016
10203
  const unmuteNow = _react.useCallback.call(void 0, (e) => {
@@ -10024,7 +10211,7 @@ function FilePlayer({
10024
10211
  _optionalChain([el, 'access', _171 => _171.play, 'optionalCall', _172 => _172(), 'optionalAccess', _173 => _173.catch, 'optionalCall', _174 => _174(() => {
10025
10212
  })]);
10026
10213
  }
10027
- } catch (e19) {
10214
+ } catch (e20) {
10028
10215
  }
10029
10216
  setHoverMutedFallback(false);
10030
10217
  }, []);
@@ -10178,7 +10365,7 @@ function YouTubeFacadeInner({
10178
10365
  let payload = null;
10179
10366
  try {
10180
10367
  payload = JSON.parse(event.data);
10181
- } catch (e20) {
10368
+ } catch (e21) {
10182
10369
  return;
10183
10370
  }
10184
10371
  if (!payload || payload.event !== "infoDelivery") return;
@@ -10264,7 +10451,7 @@ var MUX_IMAGE_ORIGIN = "https://image.mux.com";
10264
10451
  function useVideoOriginPreconnect({
10265
10452
  supabaseStorageOrigin
10266
10453
  } = {}) {
10267
- const runtime = _chunk3KEBI6TPcjs.useChatRuntime.call(void 0, );
10454
+ const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
10268
10455
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _183 => _183.endpoints, 'access', _184 => _184.supabaseStorageOrigin])));
10269
10456
  try {
10270
10457
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
@@ -10283,10 +10470,10 @@ function useVideoWarmup({
10283
10470
  supabaseStorageOrigin,
10284
10471
  nearMargin = "1000px"
10285
10472
  } = {}) {
10286
- const runtime = _chunk3KEBI6TPcjs.useChatRuntime.call(void 0, );
10473
+ const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
10287
10474
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _185 => _185.endpoints, 'access', _186 => _186.supabaseStorageOrigin])));
10288
10475
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
10289
- const { ref, isNear } = _chunkCCIBZ7TOcjs.useNearViewport.call(void 0, nearMargin);
10476
+ const { ref, isNear } = _chunkSTGWQFYTcjs.useNearViewport.call(void 0, nearMargin);
10290
10477
  _react.useEffect.call(void 0, () => {
10291
10478
  if (!isNear || !videoUrl || !resolvedOrigin) return;
10292
10479
  const conn = navigator.connection;
@@ -10294,7 +10481,7 @@ function useVideoWarmup({
10294
10481
  let videoOrigin;
10295
10482
  try {
10296
10483
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
10297
- } catch (e21) {
10484
+ } catch (e22) {
10298
10485
  return;
10299
10486
  }
10300
10487
  if (videoOrigin !== resolvedOrigin) return;
@@ -11866,7 +12053,7 @@ function useEntityCardLink({
11866
12053
  target,
11867
12054
  rel
11868
12055
  }) {
11869
- const runtime = _chunk3KEBI6TPcjs.useChatRuntime.call(void 0, );
12056
+ const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
11870
12057
  return _react.useMemo.call(void 0, () => {
11871
12058
  if (target !== void 0 || rel !== void 0) {
11872
12059
  const safeRel = _nullishCoalesce(rel, () => ( (target === "_blank" ? "noopener noreferrer" : void 0)));
@@ -11884,7 +12071,7 @@ function useEntityCardPlaceholder({
11884
12071
  siteName = "",
11885
12072
  aspect = "wide"
11886
12073
  }) {
11887
- const derived = _chunkCCIBZ7TOcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
12074
+ const derived = _chunkSTGWQFYTcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
11888
12075
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
11889
12076
  }
11890
12077
 
@@ -11917,7 +12104,7 @@ function safeHref(url) {
11917
12104
  if (!SAFE_URL_SCHEMES.includes(parsed.protocol)) return null;
11918
12105
  if ((parsed.protocol === "https:" || parsed.protocol === "http:") && !parsed.hostname) return null;
11919
12106
  return trimmed;
11920
- } catch (e22) {
12107
+ } catch (e23) {
11921
12108
  return null;
11922
12109
  }
11923
12110
  }
@@ -13155,7 +13342,7 @@ function AutocompleteInner(props, ref) {
13155
13342
  }, [valueArray, options]);
13156
13343
  const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
13157
13344
  const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
13158
- const autoLimitTags = _chunkCCIBZ7TOcjs.useAutoLimitTags.call(void 0, {
13345
+ const autoLimitTags = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
13159
13346
  count: multiple ? selectedOptions.length : 0,
13160
13347
  limitTags: multiple ? limitTagsProp : 0,
13161
13348
  placeholder: inputPlaceholder
@@ -13896,7 +14083,7 @@ function DatePickerCalendar({
13896
14083
  fluid = false
13897
14084
  }) {
13898
14085
  const today = /* @__PURE__ */ new Date();
13899
- const isMdUp = _nullishCoalesce(_chunkCCIBZ7TOcjs.useMdUp.call(void 0, ), () => ( true));
14086
+ const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( true));
13900
14087
  const monthsToShow = isMdUp ? numberOfMonths : 1;
13901
14088
  const [draftRange, setDraftRange] = React43.useState(
13902
14089
  mode === "range" ? selected : void 0
@@ -14920,7 +15107,7 @@ var ProgressBar = ({
14920
15107
  mobileHeight = 8,
14921
15108
  inverted = false
14922
15109
  }) => {
14923
- const isMdUp = _nullishCoalesce(_chunkCCIBZ7TOcjs.useMdUp.call(void 0, ), () => ( true));
15110
+ const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( true));
14924
15111
  const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
14925
15112
  const effectiveHeight = isMdUp ? height : mobileHeight;
14926
15113
  const containerRef = _react.useRef.call(void 0, null);
@@ -15047,7 +15234,7 @@ function InfoCardFooter({ footer }) {
15047
15234
  ] });
15048
15235
  }
15049
15236
  function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
15050
- const { copy, copied } = _chunkCCIBZ7TOcjs.useCopyToClipboard.call(void 0, );
15237
+ const { copy, copied } = _chunkSTGWQFYTcjs.useCopyToClipboard.call(void 0, );
15051
15238
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
15052
15239
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
15053
15240
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
@@ -17192,7 +17379,7 @@ function useResizableSize({
17192
17379
  const parsed = parseFloat(raw);
17193
17380
  if (!Number.isFinite(parsed)) return clampToViewport(defaultSize);
17194
17381
  return clampToViewport(parsed);
17195
- } catch (e23) {
17382
+ } catch (e24) {
17196
17383
  return clampToViewport(defaultSize);
17197
17384
  }
17198
17385
  }, [enabled, storageKey, defaultSize, clampToViewport]);
@@ -17205,7 +17392,7 @@ function useResizableSize({
17205
17392
  if (!enabled || !storageKey || typeof window === "undefined") return;
17206
17393
  try {
17207
17394
  window.localStorage.setItem(storageKey, String(Math.round(size2)));
17208
- } catch (e24) {
17395
+ } catch (e25) {
17209
17396
  }
17210
17397
  }, [enabled, size2, storageKey]);
17211
17398
  React63.useEffect(() => {
@@ -17248,7 +17435,7 @@ function DrawerResizeHandle({
17248
17435
  startRef.current = null;
17249
17436
  try {
17250
17437
  e.currentTarget.releasePointerCapture(e.pointerId);
17251
- } catch (e25) {
17438
+ } catch (e26) {
17252
17439
  }
17253
17440
  document.body.style.cursor = "";
17254
17441
  document.body.style.userSelect = "";
@@ -17340,7 +17527,7 @@ var DrawerContent = React63.forwardRef(
17340
17527
  const resolvedSide = _nullishCoalesce(side, () => ( "right"));
17341
17528
  const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
17342
17529
  const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
17343
- const headerHeight = _chunkCCIBZ7TOcjs.useHeaderHeight.call(void 0, );
17530
+ const headerHeight = _chunkSTGWQFYTcjs.useHeaderHeight.call(void 0, );
17344
17531
  const [isMobile, setIsMobile] = React63.useState(false);
17345
17532
  React63.useEffect(() => {
17346
17533
  if (typeof window === "undefined") return;
@@ -18401,7 +18588,7 @@ var SocialEmbedCache = class _SocialEmbedCache {
18401
18588
  let errorData = null;
18402
18589
  try {
18403
18590
  errorData = await response.json();
18404
- } catch (e26) {
18591
+ } catch (e27) {
18405
18592
  }
18406
18593
  if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _387 => _387.error]) && _optionalChain([errorData, 'optionalAccess', _388 => _388.message])) {
18407
18594
  console.log(`\u{1F6AB} [${platformName} Proxy] Content unavailable: ${errorData.message}`);
@@ -18521,6 +18708,7 @@ var socialCache = SocialEmbedCache.getInstance();
18521
18708
  // src/components/media-carousel.tsx
18522
18709
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
18523
18710
 
18711
+ _chunkBX3R44MRcjs.init_button2.call(void 0, );
18524
18712
 
18525
18713
  var ChevronLeftIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "24", height: "24", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polyline", { points: "15,18 9,12 15,6" }) });
18526
18714
  var ChevronRightIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "24", height: "24", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polyline", { points: "9,18 15,12 9,6" }) });
@@ -18528,27 +18716,28 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18528
18716
  media,
18529
18717
  className,
18530
18718
  aspectRatio = "16/9",
18531
- showThumbnails = true,
18532
- autoPlay = false,
18533
- objectFit = "contain"
18719
+ showArrows = true,
18720
+ objectFit = "contain",
18721
+ posterPriority = false,
18722
+ transformImageSrc,
18723
+ reserveDotRow = false
18534
18724
  }) {
18535
18725
  const [currentIndex, setCurrentIndex] = _react.useState.call(void 0, 0);
18536
18726
  const [touchStart, setTouchStart] = _react.useState.call(void 0, null);
18537
18727
  const [touchEnd, setTouchEnd] = _react.useState.call(void 0, null);
18728
+ const [brokenResourceUrls, setBrokenResourceUrls] = _react.useState.call(void 0, {});
18729
+ const [loadedImageSrc, setLoadedImageSrc] = _react.useState.call(void 0, null);
18538
18730
  const carouselRef = _react.useRef.call(void 0, null);
18539
- const thumbnailsRef = _react.useRef.call(void 0, null);
18731
+ const onImageError = _react.useCallback.call(void 0, (originalUrl) => {
18732
+ const key = originalUrl.trim() || "__missing_src__";
18733
+ setBrokenResourceUrls((b) => b[key] ? b : { ...b, [key]: true });
18734
+ }, []);
18540
18735
  _react.useEffect.call(void 0, () => {
18541
18736
  if (currentIndex >= media.length && media.length > 0) {
18542
18737
  setCurrentIndex(media.length - 1);
18543
18738
  }
18544
18739
  }, [media.length, currentIndex]);
18545
- if (!media || media.length === 0) {
18546
- return null;
18547
- }
18548
18740
  const currentItem = media[currentIndex] || media[0];
18549
- if (!currentItem) {
18550
- return null;
18551
- }
18552
18741
  const nextSlide = _react.useCallback.call(void 0, () => {
18553
18742
  setCurrentIndex((prev) => (prev + 1) % media.length);
18554
18743
  }, [media.length]);
@@ -18556,9 +18745,8 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18556
18745
  setCurrentIndex((prev) => (prev - 1 + media.length) % media.length);
18557
18746
  }, [media.length]);
18558
18747
  const selectSlide = _react.useCallback.call(void 0, (index) => {
18559
- if (index === currentIndex) return;
18560
- setCurrentIndex(index);
18561
- }, [currentIndex]);
18748
+ setCurrentIndex((prev) => index === prev ? prev : index);
18749
+ }, []);
18562
18750
  const handleKeyDown = _react.useCallback.call(void 0, (e) => {
18563
18751
  if (media.length <= 1) return;
18564
18752
  if (e.key === "ArrowLeft") {
@@ -18569,6 +18757,12 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18569
18757
  nextSlide();
18570
18758
  }
18571
18759
  }, [nextSlide, prevSlide, media.length]);
18760
+ if (!media || media.length === 0) {
18761
+ return null;
18762
+ }
18763
+ if (!currentItem) {
18764
+ return null;
18765
+ }
18572
18766
  const minSwipeDistance = 50;
18573
18767
  const onTouchStart = (e) => {
18574
18768
  setTouchEnd(null);
@@ -18578,7 +18772,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18578
18772
  setTouchEnd(e.targetTouches[0].clientX);
18579
18773
  };
18580
18774
  const onTouchEnd = () => {
18581
- if (!touchStart || !touchEnd) return;
18775
+ if (touchStart === null || touchEnd === null) return;
18582
18776
  const distance = touchStart - touchEnd;
18583
18777
  const isLeftSwipe = distance > minSwipeDistance;
18584
18778
  const isRightSwipe = distance < -minSwipeDistance;
@@ -18589,43 +18783,77 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18589
18783
  prevSlide();
18590
18784
  }
18591
18785
  };
18592
- const renderYouTubeEmbed = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18593
- Video2,
18594
- {
18595
- kind: "youtube",
18596
- url: item.src,
18597
- title: item.alt || `Video ${index + 1}`,
18598
- layout: "fill",
18599
- priority: index === currentIndex
18600
- }
18601
- );
18786
+ const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
18602
18787
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18603
18788
  Video2,
18604
18789
  {
18605
18790
  url: item.src,
18606
- poster: item.poster,
18791
+ poster: item.poster ? displayImageSrc(item.poster) : void 0,
18792
+ title: item.alt || `Video ${index + 1}`,
18607
18793
  muted: true,
18608
18794
  layout: "fill",
18609
- priority: index === currentIndex
18610
- }
18795
+ priority: Boolean(posterPriority && index === 0),
18796
+ className: "w-full h-full bg-black"
18797
+ },
18798
+ `video-${index}-${item.src}`
18611
18799
  );
18612
- const renderImage = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 bg-black", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18613
- "img",
18614
- {
18615
- src: item.src,
18616
- alt: item.alt || `Media ${index + 1}`,
18617
- className: `w-full h-full object-${objectFit}`,
18618
- loading: "lazy",
18619
- onError: (e) => {
18620
- const target = e.target;
18621
- target.style.display = "none";
18800
+ const renderImageUnavailable = (failedUrl) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute inset-0 flex flex-col items-center justify-center gap-3 bg-ods-card px-6 text-center", children: [
18801
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.ImageOffIcon, { className: "size-8 text-ods-text-secondary" }),
18802
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-sm max-w-md", children: "This image is no longer available at the original URL." }),
18803
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18804
+ _chunkWBR7H6E3cjs.next_link_default,
18805
+ {
18806
+ href: failedUrl,
18807
+ target: "_blank",
18808
+ rel: "noopener noreferrer",
18809
+ className: "text-ods-accent text-sm underline break-all",
18810
+ children: "Open link"
18622
18811
  }
18623
- }
18624
- ) });
18812
+ )
18813
+ ] });
18814
+ const renderImage = (item, index) => {
18815
+ const rawSrc = typeof item.src === "string" ? item.src.trim() : "";
18816
+ if (!rawSrc) {
18817
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex flex-col items-center justify-center gap-3 bg-ods-card px-6 text-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-sm max-w-md", children: "No image URL for this slide." }) });
18818
+ }
18819
+ if (brokenResourceUrls[rawSrc]) {
18820
+ return renderImageUnavailable(rawSrc);
18821
+ }
18822
+ const mainImagePriority = Boolean(posterPriority && index === 0);
18823
+ const imageLoaded = loadedImageSrc === rawSrc;
18824
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute inset-0 bg-ods-bg", children: [
18825
+ !imageLoaded && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18826
+ "div",
18827
+ {
18828
+ className: "absolute inset-0 z-[1] bg-ods-card/90 animate-pulse",
18829
+ "aria-hidden": true
18830
+ }
18831
+ ),
18832
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18833
+ _chunkXL4V2PYGcjs.next_image_default,
18834
+ {
18835
+ src: displayImageSrc(rawSrc),
18836
+ alt: item.alt || `Media ${index + 1}`,
18837
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
18838
+ `w-full h-full object-${objectFit} relative z-[2]`,
18839
+ !imageLoaded && "opacity-0",
18840
+ imageLoaded && "opacity-100 transition-opacity duration-200"
18841
+ ),
18842
+ priority: mainImagePriority,
18843
+ loading: mainImagePriority ? "eager" : "lazy",
18844
+ sizes: "(max-width: 1279px) 100vw, 1428px",
18845
+ width: 1428,
18846
+ height: 802,
18847
+ unoptimized: true,
18848
+ onLoad: () => setLoadedImageSrc(rawSrc),
18849
+ onError: () => onImageError(rawSrc)
18850
+ }
18851
+ )
18852
+ ] });
18853
+ };
18625
18854
  const renderMainMedia = (item, index) => {
18626
18855
  switch (item.type) {
18627
18856
  case "youtube":
18628
- return renderYouTubeEmbed(item, index);
18629
18857
  case "video":
18630
18858
  return renderVideo(item, index);
18631
18859
  case "image":
@@ -18633,41 +18861,6 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18633
18861
  return renderImage(item, index);
18634
18862
  }
18635
18863
  };
18636
- const renderThumbnail = (item, index) => {
18637
- const isActive = index === currentIndex;
18638
- let thumbnailSrc = item.src;
18639
- if (item.type === "youtube") {
18640
- const videoId = extractYouTubeId(item.src);
18641
- thumbnailSrc = videoId ? `https://img.youtube.com/vi/${videoId}/mqdefault.jpg` : item.src;
18642
- } else if (item.type === "video" && item.poster) {
18643
- thumbnailSrc = item.poster;
18644
- }
18645
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
18646
- "button",
18647
- {
18648
- onClick: () => selectSlide(index),
18649
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
18650
- "relative flex-shrink-0 overflow-hidden transition-all duration-200",
18651
- "w-20 h-20 md:w-24 md:h-24 rounded-lg border-2",
18652
- isActive ? "border-[#FFC008] ring-2 ring-[#FFC008]/20" : "border-ods-border hover:border-[#888888]"
18653
- ),
18654
- children: [
18655
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18656
- "img",
18657
- {
18658
- src: thumbnailSrc,
18659
- alt: item.alt || `Thumbnail ${index + 1}`,
18660
- className: "w-full h-full object-cover",
18661
- loading: "lazy"
18662
- }
18663
- ),
18664
- (item.type === "video" || item.type === "youtube") && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoPlayBadge, { size: "sm" }) }),
18665
- isActive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute bottom-1 right-1 w-2 h-2 bg-[#FFC008] rounded-full" })
18666
- ]
18667
- },
18668
- index
18669
- );
18670
- };
18671
18864
  const getAspectRatioClass = () => {
18672
18865
  switch (aspectRatio) {
18673
18866
  case "4/3":
@@ -18681,13 +18874,14 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18681
18874
  return "aspect-video";
18682
18875
  }
18683
18876
  };
18684
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "space-y-4", className), children: [
18877
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col items-center gap-[var(--spacing-system-l)]", className), children: [
18685
18878
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
18686
18879
  "div",
18687
18880
  {
18688
18881
  ref: carouselRef,
18689
18882
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
18690
- "relative bg-ods-bg border border-ods-border rounded-2xl overflow-hidden group w-full",
18883
+ "relative bg-ods-bg border border-ods-border rounded-md overflow-hidden group w-full",
18884
+ "[box-shadow:var(--shadow-media-frame)]",
18691
18885
  getAspectRatioClass()
18692
18886
  ),
18693
18887
  onTouchStart,
@@ -18699,43 +18893,54 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18699
18893
  "aria-label": media.length > 1 ? "Media carousel, use arrow keys to navigate" : void 0,
18700
18894
  children: [
18701
18895
  renderMainMedia(currentItem, currentIndex),
18702
- media.length > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18896
+ showArrows && media.length > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18703
18897
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18704
- "button",
18898
+ _chunkBX3R44MRcjs.Button,
18705
18899
  {
18900
+ variant: "transparent",
18706
18901
  onClick: prevSlide,
18707
- className: "absolute left-3 top-1/2 transform -translate-y-1/2 bg-black/50 text-white rounded-full p-2 opacity-0 group-hover:opacity-100 transition-opacity duration-200 hover:bg-black/70 z-10",
18902
+ className: "absolute left-3 top-1/2 h-auto md:h-auto -translate-y-1/2 rounded-full bg-black/50 p-2 text-white opacity-0 transition-opacity duration-200 group-hover:opacity-100 hover:bg-black/70 z-10",
18708
18903
  "aria-label": "Previous media",
18709
18904
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronLeftIcon, {})
18710
18905
  }
18711
18906
  ),
18712
18907
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18713
- "button",
18908
+ _chunkBX3R44MRcjs.Button,
18714
18909
  {
18910
+ variant: "transparent",
18715
18911
  onClick: nextSlide,
18716
- className: "absolute right-3 top-1/2 transform -translate-y-1/2 bg-black/50 text-white rounded-full p-2 opacity-0 group-hover:opacity-100 transition-opacity duration-200 hover:bg-black/70 z-10",
18912
+ className: "absolute right-3 top-1/2 h-auto md:h-auto -translate-y-1/2 rounded-full bg-black/50 p-2 text-white opacity-0 transition-opacity duration-200 group-hover:opacity-100 hover:bg-black/70 z-10",
18717
18913
  "aria-label": "Next media",
18718
18914
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronRightIcon, {})
18719
18915
  }
18720
- ),
18721
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute top-3 right-3 bg-black/70 text-white px-3 py-1 rounded-lg text-sm font-medium", children: [
18722
- currentIndex + 1,
18723
- " / ",
18724
- media.length
18725
- ] })
18916
+ )
18726
18917
  ] })
18727
18918
  ]
18728
18919
  }
18729
18920
  ),
18730
- media.length > 1 && showThumbnails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18731
- "div",
18732
- {
18733
- ref: thumbnailsRef,
18734
- className: "flex gap-2 overflow-x-auto scrollbar-none py-2",
18735
- style: { scrollbarWidth: "none", msOverflowStyle: "none" },
18736
- children: media.map((item, index) => renderThumbnail(item, index))
18737
- }
18738
- ) })
18921
+ (media.length > 1 || reserveDotRow) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)]", role: "group", "aria-label": "Choose slide", children: media.length > 1 && media.map((item, index) => {
18922
+ const isActive = index === currentIndex;
18923
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18924
+ _chunkBX3R44MRcjs.Button,
18925
+ {
18926
+ variant: "transparent",
18927
+ "aria-current": isActive ? "true" : void 0,
18928
+ "aria-label": `Go to slide ${index + 1}`,
18929
+ onClick: () => selectSlide(index),
18930
+ className: "flex h-6 w-6 md:h-6 shrink-0 items-center justify-center rounded-full p-0",
18931
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18932
+ "span",
18933
+ {
18934
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
18935
+ "size-2 rounded-full transition-colors duration-150",
18936
+ isActive ? "bg-[var(--ods-flamingo-pink-base)]" : "bg-[var(--ods-system-greys-soft-grey)] hover:bg-[var(--ods-system-greys-soft-grey-hover)]"
18937
+ )
18938
+ }
18939
+ )
18940
+ },
18941
+ index
18942
+ );
18943
+ }) })
18739
18944
  ] });
18740
18945
  });
18741
18946
 
@@ -19071,7 +19276,6 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
19071
19276
  width: m.width,
19072
19277
  height: m.height
19073
19278
  }));
19074
- console.log("\u{1F3AC} MediaCarousel will render with:", mediaContent.length, "items", mediaContent);
19075
19279
  const formatTimeAgo = (timestamp) => {
19076
19280
  const now = Math.floor(Date.now() / 1e3);
19077
19281
  const diffSeconds = now - timestamp;
@@ -19118,8 +19322,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
19118
19322
  MediaCarousel,
19119
19323
  {
19120
19324
  media: carouselItems,
19121
- aspectRatio: "16/9",
19122
- showThumbnails: carouselItems.length > 1
19325
+ aspectRatio: "16/9"
19123
19326
  }
19124
19327
  ),
19125
19328
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-6 text-ods-text-secondary text-sm", children: [
@@ -19457,7 +19660,7 @@ var OGLinkErrorBoundary = class extends _react.Component {
19457
19660
  function getDomain(urlStr) {
19458
19661
  try {
19459
19662
  return new URL(urlStr).hostname.replace("www.", "");
19460
- } catch (e27) {
19663
+ } catch (e28) {
19461
19664
  return "External Link";
19462
19665
  }
19463
19666
  }
@@ -19498,7 +19701,7 @@ var OGLinkPreview = ({
19498
19701
  } else {
19499
19702
  isValidUrl = false;
19500
19703
  }
19501
- } catch (e28) {
19704
+ } catch (e29) {
19502
19705
  isValidUrl = false;
19503
19706
  }
19504
19707
  _react.useEffect.call(void 0, () => {
@@ -19519,7 +19722,7 @@ var OGLinkPreview = ({
19519
19722
  } else {
19520
19723
  setError(true);
19521
19724
  }
19522
- } catch (e29) {
19725
+ } catch (e30) {
19523
19726
  setError(true);
19524
19727
  } finally {
19525
19728
  setLoading(false);
@@ -19543,7 +19746,7 @@ var OGLinkPreview = ({
19543
19746
  const hasImage = !!resolvedImageUrl;
19544
19747
  const isFallbackImage = resolvedImageUrl === fallbackImage;
19545
19748
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
19546
- const bgColor = _chunkCCIBZ7TOcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--ods-bg-secondary)");
19749
+ const bgColor = _chunkSTGWQFYTcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--ods-bg-secondary)");
19547
19750
  const renderSkeleton = () => isCompact ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-row border border-ods-border rounded-lg overflow-hidden bg-ods-card h-[120px]", children: [
19548
19751
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[200px] h-full flex-shrink-0 bg-ods-border animate-pulse" }),
19549
19752
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 p-3 flex flex-col justify-center", children: [
@@ -19844,7 +20047,7 @@ function EmbedIframe({
19844
20047
  if (iframe) {
19845
20048
  try {
19846
20049
  iframe.src = "about:blank";
19847
- } catch (e30) {
20050
+ } catch (e31) {
19848
20051
  }
19849
20052
  }
19850
20053
  };
@@ -19928,7 +20131,7 @@ function FigmaEmbed({ url, title, height, loading = "lazy" }) {
19928
20131
  const okHost = host === "figma.com" || host.endsWith(".figma.com");
19929
20132
  const okProtocol = parsed.protocol === "https:" || parsed.protocol === "http:";
19930
20133
  return okHost && okProtocol ? parsed.toString() : null;
19931
- } catch (e31) {
20134
+ } catch (e32) {
19932
20135
  return null;
19933
20136
  }
19934
20137
  })();
@@ -20452,7 +20655,7 @@ var RichMarkdownInner = ({
20452
20655
  ogApiBaseUrl: `${u.protocol}//${u.host}`,
20453
20656
  ogEndpointPath: u.pathname
20454
20657
  };
20455
- } catch (e32) {
20658
+ } catch (e33) {
20456
20659
  return { ogApiBaseUrl: "", ogEndpointPath: ogScraperUrl };
20457
20660
  }
20458
20661
  }, [ogScraperUrl]);
@@ -21994,7 +22197,7 @@ function ListPageLayout({
21994
22197
  }) {
21995
22198
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
21996
22199
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
21997
- const debouncedSearchValue = _chunkCCIBZ7TOcjs.useDebounce.call(void 0, localSearchValue, 500);
22200
+ const debouncedSearchValue = _chunkSTGWQFYTcjs.useDebounce.call(void 0, localSearchValue, 500);
21998
22201
  _react.useEffect.call(void 0, () => {
21999
22202
  setLocalSearchValue(searchValue);
22000
22203
  }, [searchValue]);
@@ -22655,7 +22858,7 @@ function toToolLabel(input) {
22655
22858
  if (!input) return "";
22656
22859
  const toolType = normalizeToolType(input);
22657
22860
  if (toolType) {
22658
- return _chunkCCIBZ7TOcjs.toolLabels[toolType];
22861
+ return _chunkSTGWQFYTcjs.toolLabels[toolType];
22659
22862
  }
22660
22863
  return input;
22661
22864
  }
@@ -22666,7 +22869,7 @@ function getToolTypeAliases(toolType) {
22666
22869
  return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
22667
22870
  }
22668
22871
  function getToolLabel(toolType) {
22669
- return _chunkCCIBZ7TOcjs.toolLabels[toolType] || toolType;
22872
+ return _chunkSTGWQFYTcjs.toolLabels[toolType] || toolType;
22670
22873
  }
22671
22874
 
22672
22875
  // src/types/shell.types.ts
@@ -22840,7 +23043,7 @@ function formatPhoneE164(phoneNumber, countryCode) {
22840
23043
  if (parsed && parsed.isValid()) {
22841
23044
  return parsed.format("E.164");
22842
23045
  }
22843
- } catch (e33) {
23046
+ } catch (e34) {
22844
23047
  }
22845
23048
  const dialCode = `+${_libphonenumberjs.getCountryCallingCode.call(void 0, countryCode)}`;
22846
23049
  const digits = phoneNumber.replace(/\D/g, "");
@@ -22901,173 +23104,6 @@ function isGenericWebsiteDomain(website) {
22901
23104
  return isGenericDomain(normalizeDomain(website));
22902
23105
  }
22903
23106
 
22904
- // src/utils/color-analysis.ts
22905
- var DESIGN_PALETTE = [
22906
- { name: "yellow", hex: "#FFC008", rgb: [255, 192, 8] },
22907
- { name: "black", hex: "#161616", rgb: [22, 22, 22] },
22908
- { name: "gray", hex: "#888888", rgb: [136, 136, 136] }
22909
- ];
22910
- function hexToRgb2(hex) {
22911
- const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
22912
- return result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : [0, 0, 0];
22913
- }
22914
- function getLuminance(rgb) {
22915
- const [r, g, b] = rgb.map((c) => {
22916
- c = c / 255;
22917
- return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
22918
- });
22919
- return 0.2126 * r + 0.7152 * g + 0.0722 * b;
22920
- }
22921
- function getContrastRatio(color1, color2) {
22922
- const lum1 = getLuminance(color1);
22923
- const lum2 = getLuminance(color2);
22924
- const brightest = Math.max(lum1, lum2);
22925
- const darkest = Math.min(lum1, lum2);
22926
- return (brightest + 0.05) / (darkest + 0.05);
22927
- }
22928
- function pickReadableTextColor(bgHex) {
22929
- const bg = hexToRgb2(bgHex);
22930
- const darkContrast = getContrastRatio(bg, [26, 26, 26]);
22931
- const lightContrast = getContrastRatio(bg, [250, 250, 250]);
22932
- return darkContrast >= lightContrast ? "dark" : "light";
22933
- }
22934
- function extractDominantColor(canvas) {
22935
- const ctx = canvas.getContext("2d");
22936
- if (!ctx) return [128, 128, 128];
22937
- const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
22938
- const data = imageData.data;
22939
- const sampleSize = Math.max(1, Math.floor(data.length / (4 * 1e3)));
22940
- const colorCounts = {};
22941
- for (let i = 0; i < data.length; i += 4 * sampleSize) {
22942
- const r = data[i];
22943
- const g = data[i + 1];
22944
- const b = data[i + 2];
22945
- const alpha = data[i + 3];
22946
- if (alpha < 128) continue;
22947
- const bucketR = Math.round(r / 32) * 32;
22948
- const bucketG = Math.round(g / 32) * 32;
22949
- const bucketB = Math.round(b / 32) * 32;
22950
- const key = `${bucketR},${bucketG},${bucketB}`;
22951
- colorCounts[key] = (colorCounts[key] || 0) + 1;
22952
- }
22953
- let maxCount = 0;
22954
- let dominantColor = [128, 128, 128];
22955
- for (const [colorKey, count] of Object.entries(colorCounts)) {
22956
- if (count > maxCount) {
22957
- maxCount = count;
22958
- const [r, g, b] = colorKey.split(",").map(Number);
22959
- dominantColor = [r, g, b];
22960
- }
22961
- }
22962
- return dominantColor;
22963
- }
22964
- function getBestContrastColor(imageColor) {
22965
- let bestColor = DESIGN_PALETTE[0];
22966
- let bestContrast = 0;
22967
- for (const color of DESIGN_PALETTE) {
22968
- const contrast = getContrastRatio(imageColor, color.rgb);
22969
- if (contrast > bestContrast) {
22970
- bestContrast = contrast;
22971
- bestColor = color;
22972
- }
22973
- }
22974
- return bestContrast >= 3 ? bestColor : DESIGN_PALETTE.find((c) => c.name === "black") || bestColor;
22975
- }
22976
- function analyzeImageColor(imageSrc) {
22977
- return new Promise((resolve, reject) => {
22978
- const img = new Image();
22979
- img.crossOrigin = "anonymous";
22980
- img.onload = () => {
22981
- try {
22982
- const canvas = document.createElement("canvas");
22983
- const ctx = canvas.getContext("2d");
22984
- if (!ctx) {
22985
- reject(new Error("Could not get canvas context"));
22986
- return;
22987
- }
22988
- const maxSize = 100;
22989
- const scale = Math.min(maxSize / img.width, maxSize / img.height);
22990
- canvas.width = img.width * scale;
22991
- canvas.height = img.height * scale;
22992
- ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
22993
- const dominantColor = extractDominantColor(canvas);
22994
- const bestContrastColor = getBestContrastColor(dominantColor);
22995
- resolve(bestContrastColor);
22996
- } catch (error) {
22997
- reject(error);
22998
- }
22999
- };
23000
- img.onerror = () => reject(new Error("Failed to load image"));
23001
- img.src = imageSrc;
23002
- });
23003
- }
23004
- async function extractImageEdgeColorAsync(imageUrl) {
23005
- return new Promise((resolve) => {
23006
- if (typeof window === "undefined") {
23007
- resolve("#000000");
23008
- return;
23009
- }
23010
- const img = new Image();
23011
- img.crossOrigin = "anonymous";
23012
- img.onload = () => {
23013
- try {
23014
- const canvas = document.createElement("canvas");
23015
- const ctx = canvas.getContext("2d");
23016
- if (!ctx) {
23017
- resolve("#000000");
23018
- return;
23019
- }
23020
- const maxSize = 50;
23021
- const scale = Math.min(maxSize / img.naturalWidth, maxSize / img.naturalHeight);
23022
- const w = Math.round(img.naturalWidth * scale);
23023
- const h = Math.round(img.naturalHeight * scale);
23024
- canvas.width = w;
23025
- canvas.height = h;
23026
- ctx.drawImage(img, 0, 0, w, h);
23027
- const data = ctx.getImageData(0, 0, w, h).data;
23028
- const edgeW = Math.max(2, Math.round(w * 0.15));
23029
- const edgeH = Math.max(2, Math.round(h * 0.15));
23030
- const bucketSize = 32;
23031
- const buckets = /* @__PURE__ */ new Map();
23032
- for (let y = 0; y < h; y++) {
23033
- for (let x = 0; x < w; x++) {
23034
- if (!(x < edgeW || x >= w - edgeW || y < edgeH || y >= h - edgeH)) continue;
23035
- const i = (y * w + x) * 4;
23036
- if (data[i + 3] < 128) continue;
23037
- const br = Math.floor(data[i] / bucketSize) * bucketSize;
23038
- const bg = Math.floor(data[i + 1] / bucketSize) * bucketSize;
23039
- const bb = Math.floor(data[i + 2] / bucketSize) * bucketSize;
23040
- const key = `${br},${bg},${bb}`;
23041
- const existing = buckets.get(key);
23042
- if (existing) {
23043
- existing.r += data[i];
23044
- existing.g += data[i + 1];
23045
- existing.b += data[i + 2];
23046
- existing.count++;
23047
- } else {
23048
- buckets.set(key, { r: data[i], g: data[i + 1], b: data[i + 2], count: 1 });
23049
- }
23050
- }
23051
- }
23052
- let best = { r: 0, g: 0, b: 0, count: 0 };
23053
- for (const b2 of buckets.values()) {
23054
- if (b2.count > best.count) best = b2;
23055
- }
23056
- if (best.count === 0) {
23057
- resolve("#000000");
23058
- return;
23059
- }
23060
- const r = Math.round(best.r / best.count), g = Math.round(best.g / best.count), b = Math.round(best.b / best.count);
23061
- resolve(`#${r.toString(16).padStart(2, "0")}${g.toString(16).padStart(2, "0")}${b.toString(16).padStart(2, "0")}`);
23062
- } catch (e34) {
23063
- resolve("#000000");
23064
- }
23065
- };
23066
- img.onerror = () => resolve("#000000");
23067
- img.src = imageUrl;
23068
- });
23069
- }
23070
-
23071
23107
  // src/utils/announcement-storage.ts
23072
23108
  function announcementDismissCookieName(platform) {
23073
23109
  return `${platform}-announcement-dismissed`;
@@ -23096,11 +23132,24 @@ function isAnnouncementDismissed(platform, id) {
23096
23132
  return false;
23097
23133
  }
23098
23134
  }
23135
+ function clearAnnouncementDismissals(platform) {
23136
+ if (typeof document === "undefined") return;
23137
+ document.cookie = `${announcementDismissCookieName(platform)}=; path=/; max-age=0`;
23138
+ try {
23139
+ const prefix = `${platform}-announcement-`;
23140
+ Object.keys(localStorage).forEach((key) => {
23141
+ if (key.startsWith(prefix) && key.endsWith("-dismissed")) {
23142
+ localStorage.removeItem(key);
23143
+ }
23144
+ });
23145
+ } catch (e36) {
23146
+ }
23147
+ }
23099
23148
  function clearLegacyAnnouncementCache(platform) {
23100
23149
  if (typeof window === "undefined") return;
23101
23150
  try {
23102
23151
  localStorage.removeItem(`${platform}-announcement-cache`);
23103
- } catch (e36) {
23152
+ } catch (e37) {
23104
23153
  }
23105
23154
  }
23106
23155
 
@@ -23280,7 +23329,7 @@ async function readLeadingDecisionFrame(response) {
23280
23329
  } finally {
23281
23330
  try {
23282
23331
  reader.releaseLock();
23283
- } catch (e37) {
23332
+ } catch (e38) {
23284
23333
  }
23285
23334
  }
23286
23335
  if (frame === null) {
@@ -23812,7 +23861,7 @@ function lastPathSegment(url) {
23812
23861
  const pathname = new URL(url, "https://_.local").pathname;
23813
23862
  const segs = pathname.split("/").filter(Boolean);
23814
23863
  return segs.length > 0 ? segs[segs.length - 1] : null;
23815
- } catch (e38) {
23864
+ } catch (e39) {
23816
23865
  return null;
23817
23866
  }
23818
23867
  }
@@ -25905,10 +25954,10 @@ function CompleteAccountForm({
25905
25954
  className
25906
25955
  }) {
25907
25956
  const fieldsDisabled = disabled || loading;
25908
- const firstNameErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _518 => _518.firstName]), firstName);
25909
- const lastNameErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _519 => _519.lastName]), lastName);
25910
- const passwordErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _520 => _520.password]), password);
25911
- const confirmErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _521 => _521.confirmPassword]), confirmPassword);
25957
+ const firstNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _518 => _518.firstName]), firstName);
25958
+ const lastNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _519 => _519.lastName]), lastName);
25959
+ const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _520 => _520.password]), password);
25960
+ const confirmErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _521 => _521.confirmPassword]), confirmPassword);
25912
25961
  const handleKeyDown = (event) => {
25913
25962
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
25914
25963
  onSubmit();
@@ -26096,9 +26145,9 @@ function CreateOrganizationForm({
26096
26145
  }) {
26097
26146
  const isSsoMode = !!ssoProviders && ssoProviders.length > 0;
26098
26147
  const fieldsDisabled = disabled || loading || isSsoMode;
26099
- const emailErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _522 => _522.email]), email);
26100
- const orgNameErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _523 => _523.organizationName]), organizationName);
26101
- const domainErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _524 => _524.domain]), domain);
26148
+ const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _522 => _522.email]), email);
26149
+ const orgNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _523 => _523.organizationName]), organizationName);
26150
+ const domainErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _524 => _524.domain]), domain);
26102
26151
  const handleKeyDown = (event) => {
26103
26152
  if (event.key === "Enter" && !fieldsDisabled) {
26104
26153
  onSubmit();
@@ -26251,7 +26300,7 @@ function LoginForm({
26251
26300
  }) {
26252
26301
  const isSsoMode = !!ssoProviders && ssoProviders.length > 0;
26253
26302
  const fieldDisabled = disabled || loading || isSsoMode;
26254
- const emailErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _530 => _530.email]), email);
26303
+ const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _530 => _530.email]), email);
26255
26304
  const handleKeyDown = (event) => {
26256
26305
  if (event.key === "Enter" && !fieldDisabled) {
26257
26306
  onSubmit();
@@ -26352,8 +26401,8 @@ function OpenFrameSsoLoginForm({
26352
26401
  className
26353
26402
  }) {
26354
26403
  const fieldsDisabled = disabled || loading;
26355
- const emailErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _531 => _531.email]), email);
26356
- const passwordErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _532 => _532.password]), password);
26404
+ const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _531 => _531.email]), email);
26405
+ const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _532 => _532.password]), password);
26357
26406
  const handleKeyDown = (event) => {
26358
26407
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26359
26408
  onSubmit();
@@ -26460,11 +26509,11 @@ function OpenFrameSsoSignUpForm({
26460
26509
  className
26461
26510
  }) {
26462
26511
  const fieldsDisabled = disabled || loading;
26463
- const emailErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _533 => _533.email]), email);
26464
- const firstNameErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _534 => _534.firstName]), firstName);
26465
- const lastNameErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _535 => _535.lastName]), lastName);
26466
- const passwordErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _536 => _536.password]), password);
26467
- const confirmErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _537 => _537.confirmPassword]), confirmPassword);
26512
+ const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _533 => _533.email]), email);
26513
+ const firstNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _534 => _534.firstName]), firstName);
26514
+ const lastNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _535 => _535.lastName]), lastName);
26515
+ const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _536 => _536.password]), password);
26516
+ const confirmErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _537 => _537.confirmPassword]), confirmPassword);
26468
26517
  const handleKeyDown = (event) => {
26469
26518
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26470
26519
  onSubmit();
@@ -26607,8 +26656,8 @@ function PasswordResetForm({
26607
26656
  className
26608
26657
  }) {
26609
26658
  const fieldsDisabled = disabled || loading;
26610
- const passwordErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _538 => _538.password]), password);
26611
- const confirmErr = _chunkCCIBZ7TOcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _539 => _539.confirmPassword]), confirmPassword);
26659
+ const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _538 => _538.password]), password);
26660
+ const confirmErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _539 => _539.confirmPassword]), confirmPassword);
26612
26661
  const handleKeyDown = (event) => {
26613
26662
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26614
26663
  onSubmit();
@@ -28897,7 +28946,7 @@ function PlatformFilterComponent({
28897
28946
  variant: selectedPlatform === platform.value ? "accent" : "outline",
28898
28947
  size: size2,
28899
28948
  onClick: () => onPlatformChange(platform.value),
28900
- leftIcon: showIcons ? _chunkCCIBZ7TOcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
28949
+ leftIcon: showIcons ? _chunkSTGWQFYTcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
28901
28950
  className: "text-h3",
28902
28951
  children: platform.label
28903
28952
  },
@@ -31751,7 +31800,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
31751
31800
  };
31752
31801
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
31753
31802
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
31754
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCIBZ7TOcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
31803
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
31755
31804
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
31756
31805
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[16px] font-medium text-ods-text-primary truncate", title: policy.name, children: policy.name }),
31757
31806
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[12px] text-ods-text-secondary break-all font-mono", children: policy.commandPattern })
@@ -32062,8 +32111,8 @@ function WaitlistForm({
32062
32111
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
32063
32112
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
32064
32113
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
32065
- const { toast } = _chunkCCIBZ7TOcjs.useToast.call(void 0, );
32066
- const { honeypotInputProps, getSignals, resetSignals } = _chunkCCIBZ7TOcjs.useHumanitySignals.call(void 0, );
32114
+ const { toast } = _chunkSTGWQFYTcjs.useToast.call(void 0, );
32115
+ const { honeypotInputProps, getSignals, resetSignals } = _chunkSTGWQFYTcjs.useHumanitySignals.call(void 0, );
32067
32116
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
32068
32117
  const [isClient, setIsClient] = _react.useState.call(void 0, false);
32069
32118
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
@@ -32103,7 +32152,7 @@ function WaitlistForm({
32103
32152
  try {
32104
32153
  await onRegister(email, finalPhone, getSignals());
32105
32154
  resetSignals();
32106
- } catch (e39) {
32155
+ } catch (e40) {
32107
32156
  }
32108
32157
  };
32109
32158
  if (!isClient) {
@@ -32635,7 +32684,7 @@ function useContainedResizableSize({
32635
32684
  const parsed = parseFloat(raw);
32636
32685
  if (!Number.isFinite(parsed)) return defaultSize;
32637
32686
  return parsed;
32638
- } catch (e40) {
32687
+ } catch (e41) {
32639
32688
  return defaultSize;
32640
32689
  }
32641
32690
  }, [enabled, storageKey, defaultSize]);
@@ -32648,7 +32697,7 @@ function useContainedResizableSize({
32648
32697
  if (!enabled || !storageKey || typeof window === "undefined") return;
32649
32698
  try {
32650
32699
  window.localStorage.setItem(storageKey, String(Math.round(size2)));
32651
- } catch (e41) {
32700
+ } catch (e42) {
32652
32701
  }
32653
32702
  }, [enabled, size2, storageKey]);
32654
32703
  React100.useEffect(() => {
@@ -32687,7 +32736,7 @@ function AppLayoutDrawerResizeHandle({
32687
32736
  startRef.current = null;
32688
32737
  try {
32689
32738
  e.currentTarget.releasePointerCapture(e.pointerId);
32690
- } catch (e42) {
32739
+ } catch (e43) {
32691
32740
  }
32692
32741
  document.body.style.cursor = "";
32693
32742
  document.body.style.userSelect = "";
@@ -33045,7 +33094,7 @@ function NotificationTile({
33045
33094
  onError: () => setFailedImageUrl(image),
33046
33095
  className: "size-4 rounded-[2px] object-cover"
33047
33096
  }
33048
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkCCIBZ7TOcjs.dotColorByVariant[accentVariant]) })))
33097
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkSTGWQFYTcjs.dotColorByVariant[accentVariant]) })))
33049
33098
  }
33050
33099
  ),
33051
33100
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -33093,7 +33142,7 @@ function NotificationTile({
33093
33142
  "aria-hidden": true,
33094
33143
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
33095
33144
  "absolute inset-x-0 -bottom-px h-1 origin-left",
33096
- _chunkCCIBZ7TOcjs.progressColorByVariant[accentVariant]
33145
+ _chunkSTGWQFYTcjs.progressColorByVariant[accentVariant]
33097
33146
  ),
33098
33147
  style: {
33099
33148
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
@@ -33316,7 +33365,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
33316
33365
  ] });
33317
33366
  }
33318
33367
  function DesktopNotificationsToggleRow({ checked, onChange }) {
33319
- const { supported, permission, request } = _chunkCCIBZ7TOcjs.useNotificationPermission.call(void 0, );
33368
+ const { supported, permission, request } = _chunkSTGWQFYTcjs.useNotificationPermission.call(void 0, );
33320
33369
  if (!supported) return null;
33321
33370
  const blocked = permission === "denied";
33322
33371
  const handleChange = async (value) => {
@@ -33691,7 +33740,7 @@ function ApprovalRequestNotificationTile({
33691
33740
  setLocalStatus(nextStatus);
33692
33741
  try {
33693
33742
  await action(batchData.approvalRequestId);
33694
- } catch (e43) {
33743
+ } catch (e44) {
33695
33744
  setLocalStatus(null);
33696
33745
  return;
33697
33746
  } finally {
@@ -34764,7 +34813,7 @@ function EmptyState2() {
34764
34813
  // src/components/features/board/use-board-collapse.ts
34765
34814
 
34766
34815
  function useBoardCollapse(storageKey) {
34767
- const [persisted, setPersisted] = _chunkCCIBZ7TOcjs.useLocalStorage.call(void 0,
34816
+ const [persisted, setPersisted] = _chunkSTGWQFYTcjs.useLocalStorage.call(void 0,
34768
34817
  _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
34769
34818
  {}
34770
34819
  );
@@ -34814,7 +34863,7 @@ function Board({
34814
34863
  onThumbPointerDown,
34815
34864
  onThumbPointerMove,
34816
34865
  onThumbPointerUp
34817
- } = _chunkCCIBZ7TOcjs.useHorizontalScrollbar.call(void 0, );
34866
+ } = _chunkSTGWQFYTcjs.useHorizontalScrollbar.call(void 0, );
34818
34867
  const [items, setItems] = React106.useState(columns);
34819
34868
  const isDraggingRef = React106.useRef(false);
34820
34869
  React106.useEffect(() => {
@@ -35617,7 +35666,7 @@ _chunkBX3R44MRcjs.init_button2.call(void 0, );
35617
35666
  function SlidingSidebar({ config }) {
35618
35667
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
35619
35668
  const [mounted, setMounted] = _react.useState.call(void 0, false);
35620
- const headerHeight = _chunkCCIBZ7TOcjs.useHeaderHeight.call(void 0, );
35669
+ const headerHeight = _chunkSTGWQFYTcjs.useHeaderHeight.call(void 0, );
35621
35670
  _react.useEffect.call(void 0, () => {
35622
35671
  setMounted(true);
35623
35672
  }, []);
@@ -35850,7 +35899,7 @@ function useSectionNavigation(sections, options) {
35850
35899
  if (!targetElement) return;
35851
35900
  isScrollingFromClick.current = true;
35852
35901
  setActiveSection(sectionId);
35853
- _chunkCCIBZ7TOcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
35902
+ _chunkSTGWQFYTcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
35854
35903
  setTimeout(() => {
35855
35904
  isScrollingFromClick.current = false;
35856
35905
  }, 500);
@@ -36036,10 +36085,10 @@ var MINIMIZED_WIDTH = 56;
36036
36085
  var EXPANDED_WIDTH = 224;
36037
36086
  var STORAGE_KEY = "of.navigationSidebar.minimized";
36038
36087
  function NavigationSidebar({ config, disabled = false }) {
36039
- const isMdUp = _nullishCoalesce(_chunkCCIBZ7TOcjs.useMdUp.call(void 0, ), () => ( false));
36040
- const isLgUp = _nullishCoalesce(_chunkCCIBZ7TOcjs.useLgUp.call(void 0, ), () => ( false));
36088
+ const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( false));
36089
+ const isLgUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useLgUp.call(void 0, ), () => ( false));
36041
36090
  const isTablet = isMdUp && !isLgUp;
36042
- const [desktopMinimized, setDesktopMinimized] = _chunkCCIBZ7TOcjs.useLocalStorage.call(void 0,
36091
+ const [desktopMinimized, setDesktopMinimized] = _chunkSTGWQFYTcjs.useLocalStorage.call(void 0,
36043
36092
  STORAGE_KEY,
36044
36093
  _nullishCoalesce(config.minimized, () => ( false))
36045
36094
  );
@@ -36363,7 +36412,7 @@ var AppHeader = React121.default.memo(function AppHeader2({
36363
36412
  onToggleMobileMenu,
36364
36413
  disabled = false
36365
36414
  }) {
36366
- const isMdUp = _nullishCoalesce(_chunkCCIBZ7TOcjs.useMdUp.call(void 0, ), () => ( false));
36415
+ const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( false));
36367
36416
  const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
36368
36417
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36369
36418
  "header",
@@ -37139,7 +37188,7 @@ var ToolBadge = ({
37139
37188
  }) => {
37140
37189
  const label = getToolLabel(toolType);
37141
37190
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", className), children: [
37142
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCIBZ7TOcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
37191
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
37143
37192
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
37144
37193
  ] });
37145
37194
  };
@@ -37511,7 +37560,7 @@ function OnboardingWalkthrough({
37511
37560
  isStepSkipped,
37512
37561
  allStepsComplete,
37513
37562
  markMultipleComplete
37514
- } = _chunkCCIBZ7TOcjs.useOnboardingState.call(void 0, storageKey);
37563
+ } = _chunkSTGWQFYTcjs.useOnboardingState.call(void 0, storageKey);
37515
37564
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
37516
37565
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
37517
37566
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
@@ -37718,7 +37767,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
37718
37767
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-5 text-white", children: log.title }),
37719
37768
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
37720
37769
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['Azeret_Mono'] font-normal text-[13px] leading-4 text-ods-text-secondary uppercase tracking-wider", children: formatTimestamp(log.timestamp) }),
37721
- log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCIBZ7TOcjs.ToolIcon, { toolType: log.toolType, size: 16 })
37770
+ log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType: log.toolType, size: 16 })
37722
37771
  ] })
37723
37772
  ] })
37724
37773
  ]
@@ -37855,7 +37904,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
37855
37904
  }
37856
37905
  function ServiceCardRowItem({ row }) {
37857
37906
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
37858
- const { copy, copied } = _chunkCCIBZ7TOcjs.useCopyToClipboard.call(void 0, );
37907
+ const { copy, copied } = _chunkSTGWQFYTcjs.useCopyToClipboard.call(void 0, );
37859
37908
  const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
37860
37909
  const displayValue = row.isSecret ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MaskedValue, { value: row.value, isRevealed: revealed }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.value });
37861
37910
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
@@ -38517,7 +38566,7 @@ function TableHeader({
38517
38566
  }
38518
38567
  return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
38519
38568
  };
38520
- const isLgUp = _nullishCoalesce(_chunkCCIBZ7TOcjs.useLgUp.call(void 0, ), () => ( false));
38569
+ const isLgUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useLgUp.call(void 0, ), () => ( false));
38521
38570
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38522
38571
  "div",
38523
38572
  {
@@ -39440,7 +39489,7 @@ function QueryReportTable({
39440
39489
  onThumbPointerDown,
39441
39490
  onThumbPointerMove,
39442
39491
  onThumbPointerUp
39443
- } = _chunkCCIBZ7TOcjs.useHorizontalScrollbar.call(void 0, );
39492
+ } = _chunkSTGWQFYTcjs.useHorizontalScrollbar.call(void 0, );
39444
39493
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
39445
39494
  !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
39446
39495
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary", children: title }),
@@ -39671,7 +39720,7 @@ function DataTableHeader({
39671
39720
  onSortChange
39672
39721
  }) {
39673
39722
  const table = useDataTableContext();
39674
- const isLgUp = _nullishCoalesce(_chunkCCIBZ7TOcjs.useLgUp.call(void 0, ), () => ( false));
39723
+ const isLgUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useLgUp.call(void 0, ), () => ( false));
39675
39724
  const headerGroup = table.getHeaderGroups()[0];
39676
39725
  if (!headerGroup) return null;
39677
39726
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
@@ -40242,7 +40291,7 @@ function SearchInput({
40242
40291
  }) {
40243
40292
  const [internalValue, setInternalValue] = React123.useState(defaultValue);
40244
40293
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
40245
- const debouncedValue = _chunkCCIBZ7TOcjs.useDebounce.call(void 0, currentValue, debounceMs);
40294
+ const debouncedValue = _chunkSTGWQFYTcjs.useDebounce.call(void 0, currentValue, debounceMs);
40246
40295
  const [isOpen, setIsOpen] = React123.useState(false);
40247
40296
  const [highlightedIndex, setHighlightedIndex] = React123.useState(-1);
40248
40297
  const containerRef = React123.useRef(null);
@@ -40254,7 +40303,7 @@ function SearchInput({
40254
40303
  textMeasureRef,
40255
40304
  badgeRef,
40256
40305
  inputRef
40257
- } = _chunkCCIBZ7TOcjs.useAutoLimitTags.call(void 0, {
40306
+ } = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
40258
40307
  count: filterChips.length,
40259
40308
  limitTags,
40260
40309
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -40721,7 +40770,7 @@ function TagSearchInput({
40721
40770
  textMeasureRef,
40722
40771
  badgeRef,
40723
40772
  inputRef
40724
- } = _chunkCCIBZ7TOcjs.useAutoLimitTags.call(void 0, {
40773
+ } = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
40725
40774
  count: tags.length,
40726
40775
  limitTags,
40727
40776
  placeholder: currentPlaceholder
@@ -41858,7 +41907,7 @@ function ChannelInput({
41858
41907
  );
41859
41908
  }
41860
41909
  function RgbInputs({ value, onChange }) {
41861
- const rgb = _nullishCoalesce(hexToRgb(value), () => ( { r: 0, g: 0, b: 0 }));
41910
+ const rgb = _nullishCoalesce(hexToRgb2(value), () => ( { r: 0, g: 0, b: 0 }));
41862
41911
  const update = (next) => {
41863
41912
  const r = _nullishCoalesce(next.r, () => ( rgb.r));
41864
41913
  const g = _nullishCoalesce(next.g, () => ( rgb.g));
@@ -41872,7 +41921,7 @@ function RgbInputs({ value, onChange }) {
41872
41921
  ] });
41873
41922
  }
41874
41923
  function HslInputs({ value, onChange }) {
41875
- const rgb = _nullishCoalesce(hexToRgb(value), () => ( { r: 0, g: 0, b: 0 }));
41924
+ const rgb = _nullishCoalesce(hexToRgb2(value), () => ( { r: 0, g: 0, b: 0 }));
41876
41925
  const hsl = rgbToHsl(rgb.r, rgb.g, rgb.b);
41877
41926
  const update = (next) => {
41878
41927
  const h = _nullishCoalesce(next.h, () => ( hsl.h));
@@ -42978,7 +43027,7 @@ function parseRepoFromUrl(url) {
42978
43027
  if (u.host !== "github.com") return null;
42979
43028
  const parts = u.pathname.split("/").filter(Boolean);
42980
43029
  if (parts.length >= 2) return `${parts[0]}/${parts[1]}`;
42981
- } catch (e44) {
43030
+ } catch (e45) {
42982
43031
  }
42983
43032
  return null;
42984
43033
  }
@@ -43166,7 +43215,7 @@ function parseChannelFromUrl(url) {
43166
43215
  const parts = u.pathname.split("/").filter(Boolean);
43167
43216
  const archivesIdx = parts.indexOf("archives");
43168
43217
  if (archivesIdx !== -1 && parts.length > archivesIdx + 1) return parts[archivesIdx + 1];
43169
- } catch (e45) {
43218
+ } catch (e46) {
43170
43219
  }
43171
43220
  return null;
43172
43221
  }
@@ -45136,7 +45185,7 @@ function ProgramCard({
45136
45185
  const compactDate = (() => {
45137
45186
  try {
45138
45187
  return formatUtc(new Date(item.date), "MMM d, yyyy");
45139
- } catch (e46) {
45188
+ } catch (e47) {
45140
45189
  return "";
45141
45190
  }
45142
45191
  })();
@@ -45413,13 +45462,13 @@ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
45413
45462
  // src/components/chat/hooks/use-chat-card-item.ts
45414
45463
 
45415
45464
  function useChatCardItem(type, id) {
45416
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
45465
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
45417
45466
  const url = runtime.endpoints.buildListUrl(type, [id]);
45418
45467
  const query = _reactquery.useQuery.call(void 0, {
45419
45468
  queryKey: ["chat-card-item", type, id],
45420
45469
  queryFn: async () => {
45421
45470
  if (!url) return null;
45422
- const res = await _chunkCCIBZ7TOcjs.embedAuthedFetch.call(void 0, url);
45471
+ const res = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url);
45423
45472
  if (!res.ok) return null;
45424
45473
  const data = await res.json();
45425
45474
  const items = extractItems(data);
@@ -46497,7 +46546,7 @@ function ChatCardNavWrap({
46497
46546
  isNewTab,
46498
46547
  children
46499
46548
  }) {
46500
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
46549
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
46501
46550
  const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
46502
46551
  const panel = useChatPanel();
46503
46552
  const onClickCapture = (e) => {
@@ -46520,7 +46569,7 @@ function ChatCardLoader({
46520
46569
  chipBasePlatform,
46521
46570
  extras
46522
46571
  }) {
46523
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
46572
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
46524
46573
  const resolvedChatRef = React121.default.useMemo(() => {
46525
46574
  const cta = resolveSourceRowCTA(
46526
46575
  {
@@ -46953,7 +47002,7 @@ function useJetStreamDialogSubscription({
46953
47002
  if (subscriptionRef.current) {
46954
47003
  try {
46955
47004
  subscriptionRef.current.unsubscribe();
46956
- } catch (e47) {
47005
+ } catch (e48) {
46957
47006
  }
46958
47007
  subscriptionRef.current = null;
46959
47008
  }
@@ -47007,7 +47056,7 @@ function useJetStreamDialogSubscription({
47007
47056
  if (subscriptionRef.current) {
47008
47057
  try {
47009
47058
  subscriptionRef.current.unsubscribe();
47010
- } catch (e48) {
47059
+ } catch (e49) {
47011
47060
  }
47012
47061
  subscriptionRef.current = null;
47013
47062
  }
@@ -47044,7 +47093,7 @@ function useJetStreamDialogSubscription({
47044
47093
  parsed.streamSeq = streamSeq;
47045
47094
  }
47046
47095
  cb(parsed, topic);
47047
- } catch (e49) {
47096
+ } catch (e50) {
47048
47097
  }
47049
47098
  },
47050
47099
  {
@@ -47059,14 +47108,14 @@ function useJetStreamDialogSubscription({
47059
47108
  if (cancelled) {
47060
47109
  try {
47061
47110
  handle.unsubscribe();
47062
- } catch (e50) {
47111
+ } catch (e51) {
47063
47112
  }
47064
47113
  return;
47065
47114
  }
47066
47115
  subscriptionRef.current = handle;
47067
47116
  setIsSubscribed(true);
47068
47117
  _optionalChain([onSubscribedRef, 'access', _1106 => _1106.current, 'optionalCall', _1107 => _1107()]);
47069
- } catch (e51) {
47118
+ } catch (e52) {
47070
47119
  if (!cancelled) {
47071
47120
  setIsSubscribed(false);
47072
47121
  }
@@ -47078,7 +47127,7 @@ function useJetStreamDialogSubscription({
47078
47127
  if (subscriptionRef.current) {
47079
47128
  try {
47080
47129
  subscriptionRef.current.unsubscribe();
47081
- } catch (e52) {
47130
+ } catch (e53) {
47082
47131
  }
47083
47132
  subscriptionRef.current = null;
47084
47133
  }
@@ -47179,7 +47228,7 @@ function useNatsDialogSubscription({
47179
47228
  subscriptionRefs.current.forEach((sub) => {
47180
47229
  try {
47181
47230
  _optionalChain([sub, 'optionalAccess', _1108 => _1108.unsubscribe, 'call', _1109 => _1109()]);
47182
- } catch (e53) {
47231
+ } catch (e54) {
47183
47232
  }
47184
47233
  });
47185
47234
  subscriptionRefs.current.clear();
@@ -47244,7 +47293,7 @@ function useNatsDialogSubscription({
47244
47293
  subscriptionRefs.current.forEach((sub) => {
47245
47294
  try {
47246
47295
  _optionalChain([sub, 'optionalAccess', _1119 => _1119.unsubscribe, 'call', _1120 => _1120()]);
47247
- } catch (e54) {
47296
+ } catch (e55) {
47248
47297
  }
47249
47298
  });
47250
47299
  subscriptionRefs.current.clear();
@@ -47262,7 +47311,7 @@ function useNatsDialogSubscription({
47262
47311
  subscriptionRefs.current.forEach((sub) => {
47263
47312
  try {
47264
47313
  _optionalChain([sub, 'optionalAccess', _1124 => _1124.unsubscribe, 'call', _1125 => _1125()]);
47265
- } catch (e55) {
47314
+ } catch (e56) {
47266
47315
  }
47267
47316
  });
47268
47317
  subscriptionRefs.current.clear();
@@ -47285,7 +47334,7 @@ function useNatsDialogSubscription({
47285
47334
  const dataStr = decoder.decode(msg.data);
47286
47335
  const parsed = JSON.parse(dataStr);
47287
47336
  onEventRef.current(parsed, messageType);
47288
- } catch (e56) {
47337
+ } catch (e57) {
47289
47338
  }
47290
47339
  };
47291
47340
  topics.forEach((topic) => {
@@ -47309,7 +47358,7 @@ function useNatsDialogSubscription({
47309
47358
  subscriptionRefs.current.forEach((sub) => {
47310
47359
  try {
47311
47360
  _optionalChain([sub, 'optionalAccess', _1131 => _1131.unsubscribe, 'call', _1132 => _1132()]);
47312
- } catch (e57) {
47361
+ } catch (e58) {
47313
47362
  }
47314
47363
  });
47315
47364
  subscriptionRefs.current.clear();
@@ -47336,7 +47385,7 @@ function useNatsDialogSubscription({
47336
47385
  const dataStr = decoder.decode(msg.data);
47337
47386
  const parsed = JSON.parse(dataStr);
47338
47387
  onEventRef.current(parsed, messageType);
47339
- } catch (e58) {
47388
+ } catch (e59) {
47340
47389
  }
47341
47390
  };
47342
47391
  topics.forEach((topic) => {
@@ -48220,7 +48269,7 @@ function useRealtimeChunkProcessor(options) {
48220
48269
  if ("details" in action && _optionalChain([action, 'optionalAccess', _1174 => _1174.details])) {
48221
48270
  try {
48222
48271
  message2 = _optionalChain([JSON, 'access', _1175 => _1175.parse, 'call', _1176 => _1176(action.details), 'optionalAccess', _1177 => _1177.error, 'optionalAccess', _1178 => _1178.message]);
48223
- } catch (e59) {
48272
+ } catch (e60) {
48224
48273
  message2 = action.details;
48225
48274
  }
48226
48275
  }
@@ -48309,7 +48358,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
48309
48358
  try {
48310
48359
  const url = new URL(commandsUrl, window.location.origin);
48311
48360
  if (prefix) url.searchParams.set("q", prefix);
48312
- const res = await _chunkCCIBZ7TOcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48361
+ const res = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48313
48362
  if (!res.ok) return [];
48314
48363
  const data = await res.json();
48315
48364
  return _nullishCoalesce(data.commands, () => ( []));
@@ -48384,7 +48433,7 @@ var EMPTY_STATE_FALLBACK = {
48384
48433
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
48385
48434
  try {
48386
48435
  const url = new URL(emptyStateUrl, window.location.origin);
48387
- const res = await _chunkCCIBZ7TOcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48436
+ const res = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48388
48437
  if (!res.ok) {
48389
48438
  if (res.status >= 500) {
48390
48439
  console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
@@ -48502,7 +48551,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
48502
48551
  });
48503
48552
  }
48504
48553
  function useChatAttachments() {
48505
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
48554
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48506
48555
  const uploadUrlEndpoint = runtime.endpoints.attachmentUploadUrl;
48507
48556
  const [attachments, setAttachments] = _react.useState.call(void 0, []);
48508
48557
  const controllersRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
@@ -48546,7 +48595,7 @@ function useChatAttachments() {
48546
48595
  );
48547
48596
  }
48548
48597
  updateOne(att.id, { status: "uploading", progress: 5 });
48549
- const urlResp = await _chunkCCIBZ7TOcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
48598
+ const urlResp = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
48550
48599
  method: "POST",
48551
48600
  headers: { "Content-Type": "application/json" },
48552
48601
  signal: _optionalChain([ctrl, 'optionalAccess', _1211 => _1211.signal]),
@@ -48675,7 +48724,7 @@ function useChatAttachments() {
48675
48724
 
48676
48725
  var CLOSED = { isOpen: false, images: [], initialIndex: 0 };
48677
48726
  function useChatAttachmentImageGallery() {
48678
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
48727
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48679
48728
  const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
48680
48729
  const panelRef = _react.useRef.call(void 0, null);
48681
48730
  const [state, setState] = _react.useState.call(void 0, CLOSED);
@@ -48734,9 +48783,9 @@ var ANON_DEFAULTS = {
48734
48783
  user: null
48735
48784
  };
48736
48785
  function useResolveChatIdentity(enabled) {
48737
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
48786
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48738
48787
  const url = runtime.endpoints.identityUrl;
48739
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkCCIBZ7TOcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1217 => _1217.email]), () => ( null));
48788
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkSTGWQFYTcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1217 => _1217.email]), () => ( null));
48740
48789
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
48741
48790
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
48742
48791
  _react.useEffect.call(void 0, () => {
@@ -48744,7 +48793,7 @@ function useResolveChatIdentity(enabled) {
48744
48793
  let cancelled = false;
48745
48794
  const ctrl = new AbortController();
48746
48795
  setIsLoading(true);
48747
- _chunkCCIBZ7TOcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
48796
+ _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
48748
48797
  if (!resp.ok) return ANON_DEFAULTS;
48749
48798
  return await resp.json();
48750
48799
  }).then((next) => {
@@ -49207,7 +49256,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49207
49256
  ..._optionalChain([extra, 'optionalAccess', _1232 => _1232.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
49208
49257
  ..._optionalChain([extra, 'optionalAccess', _1233 => _1233.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
49209
49258
  };
49210
- const response = await _chunkCCIBZ7TOcjs.embedAuthedFetch.call(void 0, targetPath, {
49259
+ const response = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, targetPath, {
49211
49260
  method: "POST",
49212
49261
  body: JSON.stringify(requestBody),
49213
49262
  signal
@@ -49267,7 +49316,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49267
49316
  let meta;
49268
49317
  try {
49269
49318
  meta = JSON.parse(metaStr);
49270
- } catch (e60) {
49319
+ } catch (e61) {
49271
49320
  inText = true;
49272
49321
  setStreamingPhase("streaming");
49273
49322
  if (buffer.length > 0) {
@@ -49414,7 +49463,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49414
49463
  });
49415
49464
  bumpMetaTick();
49416
49465
  }
49417
- } catch (e61) {
49466
+ } catch (e62) {
49418
49467
  }
49419
49468
  }
49420
49469
  };
@@ -49430,7 +49479,7 @@ var CHAT_STORAGE_VERSION = 1;
49430
49479
  var DEFAULT_CHAT_SOURCE = "embed";
49431
49480
  var chatStorageKey = (source) => {
49432
49481
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
49433
- const auth = _chunkCCIBZ7TOcjs.getEmbedProxyAuth.call(void 0, );
49482
+ const auth = _chunkSTGWQFYTcjs.getEmbedProxyAuth.call(void 0, );
49434
49483
  if (_optionalChain([auth, 'optionalAccess', _1242 => _1242.email])) {
49435
49484
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
49436
49485
  }
@@ -49454,7 +49503,7 @@ function pruneStaleChatStorage(source) {
49454
49503
  for (const k of toRemove) {
49455
49504
  window.localStorage.removeItem(k);
49456
49505
  }
49457
- } catch (e62) {
49506
+ } catch (e63) {
49458
49507
  }
49459
49508
  }
49460
49509
  function loadPersistedChat(source) {
@@ -49471,7 +49520,7 @@ function loadPersistedChat(source) {
49471
49520
  }
49472
49521
  }
49473
49522
  return parsed;
49474
- } catch (e63) {
49523
+ } catch (e64) {
49475
49524
  return null;
49476
49525
  }
49477
49526
  }
@@ -49479,12 +49528,12 @@ function savePersistedChat(source, state) {
49479
49528
  if (typeof window === "undefined") return;
49480
49529
  try {
49481
49530
  window.localStorage.setItem(chatStorageKey(source), JSON.stringify(state));
49482
- } catch (e64) {
49531
+ } catch (e65) {
49483
49532
  }
49484
49533
  }
49485
49534
  function useSseChatAdapter(options, runtimeOptions = {}) {
49486
49535
  const { active = true } = runtimeOptions;
49487
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
49536
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
49488
49537
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
49489
49538
  const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1243 => _1243.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
49490
49539
  const persistedRef = _react.useRef.call(void 0, null);
@@ -49686,7 +49735,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49686
49735
  if (typeof window !== "undefined") {
49687
49736
  try {
49688
49737
  window.localStorage.removeItem(chatStorageKey(source));
49689
- } catch (e65) {
49738
+ } catch (e66) {
49690
49739
  }
49691
49740
  }
49692
49741
  }, [chatClearMessages, source, bumpMetaTick]);
@@ -50057,7 +50106,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50057
50106
  if ("details" in data && _optionalChain([data, 'optionalAccess', _1283 => _1283.details])) {
50058
50107
  try {
50059
50108
  message2 = _optionalChain([JSON, 'access', _1284 => _1284.parse, 'call', _1285 => _1285(data.details), 'optionalAccess', _1286 => _1286.error, 'optionalAccess', _1287 => _1287.message]);
50060
- } catch (e66) {
50109
+ } catch (e67) {
50061
50110
  message2 = data.details;
50062
50111
  }
50063
50112
  }
@@ -51353,7 +51402,7 @@ function SourceChip({
51353
51402
  onClose,
51354
51403
  onDiscuss
51355
51404
  }) {
51356
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
51405
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
51357
51406
  const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
51358
51407
  const cta = resolveSourceRowCTA(
51359
51408
  {
@@ -51596,7 +51645,7 @@ function EmbeddableChatInner({
51596
51645
  mingoContextBanner
51597
51646
  }) {
51598
51647
  const shellLess = shell === "none";
51599
- const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
51648
+ const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
51600
51649
  const source = _nullishCoalesce(runtime.source, () => ( ""));
51601
51650
  const commandsUrl = runtime.endpoints.commandsUrl;
51602
51651
  const { attachmentsEnabled, user: identityUser } = useChatIdentity();
@@ -53359,5 +53408,5 @@ function EmbeddableChatInner({
53359
53408
 
53360
53409
 
53361
53410
 
53362
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getLuminance = getLuminance; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
53363
- //# sourceMappingURL=chunk-LL4QQSAD.cjs.map
53411
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
53412
+ //# sourceMappingURL=chunk-SOALFYU6.cjs.map