@flamingo-stack/openframe-frontend-core 0.0.442 → 0.0.443

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 (107) hide show
  1. package/dist/{chunk-J5NO7PAG.cjs → chunk-2CJ734N2.cjs} +3 -3
  2. package/dist/{chunk-J5NO7PAG.cjs.map → chunk-2CJ734N2.cjs.map} +1 -1
  3. package/dist/{chunk-UFBUQO7Z.cjs → chunk-323TCNF3.cjs} +18 -18
  4. package/dist/{chunk-UFBUQO7Z.cjs.map → chunk-323TCNF3.cjs.map} +1 -1
  5. package/dist/{chunk-63TSTDME.js → chunk-3ZE55IH6.js} +5 -5
  6. package/dist/{chunk-Y3NFB6HR.js → chunk-5U6OZ5FD.js} +4 -4
  7. package/dist/{chunk-IAZ5AN2E.js → chunk-6IPNXMB7.js} +6 -6
  8. package/dist/{chunk-XMCVUYKC.cjs → chunk-6NO4YYU7.cjs} +12 -12
  9. package/dist/{chunk-XMCVUYKC.cjs.map → chunk-6NO4YYU7.cjs.map} +1 -1
  10. package/dist/{chunk-QO6MCQYE.cjs → chunk-7CZ4MJSI.cjs} +13 -10
  11. package/dist/chunk-7CZ4MJSI.cjs.map +1 -0
  12. package/dist/{chunk-FPE3SQ5D.js → chunk-A7MG4SBL.js} +3 -3
  13. package/dist/{chunk-SM26C2L7.js → chunk-AZQOX2RS.js} +2 -2
  14. package/dist/{chunk-JYI4R25Q.js → chunk-DOVBNECK.js} +3 -3
  15. package/dist/{chunk-7KDR5P23.js → chunk-FQASXKBK.js} +2 -2
  16. package/dist/{chunk-LFWPWIAC.cjs → chunk-H4W3NCR2.cjs} +7 -7
  17. package/dist/{chunk-LFWPWIAC.cjs.map → chunk-H4W3NCR2.cjs.map} +1 -1
  18. package/dist/{chunk-DUQQEQ7G.cjs → chunk-IBIGXER5.cjs} +191 -153
  19. package/dist/chunk-IBIGXER5.cjs.map +1 -0
  20. package/dist/{chunk-IZ6A6K6N.cjs → chunk-KNNSS3CZ.cjs} +15 -15
  21. package/dist/{chunk-IZ6A6K6N.cjs.map → chunk-KNNSS3CZ.cjs.map} +1 -1
  22. package/dist/{chunk-AGV26PUR.js → chunk-LGMRNYTX.js} +3 -3
  23. package/dist/{chunk-YZJUHEPZ.js → chunk-LYYVTI34.js} +5 -5
  24. package/dist/{chunk-TAQMYVO6.cjs → chunk-M6XUXQ5Q.cjs} +40 -40
  25. package/dist/{chunk-TAQMYVO6.cjs.map → chunk-M6XUXQ5Q.cjs.map} +1 -1
  26. package/dist/{chunk-2BTDPDME.js → chunk-MG4AMIFX.js} +4 -1
  27. package/dist/chunk-MG4AMIFX.js.map +1 -0
  28. package/dist/{chunk-ZQYFDYWV.js → chunk-NQODKJ2F.js} +121 -83
  29. package/dist/{chunk-ZQYFDYWV.js.map → chunk-NQODKJ2F.js.map} +1 -1
  30. package/dist/{chunk-KUXGQ2FQ.cjs → chunk-OHKKI6EF.cjs} +32 -32
  31. package/dist/{chunk-KUXGQ2FQ.cjs.map → chunk-OHKKI6EF.cjs.map} +1 -1
  32. package/dist/{chunk-JOH5D76X.cjs → chunk-PRJFSF4W.cjs} +73 -73
  33. package/dist/{chunk-JOH5D76X.cjs.map → chunk-PRJFSF4W.cjs.map} +1 -1
  34. package/dist/{chunk-W3JZXLJ2.js → chunk-PVMPBWKX.js} +6 -6
  35. package/dist/{chunk-7KNOHGMI.js → chunk-RQVR7I73.js} +2 -2
  36. package/dist/{chunk-7QP65IE4.cjs → chunk-RYKANQE6.cjs} +5 -5
  37. package/dist/{chunk-7QP65IE4.cjs.map → chunk-RYKANQE6.cjs.map} +1 -1
  38. package/dist/{chunk-QAG357PE.js → chunk-UXJ47OJF.js} +2 -2
  39. package/dist/{chunk-JNC4LVD6.cjs → chunk-VACXEUGF.cjs} +29 -29
  40. package/dist/{chunk-JNC4LVD6.cjs.map → chunk-VACXEUGF.cjs.map} +1 -1
  41. package/dist/{chunk-LUKRPHEW.cjs → chunk-YPFQ2UIH.cjs} +73 -73
  42. package/dist/{chunk-LUKRPHEW.cjs.map → chunk-YPFQ2UIH.cjs.map} +1 -1
  43. package/dist/{chunk-IPEIOR77.cjs → chunk-ZVAAIP5Y.cjs} +40 -40
  44. package/dist/{chunk-IPEIOR77.cjs.map → chunk-ZVAAIP5Y.cjs.map} +1 -1
  45. package/dist/components/case-studies/index.cjs +9 -9
  46. package/dist/components/case-studies/index.js +3 -3
  47. package/dist/components/chat/index.cjs +3 -3
  48. package/dist/components/chat/index.js +2 -2
  49. package/dist/components/contact/index.cjs +4 -4
  50. package/dist/components/contact/index.js +3 -3
  51. package/dist/components/docs/index.cjs +6 -6
  52. package/dist/components/docs/index.js +5 -5
  53. package/dist/components/embeds/index.cjs +4 -4
  54. package/dist/components/embeds/index.js +3 -3
  55. package/dist/components/faq/index.cjs +5 -5
  56. package/dist/components/faq/index.js +4 -4
  57. package/dist/components/features/index.cjs +3 -3
  58. package/dist/components/features/index.js +2 -2
  59. package/dist/components/features/policy-configuration-panel.d.ts +11 -0
  60. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  61. package/dist/components/help-center-pages/index.cjs +22 -22
  62. package/dist/components/help-center-pages/index.js +13 -13
  63. package/dist/components/index.cjs +135 -135
  64. package/dist/components/index.js +11 -11
  65. package/dist/components/navigation/index.cjs +3 -3
  66. package/dist/components/navigation/index.js +2 -2
  67. package/dist/components/onboarding-guides/index.cjs +7 -7
  68. package/dist/components/onboarding-guides/index.js +6 -6
  69. package/dist/components/related-content/index.cjs +5 -5
  70. package/dist/components/related-content/index.js +4 -4
  71. package/dist/components/tickets/index.cjs +6 -6
  72. package/dist/components/tickets/index.js +5 -5
  73. package/dist/components/ui/index.cjs +3 -3
  74. package/dist/components/ui/index.js +2 -2
  75. package/dist/hooks/index.cjs +2 -2
  76. package/dist/hooks/index.js +1 -1
  77. package/dist/index.cjs +3 -3
  78. package/dist/index.js +2 -2
  79. package/dist/types/permissions.d.ts +9 -6
  80. package/dist/types/permissions.d.ts.map +1 -1
  81. package/dist/utils/embed-authed-fetch.d.ts +19 -3
  82. package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
  83. package/dist/utils/index.cjs +3 -0
  84. package/dist/utils/index.cjs.map +1 -1
  85. package/dist/utils/index.js +3 -0
  86. package/dist/utils/index.js.map +1 -1
  87. package/package.json +1 -1
  88. package/src/components/features/policy-configuration-panel.tsx +185 -122
  89. package/src/stories/PolicyConfigurationPanel.stories.tsx +254 -0
  90. package/src/types/permissions.ts +10 -7
  91. package/src/utils/__tests__/embed-authed-fetch.test.ts +39 -0
  92. package/src/utils/embed-authed-fetch.ts +27 -3
  93. package/dist/chunk-2BTDPDME.js.map +0 -1
  94. package/dist/chunk-DUQQEQ7G.cjs.map +0 -1
  95. package/dist/chunk-QO6MCQYE.cjs.map +0 -1
  96. /package/dist/{chunk-63TSTDME.js.map → chunk-3ZE55IH6.js.map} +0 -0
  97. /package/dist/{chunk-Y3NFB6HR.js.map → chunk-5U6OZ5FD.js.map} +0 -0
  98. /package/dist/{chunk-IAZ5AN2E.js.map → chunk-6IPNXMB7.js.map} +0 -0
  99. /package/dist/{chunk-FPE3SQ5D.js.map → chunk-A7MG4SBL.js.map} +0 -0
  100. /package/dist/{chunk-SM26C2L7.js.map → chunk-AZQOX2RS.js.map} +0 -0
  101. /package/dist/{chunk-JYI4R25Q.js.map → chunk-DOVBNECK.js.map} +0 -0
  102. /package/dist/{chunk-7KDR5P23.js.map → chunk-FQASXKBK.js.map} +0 -0
  103. /package/dist/{chunk-AGV26PUR.js.map → chunk-LGMRNYTX.js.map} +0 -0
  104. /package/dist/{chunk-YZJUHEPZ.js.map → chunk-LYYVTI34.js.map} +0 -0
  105. /package/dist/{chunk-W3JZXLJ2.js.map → chunk-PVMPBWKX.js.map} +0 -0
  106. /package/dist/{chunk-7KNOHGMI.js.map → chunk-RQVR7I73.js.map} +0 -0
  107. /package/dist/{chunk-QAG357PE.js.map → chunk-UXJ47OJF.js.map} +0 -0
