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

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 (116) hide show
  1. package/dist/{chunk-E4J5KKHH.js → chunk-43H2WOAW.js} +2 -2
  2. package/dist/{chunk-5HOII3WB.js → chunk-4UZH3MT2.js} +2 -2
  3. package/dist/{chunk-RL344I7V.cjs → chunk-5M5W6XDY.cjs} +7 -7
  4. package/dist/{chunk-RL344I7V.cjs.map → chunk-5M5W6XDY.cjs.map} +1 -1
  5. package/dist/{chunk-KRLBVBYU.cjs → chunk-74FWQI73.cjs} +11 -11
  6. package/dist/{chunk-KRLBVBYU.cjs.map → chunk-74FWQI73.cjs.map} +1 -1
  7. package/dist/{chunk-ZF5O3KUQ.js → chunk-7XVFSGQA.js} +2 -2
  8. package/dist/{chunk-IVM47EGI.js → chunk-CVYSW33D.js} +109 -149
  9. package/dist/chunk-CVYSW33D.js.map +1 -0
  10. package/dist/{chunk-NEMUCNCG.cjs → chunk-DOBNDDNE.cjs} +59 -59
  11. package/dist/{chunk-NEMUCNCG.cjs.map → chunk-DOBNDDNE.cjs.map} +1 -1
  12. package/dist/{chunk-SOALFYU6.cjs → chunk-GGDM5J4B.cjs} +109 -149
  13. package/dist/chunk-GGDM5J4B.cjs.map +1 -0
  14. package/dist/{chunk-O5W26SCL.js → chunk-GJSLKATJ.js} +2 -2
  15. package/dist/{chunk-ZMFQWMM7.js → chunk-GMZL4T7C.js} +2 -2
  16. package/dist/{chunk-LQWYXIKB.js → chunk-H66L2265.js} +4 -4
  17. package/dist/{chunk-KZPVN7AZ.js → chunk-HB63TQQO.js} +2 -2
  18. package/dist/{chunk-VUW4G6SU.js → chunk-HJIRG7R6.js} +2 -2
  19. package/dist/{chunk-J6M2G6TD.js → chunk-KLBEIJVZ.js} +4 -4
  20. package/dist/{chunk-YRKPMYI3.cjs → chunk-LC6RRLFA.cjs} +15 -15
  21. package/dist/{chunk-YRKPMYI3.cjs.map → chunk-LC6RRLFA.cjs.map} +1 -1
  22. package/dist/{chunk-F4KE5AZO.cjs → chunk-LPC3C7MG.cjs} +37 -37
  23. package/dist/{chunk-F4KE5AZO.cjs.map → chunk-LPC3C7MG.cjs.map} +1 -1
  24. package/dist/{chunk-IK5AR6QG.js → chunk-NSF7JUXF.js} +4 -4
  25. package/dist/{chunk-T6ZUBXPA.cjs → chunk-PRKMOF2U.cjs} +9 -9
  26. package/dist/{chunk-T6ZUBXPA.cjs.map → chunk-PRKMOF2U.cjs.map} +1 -1
  27. package/dist/{chunk-RPGFIUN3.cjs → chunk-Q2MC3CBI.cjs} +26 -26
  28. package/dist/{chunk-RPGFIUN3.cjs.map → chunk-Q2MC3CBI.cjs.map} +1 -1
  29. package/dist/{chunk-KPGKNUJF.cjs → chunk-R4MXLJUS.cjs} +31 -31
  30. package/dist/{chunk-KPGKNUJF.cjs.map → chunk-R4MXLJUS.cjs.map} +1 -1
  31. package/dist/{chunk-A3RW7M6B.cjs → chunk-SY3QS2E5.cjs} +26 -26
  32. package/dist/{chunk-A3RW7M6B.cjs.map → chunk-SY3QS2E5.cjs.map} +1 -1
  33. package/dist/{chunk-V3EZQWHQ.cjs → chunk-WCPUJA3Y.cjs} +5 -5
  34. package/dist/{chunk-V3EZQWHQ.cjs.map → chunk-WCPUJA3Y.cjs.map} +1 -1
  35. package/dist/{chunk-L6OPVKVR.js → chunk-XFP43YKG.js} +4 -4
  36. package/dist/{chunk-WGOATV3P.cjs → chunk-YX7C5JD7.cjs} +62 -62
  37. package/dist/{chunk-WGOATV3P.cjs.map → chunk-YX7C5JD7.cjs.map} +1 -1
  38. package/dist/components/case-studies/index.cjs +8 -9
  39. package/dist/components/case-studies/index.cjs.map +1 -1
  40. package/dist/components/case-studies/index.js +2 -3
  41. package/dist/components/case-studies/index.js.map +1 -1
  42. package/dist/components/chat/index.cjs +2 -3
  43. package/dist/components/chat/index.cjs.map +1 -1
  44. package/dist/components/chat/index.js +1 -2
  45. package/dist/components/chat/quick-action-chip.d.ts +2 -11
  46. package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
  47. package/dist/components/contact/index.cjs +3 -4
  48. package/dist/components/contact/index.cjs.map +1 -1
  49. package/dist/components/contact/index.js +2 -3
  50. package/dist/components/docs/index.cjs +6 -6
  51. package/dist/components/docs/index.js +5 -5
  52. package/dist/components/embeds/index.cjs +3 -4
  53. package/dist/components/embeds/index.cjs.map +1 -1
  54. package/dist/components/embeds/index.js +2 -3
  55. package/dist/components/embeds/reddit-embed-client.d.ts.map +1 -1
  56. package/dist/components/faq/index.cjs +3 -4
  57. package/dist/components/faq/index.cjs.map +1 -1
  58. package/dist/components/faq/index.js +2 -3
  59. package/dist/components/features/index.cjs +2 -3
  60. package/dist/components/features/index.cjs.map +1 -1
  61. package/dist/components/features/index.js +1 -2
  62. package/dist/components/help-center-pages/index.cjs +21 -21
  63. package/dist/components/help-center-pages/index.js +12 -12
  64. package/dist/components/index.cjs +126 -126
  65. package/dist/components/index.cjs.map +1 -1
  66. package/dist/components/index.d.ts +0 -1
  67. package/dist/components/index.d.ts.map +1 -1
  68. package/dist/components/index.js +10 -10
  69. package/dist/components/index.js.map +1 -1
  70. package/dist/components/media-carousel.d.ts +4 -28
  71. package/dist/components/media-carousel.d.ts.map +1 -1
  72. package/dist/components/navigation/index.cjs +2 -3
  73. package/dist/components/navigation/index.cjs.map +1 -1
  74. package/dist/components/navigation/index.js +1 -2
  75. package/dist/components/onboarding-guides/index.cjs +6 -6
  76. package/dist/components/onboarding-guides/index.js +5 -5
  77. package/dist/components/related-content/index.cjs +3 -4
  78. package/dist/components/related-content/index.cjs.map +1 -1
  79. package/dist/components/related-content/index.js +2 -3
  80. package/dist/components/tickets/index.cjs +6 -6
  81. package/dist/components/tickets/index.js +5 -5
  82. package/dist/components/ui/index.cjs +2 -3
  83. package/dist/components/ui/index.cjs.map +1 -1
  84. package/dist/components/ui/index.js +1 -2
  85. package/dist/components/ui/tag.d.ts +2 -3
  86. package/dist/components/ui/tag.d.ts.map +1 -1
  87. package/dist/index.cjs +2 -3
  88. package/dist/index.cjs.map +1 -1
  89. package/dist/index.js +1 -2
  90. package/dist/utils/media-carousel-utils-stub.d.ts +1 -3
  91. package/dist/utils/media-carousel-utils-stub.d.ts.map +1 -1
  92. package/dist/utils/media-carousel-utils.d.ts +10 -0
  93. package/dist/utils/media-carousel-utils.d.ts.map +1 -0
  94. package/package.json +1 -1
  95. package/src/components/chat/quick-action-chip.tsx +4 -18
  96. package/src/components/embeds/reddit-embed-client.tsx +3 -0
  97. package/src/components/index.ts +0 -5
  98. package/src/components/media-carousel.tsx +149 -195
  99. package/src/components/ui/tag.tsx +3 -21
  100. package/src/styles/ods-design-tokens.css +0 -2
  101. package/src/utils/.media-carousel-utils.md +31 -0
  102. package/src/utils/media-carousel-utils-stub.ts +1 -3
  103. package/src/utils/media-carousel-utils.ts +22 -0
  104. package/dist/chunk-IVM47EGI.js.map +0 -1
  105. package/dist/chunk-SOALFYU6.cjs.map +0 -1
  106. /package/dist/{chunk-E4J5KKHH.js.map → chunk-43H2WOAW.js.map} +0 -0
  107. /package/dist/{chunk-5HOII3WB.js.map → chunk-4UZH3MT2.js.map} +0 -0
  108. /package/dist/{chunk-ZF5O3KUQ.js.map → chunk-7XVFSGQA.js.map} +0 -0
  109. /package/dist/{chunk-O5W26SCL.js.map → chunk-GJSLKATJ.js.map} +0 -0
  110. /package/dist/{chunk-ZMFQWMM7.js.map → chunk-GMZL4T7C.js.map} +0 -0
  111. /package/dist/{chunk-LQWYXIKB.js.map → chunk-H66L2265.js.map} +0 -0
  112. /package/dist/{chunk-KZPVN7AZ.js.map → chunk-HB63TQQO.js.map} +0 -0
  113. /package/dist/{chunk-VUW4G6SU.js.map → chunk-HJIRG7R6.js.map} +0 -0
  114. /package/dist/{chunk-J6M2G6TD.js.map → chunk-KLBEIJVZ.js.map} +0 -0
  115. /package/dist/{chunk-IK5AR6QG.js.map → chunk-NSF7JUXF.js.map} +0 -0
  116. /package/dist/{chunk-L6OPVKVR.js.map → chunk-XFP43YKG.js.map} +0 -0
