@flamingo-stack/openframe-frontend-core 0.0.577 → 0.0.578-snapshot.20260831161155

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 (228) hide show
  1. package/dist/{chunk-XBSW7IF6.cjs → chunk-36TJYCF3.cjs} +27 -27
  2. package/dist/{chunk-XBSW7IF6.cjs.map → chunk-36TJYCF3.cjs.map} +1 -1
  3. package/dist/{chunk-ET3Q4FIZ.cjs → chunk-37XJYOAY.cjs} +17 -17
  4. package/dist/{chunk-ET3Q4FIZ.cjs.map → chunk-37XJYOAY.cjs.map} +1 -1
  5. package/dist/{chunk-4D2BR756.js → chunk-3AX3ZEY3.js} +53 -32
  6. package/dist/chunk-3AX3ZEY3.js.map +1 -0
  7. package/dist/{chunk-JQI726T3.js → chunk-3LMYQGAJ.js} +3 -2
  8. package/dist/chunk-3LMYQGAJ.js.map +1 -0
  9. package/dist/{chunk-XBBCUC32.cjs → chunk-4FJSN2XW.cjs} +15 -15
  10. package/dist/{chunk-XBBCUC32.cjs.map → chunk-4FJSN2XW.cjs.map} +1 -1
  11. package/dist/{chunk-RCLJSENK.cjs → chunk-4HGRXFQP.cjs} +6 -6
  12. package/dist/{chunk-RCLJSENK.cjs.map → chunk-4HGRXFQP.cjs.map} +1 -1
  13. package/dist/{chunk-NQCGDZJ3.cjs → chunk-4LZ7B5H5.cjs} +5 -5
  14. package/dist/{chunk-NQCGDZJ3.cjs.map → chunk-4LZ7B5H5.cjs.map} +1 -1
  15. package/dist/{chunk-IQFXDS5O.js → chunk-4WSKSNXL.js} +10 -10
  16. package/dist/{chunk-NEKT67O5.js → chunk-5Y6TPFW7.js} +6 -6
  17. package/dist/{chunk-XG2WNF4L.cjs → chunk-A6C5HOD7.cjs} +27 -27
  18. package/dist/{chunk-XG2WNF4L.cjs.map → chunk-A6C5HOD7.cjs.map} +1 -1
  19. package/dist/{chunk-AQ5MZVYN.js → chunk-AKPLEWMH.js} +3 -3
  20. package/dist/{chunk-HSOMYCUG.cjs → chunk-BCJQ7CJE.cjs} +13 -13
  21. package/dist/{chunk-HSOMYCUG.cjs.map → chunk-BCJQ7CJE.cjs.map} +1 -1
  22. package/dist/{chunk-RUJKOU5F.js → chunk-BW4WDUSI.js} +3 -3
  23. package/dist/{chunk-NP3XN6ZX.js → chunk-CP5EYMNL.js} +278 -162
  24. package/dist/chunk-CP5EYMNL.js.map +1 -0
  25. package/dist/{chunk-FCVAVOXS.js → chunk-D44S2QLI.js} +3 -3
  26. package/dist/{chunk-U3SDSA5K.js → chunk-DB3TV4CW.js} +7 -7
  27. package/dist/{chunk-KE2TCUOH.cjs → chunk-FEVLXRTC.cjs} +537 -421
  28. package/dist/chunk-FEVLXRTC.cjs.map +1 -0
  29. package/dist/{chunk-ZBJ6XSDO.js → chunk-H4BPHGU5.js} +4 -4
  30. package/dist/{chunk-6FJABKPX.cjs → chunk-H54EPP3P.cjs} +9 -9
  31. package/dist/{chunk-6FJABKPX.cjs.map → chunk-H54EPP3P.cjs.map} +1 -1
  32. package/dist/{chunk-4KR7JWKB.js → chunk-HGA74X35.js} +5 -5
  33. package/dist/{chunk-5DPCIIJ7.cjs → chunk-HHJVIHVR.cjs} +92 -92
  34. package/dist/{chunk-5DPCIIJ7.cjs.map → chunk-HHJVIHVR.cjs.map} +1 -1
  35. package/dist/{chunk-WOHHZZJK.cjs → chunk-IFYQ7DHV.cjs} +62 -62
  36. package/dist/{chunk-WOHHZZJK.cjs.map → chunk-IFYQ7DHV.cjs.map} +1 -1
  37. package/dist/{chunk-QYQXAXVR.cjs → chunk-IKDC3R7V.cjs} +4 -3
  38. package/dist/chunk-IKDC3R7V.cjs.map +1 -0
  39. package/dist/{chunk-W6JA6SFD.js → chunk-JRYS4VMV.js} +45 -45
  40. package/dist/chunk-JRYS4VMV.js.map +1 -0
  41. package/dist/{chunk-2YCUEUIZ.js → chunk-L2CF2QZW.js} +8 -8
  42. package/dist/{chunk-2BFZHTSD.cjs → chunk-LEISUAHF.cjs} +18 -8
  43. package/dist/chunk-LEISUAHF.cjs.map +1 -0
  44. package/dist/{chunk-GDWBJFMG.cjs → chunk-M5GWCMYE.cjs} +42 -42
  45. package/dist/{chunk-GDWBJFMG.cjs.map → chunk-M5GWCMYE.cjs.map} +1 -1
  46. package/dist/{chunk-JCH6HGQD.js → chunk-MCWAZ5XI.js} +2 -2
  47. package/dist/{chunk-PQETCTJ4.js → chunk-MXOSTJAG.js} +4 -3
  48. package/dist/chunk-MXOSTJAG.js.map +1 -0
  49. package/dist/{chunk-MIY5FYX3.cjs → chunk-NNFQLTJ3.cjs} +4 -3
  50. package/dist/chunk-NNFQLTJ3.cjs.map +1 -0
  51. package/dist/{chunk-CFTZAZ7R.cjs → chunk-NPVDKOGD.cjs} +28 -28
  52. package/dist/{chunk-CFTZAZ7R.cjs.map → chunk-NPVDKOGD.cjs.map} +1 -1
  53. package/dist/{chunk-LYOGSVFO.js → chunk-O2FTVZOD.js} +5 -5
  54. package/dist/{chunk-CIUYHBAY.cjs → chunk-OGZAFM6M.cjs} +5 -5
  55. package/dist/{chunk-CIUYHBAY.cjs.map → chunk-OGZAFM6M.cjs.map} +1 -1
  56. package/dist/{chunk-THDGDYJ3.js → chunk-PMENIZXI.js} +7 -7
  57. package/dist/{chunk-TU32TSAK.js → chunk-PWOYEUIQ.js} +7 -7
  58. package/dist/{chunk-RSMUAAPW.js → chunk-QCP2KV7P.js} +5 -5
  59. package/dist/{chunk-RNUH5IHZ.js → chunk-QGJYWLF4.js} +3 -3
  60. package/dist/{chunk-75X6BRID.cjs → chunk-RKGOVTXZ.cjs} +500 -479
  61. package/dist/chunk-RKGOVTXZ.cjs.map +1 -0
  62. package/dist/{chunk-HM2R5MDR.js → chunk-T5HDPHN6.js} +13 -3
  63. package/dist/chunk-T5HDPHN6.js.map +1 -0
  64. package/dist/{chunk-GPWU3PPR.cjs → chunk-VEHZNQ77.cjs} +30 -30
  65. package/dist/{chunk-GPWU3PPR.cjs.map → chunk-VEHZNQ77.cjs.map} +1 -1
  66. package/dist/{chunk-APFGR2KK.cjs → chunk-YW4WBNYV.cjs} +41 -41
  67. package/dist/{chunk-APFGR2KK.cjs.map → chunk-YW4WBNYV.cjs.map} +1 -1
  68. package/dist/{chunk-36NFJULV.cjs → chunk-ZI27ALYX.cjs} +41 -41
  69. package/dist/chunk-ZI27ALYX.cjs.map +1 -0
  70. package/dist/components/case-studies/index.cjs +13 -13
  71. package/dist/components/case-studies/index.js +7 -7
  72. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  73. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  74. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  75. package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -1
  76. package/dist/components/chat/index.cjs +4 -4
  77. package/dist/components/chat/index.js +3 -3
  78. package/dist/components/chat/nav-link-anchor-via-runtime.d.ts.map +1 -1
  79. package/dist/components/chat/types/unified-chat-state.types.d.ts +9 -2
  80. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  81. package/dist/components/chat/utils/chat-nav-resolution.d.ts +9 -3
  82. package/dist/components/chat/utils/chat-nav-resolution.d.ts.map +1 -1
  83. package/dist/components/chat/utils/execute-navigation.d.ts +11 -0
  84. package/dist/components/chat/utils/execute-navigation.d.ts.map +1 -1
  85. package/dist/components/chat/utils/index.d.ts +1 -1
  86. package/dist/components/chat/utils/index.d.ts.map +1 -1
  87. package/dist/components/chat/utils/nav-anchor-props.d.ts +4 -0
  88. package/dist/components/chat/utils/nav-anchor-props.d.ts.map +1 -1
  89. package/dist/components/chat/utils/resolve-fetched-card-href.d.ts +42 -3
  90. package/dist/components/chat/utils/resolve-fetched-card-href.d.ts.map +1 -1
  91. package/dist/components/contact/index.cjs +8 -8
  92. package/dist/components/contact/index.js +7 -7
  93. package/dist/components/docs/index.cjs +11 -11
  94. package/dist/components/docs/index.js +10 -10
  95. package/dist/components/embeds/index.cjs +8 -8
  96. package/dist/components/embeds/index.js +7 -7
  97. package/dist/components/faq/index.cjs +8 -8
  98. package/dist/components/faq/index.js +7 -7
  99. package/dist/components/features/board/board.d.ts.map +1 -1
  100. package/dist/components/features/index.cjs +9 -7
  101. package/dist/components/features/index.cjs.map +1 -1
  102. package/dist/components/features/index.js +8 -6
  103. package/dist/components/features/sortable-list/index.d.ts +2 -1
  104. package/dist/components/features/sortable-list/index.d.ts.map +1 -1
  105. package/dist/components/features/sortable-list/sortable-list.d.ts +8 -1
  106. package/dist/components/features/sortable-list/sortable-list.d.ts.map +1 -1
  107. package/dist/components/features/sortable-list/sortable-move-buttons.d.ts +24 -0
  108. package/dist/components/features/sortable-list/sortable-move-buttons.d.ts.map +1 -0
  109. package/dist/components/features/sortable-list/use-sortable-item.d.ts +12 -4
  110. package/dist/components/features/sortable-list/use-sortable-item.d.ts.map +1 -1
  111. package/dist/components/features/ticket-status-config-list/ticket-status-config-list.d.ts +21 -5
  112. package/dist/components/features/ticket-status-config-list/ticket-status-config-list.d.ts.map +1 -1
  113. package/dist/components/help-center-pages/index.cjs +27 -27
  114. package/dist/components/help-center-pages/index.js +18 -18
  115. package/dist/components/index.cjs +146 -144
  116. package/dist/components/index.cjs.map +1 -1
  117. package/dist/components/index.js +20 -18
  118. package/dist/components/index.js.map +1 -1
  119. package/dist/components/meeting-scheduler/index.cjs +47 -47
  120. package/dist/components/meeting-scheduler/index.js +6 -6
  121. package/dist/components/navigation/index.cjs +10 -10
  122. package/dist/components/navigation/index.js +9 -9
  123. package/dist/components/onboarding-guides/index.cjs +10 -10
  124. package/dist/components/onboarding-guides/index.js +9 -9
  125. package/dist/components/related-content/index.cjs +3 -3
  126. package/dist/components/related-content/index.js +2 -2
  127. package/dist/components/tickets/index.cjs +11 -11
  128. package/dist/components/tickets/index.js +10 -10
  129. package/dist/components/ui/file-manager/index.cjs +4 -4
  130. package/dist/components/ui/file-manager/index.js +1 -1
  131. package/dist/components/ui/index.cjs +7 -7
  132. package/dist/components/ui/index.js +6 -6
  133. package/dist/components/ui/input.d.ts +2 -0
  134. package/dist/components/ui/input.d.ts.map +1 -1
  135. package/dist/components/ui/textarea.d.ts +2 -0
  136. package/dist/components/ui/textarea.d.ts.map +1 -1
  137. package/dist/components/ui/ticket-status-config-row.d.ts +10 -4
  138. package/dist/components/ui/ticket-status-config-row.d.ts.map +1 -1
  139. package/dist/hooks/index.cjs +7 -3
  140. package/dist/hooks/index.cjs.map +1 -1
  141. package/dist/hooks/index.js +6 -2
  142. package/dist/hooks/ui/index.d.ts +1 -0
  143. package/dist/hooks/ui/index.d.ts.map +1 -1
  144. package/dist/hooks/ui/use-drag-and-drop-enabled.d.ts +31 -0
  145. package/dist/hooks/ui/use-drag-and-drop-enabled.d.ts.map +1 -0
  146. package/dist/hooks/ui/use-media-query.d.ts.map +1 -1
  147. package/dist/index.cjs +18 -12
  148. package/dist/index.cjs.map +1 -1
  149. package/dist/index.js +16 -10
  150. package/dist/index.js.map +1 -1
  151. package/dist/schemas/meeting-booking-schema.d.ts +2 -2
  152. package/dist/utils/content-href.d.ts +26 -5
  153. package/dist/utils/content-href.d.ts.map +1 -1
  154. package/dist/utils/index.cjs +1 -1
  155. package/dist/utils/index.cjs.map +1 -1
  156. package/dist/utils/index.d.ts +1 -1
  157. package/dist/utils/index.d.ts.map +1 -1
  158. package/dist/utils/index.js +1 -1
  159. package/dist/utils/index.js.map +1 -1
  160. package/package.json +1 -4
  161. package/src/components/chat/embeddable-chat.tsx +9 -2
  162. package/src/components/chat/entity-cards/.dispatch.md +1 -1
  163. package/src/components/chat/entity-cards/dispatch.tsx +43 -23
  164. package/src/components/chat/hooks/.use-unified-chat.md +5 -1
  165. package/src/components/chat/hooks/use-nats-chat-adapter.ts +4 -7
  166. package/src/components/chat/hooks/use-unified-chat.ts +8 -2
  167. package/src/components/chat/nav-link-anchor-via-runtime.tsx +8 -10
  168. package/src/components/chat/types/.unified-chat-state.types.md +2 -1
  169. package/src/components/chat/types/unified-chat-state.types.ts +9 -2
  170. package/src/components/chat/utils/__tests__/execute-navigation.test.ts +190 -0
  171. package/src/components/chat/utils/__tests__/resolve-fetched-card-href.test.ts +75 -2
  172. package/src/components/chat/utils/chat-nav-resolution.ts +9 -3
  173. package/src/components/chat/utils/execute-navigation.ts +32 -2
  174. package/src/components/chat/utils/index.ts +1 -1
  175. package/src/components/chat/utils/nav-anchor-props.ts +4 -2
  176. package/src/components/chat/utils/resolve-fetched-card-href.ts +50 -2
  177. package/src/components/features/board/.board.md +1 -0
  178. package/src/components/features/board/board.tsx +11 -1
  179. package/src/components/features/sortable-list/.sortable-list.md +23 -12
  180. package/src/components/features/sortable-list/index.ts +2 -1
  181. package/src/components/features/sortable-list/sortable-list.tsx +16 -5
  182. package/src/components/features/sortable-list/sortable-move-buttons.tsx +81 -0
  183. package/src/components/features/sortable-list/use-sortable-item.ts +25 -13
  184. package/src/components/features/ticket-status-config-list/ticket-status-config-list.tsx +55 -62
  185. package/src/components/ui/.ticket-status-config-row.md +11 -9
  186. package/src/components/ui/input.tsx +5 -2
  187. package/src/components/ui/textarea.tsx +5 -2
  188. package/src/components/ui/ticket-status-config-row.tsx +162 -70
  189. package/src/hooks/ui/.index.md +1 -0
  190. package/src/hooks/ui/.use-drag-and-drop-enabled.md +32 -0
  191. package/src/hooks/ui/index.ts +1 -0
  192. package/src/hooks/ui/use-drag-and-drop-enabled.ts +37 -0
  193. package/src/hooks/ui/use-media-query.ts +3 -2
  194. package/src/utils/.content-href.md +1 -1
  195. package/src/utils/__tests__/content-href.test.ts +3 -0
  196. package/src/utils/content-href.ts +30 -3
  197. package/src/utils/index.ts +1 -0
  198. package/dist/chunk-2BFZHTSD.cjs.map +0 -1
  199. package/dist/chunk-36NFJULV.cjs.map +0 -1
  200. package/dist/chunk-4D2BR756.js.map +0 -1
  201. package/dist/chunk-75X6BRID.cjs.map +0 -1
  202. package/dist/chunk-HM2R5MDR.js.map +0 -1
  203. package/dist/chunk-JQI726T3.js.map +0 -1
  204. package/dist/chunk-KE2TCUOH.cjs.map +0 -1
  205. package/dist/chunk-MIY5FYX3.cjs.map +0 -1
  206. package/dist/chunk-NP3XN6ZX.js.map +0 -1
  207. package/dist/chunk-PQETCTJ4.js.map +0 -1
  208. package/dist/chunk-QYQXAXVR.cjs.map +0 -1
  209. package/dist/chunk-W6JA6SFD.js.map +0 -1
  210. package/dist/components/chat/utils/nav-click-handler.d.ts +0 -24
  211. package/dist/components/chat/utils/nav-click-handler.d.ts.map +0 -1
  212. package/src/components/chat/utils/.nav-click-handler.md +0 -43
  213. package/src/components/chat/utils/nav-click-handler.ts +0 -34
  214. /package/dist/{chunk-IQFXDS5O.js.map → chunk-4WSKSNXL.js.map} +0 -0
  215. /package/dist/{chunk-NEKT67O5.js.map → chunk-5Y6TPFW7.js.map} +0 -0
  216. /package/dist/{chunk-AQ5MZVYN.js.map → chunk-AKPLEWMH.js.map} +0 -0
  217. /package/dist/{chunk-RUJKOU5F.js.map → chunk-BW4WDUSI.js.map} +0 -0
  218. /package/dist/{chunk-FCVAVOXS.js.map → chunk-D44S2QLI.js.map} +0 -0
  219. /package/dist/{chunk-U3SDSA5K.js.map → chunk-DB3TV4CW.js.map} +0 -0
  220. /package/dist/{chunk-ZBJ6XSDO.js.map → chunk-H4BPHGU5.js.map} +0 -0
  221. /package/dist/{chunk-4KR7JWKB.js.map → chunk-HGA74X35.js.map} +0 -0
  222. /package/dist/{chunk-2YCUEUIZ.js.map → chunk-L2CF2QZW.js.map} +0 -0
  223. /package/dist/{chunk-JCH6HGQD.js.map → chunk-MCWAZ5XI.js.map} +0 -0
  224. /package/dist/{chunk-LYOGSVFO.js.map → chunk-O2FTVZOD.js.map} +0 -0
  225. /package/dist/{chunk-THDGDYJ3.js.map → chunk-PMENIZXI.js.map} +0 -0
  226. /package/dist/{chunk-TU32TSAK.js.map → chunk-PWOYEUIQ.js.map} +0 -0
  227. /package/dist/{chunk-RSMUAAPW.js.map → chunk-QCP2KV7P.js.map} +0 -0
  228. /package/dist/{chunk-RNUH5IHZ.js.map → chunk-QGJYWLF4.js.map} +0 -0