@@ -27,7 +27,7 @@
27
27
 
28
28
 
29
29
 
30
- var _chunkQO6MCQYEcjs = require('./chunk-QO6MCQYE.cjs');
30
+ var _chunk7CZ4MJSIcjs = require('./chunk-7CZ4MJSI.cjs');
31
31
 
32
32
 
33
33
 
@@ -799,7 +799,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
799
799
  onClick: onToggle,
800
800
  className: "flex gap-[var(--spacing-system-xsf)] items-start w-full p-[var(--spacing-system-sf)] cursor-pointer text-left",
801
801
  children: [
802
- /* @__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, _chunkQO6MCQYEcjs.ToolIcon, { toolType, size: 16 }) }),
802
+ /* @__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, _chunk7CZ4MJSIcjs.ToolIcon, { toolType, size: 16 }) }),
803
803
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
804
804
  "div",
805
805
  {
@@ -4886,7 +4886,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
4886
4886
  className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
4887
4887
  onClick: () => setExpanded((prev) => !prev),
4888
4888
  children: [
4889
- !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, _chunkQO6MCQYEcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4889
+ !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, _chunk7CZ4MJSIcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4890
4890
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4891
4891
  "div",
4892
4892
  {
@@ -6624,7 +6624,7 @@ function ChatQuickActionRow({
6624
6624
  skeletonCount = 8,
6625
6625
  className
6626
6626
  }) {
6627
- const auto = _chunkQO6MCQYEcjs.useAutoLimitTags.call(void 0, {
6627
+ const auto = _chunk7CZ4MJSIcjs.useAutoLimitTags.call(void 0, {
6628
6628
  count: chips.length,
6629
6629
  reserveInputWidth: false
6630
6630
  });
@@ -8027,7 +8027,7 @@ function ChatHeaderSearchField({
8027
8027
  className
8028
8028
  }) {
8029
8029
  const [value, setValue] = React24.useState(_nullishCoalesce(initialValue, () => ( "")));
8030
- const debounced = _chunkQO6MCQYEcjs.useDebounce.call(void 0, value, 300);
8030
+ const debounced = _chunk7CZ4MJSIcjs.useDebounce.call(void 0, value, 300);
8031
8031
  const lastEmitted = React24.useRef(_nullishCoalesce(initialValue, () => ( "")));
8032
8032
  const [exiting, setExiting] = React24.useState(false);
8033
8033
  const collapsedRef = React24.useRef(false);
@@ -9231,7 +9231,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
9231
9231
  return;
9232
9232
  }
9233
9233
  const target = stripSameOriginToPath(href);
9234
- if (target.includes("#") && _chunkQO6MCQYEcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkQO6MCQYEcjs.STICKY_HEADER_OFFSET_PX })) {
9234
+ if (target.includes("#") && _chunk7CZ4MJSIcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunk7CZ4MJSIcjs.STICKY_HEADER_OFFSET_PX })) {
9235
9235
  return;
9236
9236
  }
9237
9237
  const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _144 => _144.navigation, 'access', _145 => _145.navigate, 'optionalCall', _146 => _146({ href, path, targetPlatform })]), () => ( false));
@@ -9691,7 +9691,7 @@ function EntityPortraitCard({
9691
9691
  setIsWide(img.naturalWidth / img.naturalHeight >= MIN_WIDE_RATIO);
9692
9692
  }
9693
9693
  };
9694
- const edgeColor = _chunkQO6MCQYEcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
9694
+ const edgeColor = _chunk7CZ4MJSIcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
9695
9695
  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: [
9696
9696
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9697
9697
  "div",
@@ -9998,7 +9998,7 @@ function AdminContentCard({
9998
9998
  const [imageError, setImageError] = _react.useState.call(void 0, false);
9999
9999
  const [imageLoaded, setImageLoaded] = _react.useState.call(void 0, false);
10000
10000
  const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
10001
- const imageBgColor = _chunkQO6MCQYEcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
10001
+ const imageBgColor = _chunk7CZ4MJSIcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
10002
10002
  _react.useEffect.call(void 0, () => {
10003
10003
  setImageLoaded(false);
10004
10004
  }, [displayUrl]);
@@ -10718,7 +10718,7 @@ function useVideoWarmup({
10718
10718
  const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
10719
10719
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _188 => _188.endpoints, 'access', _189 => _189.supabaseStorageOrigin])));
10720
10720
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
10721
- const { ref, isNear } = _chunkQO6MCQYEcjs.useNearViewport.call(void 0, nearMargin);
10721
+ const { ref, isNear } = _chunk7CZ4MJSIcjs.useNearViewport.call(void 0, nearMargin);
10722
10722
  _react.useEffect.call(void 0, () => {
10723
10723
  if (!isNear || !videoUrl || !resolvedOrigin) return;
10724
10724
  const conn = navigator.connection;
@@ -12292,7 +12292,7 @@ function useEntityCardPlaceholder({
12292
12292
  siteName = "",
12293
12293
  aspect = "wide"
12294
12294
  }) {
12295
- const derived = _chunkQO6MCQYEcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
12295
+ const derived = _chunk7CZ4MJSIcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
12296
12296
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
12297
12297
  }
12298
12298
 
@@ -13560,7 +13560,7 @@ function AutocompleteInner(props, ref) {
13560
13560
  }, [valueArray, options]);
13561
13561
  const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
13562
13562
  const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
13563
- const autoLimitTags = _chunkQO6MCQYEcjs.useAutoLimitTags.call(void 0, {
13563
+ const autoLimitTags = _chunk7CZ4MJSIcjs.useAutoLimitTags.call(void 0, {
13564
13564
  count: multiple ? selectedOptions.length : 0,
13565
13565
  limitTags: multiple ? limitTagsProp : 0,
13566
13566
  placeholder: inputPlaceholder
@@ -14301,7 +14301,7 @@ function DatePickerCalendar({
14301
14301
  fluid = false
14302
14302
  }) {
14303
14303
  const today = /* @__PURE__ */ new Date();
14304
- const isMdUp = _nullishCoalesce(_chunkQO6MCQYEcjs.useMdUp.call(void 0, ), () => ( true));
14304
+ const isMdUp = _nullishCoalesce(_chunk7CZ4MJSIcjs.useMdUp.call(void 0, ), () => ( true));
14305
14305
  const monthsToShow = isMdUp ? numberOfMonths : 1;
14306
14306
  const [draftRange, setDraftRange] = React43.useState(
14307
14307
  mode === "range" ? selected : void 0
@@ -15325,7 +15325,7 @@ var ProgressBar = ({
15325
15325
  mobileHeight = 8,
15326
15326
  inverted = false
15327
15327
  }) => {
15328
- const isMdUp = _nullishCoalesce(_chunkQO6MCQYEcjs.useMdUp.call(void 0, ), () => ( true));
15328
+ const isMdUp = _nullishCoalesce(_chunk7CZ4MJSIcjs.useMdUp.call(void 0, ), () => ( true));
15329
15329
  const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
15330
15330
  const effectiveHeight = isMdUp ? height : mobileHeight;
15331
15331
  const containerRef = _react.useRef.call(void 0, null);
@@ -15452,7 +15452,7 @@ function InfoCardFooter({ footer }) {
15452
15452
  ] });
15453
15453
  }