@@ -144,7 +144,6 @@ var _chunkSTGWQFYTcjs = require('./chunk-STGWQFYT.cjs');
144
144
 
145
145
 
146
146
 
147
-
148
147
 
149
148
 
150
149
  var _chunkBGD345ZVcjs = require('./chunk-BGD345ZV.cjs');
@@ -425,18 +424,11 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
425
424
 
426
425
  var tagVariants = _classvarianceauthority.cva.call(void 0,
427
426
  [
428
- "inline-flex items-center justify-center rounded-md",
427
+ "text-h5 h-8 inline-flex items-center justify-center gap-[var(--spacing-system-xxs)] p-[var(--spacing-system-xsf)] rounded-md",
429
428
  "transition-colors duration-150"
430
429
  ],
431
430
  {
432
431
  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
- },
440
432
  variant: {
441
433
  primary: [
442
434
  "bg-[var(--ods-open-yellow-base)] text-[var(--ods-system-greys-black)]",
@@ -467,15 +459,6 @@ var tagVariants = _classvarianceauthority.cva.call(void 0,
467
459
  "bg-[var(--ods-system-greys-soft-grey)] text-[var(--ods-system-greys-grey)]",
468
460
  "hover:bg-[var(--ods-system-greys-soft-grey-hover)] active:bg-[var(--ods-system-greys-soft-grey-action)]"
469
461
  ],
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
- ],
479
462
  // Matches the EntityTagBadges / StatusBadge tag skin (ods-card + ods-border,
480
463
  // mono uppercase) so the tag-editor chips render identically to the public
481
464
  // tag badges. Used for FilterChipData variant 'tag' (see search-input).
@@ -486,8 +469,7 @@ var tagVariants = _classvarianceauthority.cva.call(void 0,
486
469
  }
487
470
  },
488
471
  defaultVariants: {
489
- variant: "primary",
490
- size: "default"
472
+ variant: "primary"
491
473
  }
492
474
  }