@@ -20,7 +20,8 @@ var _chunkTON3YCCWcjs = require('./chunk-TON3YCCW.cjs');
20
20
 
21
21
 
22
22
 
23
- var _chunk2BFZHTSDcjs = require('./chunk-2BFZHTSD.cjs');
23
+
24
+ var _chunkLEISUAHFcjs = require('./chunk-LEISUAHF.cjs');
24
25
 
25
26
 
26
27
  var _chunk72OIVRPGcjs = require('./chunk-72OIVRPG.cjs');
@@ -28,7 +29,7 @@ var _chunk72OIVRPGcjs = require('./chunk-72OIVRPG.cjs');
28
29
 
29
30
 
30
31
 
31
- var _chunkQYQXAXVRcjs = require('./chunk-QYQXAXVR.cjs');
32
+ var _chunkIKDC3R7Vcjs = require('./chunk-IKDC3R7V.cjs');
32
33
 
33
34
 
34
35
 
@@ -88,7 +89,7 @@ var _chunkQYQXAXVRcjs = require('./chunk-QYQXAXVR.cjs');
88
89
 
89
90
 
90
91
 
91
- var _chunk75X6BRIDcjs = require('./chunk-75X6BRID.cjs');
92
+ var _chunkRKGOVTXZcjs = require('./chunk-RKGOVTXZ.cjs');
92
93
 
93
94
 
94
95
 
@@ -101,7 +102,7 @@ var _chunk75X6BRIDcjs = require('./chunk-75X6BRID.cjs');
101
102
 
102
103
 
103
104
 
104
- var _chunk36NFJULVcjs = require('./chunk-36NFJULV.cjs');
105
+ var _chunkZI27ALYXcjs = require('./chunk-ZI27ALYX.cjs');
105
106
 
106
107
 
107
108
 
@@ -213,7 +214,7 @@ var _chunkXQFFGR6Ucjs = require('./chunk-XQFFGR6U.cjs');
213
214
 
214
215
 
215
216
 
216
- var _chunkMIY5FYX3cjs = require('./chunk-MIY5FYX3.cjs');
217
+ var _chunkNNFQLTJ3cjs = require('./chunk-NNFQLTJ3.cjs');
217
218
 
218
219
 
219
220
  var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
@@ -328,7 +329,7 @@ function ThemeProvider({ children, ...overrides }) {
328
329
  var useTheme = _nextthemes.useTheme;
329
330
  function useThemeToggle() {
330
331
  const { resolvedTheme, theme, setTheme } = useTheme();
331
- const mounted = _chunk75X6BRIDcjs.useIsHydrated.call(void 0, );
332
+ const mounted = _chunkRKGOVTXZcjs.useIsHydrated.call(void 0, );
332
333
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
333
334
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
334
335
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -400,7 +401,7 @@ var AllowedDomainsInput = _react.forwardRef.call(void 0,
400
401
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunkPRPZBXWZcjs.cn.call(void 0, "space-y-3", className), children: [
401
402
  label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3QDJLLD2cjs.Label, { children: label }),
402
403
  value.map((domain, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
403
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.Input, { value: domain, disabled: true, className: "flex-1 rounded-[6px] border-ods-border bg-ods-card" }),
404
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.Input, { value: domain, disabled: true, className: "flex-1 rounded-[6px] border-ods-border bg-ods-card" }),
404
405
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
405
406
  _chunkYHNIPSG6cjs.Button,
406
407
  {
@@ -415,7 +416,7 @@ var AllowedDomainsInput = _react.forwardRef.call(void 0,
415
416
  )
416
417
  ] }, index)),
417
418
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
418
- _chunkQYQXAXVRcjs.Input,
419
+ _chunkIKDC3R7Vcjs.Input,
419
420
  {
420
421
  ref: inputRef,
421
422
  value: inputValue,
@@ -602,10 +603,10 @@ function TruncateText({
602
603
  as = "div"
603
604
  }) {
604
605
  const isMultiLine = lines > 1;
605
- const { ref, isTruncated } = _chunk36NFJULVcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
606
+ const { ref, isTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
606
607
  const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
607
608
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
608
- _chunk75X6BRIDcjs.FloatingTooltip,
609
+ _chunkRKGOVTXZcjs.FloatingTooltip,
609
610
  {
610
611
  content: _nullishCoalesce(tooltip, () => ( children)),
611
612
  side,
@@ -690,7 +691,7 @@ function AutocompleteInner(props, ref) {
690
691
  };
691
692
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
692
693
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
693
- const keyboardPadding = _chunk2BFZHTSDcjs.useKeyboardCollisionPadding.call(void 0, );
694
+ const keyboardPadding = _chunkLEISUAHFcjs.useKeyboardCollisionPadding.call(void 0, );
694
695
  const containerRef = _react.useRef.call(void 0, null);
695
696
  const hiddenTagsPopupRef = _react.useRef.call(void 0, null);
696
697
  const isInvalid = invalid || !!error;
@@ -707,7 +708,7 @@ function AutocompleteInner(props, ref) {
707
708
  textMeasureRef,
708
709
  badgeRef,
709
710
  inputRef
710
- } = _chunk2BFZHTSDcjs.useAutoLimitTags.call(void 0, {
711
+ } = _chunkLEISUAHFcjs.useAutoLimitTags.call(void 0, {
711
712
  count: multiple ? selectedOptions.length : 0,
712
713
  limitTags: multiple ? limitTagsProp : 0,
713
714
  placeholder: inputPlaceholder
@@ -907,7 +908,7 @@ function AutocompleteInner(props, ref) {
907
908
  ),
908
909
  /* @__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
910
  multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
910
- _chunk75X6BRIDcjs.Tag,
911
+ _chunkRKGOVTXZcjs.Tag,
911
912
  {
912
913
  variant: "outline",
913
914
  labelClassName: "max-w-[90px] truncate",
@@ -1080,7 +1081,7 @@ function AutocompleteInner(props, ref) {
1080
1081
  }
1081
1082
  )
1082
1083
  ] });
1083
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label, labelVariant, error, className, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", ref: containerRef, children: [
1084
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label, labelVariant, error, className, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", ref: containerRef, children: [
1084
1085
  popover,
1085
1086
  multiple && showHiddenTags && hiddenTagsCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1086
1087
  HiddenTagsPopup,
@@ -1113,7 +1114,7 @@ function AutocompleteInner(props, ref) {
1113
1114
  "aria-hidden": "true",
1114
1115
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
1115
1116
  children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1116
- _chunk75X6BRIDcjs.Tag,
1117
+ _chunkRKGOVTXZcjs.Tag,
1117
1118
  {
1118
1119
  variant: "outline",
1119
1120
  labelClassName: "max-w-[90px] truncate",
@@ -1345,7 +1346,7 @@ var SelectTrigger = _react.forwardRef.call(void 0, ({ className, children, inval
1345
1346
  ]
1346
1347
  }
1347
1348
  );
1348
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label, labelVariant, error, children: trigger });
1349
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label, labelVariant, error, children: trigger });
1349
1350
  });
1350
1351
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
1351
1352
  var SelectScrollUpButton = _react.forwardRef.call(void 0, ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -1463,7 +1464,7 @@ function DatePickerCalendar({
1463
1464
  onMonthChange
1464
1465
  }) {
1465
1466
  const today = /* @__PURE__ */ new Date();
1466
- const isMdUp = _nullishCoalesce(_chunk36NFJULVcjs.useMdUp.call(void 0, ), () => ( true));
1467
+ const isMdUp = _nullishCoalesce(_chunkZI27ALYXcjs.useMdUp.call(void 0, ), () => ( true));
1467
1468
  const monthsToShow = isMdUp ? numberOfMonths : 1;
1468
1469
  const [draftRange, setDraftRange] = _react.useState.call(void 0,
1469
1470
  mode === "range" ? selected : void 0
@@ -1921,7 +1922,7 @@ function DatePicker(props) {
1921
1922
  }
1922
1923
  ) })
1923
1924
  ] });
1924
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label, error, children: picker });
1925
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label, error, children: picker });
1925
1926
  }
1926
1927
  var generateHourOptions = (use24Hour) => {
1927
1928
  if (use24Hour) {
@@ -2087,7 +2088,7 @@ function DatePickerInput({
2087
2088
  ] })
2088
2089
  ] })
2089
2090
  ] });
2090
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label, error, className, children: content });
2091
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label, error, className, children: content });
2091
2092
  }
2092
2093
  var generateTimeOptions = (intervalMinutes, use24Hour) => {
2093
2094
  const options = [];
@@ -2228,7 +2229,7 @@ function DatePickerInputSimple({
2228
2229
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: timeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: option.value, children: option.label }, option.value)) })
2229
2230
  ] })
2230
2231
  ] });
2231
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label, error, className, children: content });
2232
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label, error, className, children: content });
2232
2233
  }
2233
2234
  function DateFilterPanel({
2234
2235
  mode = "range",
@@ -2497,7 +2498,7 @@ function InfoHint({ children, label, side = "top", className }) {
2497
2498
  const describedById = _react.useId.call(void 0, );
2498
2499
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
2499
2500
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2500
- _chunk75X6BRIDcjs.FloatingTooltip,
2501
+ _chunkRKGOVTXZcjs.FloatingTooltip,
2501
2502
  {
2502
2503
  content: children,
2503
2504
  side,
@@ -2591,7 +2592,7 @@ function Value2({ value, depth }) {
2591
2592
  }
2592
2593
  if (typeof value === "string") {
2593
2594
  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) });
2595
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkRKGOVTXZcjs.formatRelativeTime.call(void 0, value) });
2595
2596
  }
2596
2597
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
2597
2598
  }
@@ -2657,7 +2658,7 @@ var ProgressBar = ({
2657
2658
  mobileHeight = 8,
2658
2659
  inverted = false
2659
2660
  }) => {
2660
- const isMdUp = _nullishCoalesce(_chunk36NFJULVcjs.useMdUp.call(void 0, ), () => ( true));
2661
+ const isMdUp = _nullishCoalesce(_chunkZI27ALYXcjs.useMdUp.call(void 0, ), () => ( true));
2661
2662
  const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
2662
2663
  const effectiveHeight = isMdUp ? height : mobileHeight;
2663
2664
  const containerRef = _react.useRef.call(void 0, null);
@@ -2773,7 +2774,7 @@ function InfoCardFooter({ footer }) {
2773
2774
  ] });
2774
2775
  }
2775
2776
  function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