15454
15454
  function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
15455
- const { copy, copied } = _chunkQO6MCQYEcjs.useCopyToClipboard.call(void 0, );
15455
+ const { copy, copied } = _chunk7CZ4MJSIcjs.useCopyToClipboard.call(void 0, );
15456
15456
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
15457
15457
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
15458
15458
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
@@ -17742,7 +17742,7 @@ var DrawerContent = React63.forwardRef(
17742
17742
  const resolvedSide = _nullishCoalesce(side, () => ( "right"));
17743
17743
  const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
17744
17744
  const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
17745
- const headerHeight = _chunkQO6MCQYEcjs.useHeaderHeight.call(void 0, );
17745
+ const headerHeight = _chunk7CZ4MJSIcjs.useHeaderHeight.call(void 0, );
17746
17746
  const [isMobile, setIsMobile] = React63.useState(false);
17747
17747
  React63.useEffect(() => {
17748
17748
  if (typeof window === "undefined") return;
@@ -19964,7 +19964,7 @@ var OGLinkPreview = ({
19964
19964
  const hasImage = !!resolvedImageUrl;
19965
19965
  const isFallbackImage = resolvedImageUrl === fallbackImage;
19966
19966
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
19967
- const bgColor = _chunkQO6MCQYEcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
19967
+ const bgColor = _chunk7CZ4MJSIcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
19968
19968
  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: [
19969
19969
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[200px] h-full flex-shrink-0 bg-ods-border animate-pulse" }),
19970
19970
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 p-3 flex flex-col justify-center", children: [
@@ -22415,7 +22415,7 @@ function ListPageLayout({
22415
22415
  }) {
22416
22416
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
22417
22417
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
22418
- const debouncedSearchValue = _chunkQO6MCQYEcjs.useDebounce.call(void 0, localSearchValue, 500);
22418
+ const debouncedSearchValue = _chunk7CZ4MJSIcjs.useDebounce.call(void 0, localSearchValue, 500);
22419
22419
  _react.useEffect.call(void 0, () => {
22420
22420
  setLocalSearchValue(searchValue);
22421
22421
  }, [searchValue]);
@@ -23081,7 +23081,7 @@ function toToolLabel(input) {
23081
23081
  if (!input) return "";
23082
23082
  const toolType = normalizeToolType(input);
23083
23083
  if (toolType) {
23084
- return _chunkQO6MCQYEcjs.toolLabels[toolType];
23084
+ return _chunk7CZ4MJSIcjs.toolLabels[toolType];
23085
23085
  }
23086
23086
  return input;
23087
23087
  }
@@ -23092,7 +23092,7 @@ function getToolTypeAliases(toolType) {
23092
23092
  return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
23093
23093
  }
23094
23094
  function getToolLabel(toolType) {
23095
- return _chunkQO6MCQYEcjs.toolLabels[toolType] || toolType;
23095
+ return _chunk7CZ4MJSIcjs.toolLabels[toolType] || toolType;
23096
23096
  }
23097
23097
 
23098
23098
  // src/types/shell.types.ts
@@ -26245,10 +26245,10 @@ function CompleteAccountForm({
26245
26245
  children
26246
26246
  }) {
26247
26247
  const fieldsDisabled = disabled || loading;
26248
- const firstNameErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _521 => _521.firstName]), firstName);
26249
- const lastNameErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _522 => _522.lastName]), lastName);
26250
- const passwordErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _523 => _523.password]), password);
26251
- const confirmErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _524 => _524.confirmPassword]), confirmPassword);
26248
+ const firstNameErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _521 => _521.firstName]), firstName);
26249
+ const lastNameErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _522 => _522.lastName]), lastName);
26250
+ const passwordErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _523 => _523.password]), password);
26251
+ const confirmErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _524 => _524.confirmPassword]), confirmPassword);
26252
26252
  const handleKeyDown = (event) => {
26253
26253
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26254
26254
  onSubmit();
@@ -26439,9 +26439,9 @@ function CreateOrganizationForm({
26439
26439
  }) {
26440
26440
  const hasSso = !!ssoProviders && ssoProviders.length > 0;
26441
26441
  const fieldsDisabled = disabled || loading;
26442
- const emailErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _525 => _525.email]), email);
26443
- const orgNameErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _526 => _526.organizationName]), organizationName);
26444
- const domainErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _527 => _527.domain]), domain);
26442
+ const emailErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _525 => _525.email]), email);
26443
+ const orgNameErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _526 => _526.organizationName]), organizationName);
26444
+ const domainErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _527 => _527.domain]), domain);
26445
26445
  const handleKeyDown = (event) => {
26446
26446
  if (event.key === "Enter" && !fieldsDisabled) {
26447
26447
  onSubmit();
@@ -26595,7 +26595,7 @@ function LoginForm({
26595
26595
  className
26596
26596
  }) {
26597
26597
  const fieldDisabled = disabled || loading;
26598
- const emailErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _533 => _533.email]), email);
26598
+ const emailErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _533 => _533.email]), email);
26599
26599
  const handleKeyDown = (event) => {
26600
26600
  if (event.key === "Enter" && !fieldDisabled) {
26601
26601
  _optionalChain([onSubmit, 'optionalCall', _534 => _534()]);
@@ -26669,8 +26669,8 @@ function OpenFrameSsoLoginForm({
26669
26669
  className
26670
26670
  }) {
26671
26671
  const fieldsDisabled = disabled || loading;
26672
- const emailErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _537 => _537.email]), email);
26673
- const passwordErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _538 => _538.password]), password);
26672
+ const emailErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _537 => _537.email]), email);
26673
+ const passwordErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _538 => _538.password]), password);
26674
26674
  const handleKeyDown = (event) => {
26675
26675
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26676
26676
  onSubmit();
@@ -26777,11 +26777,11 @@ function OpenFrameSsoSignUpForm({
26777
26777
  className
26778
26778
  }) {
26779
26779
  const fieldsDisabled = disabled || loading;
26780
- const emailErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _539 => _539.email]), email);
26781
- const firstNameErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _540 => _540.firstName]), firstName);
26782
- const lastNameErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _541 => _541.lastName]), lastName);
26783
- const passwordErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _542 => _542.password]), password);
26784
- const confirmErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _543 => _543.confirmPassword]), confirmPassword);
26780
+ const emailErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _539 => _539.email]), email);
26781
+ const firstNameErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _540 => _540.firstName]), firstName);
26782
+ const lastNameErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _541 => _541.lastName]), lastName);
26783
+ const passwordErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _542 => _542.password]), password);
26784
+ const confirmErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _543 => _543.confirmPassword]), confirmPassword);
26785
26785
  const handleKeyDown = (event) => {
26786
26786
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26787
26787
  onSubmit();
@@ -26924,8 +26924,8 @@ function PasswordResetForm({
26924
26924
  className
26925
26925
  }) {
26926
26926
  const fieldsDisabled = disabled || loading;
26927
- const passwordErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _544 => _544.password]), password);
26928
- const confirmErr = _chunkQO6MCQYEcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _545 => _545.confirmPassword]), confirmPassword);
26927
+ const passwordErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _544 => _544.password]), password);
26928
+ const confirmErr = _chunk7CZ4MJSIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _545 => _545.confirmPassword]), confirmPassword);
26929
26929
  const handleKeyDown = (event) => {
26930
26930
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26931
26931
  onSubmit();
@@ -29214,7 +29214,7 @@ function PlatformFilterComponent({
29214
29214
  variant: selectedPlatform === platform.value ? "accent" : "outline",
29215
29215
  size: size2,
29216
29216
  onClick: () => onPlatformChange(platform.value),
29217
- leftIcon: showIcons ? _chunkQO6MCQYEcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
29217
+ leftIcon: showIcons ? _chunk7CZ4MJSIcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
29218
29218
  className: "text-h3",
29219
29219
  children: platform.label
29220
29220
  },
@@ -31953,33 +31953,68 @@ var getApprovalLevelLabel = (level, editMode = false) => {
31953
31953
  const option = approvalLevelOptions.find((opt) => opt.value === level);
31954
31954
  return _optionalChain([option, 'optionalAccess', _615 => _615.label]) || level;
31955
31955
  };
31956
+ var ApprovalLevelDropdown = ({ value, onChange, allowClear = false, triggerClassName, contentClassName }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPYR4LVAFcjs.DropdownMenu, { children: [
31957
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31958
+ _chunkPYR4LVAFcjs.Button,
31959
+ {
31960
+ variant: "outline",
31961
+ rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown, { className: "h-6 w-6 text-ods-text-secondary" }),
31962
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
31963
+ "!text-h6 bg-ods-card border border-ods-border rounded-md flex gap-[var(--spacing-system-xsf)] items-center justify-between !px-[var(--spacing-system-xsf)] py-[var(--spacing-system-xsf)] hover:bg-ods-bg-hover transition-colors h-auto",
31964
+ value ? "text-ods-text-primary" : "text-ods-text-secondary",
31965
+ triggerClassName
31966
+ ),
31967
+ children: getApprovalLevelLabel(value, true)
31968
+ }
31969
+ ) }),
31970
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuContent, { align: "end", className: contentClassName, children: [
31971
+ allowClear && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuItem, { onClick: () => onChange(void 0), className: "text-h6", children: "Clear Global Permission" }),
31972
+ approvalLevelOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31973
+ _chunkPYR4LVAFcjs.DropdownMenuItem,
31974
+ {
31975
+ onClick: () => onChange(option.value),
31976
+ className: "text-h6",
31977
+ children: option.label
31978
+ },
31979
+ option.value
31980
+ ))
31981
+ ] })
31982
+ ] });
31956
31983
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
31957
- 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: [
31958
- /* @__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, _chunkQO6MCQYEcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
31984
+ const handleChange = (level) => {
31985
+ if (level) onPermissionChange(categoryId, policy.id, level);
31986
+ };
31987
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b last:border-b-0 border-ods-border flex gap-[var(--spacing-system-m)] items-start md:items-center px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)]", children: [
31988
+ /* @__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 shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7CZ4MJSIcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
31959
31989
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
31960
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-primary truncate", title: policy.name, children: policy.name }),
31961
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-code text-ods-text-secondary break-all", children: policy.commandPattern })
31962
- ] }),
31963
- editMode ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPYR4LVAFcjs.DropdownMenu, { children: [
31964
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31965
- _chunkPYR4LVAFcjs.Button,
31990
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", title: policy.name, children: policy.name }),
31991
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31992
+ "p",
31966
31993
  {
31967
- variant: "outline",
31968
- rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown, { className: "h-6 w-6 text-ods-text-secondary" }),
31969
- className: "md:!text-sm bg-ods-card border border-ods-border rounded-md flex gap-2 items-center justify-between !px-2 py-2 w-[180px] hover:bg-ods-bg-hover transition-colors text-ods-text-primary h-auto",
31970
- children: getApprovalLevelLabel(policy.approvalLevel, editMode)
31994
+ className: "text-h6 text-ods-text-secondary truncate md:whitespace-normal md:break-all",
31995
+ title: policy.commandPattern,
31996
+ children: policy.commandPattern
31971
31997
  }
31972
- ) }),
31973
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuContent, { align: "end", className: "w-[180px]", children: approvalLevelOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31974
- _chunkPYR4LVAFcjs.DropdownMenuItem,
31998
+ ),
31999
+ editMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden mt-[var(--spacing-system-xsf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32000
+ ApprovalLevelDropdown,
31975
32001
  {
31976
- onClick: () => onPermissionChange(categoryId, policy.id, option.value),
31977
- className: "text-h6",
31978
- children: option.label
31979
- },
31980
- option.value
31981
- )) })
31982
- ] }) : policy.approvalLevel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-3 py-2 w-[180px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel, editMode) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-3 py-2 w-[180px]" })
32002
+ value: policy.approvalLevel,
32003
+ onChange: handleChange,
32004
+ triggerClassName: "w-full",
32005
+ contentClassName: "w-[180px]"
32006
+ }
32007
+ ) }) : policy.approvalLevel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "md:hidden text-h4 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel) }) : null
32008
+ ] }),
32009
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:block shrink-0", children: editMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32010
+ ApprovalLevelDropdown,
32011
+ {
32012
+ value: policy.approvalLevel,
32013
+ onChange: handleChange,
32014
+ triggerClassName: "w-[180px]",
32015
+ contentClassName: "w-[180px]"
32016
+ }
32017
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)] w-[180px]", children: policy.approvalLevel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel) }) }) })
31983
32018
  ] });
31984
32019
  };
31985
32020
  var useAnimatedHeight = (isExpanded) => {
@@ -31996,69 +32031,52 @@ var useAnimatedHeight = (isExpanded) => {
31996
32031
  var CategorySection = ({
31997
32032
  category,
31998
32033
  editMode,
31999
- onCategoryToggle,
32000
- onGlobalPermissionChange,
32034
+ isExpanded,
32035
+ bulkLevel,
32036
+ onToggle,
32037
+ onBulkLevelChange,
32001
32038
  onPolicyPermissionChange
32002
32039
  }) => {
32003
- const { contentRef, height } = useAnimatedHeight(category.isExpanded);
32040
+ const { contentRef, height } = useAnimatedHeight(isExpanded);
32041
+ const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
32004
32042
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
32005
32043
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
32006
32044
  "div",
32007
32045
  {
32008
- className: "bg-ods-card border-t border-ods-border flex gap-4 items-center pl-4 pr-2 py-3 cursor-pointer hover:bg-ods-bg-hover transition-colors",
32009
- onClick: () => onCategoryToggle(category.id),
32046
+ className: "bg-ods-card border-t first:border-t-0 border-ods-border flex gap-[var(--spacing-system-m)] items-center pl-[var(--spacing-system-m)] pr-[var(--spacing-system-xsf)] py-[var(--spacing-system-s)] cursor-pointer hover:bg-ods-bg-hover transition-colors",
32047
+ onClick: () => onToggle(category.id),
32010
32048
  children: [
32011
- /* @__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, "div", { className: "text-ods-text-secondary", children: category.icon }) }),
32012
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col", children: [
32013
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "md:!text-sm font-medium text-ods-text-primary", children: category.name }),
32049
+ /* @__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 shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary", children: _nullishCoalesce(category.icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Shield, { className: "w-4 h-4" }))) }) }),
32050
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
32051
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", title: category.name, children: category.name }),
32014
32052
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: [
32015
- category.configurationsCount,
32053
+ category.policies.length,
32016
32054
  " Configurations"
32017
- ] })
32018
- ] }),
32019
- editMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPYR4LVAFcjs.DropdownMenu, { children: [
32020
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32021
- _chunkPYR4LVAFcjs.Button,
32055
+ ] }),
32056
+ editMode && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden mt-[var(--spacing-system-xsf)]", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32057
+ ApprovalLevelDropdown,
32022
32058
  {
32023
- variant: "outline",
32024
- rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown, { className: "h-6 w-6 text-ods-text-secondary" }),
32025
- className: "md:!text-sm bg-ods-card border border-ods-border rounded-md flex gap-2 items-center justify-between !px-2 py-2 w-[256px] hover:bg-ods-bg-hover transition-colors h-auto",
32026
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
32027
- "md:!text-sm font-medium",
32028
- category.globalPermission ? "text-ods-text-primary" : "text-ods-text-secondary"
32029
- ), children: getApprovalLevelLabel(category.globalPermission, editMode) })
32059
+ value: bulkLevel,
32060
+ onChange: handleBulkChange,
32061
+ allowClear: true,
32062
+ triggerClassName: "w-full",
32063
+ contentClassName: "w-[256px]"
32030
32064
  }
32031
- ) }),
32032
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuContent, { align: "end", className: "w-[256px]", children: [
32033
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32034
- _chunkPYR4LVAFcjs.DropdownMenuItem,
32035
- {
32036
- onClick: () => onGlobalPermissionChange(category.id, void 0),
32037
- className: "md:!text-sm",
32038
- children: "Clear Global Permission"
32039
- }
32040
- ),
32041
- approvalLevelOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32042
- _chunkPYR4LVAFcjs.DropdownMenuItem,
32043
- {
32044
- onClick: () => onGlobalPermissionChange(category.id, option.value),
32045
- className: "md:!text-sm",
32046
- children: option.label
32047
- },
32048
- option.value
32049
- ))
32050
- ] })
32051
- ] }) }) : category.globalPermission ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32052
- "div",
32065
+ ) })
32066
+ ] }),
32067
+ editMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:block shrink-0", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32068
+ ApprovalLevelDropdown,
32053
32069
  {
32054
- className: "px-3 py-2 w-[256px]",
32055
- onClick: (e) => e.stopPropagation(),
32056
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "md:!text-sm font-medium text-ods-text-primary", children: getApprovalLevelLabel(category.globalPermission, editMode) })
32070
+ value: bulkLevel,
32071
+ onChange: handleBulkChange,
32072
+ allowClear: true,
32073
+ triggerClassName: "w-[256px]",
32074
+ contentClassName: "w-[256px]"
32057
32075
  }
32058
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32076
+ ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32059
32077
  "div",
32060
32078
  {
32061
- className: "px-3 py-2 w-[256px]",
32079
+ className: "hidden md:block px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)] w-[256px] shrink-0",
32062
32080
  onClick: (e) => e.stopPropagation()
32063
32081
  }
32064
32082
  ),
@@ -32069,19 +32087,19 @@ var CategorySection = ({
32069
32087
  variant: "transparent",
32070
32088
  onClick: (e) => {
32071
32089
  e.stopPropagation();
32072
- onCategoryToggle(category.id);
32090
+ onToggle(category.id);
32073
32091
  },
32074
32092
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32075
32093
  _lucidereact.ChevronDown,
32076
32094
  {
32077
32095
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
32078
32096
  "h-6 w-6 text-ods-text-primary transition-transform duration-300",
32079
- category.isExpanded && "rotate-180"
32097
+ isExpanded && "rotate-180"
32080
32098
  )
32081
32099
  }
32082
32100
  ),
32083
- className: "rounded-md h-auto w-auto",
32084
- "aria-label": category.isExpanded ? "Collapse" : "Expand"
32101
+ className: "rounded-md h-auto w-auto shrink-0",
32102
+ "aria-label": isExpanded ? "Collapse" : "Expand"
32085
32103
  }
32086
32104
  )
32087
32105
  ]
@@ -32097,9 +32115,9 @@ var CategorySection = ({
32097
32115
  },
32098
32116
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
32099
32117
  "overflow-hidden",
32100
- category.isExpanded ? "opacity-100" : "opacity-0"
32118
+ isExpanded ? "opacity-100" : "opacity-0"
32101
32119
  ),
32102
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-4 pb-4 pt-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border border-ods-border rounded-md overflow-hidden", children: category.policies.map((policy) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32120
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-mf)] pb-[var(--spacing-system-mf)] pt-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border border-ods-border rounded-md overflow-hidden", children: category.policies.map((policy) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32103
32121
  PolicyRow,
32104
32122
  {
32105
32123
  policy,
@@ -32116,11 +32134,29 @@ var CategorySection = ({
32116
32134
  var PolicyConfigurationPanel = ({
32117
32135
  categories,
32118
32136
  editMode,
32119
- onCategoryToggle,
32120
- onGlobalPermissionChange,
32121
32137
  onPolicyPermissionChange,
32138
+ onCategoryPermissionChange,
32122
32139
  className
32123
32140
  }) => {
32141
+ const [expandedIds, setExpandedIds] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
32142
+ const [bulkLevels, setBulkLevels] = _react.useState.call(void 0, {});
32143
+ _react.useEffect.call(void 0, () => {
32144
+ setBulkLevels({});
32145
+ }, [editMode]);
32146
+ const handleToggle = (categoryId) => {
32147
+ setExpandedIds((prev) => {
32148
+ const next = new Set(prev);
32149
+ if (next.has(categoryId)) next.delete(categoryId);
32150
+ else next.add(categoryId);
32151
+ return next;
32152
+ });
32153
+ };
32154
+ const handleBulkLevelChange = (categoryId, level) => {
32155
+ setBulkLevels((prev) => ({ ...prev, [categoryId]: level }));
32156
+ if (level) {
32157
+ onCategoryPermissionChange(categoryId, level);
32158
+ }
32159
+ };
32124
32160
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
32125
32161
  "bg-ods-card border border-ods-border rounded-md overflow-hidden",
32126
32162
  className
@@ -32129,8 +32165,10 @@ var PolicyConfigurationPanel = ({
32129
32165
  {
32130
32166
  category,
32131
32167
  editMode,
32132
- onCategoryToggle,
32133
- onGlobalPermissionChange,
32168
+ isExpanded: expandedIds.has(category.id),
32169
+ bulkLevel: bulkLevels[category.id],
32170
+ onToggle: handleToggle,
32171
+ onBulkLevelChange: handleBulkLevelChange,
32134
32172
  onPolicyPermissionChange
32135
32173
  },
32136
32174
  category.id
@@ -32266,8 +32304,8 @@ function WaitlistForm({
32266
32304
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
32267
32305
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
32268
32306
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
32269
- const { toast } = _chunkQO6MCQYEcjs.useToast.call(void 0, );
32270
- const { honeypotInputProps, getSignals, resetSignals } = _chunkQO6MCQYEcjs.useHumanitySignals.call(void 0, );
32307
+ const { toast } = _chunk7CZ4MJSIcjs.useToast.call(void 0, );
32308
+ const { honeypotInputProps, getSignals, resetSignals } = _chunk7CZ4MJSIcjs.useHumanitySignals.call(void 0, );
32271
32309
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
32272
32310
  const [isClient, setIsClient] = _react.useState.call(void 0, false);
32273
32311
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
@@ -33249,7 +33287,7 @@ function NotificationTile({
33249
33287
  onError: () => setFailedImageUrl(image),
33250
33288
  className: "size-4 rounded-[2px] object-cover"
33251
33289
  }
33252
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkQO6MCQYEcjs.dotColorByVariant[accentVariant]) })))
33290
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk7CZ4MJSIcjs.dotColorByVariant[accentVariant]) })))
33253
33291
  }
33254
33292
  ),
33255
33293
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -33297,7 +33335,7 @@ function NotificationTile({
33297
33335
  "aria-hidden": true,
33298
33336
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
33299
33337
  "absolute inset-x-0 -bottom-px h-1 origin-left",
33300
- _chunkQO6MCQYEcjs.progressColorByVariant[accentVariant]
33338
+ _chunk7CZ4MJSIcjs.progressColorByVariant[accentVariant]
33301
33339
  ),
33302
33340
  style: {
33303
33341
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
@@ -33520,7 +33558,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
33520
33558
  ] });
33521
33559
  }
33522
33560
  function DesktopNotificationsToggleRow({ checked, onChange }) {
33523
- const { supported, permission, request } = _chunkQO6MCQYEcjs.useNotificationPermission.call(void 0, );
33561
+ const { supported, permission, request } = _chunk7CZ4MJSIcjs.useNotificationPermission.call(void 0, );
33524
33562
  if (!supported) return null;
33525
33563
  const blocked = permission === "denied";
33526
33564
  const handleChange = async (value) => {
@@ -34978,7 +35016,7 @@ function EmptyState2() {
34978
35016
  // src/components/features/board/use-board-collapse.ts
34979
35017
 
34980
35018
  function useBoardCollapse(storageKey) {
34981
- const [persisted, setPersisted] = _chunkQO6MCQYEcjs.useLocalStorage.call(void 0,
35019
+ const [persisted, setPersisted] = _chunk7CZ4MJSIcjs.useLocalStorage.call(void 0,
34982
35020
  _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
34983
35021
  {}
34984
35022
  );
@@ -35028,7 +35066,7 @@ function Board({
35028
35066
  onThumbPointerDown,
35029
35067
  onThumbPointerMove,
35030
35068
  onThumbPointerUp
35031
- } = _chunkQO6MCQYEcjs.useHorizontalScrollbar.call(void 0, );
35069
+ } = _chunk7CZ4MJSIcjs.useHorizontalScrollbar.call(void 0, );
35032
35070
  const [items, setItems] = React105.useState(columns);
35033
35071
  const isDraggingRef = React105.useRef(false);
35034
35072
  React105.useEffect(() => {
@@ -35386,8 +35424,8 @@ var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
35386
35424
  function MobileNavPanel({ isOpen, config }) {
35387
35425
  const panelRef = _react.useRef.call(void 0, null);
35388
35426
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
35389
- _chunkQO6MCQYEcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
35390
- const headerHeight = _chunkQO6MCQYEcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
35427
+ _chunk7CZ4MJSIcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
35428
+ const headerHeight = _chunk7CZ4MJSIcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
35391
35429
  if (!isOpen) return null;
35392
35430
  const renderNavigationItem = (item) => {
35393
35431
  if (item.element) {
@@ -35880,11 +35918,11 @@ _chunkPYR4LVAFcjs.init_button2.call(void 0, );
35880
35918
  function SlidingSidebar({ config }) {
35881
35919
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
35882
35920
  const [mounted, setMounted] = _react.useState.call(void 0, false);
35883
- const headerHeight = _chunkQO6MCQYEcjs.useHeaderHeight.call(void 0, );
35921
+ const headerHeight = _chunk7CZ4MJSIcjs.useHeaderHeight.call(void 0, );
35884
35922
  const asideRef = _react.useRef.call(void 0, null);
35885
35923
  const prefersReducedMotion2 = _framermotion.useReducedMotion.call(void 0, );
35886
35924
  _overlays.usePreventScroll.call(void 0, { isDisabled: !config.isOpen });
35887
- _chunkQO6MCQYEcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
35925
+ _chunk7CZ4MJSIcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
35888
35926
  _react.useEffect.call(void 0, () => {
35889
35927
  setMounted(true);
35890
35928
  }, []);
@@ -36122,7 +36160,7 @@ function useSectionNavigation(sections, options) {
36122
36160
  if (!targetElement) return;
36123
36161
  isScrollingFromClick.current = true;
36124
36162
  setActiveSection(sectionId);
36125
- _chunkQO6MCQYEcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
36163
+ _chunk7CZ4MJSIcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
36126
36164
  setTimeout(() => {
36127
36165
  isScrollingFromClick.current = false;
36128
36166
  }, 500);
@@ -36308,10 +36346,10 @@ var MINIMIZED_WIDTH = 56;
36308
36346
  var EXPANDED_WIDTH = 224;
36309
36347
  var STORAGE_KEY = "of.navigationSidebar.minimized";
36310
36348
  function NavigationSidebar({ config, disabled = false }) {
36311
- const isMdUp = _nullishCoalesce(_chunkQO6MCQYEcjs.useMdUp.call(void 0, ), () => ( false));
36312
- const isLgUp = _nullishCoalesce(_chunkQO6MCQYEcjs.useLgUp.call(void 0, ), () => ( false));
36349
+ const isMdUp = _nullishCoalesce(_chunk7CZ4MJSIcjs.useMdUp.call(void 0, ), () => ( false));
36350
+ const isLgUp = _nullishCoalesce(_chunk7CZ4MJSIcjs.useLgUp.call(void 0, ), () => ( false));
36313
36351
  const isTablet = isMdUp && !isLgUp;
36314
- const [desktopMinimized, setDesktopMinimized] = _chunkQO6MCQYEcjs.useLocalStorage.call(void 0,
36352
+ const [desktopMinimized, setDesktopMinimized] = _chunk7CZ4MJSIcjs.useLocalStorage.call(void 0,
36315
36353
  STORAGE_KEY,
36316
36354
  _nullishCoalesce(config.minimized, () => ( false))
36317
36355
  );
@@ -36635,7 +36673,7 @@ var AppHeader = React120.default.memo(function AppHeader2({
36635
36673
  onToggleMobileMenu,
36636
36674
  disabled = false
36637
36675
  }) {
36638
- const isMdUp = _nullishCoalesce(_chunkQO6MCQYEcjs.useMdUp.call(void 0, ), () => ( false));
36676
+ const isMdUp = _nullishCoalesce(_chunk7CZ4MJSIcjs.useMdUp.call(void 0, ), () => ( false));
36639
36677
  const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
36640
36678
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36641
36679
  "header",
@@ -36834,7 +36872,7 @@ var MobileBurgerMenu = React120.default.memo(function MobileBurgerMenu2({
36834
36872
  }) {
36835
36873
  const panelRef = _react.useRef.call(void 0, null);
36836
36874
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
36837
- _chunkQO6MCQYEcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
36875
+ _chunk7CZ4MJSIcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
36838
36876
  const handleItemClick = _react.useCallback.call(void 0, (item) => {
36839
36877
  if (item.onClick) {
36840
36878
  item.onClick();
@@ -37397,7 +37435,7 @@ var ToolBadge = ({
37397
37435
  }) => {
37398
37436
  const label = getToolLabel(toolType);
37399
37437
  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: [
37400
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQO6MCQYEcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
37438
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7CZ4MJSIcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
37401
37439
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
37402
37440
  ] });
37403
37441
  };
@@ -37769,7 +37807,7 @@ function OnboardingWalkthrough({
37769
37807
  isStepSkipped,
37770
37808
  allStepsComplete,
37771
37809
  markMultipleComplete
37772
- } = _chunkQO6MCQYEcjs.useOnboardingState.call(void 0, storageKey);
37810
+ } = _chunk7CZ4MJSIcjs.useOnboardingState.call(void 0, storageKey);
37773
37811
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
37774
37812
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
37775
37813
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
@@ -37976,7 +38014,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
37976
38014
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-primary", children: log.title }),
37977
38015
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
37978
38016
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 text-ods-text-secondary", children: formatTimestamp(log.timestamp) }),
37979
- log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQO6MCQYEcjs.ToolIcon, { toolType: log.toolType, size: 16 })
38017
+ log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7CZ4MJSIcjs.ToolIcon, { toolType: log.toolType, size: 16 })
37980
38018
  ] })
37981
38019
  ] })
37982
38020
  ]
@@ -38113,7 +38151,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
38113
38151
  }
38114
38152
  function ServiceCardRowItem({ row }) {
38115
38153
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
38116
- const { copy, copied } = _chunkQO6MCQYEcjs.useCopyToClipboard.call(void 0, );
38154
+ const { copy, copied } = _chunk7CZ4MJSIcjs.useCopyToClipboard.call(void 0, );
38117
38155
  const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
38118
38156
  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 });
38119
38157
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
@@ -38775,7 +38813,7 @@ function TableHeader({
38775
38813
  }
38776
38814
  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" });
38777
38815
  };
38778
- const isLgUp = _nullishCoalesce(_chunkQO6MCQYEcjs.useLgUp.call(void 0, ), () => ( false));
38816
+ const isLgUp = _nullishCoalesce(_chunk7CZ4MJSIcjs.useLgUp.call(void 0, ), () => ( false));
38779
38817
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38780
38818
  "div",
38781
38819
  {
@@ -39698,7 +39736,7 @@ function QueryReportTable({
39698
39736
  onThumbPointerDown,
39699
39737
  onThumbPointerMove,
39700
39738
  onThumbPointerUp
39701
- } = _chunkQO6MCQYEcjs.useHorizontalScrollbar.call(void 0, );
39739
+ } = _chunk7CZ4MJSIcjs.useHorizontalScrollbar.call(void 0, );
39702
39740
  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: [
39703
39741
  !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
39704
39742
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-h2 text-ods-text-primary", children: title }),
@@ -39929,7 +39967,7 @@ function DataTableHeader({
39929
39967
  onSortChange
39930
39968
  }) {
39931
39969
  const table = useDataTableContext();
39932
- const isLgUp = _nullishCoalesce(_chunkQO6MCQYEcjs.useLgUp.call(void 0, ), () => ( false));
39970
+ const isLgUp = _nullishCoalesce(_chunk7CZ4MJSIcjs.useLgUp.call(void 0, ), () => ( false));
39933
39971
  const headerGroup = table.getHeaderGroups()[0];
39934
39972
  if (!headerGroup) return null;
39935
39973
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
@@ -40500,7 +40538,7 @@ function SearchInput({
40500
40538
  }) {
40501
40539
  const [internalValue, setInternalValue] = React122.useState(defaultValue);
40502
40540
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
40503
- const debouncedValue = _chunkQO6MCQYEcjs.useDebounce.call(void 0, currentValue, debounceMs);
40541
+ const debouncedValue = _chunk7CZ4MJSIcjs.useDebounce.call(void 0, currentValue, debounceMs);
40504
40542
  const [isOpen, setIsOpen] = React122.useState(false);
40505
40543
  const [highlightedIndex, setHighlightedIndex] = React122.useState(-1);
40506
40544
  const containerRef = React122.useRef(null);
@@ -40512,7 +40550,7 @@ function SearchInput({
40512
40550
  textMeasureRef,
40513
40551
  badgeRef,
40514
40552
  inputRef
40515
- } = _chunkQO6MCQYEcjs.useAutoLimitTags.call(void 0, {
40553
+ } = _chunk7CZ4MJSIcjs.useAutoLimitTags.call(void 0, {
40516
40554
  count: filterChips.length,
40517
40555
  limitTags,
40518
40556
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -40979,7 +41017,7 @@ function TagSearchInput({
40979
41017
  textMeasureRef,
40980
41018
  badgeRef,
40981
41019
  inputRef
40982
- } = _chunkQO6MCQYEcjs.useAutoLimitTags.call(void 0, {
41020
+ } = _chunk7CZ4MJSIcjs.useAutoLimitTags.call(void 0, {
40983
41021
  count: tags.length,
40984
41022
  limitTags,
40985
41023
  placeholder: currentPlaceholder
@@ -45677,7 +45715,7 @@ function useChatCardItem(type, id) {
45677
45715
  queryKey: ["chat-card-item", type, id],
45678
45716
  queryFn: async () => {
45679
45717
  if (!url) return null;
45680
- const res = await _chunkQO6MCQYEcjs.embedAuthedFetch.call(void 0, url);
45718
+ const res = await _chunk7CZ4MJSIcjs.embedAuthedFetch.call(void 0, url);
45681
45719
  if (!res.ok) return null;
45682
45720
  const data = await res.json();
45683
45721
  const items = extractItems(data);
@@ -48609,7 +48647,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
48609
48647
  try {
48610
48648
  const url = new URL(commandsUrl, window.location.origin);
48611
48649
  if (prefix) url.searchParams.set("q", prefix);
48612
- const res = await _chunkQO6MCQYEcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48650
+ const res = await _chunk7CZ4MJSIcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48613
48651
  if (!res.ok) return [];
48614
48652
  const data = await res.json();
48615
48653
  return _nullishCoalesce(data.commands, () => ( []));
@@ -48684,7 +48722,7 @@ var EMPTY_STATE_FALLBACK = {
48684
48722
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
48685
48723
  try {
48686
48724
  const url = new URL(emptyStateUrl, window.location.origin);
48687
- const res = await _chunkQO6MCQYEcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48725
+ const res = await _chunk7CZ4MJSIcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48688
48726
  if (!res.ok) {
48689
48727
  if (res.status >= 500) {
48690
48728
  console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
@@ -48846,7 +48884,7 @@ function useChatAttachments() {
48846
48884
  );
48847
48885
  }
48848
48886
  updateOne(att.id, { status: "uploading", progress: 5 });
48849
- const urlResp = await _chunkQO6MCQYEcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
48887
+ const urlResp = await _chunk7CZ4MJSIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
48850
48888
  method: "POST",
48851
48889
  headers: { "Content-Type": "application/json" },
48852
48890
  signal: _optionalChain([ctrl, 'optionalAccess', _1235 => _1235.signal]),
@@ -49036,7 +49074,7 @@ var ANON_DEFAULTS = {
49036
49074
  function useResolveChatIdentity(enabled) {
49037
49075
  const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
49038
49076
  const url = runtime.endpoints.identityUrl;
49039
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkQO6MCQYEcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1241 => _1241.email]), () => ( null));
49077
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunk7CZ4MJSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1241 => _1241.email]), () => ( null));
49040
49078
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
49041
49079
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
49042
49080
  _react.useEffect.call(void 0, () => {
@@ -49044,7 +49082,7 @@ function useResolveChatIdentity(enabled) {
49044
49082
  let cancelled = false;
49045
49083
  const ctrl = new AbortController();
49046
49084
  setIsLoading(true);
49047
- _chunkQO6MCQYEcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
49085
+ _chunk7CZ4MJSIcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
49048
49086
  if (!resp.ok) return ANON_DEFAULTS;
49049
49087
  return await resp.json();
49050
49088
  }).then((next) => {
@@ -49507,7 +49545,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49507
49545
  ..._optionalChain([extra, 'optionalAccess', _1256 => _1256.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
49508
49546
  ..._optionalChain([extra, 'optionalAccess', _1257 => _1257.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
49509
49547
  };
49510
- const response = await _chunkQO6MCQYEcjs.embedAuthedFetch.call(void 0, targetPath, {
49548
+ const response = await _chunk7CZ4MJSIcjs.embedAuthedFetch.call(void 0, targetPath, {
49511
49549
  method: "POST",
49512
49550
  body: JSON.stringify(requestBody),
49513
49551
  signal
@@ -49730,7 +49768,7 @@ var CHAT_STORAGE_VERSION = 1;
49730
49768
  var DEFAULT_CHAT_SOURCE = "embed";
49731
49769
  var chatStorageKey = (source) => {
49732
49770
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
49733
- const auth = _chunkQO6MCQYEcjs.getEmbedProxyAuth.call(void 0, );
49771
+ const auth = _chunk7CZ4MJSIcjs.getEmbedProxyAuth.call(void 0, );
49734
49772
  if (_optionalChain([auth, 'optionalAccess', _1266 => _1266.email])) {
49735
49773
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
49736
49774
  }
@@ -54084,4 +54122,4 @@ function EmbeddableChatInner({
54084
54122
 
54085
54123
 
54086
54124
  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.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; 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.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; 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.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.useScriptedStream = useScriptedStream; 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.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; 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.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; 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.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_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.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; 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.InfoCardRow = InfoCardRow; 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.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; 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.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.MingoAiButton = MingoAiButton; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; 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;
54087
- //# sourceMappingURL=chunk-DUQQEQ7G.cjs.map
54125
+ //# sourceMappingURL=chunk-IBIGXER5.cjs.map