@flamingo-stack/openframe-frontend-core 0.0.577 → 0.0.578

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 (159) hide show
  1. package/dist/{chunk-JQI726T3.js → chunk-3LMYQGAJ.js} +3 -2
  2. package/dist/chunk-3LMYQGAJ.js.map +1 -0
  3. package/dist/{chunk-RUJKOU5F.js → chunk-5IAGT5LB.js} +2 -2
  4. package/dist/{chunk-TU32TSAK.js → chunk-5NG2P2KI.js} +5 -5
  5. package/dist/{chunk-GDWBJFMG.cjs → chunk-ABWA3W3M.cjs} +32 -32
  6. package/dist/{chunk-GDWBJFMG.cjs.map → chunk-ABWA3W3M.cjs.map} +1 -1
  7. package/dist/{chunk-U3SDSA5K.js → chunk-AJ67T7LI.js} +4 -4
  8. package/dist/{chunk-THDGDYJ3.js → chunk-BFJBE4PQ.js} +5 -5
  9. package/dist/{chunk-KE2TCUOH.cjs → chunk-BLPGMX2L.cjs} +190 -190
  10. package/dist/{chunk-KE2TCUOH.cjs.map → chunk-BLPGMX2L.cjs.map} +1 -1
  11. package/dist/{chunk-HSOMYCUG.cjs → chunk-E5QAU63Y.cjs} +11 -11
  12. package/dist/{chunk-HSOMYCUG.cjs.map → chunk-E5QAU63Y.cjs.map} +1 -1
  13. package/dist/{chunk-ZBJ6XSDO.js → chunk-ESXUEMPA.js} +3 -3
  14. package/dist/{chunk-CFTZAZ7R.cjs → chunk-G3AJXLKH.cjs} +28 -28
  15. package/dist/{chunk-CFTZAZ7R.cjs.map → chunk-G3AJXLKH.cjs.map} +1 -1
  16. package/dist/{chunk-XG2WNF4L.cjs → chunk-GOEBT72V.cjs} +19 -19
  17. package/dist/{chunk-XG2WNF4L.cjs.map → chunk-GOEBT72V.cjs.map} +1 -1
  18. package/dist/{chunk-LYOGSVFO.js → chunk-IBSOYTGZ.js} +3 -3
  19. package/dist/{chunk-AQ5MZVYN.js → chunk-IWK2NFVR.js} +3 -3
  20. package/dist/{chunk-2YCUEUIZ.js → chunk-JJH4H4CJ.js} +6 -6
  21. package/dist/{chunk-RSMUAAPW.js → chunk-KLG3MGRP.js} +3 -3
  22. package/dist/{chunk-RNUH5IHZ.js → chunk-KPE277X2.js} +3 -3
  23. package/dist/{chunk-XBBCUC32.cjs → chunk-KQBYQBQN.cjs} +15 -15
  24. package/dist/{chunk-XBBCUC32.cjs.map → chunk-KQBYQBQN.cjs.map} +1 -1
  25. package/dist/{chunk-IQFXDS5O.js → chunk-LEUJNBWU.js} +7 -7
  26. package/dist/{chunk-4D2BR756.js → chunk-LPFA56WY.js} +52 -31
  27. package/dist/chunk-LPFA56WY.js.map +1 -0
  28. package/dist/{chunk-75X6BRID.cjs → chunk-M7FNT5AC.cjs} +453 -432
  29. package/dist/chunk-M7FNT5AC.cjs.map +1 -0
  30. package/dist/{chunk-JCH6HGQD.js → chunk-MCWAZ5XI.js} +2 -2
  31. package/dist/{chunk-ET3Q4FIZ.cjs → chunk-NJDL7F7K.cjs} +10 -10
  32. package/dist/{chunk-ET3Q4FIZ.cjs.map → chunk-NJDL7F7K.cjs.map} +1 -1
  33. package/dist/{chunk-MIY5FYX3.cjs → chunk-NNFQLTJ3.cjs} +4 -3
  34. package/dist/chunk-NNFQLTJ3.cjs.map +1 -0
  35. package/dist/{chunk-XBSW7IF6.cjs → chunk-NPNYQSCG.cjs} +21 -21
  36. package/dist/{chunk-XBSW7IF6.cjs.map → chunk-NPNYQSCG.cjs.map} +1 -1
  37. package/dist/{chunk-NQCGDZJ3.cjs → chunk-OIJWSYKP.cjs} +3 -3
  38. package/dist/{chunk-NQCGDZJ3.cjs.map → chunk-OIJWSYKP.cjs.map} +1 -1
  39. package/dist/{chunk-WOHHZZJK.cjs → chunk-POB6GNIR.cjs} +57 -57
  40. package/dist/{chunk-WOHHZZJK.cjs.map → chunk-POB6GNIR.cjs.map} +1 -1
  41. package/dist/{chunk-NEKT67O5.js → chunk-QHGARH6P.js} +6 -6
  42. package/dist/{chunk-5DPCIIJ7.cjs → chunk-R7OJZCE6.cjs} +80 -80
  43. package/dist/{chunk-5DPCIIJ7.cjs.map → chunk-R7OJZCE6.cjs.map} +1 -1
  44. package/dist/{chunk-6FJABKPX.cjs → chunk-SETRICAM.cjs} +6 -6
  45. package/dist/{chunk-6FJABKPX.cjs.map → chunk-SETRICAM.cjs.map} +1 -1
  46. package/dist/{chunk-4KR7JWKB.js → chunk-SHJXC7A4.js} +4 -4
  47. package/dist/{chunk-NP3XN6ZX.js → chunk-SNZZ6Q6G.js} +4 -4
  48. package/dist/chunk-SNZZ6Q6G.js.map +1 -0
  49. package/dist/{chunk-APFGR2KK.cjs → chunk-UQPA2XT7.cjs} +28 -28
  50. package/dist/{chunk-APFGR2KK.cjs.map → chunk-UQPA2XT7.cjs.map} +1 -1
  51. package/dist/{chunk-GPWU3PPR.cjs → chunk-VEHZNQ77.cjs} +30 -30
  52. package/dist/{chunk-GPWU3PPR.cjs.map → chunk-VEHZNQ77.cjs.map} +1 -1
  53. package/dist/{chunk-RCLJSENK.cjs → chunk-WUZQYZXI.cjs} +6 -6
  54. package/dist/{chunk-RCLJSENK.cjs.map → chunk-WUZQYZXI.cjs.map} +1 -1
  55. package/dist/{chunk-CIUYHBAY.cjs → chunk-YOYHJQX3.cjs} +5 -5
  56. package/dist/{chunk-CIUYHBAY.cjs.map → chunk-YOYHJQX3.cjs.map} +1 -1
  57. package/dist/{chunk-FCVAVOXS.js → chunk-ZBVMPVJF.js} +3 -3
  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/embeddable-chat.d.ts.map +1 -1
  61. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  62. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  63. package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -1
  64. package/dist/components/chat/index.cjs +3 -3
  65. package/dist/components/chat/index.js +2 -2
  66. package/dist/components/chat/nav-link-anchor-via-runtime.d.ts.map +1 -1
  67. package/dist/components/chat/types/unified-chat-state.types.d.ts +9 -2
  68. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  69. package/dist/components/chat/utils/chat-nav-resolution.d.ts +9 -3
  70. package/dist/components/chat/utils/chat-nav-resolution.d.ts.map +1 -1
  71. package/dist/components/chat/utils/execute-navigation.d.ts +11 -0
  72. package/dist/components/chat/utils/execute-navigation.d.ts.map +1 -1
  73. package/dist/components/chat/utils/index.d.ts +1 -1
  74. package/dist/components/chat/utils/index.d.ts.map +1 -1
  75. package/dist/components/chat/utils/nav-anchor-props.d.ts +4 -0
  76. package/dist/components/chat/utils/nav-anchor-props.d.ts.map +1 -1
  77. package/dist/components/chat/utils/resolve-fetched-card-href.d.ts +42 -3
  78. package/dist/components/chat/utils/resolve-fetched-card-href.d.ts.map +1 -1
  79. package/dist/components/contact/index.cjs +5 -5
  80. package/dist/components/contact/index.js +4 -4
  81. package/dist/components/docs/index.cjs +8 -8
  82. package/dist/components/docs/index.js +7 -7
  83. package/dist/components/embeds/index.cjs +5 -5
  84. package/dist/components/embeds/index.js +4 -4
  85. package/dist/components/faq/index.cjs +5 -5
  86. package/dist/components/faq/index.js +4 -4
  87. package/dist/components/features/index.cjs +4 -4
  88. package/dist/components/features/index.js +3 -3
  89. package/dist/components/help-center-pages/index.cjs +24 -24
  90. package/dist/components/help-center-pages/index.js +15 -15
  91. package/dist/components/index.cjs +136 -136
  92. package/dist/components/index.js +15 -15
  93. package/dist/components/meeting-scheduler/index.cjs +31 -31
  94. package/dist/components/meeting-scheduler/index.js +3 -3
  95. package/dist/components/navigation/index.cjs +7 -7
  96. package/dist/components/navigation/index.js +6 -6
  97. package/dist/components/onboarding-guides/index.cjs +7 -7
  98. package/dist/components/onboarding-guides/index.js +6 -6
  99. package/dist/components/related-content/index.cjs +3 -3
  100. package/dist/components/related-content/index.js +2 -2
  101. package/dist/components/tickets/index.cjs +8 -8
  102. package/dist/components/tickets/index.js +7 -7
  103. package/dist/components/ui/index.cjs +4 -4
  104. package/dist/components/ui/index.js +3 -3
  105. package/dist/index.cjs +8 -8
  106. package/dist/index.js +7 -7
  107. package/dist/utils/content-href.d.ts +26 -5
  108. package/dist/utils/content-href.d.ts.map +1 -1
  109. package/dist/utils/index.cjs +1 -1
  110. package/dist/utils/index.cjs.map +1 -1
  111. package/dist/utils/index.d.ts +1 -1
  112. package/dist/utils/index.d.ts.map +1 -1
  113. package/dist/utils/index.js +1 -1
  114. package/dist/utils/index.js.map +1 -1
  115. package/package.json +1 -1
  116. package/src/components/chat/embeddable-chat.tsx +9 -2
  117. package/src/components/chat/entity-cards/.dispatch.md +1 -1
  118. package/src/components/chat/entity-cards/dispatch.tsx +43 -23
  119. package/src/components/chat/hooks/.use-unified-chat.md +5 -1
  120. package/src/components/chat/hooks/use-nats-chat-adapter.ts +4 -7
  121. package/src/components/chat/hooks/use-unified-chat.ts +8 -2
  122. package/src/components/chat/nav-link-anchor-via-runtime.tsx +8 -10
  123. package/src/components/chat/types/.unified-chat-state.types.md +2 -1
  124. package/src/components/chat/types/unified-chat-state.types.ts +9 -2
  125. package/src/components/chat/utils/__tests__/execute-navigation.test.ts +190 -0
  126. package/src/components/chat/utils/__tests__/resolve-fetched-card-href.test.ts +75 -2
  127. package/src/components/chat/utils/chat-nav-resolution.ts +9 -3
  128. package/src/components/chat/utils/execute-navigation.ts +32 -2
  129. package/src/components/chat/utils/index.ts +1 -1
  130. package/src/components/chat/utils/nav-anchor-props.ts +4 -2
  131. package/src/components/chat/utils/resolve-fetched-card-href.ts +50 -2
  132. package/src/utils/.content-href.md +1 -1
  133. package/src/utils/__tests__/content-href.test.ts +3 -0
  134. package/src/utils/content-href.ts +30 -3
  135. package/src/utils/index.ts +1 -0
  136. package/dist/chunk-4D2BR756.js.map +0 -1
  137. package/dist/chunk-75X6BRID.cjs.map +0 -1
  138. package/dist/chunk-JQI726T3.js.map +0 -1
  139. package/dist/chunk-MIY5FYX3.cjs.map +0 -1
  140. package/dist/chunk-NP3XN6ZX.js.map +0 -1
  141. package/dist/components/chat/utils/nav-click-handler.d.ts +0 -24
  142. package/dist/components/chat/utils/nav-click-handler.d.ts.map +0 -1
  143. package/src/components/chat/utils/.nav-click-handler.md +0 -43
  144. package/src/components/chat/utils/nav-click-handler.ts +0 -34
  145. /package/dist/{chunk-RUJKOU5F.js.map → chunk-5IAGT5LB.js.map} +0 -0
  146. /package/dist/{chunk-TU32TSAK.js.map → chunk-5NG2P2KI.js.map} +0 -0
  147. /package/dist/{chunk-U3SDSA5K.js.map → chunk-AJ67T7LI.js.map} +0 -0
  148. /package/dist/{chunk-THDGDYJ3.js.map → chunk-BFJBE4PQ.js.map} +0 -0
  149. /package/dist/{chunk-ZBJ6XSDO.js.map → chunk-ESXUEMPA.js.map} +0 -0
  150. /package/dist/{chunk-LYOGSVFO.js.map → chunk-IBSOYTGZ.js.map} +0 -0
  151. /package/dist/{chunk-AQ5MZVYN.js.map → chunk-IWK2NFVR.js.map} +0 -0
  152. /package/dist/{chunk-2YCUEUIZ.js.map → chunk-JJH4H4CJ.js.map} +0 -0
  153. /package/dist/{chunk-RSMUAAPW.js.map → chunk-KLG3MGRP.js.map} +0 -0
  154. /package/dist/{chunk-RNUH5IHZ.js.map → chunk-KPE277X2.js.map} +0 -0
  155. /package/dist/{chunk-IQFXDS5O.js.map → chunk-LEUJNBWU.js.map} +0 -0
  156. /package/dist/{chunk-JCH6HGQD.js.map → chunk-MCWAZ5XI.js.map} +0 -0
  157. /package/dist/{chunk-NEKT67O5.js.map → chunk-QHGARH6P.js.map} +0 -0
  158. /package/dist/{chunk-4KR7JWKB.js.map → chunk-SHJXC7A4.js.map} +0 -0
  159. /package/dist/{chunk-FCVAVOXS.js.map → chunk-ZBVMPVJF.js.map} +0 -0