2776
- const { copy, copied } = _chunk2BFZHTSDcjs.useCopyToClipboard.call(void 0, );
2777
+ const { copy, copied } = _chunkLEISUAHFcjs.useCopyToClipboard.call(void 0, );
2777
2778
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 w-full items-center gap-[var(--spacing-system-xs)] self-stretch", children: [
2778
2779
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-primary text-h4", children: showLabel ? label : "" }),
2779
2780
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px flex-1 bg-ods-divider" }),
@@ -2863,7 +2864,7 @@ function SearchableSelect({
2863
2864
  }) {
2864
2865
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
2865
2866
  const [search, setSearch] = _react.useState.call(void 0, "");
2866
- const keyboardPadding = _chunk2BFZHTSDcjs.useKeyboardCollisionPadding.call(void 0, );
2867
+ const keyboardPadding = _chunkLEISUAHFcjs.useKeyboardCollisionPadding.call(void 0, );
2867
2868
  if (!isOpen && search !== "") setSearch("");
2868
2869
  const filtered = _react.useMemo.call(void 0, () => {
2869
2870
  const q = search.trim().toLowerCase();
@@ -2925,7 +2926,7 @@ function SearchableSelect({
2925
2926
  ),
2926
2927
  children: [
2927
2928
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 border-b border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2928
- _chunkQYQXAXVRcjs.Input,
2929
+ _chunkIKDC3R7Vcjs.Input,
2929
2930
  {
2930
2931
  autoFocus: true,
2931
2932
  value: search,
@@ -2986,7 +2987,7 @@ function CompactAssigneeDropdown({
2986
2987
  value: o.value,
2987
2988
  label: o.label,
2988
2989
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2989
- _chunkMIY5FYX3cjs.SquareAvatar,
2990
+ _chunkNNFQLTJ3cjs.SquareAvatar,
2990
2991
  {
2991
2992
  src: o.imageUrl,
2992
2993
  alt: o.label,
@@ -3021,7 +3022,7 @@ function CompactAssigneeDropdown({
3021
3022
  className
3022
3023
  ),
3023
3024
  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,
3025
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3025
3026
  {
3026
3027
  src: currentAssignee.avatarSrc,
3027
3028
  alt: currentAssignee.name,
@@ -3069,7 +3070,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3069
3070
  const opt = option;
3070
3071
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
3071
3072
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3072
- _chunkMIY5FYX3cjs.SquareAvatar,
3073
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3073
3074
  {
3074
3075
  src: opt.imageUrl,
3075
3076
  alt: opt.label,
@@ -3104,7 +3105,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3104
3105
  accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
3105
3106
  }
3106
3107
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3107
- _chunkMIY5FYX3cjs.SquareAvatar,
3108
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3108
3109
  {
3109
3110
  src: currentAssignee.avatarSrc,
3110
3111
  alt: currentAssignee.name,
@@ -3129,7 +3130,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3129
3130
  accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
3130
3131
  }
3131
3132
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3132
- _chunkMIY5FYX3cjs.SquareAvatar,
3133
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3133
3134
  {
3134
3135
  src: currentAssignee.avatarSrc,
3135
3136
  alt: currentAssignee.name,
@@ -3203,7 +3204,7 @@ function TextValue({ value }) {
3203
3204
  }
3204
3205
  ) : 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
3206
  hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3206
- _chunkMIY5FYX3cjs.SquareAvatar,
3207
+ _chunkNNFQLTJ3cjs.SquareAvatar,
3207
3208
  {
3208
3209
  src: imageSrc,
3209
3210
  alt: text,
@@ -3223,7 +3224,7 @@ function RowValue({ value }) {
3223
3224
  }
3224
3225
  case "status": {
3225
3226
  const { type: _type, ...props } = value;
3226
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TicketStatusTag, { ...props });
3227
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TicketStatusTag, { ...props });
3227
3228
  }
3228
3229
  case "custom":
3229
3230
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
@@ -3739,7 +3740,7 @@ function TagSelectDropdown({
3739
3740
  }) {
3740
3741
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
3741
3742
  const [search, setSearch] = _react.useState.call(void 0, "");
3742
- const keyboardPadding = _chunk2BFZHTSDcjs.useKeyboardCollisionPadding.call(void 0, );
3743
+ const keyboardPadding = _chunkLEISUAHFcjs.useKeyboardCollisionPadding.call(void 0, );
3743
3744
  if (!isOpen && search !== "") setSearch("");
3744
3745
  const query = search.trim();
3745
3746
  const filtered = _react.useMemo.call(void 0, () => {
@@ -3792,7 +3793,7 @@ function TagSelectDropdown({
3792
3793
  ),
3793
3794
  children: [
3794
3795
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 border-b border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3795
- _chunkQYQXAXVRcjs.Input,
3796
+ _chunkIKDC3R7Vcjs.Input,
3796
3797
  {
3797
3798
  autoFocus: true,
3798
3799
  value: search,
@@ -3965,7 +3966,7 @@ function TagsInput({
3965
3966
  label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3QDJLLD2cjs.Label, { children: label }),
3966
3967
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
3967
3968
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3968
- _chunkQYQXAXVRcjs.Input,
3969
+ _chunkIKDC3R7Vcjs.Input,
3969
3970
  {
3970
3971
  value: inputValue,
3971
3972
  onChange: (e) => setInputValue(e.target.value),
@@ -4031,7 +4032,7 @@ function TagsManager({
4031
4032
  }) {
4032
4033
  const [open, setOpen] = _react.useState.call(void 0, false);
4033
4034
  const [search, setSearch] = _react.useState.call(void 0, "");
4034
- const keyboardPadding = _chunk2BFZHTSDcjs.useKeyboardCollisionPadding.call(void 0, );
4035
+ const keyboardPadding = _chunkLEISUAHFcjs.useKeyboardCollisionPadding.call(void 0, );
4035
4036
  const [editingId, setEditingId] = _react.useState.call(void 0, null);
4036
4037
  const [editingName, setEditingName] = _react.useState.call(void 0, "");
4037
4038
  const editInputRef = _react.useRef.call(void 0, null);
@@ -4106,7 +4107,7 @@ function TagsManager({
4106
4107
  },
4107
4108
  [onChange]
4108
4109
  );
4109
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative", ref: containerRef, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive4.Root, { open, onOpenChange: setOpen, children: [
4110
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative", ref: containerRef, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive4.Root, { open, onOpenChange: setOpen, children: [
4110
4111
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive4.Anchor, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4111
4112
  "label",
4112
4113
  {
@@ -4134,7 +4135,7 @@ function TagsManager({
4134
4135
  }
4135
4136
  ),
4136
4137
  selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4137
- _chunk75X6BRIDcjs.Tag,
4138
+ _chunkRKGOVTXZcjs.Tag,
4138
4139
  {
4139
4140
  label: tag.name,
4140
4141
  variant: "outline",
@@ -4222,7 +4223,7 @@ function TagsManager({
4222
4223
  className: "flex items-center gap-1 border-b border-ods-border px-2 py-1 last:border-b-0",
4223
4224
  children: [
4224
4225
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4225
- _chunkQYQXAXVRcjs.Input,
4226
+ _chunkIKDC3R7Vcjs.Input,
4226
4227
  {
4227
4228
  ref: editInputRef,
4228
4229
  value: editingName,
@@ -4354,6 +4355,7 @@ var Textarea = _react.forwardRef.call(void 0,
4354
4355
  className,
4355
4356
  invalid = false,
4356
4357
  label,
4358
+ labelVariant,
4357
4359
  error,
4358
4360
  endIcon,
4359
4361
  endIconAsButton = false,
@@ -4367,7 +4369,7 @@ var Textarea = _react.forwardRef.call(void 0,
4367
4369
  const reactId = _react.useId.call(void 0, );
4368
4370
  const fieldId = _nullishCoalesce(props.id, () => ( reactId));
4369
4371
  if (!hasAdornment) {
4370
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label, error, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4372
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label, labelVariant, error, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4371
4373
  "textarea",
4372
4374
  {
4373
4375
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
@@ -4496,7 +4498,7 @@ var Textarea = _react.forwardRef.call(void 0,
4496
4498
  ]
4497
4499
  }
4498
4500
  );
4499
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label, error, children: content });
4501
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label, labelVariant, error, children: content });
4500
4502
  }
4501
4503
  );
4502
4504
  Textarea.displayName = "Textarea";
@@ -4678,10 +4680,10 @@ function useConfirm() {
4678
4680
  },
4679
4681
  []
4680
4682
  );
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: [
4683
+ const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4684
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalTitle, { children: pending.title }) }),
4685
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4686
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.ModalFooter, { children: [
4685
4687
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
4686
4688
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
4687
4689
  ] })
@@ -4739,9 +4741,9 @@ function AdminFormModal({
4739
4741
  body: "Your edits have not been saved. Close and discard them?"
4740
4742
  });
4741
4743
  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 }),
4744
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4745
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.ModalHeader, { children: [
4746
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalTitle, { children: title }),
4745
4747
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
4746
4748
  ] }),
4747
4749
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -4765,7 +4767,7 @@ function AdminFormModal({
4765
4767
  // a shrink-to-fit flex item pinned to the left of a 1400px panel).
4766
4768
  // The placeholder owns its own layout and mirrors the column count so
4767
4769
  // 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,
4770
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4769
4771
  "div",
4770
4772
  {
4771
4773
  "aria-busy": "true",
@@ -4786,12 +4788,12 @@ function AdminFormModal({
4786
4788
  ]
4787
4789
  }
4788
4790
  ) })
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 }),
4791
+ ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalContent, { className: contentClassName, children }),
4790
4792
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
4791
4793
  ]
4792
4794
  }
4793
4795
  ),
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: [
4796
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4795
4797
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
4796
4798
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
4797
4799
  footerStatus,
@@ -5649,7 +5651,7 @@ function FadePreview({ hiddenCount, collapsedHeight = 120, resetKey, children })
5649
5651
  setCollapsedFor(resetKey);
5650
5652
  setExpanded(false);
5651
5653
  }
5652
- _chunk36NFJULVcjs.useIsomorphicLayoutEffect.call(void 0, () => {
5654
+ _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
5653
5655
  const el = contentRef.current;
5654
5656
  if (!el) return;
5655
5657
  el.style.maxHeight = expanded ? `${el.scrollHeight}px` : `${collapsedHeight}px`;
@@ -6038,9 +6040,9 @@ var KIND_HEADING = {
6038
6040
  design: "Claude Design"
6039
6041
  };
6040
6042
  function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
6041
- const { src: mirrorSrc, status } = _chunk2BFZHTSDcjs.useClaudeMirrorSrc.call(void 0, url);
6043
+ const { src: mirrorSrc, status } = _chunkLEISUAHFcjs.useClaudeMirrorSrc.call(void 0, url);
6042
6044
  const isProbing = status === "probing";
6043
- const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunk2BFZHTSDcjs.toClaudeEmbedUrl.call(void 0, url)));
6045
+ const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkLEISUAHFcjs.toClaudeEmbedUrl.call(void 0, url)));
6044
6046
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6045
6047
  EmbedViewerFrame,
6046
6048
  {
@@ -6115,12 +6117,12 @@ function SlidesViewToggle({ view, onChange }) {
6115
6117
  }
6116
6118
  function FigmaEmbed({ url, title, height, loading = "lazy" }) {
6117
6119
  const [view, setView] = _react.useState.call(void 0, "present");
6118
- const isSlides = url ? _chunk2BFZHTSDcjs.isFigmaSlidesUrl.call(void 0, url) : false;
6119
- const embedSrc = url ? _chunk2BFZHTSDcjs.toFigmaEmbedUrl.call(void 0, url, { slidesView: view }) : null;
6120
+ const isSlides = url ? _chunkLEISUAHFcjs.isFigmaSlidesUrl.call(void 0, url) : false;
6121
+ const embedSrc = url ? _chunkLEISUAHFcjs.toFigmaEmbedUrl.call(void 0, url, { slidesView: view }) : null;
6120
6122
  const originalUrl = (() => {
6121
6123
  if (!url) return null;
6122
6124
  try {
6123
- const parsed = new URL(_chunk2BFZHTSDcjs.toFigmaOriginalUrl.call(void 0, url));
6125
+ const parsed = new URL(_chunkLEISUAHFcjs.toFigmaOriginalUrl.call(void 0, url));
6124
6126
  const host = parsed.hostname.toLowerCase();
6125
6127
  const okHost = host === "figma.com" || host.endsWith(".figma.com");
6126
6128
  const okProtocol = parsed.protocol === "https:" || parsed.protocol === "http:";
@@ -6889,7 +6891,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
6889
6891
  };
6890
6892
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
6891
6893
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6892
- _chunk75X6BRIDcjs.Video,
6894
+ _chunkRKGOVTXZcjs.Video,
6893
6895
  {
6894
6896
  url: item.src,
6895
6897
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7321,7 +7323,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
7321
7323
  width: m.width,
7322
7324
  height: m.height
7323
7325
  }));
7324
- const formatNumber2 = _chunkMIY5FYX3cjs.formatLargeNumber;
7326
+ const formatNumber2 = _chunkNNFQLTJ3cjs.formatLargeNumber;
7325
7327
  const truncateText = (text, maxLength = 600) => {
7326
7328
  if (text.length <= maxLength) return text;
7327
7329
  return text.slice(0, maxLength) + "...";
@@ -7613,7 +7615,7 @@ function buildRichEmbedOverrides({
7613
7615
  ogEndpointPath,
7614
7616
  textSizes
7615
7617
  }) {
7616
- const standard = _chunk75X6BRIDcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7618
+ const standard = _chunkRKGOVTXZcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7617
7619
  return {
7618
7620
  // Fence-language embeds (```youtube-embed etc.); everything else
7619
7621
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7623,7 +7625,7 @@ function buildRichEmbedOverrides({
7623
7625
  const language = match ? match[1] : "";
7624
7626
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7625
7627
  if (language === "youtube-embed") {
7626
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Video, { kind: "youtube", url: fenceText() });
7628
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Video, { kind: "youtube", url: fenceText() });
7627
7629
  }
7628
7630
  if (language === "reddit-embed") {
7629
7631
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -7664,7 +7666,7 @@ function buildRichEmbedOverrides({
7664
7666
  "data-figma-url": figmaUrl
7665
7667
  } = divProps;
7666
7668
  if (className === "youtube-embed" && videoId) {
7667
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Video, { kind: "youtube", url: videoId });
7669
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Video, { kind: "youtube", url: videoId });
7668
7670
  }
7669
7671
  if (className === "reddit-embed" && postUrl) {
7670
7672
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -7749,14 +7751,14 @@ function buildRichEmbedOverrides({
7749
7751
  // rich-markdown runtime (Supabase optimization on the hub, identity
7750
7752
  // elsewhere). Guard against empty `![]()`.
7751
7753
  img: ({ src, alt }) => {
7752
- if (!_chunk75X6BRIDcjs.hasRenderableSrc.call(void 0, src)) return null;
7754
+ if (!_chunkRKGOVTXZcjs.hasRenderableSrc.call(void 0, src)) return null;
7753
7755
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7754
7756
  },
7755
7757
  // Raw <video> tags in stored content (blog publisher injection) route
7756
7758
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
7757
7759
  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 }) }) });
7760
+ if (!_chunkRKGOVTXZcjs.hasRenderableSrc.call(void 0, src)) return null;
7761
+ 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, _chunkRKGOVTXZcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7760
7762
  }
7761
7763
  };
7762
7764
  }
@@ -7939,13 +7941,13 @@ var RichMarkdownInner = ({
7939
7941
  },
7940
7942
  [resolveLinkEndpointUrl, resolveSource]
7941
7943
  );
7942
- const textSizes = _react.useMemo.call(void 0, () => _chunk75X6BRIDcjs.resolveTextSizeConfig.call(void 0, "article"), []);
7944
+ const textSizes = _react.useMemo.call(void 0, () => _chunkRKGOVTXZcjs.resolveTextSizeConfig.call(void 0, "article"), []);
7943
7945
  const componentOverrides = _react.useMemo.call(void 0,
7944
7946
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
7945
7947
  [ogApiBaseUrl, ogEndpointPath, textSizes]
7946
7948
  );
7947
7949
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7948
- _chunk75X6BRIDcjs.MarkdownEngine,
7950
+ _chunkRKGOVTXZcjs.MarkdownEngine,
7949
7951
  {
7950
7952
  content,
7951
7953
  className,
@@ -7967,7 +7969,7 @@ var RichMarkdownRendererImpl = ({
7967
7969
  className = "",
7968
7970
  sectionIds,
7969
7971
  onInternalLinkClick,
7970
- brokenLinks = _chunk75X6BRIDcjs.NO_BROKEN_LINKS,
7972
+ brokenLinks = _chunkRKGOVTXZcjs.NO_BROKEN_LINKS,
7971
7973
  currentPath,
7972
7974
  resolveSource = "openframe-docs",
7973
7975
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -8540,7 +8542,7 @@ function FilterModal({
8540
8542
  const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
8541
8543
  const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
8542
8544
  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, );
8545
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkRKGOVTXZcjs.useScrollFade.call(void 0, );
8544
8546
  const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
8545
8547
  const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
8546
8548
  _react.useEffect.call(void 0, () => {
@@ -8585,10 +8587,10 @@ function FilterModal({
8585
8587
  const hasFilterGroups = filterGroups.length > 0;
8586
8588
  const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
8587
8589
  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 }) }),
8590
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
8591
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalTitle, { children: title }) }),
8590
8592
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8591
- _chunk75X6BRIDcjs.ModalContent,
8593
+ _chunkRKGOVTXZcjs.ModalContent,
8592
8594
  {
8593
8595
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
8594
8596
  "flex min-h-0 flex-1 flex-col",
@@ -8680,12 +8682,12 @@ function FilterModal({
8680
8682
  ] })
8681
8683
  }
8682
8684
  ),
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 })
8685
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
8686
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
8685
8687
  ] })
8686
8688
  }
8687
8689
  ),
8688
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: [
8690
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.ModalFooter, { children: [
8689
8691
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
8690
8692
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
8691
8693
  ] })
@@ -8729,9 +8731,9 @@ function actionToMenuItems(action, idx) {
8729
8731
  function renderActionButton(action, opts = {}) {
8730
8732
  const button = renderRawActionButton(action, opts);
8731
8733
  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 })
8734
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Tooltip, { children: [
8735
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipTrigger, { asChild: true, children: button }),
8736
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipContent, { children: action.tooltip })
8735
8737
  ] }) });
8736
8738
  }
8737
8739
  function renderRawActionButton(action, opts = {}) {
@@ -8755,7 +8757,7 @@ function renderRawActionButton(action, opts = {}) {
8755
8757
  }
8756
8758
  if (action.submenu && action.submenu.length > 0) {
8757
8759
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8758
- _chunk75X6BRIDcjs.ActionsMenuDropdown,
8760
+ _chunkRKGOVTXZcjs.ActionsMenuDropdown,
8759
8761
  {
8760
8762
  groups: [{ items: action.submenu }],
8761
8763
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -8890,10 +8892,10 @@ function IconButtonsVariant({
8890
8892
  selector,
8891
8893
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8892
8894
  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 })
8895
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ActionsMenuDropdown, { groups: menuActions })
8894
8896
  ] })