493
475
  );
@@ -500,7 +482,6 @@ var disabledTagClasses = [
500
482
  function Tag({
501
483
  label,
502
484
  variant,
503
- size: size2,
504
485
  icon,
505
486
  onClose,
506
487
  className,
@@ -513,14 +494,14 @@ function Tag({
513
494
  Comp,
514
495
  {
515
496
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
516
- tagVariants({ variant, size: size2 }),
497
+ tagVariants({ variant }),
517
498
  disabled && disabledTagClasses,
518
499
  className
519
500
  ),
520
501
  "aria-disabled": disabled || void 0,
521
502
  ...props,
522
503
  children: [
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 }),
504
+ icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center size-5 shrink-0", children: icon }),
524
505
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "truncate", labelClassName), title: typeof label === "string" ? label : void 0, children: label }),
525
506
  onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
526
507
  "button",
@@ -6523,14 +6504,13 @@ function composeChipLabel(label, lozenge) {
6523
6504
  function ChipSkelBar({ className, style }) {
6524
6505
  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 });
6525
6506
  }
6526
- function QuickActionChipSkeleton({ labelCh = 16, icon = true, lozenge = false, size: size2 = "default", className }) {
6507
+ function QuickActionChipSkeleton({ labelCh = 16, icon = true, lozenge = false, className }) {
6527
6508
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6528
6509
  Tag,
6529
6510
  {
6530
6511
  variant: "outline",
6531
- size: size2,
6532
6512
  className,
6533
- icon: icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: size2 === "large" ? "block size-5" : "block size-4" }) : void 0,
6513
+ icon: icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: "block size-4" }) : void 0,
6534
6514
  label: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
