@flamingo-stack/openframe-frontend-core 0.0.584 → 0.0.585

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 (153) hide show
  1. package/dist/{chunk-3ELW4VML.js → chunk-276BXVOB.js} +3 -3
  2. package/dist/{chunk-Q66AMADB.cjs → chunk-27DK5GCC.cjs} +6 -6
  3. package/dist/{chunk-Q66AMADB.cjs.map → chunk-27DK5GCC.cjs.map} +1 -1
  4. package/dist/{chunk-TOUD3AGK.js → chunk-36GXR7BR.js} +5 -5
  5. package/dist/{chunk-QJR32JM2.cjs → chunk-3F7V7GFU.cjs} +212 -194
  6. package/dist/chunk-3F7V7GFU.cjs.map +1 -0
  7. package/dist/{chunk-33DHEEMP.cjs → chunk-4TN6C7ZG.cjs} +33 -33
  8. package/dist/{chunk-33DHEEMP.cjs.map → chunk-4TN6C7ZG.cjs.map} +1 -1
  9. package/dist/{chunk-VEHZNQ77.cjs → chunk-5LUPIYPH.cjs} +30 -30
  10. package/dist/{chunk-VEHZNQ77.cjs.map → chunk-5LUPIYPH.cjs.map} +1 -1
  11. package/dist/{chunk-JAJQ5P2Q.cjs → chunk-5YVCIBUH.cjs} +28 -28
  12. package/dist/{chunk-JAJQ5P2Q.cjs.map → chunk-5YVCIBUH.cjs.map} +1 -1
  13. package/dist/{chunk-ZHUBNWEX.cjs → chunk-6VFO4JUH.cjs} +6 -6
  14. package/dist/{chunk-ZHUBNWEX.cjs.map → chunk-6VFO4JUH.cjs.map} +1 -1
  15. package/dist/{chunk-5CJKZHWO.js → chunk-7554QJ6R.js} +5 -5
  16. package/dist/{chunk-EJKEDCTH.js → chunk-BNZFLIEG.js} +7 -7
  17. package/dist/{chunk-UCNEQKIT.cjs → chunk-BU2KLFRB.cjs} +5 -5
  18. package/dist/{chunk-UCNEQKIT.cjs.map → chunk-BU2KLFRB.cjs.map} +1 -1
  19. package/dist/{chunk-YFZDIEVC.js → chunk-CTZP2NJQ.js} +6 -6
  20. package/dist/{chunk-XWBND4G5.js → chunk-D7YISHXC.js} +17 -2
  21. package/dist/{chunk-XWBND4G5.js.map → chunk-D7YISHXC.js.map} +1 -1
  22. package/dist/{chunk-JFKK3ZOA.cjs → chunk-DZM7KTHE.cjs} +57 -57
  23. package/dist/{chunk-JFKK3ZOA.cjs.map → chunk-DZM7KTHE.cjs.map} +1 -1
  24. package/dist/{chunk-NNFQLTJ3.cjs → chunk-EMF64FWA.cjs} +31 -5
  25. package/dist/chunk-EMF64FWA.cjs.map +1 -0
  26. package/dist/{chunk-7X5TCK4R.cjs → chunk-F5SV627B.cjs} +10 -10
  27. package/dist/{chunk-7X5TCK4R.cjs.map → chunk-F5SV627B.cjs.map} +1 -1
  28. package/dist/{chunk-KP6VJP36.js → chunk-FCKOWGTE.js} +4 -4
  29. package/dist/{chunk-IIT5HWLY.cjs → chunk-FQJBV5ON.cjs} +11 -11
  30. package/dist/{chunk-IIT5HWLY.cjs.map → chunk-FQJBV5ON.cjs.map} +1 -1
  31. package/dist/{chunk-IKUSKKFZ.cjs → chunk-G45RGWHF.cjs} +159 -144
  32. package/dist/chunk-G45RGWHF.cjs.map +1 -0
  33. package/dist/{chunk-LNKULR4V.js → chunk-GG76BPXJ.js} +2 -2
  34. package/dist/{chunk-3ZA2OYRE.cjs → chunk-HAIRDHWL.cjs} +3 -3
  35. package/dist/{chunk-3ZA2OYRE.cjs.map → chunk-HAIRDHWL.cjs.map} +1 -1
  36. package/dist/{chunk-JWKAJTNA.cjs → chunk-HBI7AWUE.cjs} +28 -28
  37. package/dist/{chunk-JWKAJTNA.cjs.map → chunk-HBI7AWUE.cjs.map} +1 -1
  38. package/dist/{chunk-RURZ6QLN.js → chunk-HQRKC6P7.js} +3 -3
  39. package/dist/{chunk-VZSTL5VG.js → chunk-J4MVZ53H.js} +3 -3
  40. package/dist/{chunk-MYEG5ZDT.js → chunk-JKWWACNI.js} +3 -3
  41. package/dist/{chunk-6BJYPG2V.js → chunk-LNKBNY3A.js} +4 -4
  42. package/dist/{chunk-MCWAZ5XI.js → chunk-NFWAL6UV.js} +2 -2
  43. package/dist/{chunk-P2VRLSAP.cjs → chunk-QIVZG4XK.cjs} +21 -21
  44. package/dist/{chunk-P2VRLSAP.cjs.map → chunk-QIVZG4XK.cjs.map} +1 -1
  45. package/dist/{chunk-4T5KOD3G.js → chunk-SCMESLXP.js} +6 -6
  46. package/dist/{chunk-XPJKQ63S.js → chunk-UG6SHUGE.js} +3 -3
  47. package/dist/{chunk-MEJFHD5N.cjs → chunk-ULGI56BW.cjs} +19 -19
  48. package/dist/{chunk-MEJFHD5N.cjs.map → chunk-ULGI56BW.cjs.map} +1 -1
  49. package/dist/{chunk-VOAZU46B.cjs → chunk-VQ5FMCZA.cjs} +80 -80
  50. package/dist/{chunk-VOAZU46B.cjs.map → chunk-VQ5FMCZA.cjs.map} +1 -1
  51. package/dist/{chunk-TLKHLGAB.js → chunk-VSXFBO4D.js} +3 -3
  52. package/dist/{chunk-JVWRMLQZ.js → chunk-WXL2AR5I.js} +1330 -1312
  53. package/dist/chunk-WXL2AR5I.js.map +1 -0
  54. package/dist/{chunk-3LMYQGAJ.js → chunk-X7YSF6A3.js} +28 -2
  55. package/dist/chunk-X7YSF6A3.js.map +1 -0
  56. package/dist/{chunk-HCKEDTKJ.cjs → chunk-XK4S47LG.cjs} +15 -15
  57. package/dist/{chunk-HCKEDTKJ.cjs.map → chunk-XK4S47LG.cjs.map} +1 -1
  58. package/dist/components/case-studies/index.cjs +10 -10
  59. package/dist/components/case-studies/index.js +4 -4
  60. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
  61. package/dist/components/chat/index.cjs +3 -3
  62. package/dist/components/chat/index.js +2 -2
  63. package/dist/components/contact/index.cjs +5 -5
  64. package/dist/components/contact/index.js +4 -4
  65. package/dist/components/docs/index.cjs +8 -8
  66. package/dist/components/docs/index.js +7 -7
  67. package/dist/components/embeds/index.cjs +5 -5
  68. package/dist/components/embeds/index.js +4 -4
  69. package/dist/components/faq/index.cjs +5 -5
  70. package/dist/components/faq/index.js +4 -4
  71. package/dist/components/features/index.cjs +4 -4
  72. package/dist/components/features/index.js +3 -3
  73. package/dist/components/features/media-gallery-manager.d.ts.map +1 -1
  74. package/dist/components/features/push-button-selector.d.ts +9 -7
  75. package/dist/components/features/push-button-selector.d.ts.map +1 -1
  76. package/dist/components/features/release-media-manager.d.ts.map +1 -1
  77. package/dist/components/features/video.d.ts +8 -0
  78. package/dist/components/features/video.d.ts.map +1 -1
  79. package/dist/components/help-center-pages/index.cjs +24 -24
  80. package/dist/components/help-center-pages/index.js +15 -15
  81. package/dist/components/index.cjs +53 -51
  82. package/dist/components/index.cjs.map +1 -1
  83. package/dist/components/index.js +17 -15
  84. package/dist/components/index.js.map +1 -1
  85. package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
  86. package/dist/components/meeting-scheduler/index.cjs +31 -31
  87. package/dist/components/meeting-scheduler/index.js +3 -3
  88. package/dist/components/navigation/index.cjs +7 -7
  89. package/dist/components/navigation/index.js +6 -6
  90. package/dist/components/onboarding-guides/index.cjs +7 -7
  91. package/dist/components/onboarding-guides/index.js +6 -6
  92. package/dist/components/related-content/index.cjs +3 -3
  93. package/dist/components/related-content/index.js +2 -2
  94. package/dist/components/tickets/index.cjs +8 -8
  95. package/dist/components/tickets/index.js +7 -7
  96. package/dist/components/ui/index.cjs +6 -4
  97. package/dist/components/ui/index.cjs.map +1 -1
  98. package/dist/components/ui/index.d.ts +1 -0
  99. package/dist/components/ui/index.d.ts.map +1 -1
  100. package/dist/components/ui/index.js +5 -3
  101. package/dist/components/ui/lazy-mount.d.ts +21 -0
  102. package/dist/components/ui/lazy-mount.d.ts.map +1 -0
  103. package/dist/index.cjs +20 -8
  104. package/dist/index.cjs.map +1 -1
  105. package/dist/index.js +19 -7
  106. package/dist/index.js.map +1 -1
  107. package/dist/types/marketing.d.ts +1 -1
  108. package/dist/types/marketing.d.ts.map +1 -1
  109. package/dist/utils/index.cjs +26 -0
  110. package/dist/utils/index.cjs.map +1 -1
  111. package/dist/utils/index.d.ts +1 -0
  112. package/dist/utils/index.d.ts.map +1 -1
  113. package/dist/utils/index.js +22 -1
  114. package/dist/utils/index.js.map +1 -1
  115. package/dist/utils/media-type.d.ts +26 -0
  116. package/dist/utils/media-type.d.ts.map +1 -0
  117. package/package.json +1 -1
  118. package/src/components/chat/entity-cards/program-card.tsx +2 -2
  119. package/src/components/features/media-gallery-manager.tsx +4 -3
  120. package/src/components/features/push-button-selector.tsx +15 -12
  121. package/src/components/features/release-media-manager.tsx +3 -2
  122. package/src/components/features/video.tsx +28 -0
  123. package/src/components/loading/__tests__/unified-skeleton.test.tsx +16 -0
  124. package/src/components/loading/unified-skeleton.tsx +5 -1
  125. package/src/components/ui/__tests__/lazy-mount.test.tsx +46 -0
  126. package/src/components/ui/index.ts +3 -0
  127. package/src/components/ui/lazy-mount.tsx +38 -0
  128. package/src/types/.marketing.md +0 -1
  129. package/src/types/marketing.ts +4 -2
  130. package/src/utils/__tests__/media-type.test.ts +30 -0
  131. package/src/utils/index.ts +3 -0
  132. package/src/utils/media-type.ts +39 -0
  133. package/src/utils/vendor-media-stub.ts +7 -7
  134. package/dist/chunk-3LMYQGAJ.js.map +0 -1
  135. package/dist/chunk-IKUSKKFZ.cjs.map +0 -1
  136. package/dist/chunk-JVWRMLQZ.js.map +0 -1
  137. package/dist/chunk-NNFQLTJ3.cjs.map +0 -1
  138. package/dist/chunk-QJR32JM2.cjs.map +0 -1
  139. /package/dist/{chunk-3ELW4VML.js.map → chunk-276BXVOB.js.map} +0 -0
  140. /package/dist/{chunk-TOUD3AGK.js.map → chunk-36GXR7BR.js.map} +0 -0
  141. /package/dist/{chunk-5CJKZHWO.js.map → chunk-7554QJ6R.js.map} +0 -0
  142. /package/dist/{chunk-EJKEDCTH.js.map → chunk-BNZFLIEG.js.map} +0 -0
  143. /package/dist/{chunk-YFZDIEVC.js.map → chunk-CTZP2NJQ.js.map} +0 -0
  144. /package/dist/{chunk-KP6VJP36.js.map → chunk-FCKOWGTE.js.map} +0 -0
  145. /package/dist/{chunk-LNKULR4V.js.map → chunk-GG76BPXJ.js.map} +0 -0
  146. /package/dist/{chunk-RURZ6QLN.js.map → chunk-HQRKC6P7.js.map} +0 -0
  147. /package/dist/{chunk-VZSTL5VG.js.map → chunk-J4MVZ53H.js.map} +0 -0
  148. /package/dist/{chunk-MYEG5ZDT.js.map → chunk-JKWWACNI.js.map} +0 -0
  149. /package/dist/{chunk-6BJYPG2V.js.map → chunk-LNKBNY3A.js.map} +0 -0
  150. /package/dist/{chunk-MCWAZ5XI.js.map → chunk-NFWAL6UV.js.map} +0 -0
  151. /package/dist/{chunk-4T5KOD3G.js.map → chunk-SCMESLXP.js.map} +0 -0
  152. /package/dist/{chunk-XPJKQ63S.js.map → chunk-UG6SHUGE.js.map} +0 -0
  153. /package/dist/{chunk-TLKHLGAB.js.map → chunk-VSXFBO4D.js.map} +0 -0