@@ -88,7 +88,7 @@ var _chunkQYQXAXVRcjs = require('./chunk-QYQXAXVR.cjs');
88
88
 
89
89
 
90
90
 
91
- var _chunk75X6BRIDcjs = require('./chunk-75X6BRID.cjs');
91
+ var _chunkM7FNT5ACcjs = require('./chunk-M7FNT5AC.cjs');
92
92
 
93
93
 
94
94
 
@@ -213,7 +213,7 @@ var _chunkXQFFGR6Ucjs = require('./chunk-XQFFGR6U.cjs');
213
213
 
214
214
 
215
215
 
216
- var _chunkMIY5FYX3cjs = require('./chunk-MIY5FYX3.cjs');
216
+ var _chunkNNFQLTJ3cjs = require('./chunk-NNFQLTJ3.cjs');
217
217
 
218
218
 
219
219
  var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
@@ -328,7 +328,7 @@ function ThemeProvider({ children, ...overrides }) {
328
328
  var useTheme = _nextthemes.useTheme;
329
329
  function useThemeToggle() {
330
330
  const { resolvedTheme, theme, setTheme } = useTheme();
331
- const mounted = _chunk75X6BRIDcjs.useIsHydrated.call(void 0, );
331
+ const mounted = _chunkM7FNT5ACcjs.useIsHydrated.call(void 0, );
332
332
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
333
333
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
334
334
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -605,7 +605,7 @@ function TruncateText({
605
605
  const { ref, isTruncated } = _chunk36NFJULVcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
606
606
  const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
607
607
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
608
- _chunk75X6BRIDcjs.FloatingTooltip,
608
+ _chunkM7FNT5ACcjs.FloatingTooltip,
609
609
  {
610
610
  content: _nullishCoalesce(tooltip, () => ( children)),
611
611
  side,
@@ -907,7 +907,7 @@ function AutocompleteInner(props, ref) {
907
907
  ),
908
908
  /* @__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: [
909
909
  multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
910
- _chunk75X6BRIDcjs.Tag,
910
+ _chunkM7FNT5ACcjs.Tag,
911
911
  {
912
912
  variant: "outline",
913
913
  labelClassName: "max-w-[90px] truncate",
@@ -1113,7 +1113,7 @@ function AutocompleteInner(props, ref) {
1113
1113
  "aria-hidden": "true",
1114
1114
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
1115
1115
  children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1116
- _chunk75X6BRIDcjs.Tag,
1116
+ _chunkM7FNT5ACcjs.Tag,
1117
1117
  {
1118
1118
  variant: "outline",
1119
1119
  labelClassName: "max-w-[90px] truncate",
@@ -2497,7 +2497,7 @@ function InfoHint({ children, label, side = "top", className }) {
2497
2497
  const describedById = _react.useId.call(void 0, );
2498
2498
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
2499
2499
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2500
- _chunk75X6BRIDcjs.FloatingTooltip,
2500
+ _chunkM7FNT5ACcjs.FloatingTooltip,
2501
2501
  {
2502
2502
  content: children,
2503
2503
  side,
@@ -2591,7 +2591,7 @@ function Value2({ value, depth }) {
2591
2591
  }
2592
2592
  if (typeof value === "string") {
2593
2593
  if (ISO_DATE.test(value)) {
2594
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunk75X6BRIDcjs.formatRelativeTime.call(void 0, value) });
2594
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkM7FNT5ACcjs.formatRelativeTime.call(void 0, value) });
2595
2595
  }
2596
2596
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
2597
2597
  }
@@ -2986,7 +2986,7 @@ function CompactAssigneeDropdown({
2986
2986
  value: o.value,
2987
2987
  label: o.label,
2988
2988
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2989
- _chunkMIY5FYX3cjs.SquareAvatar,
2989
+ _chunkNNFQLTJ3cjs.SquareAvatar,
2990
2990
  {
2991
2991
  src: o.imageUrl,
2992
2992
  alt: o.label,
@@ -3021,7 +3021,7 @@ function CompactAssigneeDropdown({
3021
3021
  className
3022
3022
  ),
3023
3023
  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,
3024
- _chunkMIY5FYX3cjs.SquareAvatar,
3024
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3025
3025
  {
3026
3026
  src: currentAssignee.avatarSrc,
3027
3027
  alt: currentAssignee.name,
@@ -3069,7 +3069,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3069
3069
  const opt = option;
3070
3070
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
3071
3071
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3072
- _chunkMIY5FYX3cjs.SquareAvatar,
3072
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3073
3073
  {
3074
3074
  src: opt.imageUrl,
3075
3075
  alt: opt.label,
@@ -3104,7 +3104,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3104
3104
  accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
3105
3105
  }
3106
3106
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3107
- _chunkMIY5FYX3cjs.SquareAvatar,
3107
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3108
3108
  {
3109
3109
  src: currentAssignee.avatarSrc,
3110
3110
  alt: currentAssignee.name,
@@ -3129,7 +3129,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3129
3129
  accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
3130
3130
  }
3131
3131
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3132
- _chunkMIY5FYX3cjs.SquareAvatar,
3132
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3133
3133
  {
3134
3134
  src: currentAssignee.avatarSrc,
3135
3135
  alt: currentAssignee.name,
@@ -3203,7 +3203,7 @@ function TextValue({ value }) {
3203
3203
  }
3204
3204
  ) : 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 }),
3205
3205
  hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3206
- _chunkMIY5FYX3cjs.SquareAvatar,
3206
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3207
3207
  {
3208
3208
  src: imageSrc,
3209
3209
  alt: text,
@@ -3223,7 +3223,7 @@ function RowValue({ value }) {
3223
3223
  }
3224
3224
  case "status": {
3225
3225
  const { type: _type, ...props } = value;
3226
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TicketStatusTag, { ...props });
3226
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TicketStatusTag, { ...props });
3227
3227
  }
3228
3228
  case "custom":
3229
3229
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
@@ -4134,7 +4134,7 @@ function TagsManager({
4134
4134
  }
4135
4135
  ),
4136
4136
  selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4137
- _chunk75X6BRIDcjs.Tag,
4137
+ _chunkM7FNT5ACcjs.Tag,
4138
4138
  {
4139
4139
  label: tag.name,
4140
4140
  variant: "outline",
@@ -4678,10 +4678,10 @@ function useConfirm() {
4678
4678
  },
4679
4679
  []
4680
4680
  );
4681
- const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4682
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalTitle, { children: pending.title }) }),
4683
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4684
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: [
4681
+ const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4682
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalTitle, { children: pending.title }) }),
4683
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4684
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.ModalFooter, { children: [
4685
4685
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
4686
4686
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
4687
4687
  ] })
@@ -4739,9 +4739,9 @@ function AdminFormModal({
4739
4739
  body: "Your edits have not been saved. Close and discard them?"
4740
4740
  });
4741
4741
  if (!isOpen) return null;
4742
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4743
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalHeader, { children: [
4744
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalTitle, { children: title }),
4742
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4743
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.ModalHeader, { children: [
4744
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalTitle, { children: title }),
4745
4745
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
4746
4746
  ] }),
4747
4747
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -4765,7 +4765,7 @@ function AdminFormModal({
4765
4765
  // a shrink-to-fit flex item pinned to the left of a 1400px panel).
4766
4766
  // The placeholder owns its own layout and mirrors the column count so
4767
4767
  // the modal doesn't visibly re-flow when the entity lands.
4768
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4768
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4769
4769
  "div",
4770
4770
  {
4771
4771
  "aria-busy": "true",
@@ -4786,12 +4786,12 @@ function AdminFormModal({
4786
4786
  ]
4787
4787
  }
4788
4788
  ) })
4789
- ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalContent, { className: contentClassName, children }),
4789
+ ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalContent, { className: contentClassName, children }),
4790
4790
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
4791
4791
  ]
4792
4792
  }
4793
4793
  ),
4794
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4794
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4795
4795
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
4796
4796
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
4797
4797
  footerStatus,
@@ -6889,7 +6889,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
6889
6889
  };
6890
6890
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
6891
6891
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6892
- _chunk75X6BRIDcjs.Video,
6892
+ _chunkM7FNT5ACcjs.Video,
6893
6893
  {
6894
6894
  url: item.src,
6895
6895
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7321,7 +7321,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
7321
7321
  width: m.width,
7322
7322
  height: m.height
7323
7323
  }));
7324
- const formatNumber2 = _chunkMIY5FYX3cjs.formatLargeNumber;
7324
+ const formatNumber2 = _chunkNNFQLTJ3cjs.formatLargeNumber;
7325
7325
  const truncateText = (text, maxLength = 600) => {
7326
7326
  if (text.length <= maxLength) return text;
7327
7327
  return text.slice(0, maxLength) + "...";
@@ -7613,7 +7613,7 @@ function buildRichEmbedOverrides({
7613
7613
  ogEndpointPath,
7614
7614
  textSizes
7615
7615
  }) {
7616
- const standard = _chunk75X6BRIDcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7616
+ const standard = _chunkM7FNT5ACcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7617
7617
  return {
7618
7618
  // Fence-language embeds (```youtube-embed etc.); everything else
7619
7619
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7623,7 +7623,7 @@ function buildRichEmbedOverrides({
7623
7623
  const language = match ? match[1] : "";
7624
7624
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7625
7625
  if (language === "youtube-embed") {
7626
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Video, { kind: "youtube", url: fenceText() });
7626
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Video, { kind: "youtube", url: fenceText() });
7627
7627
  }
7628
7628
  if (language === "reddit-embed") {
7629
7629
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -7664,7 +7664,7 @@ function buildRichEmbedOverrides({
7664
7664
  "data-figma-url": figmaUrl
7665
7665
  } = divProps;
7666
7666
  if (className === "youtube-embed" && videoId) {
7667
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Video, { kind: "youtube", url: videoId });
7667
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Video, { kind: "youtube", url: videoId });
7668
7668
  }
7669
7669
  if (className === "reddit-embed" && postUrl) {
7670
7670
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -7749,14 +7749,14 @@ function buildRichEmbedOverrides({
7749
7749
  // rich-markdown runtime (Supabase optimization on the hub, identity
7750
7750
  // elsewhere). Guard against empty `![]()`.
7751
7751
  img: ({ src, alt }) => {
7752
- if (!_chunk75X6BRIDcjs.hasRenderableSrc.call(void 0, src)) return null;
7752
+ if (!_chunkM7FNT5ACcjs.hasRenderableSrc.call(void 0, src)) return null;
7753
7753
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7754
7754
  },
7755
7755
  // Raw <video> tags in stored content (blog publisher injection) route
7756
7756
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
7757
7757
  video: ({ src, poster, className }) => {
7758
- if (!_chunk75X6BRIDcjs.hasRenderableSrc.call(void 0, src)) return null;
7759
- 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, _chunk75X6BRIDcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7758
+ if (!_chunkM7FNT5ACcjs.hasRenderableSrc.call(void 0, src)) return null;
7759
+ 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, _chunkM7FNT5ACcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7760
7760
  }
7761
7761
  };
7762
7762
  }
@@ -7939,13 +7939,13 @@ var RichMarkdownInner = ({
7939
7939
  },
7940
7940
  [resolveLinkEndpointUrl, resolveSource]
7941
7941
  );
7942
- const textSizes = _react.useMemo.call(void 0, () => _chunk75X6BRIDcjs.resolveTextSizeConfig.call(void 0, "article"), []);
7942
+ const textSizes = _react.useMemo.call(void 0, () => _chunkM7FNT5ACcjs.resolveTextSizeConfig.call(void 0, "article"), []);
7943
7943
  const componentOverrides = _react.useMemo.call(void 0,
7944
7944
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
7945
7945
  [ogApiBaseUrl, ogEndpointPath, textSizes]
7946
7946
  );
7947
7947
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7948
- _chunk75X6BRIDcjs.MarkdownEngine,
7948
+ _chunkM7FNT5ACcjs.MarkdownEngine,
7949
7949
  {
7950
7950
  content,
7951
7951
  className,
@@ -7967,7 +7967,7 @@ var RichMarkdownRendererImpl = ({
7967
7967
  className = "",
7968
7968
  sectionIds,
7969
7969
  onInternalLinkClick,
7970
- brokenLinks = _chunk75X6BRIDcjs.NO_BROKEN_LINKS,
7970
+ brokenLinks = _chunkM7FNT5ACcjs.NO_BROKEN_LINKS,
7971
7971
  currentPath,
7972
7972
  resolveSource = "openframe-docs",
7973
7973
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -8540,7 +8540,7 @@ function FilterModal({
8540
8540
  const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
8541
8541
  const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
8542
8542
  const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _163 => _163.range]));
8543
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk75X6BRIDcjs.useScrollFade.call(void 0, );
8543
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkM7FNT5ACcjs.useScrollFade.call(void 0, );
8544
8544
  const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
8545
8545
  const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
8546
8546
  _react.useEffect.call(void 0, () => {
@@ -8585,10 +8585,10 @@ function FilterModal({
8585
8585
  const hasFilterGroups = filterGroups.length > 0;
8586
8586
  const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
8587
8587
  const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
8588
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
8589
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalTitle, { children: title }) }),
8588
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
8589
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalTitle, { children: title }) }),
8590
8590
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8591
- _chunk75X6BRIDcjs.ModalContent,
8591
+ _chunkM7FNT5ACcjs.ModalContent,
8592
8592
  {
8593
8593
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
8594
8594
  "flex min-h-0 flex-1 flex-col",
@@ -8680,12 +8680,12 @@ function FilterModal({
8680
8680
  ] })
8681
8681
  }
8682
8682
  ),
8683
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
8684
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
8683
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
8684
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
8685
8685
  ] })
8686
8686
  }
8687
8687
  ),
8688
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: [
8688
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.ModalFooter, { children: [
8689
8689
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
8690
8690
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
8691
8691
  ] })
@@ -8729,9 +8729,9 @@ function actionToMenuItems(action, idx) {
8729
8729
  function renderActionButton(action, opts = {}) {
8730
8730
  const button = renderRawActionButton(action, opts);
8731
8731
  if (!action.tooltip) return button;
8732
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Tooltip, { children: [
8733
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipTrigger, { asChild: true, children: button }),
8734
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipContent, { children: action.tooltip })
8732
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Tooltip, { children: [
8733
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipTrigger, { asChild: true, children: button }),
8734
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipContent, { children: action.tooltip })
8735
8735
  ] }) });
8736
8736
  }
8737
8737
  function renderRawActionButton(action, opts = {}) {
@@ -8755,7 +8755,7 @@ function renderRawActionButton(action, opts = {}) {
8755
8755
  }
8756
8756
  if (action.submenu && action.submenu.length > 0) {
8757
8757
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8758
- _chunk75X6BRIDcjs.ActionsMenuDropdown,
8758
+ _chunkM7FNT5ACcjs.ActionsMenuDropdown,
8759
8759
  {
8760
8760
  groups: [{ items: action.submenu }],
8761
8761
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -8890,10 +8890,10 @@ function IconButtonsVariant({
8890
8890
  selector,
8891
8891
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8892
8892
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
8893
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ActionsMenuDropdown, { groups: menuActions })
8893
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ActionsMenuDropdown, { groups: menuActions })
8894
8894
  ] })
8895
8895
  ] }),
8896
- /* @__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, _chunk75X6BRIDcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8896
+ /* @__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, _chunkM7FNT5ACcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8897
8897
  ] });
8898
8898
  }
8899
8899
  function PrimaryButtonsVariant({
@@ -8931,11 +8931,11 @@ function MenuPrimaryVariant({
8931
8931
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
8932
8932
  selector,
8933
8933
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8934
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ActionsMenuDropdown, { groups: menuActions }),
8934
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ActionsMenuDropdown, { groups: menuActions }),
8935
8935
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
8936
8936
  ] })
8937
8937
  ] }),
8938
- /* @__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, {}) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8938
+ /* @__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, {}) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8939
8939
  ] });
8940
8940
  }
8941
8941
  function MobileBottomActions({ actions, loading }) {
@@ -9228,7 +9228,7 @@ function EntityImage({ src, alt, fallbackText, className }) {
9228
9228
  const [failedSrc, setFailedSrc] = _react2.default.useState(null);
9229
9229
  const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
9230
9230
  const showFallback = imageFailed || !resolvedSrc;
9231
- const initials = _chunkMIY5FYX3cjs.getFirstLastInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
9231
+ const initials = _chunkNNFQLTJ3cjs.getFirstLastInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
9232
9232
  if (showFallback) {
9233
9233
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9234
9234
  "div",
@@ -9337,7 +9337,7 @@ function TitleBlock({
9337
9337
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
9338
9338
  (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: [
9339
9339
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9340
- _chunk75X6BRIDcjs.FloatingTooltip,
9340
+ _chunkM7FNT5ACcjs.FloatingTooltip,
9341
9341
  {
9342
9342
  content: title,
9343
9343
  side: "bottom",
@@ -9354,12 +9354,12 @@ function TitleBlock({
9354
9354
  }
9355
9355
  ),
9356
9356
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9357
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.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 }) })),
9357
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.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 }) })),
9358
9358
  hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
9359
9359
  empty `p` collapses to zero height (its only content would be
9360
9360
  collapsible whitespace), which is exactly the shift that mode
9361
9361
  exists to prevent. Hidden from AT — it carries no meaning. */
9362
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9362
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9363
9363
  "p",
9364
9364
  {
9365
9365
  ref: subtitleRef,
@@ -9370,7 +9370,7 @@ function TitleBlock({
9370
9370
  ) })
9371
9371
  ] })
9372
9372
  ] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
9373
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.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 }) }),
9373
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.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 }) }),
9374
9374
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9375
9375
  ] }) : (
9376
9376
  /* This branch never had the single-line clamp, so text already
@@ -10780,9 +10780,9 @@ function lastPathSegment(url) {
10780
10780
  function makeComposeContentUrl(opts) {
10781
10781
  const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
10782
10782
  return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
10783
- const type = _chunkMIY5FYX3cjs.canonicalContentRefType.call(void 0, rawType);
10783
+ const type = _chunkNNFQLTJ3cjs.canonicalContentRefType.call(void 0, rawType);
10784
10784
  const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
10785
- if (override) return override(identifier);
10785
+ if (override) return { ...override(identifier), hostOverride: true };
10786
10786
  const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
10787
10787
  if (opts.hostedTypes.has(type)) {
10788
10788
  const recovered = externalUrl ? lastPathSegment(externalUrl) : null;
@@ -10967,7 +10967,7 @@ function extractSections(markdown, options = {}) {
10967
10967
  if (heading.level > opts.maxLevel) continue;
10968
10968
  let title = heading.text;
10969
10969
  if (opts.stripFormattingMarkers) {
10970
- title = _chunk75X6BRIDcjs.stripInlineMarkdown.call(void 0, title).trim();
10970
+ title = _chunkM7FNT5ACcjs.stripInlineMarkdown.call(void 0, title).trim();
10971
10971
  }
10972
10972
  const baseId = _chunk36NFJULVcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunk36NFJULVcjs.stripHeadingEmojis.call(void 0, title) : title);
10973
10973
  const cleanId = baseId || `section-${sections.length + 1}`;
@@ -11459,7 +11459,7 @@ function DashboardInfoCard({
11459
11459
  const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
11460
11460
  if (asTag) {
11461
11461
  const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
11462
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
11462
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
11463
11463
  }
11464
11464
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
11465
11465
  "(",
@@ -11513,7 +11513,7 @@ function DashboardInfoCard({
11513
11513
  /* @__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 }),
11514
11514
  subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
11515
11515
  renderPercentage(),
11516
- tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.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 }) }) })
11516
+ tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.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 }) }) })
11517
11517
  ] })
11518
11518
  ] }),
11519
11519
  renderProgress()
@@ -11696,7 +11696,7 @@ function DeviceCard({
11696
11696
  ] }),
11697
11697
  (statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
11698
11698
  statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11699
- _chunk75X6BRIDcjs.Tag,
11699
+ _chunkM7FNT5ACcjs.Tag,
11700
11700
  {
11701
11701
  variant: statusTag.variant,
11702
11702
  icon: statusTag.icon,
@@ -11710,7 +11710,7 @@ function DeviceCard({
11710
11710
  formatLastSeen(device.lastSeen)
11711
11711
  ] })
11712
11712
  ] }),
11713
- 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, _chunk75X6BRIDcjs.Tag, { variant: "outline", label: tag }, index)) })
11713
+ 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, _chunkM7FNT5ACcjs.Tag, { variant: "outline", label: tag }, index)) })
11714
11714
  ]
11715
11715
  }
11716
11716
  );
@@ -11771,7 +11771,7 @@ function FeatureCardGrid({
11771
11771
  if (allCardsHaveNoBorders) {
11772
11772
  finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
11773
11773
  }
11774
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
11774
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
11775
11775
  const startIndex = rowIndex * itemsPerRow;
11776
11776
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
11777
11777
  const isLastRow = rowIndex === rows - 1;
@@ -11801,7 +11801,7 @@ function FeatureCardGrid({
11801
11801
  item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
11802
11802
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
11803
11803
  item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11804
- _chunkMIY5FYX3cjs.StatusBadge,
11804
+ _chunkNNFQLTJ3cjs.StatusBadge,
11805
11805
  {
11806
11806
  text: item.badge.text,
11807
11807
  variant: item.badge.variant || "card",
@@ -11810,7 +11810,7 @@ function FeatureCardGrid({
11810
11810
  )
11811
11811
  ] }),
11812
11812
  !item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11813
- _chunkMIY5FYX3cjs.StatusBadge,
11813
+ _chunkNNFQLTJ3cjs.StatusBadge,
11814
11814
  {
11815
11815
  text: item.badge.text,
11816
11816
  variant: item.badge.variant || "card",
@@ -11858,7 +11858,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
11858
11858
 
11859
11859
  function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
11860
11860
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11861
- _chunk75X6BRIDcjs.FloatingTooltip,
11861
+ _chunkM7FNT5ACcjs.FloatingTooltip,
11862
11862
  {
11863
11863
  as: "span",
11864
11864
  side: "top",
@@ -12042,7 +12042,7 @@ function DropdownButton({
12042
12042
  )
12043
12043
  );
12044
12044
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12045
- _chunk75X6BRIDcjs.ActionsMenuDropdown,
12045
+ _chunkM7FNT5ACcjs.ActionsMenuDropdown,
12046
12046
  {
12047
12047
  groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
12048
12048
  open,
@@ -12280,7 +12280,7 @@ function ServiceCardRowItem({ row }) {
12280
12280
  ),
12281
12281
  children: [
12282
12282
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12283
- _chunk75X6BRIDcjs.FloatingTooltip,
12283
+ _chunkM7FNT5ACcjs.FloatingTooltip,
12284
12284
  {
12285
12285
  content: row.value,
12286
12286
  side: "top",
@@ -12406,9 +12406,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12406
12406
  return next;
12407
12407
  });
12408
12408
  };
12409
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Tooltip, { open, onOpenChange: setOpen, children: [
12409
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Tooltip, { open, onOpenChange: setOpen, children: [
12410
12410
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12411
- _chunk75X6BRIDcjs.TooltipTrigger,
12411
+ _chunkM7FNT5ACcjs.TooltipTrigger,
12412
12412
  {
12413
12413
  asChild: true,
12414
12414
  onPointerDown: (e) => {
@@ -12426,7 +12426,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12426
12426
  children
12427
12427
  }
12428
12428
  ),
12429
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12429
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12430
12430
  ] }) });
12431
12431
  }
12432
12432
 
@@ -13441,9 +13441,9 @@ function TruncatedHeaderCell({ value, width }) {
13441
13441
  setIsTruncated(el.scrollWidth > el.clientWidth);
13442
13442
  }
13443
13443
  }, []);
13444
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13445
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.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 }) }) }),
13446
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
13444
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13445
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.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 }) }) }),
13446
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
13447
13447
  ] }) });
13448
13448
  }
13449
13449
 
@@ -13496,9 +13496,9 @@ function TruncatedCell({ value, className }) {
13496
13496
  setIsTruncated(el.scrollWidth > el.clientWidth);
13497
13497
  }
13498
13498
  }, []);
13499
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13500
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.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 }) }),
13501
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
13499
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13500
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.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 }) }),
13501
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
13502
13502
  ] }) });
13503
13503
  }
13504
13504
 
@@ -14782,7 +14782,7 @@ function SearchInput({
14782
14782
  /* @__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, {}) }),
14783
14783
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
14784
14784
  visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14785
- _chunk75X6BRIDcjs.Tag,
14785
+ _chunkM7FNT5ACcjs.Tag,
14786
14786
  {
14787
14787
  variant: chipVariantToTagVariant(chip.variant),
14788
14788
  label: chip.label,
@@ -14896,7 +14896,7 @@ function SearchInput({
14896
14896
  }
14897
14897
  ),
14898
14898
  /* @__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,
14899
- _chunk75X6BRIDcjs.Tag,
14899
+ _chunkM7FNT5ACcjs.Tag,
14900
14900
  {
14901
14901
  variant: chipVariantToTagVariant(chip.variant),
14902
14902
  label: chip.label,
@@ -15109,7 +15109,7 @@ function TagSearchInput({
15109
15109
  /* @__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" }) }),
15110
15110
  /* @__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: [
15111
15111
  visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15112
- _chunk75X6BRIDcjs.Tag,
15112
+ _chunkM7FNT5ACcjs.Tag,
15113
15113
  {
15114
15114
  variant: "outline",
15115
15115
  label: renderTag ? renderTag(tag) : tag.label,
@@ -15197,7 +15197,7 @@ function TagSearchInput({
15197
15197
  "aria-hidden": "true",
15198
15198
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
15199
15199
  children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15200
- _chunk75X6BRIDcjs.Tag,
15200
+ _chunkM7FNT5ACcjs.Tag,
15201
15201
  {
15202
15202
  variant: "outline",
15203
15203
  label: renderTag ? renderTag(tag) : tag.label,
@@ -16083,20 +16083,20 @@ function ColorPresetSelect({
16083
16083
  ...presets.map((p) => ({
16084
16084
  id: p.key,
16085
16085
  label: p.label,
16086
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: p.color }),
16086
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ColorSwatch, { color: p.color }),
16087
16087
  onClick: () => onChange({ color: p.color, preset: p.key })
16088
16088
  })),
16089
16089
  {
16090
16090
  id: CUSTOM_PRESET_KEY,
16091
16091
  label: "Custom",
16092
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16092
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16093
16093
  onClick: () => onChange({ color: value, preset: void 0 })
16094
16094
  }
16095
16095
  ]
16096
16096
  }
16097
16097
  ];
16098
16098
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16099
- _chunk75X6BRIDcjs.ActionsMenuDropdown,
16099
+ _chunkM7FNT5ACcjs.ActionsMenuDropdown,
16100
16100
  {
16101
16101
  groups,
16102
16102
  align: "start",
@@ -16106,7 +16106,7 @@ function ColorPresetSelect({
16106
16106
  {
16107
16107
  disabled,
16108
16108
  "aria-label": `Color: ${displayLabel}`,
16109
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: displayColor }),
16109
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ColorSwatch, { color: displayColor }),
16110
16110
  selectedLabel: displayLabel,
16111
16111
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16112
16112
  className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
@@ -16127,7 +16127,7 @@ function HexInputs({ value, onChange }) {
16127
16127
  }
16128
16128
  const commit = () => {
16129
16129
  const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
16130
- if (_chunk75X6BRIDcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16130
+ if (_chunkM7FNT5ACcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16131
16131
  else setDraft(value);
16132
16132
  };
16133
16133
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16191,12 +16191,12 @@ function ChannelInput({
16191
16191
  );
16192
16192
  }
16193
16193
  function RgbInputs({ value, onChange }) {
16194
- const rgb = _nullishCoalesce(_chunk75X6BRIDcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16194
+ const rgb = _nullishCoalesce(_chunkM7FNT5ACcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16195
16195
  const update = (next) => {
16196
16196
  const r = _nullishCoalesce(next.r, () => ( rgb.r));
16197
16197
  const g = _nullishCoalesce(next.g, () => ( rgb.g));
16198
16198
  const b = _nullishCoalesce(next.b, () => ( rgb.b));
16199
- onChange(_chunk75X6BRIDcjs.rgbToHex.call(void 0, r, g, b));
16199
+ onChange(_chunkM7FNT5ACcjs.rgbToHex.call(void 0, r, g, b));
16200
16200
  };
16201
16201
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16202
16202
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
@@ -16205,14 +16205,14 @@ function RgbInputs({ value, onChange }) {
16205
16205
  ] });
16206
16206
  }
16207
16207
  function HslInputs({ value, onChange }) {
16208
- const rgb = _nullishCoalesce(_chunk75X6BRIDcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16209
- const hsl = _chunk75X6BRIDcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
16208
+ const rgb = _nullishCoalesce(_chunkM7FNT5ACcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16209
+ const hsl = _chunkM7FNT5ACcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
16210
16210
  const update = (next) => {
16211
16211
  const h = _nullishCoalesce(next.h, () => ( hsl.h));
16212
16212
  const s = _nullishCoalesce(next.s, () => ( hsl.s));
16213
16213
  const l = _nullishCoalesce(next.l, () => ( hsl.l));
16214
- const out = _chunk75X6BRIDcjs.hslToRgb.call(void 0, h, s, l);
16215
- onChange(_chunk75X6BRIDcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
16214
+ const out = _chunkM7FNT5ACcjs.hslToRgb.call(void 0, h, s, l);
16215
+ onChange(_chunkM7FNT5ACcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
16216
16216
  };
16217
16217
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16218
16218
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
@@ -16238,7 +16238,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16238
16238
  {
16239
16239
  disabled,
16240
16240
  "aria-label": "Pick custom color",
16241
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: value }),
16241
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ColorSwatch, { color: value }),
16242
16242
  selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
16243
16243
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16244
16244
  className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
@@ -16254,7 +16254,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16254
16254
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
16255
16255
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
16256
16256
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16257
- _chunk75X6BRIDcjs.ActionsMenuDropdown,
16257
+ _chunkM7FNT5ACcjs.ActionsMenuDropdown,
16258
16258
  {
16259
16259
  groups: formatGroups,
16260
16260
  align: "start",
@@ -16343,7 +16343,7 @@ function TicketStatusConfigRow({
16343
16343
  showColorPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorPresetSelect, { value: color, presetKey, onChange: onColorChange }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden md:block", colClass) }),
16344
16344
  showColorPicker && isCustomColor ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorPickerInput, { value: color, onChange: (next) => onColorChange({ color: next, preset: void 0 }) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden md:block", colClass) }),
16345
16345
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex h-11 items-center justify-start md:h-12 md:justify-end", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16346
- _chunk75X6BRIDcjs.TicketStatusTag,
16346
+ _chunkM7FNT5ACcjs.TicketStatusTag,
16347
16347
  {
16348
16348
  status: statusKey,
16349
16349
  label: name || " ",
@@ -16393,7 +16393,7 @@ function formatTestRunDuration(ms) {
16393
16393
  var RESULT_COLUMN_MIN_WIDTH = 176;
16394
16394
  var SKELETON_COLUMNS = 6;
16395
16395
  function TestResultsSkeleton() {
16396
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16396
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16397
16397
  /* @__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}`)) }),
16398
16398
  /* @__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}`)) }) })
16399
16399
  ] }) });
@@ -16428,7 +16428,7 @@ function TestResultsTable({ rows, loading }) {
16428
16428
  if (loading) {
16429
16429
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
16430
16430
  }
16431
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.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: [
16431
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.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: [
16432
16432
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
16433
16433
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
16434
16434
  ] }) }) });
@@ -16488,7 +16488,7 @@ var TEST_RUN_STATUS_TAGS = {
16488
16488
  function TestRunStatusStat({ status, className }) {
16489
16489
  const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
16490
16490
  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: [
16491
- tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.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: "-" }),
16491
+ tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.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: "-" }),
16492
16492
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
16493
16493
  ] });
16494
16494
  }
@@ -16531,7 +16531,7 @@ function useTestRunState(campaign) {
16531
16531
  const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
16532
16532
  const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
16533
16533
  const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
16534
- const startedLabel = showTiming && campaign.startedAt ? _chunk75X6BRIDcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
16534
+ const startedLabel = showTiming && campaign.startedAt ? _chunkM7FNT5ACcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
16535
16535
  const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
16536
16536
  const displayRows = _react.useMemo.call(void 0,
16537
16537
  () => campaign.results.map(
@@ -16570,7 +16570,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
16570
16570
  ),
16571
16571
  children: [
16572
16572
  attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16573
- _chunkMIY5FYX3cjs.SquareAvatar,
16573
+ _chunkNNFQLTJ3cjs.SquareAvatar,
16574
16574
  {
16575
16575
  src: attachment.thumbnailSrc,
16576
16576
  alt: attachment.fileName,
@@ -16663,7 +16663,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
16663
16663
  };
16664
16664
  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: [
16665
16665
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16666
- _chunkMIY5FYX3cjs.SquareAvatar,
16666
+ _chunkNNFQLTJ3cjs.SquareAvatar,
16667
16667
  {
16668
16668
  src: note.authorAvatar,
16669
16669
  alt: note.authorName,
@@ -16839,7 +16839,7 @@ function TicketInfoSection({
16839
16839
  /* @__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: [
16840
16840
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
16841
16841
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16842
- _chunkMIY5FYX3cjs.SquareAvatar,
16842
+ _chunkNNFQLTJ3cjs.SquareAvatar,
16843
16843
  {
16844
16844
  src: _optionalChain([organization, 'optionalAccess', _386 => _386.imageSrc]),
16845
16845
  alt: _optionalChain([organization, 'optionalAccess', _387 => _387.name]),
@@ -16869,7 +16869,7 @@ function TicketInfoSection({
16869
16869
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _390 => _390.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _391 => _391.icon]), onClick: _optionalChain([device, 'optionalAccess', _392 => _392.onClick]) }),
16870
16870
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
16871
16871
  (status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16872
- _chunk75X6BRIDcjs.TicketStatusTag,
16872
+ _chunkM7FNT5ACcjs.TicketStatusTag,
16873
16873
  {
16874
16874
  status: _nullishCoalesce(status, () => ( "")),
16875
16875
  label: statusLabel,
@@ -16908,9 +16908,9 @@ function TicketInfoSection({
16908
16908
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16909
16909
  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" }) }),
16910
16910
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
16911
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.SimpleMarkdownRenderer, { content: description }),
16911
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.SimpleMarkdownRenderer, { content: description }),
16912
16912
  attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
16913
- 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, _chunk75X6BRIDcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
16913
+ 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, _chunkM7FNT5ACcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
16914
16914
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16915
16915
  TicketNotesSection,
16916
16916
  {
@@ -16933,7 +16933,7 @@ function renderTicketStatusOption(option, isSelected) {
16933
16933
  const { label, color } = option;
16934
16934
  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: [
16935
16935
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
16936
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color }),
16936
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ColorSwatch, { color }),
16937
16937
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
16938
16938
  ] }),
16939
16939
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -16943,7 +16943,7 @@ function renderTicketAssigneeOption(option, isSelected) {
16943
16943
  const { label, imageUrl } = option;
16944
16944
  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: [
16945
16945
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
16946
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
16946
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
16947
16947
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
16948
16948
  ] }),
16949
16949
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -16978,9 +16978,9 @@ function TakeOverTicketModal({
16978
16978
  if (!selectedStatusId || !assigneeId || isPending) return;
16979
16979
  onConfirm({ statusId: selectedStatusId, assigneeId });
16980
16980
  };
16981
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Modal, { isOpen, onClose: isPending ? () => {
16981
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Modal, { isOpen, onClose: isPending ? () => {
16982
16982
  } : onClose, className: "text-left md:max-w-[600px]", children: [
16983
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalTitle, { children: "Take Over Ticket" }) }),
16983
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalTitle, { children: "Take Over Ticket" }) }),
16984
16984
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
16985
16985
  "The ticket ",
16986
16986
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -16995,7 +16995,7 @@ function TakeOverTicketModal({
16995
16995
  value: selectedStatusId,
16996
16996
  onChange: setStatusId,
16997
16997
  placeholder: "Select Status",
16998
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
16998
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
16999
16999
  renderOption: renderTicketStatusOption
17000
17000
  }
17001
17001
  ) }),
@@ -17009,7 +17009,7 @@ function TakeOverTicketModal({
17009
17009
  placeholder: "Select Technician",
17010
17010
  loading: assigneesLoading,
17011
17011
  startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17012
- _chunkMIY5FYX3cjs.SquareAvatar,
17012
+ _chunkNNFQLTJ3cjs.SquareAvatar,
17013
17013
  {
17014
17014
  src: selectedAssignee.imageUrl,
17015
17015
  alt: selectedAssignee.label,
@@ -17022,7 +17022,7 @@ function TakeOverTicketModal({
17022
17022
  }
17023
17023
  ) })
17024
17024
  ] }),
17025
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: [
17025
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.ModalFooter, { children: [
17026
17026
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17027
17027
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17028
17028
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17081,9 +17081,9 @@ function ReopenTicketModal({
17081
17081
  reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
17082
17082
  });
17083
17083
  };
17084
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Modal, { isOpen, onClose: isPending ? () => {
17084
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Modal, { isOpen, onClose: isPending ? () => {
17085
17085
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17086
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17086
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17087
17087
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
17088
17088
  "The ticket ",
17089
17089
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -17098,7 +17098,7 @@ function ReopenTicketModal({
17098
17098
  value: selectedStatusId,
17099
17099
  onChange: setStatusId,
17100
17100
  placeholder: "Select Status",
17101
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17101
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17102
17102
  renderOption: renderTicketStatusOption
17103
17103
  }
17104
17104
  ) }),
@@ -17112,7 +17112,7 @@ function ReopenTicketModal({
17112
17112
  placeholder: "Select Technician",
17113
17113
  loading: assigneesLoading,
17114
17114
  startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17115
- _chunkMIY5FYX3cjs.SquareAvatar,
17115
+ _chunkNNFQLTJ3cjs.SquareAvatar,
17116
17116
  {
17117
17117
  src: selectedAssignee.imageUrl,
17118
17118
  alt: selectedAssignee.label,
@@ -17136,7 +17136,7 @@ function ReopenTicketModal({
17136
17136
  disabled: isPending
17137
17137
  }
17138
17138
  ) }),
17139
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: [
17139
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.ModalFooter, { children: [
17140
17140
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17141
17141
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17142
17142
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17184,9 +17184,9 @@ function ReopenTicketRequestModal({
17184
17184
  ...showHandoffOption ? { handoffToTechnician: handoff } : {}
17185
17185
  });
17186
17186
  };
17187
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Modal, { isOpen, onClose: isPending ? () => {
17187
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Modal, { isOpen, onClose: isPending ? () => {
17188
17188
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17189
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17189
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17190
17190
  /* @__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." }),
17191
17191
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17192
17192
  Textarea,
@@ -17210,7 +17210,7 @@ function ReopenTicketRequestModal({
17210
17210
  disabled: isPending
17211
17211
  }
17212
17212
  ),
17213
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: [
17213
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.ModalFooter, { children: [
17214
17214
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
17215
17215
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
17216
17216
  ] })
@@ -18813,7 +18813,7 @@ function EntityTagBadges({ tags, basePath, max, className }) {
18813
18813
  const label = (tag.name || "").toUpperCase();
18814
18814
  if (basePath && tag.slug) {
18815
18815
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18816
- _chunkMIY5FYX3cjs.StatusBadge,
18816
+ _chunkNNFQLTJ3cjs.StatusBadge,
18817
18817
  {
18818
18818
  text: label,
18819
18819
  variant: "card",
@@ -18821,9 +18821,9 @@ function EntityTagBadges({ tags, basePath, max, className }) {
18821
18821
  }
18822
18822
  ) }, key);
18823
18823
  }
18824
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
18824
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
18825
18825
  }),
18826
- overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
18826
+ overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
18827
18827
  ] });
18828
18828
  }
18829
18829
 
@@ -18900,7 +18900,7 @@ var SectionButton = ({
18900
18900
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
18901
18901
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClasses, "whitespace-normal break-words text-h4"), children: section.title }),
18902
18902
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18903
- _chunkMIY5FYX3cjs.StatusBadge,
18903
+ _chunkNNFQLTJ3cjs.StatusBadge,
18904
18904
  {
18905
18905
  text: section.badge.text,
18906
18906
  variant: section.badge.variant || "button",
@@ -18919,7 +18919,7 @@ var SectionButton = ({
18919
18919
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
18920
18920
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
18921
18921
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18922
- _chunkMIY5FYX3cjs.StatusBadge,
18922
+ _chunkNNFQLTJ3cjs.StatusBadge,
18923
18923
  {
18924
18924
  text: section.badge.text,
18925
18925
  variant: section.badge.variant || "button",
@@ -19207,7 +19207,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
19207
19207
  sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
19208
19208
  title: config.title,
19209
19209
  loading: "eager",
19210
- ..._chunk75X6BRIDcjs.fetchPriorityProp.call(void 0, "high")
19210
+ ..._chunkM7FNT5ACcjs.fetchPriorityProp.call(void 0, "high")
19211
19211
  },
19212
19212
  iframeKey
19213
19213
  ),
@@ -20033,7 +20033,7 @@ function MediaGalleryManager({
20033
20033
  (mediaItem, index) => {
20034
20034
  const isDeleting = deletingIndex === index;
20035
20035
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20036
- _chunkMIY5FYX3cjs.Card,
20036
+ _chunkNNFQLTJ3cjs.Card,
20037
20037
  {
20038
20038
  className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
20039
20039
  draggable: true,
@@ -20057,7 +20057,7 @@ function MediaGalleryManager({
20057
20057
  /* @__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" ? (
20058
20058
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
20059
20059
  // fit="cover" crops to the aspect-video cell.
20060
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
20060
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
20061
20061
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20062
20062
  _chunkWLSFBRT5cjs.next_image_default,
20063
20063
  {
@@ -20614,9 +20614,9 @@ function PushButtonSelector({
20614
20614
  option.id
20615
20615
  );
20616
20616
  if (option.disabled && option.disabledReason) {
20617
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Tooltip, { children: [
20618
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipTrigger, { asChild: true, children: optionEl }),
20619
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
20617
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Tooltip, { children: [
20618
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipTrigger, { asChild: true, children: optionEl }),
20619
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
20620
20620
  ] }, option.id);
20621
20621
  }
20622
20622
  return optionEl;
@@ -20653,7 +20653,7 @@ function PushButtonSelector({
20653
20653
  ungroupedOptions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: ungroupedOptions.map(renderOption) })
20654
20654
  ] });
20655
20655
  };
20656
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
20656
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
20657
20657
  title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
20658
20658
  renderOptionsContent(),
20659
20659
  selectionSummary && validSelectedIds.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rounded-lg border border-ods-success bg-ods-success-secondary p-4", children: [
@@ -20816,7 +20816,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
20816
20816
  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" ? (
20817
20817
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
20818
20818
  // fit="cover" crops to the aspect-video cell.
20819
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
20819
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
20820
20820
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20821
20821
  _chunkWLSFBRT5cjs.next_image_default,
20822
20822
  {
@@ -20949,7 +20949,7 @@ var SelectButton = _react2.default.forwardRef(
20949
20949
  }
20950
20950
  )
20951
20951
  ] }),
20952
- tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
20952
+ tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
20953
20953
  selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
20954
20954
  ]
20955
20955
  }
@@ -21461,7 +21461,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
21461
21461
  className: _chunkPRPZBXWZcjs.cn.call(void 0, modeClassName, className),
21462
21462
  style: customStyle,
21463
21463
  leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63QUMV72cjs.OpenFrameLogo, { className: "h-5 w-5", lowerPathColor: iconLowerPath, upperPathColor: iconUpperPath }) : void 0,
21464
- rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
21464
+ rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
21465
21465
  children
21466
21466
  }
21467
21467
  );
@@ -21731,11 +21731,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
21731
21731
 
21732
21732
  function VideoBitesDisplay({
21733
21733
  bites,
21734
- title = _chunkMIY5FYX3cjs.DEFAULT_VIDEO_BITES_TITLE,
21734
+ title = _chunkNNFQLTJ3cjs.DEFAULT_VIDEO_BITES_TITLE,
21735
21735
  filterPublished = true,
21736
21736
  showTitle = true
21737
21737
  }) {
21738
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
21738
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
21739
21739
  }
21740
21740
 
21741
21741
  // src/components/features/walkthrough-video.tsx
@@ -21804,7 +21804,7 @@ function WalkthroughVideo({
21804
21804
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
21805
21805
  };
21806
21806
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
21807
- const hydrated = _chunk75X6BRIDcjs.useIsHydrated.call(void 0, );
21807
+ const hydrated = _chunkM7FNT5ACcjs.useIsHydrated.call(void 0, );
21808
21808
  const previewSuppressed = _react.useMemo.call(void 0, () => {
21809
21809
  if (!hydrated) return false;
21810
21810
  try {
@@ -22201,7 +22201,7 @@ function WalkthroughVideo({
22201
22201
  },
22202
22202
  children: [
22203
22203
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22204
- _chunk75X6BRIDcjs.VideoHoverPreviewSurface,
22204
+ _chunkM7FNT5ACcjs.VideoHoverPreviewSurface,
22205
22205
  {
22206
22206
  url: video.mainVideoUrl || "",
22207
22207
  posterUrl: video.posterUrl,
@@ -22224,7 +22224,7 @@ function WalkthroughVideo({
22224
22224
  `card-${embedUrlKey}`
22225
22225
  ) }),
22226
22226
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22227
- _chunk75X6BRIDcjs.CardHitLayer,
22227
+ _chunkM7FNT5ACcjs.CardHitLayer,
22228
22228
  {
22229
22229
  label: video.title ? `${label}: ${video.title}` : label,
22230
22230
  onPointerDown: pausePreviewNow,
@@ -22233,7 +22233,7 @@ function WalkthroughVideo({
22233
22233
  }
22234
22234
  ),
22235
22235
  /* @__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: [
22236
- presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
22236
+ 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, _chunkM7FNT5ACcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
22237
22237
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
22238
22238
  ] }),
22239
22239
  showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22246,7 +22246,7 @@ function WalkthroughVideo({
22246
22246
  onPointerDown: (e) => e.stopPropagation(),
22247
22247
  onClick: onUnmuteOrPlay,
22248
22248
  className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
22249
- children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.VideoUnmuteGlyph, {})
22249
+ children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.VideoUnmuteGlyph, {})
22250
22250
  }
22251
22251
  ),
22252
22252
  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: [
@@ -22339,7 +22339,7 @@ function WalkthroughVideo({
22339
22339
  children: [
22340
22340
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
22341
22341
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22342
- _chunk75X6BRIDcjs.Video,
22342
+ _chunkM7FNT5ACcjs.Video,
22343
22343
  {
22344
22344
  kind: video.youtubeUrl ? "youtube" : "file",
22345
22345
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -22390,7 +22390,7 @@ function InlineWalkthroughVideo(props) {
22390
22390
  var _reactquery = require('@tanstack/react-query');
22391
22391
  function useWalkthroughVideo(opts) {
22392
22392
  const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
22393
- const captions = _chunk75X6BRIDcjs.useCaptions.call(void 0, );
22393
+ const captions = _chunkM7FNT5ACcjs.useCaptions.call(void 0, );
22394
22394
  const query = _reactquery.useQuery.call(void 0, {
22395
22395
  queryKey: ["walkthrough-video", endpoint],
22396
22396
  enabled,
@@ -22588,7 +22588,7 @@ function VideoSourceSelector({
22588
22588
  }
22589
22589
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
22590
22590
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
22591
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Video, { kind: "file", url: videoUrl }) }),
22591
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Video, { kind: "file", url: videoUrl }) }),
22592
22592
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22593
22593
  "button",
22594
22594
  {
@@ -23112,7 +23112,7 @@ function HighlightVideoSection({
23112
23112
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
23113
23113
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
23114
23114
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
23115
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
23115
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
23116
23116
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23117
23117
  "button",
23118
23118
  {
@@ -23848,7 +23848,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
23848
23848
  ] });
23849
23849
  };
23850
23850
  var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
23851
- const { innerRef, containerStyle } = _chunk75X6BRIDcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
23851
+ const { innerRef, containerStyle } = _chunkM7FNT5ACcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
23852
23852
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
23853
23853
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
23854
23854
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -24016,7 +24016,7 @@ function WaitlistForm({
24016
24016
  const { toast } = _chunk2BFZHTSDcjs.useToast.call(void 0, );
24017
24017
  const { honeypotInputProps, getSignals, resetSignals } = _chunk2BFZHTSDcjs.useHumanitySignals.call(void 0, );
24018
24018
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
24019
- const isClient = _chunk75X6BRIDcjs.useIsHydrated.call(void 0, );
24019
+ const isClient = _chunkM7FNT5ACcjs.useIsHydrated.call(void 0, );
24020
24020
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
24021
24021
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
24022
24022
  const isMailDomainGeneric = hasGenericEmailDomain(email);
@@ -24820,7 +24820,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
24820
24820
  "data-state": open ? "open" : "closed",
24821
24821
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
24822
24822
  "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",
24823
- _chunk75X6BRIDcjs.OVERLAY_BACKDROP_CLASS,
24823
+ _chunkM7FNT5ACcjs.OVERLAY_BACKDROP_CLASS,
24824
24824
  // Persist mode only: hold the fade-out's final (transparent) frame
24825
24825
  // so the backdrop doesn't snap back to opacity 1 and dim the whole
24826
24826
  // content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
@@ -24896,11 +24896,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
24896
24896
  }
24897
24897
  );
24898
24898
  AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
24899
- var AppLayoutDrawerHeader = _chunk75X6BRIDcjs.DrawerHeader;
24900
- var AppLayoutDrawerTitle = _chunk75X6BRIDcjs.DrawerTitle;
24901
- var AppLayoutDrawerDescription = _chunk75X6BRIDcjs.DrawerDescription;
24902
- var AppLayoutDrawerBody = _chunk75X6BRIDcjs.DrawerBody;
24903
- var AppLayoutDrawerFooter = _chunk75X6BRIDcjs.DrawerFooter;
24899
+ var AppLayoutDrawerHeader = _chunkM7FNT5ACcjs.DrawerHeader;
24900
+ var AppLayoutDrawerTitle = _chunkM7FNT5ACcjs.DrawerTitle;
24901
+ var AppLayoutDrawerDescription = _chunkM7FNT5ACcjs.DrawerDescription;
24902
+ var AppLayoutDrawerBody = _chunkM7FNT5ACcjs.DrawerBody;
24903
+ var AppLayoutDrawerFooter = _chunkM7FNT5ACcjs.DrawerFooter;
24904
24904
 
24905
24905
  // src/components/features/notifications/notification-tile.tsx
24906
24906
 
@@ -24988,7 +24988,7 @@ function NotificationTile({
24988
24988
  }
24989
24989
  ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk2BFZHTSDcjs.dotColorByVariant[accentVariant]) }))) }),
24990
24990
  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" }),
24991
- !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunk75X6BRIDcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
24991
+ !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkM7FNT5ACcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
24992
24992
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
24993
24993
  {
24994
24994
  active: isLive,
@@ -25085,7 +25085,7 @@ function NotificationDrawer({
25085
25085
  const unreadNotifications = notifications.filter((n) => !n.read);
25086
25086
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
25087
25087
  /* @__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,
25088
- _chunk75X6BRIDcjs.DrawerTitle,
25088
+ _chunkM7FNT5ACcjs.DrawerTitle,
25089
25089
  {
25090
25090
  hideClose: true,
25091
25091
  className: "truncate",
@@ -25144,8 +25144,8 @@ function NotificationDrawer({
25144
25144
  }
25145
25145
  ) });
25146
25146
  }
25147
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25148
- _chunk75X6BRIDcjs.DrawerContent,
25147
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25148
+ _chunkM7FNT5ACcjs.DrawerContent,
25149
25149
  {
25150
25150
  side: "right",
25151
25151
  "aria-describedby": void 0,
@@ -25420,13 +25420,13 @@ function getApprovalMeta(notification) {
25420
25420
  function resolutionToStatus(resolution) {
25421
25421
  switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
25422
25422
  case "APPROVED":
25423
- return _chunk75X6BRIDcjs.APPROVAL_STATUS.APPROVED;
25423
+ return _chunkM7FNT5ACcjs.APPROVAL_STATUS.APPROVED;
25424
25424
  case "REJECTED":
25425
- return _chunk75X6BRIDcjs.APPROVAL_STATUS.REJECTED;
25425
+ return _chunkM7FNT5ACcjs.APPROVAL_STATUS.REJECTED;
25426
25426
  case "CANCELLED":
25427
- return _chunk75X6BRIDcjs.APPROVAL_STATUS.CANCELLED;
25427
+ return _chunkM7FNT5ACcjs.APPROVAL_STATUS.CANCELLED;
25428
25428
  default:
25429
- return _chunk75X6BRIDcjs.APPROVAL_STATUS.PENDING;
25429
+ return _chunkM7FNT5ACcjs.APPROVAL_STATUS.PENDING;
25430
25430
  }
25431
25431
  }
25432
25432
  function approvalMetaToBatchData(approval) {
@@ -25466,7 +25466,7 @@ function ApprovalRequestNotificationTile({
25466
25466
  const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _580 => _580.resolution]));
25467
25467
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
25468
25468
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
25469
- const { innerRef, containerStyle } = _chunk75X6BRIDcjs.useCollapsible.call(void 0, { expanded });
25469
+ const { innerRef, containerStyle } = _chunkM7FNT5ACcjs.useCollapsible.call(void 0, { expanded });
25470
25470
  if (!approval || !batchData) return null;
25471
25471
  const tileNotification = {
25472
25472
  ...notification,
@@ -25519,7 +25519,7 @@ function ApprovalRequestNotificationTile({
25519
25519
  }
25520
25520
  )
25521
25521
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
25522
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ApprovalStatusTag, { status }),
25522
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ApprovalStatusTag, { status }),
25523
25523
  approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
25524
25524
  "by ",
25525
25525
  approval.resolvedByName
@@ -25537,12 +25537,12 @@ function ApprovalRequestNotificationTile({
25537
25537
  "aria-expanded": expanded,
25538
25538
  "aria-label": toggleLabel,
25539
25539
  className: "ml-auto w-6 shrink-0 px-0 md:w-8",
25540
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ExpandChevron, { expanded })
25540
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.ExpandChevron, { expanded })
25541
25541
  }
25542
25542
  )
25543
25543
  ] }),
25544
25544
  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,
25545
- _chunk75X6BRIDcjs.ApprovalBatchMessage,
25545
+ _chunkM7FNT5ACcjs.ApprovalBatchMessage,
25546
25546
  {
25547
25547
  data: batchData,
25548
25548
  showExecutionStatus: false,
@@ -25610,7 +25610,7 @@ function renderCustomerOption(option, isSelected) {
25610
25610
  const { label, imageUrl } = option;
25611
25611
  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: [
25612
25612
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
25613
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
25613
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
25614
25614
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
25615
25615
  ] }),
25616
25616
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -25694,7 +25694,7 @@ function TimeTrackerPanel({
25694
25694
  }));
25695
25695
  const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
25696
25696
  const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25697
- _chunkMIY5FYX3cjs.SquareAvatar,
25697
+ _chunkNNFQLTJ3cjs.SquareAvatar,
25698
25698
  {
25699
25699
  src: selectedCustomer.imageUrl,
25700
25700
  alt: selectedCustomer.label,
@@ -25873,7 +25873,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
25873
25873
  function StatusTag({ status }) {
25874
25874
  if (status === "tracking") {
25875
25875
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25876
- _chunk75X6BRIDcjs.Tag,
25876
+ _chunkM7FNT5ACcjs.Tag,
25877
25877
  {
25878
25878
  variant: "success",
25879
25879
  className: STATUS_TAG_SKIN,
@@ -25883,9 +25883,9 @@ function StatusTag({ status }) {
25883
25883
  );
25884
25884
  }
25885
25885
  if (status === "paused") {
25886
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
25886
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
25887
25887
  }
25888
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
25888
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
25889
25889
  }
25890
25890
  function LastEntryRow({ entry, onClick }) {
25891
25891
  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: [
@@ -26054,7 +26054,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
26054
26054
  "data-state": isOpen ? "open" : "closed",
26055
26055
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
26056
26056
  layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
26057
- _chunk75X6BRIDcjs.OVERLAY_BACKDROP_CLASS,
26057
+ _chunkM7FNT5ACcjs.OVERLAY_BACKDROP_CLASS,
26058
26058
  "data-[state=open]:animate-in data-[state=open]:fade-in-0",
26059
26059
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
26060
26060
  )
@@ -26208,7 +26208,7 @@ function BoardColumnHeader({
26208
26208
  }) {
26209
26209
  const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
26210
26210
  const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
26211
- const useStatusVariant = _chunk75X6BRIDcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
26211
+ const useStatusVariant = _chunkM7FNT5ACcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
26212
26212
  if (collapsed) {
26213
26213
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
26214
26214
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -26223,7 +26223,7 @@ function BoardColumnHeader({
26223
26223
  }
26224
26224
  ),
26225
26225
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26226
- _chunk75X6BRIDcjs.TicketStatusTag,
26226
+ _chunkM7FNT5ACcjs.TicketStatusTag,
26227
26227
  {
26228
26228
  status: tagStatus,
26229
26229
  label: column.label,
@@ -26236,7 +26236,7 @@ function BoardColumnHeader({
26236
26236
  }
26237
26237
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
26238
26238
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
26239
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
26239
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
26240
26240
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
26241
26241
  ] }),
26242
26242
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -26387,7 +26387,7 @@ function holdMoveDragEffect(element) {
26387
26387
 
26388
26388
  function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
26389
26389
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
26390
- const { innerRef, containerStyle } = _chunk75X6BRIDcjs.useCollapsible.call(void 0, { expanded });
26390
+ const { innerRef, containerStyle } = _chunkM7FNT5ACcjs.useCollapsible.call(void 0, { expanded });
26391
26391
  const isAdmin = pendingApproval.approvalType === "ADMIN";
26392
26392
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
26393
26393
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -26416,7 +26416,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
26416
26416
  }
26417
26417
  ),
26418
26418
  /* @__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,
26419
- _chunk75X6BRIDcjs.ApprovalBatchMessage,
26419
+ _chunkM7FNT5ACcjs.ApprovalBatchMessage,
26420
26420
  {
26421
26421
  className: "mb-0",
26422
26422
  data: {
@@ -26488,7 +26488,7 @@ var ACTIVITY_DEFAULT_LABEL = {
26488
26488
  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";
26489
26489
  function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
26490
26490
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
26491
- const newMessageTextColor = columnColor ? _chunk75X6BRIDcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
26491
+ const newMessageTextColor = columnColor ? _chunkM7FNT5ACcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
26492
26492
  const showDeviceRow = !!(_optionalChain([ticket, 'access', _616 => _616.deviceHostnames, 'optionalAccess', _617 => _617.length]) || ticket.organizationName);
26493
26493
  const deviceText = [_optionalChain([ticket, 'access', _618 => _618.deviceHostnames, 'optionalAccess', _619 => _619.join, 'call', _620 => _620(", ")]), ticket.organizationName].filter(Boolean).join(", ");
26494
26494
  const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _621 => _621.assignees, 'optionalAccess', _622 => _622.length]) || renderAssignSlot);
@@ -26510,7 +26510,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
26510
26510
  },
26511
26511
  a.id
26512
26512
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26513
- _chunkMIY5FYX3cjs.SquareAvatar,
26513
+ _chunkNNFQLTJ3cjs.SquareAvatar,
26514
26514
  {
26515
26515
  src: a.avatarUrl,
26516
26516
  alt: _nullishCoalesce(_nullishCoalesce(a.name, () => ( a.initials)), () => ( a.id)),
@@ -26527,8 +26527,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
26527
26527
  ] })
26528
26528
  ] }) : null
26529
26529
  ] }) : null;
26530
- const timestampLabel = ticket.createdAt ? _chunk75X6BRIDcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
26531
- const tooltipLabel = ticket.createdAt ? _chunk75X6BRIDcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
26530
+ const timestampLabel = ticket.createdAt ? _chunkM7FNT5ACcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
26531
+ const tooltipLabel = ticket.createdAt ? _chunkM7FNT5ACcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
26532
26532
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
26533
26533
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
26534
26534
  /* @__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: [
@@ -26541,9 +26541,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
26541
26541
  rightSection
26542
26542
  ] }),
26543
26543
  _optionalChain([ticket, 'access', _625 => _625.tags, 'optionalAccess', _626 => _626.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
26544
- timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Tooltip, { children: [
26545
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
26546
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipContent, { children: tooltipLabel })
26544
+ timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM7FNT5ACcjs.Tooltip, { children: [
26545
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
26546
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.TooltipContent, { children: tooltipLabel })
26547
26547
  ] }) }),
26548
26548
  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: [
26549
26549
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
@@ -26563,7 +26563,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
26563
26563
  }
26564
26564
  ),
26565
26565
  showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26566
- _chunk75X6BRIDcjs.Tag,
26566
+ _chunkM7FNT5ACcjs.Tag,
26567
26567
  {
26568
26568
  label: "New Message",
26569
26569
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
@@ -26777,8 +26777,8 @@ function TicketTagRow({ tags }) {
26777
26777
  const visible = tags.slice(0, MAX_VISIBLE_TAGS);
26778
26778
  const hidden = tags.length - visible.length;
26779
26779
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
26780
- visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Tag, { variant: "outline", label: tag }, tag)),
26781
- hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Tag, { variant: "outline", label: `+${hidden}` })
26780
+ visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Tag, { variant: "outline", label: tag }, tag)),
26781
+ hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7FNT5ACcjs.Tag, { variant: "outline", label: `+${hidden}` })
26782
26782
  ] });
26783
26783
  }
26784
26784
 
@@ -28294,4 +28294,4 @@ function SortableRow({ id, children }) {
28294
28294
 
28295
28295
 
28296
28296
  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.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.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;
28297
- //# sourceMappingURL=chunk-KE2TCUOH.cjs.map
28297
+ //# sourceMappingURL=chunk-BLPGMX2L.cjs.map