6535
6515
  lozenge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: "mr-2 inline-block h-[16px] w-[26px] translate-y-[2px]" }),
6536
6516
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: "inline-block h-[0.9em] translate-y-[0.08em]", style: { width: `${labelCh}ch` } })
@@ -6543,8 +6523,6 @@ function QuickActionChipButton({
6543
6523
  icon,
6544
6524
  lozenge,
6545
6525
  variant = "outline",
6546
- selected = false,
6547
- size: size2 = "default",
6548
6526
  onSelect,
6549
6527
  onHoverStart,
6550
6528
  onHoverEnd,
@@ -6553,9 +6531,8 @@ function QuickActionChipButton({
6553
6531
  }) {
6554
6532
  const resolvedIcon = renderQuickActionIcon(icon);
6555
6533
  const resolvedLabel = composeChipLabel(label, lozenge);
6556
- const tagVariant = selected ? "selected" : variant;
6557
6534
  if (!interactive) {
6558
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: tagVariant, size: size2, icon: resolvedIcon, label: resolvedLabel, className });
6535
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant, icon: resolvedIcon, label: resolvedLabel, className });
6559
6536
  }
6560
6537
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6561
6538
  "button",
@@ -6566,12 +6543,11 @@ function QuickActionChipButton({
6566
6543
  onMouseLeave: onHoverEnd,
6567
6544
  onFocus: onHoverStart,
6568
6545
  onBlur: onHoverEnd,
6569
- "aria-pressed": selected || void 0,
6570
6546
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
6571
6547
  "shrink-0 rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
6572
6548
  className
6573
6549
  ),
6574
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: tagVariant, size: size2, icon: resolvedIcon, label: resolvedLabel })
6550
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant, icon: resolvedIcon, label: resolvedLabel })
6575
6551
  }
6576
6552
  );
6577
6553
  }
@@ -18708,7 +18684,6 @@ var socialCache = SocialEmbedCache.getInstance();
18708
18684
  // src/components/media-carousel.tsx
18709
18685
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
18710
18686
 
18711
- _chunkBX3R44MRcjs.init_button2.call(void 0, );
18712
18687
 
18713
18688
  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" }) });
18714
18689
  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" }) });
@@ -18716,28 +18691,27 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18716
18691
  media,
18717
18692
  className,
18718
18693
  aspectRatio = "16/9",
18719
- showArrows = true,
18720
- objectFit = "contain",
18721
- posterPriority = false,
18722
- transformImageSrc,
18723
- reserveDotRow = false
18694
+ showThumbnails = true,
18695
+ autoPlay = false,
18696
+ objectFit = "contain"
18724
18697
  }) {
18725
18698
  const [currentIndex, setCurrentIndex] = _react.useState.call(void 0, 0);
18726
18699
  const [touchStart, setTouchStart] = _react.useState.call(void 0, null);
18727
18700
  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);
18730
18701
  const carouselRef = _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
- }, []);
18702
+ const thumbnailsRef = _react.useRef.call(void 0, null);
18735
18703
  _react.useEffect.call(void 0, () => {
18736
18704
  if (currentIndex >= media.length && media.length > 0) {
18737
18705
  setCurrentIndex(media.length - 1);
18738
18706
  }
18739
18707
  }, [media.length, currentIndex]);
18708
+ if (!media || media.length === 0) {
18709
+ return null;
18710
+ }
18740
18711
  const currentItem = media[currentIndex] || media[0];
18712
+ if (!currentItem) {
18713
+ return null;
18714
+ }
18741
18715
  const nextSlide = _react.useCallback.call(void 0, () => {
18742
18716
  setCurrentIndex((prev) => (prev + 1) % media.length);
18743
18717
  }, [media.length]);
@@ -18745,8 +18719,9 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18745
18719
  setCurrentIndex((prev) => (prev - 1 + media.length) % media.length);