@@ -90,7 +90,9 @@ var _chunkIKDC3R7Vcjs = require('./chunk-IKDC3R7V.cjs');
90
90
 
91
91
 
92
92
 
93
- var _chunkIKUSKKFZcjs = require('./chunk-IKUSKKFZ.cjs');
93
+ var _chunkG45RGWHFcjs = require('./chunk-G45RGWHF.cjs');
94
+
95
+
94
96
 
95
97
 
96
98
 
@@ -216,7 +218,8 @@ var _chunkXQFFGR6Ucjs = require('./chunk-XQFFGR6U.cjs');
216
218
 
217
219
 
218
220
 
219
- var _chunkNNFQLTJ3cjs = require('./chunk-NNFQLTJ3.cjs');
221
+
222
+ var _chunkEMF64FWAcjs = require('./chunk-EMF64FWA.cjs');
220
223
 
221
224
 
222
225
  var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
@@ -331,7 +334,7 @@ function ThemeProvider({ children, ...overrides }) {
331
334
  var useTheme = _nextthemes.useTheme;
332
335
  function useThemeToggle() {
333
336
  const { resolvedTheme, theme, setTheme } = useTheme();
334
- const mounted = _chunkIKUSKKFZcjs.useIsHydrated.call(void 0, );
337
+ const mounted = _chunkG45RGWHFcjs.useIsHydrated.call(void 0, );
335
338
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
336
339
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
337
340
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -608,7 +611,7 @@ function TruncateText({
608
611
  const { ref, isTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
609
612
  const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
610
613
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
611
- _chunkIKUSKKFZcjs.FloatingTooltip,
614
+ _chunkG45RGWHFcjs.FloatingTooltip,
612
615
  {
613
616
  content: _nullishCoalesce(tooltip, () => ( children)),
614
617
  side,
@@ -910,7 +913,7 @@ function AutocompleteInner(props, ref) {
910
913
  ),
911
914
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
912
915
  multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
913
- _chunkIKUSKKFZcjs.Tag,
916
+ _chunkG45RGWHFcjs.Tag,
914
917
  {
915
918
  variant: "outline",
916
919
  labelClassName: "max-w-[90px] truncate",
@@ -1116,7 +1119,7 @@ function AutocompleteInner(props, ref) {
1116
1119
  "aria-hidden": "true",
1117
1120
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
1118
1121
  children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1119
- _chunkIKUSKKFZcjs.Tag,
1122
+ _chunkG45RGWHFcjs.Tag,
1120
1123
  {
1121
1124
  variant: "outline",
1122
1125
  labelClassName: "max-w-[90px] truncate",
@@ -2500,7 +2503,7 @@ function InfoHint({ children, label, side = "top", className }) {
2500
2503
  const describedById = _react.useId.call(void 0, );
2501
2504
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
2502
2505
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2503
- _chunkIKUSKKFZcjs.FloatingTooltip,
2506
+ _chunkG45RGWHFcjs.FloatingTooltip,
2504
2507
  {
2505
2508
  content: children,
2506
2509
  side,
@@ -2594,7 +2597,7 @@ function Value2({ value, depth }) {
2594
2597
  }
2595
2598
  if (typeof value === "string") {
2596
2599
  if (ISO_DATE.test(value)) {
2597
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkIKUSKKFZcjs.formatRelativeTime.call(void 0, value) });
2600
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkG45RGWHFcjs.formatRelativeTime.call(void 0, value) });
2598
2601
  }
2599
2602
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
2600
2603
  }
@@ -2989,7 +2992,7 @@ function CompactAssigneeDropdown({
2989
2992
  value: o.value,
2990
2993
  label: o.label,
2991
2994
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2992
- _chunkNNFQLTJ3cjs.SquareAvatar,
2995
+ _chunkEMF64FWAcjs.SquareAvatar,
2993
2996
  {
2994
2997
  src: o.imageUrl,
2995
2998
  alt: o.label,
@@ -3024,7 +3027,7 @@ function CompactAssigneeDropdown({
3024
3027
  className
3025
3028
  ),
3026
3029
  children: currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeletedUserAvatar, { size: "sm", accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}` }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3027
- _chunkNNFQLTJ3cjs.SquareAvatar,
3030
+ _chunkEMF64FWAcjs.SquareAvatar,
3028
3031
  {
3029
3032
  src: currentAssignee.avatarSrc,
3030
3033
  alt: currentAssignee.name,
@@ -3072,7 +3075,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3072
3075
  const opt = option;
3073
3076
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
3074
3077
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3075
- _chunkNNFQLTJ3cjs.SquareAvatar,
3078
+ _chunkEMF64FWAcjs.SquareAvatar,
3076
3079
  {
3077
3080
  src: opt.imageUrl,
3078
3081
  alt: opt.label,
@@ -3107,7 +3110,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3107
3110
  accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
3108
3111
  }
3109
3112
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3110
- _chunkNNFQLTJ3cjs.SquareAvatar,
3113
+ _chunkEMF64FWAcjs.SquareAvatar,
3111
3114
  {
3112
3115
  src: currentAssignee.avatarSrc,
3113
3116
  alt: currentAssignee.name,
@@ -3132,7 +3135,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3132
3135
  accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
3133
3136
  }
3134
3137
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3135
- _chunkNNFQLTJ3cjs.SquareAvatar,
3138
+ _chunkEMF64FWAcjs.SquareAvatar,
3136
3139
  {
3137
3140
  src: currentAssignee.avatarSrc,
3138
3141
  alt: currentAssignee.name,
@@ -3206,7 +3209,7 @@ function TextValue({ value }) {
3206
3209
  }
3207
3210
  ) : onClick ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick, title: text, className: interactiveClass, children: text }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", title: text, children: text }),
3208
3211
  hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3209
- _chunkNNFQLTJ3cjs.SquareAvatar,
3212
+ _chunkEMF64FWAcjs.SquareAvatar,
3210
3213
  {
3211
3214
  src: imageSrc,
3212
3215
  alt: text,
@@ -3226,7 +3229,7 @@ function RowValue({ value }) {
3226
3229
  }
3227
3230
  case "status": {
3228
3231
  const { type: _type, ...props } = value;
3229
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TicketStatusTag, { ...props });
3232
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TicketStatusTag, { ...props });
3230
3233
  }
3231
3234
  case "custom":
3232
3235
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
@@ -4137,7 +4140,7 @@ function TagsManager({
4137
4140
  }
4138
4141
  ),
4139
4142
  selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4140
- _chunkIKUSKKFZcjs.Tag,
4143
+ _chunkG45RGWHFcjs.Tag,
4141
4144
  {
4142
4145
  label: tag.name,
4143
4146
  variant: "outline",
@@ -4682,10 +4685,10 @@ function useConfirm() {
4682
4685
  },
4683
4686
  []
4684
4687
  );
4685
- const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4686
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: pending.title }) }),
4687
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4688
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
4688
+ const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4689
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: pending.title }) }),
4690
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4691
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
4689
4692
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
4690
4693
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
4691
4694
  ] })
@@ -4743,9 +4746,9 @@ function AdminFormModal({
4743
4746
  body: "Your edits have not been saved. Close and discard them?"
4744
4747
  });
4745
4748
  if (!isOpen) return null;
4746
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4747
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: [
4748
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: title }),
4749
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4750
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: [
4751
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: title }),
4749
4752
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
4750
4753
  ] }),
4751
4754
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -4769,7 +4772,7 @@ function AdminFormModal({
4769
4772
  // a shrink-to-fit flex item pinned to the left of a 1400px panel).
4770
4773
  // The placeholder owns its own layout and mirrors the column count so
4771
4774
  // the modal doesn't visibly re-flow when the entity lands.
4772
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4775
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4773
4776
  "div",
4774
4777
  {
4775
4778
  "aria-busy": "true",
@@ -4790,12 +4793,12 @@ function AdminFormModal({
4790
4793
  ]
4791
4794
  }
4792
4795
  ) })
4793
- ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalContent, { className: contentClassName, children }),
4796
+ ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalContent, { className: contentClassName, children }),
4794
4797
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
4795
4798
  ]
4796
4799
  }
4797
4800
  ),
4798
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4801
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4799
4802
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
4800
4803
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
4801
4804
  footerStatus,
@@ -6893,7 +6896,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
6893
6896
  };
6894
6897
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
6895
6898
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6896
- _chunkIKUSKKFZcjs.Video,
6899
+ _chunkG45RGWHFcjs.Video,
6897
6900
  {
6898
6901
  url: item.src,
6899
6902
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7325,7 +7328,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
7325
7328
  width: m.width,
7326
7329
  height: m.height
7327
7330
  }));
7328
- const formatNumber2 = _chunkNNFQLTJ3cjs.formatLargeNumber;
7331
+ const formatNumber2 = _chunkEMF64FWAcjs.formatLargeNumber;
7329
7332
  const truncateText = (text, maxLength = 600) => {
7330
7333
  if (text.length <= maxLength) return text;
7331
7334
  return text.slice(0, maxLength) + "...";
@@ -7617,7 +7620,7 @@ function buildRichEmbedOverrides({
7617
7620
  ogEndpointPath,
7618
7621
  textSizes
7619
7622
  }) {
7620
- const standard = _chunkIKUSKKFZcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7623
+ const standard = _chunkG45RGWHFcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7621
7624
  return {
7622
7625
  // Fence-language embeds (```youtube-embed etc.); everything else
7623
7626
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7627,7 +7630,7 @@ function buildRichEmbedOverrides({
7627
7630
  const language = match ? match[1] : "";
7628
7631
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7629
7632
  if (language === "youtube-embed") {
7630
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "youtube", url: fenceText() });
7633
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "youtube", url: fenceText() });
7631
7634
  }
7632
7635
  if (language === "reddit-embed") {
7633
7636
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -7668,7 +7671,7 @@ function buildRichEmbedOverrides({
7668
7671
  "data-figma-url": figmaUrl
7669
7672
  } = divProps;
7670
7673
  if (className === "youtube-embed" && videoId) {
7671
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "youtube", url: videoId });
7674
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "youtube", url: videoId });
7672
7675
  }
7673
7676
  if (className === "reddit-embed" && postUrl) {
7674
7677
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -7753,14 +7756,14 @@ function buildRichEmbedOverrides({
7753
7756
  // rich-markdown runtime (Supabase optimization on the hub, identity
7754
7757
  // elsewhere). Guard against empty `![]()`.
7755
7758
  img: ({ src, alt }) => {
7756
- if (!_chunkIKUSKKFZcjs.hasRenderableSrc.call(void 0, src)) return null;
7759
+ if (!_chunkG45RGWHFcjs.hasRenderableSrc.call(void 0, src)) return null;
7757
7760
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7758
7761
  },
7759
7762
  // Raw <video> tags in stored content (blog publisher injection) route
7760
7763
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
7761
7764
  video: ({ src, poster, className }) => {
7762
- if (!_chunkIKUSKKFZcjs.hasRenderableSrc.call(void 0, src)) return null;
7763
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7765
+ if (!_chunkG45RGWHFcjs.hasRenderableSrc.call(void 0, src)) return null;
7766
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7764
7767
  }
7765
7768
  };
7766
7769
  }
@@ -7943,13 +7946,13 @@ var RichMarkdownInner = ({
7943
7946
  },
7944
7947
  [resolveLinkEndpointUrl, resolveSource]
7945
7948
  );
7946
- const textSizes = _react.useMemo.call(void 0, () => _chunkIKUSKKFZcjs.resolveTextSizeConfig.call(void 0, "article"), []);
7949
+ const textSizes = _react.useMemo.call(void 0, () => _chunkG45RGWHFcjs.resolveTextSizeConfig.call(void 0, "article"), []);
7947
7950
  const componentOverrides = _react.useMemo.call(void 0,
7948
7951
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
7949
7952
  [ogApiBaseUrl, ogEndpointPath, textSizes]
7950
7953
  );
7951
7954
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7952
- _chunkIKUSKKFZcjs.MarkdownEngine,
7955
+ _chunkG45RGWHFcjs.MarkdownEngine,
7953
7956
  {
7954
7957
  content,
7955
7958
  className,
@@ -7971,7 +7974,7 @@ var RichMarkdownRendererImpl = ({
7971
7974
  className = "",
7972
7975
  sectionIds,
7973
7976
  onInternalLinkClick,
7974
- brokenLinks = _chunkIKUSKKFZcjs.NO_BROKEN_LINKS,
7977
+ brokenLinks = _chunkG45RGWHFcjs.NO_BROKEN_LINKS,
7975
7978
  currentPath,
7976
7979
  resolveSource = "openframe-docs",
7977
7980
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -8544,7 +8547,7 @@ function FilterModal({
8544
8547
  const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
8545
8548
  const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
8546
8549
  const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _163 => _163.range]));
8547
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkIKUSKKFZcjs.useScrollFade.call(void 0, );
8550
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkG45RGWHFcjs.useScrollFade.call(void 0, );
8548
8551
  const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
8549
8552
  const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
8550
8553
  _react.useEffect.call(void 0, () => {
@@ -8589,10 +8592,10 @@ function FilterModal({
8589
8592
  const hasFilterGroups = filterGroups.length > 0;
8590
8593
  const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
8591
8594
  const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
8592
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
8593
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: title }) }),
8595
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
8596
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: title }) }),
8594
8597
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8595
- _chunkIKUSKKFZcjs.ModalContent,
8598
+ _chunkG45RGWHFcjs.ModalContent,
8596
8599
  {
8597
8600
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
8598
8601
  "flex min-h-0 flex-1 flex-col",
@@ -8684,12 +8687,12 @@ function FilterModal({
8684
8687
  ] })
8685
8688
  }
8686
8689
  ),
8687
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
8688
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
8690
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
8691
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
8689
8692
  ] })