8895
8897
  ] }),
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 })
8898
+ /* @__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, _chunkRKGOVTXZcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8897
8899
  ] });
8898
8900
  }
8899
8901
  function PrimaryButtonsVariant({
@@ -8931,11 +8933,11 @@ function MenuPrimaryVariant({
8931
8933
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
8932
8934
  selector,
8933
8935
  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 }),
8936
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ActionsMenuDropdown, { groups: menuActions }),
8935
8937
  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
8938
  ] })
8937
8939
  ] }),
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 })
8940
+ /* @__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, _chunkRKGOVTXZcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8939
8941
  ] });
8940
8942
  }
8941
8943
  function MobileBottomActions({ actions, loading }) {
@@ -9142,7 +9144,7 @@ function ListPageLayout({
9142
9144
  }) {
9143
9145
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
9144
9146
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
9145
- const debouncedSearchValue = _chunk36NFJULVcjs.useDebounce.call(void 0, localSearchValue, 500);
9147
+ const debouncedSearchValue = _chunkZI27ALYXcjs.useDebounce.call(void 0, localSearchValue, 500);
9146
9148
  const [syncedSearchValue, setSyncedSearchValue] = _react.useState.call(void 0, searchValue);
9147
9149
  if (syncedSearchValue !== searchValue) {
9148
9150
  setSyncedSearchValue(searchValue);
@@ -9177,7 +9179,7 @@ function ListPageLayout({
9177
9179
  ),
9178
9180
  children: [
9179
9181
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9180
- _chunkQYQXAXVRcjs.Input,
9182
+ _chunkIKDC3R7Vcjs.Input,
9181
9183
  {
9182
9184
  placeholder: searchPlaceholder,
9183
9185
  onChange: (e) => setLocalSearchValue(e.target.value),
@@ -9228,7 +9230,7 @@ function EntityImage({ src, alt, fallbackText, className }) {
9228
9230
  const [failedSrc, setFailedSrc] = _react2.default.useState(null);
9229
9231
  const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
9230
9232
  const showFallback = imageFailed || !resolvedSrc;
9231
- const initials = _chunkMIY5FYX3cjs.getFirstLastInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
9233
+ const initials = _chunkNNFQLTJ3cjs.getFirstLastInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
9232
9234
  if (showFallback) {
9233
9235
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9234
9236
  "div",
@@ -9299,8 +9301,8 @@ function TitleBlock({
9299
9301
  const titleClass = titleSize === "h1" ? "text-h1" : "text-h2";
9300
9302
  const titleOverflowClass = titleWrap ? "break-words" : "truncate";
9301
9303
  const skeletonSize = TITLE_SKELETON_SIZE[titleSize];
9302
- const { ref: titleRef, isTruncated: titleTruncated } = _chunk36NFJULVcjs.useIsTruncated.call(void 0, loading ? null : title);
9303
- const { ref: subtitleRef, isTruncated: subtitleTruncated } = _chunk36NFJULVcjs.useIsTruncated.call(void 0,
9304
+ const { ref: titleRef, isTruncated: titleTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, loading ? null : title);
9305
+ const { ref: subtitleRef, isTruncated: subtitleTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0,
9304
9306
  loading ? null : subtitle
9305
9307
  );
9306
9308
  const titleNode = loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TitleTextSkeleton, { widthClass: skeletonSize.width, heightClass: skeletonSize.height }) : title;
@@ -9337,7 +9339,7 @@ function TitleBlock({
9337
9339
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
9338
9340
  (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
9341
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9340
- _chunk75X6BRIDcjs.FloatingTooltip,
9342
+ _chunkRKGOVTXZcjs.FloatingTooltip,
9341
9343
  {
9342
9344
  content: title,
9343
9345
  side: "bottom",
@@ -9354,12 +9356,12 @@ function TitleBlock({
9354
9356
  }
9355
9357
  ),
9356
9358
  /* @__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 }) })),
9359
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.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
9360
  hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
9359
9361
  empty `p` collapses to zero height (its only content would be
9360
9362
  collapsible whitespace), which is exactly the shift that mode
9361
9363
  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,
9364
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9363
9365
  "p",
9364
9366
  {
9365
9367
  ref: subtitleRef,
@@ -9370,7 +9372,7 @@ function TitleBlock({
9370
9372
  ) })
9371
9373
  ] })
9372
9374
  ] }) : 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 }) }),
9375
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.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
9376
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9375
9377
  ] }) : (
9376
9378
  /* This branch never had the single-line clamp, so text already
@@ -9814,7 +9816,7 @@ function toToolLabel(input) {
9814
9816
  if (!input) return "";
9815
9817
  const toolType = normalizeToolType(input);
9816
9818
  if (toolType) {
9817
- return _chunk36NFJULVcjs.toolLabels[toolType];
9819
+ return _chunkZI27ALYXcjs.toolLabels[toolType];
9818
9820
  }
9819
9821
  return input;
9820
9822
  }
@@ -9825,7 +9827,7 @@ function getToolTypeAliases(toolType) {
9825
9827
  return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
9826
9828
  }
9827
9829
  function getToolLabel(toolType) {
9828
- return _chunk36NFJULVcjs.toolLabels[toolType] || toolType;
9830
+ return _chunkZI27ALYXcjs.toolLabels[toolType] || toolType;
9829
9831
  }
9830
9832
 
9831
9833
  // src/types/shell.types.ts
@@ -10780,9 +10782,9 @@ function lastPathSegment(url) {
10780
10782
  function makeComposeContentUrl(opts) {
10781
10783
  const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
10782
10784
  return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
10783
- const type = _chunkMIY5FYX3cjs.canonicalContentRefType.call(void 0, rawType);
10785
+ const type = _chunkNNFQLTJ3cjs.canonicalContentRefType.call(void 0, rawType);
10784
10786
  const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
10785
- if (override) return override(identifier);
10787
+ if (override) return { ...override(identifier), hostOverride: true };
10786
10788
  const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
10787
10789
  if (opts.hostedTypes.has(type)) {
10788
10790
  const recovered = externalUrl ? lastPathSegment(externalUrl) : null;
@@ -10958,8 +10960,8 @@ var DEFAULT_OPTIONS = {
10958
10960
  function extractSections(markdown, options = {}) {
10959
10961
  const opts = { ...DEFAULT_OPTIONS, ...options };
10960
10962
  const sections = [];
10961
- const dedupe = _chunk36NFJULVcjs.createHeadingIdDeduper.call(void 0, );
10962
- const scanned = _chunk36NFJULVcjs.scanHeadings.call(void 0, markdown, {
10963
+ const dedupe = _chunkZI27ALYXcjs.createHeadingIdDeduper.call(void 0, );
10964
+ const scanned = _chunkZI27ALYXcjs.scanHeadings.call(void 0, markdown, {
10963
10965
  skipFrontmatter: opts.skipCodeAndYamlBlocks,
10964
10966
  skipFences: opts.skipCodeAndYamlBlocks
10965
10967
  });
@@ -10967,9 +10969,9 @@ function extractSections(markdown, options = {}) {
10967
10969
  if (heading.level > opts.maxLevel) continue;
10968
10970
  let title = heading.text;
10969
10971
  if (opts.stripFormattingMarkers) {
10970
- title = _chunk75X6BRIDcjs.stripInlineMarkdown.call(void 0, title).trim();
10972
+ title = _chunkRKGOVTXZcjs.stripInlineMarkdown.call(void 0, title).trim();
10971
10973
  }
10972
- const baseId = _chunk36NFJULVcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunk36NFJULVcjs.stripHeadingEmojis.call(void 0, title) : title);
10974
+ const baseId = _chunkZI27ALYXcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, title) : title);
10973
10975
  const cleanId = baseId || `section-${sections.length + 1}`;
10974
10976
  sections.push({
10975
10977
  id: opts.handleDuplicateIds ? dedupe(cleanId) : cleanId,
@@ -11459,7 +11461,7 @@ function DashboardInfoCard({
11459
11461
  const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
11460
11462
  if (asTag) {
11461
11463
  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}%` });
11464
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
11463
11465
  }
11464
11466
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
11465
11467
  "(",
@@ -11513,7 +11515,7 @@ function DashboardInfoCard({
11513
11515
  /* @__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
11516
  subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
11515
11517
  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 }) }) })
11518
+ tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.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
11519
  ] })
11518
11520
  ] }),
11519
11521
  renderProgress()
@@ -11696,7 +11698,7 @@ function DeviceCard({
11696
11698
  ] }),
11697
11699
  (statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
11698
11700
  statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11699
- _chunk75X6BRIDcjs.Tag,
11701
+ _chunkRKGOVTXZcjs.Tag,
11700
11702
  {
11701
11703
  variant: statusTag.variant,
11702
11704
  icon: statusTag.icon,
@@ -11710,7 +11712,7 @@ function DeviceCard({
11710
11712
  formatLastSeen(device.lastSeen)
11711
11713
  ] })
11712
11714
  ] }),
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)) })
11715
+ 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, _chunkRKGOVTXZcjs.Tag, { variant: "outline", label: tag }, index)) })
11714
11716
  ]
11715
11717
  }
11716
11718
  );
@@ -11771,7 +11773,7 @@ function FeatureCardGrid({
11771
11773
  if (allCardsHaveNoBorders) {
11772
11774
  finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
11773
11775
  }
11774
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
11776
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
11775
11777
  const startIndex = rowIndex * itemsPerRow;
11776
11778
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
11777
11779
  const isLastRow = rowIndex === rows - 1;
@@ -11801,7 +11803,7 @@ function FeatureCardGrid({
11801
11803
  item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
11802
11804
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
11803
11805
  item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11804
- _chunkMIY5FYX3cjs.StatusBadge,
11806
+ _chunkNNFQLTJ3cjs.StatusBadge,
11805
11807
  {
11806
11808
  text: item.badge.text,
11807
11809
  variant: item.badge.variant || "card",
@@ -11810,7 +11812,7 @@ function FeatureCardGrid({
11810
11812
  )
11811
11813
  ] }),
11812
11814
  !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,
11815
+ _chunkNNFQLTJ3cjs.StatusBadge,
11814
11816
  {
11815
11817
  text: item.badge.text,
11816
11818
  variant: item.badge.variant || "card",
@@ -11858,7 +11860,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
11858
11860
 
11859
11861
  function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
11860
11862
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11861
- _chunk75X6BRIDcjs.FloatingTooltip,
11863
+ _chunkRKGOVTXZcjs.FloatingTooltip,
11862
11864
  {
11863
11865
  as: "span",
11864
11866
  side: "top",
@@ -12042,7 +12044,7 @@ function DropdownButton({
12042
12044
  )
12043
12045
  );
12044
12046
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12045
- _chunk75X6BRIDcjs.ActionsMenuDropdown,
12047
+ _chunkRKGOVTXZcjs.ActionsMenuDropdown,
12046
12048
  {
12047
12049
  groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
12048
12050
  open,
@@ -12257,8 +12259,8 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
12257
12259
  }
12258
12260
  function ServiceCardRowItem({ row }) {
12259
12261
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
12260
- const { copy, copied } = _chunk2BFZHTSDcjs.useCopyToClipboard.call(void 0, );
12261
- const { ref: valueRef, isTruncated: valueTruncated } = _chunk36NFJULVcjs.useIsTruncated.call(void 0, row.value);
12262
+ const { copy, copied } = _chunkLEISUAHFcjs.useCopyToClipboard.call(void 0, );
12263
+ const { ref: valueRef, isTruncated: valueTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, row.value);
12262
12264
  const actions = _react.useMemo.call(void 0,
12263
12265
  () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }),
12264
12266
  [row]
@@ -12280,7 +12282,7 @@ function ServiceCardRowItem({ row }) {
12280
12282
  ),
12281
12283
  children: [
12282
12284
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12283
- _chunk75X6BRIDcjs.FloatingTooltip,
12285
+ _chunkRKGOVTXZcjs.FloatingTooltip,
12284
12286
  {
12285
12287
  content: row.value,
12286
12288
  side: "top",
@@ -12406,9 +12408,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12406
12408
  return next;
12407
12409
  });
12408
12410
  };
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: [
12411
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Tooltip, { open, onOpenChange: setOpen, children: [
12410
12412
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12411
- _chunk75X6BRIDcjs.TooltipTrigger,
12413
+ _chunkRKGOVTXZcjs.TooltipTrigger,
12412
12414
  {
12413
12415
  asChild: true,
12414
12416
  onPointerDown: (e) => {
@@ -12426,7 +12428,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12426
12428
  children
12427
12429
  }
12428
12430
  ),
12429
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12431
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12430
12432
  ] }) });
12431
12433
  }
12432
12434
 
@@ -12785,7 +12787,7 @@ function TableHeader({
12785
12787
  }
12786
12788
  return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Arrow01UpIcon, { className: "h-4 w-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Arrow01DownIcon, { className: "h-4 w-4 text-ods-accent" });
12787
12789
  };
12788
- const isLgUp = _nullishCoalesce(_chunk36NFJULVcjs.useLgUp.call(void 0, ), () => ( false));
12790
+ const isLgUp = _nullishCoalesce(_chunkZI27ALYXcjs.useLgUp.call(void 0, ), () => ( false));
12789
12791
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
12790
12792
  "div",
12791
12793
  {
@@ -12796,7 +12798,7 @@ function TableHeader({
12796
12798
  ),
12797
12799
  children: [
12798
12800
  selectable && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-10 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12799
- _chunkQYQXAXVRcjs.Checkbox,
12801
+ _chunkIKDC3R7Vcjs.Checkbox,
12800
12802
  {
12801
12803
  checked: allSelected || someSelected && !allSelected ? true : false,
12802
12804
  onCheckedChange: onSelectAll,
@@ -13038,7 +13040,7 @@ function TableRow({
13038
13040
  isLinkMode && "pointer-events-none"
13039
13041
  ),
13040
13042
  children: [
13041
- selectable && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto flex w-10 shrink-0 items-center justify-center", "data-no-row-click": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.Checkbox, { checked: selected, onCheckedChange: handleSelect, className: "border-ods-border" }) }),
13043
+ selectable && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto flex w-10 shrink-0 items-center justify-center", "data-no-row-click": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.Checkbox, { checked: selected, onCheckedChange: handleSelect, className: "border-ods-border" }) }),
13042
13044
  columns.map((column) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13043
13045
  TableCell,
13044
13046
  {
@@ -13441,9 +13443,9 @@ function TruncatedHeaderCell({ value, width }) {
13441
13443
  setIsTruncated(el.scrollWidth > el.clientWidth);
13442
13444
  }
13443
13445
  }, []);
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 })
13446
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13447
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.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 }) }) }),
13448
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
13447
13449
  ] }) });
13448
13450
  }
13449
13451
 
@@ -13496,9 +13498,9 @@ function TruncatedCell({ value, className }) {
13496
13498
  setIsTruncated(el.scrollWidth > el.clientWidth);
13497
13499
  }
13498
13500
  }, []);
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 })
13501
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13502
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.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 }) }),
13503
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
13502
13504
  ] }) });
13503
13505
  }
13504
13506
 
@@ -13613,7 +13615,7 @@ function QueryReportTable({
13613
13615
  onThumbPointerDown,
13614
13616
  onThumbPointerMove,
13615
13617
  onThumbPointerUp
13616
- } = _chunk2BFZHTSDcjs.useHorizontalScrollbar.call(void 0, );
13618
+ } = _chunkLEISUAHFcjs.useHorizontalScrollbar.call(void 0, );
13617
13619
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex w-full flex-col", isCompact ? "gap-0" : "gap-[var(--spacing-system-l)]", className), children: [
13618
13620
  !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-[var(--spacing-system-l)]", children: [
13619
13621
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: title }),
@@ -14381,7 +14383,7 @@ var PasswordInput = _react.forwardRef.call(void 0, ({ disabled, className, ...pr
14381
14383
  const [visible, setVisible] = _react.useState.call(void 0, false);
14382
14384
  const Icon2 = visible ? _chunkGSQM4PDRcjs.EyeOffIcon : _chunkGSQM4PDRcjs.EyeIcon;
14383
14385
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14384
- _chunkQYQXAXVRcjs.Input,
14386
+ _chunkIKDC3R7Vcjs.Input,
14385
14387
  {
14386
14388
  ref,
14387
14389
  type: visible ? "text" : "password",
@@ -14477,7 +14479,7 @@ function PhoneInput({
14477
14479
  }
14478
14480
  ),
14479
14481
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14480
- _chunkQYQXAXVRcjs.Input,
14482
+ _chunkIKDC3R7Vcjs.Input,
14481
14483
  {
14482
14484
  type: "tel",
14483
14485
  value,
@@ -14577,10 +14579,10 @@ function SearchInput({
14577
14579
  }) {
14578
14580
  const [internalValue, setInternalValue] = _react.useState.call(void 0, defaultValue);
14579
14581
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
14580
- const debouncedValue = _chunk36NFJULVcjs.useDebounce.call(void 0, currentValue, debounceMs);
14582
+ const debouncedValue = _chunkZI27ALYXcjs.useDebounce.call(void 0, currentValue, debounceMs);
14581
14583
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
14582
14584
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
14583
- const keyboardPadding = _chunk2BFZHTSDcjs.useKeyboardCollisionPadding.call(void 0, );
14585
+ const keyboardPadding = _chunkLEISUAHFcjs.useKeyboardCollisionPadding.call(void 0, );
14584
14586
  const containerRef = _react.useRef.call(void 0, null);
14585
14587
  const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
14586
14588
  const {
@@ -14590,7 +14592,7 @@ function SearchInput({
14590
14592
  textMeasureRef,
14591
14593
  badgeRef,
14592
14594
  inputRef
14593
- } = _chunk2BFZHTSDcjs.useAutoLimitTags.call(void 0, {
14595
+ } = _chunkLEISUAHFcjs.useAutoLimitTags.call(void 0, {
14594
14596
  count: filterChips.length,
14595
14597
  limitTags,
14596
14598
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -14612,7 +14614,7 @@ function SearchInput({
14612
14614
  document.addEventListener("mousedown", handleClick);
14613
14615
  return () => document.removeEventListener("mousedown", handleClick);
14614
14616
  }, [showHiddenTags]);
14615
- _chunk36NFJULVcjs.useIsomorphicLayoutEffect.call(void 0, () => {
14617
+ _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
14616
14618
  const popup = hiddenTagsPopupRef.current;
14617
14619
  const badge = badgeRef.current;
14618
14620
  if (!popup || !badge) return;
@@ -14782,7 +14784,7 @@ function SearchInput({
14782
14784
  /* @__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
14785
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
14784
14786
  visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14785
- _chunk75X6BRIDcjs.Tag,
14787
+ _chunkRKGOVTXZcjs.Tag,
14786
14788
  {
14787
14789
  variant: chipVariantToTagVariant(chip.variant),
14788
14790
  label: chip.label,
@@ -14896,7 +14898,7 @@ function SearchInput({
14896
14898
  }
14897
14899
  ),
14898
14900
  /* @__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,
14901
+ _chunkRKGOVTXZcjs.Tag,
14900
14902
  {
14901
14903
  variant: chipVariantToTagVariant(chip.variant),
14902
14904
  label: chip.label,
@@ -15038,7 +15040,7 @@ function TagSearchInput({
15038
15040
  limitTags = "auto"
15039
15041
  }) {
15040
15042
  const currentPlaceholder = tags.length === 0 ? placeholder : addMorePlaceholder;
15041
- const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } = _chunk2BFZHTSDcjs.useAutoLimitTags.call(void 0, {
15043
+ const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } = _chunkLEISUAHFcjs.useAutoLimitTags.call(void 0, {
15042
15044
  count: tags.length,
15043
15045
  limitTags,
15044
15046
  placeholder: currentPlaceholder
@@ -15058,7 +15060,7 @@ function TagSearchInput({
15058
15060
  document.addEventListener("mousedown", handleClick);
15059
15061
  return () => document.removeEventListener("mousedown", handleClick);
15060
15062
  }, [showHiddenTags]);
15061
- _chunk36NFJULVcjs.useIsomorphicLayoutEffect.call(void 0, () => {
15063
+ _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
15062
15064
  const popup = hiddenTagsPopupRef.current;
15063
15065
  const badge = badgeRef.current;
15064
15066
  if (!popup || !badge) return;
@@ -15109,7 +15111,7 @@ function TagSearchInput({
15109
15111
  /* @__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
15112
  /* @__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
15113
  visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15112
- _chunk75X6BRIDcjs.Tag,
15114
+ _chunkRKGOVTXZcjs.Tag,
15113
15115
  {
15114
15116
  variant: "outline",
15115
15117
  label: renderTag ? renderTag(tag) : tag.label,
@@ -15197,7 +15199,7 @@ function TagSearchInput({
15197
15199
  "aria-hidden": "true",
15198
15200
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
15199
15201
  children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15200
- _chunk75X6BRIDcjs.Tag,
15202
+ _chunkRKGOVTXZcjs.Tag,
15201
15203
  {
15202
15204
  variant: "outline",
15203
15205
  label: renderTag ? renderTag(tag) : tag.label,
@@ -15696,7 +15698,7 @@ function FileUpload({
15696
15698
  const displayError = error || validationError || void 0;
15697
15699
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
15698
15700
  const showDropzone = multiple || !hasFiles;
15699
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label: fieldLabel, error: displayError, className, children: [
15701
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label: fieldLabel, error: displayError, className, children: [
15700
15702
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15701
15703
  "input",
15702
15704
  {
@@ -15916,7 +15918,7 @@ function ImageUploader({
15916
15918
  }
15917
15919
  };
15918
15920
  const isActionState = dragActive || pressed && !hasImage;
15919
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQYQXAXVRcjs.FieldWrapper, { label: fieldLabel, error: displayError, className, children: [
15921
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKDC3R7Vcjs.FieldWrapper, { label: fieldLabel, error: displayError, className, children: [
15920
15922
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15921
15923
  "input",
15922
15924
  {
@@ -16015,6 +16017,9 @@ function ActionIconButton({ onClick, disabled, ariaLabel, children }) {
16015
16017
  );
16016
16018
  }
16017
16019
 
16020
+ // src/components/ui/ticket-status-config-row.tsx
16021
+
16022
+
16018
16023
  // src/components/ui/color-preset-select.tsx
16019
16024
 
16020
16025
  var _reactcolorful = require('react-colorful');
@@ -16026,7 +16031,7 @@ var _reactcolorful = require('react-colorful');
16026
16031
  var Popover2 = PopoverPrimitive6.Root;
16027
16032
  var PopoverTrigger = PopoverPrimitive6.Trigger;
16028
16033
  var PopoverContent = _react.forwardRef.call(void 0, ({ className, align = "center", sideOffset = 4, collisionPadding, ...props }, ref) => {
16029
- const keyboardPadding = _chunk2BFZHTSDcjs.useKeyboardCollisionPadding.call(void 0, );
16034
+ const keyboardPadding = _chunkLEISUAHFcjs.useKeyboardCollisionPadding.call(void 0, );
16030
16035
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16031
16036
  PopoverPrimitive6.Content,
16032
16037
  {
@@ -16083,20 +16088,20 @@ function ColorPresetSelect({
16083
16088
  ...presets.map((p) => ({
16084
16089
  id: p.key,
16085
16090
  label: p.label,
16086
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: p.color }),
16091
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ColorSwatch, { color: p.color }),
16087
16092
  onClick: () => onChange({ color: p.color, preset: p.key })
16088
16093
  })),
16089
16094
  {
16090
16095
  id: CUSTOM_PRESET_KEY,
16091
16096
  label: "Custom",
16092
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16097
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16093
16098
  onClick: () => onChange({ color: value, preset: void 0 })
16094
16099
  }
16095
16100
  ]
16096
16101
  }
16097
16102
  ];
16098
16103
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16099
- _chunk75X6BRIDcjs.ActionsMenuDropdown,
16104
+ _chunkRKGOVTXZcjs.ActionsMenuDropdown,
16100
16105
  {
16101
16106
  groups,
16102
16107
  align: "start",
@@ -16106,7 +16111,7 @@ function ColorPresetSelect({
16106
16111
  {
16107
16112
  disabled,
16108
16113
  "aria-label": `Color: ${displayLabel}`,
16109
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: displayColor }),
16114
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ColorSwatch, { color: displayColor }),
16110
16115
  selectedLabel: displayLabel,
16111
16116
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16112
16117
  className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
@@ -16127,11 +16132,11 @@ function HexInputs({ value, onChange }) {
16127
16132
  }
16128
16133
  const commit = () => {
16129
16134
  const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
16130
- if (_chunk75X6BRIDcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16135
+ if (_chunkRKGOVTXZcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16131
16136
  else setDraft(value);
16132
16137
  };
16133
16138
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16134
- _chunkQYQXAXVRcjs.Input,
16139
+ _chunkIKDC3R7Vcjs.Input,
16135
16140
  {
16136
16141
  type: "text",
16137
16142
  value: draft,
@@ -16171,7 +16176,7 @@ function ChannelInput({
16171
16176
  onCommit(Math.max(min, Math.min(max, parsed)));
16172
16177
  };
16173
16178
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16174
- _chunkQYQXAXVRcjs.Input,
16179
+ _chunkIKDC3R7Vcjs.Input,
16175
16180
  {
16176
16181
  type: "text",
16177
16182
  inputMode: "numeric",
@@ -16191,12 +16196,12 @@ function ChannelInput({
16191
16196
  );
16192
16197
  }
16193
16198
  function RgbInputs({ value, onChange }) {
16194
- const rgb = _nullishCoalesce(_chunk75X6BRIDcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16199
+ const rgb = _nullishCoalesce(_chunkRKGOVTXZcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16195
16200
  const update = (next) => {
16196
16201
  const r = _nullishCoalesce(next.r, () => ( rgb.r));
16197
16202
  const g = _nullishCoalesce(next.g, () => ( rgb.g));
16198
16203
  const b = _nullishCoalesce(next.b, () => ( rgb.b));
16199
- onChange(_chunk75X6BRIDcjs.rgbToHex.call(void 0, r, g, b));
16204
+ onChange(_chunkRKGOVTXZcjs.rgbToHex.call(void 0, r, g, b));
16200
16205
  };
16201
16206
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16202
16207
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
@@ -16205,14 +16210,14 @@ function RgbInputs({ value, onChange }) {
16205
16210
  ] });
16206
16211
  }
16207
16212
  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);
16213
+ const rgb = _nullishCoalesce(_chunkRKGOVTXZcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16214
+ const hsl = _chunkRKGOVTXZcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
16210
16215
  const update = (next) => {
16211
16216
  const h = _nullishCoalesce(next.h, () => ( hsl.h));
16212
16217
  const s = _nullishCoalesce(next.s, () => ( hsl.s));
16213
16218
  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));
16219
+ const out = _chunkRKGOVTXZcjs.hslToRgb.call(void 0, h, s, l);
16220
+ onChange(_chunkRKGOVTXZcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
16216
16221
  };
16217
16222
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16218
16223
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
@@ -16238,7 +16243,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16238
16243
  {
16239
16244
  disabled,
16240
16245
  "aria-label": "Pick custom color",
16241
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: value }),
16246
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ColorSwatch, { color: value }),
16242
16247
  selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
16243
16248
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16244
16249
  className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
@@ -16254,7 +16259,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16254
16259
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
16255
16260
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
16256
16261
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16257
- _chunk75X6BRIDcjs.ActionsMenuDropdown,
16262
+ _chunkRKGOVTXZcjs.ActionsMenuDropdown,
16258
16263
  {
16259
16264
  groups: formatGroups,
16260
16265
  align: "start",
@@ -16299,82 +16304,152 @@ function TicketStatusConfigRow({
16299
16304
  deleteDisabled,
16300
16305
  deleteDisabledReason,
16301
16306
  dragHandleProps,
16302
- dragHandleAttributes,
16303
- isDragging
16307
+ isDragging,
16308
+ moveButtons
16304
16309
  }) {
16310
+ const dragAndDropEnabled = _chunkLEISUAHFcjs.useDragAndDropEnabled.call(void 0, );
16311
+ const nameInputId = _react.useId.call(void 0, );
16305
16312
  const isSystem = variant === "system";
16306
16313
  const isCustomColor = !isSystem && presetKey === void 0;
16307
16314
  const previewColor = isSystem ? void 0 : color;
16308
16315
  const showColorPicker = !isSystem && onColorChange && color !== void 0;
16309
16316
  const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
16310
- const colClass = "min-w-0 grow basis-[calc(50%-6px)] md:basis-0";
16317
+ const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
16318
+ const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16319
+ _chunkRKGOVTXZcjs.TicketStatusTag,
16320
+ {
16321
+ status: statusKey,
16322
+ label: name || " ",
16323
+ color: previewColor,
16324
+ variant: previewVariant,
16325
+ showIcon: isSystem,
16326
+ className: "max-w-full"
16327
+ }
16328
+ );
16311
16329
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
16312
16330
  "div",
16313
16331
  {
16314
16332
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
16315
- "flex w-full items-start gap-3 rounded-md border border-ods-border bg-ods-card md:gap-[var(--spacing-system-m)]",
16333
+ // Transparent background — only the border outlines the row.
16334
+ "flex w-full items-start gap-3 rounded-md border border-ods-border md:gap-[var(--spacing-system-m)]",
16316
16335
  "p-[var(--spacing-system-m)]",
16317
- isDragging && "opacity-70 shadow-lg"
16336
+ // The dragged row travels over its siblings, so it needs an opaque back.
16337
+ isDragging && "bg-ods-bg opacity-70 shadow-lg"
16318
16338
  ),
16319
16339
  children: [
16320
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-11 w-8 shrink-0 items-center justify-center text-ods-text-secondary md:h-12", children: isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.DraggerIcon, { size: 24, "aria-hidden": true, className: "opacity-40" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16321
- "button",
16322
- {
16323
- type: "button",
16324
- "aria-label": "Drag to reorder",
16325
- className: "flex size-6 cursor-grab items-center justify-center rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ods-focus active:cursor-grabbing",
16326
- ...dragHandleAttributes,
16327
- ...dragHandleProps,
16328
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.DraggerIcon, { size: 24 })
16329
- }
16330
- ) }),
16331
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-wrap items-start gap-x-3 gap-y-4 md:flex-nowrap md:gap-[var(--spacing-system-m)]", children: [
16332
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xxs)]", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16333
- _chunkQYQXAXVRcjs.Input,
16334
- {
16335
- value: name,
16336
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _385 => _385(e.target.value)]),
16337
- disabled: isSystem,
16338
- readOnly: isSystem,
16339
- "aria-label": "Status name",
16340
- maxLength: 50
16341
- }
16342
- ) }),
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
- 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
- /* @__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,
16347
- {
16348
- status: statusKey,
16349
- label: name || " ",
16350
- color: previewColor,
16351
- variant: previewVariant,
16352
- showIcon: isSystem,
16353
- className: "max-w-full"
16354
- }
16355
- ) })
16356
- ] }),
16357
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-11 w-12 shrink-0 items-center justify-center md:h-12", children: isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchFriendlyTooltip, { content: systemTooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16358
- "button",
16340
+ dragAndDropEnabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16341
+ "div",
16359
16342
  {
16360
- type: "button",
16361
- "aria-label": _nullishCoalesce(systemTooltip, () => ( "System status")),
16362
- className: "flex size-6 items-center justify-center text-ods-text-secondary outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
16363
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.InfoCircleIcon, { size: 24 })
16343
+ className: _chunkPRPZBXWZcjs.cn.call(void 0,
16344
+ "flex h-11 w-8 shrink-0 items-center justify-center text-ods-text-secondary md:h-12",
16345
+ fieldRowOffset
16346
+ ),
16347
+ children: isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.DraggerIcon, { size: 24, "aria-hidden": true, className: "opacity-40" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16348
+ "button",
16349
+ {
16350
+ type: "button",
16351
+ "aria-label": "Drag to reorder",
16352
+ className: "flex size-6 cursor-grab items-center justify-center rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ods-focus active:cursor-grabbing",
16353
+ ...dragHandleProps,
16354
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.DraggerIcon, { size: 24 })
16355
+ }
16356
+ )
16364
16357
  }
16365
- ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchFriendlyTooltip, { content: deleteDisabled ? deleteDisabledReason : void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16366
- _chunkYHNIPSG6cjs.Button,
16358
+ ),
16359
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
16360
+ "div",
16367
16361
  {
16368
- type: "button",
16369
- variant: "outline",
16370
- size: "icon",
16371
- "aria-label": "Delete status",
16372
- disabled: deleteDisabled,
16373
- onClick: deleteDisabled ? void 0 : onDelete,
16374
- className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-11 md:size-12", deleteDisabled && "pointer-events-none"),
16375
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TrashIcon, { className: "text-ods-error" })
16362
+ className: _chunkPRPZBXWZcjs.cn.call(void 0,
16363
+ "min-w-0 flex-1 items-start gap-x-3 gap-y-[var(--spacing-system-m)] md:gap-x-[var(--spacing-system-m)]",
16364
+ isSystem ? "flex flex-wrap" : (
16365
+ // Mobile custom rows are a strict two-column grid, per the mock:
16366
+ // fields (name / color / hex, all one width) on the left, the
16367
+ // controls and the chip stacked in the right column. From md up
16368
+ // the same children flow as a wrapping flex row.
16369
+ "grid grid-cols-[minmax(0,1fr)_auto] md:flex md:flex-wrap"
16370
+ )
16371
+ ),
16372
+ children: [
16373
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "order-1 flex min-w-0 grow basis-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
16374
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3QDJLLD2cjs.Label, { variant: "large", htmlFor: nameInputId, children: "Status Name" }),
16375
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16376
+ _chunkIKDC3R7Vcjs.Input,
16377
+ {
16378
+ id: nameInputId,
16379
+ value: name,
16380
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _385 => _385(e.target.value)]),
16381
+ disabled: isSystem,
16382
+ readOnly: isSystem,
16383
+ maxLength: 50
16384
+ }
16385
+ )
16386
+ ] }),
16387
+ showColorPicker ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "order-3 flex min-w-0 grow basis-full flex-col gap-[var(--spacing-system-xxs)] md:order-2 md:basis-0", children: [
16388
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3QDJLLD2cjs.Label, { variant: "large", children: "Color" }),
16389
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorPresetSelect, { value: color, presetKey, onChange: onColorChange }),
16390
+ isCustomColor && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-[var(--spacing-system-xxs)] flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorPickerInput, { value: color, onChange: (next) => onColorChange({ color: next, preset: void 0 }) }) })
16391
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "hidden min-w-0 grow basis-0 lg:order-2 lg:block" }),
16392
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "hidden min-w-0 grow basis-0 lg:order-3 lg:block" }),
16393
+ isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16394
+ "div",
16395
+ {
16396
+ className: _chunkPRPZBXWZcjs.cn.call(void 0,
16397
+ "order-2 flex h-11 min-w-0 grow basis-0 items-center justify-end md:h-12 lg:order-4",
16398
+ fieldRowOffset
16399
+ ),
16400
+ children: chip
16401
+ }
16402
+ ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16403
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16404
+ "div",
16405
+ {
16406
+ className: _chunkPRPZBXWZcjs.cn.call(void 0,
16407
+ "hidden h-12 min-w-0 grow basis-0 items-center justify-end lg:order-4 lg:flex",
16408
+ fieldRowOffset
16409
+ ),
16410
+ children: chip
16411
+ }
16412
+ ),
16413
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden min-w-0 basis-full items-center justify-end md:order-4 md:flex lg:hidden", children: chip }),
16414
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "order-4 flex h-11 min-w-0 items-center md:hidden", fieldRowOffset), children: chip })
16415
+ ] }),
16416
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
16417
+ "div",
16418
+ {
16419
+ className: _chunkPRPZBXWZcjs.cn.call(void 0,
16420
+ "flex h-11 shrink-0 items-center justify-end gap-[var(--spacing-system-s)] md:h-12 lg:order-5",
16421
+ isSystem ? "order-3" : "order-2 md:order-3",
16422
+ fieldRowOffset
16423
+ ),
16424
+ children: [
16425
+ !isSystem && moveButtons,
16426
+ isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-11 justify-center md:w-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchFriendlyTooltip, { content: systemTooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16427
+ "button",
16428
+ {
16429
+ type: "button",
16430
+ "aria-label": _nullishCoalesce(systemTooltip, () => ( "System status")),
16431
+ className: "flex size-6 items-center justify-center text-ods-text-secondary outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
16432
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.InfoCircleIcon, { size: 24 })
16433
+ }
16434
+ ) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchFriendlyTooltip, { content: deleteDisabled ? deleteDisabledReason : void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16435
+ _chunkYHNIPSG6cjs.Button,
16436
+ {
16437
+ type: "button",
16438
+ variant: "outline",
16439
+ size: "icon",
16440
+ "aria-label": "Delete status",
16441
+ disabled: deleteDisabled,
16442
+ onClick: deleteDisabled ? void 0 : onDelete,
16443
+ className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-11 md:size-12", deleteDisabled && "pointer-events-none"),
16444
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TrashIcon, { className: "text-ods-error" })
16445
+ }
16446
+ ) }) })
16447
+ ]
16448
+ }
16449
+ )
16450
+ ]
16376
16451
  }
16377
- ) }) }) })
16452
+ )
16378
16453
  ]
16379
16454
  }
16380
16455
  );
@@ -16393,7 +16468,7 @@ function formatTestRunDuration(ms) {
16393
16468
  var RESULT_COLUMN_MIN_WIDTH = 176;
16394
16469
  var SKELETON_COLUMNS = 6;
16395
16470
  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: [
16471
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16397
16472
  /* @__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
16473
  /* @__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
16474
  ] }) });
@@ -16428,13 +16503,13 @@ function TestResultsTable({ rows, loading }) {
16428
16503
  if (loading) {
16429
16504
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
16430
16505
  }
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: [
16506
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.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
16507
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
16433
16508
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
16434
16509
  ] }) }) });
16435
16510
  }
16436
16511
  function TestRunErrorBanner({ error, className }) {
16437
- const { copy } = _chunk2BFZHTSDcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
16512
+ const { copy } = _chunkLEISUAHFcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
16438
16513
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
16439
16514
  "div",
16440
16515
  {
@@ -16488,7 +16563,7 @@ var TEST_RUN_STATUS_TAGS = {
16488
16563
  function TestRunStatusStat({ status, className }) {
16489
16564
  const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
16490
16565
  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: "-" }),
16566
+ tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.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
16567
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
16493
16568
  ] });
16494
16569
  }
@@ -16531,7 +16606,7 @@ function useTestRunState(campaign) {
16531
16606
  const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
16532
16607
  const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
16533
16608
  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";
16609
+ const startedLabel = showTiming && campaign.startedAt ? _chunkRKGOVTXZcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
16535
16610
  const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
16536
16611
  const displayRows = _react.useMemo.call(void 0,
16537
16612
  () => campaign.results.map(
@@ -16570,7 +16645,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
16570
16645
  ),
16571
16646
  children: [
16572
16647
  attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16573
- _chunkMIY5FYX3cjs.SquareAvatar,
16648
+ _chunkNNFQLTJ3cjs.SquareAvatar,
16574
16649
  {
16575
16650
  src: attachment.thumbnailSrc,
16576
16651
  alt: attachment.fileName,
@@ -16663,7 +16738,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
16663
16738
  };
16664
16739
  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
16740
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16666
- _chunkMIY5FYX3cjs.SquareAvatar,
16741
+ _chunkNNFQLTJ3cjs.SquareAvatar,
16667
16742
  {
16668
16743
  src: note.authorAvatar,
16669
16744
  alt: note.authorName,
@@ -16674,7 +16749,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
16674
16749
  }
16675
16750
  ),
16676
16751
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 overflow-hidden", children: isEditing ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
16677
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQYQXAXVRcjs.Input, { value: editText, onChange: (e) => setEditText(e.target.value), onKeyDown: handleKeyDown, autoFocus: true }) }),
16752
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKDC3R7Vcjs.Input, { value: editText, onChange: (e) => setEditText(e.target.value), onKeyDown: handleKeyDown, autoFocus: true }) }),
16678
16753
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16679
16754
  "button",
16680
16755
  {
@@ -16756,7 +16831,7 @@ function TicketNotesSection({
16756
16831
  notes.map((note) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketNoteCard, { note, onEdit: onEditNote, onDelete: onDeleteNote }, note.id)),
16757
16832
  onAddNote && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
16758
16833
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16759
- _chunkQYQXAXVRcjs.Input,
16834
+ _chunkIKDC3R7Vcjs.Input,
16760
16835
  {
16761
16836
  value: noteText,
16762
16837
  onChange: (e) => setNoteText(e.target.value),
@@ -16839,7 +16914,7 @@ function TicketInfoSection({
16839
16914
  /* @__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
16915
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
16841
16916
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16842
- _chunkMIY5FYX3cjs.SquareAvatar,
16917
+ _chunkNNFQLTJ3cjs.SquareAvatar,
16843
16918
  {
16844
16919
  src: _optionalChain([organization, 'optionalAccess', _386 => _386.imageSrc]),
16845
16920
  alt: _optionalChain([organization, 'optionalAccess', _387 => _387.name]),
@@ -16869,7 +16944,7 @@ function TicketInfoSection({
16869
16944
  /* @__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
16945
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
16871
16946
  (status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16872
- _chunk75X6BRIDcjs.TicketStatusTag,
16947
+ _chunkRKGOVTXZcjs.TicketStatusTag,
16873
16948
  {
16874
16949
  status: _nullishCoalesce(status, () => ( "")),
16875
16950
  label: statusLabel,
@@ -16908,9 +16983,9 @@ function TicketInfoSection({
16908
16983
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16909
16984
  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
16985
  /* @__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 }),
16986
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.SimpleMarkdownRenderer, { content: description }),
16912
16987
  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)) }) }),
16988
+ 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, _chunkRKGOVTXZcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
16914
16989
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16915
16990
  TicketNotesSection,
16916
16991
  {
@@ -16933,7 +17008,7 @@ function renderTicketStatusOption(option, isSelected) {
16933
17008
  const { label, color } = option;
16934
17009
  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
17010
  /* @__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 }),
17011
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ColorSwatch, { color }),
16937
17012
  /* @__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
17013
  ] }),
16939
17014
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -16943,7 +17018,7 @@ function renderTicketAssigneeOption(option, isSelected) {
16943
17018
  const { label, imageUrl } = option;
16944
17019
  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
17020
  /* @__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" }),
17021
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
16947
17022
  /* @__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
17023
  ] }),
16949
17024
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -16978,9 +17053,9 @@ function TakeOverTicketModal({
16978
17053
  if (!selectedStatusId || !assigneeId || isPending) return;
16979
17054
  onConfirm({ statusId: selectedStatusId, assigneeId });
16980
17055
  };
16981
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Modal, { isOpen, onClose: isPending ? () => {
17056
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Modal, { isOpen, onClose: isPending ? () => {
16982
17057
  } : 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" }) }),
17058
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalTitle, { children: "Take Over Ticket" }) }),
16984
17059
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
16985
17060
  "The ticket ",
16986
17061
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -16995,7 +17070,7 @@ function TakeOverTicketModal({
16995
17070
  value: selectedStatusId,
16996
17071
  onChange: setStatusId,
16997
17072
  placeholder: "Select Status",
16998
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17073
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
16999
17074
  renderOption: renderTicketStatusOption
17000
17075
  }
17001
17076
  ) }),
@@ -17009,7 +17084,7 @@ function TakeOverTicketModal({
17009
17084
  placeholder: "Select Technician",
17010
17085
  loading: assigneesLoading,
17011
17086
  startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17012
- _chunkMIY5FYX3cjs.SquareAvatar,
17087
+ _chunkNNFQLTJ3cjs.SquareAvatar,
17013
17088
  {
17014
17089
  src: selectedAssignee.imageUrl,
17015
17090
  alt: selectedAssignee.label,
@@ -17022,7 +17097,7 @@ function TakeOverTicketModal({
17022
17097
  }
17023
17098
  ) })
17024
17099
  ] }),
17025
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: [
17100
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.ModalFooter, { children: [
17026
17101
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17027
17102
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17028
17103
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17081,9 +17156,9 @@ function ReopenTicketModal({
17081
17156
  reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
17082
17157
  });
17083
17158
  };
17084
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Modal, { isOpen, onClose: isPending ? () => {
17159
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Modal, { isOpen, onClose: isPending ? () => {
17085
17160
  } : 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" }) }),
17161
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17087
17162
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
17088
17163
  "The ticket ",
17089
17164
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -17098,7 +17173,7 @@ function ReopenTicketModal({
17098
17173
  value: selectedStatusId,
17099
17174
  onChange: setStatusId,
17100
17175
  placeholder: "Select Status",
17101
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17176
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17102
17177
  renderOption: renderTicketStatusOption
17103
17178
  }
17104
17179
  ) }),
@@ -17112,7 +17187,7 @@ function ReopenTicketModal({
17112
17187
  placeholder: "Select Technician",
17113
17188
  loading: assigneesLoading,
17114
17189
  startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17115
- _chunkMIY5FYX3cjs.SquareAvatar,
17190
+ _chunkNNFQLTJ3cjs.SquareAvatar,
17116
17191
  {
17117
17192
  src: selectedAssignee.imageUrl,
17118
17193
  alt: selectedAssignee.label,
@@ -17136,7 +17211,7 @@ function ReopenTicketModal({
17136
17211
  disabled: isPending
17137
17212
  }
17138
17213
  ) }),
17139
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: [
17214
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.ModalFooter, { children: [
17140
17215
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17141
17216
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17142
17217
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17184,9 +17259,9 @@ function ReopenTicketRequestModal({
17184
17259
  ...showHandoffOption ? { handoffToTechnician: handoff } : {}
17185
17260
  });
17186
17261
  };
17187
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.Modal, { isOpen, onClose: isPending ? () => {
17262
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Modal, { isOpen, onClose: isPending ? () => {
17188
17263
  } : 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" }) }),
17264
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17190
17265
  /* @__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
17266
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17192
17267
  Textarea,
@@ -17210,7 +17285,7 @@ function ReopenTicketRequestModal({
17210
17285
  disabled: isPending
17211
17286
  }
17212
17287
  ),
17213
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk75X6BRIDcjs.ModalFooter, { children: [
17288
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.ModalFooter, { children: [
17214
17289
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
17215
17290
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
17216
17291
  ] })
@@ -17364,7 +17439,7 @@ function ArrayEntryManager({
17364
17439
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1 space-y-2", children: [
17365
17440
  renderLabel && renderLabel(item, index),
17366
17441
  titleFieldKey ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17367
- _chunkQYQXAXVRcjs.Input,
17442
+ _chunkIKDC3R7Vcjs.Input,
17368
17443
  {
17369
17444
  placeholder: _nullishCoalesce(titlePlaceholder, () => ( "Name")),
17370
17445
  value: _nullishCoalesce(item[titleFieldKey], () => ( "")),
@@ -17374,7 +17449,7 @@ function ArrayEntryManager({
17374
17449
  }
17375
17450
  ) : null,
17376
17451
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17377
- _chunkQYQXAXVRcjs.Input,
17452
+ _chunkIKDC3R7Vcjs.Input,
17378
17453
  {
17379
17454
  placeholder,
17380
17455
  value: item[fieldKey],
@@ -17595,10 +17670,10 @@ function CompleteAccountForm({
17595
17670
  children
17596
17671
  }) {
17597
17672
  const fieldsDisabled = disabled || loading;
17598
- const firstNameErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _398 => _398.firstName]), firstName);
17599
- const lastNameErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _399 => _399.lastName]), lastName);
17600
- const passwordErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _400 => _400.password]), password);
17601
- const confirmErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _401 => _401.confirmPassword]), confirmPassword);
17673
+ const firstNameErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _398 => _398.firstName]), firstName);
17674
+ const lastNameErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _399 => _399.lastName]), lastName);
17675
+ const passwordErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _400 => _400.password]), password);
17676
+ const confirmErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _401 => _401.confirmPassword]), confirmPassword);
17602
17677
  const handleKeyDown = (event) => {
17603
17678
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
17604
17679
  onSubmit();
@@ -17633,7 +17708,7 @@ function CompleteAccountForm({
17633
17708
  ] })
17634
17709
  ] }),
17635
17710
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17636
- _chunkQYQXAXVRcjs.Input,
17711
+ _chunkIKDC3R7Vcjs.Input,
17637
17712
  {
17638
17713
  label: "First Name",
17639
17714
  placeholder: "Enter First Name",
@@ -17646,7 +17721,7 @@ function CompleteAccountForm({
17646
17721
  }
17647
17722
  ),
17648
17723
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17649
- _chunkQYQXAXVRcjs.Input,
17724
+ _chunkIKDC3R7Vcjs.Input,
17650
17725
  {
17651
17726
  label: "Last Name",
17652
17727
  placeholder: "Enter Last Name",
@@ -17785,9 +17860,9 @@ function CreateOrganizationForm({
17785
17860
  }) {
17786
17861
  const hasSso = !!ssoProviders && ssoProviders.length > 0;
17787
17862
  const fieldsDisabled = disabled || loading;
17788
- const emailErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _402 => _402.email]), email);
17789
- const orgNameErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _403 => _403.organizationName]), organizationName);
17790
- const domainErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _404 => _404.domain]), domain);
17863
+ const emailErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _402 => _402.email]), email);
17864
+ const orgNameErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _403 => _403.organizationName]), organizationName);
17865
+ const domainErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _404 => _404.domain]), domain);
17791
17866
  const handleKeyDown = (event) => {
17792
17867
  if (event.key === "Enter" && !fieldsDisabled) {
17793
17868
  onSubmit();
@@ -17806,7 +17881,7 @@ function CreateOrganizationForm({
17806
17881
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: "Start your journey with OpenFrame." })
17807
17882
  ] }),
17808
17883
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17809
- _chunkQYQXAXVRcjs.Input,
17884
+ _chunkIKDC3R7Vcjs.Input,
17810
17885
  {
17811
17886
  type: "email",
17812
17887
  label: "Email",
@@ -17821,7 +17896,7 @@ function CreateOrganizationForm({
17821
17896
  }
17822
17897
  ),
17823
17898
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17824
- _chunkQYQXAXVRcjs.Input,
17899
+ _chunkIKDC3R7Vcjs.Input,
17825
17900
  {
17826
17901
  label: "Organization Name",
17827
17902
  placeholder: "Your Company Name",
@@ -17835,7 +17910,7 @@ function CreateOrganizationForm({
17835
17910
  ),
17836
17911
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
17837
17912
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17838
- _chunkQYQXAXVRcjs.Input,
17913
+ _chunkIKDC3R7Vcjs.Input,
17839
17914
  {
17840
17915
  label: "Domain",
17841
17916
  placeholder: domainPlaceholder,
@@ -17955,7 +18030,7 @@ function LoginForm({
17955
18030
  className
17956
18031
  }) {
17957
18032
  const fieldDisabled = disabled || loading;
17958
- const emailErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _410 => _410.email]), email);
18033
+ const emailErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _410 => _410.email]), email);
17959
18034
  const handleKeyDown = (event) => {
17960
18035
  if (event.key === "Enter" && !fieldDisabled) {
17961
18036
  _optionalChain([onSubmit, 'optionalCall', _411 => _411()]);
@@ -17974,7 +18049,7 @@ function LoginForm({
17974
18049
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: "Enter your email to access your organization." })
17975
18050
  ] }),
17976
18051
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17977
- _chunkQYQXAXVRcjs.Input,
18052
+ _chunkIKDC3R7Vcjs.Input,
17978
18053
  {
17979
18054
  type: "email",
17980
18055
  label: "Email",
@@ -18027,8 +18102,8 @@ function OpenFrameSsoLoginForm({
18027
18102
  className
18028
18103
  }) {
18029
18104
  const fieldsDisabled = disabled || loading;
18030
- const emailErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _414 => _414.email]), email);
18031
- const passwordErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _415 => _415.password]), password);
18105
+ const emailErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _414 => _414.email]), email);
18106
+ const passwordErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _415 => _415.password]), password);
18032
18107
  const handleKeyDown = (event) => {
18033
18108
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18034
18109
  onSubmit();
@@ -18047,7 +18122,7 @@ function OpenFrameSsoLoginForm({
18047
18122
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18048
18123
  ] }),
18049
18124
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18050
- _chunkQYQXAXVRcjs.Input,
18125
+ _chunkIKDC3R7Vcjs.Input,
18051
18126
  {
18052
18127
  type: "email",
18053
18128
  label: emailLabel,
@@ -18133,11 +18208,11 @@ function OpenFrameSsoSignUpForm({
18133
18208
  className
18134
18209
  }) {
18135
18210
  const fieldsDisabled = disabled || loading;
18136
- const emailErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _416 => _416.email]), email);
18137
- const firstNameErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _417 => _417.firstName]), firstName);
18138
- const lastNameErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _418 => _418.lastName]), lastName);
18139
- const passwordErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _419 => _419.password]), password);
18140
- const confirmErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _420 => _420.confirmPassword]), confirmPassword);
18211
+ const emailErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _416 => _416.email]), email);
18212
+ const firstNameErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _417 => _417.firstName]), firstName);
18213
+ const lastNameErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _418 => _418.lastName]), lastName);
18214
+ const passwordErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _419 => _419.password]), password);
18215
+ const confirmErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _420 => _420.confirmPassword]), confirmPassword);
18141
18216
  const handleKeyDown = (event) => {
18142
18217
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18143
18218
  onSubmit();
@@ -18156,7 +18231,7 @@ function OpenFrameSsoSignUpForm({
18156
18231
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18157
18232
  ] }),
18158
18233
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18159
- _chunkQYQXAXVRcjs.Input,
18234
+ _chunkIKDC3R7Vcjs.Input,
18160
18235
  {
18161
18236
  type: "email",
18162
18237
  label: emailLabel,
@@ -18170,7 +18245,7 @@ function OpenFrameSsoSignUpForm({
18170
18245
  }
18171
18246
  ),
18172
18247
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18173
- _chunkQYQXAXVRcjs.Input,
18248
+ _chunkIKDC3R7Vcjs.Input,
18174
18249
  {
18175
18250
  label: "First Name",
18176
18251
  placeholder: "Enter First Name",
@@ -18183,7 +18258,7 @@ function OpenFrameSsoSignUpForm({
18183
18258
  }
18184
18259
  ),
18185
18260
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18186
- _chunkQYQXAXVRcjs.Input,
18261
+ _chunkIKDC3R7Vcjs.Input,
18187
18262
  {
18188
18263
  label: "Last Name",
18189
18264
  placeholder: "Enter Last Name",
@@ -18278,8 +18353,8 @@ function PasswordResetForm({
18278
18353
  className
18279
18354
  }) {
18280
18355
  const fieldsDisabled = disabled || loading;
18281
- const passwordErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _421 => _421.password]), password);
18282
- const confirmErr = _chunk2BFZHTSDcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _422 => _422.confirmPassword]), confirmPassword);
18356
+ const passwordErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _421 => _421.password]), password);
18357
+ const confirmErr = _chunkLEISUAHFcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _422 => _422.confirmPassword]), confirmPassword);
18283
18358
  const handleKeyDown = (event) => {
18284
18359
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18285
18360
  onSubmit();
@@ -18298,7 +18373,7 @@ function PasswordResetForm({
18298
18373
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18299
18374
  ] }),
18300
18375
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18301
- _chunkQYQXAXVRcjs.Input,
18376
+ _chunkIKDC3R7Vcjs.Input,
18302
18377
  {
18303
18378
  type: "password",
18304
18379
  label: newPasswordLabel,
@@ -18312,7 +18387,7 @@ function PasswordResetForm({
18312
18387
  }
18313
18388
  ),
18314
18389
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18315
- _chunkQYQXAXVRcjs.Input,
18390
+ _chunkIKDC3R7Vcjs.Input,
18316
18391
  {
18317
18392
  type: "password",
18318
18393
  label: confirmPasswordLabel,
@@ -18607,7 +18682,7 @@ function ChangelogManager({
18607
18682
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
18608
18683
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3QDJLLD2cjs.Label, { className: "text-ods-text-secondary", children: "Title *" }),
18609
18684
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18610
- _chunkQYQXAXVRcjs.Input,
18685
+ _chunkIKDC3R7Vcjs.Input,
18611
18686
  {
18612
18687
  placeholder: "e.g., New dark mode theme support",
18613
18688
  value: entry.title,
@@ -18813,7 +18888,7 @@ function EntityTagBadges({ tags, basePath, max, className }) {
18813
18888
  const label = (tag.name || "").toUpperCase();
18814
18889
  if (basePath && tag.slug) {
18815
18890
  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,
18891
+ _chunkNNFQLTJ3cjs.StatusBadge,
18817
18892
  {
18818
18893
  text: label,
18819
18894
  variant: "card",
@@ -18821,9 +18896,9 @@ function EntityTagBadges({ tags, basePath, max, className }) {
18821
18896
  }
18822
18897
  ) }, key);
18823
18898
  }
18824
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
18899
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
18825
18900
  }),
18826
- overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
18901
+ overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
18827
18902
  ] });
18828
18903
  }
18829
18904
 
@@ -18900,7 +18975,7 @@ var SectionButton = ({
18900
18975
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
18901
18976
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClasses, "whitespace-normal break-words text-h4"), children: section.title }),
18902
18977
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18903
- _chunkMIY5FYX3cjs.StatusBadge,
18978
+ _chunkNNFQLTJ3cjs.StatusBadge,
18904
18979
  {
18905
18980
  text: section.badge.text,
18906
18981
  variant: section.badge.variant || "button",
@@ -18919,7 +18994,7 @@ var SectionButton = ({
18919
18994
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
18920
18995
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
18921
18996
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18922
- _chunkMIY5FYX3cjs.StatusBadge,
18997
+ _chunkNNFQLTJ3cjs.StatusBadge,
18923
18998
  {
18924
18999
  text: section.badge.text,
18925
19000
  variant: section.badge.variant || "button",
@@ -19207,7 +19282,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
19207
19282
  sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
19208
19283
  title: config.title,
19209
19284
  loading: "eager",
19210
- ..._chunk75X6BRIDcjs.fetchPriorityProp.call(void 0, "high")
19285
+ ..._chunkRKGOVTXZcjs.fetchPriorityProp.call(void 0, "high")
19211
19286
  },
19212
19287
  iframeKey
19213
19288
  ),
@@ -19631,7 +19706,7 @@ var FiltersDropdown = ({
19631
19706
  window.addEventListener("resize", calculateOptimalPlacement);
19632
19707
  return () => window.removeEventListener("resize", calculateOptimalPlacement);
19633
19708
  }, [isOpen, isMobile, placement]);
19634
- _chunk36NFJULVcjs.useIsomorphicLayoutEffect.call(void 0, () => {
19709
+ _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
19635
19710
  const dropdown = dropdownRef.current;
19636
19711
  if (!dropdown) return;
19637
19712
  if (!isMobile) {
@@ -20033,7 +20108,7 @@ function MediaGalleryManager({
20033
20108
  (mediaItem, index) => {
20034
20109
  const isDeleting = deletingIndex === index;
20035
20110
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20036
- _chunkMIY5FYX3cjs.Card,
20111
+ _chunkNNFQLTJ3cjs.Card,
20037
20112
  {
20038
20113
  className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
20039
20114
  draggable: true,
@@ -20057,7 +20132,7 @@ function MediaGalleryManager({
20057
20132
  /* @__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
20133
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
20059
20134
  // 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" })
20135
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
20061
20136
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20062
20137
  _chunkWLSFBRT5cjs.next_image_default,
20063
20138
  {
@@ -20506,7 +20581,7 @@ function PlatformFilterComponent({
20506
20581
  variant: selectedPlatform === platform.value ? "accent" : "outline",
20507
20582
  size,
20508
20583
  onClick: () => onPlatformChange(platform.value),
20509
- leftIcon: showIcons ? _chunk2BFZHTSDcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
20584
+ leftIcon: showIcons ? _chunkLEISUAHFcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
20510
20585
  className: "text-h3",
20511
20586
  children: platform.label
20512
20587
  },
@@ -20614,9 +20689,9 @@ function PushButtonSelector({
20614
20689
  option.id
20615
20690
  );
20616
20691
  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 })
20692
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Tooltip, { children: [
20693
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipTrigger, { asChild: true, children: optionEl }),
20694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
20620
20695
  ] }, option.id);
20621
20696
  }
20622
20697
  return optionEl;
@@ -20653,7 +20728,7 @@ function PushButtonSelector({
20653
20728
  ungroupedOptions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: ungroupedOptions.map(renderOption) })
20654
20729
  ] });
20655
20730
  };
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: [
20731
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
20657
20732
  title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
20658
20733
  renderOptionsContent(),
20659
20734
  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 +20891,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
20816
20891
  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
20892
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
20818
20893
  // 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" })
20894
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
20820
20895
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20821
20896
  _chunkWLSFBRT5cjs.next_image_default,
20822
20897
  {
@@ -20853,7 +20928,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
20853
20928
  )
20854
20929
  ] }),
20855
20930
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20856
- _chunkQYQXAXVRcjs.Input,
20931
+ _chunkIKDC3R7Vcjs.Input,
20857
20932
  {
20858
20933
  placeholder: "Title (optional)",
20859
20934
  value: item.title,
@@ -20949,7 +21024,7 @@ var SelectButton = _react2.default.forwardRef(
20949
21024
  }
20950
21025
  )
20951
21026
  ] }),
20952
- tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
21027
+ tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
20953
21028
  selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
20954
21029
  ]
20955
21030
  }
@@ -21084,7 +21159,7 @@ function SEOEditorPreview({
21084
21159
  }
21085
21160
  ),
21086
21161
  children: (f) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21087
- _chunkQYQXAXVRcjs.Input,
21162
+ _chunkIKDC3R7Vcjs.Input,
21088
21163
  {
21089
21164
  ...f,
21090
21165
  value: seoTitle || "",
@@ -21117,7 +21192,7 @@ function SEOEditorPreview({
21117
21192
  )
21118
21193
  ] }) : void 0,
21119
21194
  children: (f) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21120
- _chunkQYQXAXVRcjs.Input,
21195
+ _chunkIKDC3R7Vcjs.Input,
21121
21196
  {
21122
21197
  ...f,
21123
21198
  value: seoKeywords || "",
@@ -21346,7 +21421,7 @@ function SocialLinksManager({
21346
21421
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: platforms.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: p.name, children: p.display_name }, p.name)) })
21347
21422
  ] }) }),
21348
21423
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21349
- _chunkQYQXAXVRcjs.Input,
21424
+ _chunkIKDC3R7Vcjs.Input,
21350
21425
  {
21351
21426
  placeholder: _optionalChain([platform, 'optionalAccess', _476 => _476.placeholder]) || "Profile URL",
21352
21427
  value: link.url,
@@ -21461,7 +21536,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
21461
21536
  className: _chunkPRPZBXWZcjs.cn.call(void 0, modeClassName, className),
21462
21537
  style: customStyle,
21463
21538
  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" }),
21539
+ rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
21465
21540
  children
21466
21541
  }
21467
21542
  );
@@ -21731,11 +21806,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
21731
21806
 
21732
21807
  function VideoBitesDisplay({
21733
21808
  bites,
21734
- title = _chunkMIY5FYX3cjs.DEFAULT_VIDEO_BITES_TITLE,
21809
+ title = _chunkNNFQLTJ3cjs.DEFAULT_VIDEO_BITES_TITLE,
21735
21810
  filterPublished = true,
21736
21811
  showTitle = true
21737
21812
  }) {
21738
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
21813
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
21739
21814
  }
21740
21815
 
21741
21816
  // src/components/features/walkthrough-video.tsx
@@ -21804,7 +21879,7 @@ function WalkthroughVideo({
21804
21879
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
21805
21880
  };
21806
21881
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
21807
- const hydrated = _chunk75X6BRIDcjs.useIsHydrated.call(void 0, );
21882
+ const hydrated = _chunkRKGOVTXZcjs.useIsHydrated.call(void 0, );
21808
21883
  const previewSuppressed = _react.useMemo.call(void 0, () => {
21809
21884
  if (!hydrated) return false;
21810
21885
  try {
@@ -22201,7 +22276,7 @@ function WalkthroughVideo({
22201
22276
  },
22202
22277
  children: [
22203
22278
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22204
- _chunk75X6BRIDcjs.VideoHoverPreviewSurface,
22279
+ _chunkRKGOVTXZcjs.VideoHoverPreviewSurface,
22205
22280
  {
22206
22281
  url: video.mainVideoUrl || "",
22207
22282
  posterUrl: video.posterUrl,
@@ -22224,7 +22299,7 @@ function WalkthroughVideo({
22224
22299
  `card-${embedUrlKey}`
22225
22300
  ) }),
22226
22301
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22227
- _chunk75X6BRIDcjs.CardHitLayer,
22302
+ _chunkRKGOVTXZcjs.CardHitLayer,
22228
22303
  {
22229
22304
  label: video.title ? `${label}: ${video.title}` : label,
22230
22305
  onPointerDown: pausePreviewNow,
@@ -22233,7 +22308,7 @@ function WalkthroughVideo({
22233
22308
  }
22234
22309
  ),
22235
22310
  /* @__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" }),
22311
+ 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, _chunkRKGOVTXZcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
22237
22312
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
22238
22313
  ] }),
22239
22314
  showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22246,7 +22321,7 @@ function WalkthroughVideo({
22246
22321
  onPointerDown: (e) => e.stopPropagation(),
22247
22322
  onClick: onUnmuteOrPlay,
22248
22323
  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, {})
22324
+ children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.VideoUnmuteGlyph, {})
22250
22325
  }
22251
22326
  ),
22252
22327
  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 +22414,7 @@ function WalkthroughVideo({
22339
22414
  children: [
22340
22415
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
22341
22416
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22342
- _chunk75X6BRIDcjs.Video,
22417
+ _chunkRKGOVTXZcjs.Video,
22343
22418
  {
22344
22419
  kind: video.youtubeUrl ? "youtube" : "file",
22345
22420
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -22390,7 +22465,7 @@ function InlineWalkthroughVideo(props) {
22390
22465
  var _reactquery = require('@tanstack/react-query');
22391
22466
  function useWalkthroughVideo(opts) {
22392
22467
  const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
22393
- const captions = _chunk75X6BRIDcjs.useCaptions.call(void 0, );
22468
+ const captions = _chunkRKGOVTXZcjs.useCaptions.call(void 0, );
22394
22469
  const query = _reactquery.useQuery.call(void 0, {
22395
22470
  queryKey: ["walkthrough-video", endpoint],
22396
22471
  enabled,
@@ -22527,7 +22602,7 @@ function VideoSourceSelector({
22527
22602
  videoSourceType === "youtube" && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
22528
22603
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3QDJLLD2cjs.Label, { children: youtubeLabel }),
22529
22604
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22530
- _chunkQYQXAXVRcjs.Input,
22605
+ _chunkIKDC3R7Vcjs.Input,
22531
22606
  {
22532
22607
  value: youtubeUrl,
22533
22608
  onChange: (e) => onYoutubeUrlChange(e.target.value),
@@ -22588,7 +22663,7 @@ function VideoSourceSelector({
22588
22663
  }
22589
22664
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
22590
22665
  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 }) }),
22666
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Video, { kind: "file", url: videoUrl }) }),
22592
22667
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22593
22668
  "button",
22594
22669
  {
@@ -23112,7 +23187,7 @@ function HighlightVideoSection({
23112
23187
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
23113
23188
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
23114
23189
  /* @__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 }) }),
23190
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
23116
23191
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23117
23192
  "button",
23118
23193
  {
@@ -23822,7 +23897,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
23822
23897
  if (level) onPermissionChange(categoryId, policy.id, level);
23823
23898
  };
23824
23899
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start 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 md:items-center", children: [
23825
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk36NFJULVcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
23900
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZI27ALYXcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
23826
23901
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
23827
23902
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h4", title: policy.name, children: policy.name }),
23828
23903
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "break-all text-ods-text-secondary text-h6", children: policy.commandPattern }),
@@ -23848,7 +23923,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
23848
23923
  ] });
23849
23924
  };
23850
23925
  var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
23851
- const { innerRef, containerStyle } = _chunk75X6BRIDcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
23926
+ const { innerRef, containerStyle } = _chunkRKGOVTXZcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
23852
23927
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
23853
23928
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
23854
23929
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -24013,10 +24088,10 @@ function WaitlistForm({
24013
24088
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
24014
24089
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
24015
24090
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
24016
- const { toast } = _chunk2BFZHTSDcjs.useToast.call(void 0, );
24017
- const { honeypotInputProps, getSignals, resetSignals } = _chunk2BFZHTSDcjs.useHumanitySignals.call(void 0, );
24091
+ const { toast } = _chunkLEISUAHFcjs.useToast.call(void 0, );
24092
+ const { honeypotInputProps, getSignals, resetSignals } = _chunkLEISUAHFcjs.useHumanitySignals.call(void 0, );
24018
24093
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
24019
- const isClient = _chunk75X6BRIDcjs.useIsHydrated.call(void 0, );
24094
+ const isClient = _chunkRKGOVTXZcjs.useIsHydrated.call(void 0, );
24020
24095
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
24021
24096
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
24022
24097
  const isMailDomainGeneric = hasGenericEmailDomain(email);
@@ -24101,7 +24176,7 @@ function WaitlistForm({
24101
24176
  children: [
24102
24177
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HoneypotField, { ...honeypotInputProps }),
24103
24178
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24104
- _chunkQYQXAXVRcjs.Input,
24179
+ _chunkIKDC3R7Vcjs.Input,
24105
24180
  {
24106
24181
  type: "email",
24107
24182
  value: email,
@@ -24820,7 +24895,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
24820
24895
  "data-state": open ? "open" : "closed",
24821
24896
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
24822
24897
  "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,
24898
+ _chunkRKGOVTXZcjs.OVERLAY_BACKDROP_CLASS,
24824
24899
  // Persist mode only: hold the fade-out's final (transparent) frame
24825
24900
  // so the backdrop doesn't snap back to opacity 1 and dim the whole
24826
24901
  // content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
@@ -24896,11 +24971,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
24896
24971
  }
24897
24972
  );
24898
24973
  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;
24974
+ var AppLayoutDrawerHeader = _chunkRKGOVTXZcjs.DrawerHeader;
24975
+ var AppLayoutDrawerTitle = _chunkRKGOVTXZcjs.DrawerTitle;
24976
+ var AppLayoutDrawerDescription = _chunkRKGOVTXZcjs.DrawerDescription;
24977
+ var AppLayoutDrawerBody = _chunkRKGOVTXZcjs.DrawerBody;
24978
+ var AppLayoutDrawerFooter = _chunkRKGOVTXZcjs.DrawerFooter;
24904
24979
 
24905
24980
  // src/components/features/notifications/notification-tile.tsx
24906
24981
 
@@ -24986,9 +25061,9 @@ function NotificationTile({
24986
25061
  height: 16,
24987
25062
  unoptimized: true
24988
25063
  }
24989
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk2BFZHTSDcjs.dotColorByVariant[accentVariant]) }))) }),
25064
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkLEISUAHFcjs.dotColorByVariant[accentVariant]) }))) }),
24990
25065
  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,
25066
+ !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkRKGOVTXZcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
24992
25067
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
24993
25068
  {
24994
25069
  active: isLive,
@@ -25033,7 +25108,7 @@ function NotificationTile({
25033
25108
  "div",
25034
25109
  {
25035
25110
  "aria-hidden": true,
25036
- className: _chunkPRPZBXWZcjs.cn.call(void 0, "absolute inset-x-0 -bottom-px h-1 origin-left", _chunk2BFZHTSDcjs.progressColorByVariant[accentVariant]),
25111
+ className: _chunkPRPZBXWZcjs.cn.call(void 0, "absolute inset-x-0 -bottom-px h-1 origin-left", _chunkLEISUAHFcjs.progressColorByVariant[accentVariant]),
25037
25112
  style: {
25038
25113
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
25039
25114
  animationDelay: `-${initialElapsed}ms`
@@ -25085,7 +25160,7 @@ function NotificationDrawer({
25085
25160
  const unreadNotifications = notifications.filter((n) => !n.read);
25086
25161
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
25087
25162
  /* @__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,
25163
+ _chunkRKGOVTXZcjs.DrawerTitle,
25089
25164
  {
25090
25165
  hideClose: true,
25091
25166
  className: "truncate",
@@ -25144,8 +25219,8 @@ function NotificationDrawer({
25144
25219
  }
25145
25220
  ) });
25146
25221
  }
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,
25222
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25223
+ _chunkRKGOVTXZcjs.DrawerContent,
25149
25224
  {
25150
25225
  side: "right",
25151
25226
  "aria-describedby": void 0,
@@ -25250,7 +25325,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
25250
25325
  ] });
25251
25326
  }
25252
25327
  function DesktopNotificationsToggleRow({ checked, onChange }) {
25253
- const { supported, permission, request } = _chunk2BFZHTSDcjs.useNotificationPermission.call(void 0, );
25328
+ const { supported, permission, request } = _chunkLEISUAHFcjs.useNotificationPermission.call(void 0, );
25254
25329
  if (!supported) return null;
25255
25330
  const blocked = permission === "denied";
25256
25331
  const handleChange = async (value) => {
@@ -25420,13 +25495,13 @@ function getApprovalMeta(notification) {
25420
25495
  function resolutionToStatus(resolution) {
25421
25496
  switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
25422
25497
  case "APPROVED":
25423
- return _chunk75X6BRIDcjs.APPROVAL_STATUS.APPROVED;
25498
+ return _chunkRKGOVTXZcjs.APPROVAL_STATUS.APPROVED;
25424
25499
  case "REJECTED":
25425
- return _chunk75X6BRIDcjs.APPROVAL_STATUS.REJECTED;
25500
+ return _chunkRKGOVTXZcjs.APPROVAL_STATUS.REJECTED;
25426
25501
  case "CANCELLED":
25427
- return _chunk75X6BRIDcjs.APPROVAL_STATUS.CANCELLED;
25502
+ return _chunkRKGOVTXZcjs.APPROVAL_STATUS.CANCELLED;
25428
25503
  default:
25429
- return _chunk75X6BRIDcjs.APPROVAL_STATUS.PENDING;
25504
+ return _chunkRKGOVTXZcjs.APPROVAL_STATUS.PENDING;
25430
25505
  }
25431
25506
  }
25432
25507
  function approvalMetaToBatchData(approval) {
@@ -25466,7 +25541,7 @@ function ApprovalRequestNotificationTile({
25466
25541
  const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _580 => _580.resolution]));
25467
25542
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
25468
25543
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
25469
- const { innerRef, containerStyle } = _chunk75X6BRIDcjs.useCollapsible.call(void 0, { expanded });
25544
+ const { innerRef, containerStyle } = _chunkRKGOVTXZcjs.useCollapsible.call(void 0, { expanded });
25470
25545
  if (!approval || !batchData) return null;
25471
25546
  const tileNotification = {
25472
25547
  ...notification,
@@ -25519,7 +25594,7 @@ function ApprovalRequestNotificationTile({
25519
25594
  }
25520
25595
  )
25521
25596
  ] }) : /* @__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 }),
25597
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ApprovalStatusTag, { status }),
25523
25598
  approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
25524
25599
  "by ",
25525
25600
  approval.resolvedByName
@@ -25537,12 +25612,12 @@ function ApprovalRequestNotificationTile({
25537
25612
  "aria-expanded": expanded,
25538
25613
  "aria-label": toggleLabel,
25539
25614
  className: "ml-auto w-6 shrink-0 px-0 md:w-8",
25540
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.ExpandChevron, { expanded })
25615
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.ExpandChevron, { expanded })
25541
25616
  }
25542
25617
  )
25543
25618
  ] }),
25544
25619
  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,
25620
+ _chunkRKGOVTXZcjs.ApprovalBatchMessage,
25546
25621
  {
25547
25622
  data: batchData,
25548
25623
  showExecutionStatus: false,
@@ -25610,7 +25685,7 @@ function renderCustomerOption(option, isSelected) {
25610
25685
  const { label, imageUrl } = option;
25611
25686
  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
25687
  /* @__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" }),
25688
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
25614
25689
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
25615
25690
  ] }),
25616
25691
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -25694,7 +25769,7 @@ function TimeTrackerPanel({
25694
25769
  }));
25695
25770
  const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
25696
25771
  const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25697
- _chunkMIY5FYX3cjs.SquareAvatar,
25772
+ _chunkNNFQLTJ3cjs.SquareAvatar,
25698
25773
  {
25699
25774
  src: selectedCustomer.imageUrl,
25700
25775
  alt: selectedCustomer.label,
@@ -25873,7 +25948,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
25873
25948
  function StatusTag({ status }) {
25874
25949
  if (status === "tracking") {
25875
25950
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25876
- _chunk75X6BRIDcjs.Tag,
25951
+ _chunkRKGOVTXZcjs.Tag,
25877
25952
  {
25878
25953
  variant: "success",
25879
25954
  className: STATUS_TAG_SKIN,
@@ -25883,9 +25958,9 @@ function StatusTag({ status }) {
25883
25958
  );
25884
25959
  }
25885
25960
  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" });
25961
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
25887
25962
  }
25888
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75X6BRIDcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
25963
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
25889
25964
  }
25890
25965
  function LastEntryRow({ entry, onClick }) {
25891
25966
  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 +26129,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
26054
26129
  "data-state": isOpen ? "open" : "closed",
26055
26130
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
26056
26131
  layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
26057
- _chunk75X6BRIDcjs.OVERLAY_BACKDROP_CLASS,
26132
+ _chunkRKGOVTXZcjs.OVERLAY_BACKDROP_CLASS,
26058
26133
  "data-[state=open]:animate-in data-[state=open]:fade-in-0",
26059
26134
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
26060
26135
  )
@@ -26208,7 +26283,7 @@ function BoardColumnHeader({
26208
26283
  }) {
26209
26284
  const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
26210
26285
  const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
26211
- const useStatusVariant = _chunk75X6BRIDcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
26286
+ const useStatusVariant = _chunkRKGOVTXZcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
26212
26287
  if (collapsed) {
26213
26288
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
26214
26289
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -26223,7 +26298,7 @@ function BoardColumnHeader({
26223
26298
  }
26224
26299
  ),
26225
26300
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26226
- _chunk75X6BRIDcjs.TicketStatusTag,
26301
+ _chunkRKGOVTXZcjs.TicketStatusTag,
26227
26302
  {
26228
26303
  status: tagStatus,
26229
26304
  label: column.label,
@@ -26236,7 +26311,7 @@ function BoardColumnHeader({
26236
26311
  }
26237
26312
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
26238
26313
  /* @__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 }),
26314
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
26240
26315
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
26241
26316
  ] }),
26242
26317
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -26316,7 +26391,7 @@ function cardPositions(root) {
26316
26391
  }
26317
26392
  function useLaneScrollAnchor(scrollRef, tickets) {
26318
26393
  const positionsRef = _react.useRef.call(void 0, []);
26319
- _chunk36NFJULVcjs.useIsomorphicLayoutEffect.call(void 0, () => {
26394
+ _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
26320
26395
  const root = scrollRef.current;
26321
26396
  if (!root) return;
26322
26397
  const previous = positionsRef.current;
@@ -26387,7 +26462,7 @@ function holdMoveDragEffect(element) {
26387
26462
 
26388
26463
  function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
26389
26464
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
26390
- const { innerRef, containerStyle } = _chunk75X6BRIDcjs.useCollapsible.call(void 0, { expanded });
26465
+ const { innerRef, containerStyle } = _chunkRKGOVTXZcjs.useCollapsible.call(void 0, { expanded });
26391
26466
  const isAdmin = pendingApproval.approvalType === "ADMIN";
26392
26467
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
26393
26468
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -26416,7 +26491,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
26416
26491
  }
26417
26492
  ),
26418
26493
  /* @__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,
26494
+ _chunkRKGOVTXZcjs.ApprovalBatchMessage,
26420
26495
  {
26421
26496
  className: "mb-0",
26422
26497
  data: {
@@ -26488,7 +26563,7 @@ var ACTIVITY_DEFAULT_LABEL = {
26488
26563
  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
26564
  function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
26490
26565
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
26491
- const newMessageTextColor = columnColor ? _chunk75X6BRIDcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
26566
+ const newMessageTextColor = columnColor ? _chunkRKGOVTXZcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
26492
26567
  const showDeviceRow = !!(_optionalChain([ticket, 'access', _616 => _616.deviceHostnames, 'optionalAccess', _617 => _617.length]) || ticket.organizationName);
26493
26568
  const deviceText = [_optionalChain([ticket, 'access', _618 => _618.deviceHostnames, 'optionalAccess', _619 => _619.join, 'call', _620 => _620(", ")]), ticket.organizationName].filter(Boolean).join(", ");
26494
26569
  const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _621 => _621.assignees, 'optionalAccess', _622 => _622.length]) || renderAssignSlot);
@@ -26510,7 +26585,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
26510
26585
  },
26511
26586
  a.id
26512
26587
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26513
- _chunkMIY5FYX3cjs.SquareAvatar,
26588
+ _chunkNNFQLTJ3cjs.SquareAvatar,
26514
26589
  {
26515
26590
  src: a.avatarUrl,
26516
26591
  alt: _nullishCoalesce(_nullishCoalesce(a.name, () => ( a.initials)), () => ( a.id)),
@@ -26527,8 +26602,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
26527
26602
  ] })
26528
26603
  ] }) : null
26529
26604
  ] }) : 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;
26605
+ const timestampLabel = ticket.createdAt ? _chunkRKGOVTXZcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
26606
+ const tooltipLabel = ticket.createdAt ? _chunkRKGOVTXZcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
26532
26607
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
26533
26608
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
26534
26609
  /* @__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 +26616,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
26541
26616
  rightSection
26542
26617
  ] }),
26543
26618
  _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 })
26619
+ timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRKGOVTXZcjs.Tooltip, { children: [
26620
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
26621
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.TooltipContent, { children: tooltipLabel })
26547
26622
  ] }) }),
26548
26623
  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
26624
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
@@ -26563,7 +26638,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
26563
26638
  }
26564
26639
  ),
26565
26640
  showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26566
- _chunk75X6BRIDcjs.Tag,
26641
+ _chunkRKGOVTXZcjs.Tag,
26567
26642
  {
26568
26643
  label: "New Message",
26569
26644
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
@@ -26777,8 +26852,8 @@ function TicketTagRow({ tags }) {
26777
26852
  const visible = tags.slice(0, MAX_VISIBLE_TAGS);
26778
26853
  const hidden = tags.length - visible.length;
26779
26854
  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}` })
26855
+ visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Tag, { variant: "outline", label: tag }, tag)),
26856
+ hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKGOVTXZcjs.Tag, { variant: "outline", label: `+${hidden}` })
26782
26857
  ] });
26783
26858
  }
26784
26859
 
@@ -27015,7 +27090,7 @@ function resolveBoardDrop(columns, { source, target }) {
27015
27090
  // src/components/features/board/use-board-collapse.ts
27016
27091
 
27017
27092
  function useBoardCollapse(storageKey) {
27018
- const [persisted, setPersisted] = _chunk2BFZHTSDcjs.useLocalStorage.call(void 0, _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")), {});
27093
+ const [persisted, setPersisted] = _chunkLEISUAHFcjs.useLocalStorage.call(void 0, _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")), {});
27019
27094
  const [memory, setMemory] = _react.useState.call(void 0, {});
27020
27095
  const collapsed = storageKey ? persisted : memory;
27021
27096
  const setMap = storageKey ? setPersisted : setMemory;
@@ -27065,7 +27140,7 @@ function Board({
27065
27140
  onThumbPointerDown,
27066
27141
  onThumbPointerMove,
27067
27142
  onThumbPointerUp
27068
- } = _chunk2BFZHTSDcjs.useHorizontalScrollbar.call(void 0, );
27143
+ } = _chunkLEISUAHFcjs.useHorizontalScrollbar.call(void 0, );
27069
27144
  const columnsRef = _react.useRef.call(void 0, columns);
27070
27145
  const onChangeRef = _react.useRef.call(void 0, onChange);
27071
27146
  const boardRef = _react.useRef.call(void 0, null);
@@ -27085,7 +27160,12 @@ function Board({
27085
27160
  const previewRef = _react.useRef.call(void 0, null);
27086
27161
  const [reportedMove, setPendingMove] = _react.useState.call(void 0, null);
27087
27162
  const pendingMove = reportedMove && !hasMoveSettled(columns, reportedMove) ? reportedMove : null;
27088
- const view = _react.useMemo.call(void 0, () => pendingMove ? applyPendingMove(columns, pendingMove) : columns, [columns, pendingMove]);
27163
+ const dragAndDropEnabled = _chunkLEISUAHFcjs.useDragAndDropEnabled.call(void 0, );
27164
+ const view = _react.useMemo.call(void 0, () => {
27165
+ const base = pendingMove ? applyPendingMove(columns, pendingMove) : columns;
27166
+ if (dragAndDropEnabled) return base;
27167
+ return base.map((column) => ({ ...column, dragDisabled: true, dropDisabled: true }));
27168
+ }, [columns, pendingMove, dragAndDropEnabled]);
27089
27169
  _react.useEffect.call(void 0, () => {
27090
27170
  columnsRef.current = view;
27091
27171
  onChangeRef.current = onChange;
@@ -27254,7 +27334,7 @@ function Board({
27254
27334
  })
27255
27335
  );
27256
27336
  }, []);
27257
- _chunk36NFJULVcjs.useIsomorphicLayoutEffect.call(void 0, () => {
27337
+ _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
27258
27338
  if (!landing) return void 0;
27259
27339
  const finish = () => {
27260
27340
  landingTimer.current = null;
@@ -27495,6 +27575,7 @@ function useSortableListContext() {
27495
27575
  }
27496
27576
  function SortableList({ onReorder, getItemLabel, disabled = false, className, children }) {
27497
27577
  const listRef = _react.useRef.call(void 0, null);
27578
+ const dragAndDropEnabled = _chunkLEISUAHFcjs.useDragAndDropEnabled.call(void 0, );
27498
27579
  const dragType = _react.useId.call(void 0, );
27499
27580
  const [announcement, setAnnouncement] = _react.useState.call(void 0, "");
27500
27581
  const onReorderRef = _react.useRef.call(void 0, onReorder);
@@ -27521,7 +27602,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
27521
27602
  );
27522
27603
  _react.useEffect.call(void 0, () => {
27523
27604
  const list = listRef.current;
27524
- if (!list) return void 0;
27605
+ if (!list || disabled || !dragAndDropEnabled) return void 0;
27525
27606
  let drag = null;
27526
27607
  return _combine.combine.call(void 0,
27527
27608
  // Dragging towards the edge of the screen — or past it — scrolls whatever
@@ -27585,8 +27666,8 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
27585
27666
  }
27586
27667
  })
27587
27668
  );
27588
- }, [dragType, readItems, reorder]);
27589
- _chunk36NFJULVcjs.useIsomorphicLayoutEffect.call(void 0, () => {
27669
+ }, [dragType, disabled, dragAndDropEnabled, readItems, reorder]);
27670
+ _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
27590
27671
  const from = flipFrom.current;
27591
27672
  flipFrom.current = null;
27592
27673
  if (!from) return;
@@ -27617,8 +27698,8 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
27617
27698
  []
27618
27699
  );
27619
27700
  const context = _react.useMemo.call(void 0,
27620
- () => ({ dragType, disabled, reorder, readItems }),
27621
- [dragType, disabled, reorder, readItems]
27701
+ () => ({ dragType, disabled, dragAndDropEnabled, reorder, readItems }),
27702
+ [dragType, disabled, dragAndDropEnabled, reorder, readItems]
27622
27703
  );
27623
27704
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableListContext.Provider, { value: context, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: listRef, className, children: [
27624
27705
  children,
@@ -27626,22 +27707,72 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
27626
27707
  ] }) });
27627
27708
  }
27628
27709
 
27710
+ // src/components/features/sortable-list/sortable-move-buttons.tsx
27711
+
27712
+
27713
+ function SortableMoveButtons({ index, count, label, className }) {
27714
+ const { disabled, reorder } = useSortableListContext();
27715
+ const upRef = _react.useRef.call(void 0, null);
27716
+ const downRef = _react.useRef.call(void 0, null);
27717
+ const move = (step) => {
27718
+ const to = index + step;
27719
+ if (to < 0 || to >= count) return;
27720
+ reorder(index, to);
27721
+ requestAnimationFrame(() => {
27722
+ if (step === -1 && to === 0) _optionalChain([downRef, 'access', _678 => _678.current, 'optionalAccess', _679 => _679.focus, 'call', _680 => _680()]);
27723
+ if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _681 => _681.current, 'optionalAccess', _682 => _682.focus, 'call', _683 => _683()]);
27724
+ });
27725
+ };
27726
+ const subject = _nullishCoalesce(label, () => ( "item"));
27727
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0", className), children: [
27728
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27729
+ _chunkYHNIPSG6cjs.Button,
27730
+ {
27731
+ ref: upRef,
27732
+ type: "button",
27733
+ variant: "outline",
27734
+ size: "icon",
27735
+ "aria-label": `Move ${subject} up`,
27736
+ disabled: disabled || index <= 0,
27737
+ onClick: () => move(-1),
27738
+ className: "rounded-r-none border-r-0",
27739
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Arrow01UpIcon, {})
27740
+ }
27741
+ ),
27742
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27743
+ _chunkYHNIPSG6cjs.Button,
27744
+ {
27745
+ ref: downRef,
27746
+ type: "button",
27747
+ variant: "outline",
27748
+ size: "icon",
27749
+ "aria-label": `Move ${subject} down`,
27750
+ disabled: disabled || index >= count - 1,
27751
+ onClick: () => move(1),
27752
+ className: "rounded-l-none",
27753
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Arrow01DownIcon, {})
27754
+ }
27755
+ )
27756
+ ] });
27757
+ }
27758
+
27629
27759
  // src/components/features/sortable-list/use-sortable-item.ts
27630
27760
 
27631
27761
 
27632
27762
  var _disablenativedragpreview = require('@atlaskit/pragmatic-drag-and-drop/element/disable-native-drag-preview');
27633
27763
 
27634
27764
  function useSortableItem() {
27635
- const { dragType, disabled, reorder, readItems } = useSortableListContext();
27765
+ const { dragType, disabled, dragAndDropEnabled, reorder, readItems } = useSortableListContext();
27766
+ const inert = disabled || !dragAndDropEnabled;
27636
27767
  const [item, setItem] = _react.useState.call(void 0, null);
27637
27768
  const [handle, setHandle] = _react.useState.call(void 0, null);
27638
27769
  const [isDragging, setIsDragging] = _react.useState.call(void 0, false);
27639
27770
  const itemRef = _react.useCallback.call(void 0, (node) => {
27640
- _optionalChain([node, 'optionalAccess', _678 => _678.setAttribute, 'call', _679 => _679(SORTABLE_ITEM_ATTRIBUTE, "")]);
27771
+ _optionalChain([node, 'optionalAccess', _684 => _684.setAttribute, 'call', _685 => _685(SORTABLE_ITEM_ATTRIBUTE, "")]);
27641
27772
  setItem(node);
27642
27773
  }, []);
27643
27774
  _react.useEffect.call(void 0, () => {
27644
- if (!item || !handle || disabled) return void 0;
27775
+ if (!item || !handle || inert) return void 0;
27645
27776
  return _combine.combine.call(void 0,
27646
27777
  // The drag has to start as a "move", or its first frame is drawn with the
27647
27778
  // copy cursor — see `drag-effect.ts`.
@@ -27656,78 +27787,62 @@ function useSortableItem() {
27656
27787
  onDrop: () => setIsDragging(false)
27657
27788
  })
27658
27789
  );
27659
- }, [item, handle, disabled, dragType]);
27790
+ }, [item, handle, inert, dragType]);
27660
27791
  const onKeyDown = _react.useCallback.call(void 0,
27661
27792
  (event) => {
27662
27793
  const step = event.key === "ArrowUp" ? -1 : event.key === "ArrowDown" ? 1 : 0;
27663
- if (!step || disabled) return;
27794
+ if (!step || inert) return;
27664
27795
  const items = readItems();
27665
27796
  const from = items.indexOf(event.currentTarget.closest(`[${SORTABLE_ITEM_ATTRIBUTE}]`));
27666
27797
  const to = from + step;
27667
27798
  if (from < 0 || to < 0 || to >= items.length) return;
27668
27799
  event.preventDefault();
27669
27800
  reorder(from, to);
27670
- requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _680 => _680.focus, 'call', _681 => _681()]));
27801
+ requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _686 => _686.focus, 'call', _687 => _687()]));
27671
27802
  },
27672
- [disabled, readItems, reorder, handle]
27803
+ [inert, readItems, reorder, handle]
27673
27804
  );
27674
- return { itemRef, dragHandleProps: { ref: setHandle, onKeyDown }, isDragging };
27805
+ return { itemRef, dragHandleProps: { ref: setHandle, onKeyDown }, isDragging, dragAndDropEnabled };
27675
27806
  }
27676
27807
 
27677
27808
  // src/components/features/ticket-status-config-list/ticket-status-config-list.tsx
27678
27809
 
27679
-
27680
-
27681
-
27682
-
27683
-
27684
-
27685
- var _core = require('@dnd-kit/core');
27686
-
27687
-
27688
-
27689
-
27690
-
27691
- var _sortable = require('@dnd-kit/sortable');
27692
- var _utilities = require('@dnd-kit/utilities');
27693
-
27694
-
27695
27810
  function TicketStatusConfigList({
27696
27811
  items,
27697
27812
  onReorder,
27698
27813
  renderRow,
27814
+ getItemLabel,
27699
27815
  className
27700
27816
  }) {
27701
- const sensors = _core.useSensors.call(void 0,
27702
- _core.useSensor.call(void 0, _core.PointerSensor, { activationConstraint: { distance: 4 } }),
27703
- _core.useSensor.call(void 0, _core.KeyboardSensor, { coordinateGetter: _sortable.sortableKeyboardCoordinates })
27817
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27818
+ SortableList,
27819
+ {
27820
+ onReorder,
27821
+ getItemLabel,
27822
+ className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className),
27823
+ children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _688 => _688(index)]), children: (args) => renderRow(item, args) }, item.id))
27824
+ }
27825
+ );
27826
+ }
27827
+ function SortableRow({
27828
+ index,
27829
+ count,
27830
+ label,
27831
+ children
27832
+ }) {
27833
+ const { itemRef, dragHandleProps, isDragging, dragAndDropEnabled } = useSortableItem();
27834
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27835
+ "div",
27836
+ {
27837
+ ref: itemRef,
27838
+ className: isDragging ? "relative z-10" : void 0,
27839
+ children: children({
27840
+ dragHandleProps,
27841
+ isDragging,
27842
+ moveButtons: dragAndDropEnabled ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableMoveButtons, { index, count, label })
27843
+ })
27844
+ }
27704
27845
  );
27705
- const handleDragEnd = (event) => {
27706
- const { active, over } = event;
27707
- if (!over || active.id === over.id) return;
27708
- const oldIndex = items.findIndex((i) => i.id === active.id);
27709
- const newIndex = items.findIndex((i) => i.id === over.id);
27710
- if (oldIndex === -1 || newIndex === -1) return;
27711
- onReorder(oldIndex, newIndex);
27712
- };
27713
- const sortableIds = _react.useMemo.call(void 0, () => items.map((i) => i.id), [items]);
27714
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _core.DndContext, { sensors, collisionDetection: _core.closestCenter, onDragEnd: handleDragEnd, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _sortable.SortableContext, { items: sortableIds, strategy: _sortable.verticalListSortingStrategy, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className), children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { id: item.id, children: (args) => renderRow(item, args) }, item.id)) }) }) });
27715
- }
27716
- function SortableRow({ id, children }) {
27717
- const { attributes, listeners, setNodeRef, transform, transition, isDragging } = _sortable.useSortable.call(void 0, { id });
27718
- const style = {
27719
- transform: _utilities.CSS.Transform.toString(transform),
27720
- transition,
27721
- // Raise the actively dragged row above its siblings — without this the
27722
- // stacking follows DOM order, so a row dragged DOWN slides UNDER the rows
27723
- // below it while a row dragged up correctly renders on top.
27724
- zIndex: isDragging ? 1 : void 0
27725
- };
27726
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setNodeRef, style, children: children({
27727
- dragHandleProps: listeners,
27728
- dragHandleAttributes: attributes,
27729
- isDragging
27730
- }) });
27731
27846
  }
27732
27847
 
27733
27848
 
@@ -28293,5 +28408,6 @@ function SortableRow({ id, children }) {
28293
28408
 
28294
28409
 
28295
28410
 
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
28411
+
28412
+ 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.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.COMPACT_ROW_MIN_HEIGHT_PX = COMPACT_ROW_MIN_HEIGHT_PX; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.DataTableEmpty = DataTableEmpty; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow;
28413
+ //# sourceMappingURL=chunk-FEVLXRTC.cjs.map