18746
18720
  }, [media.length]);
18747
18721
  const selectSlide = _react.useCallback.call(void 0, (index) => {
18748
- setCurrentIndex((prev) => index === prev ? prev : index);
18749
- }, []);
18722
+ if (index === currentIndex) return;
18723
+ setCurrentIndex(index);
18724
+ }, [currentIndex]);
18750
18725
  const handleKeyDown = _react.useCallback.call(void 0, (e) => {
18751
18726
  if (media.length <= 1) return;
18752
18727
  if (e.key === "ArrowLeft") {
@@ -18757,12 +18732,6 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18757
18732
  nextSlide();
18758
18733
  }
18759
18734
  }, [nextSlide, prevSlide, media.length]);
18760
- if (!media || media.length === 0) {
18761
- return null;
18762
- }
18763
- if (!currentItem) {
18764
- return null;
18765
- }
18766
18735
  const minSwipeDistance = 50;
18767
18736
  const onTouchStart = (e) => {
18768
18737
  setTouchEnd(null);
@@ -18772,7 +18741,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18772
18741
  setTouchEnd(e.targetTouches[0].clientX);
18773
18742
  };
18774
18743
  const onTouchEnd = () => {
18775
- if (touchStart === null || touchEnd === null) return;
18744
+ if (!touchStart || !touchEnd) return;
18776
18745
  const distance = touchStart - touchEnd;
18777
18746
  const isLeftSwipe = distance > minSwipeDistance;
18778
18747
  const isRightSwipe = distance < -minSwipeDistance;
@@ -18783,77 +18752,43 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18783
18752
  prevSlide();
18784
18753
  }
18785
18754
  };
18786
- const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
18787
- const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18755
+ const renderYouTubeEmbed = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18788
18756
  Video2,
18789
18757
  {
18758
+ kind: "youtube",
18790
18759
  url: item.src,
18791
- poster: item.poster ? displayImageSrc(item.poster) : void 0,
18792
18760
  title: item.alt || `Video ${index + 1}`,
18761
+ layout: "fill",
18762
+ priority: index === currentIndex
18763
+ }
18764
+ );
18765
+ const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18766
+ Video2,
18767
+ {
18768
+ url: item.src,
18769
+ poster: item.poster,
18793
18770
  muted: true,
18794
18771
  layout: "fill",
18795
- priority: Boolean(posterPriority && index === 0),
18796
- className: "w-full h-full bg-black"
18797
- },
18798
- `video-${index}-${item.src}`
18772
+ priority: index === currentIndex
18773
+ }
18799
18774
  );
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"
18775
+ const renderImage = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 bg-black", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18776
+ "img",
18777
+ {
18778
+ src: item.src,
18779
+ alt: item.alt || `Media ${index + 1}`,
18780
+ className: `w-full h-full object-${objectFit}`,
18781
+ loading: "lazy",
18782
+ onError: (e) => {
18783
+ const target = e.target;
18784
+ target.style.display = "none";
18811
18785
  }
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
- };
18786
+ }
18787
+ ) });
18854
18788
  const renderMainMedia = (item, index) => {
18855
18789
  switch (item.type) {
18856
18790
  case "youtube":
18791
+ return renderYouTubeEmbed(item, index);
18857
18792
  case "video":
18858
18793
  return renderVideo(item, index);
18859
18794
  case "image":
@@ -18861,6 +18796,41 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18861
18796
  return renderImage(item, index);
18862
18797
  }
18863
18798
  };