8690
8693
  }
8691
8694
  ),
8692
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
8695
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
8693
8696
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
8694
8697
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
8695
8698
  ] })
@@ -8733,9 +8736,9 @@ function actionToMenuItems(action, idx) {
8733
8736
  function renderActionButton(action, opts = {}) {
8734
8737
  const button = renderRawActionButton(action, opts);
8735
8738
  if (!action.tooltip) return button;
8736
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { children: [
8737
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipTrigger, { asChild: true, children: button }),
8738
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { children: action.tooltip })
8739
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { children: [
8740
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, children: button }),
8741
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { children: action.tooltip })
8739
8742
  ] }) });
8740
8743
  }
8741
8744
  function renderRawActionButton(action, opts = {}) {
@@ -8759,7 +8762,7 @@ function renderRawActionButton(action, opts = {}) {
8759
8762
  }
8760
8763
  if (action.submenu && action.submenu.length > 0) {
8761
8764
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8762
- _chunkIKUSKKFZcjs.ActionsMenuDropdown,
8765
+ _chunkG45RGWHFcjs.ActionsMenuDropdown,
8763
8766
  {
8764
8767
  groups: [{ items: action.submenu }],
8765
8768
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -8894,10 +8897,10 @@ function IconButtonsVariant({
8894
8897
  selector,
8895
8898
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8896
8899
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
8897
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ActionsMenuDropdown, { groups: menuActions })
8900
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: menuActions })
8898
8901
  ] })
8899
8902
  ] }),
8900
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8903
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8901
8904
  ] });
8902
8905
  }
8903
8906
  function PrimaryButtonsVariant({
@@ -8935,7 +8938,7 @@ function MenuPrimaryVariant({
8935
8938
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
8936
8939
  selector,
8937
8940
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8938
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ActionsMenuDropdown, { groups: menuActions }),
8941
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: menuActions }),
8939
8942
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
8940
8943
  ] })
8941
8944
  ] }),
@@ -8943,7 +8946,7 @@ function MenuPrimaryVariant({
8943
8946
  // The selector rides into the menu as its header row: on mobile the
8944
8947
  // title row has no room for it, and hiding it entirely (what
8945
8948
  // `icon-buttons` does) would leave no way to switch views at all.
8946
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
8949
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
8947
8950
  ) : null })
8948
8951
  ] });
8949
8952
  }