18799
+ const renderThumbnail = (item, index) => {
18800
+ const isActive = index === currentIndex;
18801
+ let thumbnailSrc = item.src;
18802
+ if (item.type === "youtube") {
18803
+ const videoId = extractYouTubeId(item.src);
18804
+ thumbnailSrc = videoId ? `https://img.youtube.com/vi/${videoId}/mqdefault.jpg` : item.src;
18805
+ } else if (item.type === "video" && item.poster) {
18806
+ thumbnailSrc = item.poster;
18807
+ }
18808
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
18809
+ "button",
18810
+ {
18811
+ onClick: () => selectSlide(index),
18812
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
18813
+ "relative flex-shrink-0 overflow-hidden transition-all duration-200",
18814
+ "w-20 h-20 md:w-24 md:h-24 rounded-lg border-2",
18815
+ isActive ? "border-[#FFC008] ring-2 ring-[#FFC008]/20" : "border-ods-border hover:border-[#888888]"
18816
+ ),
18817
+ children: [
18818
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18819
+ "img",
18820
+ {
18821
+ src: thumbnailSrc,
18822
+ alt: item.alt || `Thumbnail ${index + 1}`,
18823
+ className: "w-full h-full object-cover",
18824
+ loading: "lazy"
18825
+ }
18826
+ ),
18827
+ (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" }) }),
18828
+ isActive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute bottom-1 right-1 w-2 h-2 bg-[#FFC008] rounded-full" })
18829
+ ]
18830
+ },
18831
+ index
18832
+ );
18833
+ };
18864
18834
  const getAspectRatioClass = () => {
18865
18835
  switch (aspectRatio) {
18866
18836
  case "4/3":
@@ -18874,14 +18844,13 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18874
18844
  return "aspect-video";
18875
18845
  }
18876
18846
  };
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: [
18847
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "space-y-4", className), children: [
18878
18848
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
18879
18849
  "div",
18880
18850
  {
18881
18851
  ref: carouselRef,
18882
18852
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
18883
- "relative bg-ods-bg border border-ods-border rounded-md overflow-hidden group w-full",
18884
- "[box-shadow:var(--shadow-media-frame)]",
18853
+ "relative bg-ods-bg border border-ods-border rounded-2xl overflow-hidden group w-full",
18885
18854
  getAspectRatioClass()
18886
18855
  ),
18887
18856
  onTouchStart,
@@ -18893,54 +18862,43 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
18893
18862
  "aria-label": media.length > 1 ? "Media carousel, use arrow keys to navigate" : void 0,
18894
18863
  children: [
18895
18864
  renderMainMedia(currentItem, currentIndex),
18896
- showArrows && media.length > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18865
+ media.length > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18897
18866
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18898
- _chunkBX3R44MRcjs.Button,
18867
+ "button",
18899
18868
  {
18900
- variant: "transparent",
18901
18869
  onClick: prevSlide,
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",
18870
+ 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",
18903
18871
  "aria-label": "Previous media",
18904
18872
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronLeftIcon, {})
18905
18873
  }
18906
18874
  ),
18907
18875
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18908
- _chunkBX3R44MRcjs.Button,
18876
+ "button",
18909
18877
  {
18910
- variant: "transparent",
18911
18878
  onClick: nextSlide,
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",
18879
+ 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",
18913
18880
  "aria-label": "Next media",
18914
18881
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronRightIcon, {})
18915
18882
  }
18916
- )
18883
+ ),
18884
+ /* @__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: [
18885
+ currentIndex + 1,
18886
+ " / ",
18887
+ media.length
18888
+ ] })
18917
18889
  ] })
18918
18890
  ]
18919
18891
  }
18920
18892
  ),
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
- }) })
18893
+ media.length > 1 && showThumbnails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18894
+ "div",
18895
+ {
18896
+ ref: thumbnailsRef,
18897
+ className: "flex gap-2 overflow-x-auto scrollbar-none py-2",
18898
+ style: { scrollbarWidth: "none", msOverflowStyle: "none" },
18899
+ children: media.map((item, index) => renderThumbnail(item, index))
18900
+ }
18901
+ ) })
18944
18902
  ] });
18945
18903
  });
18946
18904
 
@@ -19276,6 +19234,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
19276
19234
  width: m.width,
19277
19235
  height: m.height
19278
19236
  }));
19237
+ console.log("\u{1F3AC} MediaCarousel will render with:", mediaContent.length, "items", mediaContent);
19279
19238
  const formatTimeAgo = (timestamp) => {
19280
19239
  const now = Math.floor(Date.now() / 1e3);
19281
19240
  const diffSeconds = now - timestamp;
@@ -19322,7 +19281,8 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
19322
19281
  MediaCarousel,
19323
19282
  {
19324
19283
  media: carouselItems,
19325
- aspectRatio: "16/9"
19284
+ aspectRatio: "16/9",
19285
+ showThumbnails: carouselItems.length > 1
19326
19286
  }
19327
19287
  ),
19328
19288
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-6 text-ods-text-secondary text-sm", children: [
@@ -53409,4 +53369,4 @@ function EmbeddableChatInner({
53409
53369
 
53410
53370
 
53411
53371
  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
53372
+ //# sourceMappingURL=chunk-GGDM5J4B.cjs.map