@@ -9237,7 +9240,7 @@ function EntityImage({ src, alt, fallbackText, className }) {
9237
9240
  const [failedSrc, setFailedSrc] = _react2.default.useState(null);
9238
9241
  const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
9239
9242
  const showFallback = imageFailed || !resolvedSrc;
9240
- const initials = _chunkNNFQLTJ3cjs.getFirstLastInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
9243
+ const initials = _chunkEMF64FWAcjs.getFirstLastInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
9241
9244
  if (showFallback) {
9242
9245
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9243
9246
  "div",
@@ -9346,7 +9349,7 @@ function TitleBlock({
9346
9349
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
9347
9350
  (loading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
9348
9351
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9349
- _chunkIKUSKKFZcjs.FloatingTooltip,
9352
+ _chunkG45RGWHFcjs.FloatingTooltip,
9350
9353
  {
9351
9354
  content: title,
9352
9355
  side: "bottom",
@@ -9363,12 +9366,12 @@ function TitleBlock({
9363
9366
  }
9364
9367
  ),
9365
9368
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9366
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
9369
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
9367
9370
  hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
9368
9371
  empty `p` collapses to zero height (its only content would be
9369
9372
  collapsible whitespace), which is exactly the shift that mode
9370
9373
  exists to prevent. Hidden from AT — it carries no meaning. */
9371
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9374
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9372
9375
  "p",
9373
9376
  {
9374
9377
  ref: subtitleRef,
@@ -9379,7 +9382,7 @@ function TitleBlock({
9379
9382
  ) })
9380
9383
  ] })
9381
9384
  ] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
9382
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
9385
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
9383
9386
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9384
9387
  ] }) : (
9385
9388
  /* This branch never had the single-line clamp, so text already
@@ -10806,7 +10809,7 @@ function lastPathSegment(url) {
10806
10809
  function makeComposeContentUrl(opts) {
10807
10810
  const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
10808
10811
  return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
10809
- const type = _chunkNNFQLTJ3cjs.canonicalContentRefType.call(void 0, rawType);
10812
+ const type = _chunkEMF64FWAcjs.canonicalContentRefType.call(void 0, rawType);
10810
10813
  const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
10811
10814
  if (override) return { ...override(identifier), hostOverride: true };
10812
10815
  const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
@@ -10993,7 +10996,7 @@ function extractSections(markdown, options = {}) {
10993
10996
  if (heading.level > opts.maxLevel) continue;
10994
10997
  let title = heading.text;
10995
10998
  if (opts.stripFormattingMarkers) {
10996
- title = _chunkIKUSKKFZcjs.stripInlineMarkdown.call(void 0, title).trim();
10999
+ title = _chunkG45RGWHFcjs.stripInlineMarkdown.call(void 0, title).trim();
10997
11000
  }
10998
11001
  const baseId = _chunkZI27ALYXcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, title) : title);
10999
11002
  const cleanId = baseId || `section-${sections.length + 1}`;
@@ -11485,7 +11488,7 @@ function DashboardInfoCard({
11485
11488
  const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
11486
11489
  if (asTag) {
11487
11490
  const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
11488
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
11491
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
11489
11492
  }
11490
11493
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
11491
11494
  "(",
@@ -11539,7 +11542,7 @@ function DashboardInfoCard({
11539
11542
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
11540
11543
  subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
11541
11544
  renderPercentage(),
11542
- tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 20 }) }) })
11545
+ tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 20 }) }) })
11543
11546
  ] })
11544
11547
  ] }),
11545
11548
  renderProgress()
@@ -11722,7 +11725,7 @@ function DeviceCard({
11722
11725
  ] }),
11723
11726
  (statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
11724
11727
  statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11725
- _chunkIKUSKKFZcjs.Tag,
11728
+ _chunkG45RGWHFcjs.Tag,
11726
11729
  {
11727
11730
  variant: statusTag.variant,
11728
11731
  icon: statusTag.icon,
@@ -11736,7 +11739,7 @@ function DeviceCard({
11736
11739
  formatLastSeen(device.lastSeen)
11737
11740
  ] })
11738
11741
  ] }),
11739
- device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: "outline", label: tag }, index)) })
11742
+ device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "outline", label: tag }, index)) })
11740
11743
  ]
11741
11744
  }
11742
11745
  );
@@ -11797,7 +11800,7 @@ function FeatureCardGrid({
11797
11800
  if (allCardsHaveNoBorders) {
11798
11801
  finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
11799
11802
  }
11800
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
11803
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
11801
11804
  const startIndex = rowIndex * itemsPerRow;
11802
11805
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
11803
11806
  const isLastRow = rowIndex === rows - 1;
@@ -11827,7 +11830,7 @@ function FeatureCardGrid({
11827
11830
  item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
11828
11831
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
11829
11832
  item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11830
- _chunkNNFQLTJ3cjs.StatusBadge,
11833
+ _chunkEMF64FWAcjs.StatusBadge,
11831
11834
  {
11832
11835
  text: item.badge.text,
11833
11836
  variant: item.badge.variant || "card",
@@ -11836,7 +11839,7 @@ function FeatureCardGrid({
11836
11839
  )
11837
11840
  ] }),
11838
11841
  !item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11839
- _chunkNNFQLTJ3cjs.StatusBadge,
11842
+ _chunkEMF64FWAcjs.StatusBadge,
11840
11843
  {
11841
11844
  text: item.badge.text,
11842
11845
  variant: item.badge.variant || "card",
@@ -11884,7 +11887,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
11884
11887
 
11885
11888
  function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
11886
11889
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11887
- _chunkIKUSKKFZcjs.FloatingTooltip,
11890
+ _chunkG45RGWHFcjs.FloatingTooltip,
11888
11891
  {
11889
11892
  as: "span",
11890
11893
  side: "top",
@@ -12068,7 +12071,7 @@ function DropdownButton({
12068
12071
  )
12069
12072
  );
12070
12073
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12071
- _chunkIKUSKKFZcjs.ActionsMenuDropdown,
12074
+ _chunkG45RGWHFcjs.ActionsMenuDropdown,
12072
12075
  {
12073
12076
  groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
12074
12077
  open,
@@ -12306,7 +12309,7 @@ function ServiceCardRowItem({ row }) {
12306
12309
  ),
12307
12310
  children: [
12308
12311
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12309
- _chunkIKUSKKFZcjs.FloatingTooltip,
12312
+ _chunkG45RGWHFcjs.FloatingTooltip,
12310
12313
  {
12311
12314
  content: row.value,
12312
12315
  side: "top",
@@ -12432,9 +12435,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12432
12435
  return next;
12433
12436
  });
12434
12437
  };
12435
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { open, onOpenChange: setOpen, children: [
12438
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { open, onOpenChange: setOpen, children: [
12436
12439
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12437
- _chunkIKUSKKFZcjs.TooltipTrigger,
12440
+ _chunkG45RGWHFcjs.TooltipTrigger,
12438
12441
  {
12439
12442
  asChild: true,
12440
12443
  onPointerDown: (e) => {
@@ -12452,7 +12455,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12452
12455
  children
12453
12456
  }
12454
12457
  ),
12455
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12458
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12456
12459
  ] }) });
12457
12460
  }
12458
12461
 
@@ -13467,9 +13470,9 @@ function TruncatedHeaderCell({ value, width }) {
13467
13470
  setIsTruncated(el.scrollWidth > el.clientWidth);
13468
13471
  }
13469
13472
  }, []);
13470
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13471
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center", style: { width, height: 48 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: textRef, className: "truncate text-ods-text-secondary text-h5", children: value }) }) }),
13472
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
13473
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13474
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center", style: { width, height: 48 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: textRef, className: "truncate text-ods-text-secondary text-h5", children: value }) }) }),
13475
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
13473
13476
  ] }) });
13474
13477
  }
13475
13478
 
@@ -13522,9 +13525,9 @@ function TruncatedCell({ value, className }) {
13522
13525
  setIsTruncated(el.scrollWidth > el.clientWidth);
13523
13526
  }
13524
13527
  }, []);
13525
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13526
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, "block truncate", className), children: value }) }),
13527
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
13528
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13529
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, "block truncate", className), children: value }) }),
13530
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
13528
13531
  ] }) });
13529
13532
  }
13530
13533
 
@@ -14808,7 +14811,7 @@ function SearchInput({
14808
14811
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}) }),
14809
14812
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
14810
14813
  visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14811
- _chunkIKUSKKFZcjs.Tag,
14814
+ _chunkG45RGWHFcjs.Tag,
14812
14815
  {
14813
14816
  variant: chipVariantToTagVariant(chip.variant),
14814
14817
  label: chip.label,
@@ -14922,7 +14925,7 @@ function SearchInput({
14922
14925
  }
14923
14926
  ),
14924
14927
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14925
- _chunkIKUSKKFZcjs.Tag,
14928
+ _chunkG45RGWHFcjs.Tag,
14926
14929
  {
14927
14930
  variant: chipVariantToTagVariant(chip.variant),
14928
14931
  label: chip.label,
@@ -15135,7 +15138,7 @@ function TagSearchInput({
15135
15138
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "size-4 text-ods-text-secondary md:size-6" }) }),
15136
15139
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
15137
15140
  visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15138
- _chunkIKUSKKFZcjs.Tag,
15141
+ _chunkG45RGWHFcjs.Tag,
15139
15142
  {
15140
15143
  variant: "outline",
15141
15144
  label: renderTag ? renderTag(tag) : tag.label,
@@ -15223,7 +15226,7 @@ function TagSearchInput({
15223
15226
  "aria-hidden": "true",
15224
15227
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
15225
15228
  children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15226
- _chunkIKUSKKFZcjs.Tag,
15229
+ _chunkG45RGWHFcjs.Tag,
15227
15230
  {
15228
15231
  variant: "outline",
15229
15232
  label: renderTag ? renderTag(tag) : tag.label,
@@ -16112,20 +16115,20 @@ function ColorPresetSelect({
16112
16115
  ...presets.map((p) => ({
16113
16116
  id: p.key,
16114
16117
  label: p.label,
16115
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: p.color }),
16118
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: p.color }),
16116
16119
  onClick: () => onChange({ color: p.color, preset: p.key })
16117
16120
  })),
16118
16121
  {
16119
16122
  id: CUSTOM_PRESET_KEY,
16120
16123
  label: "Custom",
16121
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16124
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16122
16125
  onClick: () => onChange({ color: value, preset: void 0 })
16123
16126
  }
16124
16127
  ]
16125
16128
  }
16126
16129
  ];
16127
16130
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16128
- _chunkIKUSKKFZcjs.ActionsMenuDropdown,
16131
+ _chunkG45RGWHFcjs.ActionsMenuDropdown,
16129
16132
  {
16130
16133
  groups,
16131
16134
  align: "start",
@@ -16135,7 +16138,7 @@ function ColorPresetSelect({
16135
16138
  {
16136
16139
  disabled,
16137
16140
  "aria-label": `Color: ${displayLabel}`,
16138
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: displayColor }),
16141
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: displayColor }),
16139
16142
  selectedLabel: displayLabel,
16140
16143
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16141
16144
  className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
@@ -16156,7 +16159,7 @@ function HexInputs({ value, onChange }) {
16156
16159
  }
16157
16160
  const commit = () => {
16158
16161
  const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
16159
- if (_chunkIKUSKKFZcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16162
+ if (_chunkG45RGWHFcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16160
16163
  else setDraft(value);
16161
16164
  };
16162
16165
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16220,12 +16223,12 @@ function ChannelInput({
16220
16223
  );
16221
16224
  }
16222
16225
  function RgbInputs({ value, onChange }) {
16223
- const rgb = _nullishCoalesce(_chunkIKUSKKFZcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16226
+ const rgb = _nullishCoalesce(_chunkG45RGWHFcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16224
16227
  const update = (next) => {
16225
16228
  const r = _nullishCoalesce(next.r, () => ( rgb.r));
16226
16229
  const g = _nullishCoalesce(next.g, () => ( rgb.g));
16227
16230
  const b = _nullishCoalesce(next.b, () => ( rgb.b));
16228
- onChange(_chunkIKUSKKFZcjs.rgbToHex.call(void 0, r, g, b));
16231
+ onChange(_chunkG45RGWHFcjs.rgbToHex.call(void 0, r, g, b));
16229
16232
  };
16230
16233
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16231
16234
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
@@ -16234,14 +16237,14 @@ function RgbInputs({ value, onChange }) {
16234
16237
  ] });
16235
16238
  }
16236
16239
  function HslInputs({ value, onChange }) {
16237
- const rgb = _nullishCoalesce(_chunkIKUSKKFZcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16238
- const hsl = _chunkIKUSKKFZcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
16240
+ const rgb = _nullishCoalesce(_chunkG45RGWHFcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16241
+ const hsl = _chunkG45RGWHFcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
16239
16242
  const update = (next) => {
16240
16243
  const h = _nullishCoalesce(next.h, () => ( hsl.h));
16241
16244
  const s = _nullishCoalesce(next.s, () => ( hsl.s));
16242
16245
  const l = _nullishCoalesce(next.l, () => ( hsl.l));
16243
- const out = _chunkIKUSKKFZcjs.hslToRgb.call(void 0, h, s, l);
16244
- onChange(_chunkIKUSKKFZcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
16246
+ const out = _chunkG45RGWHFcjs.hslToRgb.call(void 0, h, s, l);
16247
+ onChange(_chunkG45RGWHFcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
16245
16248
  };
16246
16249
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16247
16250
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
@@ -16267,7 +16270,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16267
16270
  {
16268
16271
  disabled,
16269
16272
  "aria-label": "Pick custom color",
16270
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: value }),
16273
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: value }),
16271
16274
  selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
16272
16275
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16273
16276
  className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
@@ -16283,7 +16286,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16283
16286
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
16284
16287
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
16285
16288
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16286
- _chunkIKUSKKFZcjs.ActionsMenuDropdown,
16289
+ _chunkG45RGWHFcjs.ActionsMenuDropdown,
16287
16290
  {
16288
16291
  groups: formatGroups,
16289
16292
  align: "start",
@@ -16340,7 +16343,7 @@ function TicketStatusConfigRow({
16340
16343
  const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
16341
16344
  const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
16342
16345
  const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16343
- _chunkIKUSKKFZcjs.TicketStatusTag,
16346
+ _chunkG45RGWHFcjs.TicketStatusTag,
16344
16347
  {
16345
16348
  status: statusKey,
16346
16349
  label: name || " ",
@@ -16492,7 +16495,7 @@ function formatTestRunDuration(ms) {
16492
16495
  var RESULT_COLUMN_MIN_WIDTH = 176;
16493
16496
  var SKELETON_COLUMNS = 6;
16494
16497
  function TestResultsSkeleton() {
16495
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16498
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16496
16499
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-[160px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 animate-pulse rounded-sm bg-ods-bg-surface" }) }, `skeleton-header-${i}`)) }),
16497
16500
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "animate-pulse overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[66px] items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] md:h-[78px]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[160px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-3/4 rounded-sm bg-ods-bg-surface" }) }, `skeleton-cell-${i}`)) }) })
16498
16501
  ] }) });
@@ -16527,7 +16530,7 @@ function TestResultsTable({ rows, loading }) {
16527
16530
  if (loading) {
16528
16531
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
16529
16532
  }
16530
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { minWidth: Math.max(1, columnKeys.length) * RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DataTable, { table, children: [
16533
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { minWidth: Math.max(1, columnKeys.length) * RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DataTable, { table, children: [
16531
16534
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
16532
16535
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
16533
16536
  ] }) }) });
@@ -16587,7 +16590,7 @@ var TEST_RUN_STATUS_TAGS = {
16587
16590
  function TestRunStatusStat({ status, className }) {
16588
16591
  const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
16589
16592
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
16590
- tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: "-" }),
16593
+ tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: "-" }),
16591
16594
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
16592
16595
  ] });
16593
16596
  }
@@ -16630,7 +16633,7 @@ function useTestRunState(campaign) {
16630
16633
  const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
16631
16634
  const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
16632
16635
  const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
16633
- const startedLabel = showTiming && campaign.startedAt ? _chunkIKUSKKFZcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
16636
+ const startedLabel = showTiming && campaign.startedAt ? _chunkG45RGWHFcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
16634
16637
  const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
16635
16638
  const displayRows = _react.useMemo.call(void 0,
16636
16639
  () => campaign.results.map(
@@ -16669,7 +16672,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
16669
16672
  ),
16670
16673
  children: [
16671
16674
  attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16672
- _chunkNNFQLTJ3cjs.SquareAvatar,
16675
+ _chunkEMF64FWAcjs.SquareAvatar,
16673
16676
  {
16674
16677
  src: attachment.thumbnailSrc,
16675
16678
  alt: attachment.fileName,
@@ -16762,7 +16765,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
16762
16765
  };
16763
16766
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex items-start gap-4 rounded-[6px] p-3", "border border-ods-border bg-ods-card", className), children: [
16764
16767
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16765
- _chunkNNFQLTJ3cjs.SquareAvatar,
16768
+ _chunkEMF64FWAcjs.SquareAvatar,
16766
16769
  {
16767
16770
  src: note.authorAvatar,
16768
16771
  alt: note.authorName,
@@ -16938,7 +16941,7 @@ function TicketInfoSection({
16938
16941
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-card px-4 py-3 lg:grid-cols-[1fr_1fr_1fr_auto]", children: [
16939
16942
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
16940
16943
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16941
- _chunkNNFQLTJ3cjs.SquareAvatar,
16944
+ _chunkEMF64FWAcjs.SquareAvatar,
16942
16945
  {
16943
16946
  src: _optionalChain([organization, 'optionalAccess', _387 => _387.imageSrc]),
16944
16947
  alt: _optionalChain([organization, 'optionalAccess', _388 => _388.name]),
@@ -16968,7 +16971,7 @@ function TicketInfoSection({
16968
16971
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _391 => _391.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _392 => _392.icon]), onClick: _optionalChain([device, 'optionalAccess', _393 => _393.onClick]) }),
16969
16972
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
16970
16973
  (status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16971
- _chunkIKUSKKFZcjs.TicketStatusTag,
16974
+ _chunkG45RGWHFcjs.TicketStatusTag,
16972
16975
  {
16973
16976
  status: _nullishCoalesce(status, () => ( "")),
16974
16977
  label: statusLabel,
@@ -17007,9 +17010,9 @@ function TicketInfoSection({
17007
17010
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
17008
17011
  createdAt && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-bg px-4 py-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: createdAt, label: "Created" }) }),
17009
17012
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
17010
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.SimpleMarkdownRenderer, { content: description }),
17013
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.SimpleMarkdownRenderer, { content: description }),
17011
17014
  attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
17012
- tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
17015
+ tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
17013
17016
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17014
17017
  TicketNotesSection,
17015
17018
  {
@@ -17032,7 +17035,7 @@ function renderTicketStatusOption(option, isSelected) {
17032
17035
  const { label, color } = option;
17033
17036
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
17034
17037
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
17035
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color }),
17038
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color }),
17036
17039
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
17037
17040
  ] }),
17038
17041
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -17042,7 +17045,7 @@ function renderTicketAssigneeOption(option, isSelected) {
17042
17045
  const { label, imageUrl } = option;
17043
17046
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
17044
17047
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
17045
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
17048
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
17046
17049
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
17047
17050
  ] }),
17048
17051
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -17077,9 +17080,9 @@ function TakeOverTicketModal({
17077
17080
  if (!selectedStatusId || !assigneeId || isPending) return;
17078
17081
  onConfirm({ statusId: selectedStatusId, assigneeId });
17079
17082
  };
17080
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen, onClose: isPending ? () => {
17083
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose: isPending ? () => {
17081
17084
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17082
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: "Take Over Ticket" }) }),
17085
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: "Take Over Ticket" }) }),
17083
17086
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
17084
17087
  "The ticket ",
17085
17088
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -17094,7 +17097,7 @@ function TakeOverTicketModal({
17094
17097
  value: selectedStatusId,
17095
17098
  onChange: setStatusId,
17096
17099
  placeholder: "Select Status",
17097
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17100
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17098
17101
  renderOption: renderTicketStatusOption
17099
17102
  }
17100
17103
  ) }),
@@ -17108,7 +17111,7 @@ function TakeOverTicketModal({
17108
17111
  placeholder: "Select Technician",
17109
17112
  loading: assigneesLoading,
17110
17113
  startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17111
- _chunkNNFQLTJ3cjs.SquareAvatar,
17114
+ _chunkEMF64FWAcjs.SquareAvatar,
17112
17115
  {
17113
17116
  src: selectedAssignee.imageUrl,
17114
17117
  alt: selectedAssignee.label,
@@ -17121,7 +17124,7 @@ function TakeOverTicketModal({
17121
17124
  }
17122
17125
  ) })
17123
17126
  ] }),
17124
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
17127
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
17125
17128
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17126
17129
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17127
17130
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17180,9 +17183,9 @@ function ReopenTicketModal({
17180
17183
  reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
17181
17184
  });
17182
17185
  };
17183
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen, onClose: isPending ? () => {
17186
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose: isPending ? () => {
17184
17187
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17185
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17188
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17186
17189
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
17187
17190
  "The ticket ",
17188
17191
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -17197,7 +17200,7 @@ function ReopenTicketModal({
17197
17200
  value: selectedStatusId,
17198
17201
  onChange: setStatusId,
17199
17202
  placeholder: "Select Status",
17200
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17203
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17201
17204
  renderOption: renderTicketStatusOption
17202
17205
  }
17203
17206
  ) }),
@@ -17211,7 +17214,7 @@ function ReopenTicketModal({
17211
17214
  placeholder: "Select Technician",
17212
17215
  loading: assigneesLoading,
17213
17216
  startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17214
- _chunkNNFQLTJ3cjs.SquareAvatar,
17217
+ _chunkEMF64FWAcjs.SquareAvatar,
17215
17218
  {
17216
17219
  src: selectedAssignee.imageUrl,
17217
17220
  alt: selectedAssignee.label,
@@ -17235,7 +17238,7 @@ function ReopenTicketModal({
17235
17238
  disabled: isPending
17236
17239
  }
17237
17240
  ) }),
17238
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
17241
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
17239
17242
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17240
17243
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17241
17244
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17283,9 +17286,9 @@ function ReopenTicketRequestModal({
17283
17286
  ...showHandoffOption ? { handoffToTechnician: handoff } : {}
17284
17287
  });
17285
17288
  };
17286
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen, onClose: isPending ? () => {
17289
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose: isPending ? () => {
17287
17290
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17288
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17291
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17289
17292
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: "This ticket will be reopened and the AI assistant will continue helping you." }),
17290
17293
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17291
17294
  Textarea,
@@ -17309,7 +17312,7 @@ function ReopenTicketRequestModal({
17309
17312
  disabled: isPending
17310
17313
  }
17311
17314
  ),
17312
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
17315
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
17313
17316
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
17314
17317
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
17315
17318
  ] })
@@ -17348,6 +17351,19 @@ function FilterPillRow({
17348
17351
  ] });
17349
17352
  }
17350
17353
 
17354
+ // src/components/ui/lazy-mount.tsx
17355
+
17356
+ function LazyMount({
17357
+ children,
17358
+ placeholder = null,
17359
+ className,
17360
+ style,
17361
+ rootMargin = _chunkZI27ALYXcjs.NEAR_VIEWPORT_ROOT_MARGIN
17362
+ }) {
17363
+ const { ref, isNear } = _chunkZI27ALYXcjs.useNearViewport.call(void 0, rootMargin);
17364
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className, style, children: isNear ? children : placeholder });
17365
+ }
17366
+
17351
17367
  // src/components/features/array-entry-manager.tsx
17352
17368
 
17353
17369
  function ArrayEntryManager({
@@ -18912,7 +18928,7 @@ function EntityTagBadges({ tags, basePath, max, className }) {
18912
18928
  const label = (tag.name || "").toUpperCase();
18913
18929
  if (basePath && tag.slug) {
18914
18930
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18915
- _chunkNNFQLTJ3cjs.StatusBadge,
18931
+ _chunkEMF64FWAcjs.StatusBadge,
18916
18932
  {
18917
18933
  text: label,
18918
18934
  variant: "card",
@@ -18920,9 +18936,9 @@ function EntityTagBadges({ tags, basePath, max, className }) {
18920
18936
  }
18921
18937
  ) }, key);
18922
18938
  }
18923
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
18939
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
18924
18940
  }),
18925
- overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
18941
+ overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
18926
18942
  ] });
18927
18943
  }
18928
18944
 
@@ -18999,7 +19015,7 @@ var SectionButton = ({
18999
19015
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
19000
19016
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClasses, "whitespace-normal break-words text-h4"), children: section.title }),
19001
19017
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19002
- _chunkNNFQLTJ3cjs.StatusBadge,
19018
+ _chunkEMF64FWAcjs.StatusBadge,
19003
19019
  {
19004
19020
  text: section.badge.text,
19005
19021
  variant: section.badge.variant || "button",
@@ -19018,7 +19034,7 @@ var SectionButton = ({
19018
19034
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
19019
19035
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
19020
19036
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19021
- _chunkNNFQLTJ3cjs.StatusBadge,
19037
+ _chunkEMF64FWAcjs.StatusBadge,
19022
19038
  {
19023
19039
  text: section.badge.text,
19024
19040
  variant: section.badge.variant || "button",
@@ -19306,7 +19322,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
19306
19322
  sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
19307
19323
  title: config.title,
19308
19324
  loading: "eager",
19309
- ..._chunkIKUSKKFZcjs.fetchPriorityProp.call(void 0, "high")
19325
+ ..._chunkG45RGWHFcjs.fetchPriorityProp.call(void 0, "high")
19310
19326
  },
19311
19327
  iframeKey
19312
19328
  ),
@@ -20132,7 +20148,7 @@ function MediaGalleryManager({
20132
20148
  (mediaItem, index) => {
20133
20149
  const isDeleting = deletingIndex === index;
20134
20150
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20135
- _chunkNNFQLTJ3cjs.Card,
20151
+ _chunkEMF64FWAcjs.Card,
20136
20152
  {
20137
20153
  className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
20138
20154
  draggable: true,
@@ -20153,10 +20169,10 @@ function MediaGalleryManager({
20153
20169
  children: isDeleting ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin text-ods-text-on-dark" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-on-dark" })
20154
20170
  }
20155
20171
  ) }),
20156
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: mediaItem.media_type === "video" || mediaItem.media_type === "demo" ? (
20172
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkEMF64FWAcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
20157
20173
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
20158
20174
  // fit="cover" crops to the aspect-video cell.
20159
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
20175
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
20160
20176
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20161
20177
  _chunkWLSFBRT5cjs.next_image_default,
20162
20178
  {
@@ -20169,7 +20185,7 @@ function MediaGalleryManager({
20169
20185
  ) }),
20170
20186
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "p-3", children: [
20171
20187
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex items-center gap-2", children: [
20172
- mediaItem.media_type === "video" || mediaItem.media_type === "demo" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Image, { className: "h-4 w-4 text-ods-text-secondary" }),
20188
+ _chunkEMF64FWAcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Image, { className: "h-4 w-4 text-ods-text-secondary" }),
20173
20189
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "capitalize text-ods-text-primary text-h6", children: mediaItem.media_type })
20174
20190
  ] }),
20175
20191
  mediaItem.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: mediaItem.title })
@@ -20643,6 +20659,7 @@ function UnifiedSkeleton({
20643
20659
  rectangular: "h-4"
20644
20660
  };
20645
20661
  const animationClasses = animate ? "animate-pulse motion-reduce:animate-none" : "";
20662
+ const sizedByAspect = /(?:^|\s)aspect-/.test(_nullishCoalesce(className, () => ( "")));
20646
20663
  const style = {
20647
20664
  width,
20648
20665
  height
@@ -20653,7 +20670,7 @@ function UnifiedSkeleton({
20653
20670
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
20654
20671
  baseClasses,
20655
20672
  variantClasses[variant],
20656
- !height && !style.height && defaultHeights[variant],
20673
+ !height && !style.height && !sizedByAspect && defaultHeights[variant],
20657
20674
  !width && !style.width && variant !== "circular" && "w-full",
20658
20675
  animationClasses,
20659
20676
  className
@@ -22406,9 +22423,9 @@ function PushButtonSelector({
22406
22423
  option.id
22407
22424
  );
22408
22425
  if (option.disabled && option.disabledReason) {
22409
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { children: [
22410
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipTrigger, { asChild: true, children: optionEl }),
22411
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
22426
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { children: [
22427
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, children: optionEl }),
22428
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
22412
22429
  ] }, option.id);
22413
22430
  }
22414
22431
  return optionEl;
@@ -22453,7 +22470,7 @@ function PushButtonSelector({
22453
22470
  lazyLoad.isFetchingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-2 text-center text-ods-text-secondary text-h6", children: "Loading more\u2026" }) : null
22454
22471
  ] }) : null
22455
22472
  ] });
22456
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
22473
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
22457
22474
  title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
22458
22475
  searchInput,
22459
22476
  lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22623,10 +22640,10 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
22623
22640
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-on-dark" })
22624
22641
  }
22625
22642
  ) }),
22626
- item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: item.media_type === "video" || item.media_type === "demo" ? (
22643
+ item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkEMF64FWAcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
22627
22644
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
22628
22645
  // fit="cover" crops to the aspect-video cell.
22629
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
22646
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
22630
22647
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22631
22648
  _chunkWLSFBRT5cjs.next_image_default,
22632
22649
  {
@@ -22759,7 +22776,7 @@ var SelectButton = _react2.default.forwardRef(
22759
22776
  }
22760
22777
  )
22761
22778
  ] }),
22762
- tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
22779
+ tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
22763
22780
  selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
22764
22781
  ]
22765
22782
  }
@@ -23271,7 +23288,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
23271
23288
  className: _chunkPRPZBXWZcjs.cn.call(void 0, modeClassName, className),
23272
23289
  style: customStyle,
23273
23290
  leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63QUMV72cjs.OpenFrameLogo, { className: "h-5 w-5", lowerPathColor: iconLowerPath, upperPathColor: iconUpperPath }) : void 0,
23274
- rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
23291
+ rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
23275
23292
  children
23276
23293
  }
23277
23294
  );
@@ -23541,11 +23558,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
23541
23558
 
23542
23559
  function VideoBitesDisplay({
23543
23560
  bites,
23544
- title = _chunkNNFQLTJ3cjs.DEFAULT_VIDEO_BITES_TITLE,
23561
+ title = _chunkEMF64FWAcjs.DEFAULT_VIDEO_BITES_TITLE,
23545
23562
  filterPublished = true,
23546
23563
  showTitle = true
23547
23564
  }) {
23548
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23565
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23549
23566
  }
23550
23567
 
23551
23568
  // src/components/features/walkthrough-video.tsx
@@ -23614,7 +23631,7 @@ function WalkthroughVideo({
23614
23631
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
23615
23632
  };
23616
23633
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
23617
- const hydrated = _chunkIKUSKKFZcjs.useIsHydrated.call(void 0, );
23634
+ const hydrated = _chunkG45RGWHFcjs.useIsHydrated.call(void 0, );
23618
23635
  const previewSuppressed = _react.useMemo.call(void 0, () => {
23619
23636
  if (!hydrated) return false;
23620
23637
  try {
@@ -24011,7 +24028,7 @@ function WalkthroughVideo({
24011
24028
  },
24012
24029
  children: [
24013
24030
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24014
- _chunkIKUSKKFZcjs.VideoHoverPreviewSurface,
24031
+ _chunkG45RGWHFcjs.VideoHoverPreviewSurface,
24015
24032
  {
24016
24033
  url: video.mainVideoUrl || "",
24017
24034
  posterUrl: video.posterUrl,
@@ -24034,7 +24051,7 @@ function WalkthroughVideo({
24034
24051
  `card-${embedUrlKey}`
24035
24052
  ) }),
24036
24053
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24037
- _chunkIKUSKKFZcjs.CardHitLayer,
24054
+ _chunkG45RGWHFcjs.CardHitLayer,
24038
24055
  {
24039
24056
  label: video.title ? `${label}: ${video.title}` : label,
24040
24057
  onPointerDown: pausePreviewNow,
@@ -24043,7 +24060,7 @@ function WalkthroughVideo({
24043
24060
  }
24044
24061
  ),
24045
24062
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "pointer-events-none absolute bottom-[var(--spacing-system-xsf)] left-[var(--spacing-system-xsf)] z-20 flex max-w-[calc(100%-2*var(--spacing-system-xsf))] items-center gap-[var(--spacing-system-xsf)] rounded-full bg-ods-overlay py-[var(--spacing-system-xxs)] pl-[var(--spacing-system-xxs)] pr-[var(--spacing-system-sf)] text-ods-text-primary text-h6", children: [
24046
- presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
24063
+ presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
24047
24064
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
24048
24065
  ] }),
24049
24066
  showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -24056,7 +24073,7 @@ function WalkthroughVideo({
24056
24073
  onPointerDown: (e) => e.stopPropagation(),
24057
24074
  onClick: onUnmuteOrPlay,
24058
24075
  className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
24059
- children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.VideoUnmuteGlyph, {})
24076
+ children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoUnmuteGlyph, {})
24060
24077
  }
24061
24078
  ),
24062
24079
  showPlaybackControls && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute left-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] z-30 flex items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -24149,7 +24166,7 @@ function WalkthroughVideo({
24149
24166
  children: [
24150
24167
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
24151
24168
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24152
- _chunkIKUSKKFZcjs.Video,
24169
+ _chunkG45RGWHFcjs.Video,
24153
24170
  {
24154
24171
  kind: video.youtubeUrl ? "youtube" : "file",
24155
24172
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -24200,7 +24217,7 @@ function InlineWalkthroughVideo(props) {
24200
24217
  var _reactquery = require('@tanstack/react-query');
24201
24218
  function useWalkthroughVideo(opts) {
24202
24219
  const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
24203
- const captions = _chunkIKUSKKFZcjs.useCaptions.call(void 0, );
24220
+ const captions = _chunkG45RGWHFcjs.useCaptions.call(void 0, );
24204
24221
  const query = _reactquery.useQuery.call(void 0, {
24205
24222
  queryKey: ["walkthrough-video", endpoint],
24206
24223
  enabled,
@@ -24398,7 +24415,7 @@ function VideoSourceSelector({
24398
24415
  }
24399
24416
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
24400
24417
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
24401
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "file", url: videoUrl }) }),
24418
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: videoUrl }) }),
24402
24419
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24403
24420
  "button",
24404
24421
  {
@@ -24922,7 +24939,7 @@ function HighlightVideoSection({
24922
24939
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
24923
24940
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
24924
24941
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
24925
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
24942
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
24926
24943
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24927
24944
  "button",
24928
24945
  {
@@ -25658,7 +25675,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
25658
25675
  ] });
25659
25676
  };
25660
25677
  var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
25661
- const { innerRef, containerStyle } = _chunkIKUSKKFZcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
25678
+ const { innerRef, containerStyle } = _chunkG45RGWHFcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
25662
25679
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
25663
25680
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
25664
25681
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -25826,7 +25843,7 @@ function WaitlistForm({
25826
25843
  const { toast } = _chunkLEISUAHFcjs.useToast.call(void 0, );
25827
25844
  const { honeypotInputProps, getSignals, resetSignals } = _chunkLEISUAHFcjs.useHumanitySignals.call(void 0, );
25828
25845
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
25829
- const isClient = _chunkIKUSKKFZcjs.useIsHydrated.call(void 0, );
25846
+ const isClient = _chunkG45RGWHFcjs.useIsHydrated.call(void 0, );
25830
25847
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
25831
25848
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
25832
25849
  const isMailDomainGeneric = hasGenericEmailDomain(email);
@@ -26630,7 +26647,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26630
26647
  "data-state": open ? "open" : "closed",
26631
26648
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
26632
26649
  "absolute inset-0 z-[102] outline-none data-[state=closed]:pointer-events-none data-[state=open]:pointer-events-auto data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
26633
- _chunkIKUSKKFZcjs.OVERLAY_BACKDROP_CLASS,
26650
+ _chunkG45RGWHFcjs.OVERLAY_BACKDROP_CLASS,
26634
26651
  // Persist mode only: hold the fade-out's final (transparent) frame
26635
26652
  // so the backdrop doesn't snap back to opacity 1 and dim the whole
26636
26653
  // content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
@@ -26706,11 +26723,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26706
26723
  }
26707
26724
  );
26708
26725
  AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
26709
- var AppLayoutDrawerHeader = _chunkIKUSKKFZcjs.DrawerHeader;
26710
- var AppLayoutDrawerTitle = _chunkIKUSKKFZcjs.DrawerTitle;
26711
- var AppLayoutDrawerDescription = _chunkIKUSKKFZcjs.DrawerDescription;
26712
- var AppLayoutDrawerBody = _chunkIKUSKKFZcjs.DrawerBody;
26713
- var AppLayoutDrawerFooter = _chunkIKUSKKFZcjs.DrawerFooter;
26726
+ var AppLayoutDrawerHeader = _chunkG45RGWHFcjs.DrawerHeader;
26727
+ var AppLayoutDrawerTitle = _chunkG45RGWHFcjs.DrawerTitle;
26728
+ var AppLayoutDrawerDescription = _chunkG45RGWHFcjs.DrawerDescription;
26729
+ var AppLayoutDrawerBody = _chunkG45RGWHFcjs.DrawerBody;
26730
+ var AppLayoutDrawerFooter = _chunkG45RGWHFcjs.DrawerFooter;
26714
26731
 
26715
26732
  // src/components/features/notifications/notification-tile.tsx
26716
26733
 
@@ -26798,7 +26815,7 @@ function NotificationTile({
26798
26815
  }
26799
26816
  ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkLEISUAHFcjs.dotColorByVariant[accentVariant]) }))) }),
26800
26817
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "min-w-0 flex-1 truncate text-h5", typeColorByVariant[accentVariant]), title: type, children: type }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1" }),
26801
- !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkIKUSKKFZcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
26818
+ !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkG45RGWHFcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
26802
26819
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
26803
26820
  {
26804
26821
  active: isLive,
@@ -26895,7 +26912,7 @@ function NotificationDrawer({
26895
26912
  const unreadNotifications = notifications.filter((n) => !n.read);
26896
26913
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
26897
26914
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26898
- _chunkIKUSKKFZcjs.DrawerTitle,
26915
+ _chunkG45RGWHFcjs.DrawerTitle,
26899
26916
  {
26900
26917
  hideClose: true,
26901
26918
  className: "truncate",
@@ -26954,8 +26971,8 @@ function NotificationDrawer({
26954
26971
  }
26955
26972
  ) });
26956
26973
  }
26957
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26958
- _chunkIKUSKKFZcjs.DrawerContent,
26974
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26975
+ _chunkG45RGWHFcjs.DrawerContent,
26959
26976
  {
26960
26977
  side: "right",
26961
26978
  "aria-describedby": void 0,
@@ -27230,13 +27247,13 @@ function getApprovalMeta(notification) {
27230
27247
  function resolutionToStatus(resolution) {
27231
27248
  switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
27232
27249
  case "APPROVED":
27233
- return _chunkIKUSKKFZcjs.APPROVAL_STATUS.APPROVED;
27250
+ return _chunkG45RGWHFcjs.APPROVAL_STATUS.APPROVED;
27234
27251
  case "REJECTED":
27235
- return _chunkIKUSKKFZcjs.APPROVAL_STATUS.REJECTED;
27252
+ return _chunkG45RGWHFcjs.APPROVAL_STATUS.REJECTED;
27236
27253
  case "CANCELLED":
27237
- return _chunkIKUSKKFZcjs.APPROVAL_STATUS.CANCELLED;
27254
+ return _chunkG45RGWHFcjs.APPROVAL_STATUS.CANCELLED;
27238
27255
  default:
27239
- return _chunkIKUSKKFZcjs.APPROVAL_STATUS.PENDING;
27256
+ return _chunkG45RGWHFcjs.APPROVAL_STATUS.PENDING;
27240
27257
  }
27241
27258
  }
27242
27259
  function approvalMetaToBatchData(approval) {
@@ -27276,7 +27293,7 @@ function ApprovalRequestNotificationTile({
27276
27293
  const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _584 => _584.resolution]));
27277
27294
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
27278
27295
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
27279
- const { innerRef, containerStyle } = _chunkIKUSKKFZcjs.useCollapsible.call(void 0, { expanded });
27296
+ const { innerRef, containerStyle } = _chunkG45RGWHFcjs.useCollapsible.call(void 0, { expanded });
27280
27297
  if (!approval || !batchData) return null;
27281
27298
  const tileNotification = {
27282
27299
  ...notification,
@@ -27329,7 +27346,7 @@ function ApprovalRequestNotificationTile({
27329
27346
  }
27330
27347
  )
27331
27348
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
27332
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ApprovalStatusTag, { status }),
27349
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ApprovalStatusTag, { status }),
27333
27350
  approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
27334
27351
  "by ",
27335
27352
  approval.resolvedByName
@@ -27347,12 +27364,12 @@ function ApprovalRequestNotificationTile({
27347
27364
  "aria-expanded": expanded,
27348
27365
  "aria-label": toggleLabel,
27349
27366
  className: "ml-auto w-6 shrink-0 px-0 md:w-8",
27350
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ExpandChevron, { expanded })
27367
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ExpandChevron, { expanded })
27351
27368
  }
27352
27369
  )
27353
27370
  ] }),
27354
27371
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27355
- _chunkIKUSKKFZcjs.ApprovalBatchMessage,
27372
+ _chunkG45RGWHFcjs.ApprovalBatchMessage,
27356
27373
  {
27357
27374
  data: batchData,
27358
27375
  showExecutionStatus: false,
@@ -27420,7 +27437,7 @@ function renderCustomerOption(option, isSelected) {
27420
27437
  const { label, imageUrl } = option;
27421
27438
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
27422
27439
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
27423
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
27440
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
27424
27441
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
27425
27442
  ] }),
27426
27443
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -27504,7 +27521,7 @@ function TimeTrackerPanel({
27504
27521
  }));
27505
27522
  const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
27506
27523
  const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27507
- _chunkNNFQLTJ3cjs.SquareAvatar,
27524
+ _chunkEMF64FWAcjs.SquareAvatar,
27508
27525
  {
27509
27526
  src: selectedCustomer.imageUrl,
27510
27527
  alt: selectedCustomer.label,
@@ -27683,7 +27700,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
27683
27700
  function StatusTag({ status }) {
27684
27701
  if (status === "tracking") {
27685
27702
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27686
- _chunkIKUSKKFZcjs.Tag,
27703
+ _chunkG45RGWHFcjs.Tag,
27687
27704
  {
27688
27705
  variant: "success",
27689
27706
  className: STATUS_TAG_SKIN,
@@ -27693,9 +27710,9 @@ function StatusTag({ status }) {
27693
27710
  );
27694
27711
  }
27695
27712
  if (status === "paused") {
27696
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
27713
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
27697
27714
  }
27698
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
27715
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
27699
27716
  }
27700
27717
  function LastEntryRow({ entry, onClick }) {
27701
27718
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-m)] border-b border-ods-border bg-ods-bg px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] last:border-b-0", children: [
@@ -27864,7 +27881,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
27864
27881
  "data-state": isOpen ? "open" : "closed",
27865
27882
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
27866
27883
  layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
27867
- _chunkIKUSKKFZcjs.OVERLAY_BACKDROP_CLASS,
27884
+ _chunkG45RGWHFcjs.OVERLAY_BACKDROP_CLASS,
27868
27885
  "data-[state=open]:animate-in data-[state=open]:fade-in-0",
27869
27886
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
27870
27887
  )
@@ -28018,7 +28035,7 @@ function BoardColumnHeader({
28018
28035
  }) {
28019
28036
  const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
28020
28037
  const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
28021
- const useStatusVariant = _chunkIKUSKKFZcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
28038
+ const useStatusVariant = _chunkG45RGWHFcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
28022
28039
  const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
28023
28040
  if (collapsed) {
28024
28041
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
@@ -28034,7 +28051,7 @@ function BoardColumnHeader({
28034
28051
  }
28035
28052
  ),
28036
28053
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28037
- _chunkIKUSKKFZcjs.TicketStatusTag,
28054
+ _chunkG45RGWHFcjs.TicketStatusTag,
28038
28055
  {
28039
28056
  status: tagStatus,
28040
28057
  label: column.label,
@@ -28047,7 +28064,7 @@ function BoardColumnHeader({
28047
28064
  }
28048
28065
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
28049
28066
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
28050
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
28067
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
28051
28068
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
28052
28069
  ] }),
28053
28070
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -28198,7 +28215,7 @@ function holdMoveDragEffect(element) {
28198
28215
 
28199
28216
  function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
28200
28217
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
28201
- const { innerRef, containerStyle } = _chunkIKUSKKFZcjs.useCollapsible.call(void 0, { expanded });
28218
+ const { innerRef, containerStyle } = _chunkG45RGWHFcjs.useCollapsible.call(void 0, { expanded });
28202
28219
  const isAdmin = pendingApproval.approvalType === "ADMIN";
28203
28220
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
28204
28221
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -28227,7 +28244,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
28227
28244
  }
28228
28245
  ),
28229
28246
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: "pt-[var(--spacing-system-xs)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28230
- _chunkIKUSKKFZcjs.ApprovalBatchMessage,
28247
+ _chunkG45RGWHFcjs.ApprovalBatchMessage,
28231
28248
  {
28232
28249
  className: "mb-0",
28233
28250
  data: {
@@ -28299,7 +28316,7 @@ var ACTIVITY_DEFAULT_LABEL = {
28299
28316
  var TICKET_CARD_SHELL = "relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left";
28300
28317
  function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
28301
28318
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
28302
- const newMessageTextColor = columnColor ? _chunkIKUSKKFZcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
28319
+ const newMessageTextColor = columnColor ? _chunkG45RGWHFcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
28303
28320
  const showDeviceRow = !!(_optionalChain([ticket, 'access', _620 => _620.deviceHostnames, 'optionalAccess', _621 => _621.length]) || ticket.organizationName);
28304
28321
  const deviceText = [_optionalChain([ticket, 'access', _622 => _622.deviceHostnames, 'optionalAccess', _623 => _623.join, 'call', _624 => _624(", ")]), ticket.organizationName].filter(Boolean).join(", ");
28305
28322
  const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _625 => _625.assignees, 'optionalAccess', _626 => _626.length]) || renderAssignSlot);
@@ -28321,7 +28338,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28321
28338
  },
28322
28339
  a.id
28323
28340
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28324
- _chunkNNFQLTJ3cjs.SquareAvatar,
28341
+ _chunkEMF64FWAcjs.SquareAvatar,
28325
28342
  {
28326
28343
  src: a.avatarUrl,
28327
28344
  alt: _nullishCoalesce(_nullishCoalesce(a.name, () => ( a.initials)), () => ( a.id)),
@@ -28338,8 +28355,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28338
28355
  ] })
28339
28356
  ] }) : null
28340
28357
  ] }) : null;
28341
- const timestampLabel = ticket.createdAt ? _chunkIKUSKKFZcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
28342
- const tooltipLabel = ticket.createdAt ? _chunkIKUSKKFZcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
28358
+ const timestampLabel = ticket.createdAt ? _chunkG45RGWHFcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
28359
+ const tooltipLabel = ticket.createdAt ? _chunkG45RGWHFcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
28343
28360
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
28344
28361
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
28345
28362
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
@@ -28352,9 +28369,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28352
28369
  rightSection
28353
28370
  ] }),
28354
28371
  _optionalChain([ticket, 'access', _629 => _629.tags, 'optionalAccess', _630 => _630.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
28355
- timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { children: [
28356
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
28357
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { children: tooltipLabel })
28372
+ timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { children: [
28373
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
28374
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { children: tooltipLabel })
28358
28375
  ] }) }),
28359
28376
  ticket.escalatedByUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-ods-open-yellow text-h6", children: [
28360
28377
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
@@ -28374,7 +28391,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28374
28391
  }
28375
28392
  ),
28376
28393
  showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28377
- _chunkIKUSKKFZcjs.Tag,
28394
+ _chunkG45RGWHFcjs.Tag,
28378
28395
  {
28379
28396
  label: "New Message",
28380
28397
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
@@ -28589,8 +28606,8 @@ function TicketTagRow({ tags }) {
28589
28606
  const visible = tags.slice(0, MAX_VISIBLE_TAGS);
28590
28607
  const hidden = tags.length - visible.length;
28591
28608
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
28592
- visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: "outline", label: tag }, tag)),
28593
- hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: "outline", label: `+${hidden}` })
28609
+ visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "outline", label: tag }, tag)),
28610
+ hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "outline", label: `+${hidden}` })
28594
28611
  ] });
28595
28612
  }
28596
28613
 
@@ -30246,5 +30263,6 @@ function SortableRow({
30246
30263
 
30247
30264
 
30248
30265
 
30249
- exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; 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.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; 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.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; 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.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.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; 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.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; 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.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.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; 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.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; 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.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.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; 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.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.SourceTooltip = SourceTooltip; 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.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; 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.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; 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.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; 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.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; 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.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.COMPACT_ROW_MIN_HEIGHT_PX = COMPACT_ROW_MIN_HEIGHT_PX; 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.DataTableEmpty = DataTableEmpty; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; 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.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow;
30250
- //# sourceMappingURL=chunk-QJR32JM2.cjs.map
30266
+
30267
+ exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; 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.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; 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.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; 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.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.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; 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.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; 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.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.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; 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.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; 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.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.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; 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.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.SourceTooltip = SourceTooltip; 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.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; 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.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; 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.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; 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.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; 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.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.COMPACT_ROW_MIN_HEIGHT_PX = COMPACT_ROW_MIN_HEIGHT_PX; 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.DataTableEmpty = DataTableEmpty; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; 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.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount;
30268
+ //# sourceMappingURL=chunk-3F7V7GFU.cjs.map