@flamingo-stack/openframe-frontend-core 0.0.701 → 0.0.702-snapshot.20261005191338

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 (106) hide show
  1. package/dist/{chunk-DJLZXJYB.js → chunk-2NE3DNXY.js} +1 -1
  2. package/dist/{chunk-V5QNDOEL.js → chunk-53AC23ZN.js} +4 -4
  3. package/dist/{chunk-BQ34PIFC.cjs → chunk-5VPIC5MD.cjs} +3 -3
  4. package/dist/{chunk-BRQY2HKD.cjs → chunk-67CXGPTW.cjs} +24 -24
  5. package/dist/{chunk-BZYMGI4L.js → chunk-7632TNE7.js} +1 -1
  6. package/dist/{chunk-QPNR4N7N.cjs → chunk-BMJUKS6S.cjs} +20 -20
  7. package/dist/{chunk-GD4JALTR.js → chunk-BOUPNYUV.js} +2 -2
  8. package/dist/{chunk-BPS7JQCI.cjs → chunk-BSEIEWM5.cjs} +2 -2
  9. package/dist/{chunk-6JG75WVO.js → chunk-DAW6TDZB.js} +4 -4
  10. package/dist/{chunk-B7M6QEEM.js → chunk-ENGBNKUJ.js} +673 -432
  11. package/dist/{chunk-N7HMUQRV.js → chunk-G55W76S6.js} +1 -1
  12. package/dist/{chunk-65YVUYWJ.cjs → chunk-GX3OUTFO.cjs} +32 -32
  13. package/dist/{chunk-S4ADN25W.js → chunk-GZYLZ4MB.js} +2 -2
  14. package/dist/{chunk-A5ZGKBN2.js → chunk-HHFPQNP3.js} +1 -1
  15. package/dist/{chunk-RTGPIHVO.cjs → chunk-HY5YL3U5.cjs} +247 -173
  16. package/dist/{chunk-DG2I57UM.cjs → chunk-HYLIQMZH.cjs} +21 -21
  17. package/dist/{chunk-N7DPIH57.js → chunk-J4K5JOLI.js} +1 -1
  18. package/dist/{chunk-4H5Q6MQG.cjs → chunk-KFDP3DUL.cjs} +44 -44
  19. package/dist/{chunk-QDIX2ZRL.cjs → chunk-MXHJROXJ.cjs} +754 -513
  20. package/dist/{chunk-CUPJCGLB.js → chunk-NCTYD7HL.js} +2 -2
  21. package/dist/{chunk-MFORWVGD.js → chunk-NMGX2ZTU.js} +5 -5
  22. package/dist/{chunk-QZGFJBG5.cjs → chunk-NU724ZVN.cjs} +70 -70
  23. package/dist/{chunk-ZSPHOHOW.cjs → chunk-NYSYSKSH.cjs} +9 -9
  24. package/dist/{chunk-PNWIVND4.js → chunk-PJP5SMOU.js} +3 -3
  25. package/dist/{chunk-6JPQDYYY.js → chunk-QGTDWFT6.js} +419 -345
  26. package/dist/{chunk-GFXZMFDX.cjs → chunk-RLDAYA2A.cjs} +9 -9
  27. package/dist/{chunk-2CSYUMNM.cjs → chunk-RTXTGLGB.cjs} +2 -2
  28. package/dist/{chunk-YBC346FY.cjs → chunk-S6V7A5FS.cjs} +12 -12
  29. package/dist/{chunk-7ZDTAABP.cjs → chunk-SFGXIFYO.cjs} +7 -7
  30. package/dist/{chunk-JPVDJB27.js → chunk-SL2FOFT2.js} +4 -4
  31. package/dist/{chunk-EONNPRAW.js → chunk-UTW4SQDI.js} +2 -2
  32. package/dist/{chunk-NIT257DV.cjs → chunk-YBGEPKC2.cjs} +4 -4
  33. package/dist/components/case-studies/index.cjs +14 -14
  34. package/dist/components/case-studies/index.js +3 -3
  35. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  36. package/dist/components/chat/index.cjs +2 -2
  37. package/dist/components/chat/index.js +1 -1
  38. package/dist/components/contact/index.cjs +4 -4
  39. package/dist/components/contact/index.js +3 -3
  40. package/dist/components/docs/index.cjs +7 -7
  41. package/dist/components/docs/index.js +6 -6
  42. package/dist/components/embeds/index.cjs +4 -4
  43. package/dist/components/embeds/index.js +3 -3
  44. package/dist/components/faq/index.cjs +4 -4
  45. package/dist/components/faq/index.js +3 -3
  46. package/dist/components/features/index.cjs +23 -3
  47. package/dist/components/features/index.js +22 -2
  48. package/dist/components/features/remote-session/index.d.ts +9 -1
  49. package/dist/components/features/remote-session/index.d.ts.map +1 -1
  50. package/dist/components/features/remote-session/remote-session-block.d.ts +4 -2
  51. package/dist/components/features/remote-session/remote-session-block.d.ts.map +1 -1
  52. package/dist/components/features/remote-session/remote-session-chat-panel.d.ts +4 -2
  53. package/dist/components/features/remote-session/remote-session-chat-panel.d.ts.map +1 -1
  54. package/dist/components/features/remote-session/remote-session-events.d.ts +24 -0
  55. package/dist/components/features/remote-session/remote-session-events.d.ts.map +1 -0
  56. package/dist/components/features/remote-session/remote-session-keep-modals.d.ts +41 -0
  57. package/dist/components/features/remote-session/remote-session-keep-modals.d.ts.map +1 -0
  58. package/dist/components/features/remote-session/remote-session-parts.d.ts +13 -2
  59. package/dist/components/features/remote-session/remote-session-parts.d.ts.map +1 -1
  60. package/dist/components/features/remote-session/remote-session-status.d.ts +34 -0
  61. package/dist/components/features/remote-session/remote-session-status.d.ts.map +1 -0
  62. package/dist/components/features/remote-session/remote-session-viewers.d.ts +15 -0
  63. package/dist/components/features/remote-session/remote-session-viewers.d.ts.map +1 -0
  64. package/dist/components/features/remote-session/types.d.ts +22 -0
  65. package/dist/components/features/remote-session/types.d.ts.map +1 -1
  66. package/dist/components/help-center-pages/index.cjs +71 -71
  67. package/dist/components/help-center-pages/index.js +14 -14
  68. package/dist/components/index.cjs +61 -41
  69. package/dist/components/index.js +33 -13
  70. package/dist/components/meeting-scheduler/index.cjs +25 -25
  71. package/dist/components/meeting-scheduler/index.js +2 -2
  72. package/dist/components/navigation/app-layout-drawer.d.ts.map +1 -1
  73. package/dist/components/navigation/index.cjs +6 -6
  74. package/dist/components/navigation/index.js +5 -5
  75. package/dist/components/onboarding-guides/index.cjs +6 -6
  76. package/dist/components/onboarding-guides/index.js +5 -5
  77. package/dist/components/tickets/index.cjs +7 -7
  78. package/dist/components/tickets/index.js +6 -6
  79. package/dist/components/ui/drawer.d.ts +7 -3
  80. package/dist/components/ui/drawer.d.ts.map +1 -1
  81. package/dist/components/ui/index.cjs +3 -3
  82. package/dist/components/ui/index.js +2 -2
  83. package/dist/components/ui/panel-resize-handle.d.ts +25 -0
  84. package/dist/components/ui/panel-resize-handle.d.ts.map +1 -0
  85. package/dist/hooks/ui/use-resizable-panel-size.d.ts +46 -0
  86. package/dist/hooks/ui/use-resizable-panel-size.d.ts.map +1 -0
  87. package/dist/index.cjs +27 -7
  88. package/dist/index.js +26 -6
  89. package/dist/tailwind.config.cjs +7 -1
  90. package/dist/tailwind.config.js +7 -1
  91. package/package.json +1 -1
  92. package/src/components/chat/embeddable-chat.tsx +11 -9
  93. package/src/components/features/remote-session/index.ts +28 -0
  94. package/src/components/features/remote-session/remote-session-block.tsx +6 -3
  95. package/src/components/features/remote-session/remote-session-chat-panel.tsx +11 -7
  96. package/src/components/features/remote-session/remote-session-events.tsx +93 -0
  97. package/src/components/features/remote-session/remote-session-keep-modals.tsx +208 -0
  98. package/src/components/features/remote-session/remote-session-parts.tsx +32 -3
  99. package/src/components/features/remote-session/remote-session-status.tsx +102 -0
  100. package/src/components/features/remote-session/remote-session-viewers.tsx +103 -0
  101. package/src/components/features/remote-session/types.ts +26 -0
  102. package/src/components/navigation/app-layout-drawer.tsx +14 -237
  103. package/src/components/ui/drawer.tsx +41 -188
  104. package/src/components/ui/panel-resize-handle.tsx +184 -0
  105. package/src/hooks/ui/use-resizable-panel-size.ts +114 -0
  106. package/tailwind.config.ts +6 -0
@@ -95,8 +95,9 @@ var _chunkLX22Y43Bcjs = require('./chunk-LX22Y43B.cjs');
95
95
 
96
96
 
97
97
 
98
- var _chunkRTGPIHVOcjs = require('./chunk-RTGPIHVO.cjs');
99
98
 
99
+
100
+ var _chunkHY5YL3U5cjs = require('./chunk-HY5YL3U5.cjs');
100
101
 
101
102
 
102
103
 
@@ -229,6 +230,8 @@ var _chunkX72J4ACLcjs = require('./chunk-X72J4ACL.cjs');
229
230
 
230
231
 
231
232
 
233
+
234
+
232
235
 
233
236
 
234
237
 
@@ -384,7 +387,7 @@ function ThemeProvider({ children, ...overrides }) {
384
387
  var useTheme = _nextthemes.useTheme;
385
388
  function useThemeToggle() {
386
389
  const { resolvedTheme, theme, setTheme } = useTheme();
387
- const mounted = _chunkRTGPIHVOcjs.useIsHydrated.call(void 0, );
390
+ const mounted = _chunkHY5YL3U5cjs.useIsHydrated.call(void 0, );
388
391
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
389
392
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
390
393
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -2659,7 +2662,7 @@ function Value2({ value, depth }) {
2659
2662
  }
2660
2663
  if (typeof value === "string") {
2661
2664
  if (ISO_DATE.test(value)) {
2662
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkRTGPIHVOcjs.formatRelativeTime.call(void 0, value) });
2665
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkHY5YL3U5cjs.formatRelativeTime.call(void 0, value) });
2663
2666
  }
2664
2667
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
2665
2668
  }
@@ -3291,7 +3294,7 @@ function RowValue({ value }) {
3291
3294
  }
3292
3295
  case "status": {
3293
3296
  const { type: _type, ...props } = value;
3294
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TicketStatusTag, { ...props });
3297
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TicketStatusTag, { ...props });
3295
3298
  }
3296
3299
  case "custom":
3297
3300
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
@@ -4747,10 +4750,10 @@ function useConfirm() {
4747
4750
  },
4748
4751
  []
4749
4752
  );
4750
- const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4751
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalTitle, { children: pending.title }) }),
4752
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4753
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.ModalFooter, { children: [
4753
+ const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4754
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: pending.title }) }),
4755
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4756
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
4754
4757
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
4755
4758
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
4756
4759
  ] })
@@ -4809,14 +4812,14 @@ function AdminFormDrawer({
4809
4812
  else onClose();
4810
4813
  };
4811
4814
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4812
- _chunkRTGPIHVOcjs.Drawer,
4815
+ _chunkHY5YL3U5cjs.Drawer,
4813
4816
  {
4814
4817
  open: isOpen,
4815
4818
  onOpenChange: (open) => {
4816
4819
  if (!open) requestClose();
4817
4820
  },
4818
4821
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4819
- _chunkRTGPIHVOcjs.DrawerContent,
4822
+ _chunkHY5YL3U5cjs.DrawerContent,
4820
4823
  {
4821
4824
  side: "right",
4822
4825
  resizable: true,
@@ -4825,11 +4828,11 @@ function AdminFormDrawer({
4825
4828
  storageKey,
4826
4829
  panelClassName: "max-md:w-[calc(100vw-1rem)]",
4827
4830
  children: [
4828
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.DrawerHeader, { children: [
4829
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.DrawerTitle, { children: title }),
4830
- subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.DrawerDescription, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: subtitle }) })
4831
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.DrawerHeader, { children: [
4832
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.DrawerTitle, { children: title }),
4833
+ subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.DrawerDescription, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: subtitle }) })
4831
4834
  ] }),
4832
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4835
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4833
4836
  "form",
4834
4837
  {
4835
4838
  id: formId,
@@ -4960,9 +4963,9 @@ function AdminFormModal({
4960
4963
  body: "Your edits have not been saved. Close and discard them?"
4961
4964
  });
4962
4965
  if (!isOpen) return null;
4963
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4964
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.ModalHeader, { children: [
4965
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalTitle, { children: title }),
4966
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4967
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: [
4968
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: title }),
4966
4969
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
4967
4970
  ] }),
4968
4971
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -4987,7 +4990,7 @@ function AdminFormModal({
4987
4990
  // a shrink-to-fit flex item pinned to the left of a 1400px panel).
4988
4991
  // The placeholder owns its own layout and mirrors the column count so
4989
4992
  // the modal doesn't visibly re-flow when the entity lands.
4990
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4993
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4991
4994
  "div",
4992
4995
  {
4993
4996
  "aria-busy": "true",
@@ -5008,12 +5011,12 @@ function AdminFormModal({
5008
5011
  ]
5009
5012
  }
5010
5013
  ) })
5011
- ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalContent, { className: contentClassName, children }),
5014
+ ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalContent, { className: contentClassName, children }),
5012
5015
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
5013
5016
  ]
5014
5017
  }
5015
5018
  ),
5016
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
5019
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
5017
5020
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
5018
5021
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
5019
5022
  footerStatus,
@@ -7238,7 +7241,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
7238
7241
  };
7239
7242
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
7240
7243
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7241
- _chunkRTGPIHVOcjs.Video,
7244
+ _chunkHY5YL3U5cjs.Video,
7242
7245
  {
7243
7246
  url: item.src,
7244
7247
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7962,7 +7965,7 @@ function buildRichEmbedOverrides({
7962
7965
  ogEndpointPath,
7963
7966
  textSizes
7964
7967
  }) {
7965
- const standard = _chunkRTGPIHVOcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7968
+ const standard = _chunkHY5YL3U5cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7966
7969
  return {
7967
7970
  // Fence-language embeds (```youtube-embed etc.); everything else
7968
7971
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7972,7 +7975,7 @@ function buildRichEmbedOverrides({
7972
7975
  const language = match ? match[1] : "";
7973
7976
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7974
7977
  if (language === "youtube-embed") {
7975
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.Video, { kind: "youtube", url: fenceText() });
7978
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "youtube", url: fenceText() });
7976
7979
  }
7977
7980
  if (language === "reddit-embed") {
7978
7981
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -8013,7 +8016,7 @@ function buildRichEmbedOverrides({
8013
8016
  "data-figma-url": figmaUrl
8014
8017
  } = divProps;
8015
8018
  if (className === "youtube-embed" && videoId) {
8016
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.Video, { kind: "youtube", url: videoId });
8019
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "youtube", url: videoId });
8017
8020
  }
8018
8021
  if (className === "reddit-embed" && postUrl) {
8019
8022
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -8098,14 +8101,14 @@ function buildRichEmbedOverrides({
8098
8101
  // rich-markdown runtime (Supabase optimization on the hub, identity
8099
8102
  // elsewhere). Guard against empty `![]()`.
8100
8103
  img: ({ src, alt }) => {
8101
- if (!_chunkRTGPIHVOcjs.hasRenderableSrc.call(void 0, src)) return null;
8104
+ if (!_chunkHY5YL3U5cjs.hasRenderableSrc.call(void 0, src)) return null;
8102
8105
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
8103
8106
  },
8104
8107
  // Raw <video> tags in stored content (blog publisher injection) route
8105
8108
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
8106
8109
  video: ({ src, poster, className }) => {
8107
- if (!_chunkRTGPIHVOcjs.hasRenderableSrc.call(void 0, src)) return null;
8108
- 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, _chunkRTGPIHVOcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
8110
+ if (!_chunkHY5YL3U5cjs.hasRenderableSrc.call(void 0, src)) return null;
8111
+ 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, _chunkHY5YL3U5cjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
8109
8112
  }
8110
8113
  };
8111
8114
  }
@@ -8346,13 +8349,13 @@ var RichMarkdownInner = ({
8346
8349
  },
8347
8350
  [resolveLinkEndpointUrl, resolveSource]
8348
8351
  );
8349
- const textSizes = _react.useMemo.call(void 0, () => _chunkRTGPIHVOcjs.resolveTextSizeConfig.call(void 0, "article"), []);
8352
+ const textSizes = _react.useMemo.call(void 0, () => _chunkHY5YL3U5cjs.resolveTextSizeConfig.call(void 0, "article"), []);
8350
8353
  const componentOverrides = _react.useMemo.call(void 0,
8351
8354
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
8352
8355
  [ogApiBaseUrl, ogEndpointPath, textSizes]
8353
8356
  );
8354
8357
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8355
- _chunkRTGPIHVOcjs.MarkdownEngine,
8358
+ _chunkHY5YL3U5cjs.MarkdownEngine,
8356
8359
  {
8357
8360
  content,
8358
8361
  className,
@@ -8374,7 +8377,7 @@ var RichMarkdownRendererImpl = ({
8374
8377
  className = "",
8375
8378
  sectionIds,
8376
8379
  onInternalLinkClick,
8377
- brokenLinks = _chunkRTGPIHVOcjs.NO_BROKEN_LINKS,
8380
+ brokenLinks = _chunkHY5YL3U5cjs.NO_BROKEN_LINKS,
8378
8381
  currentPath,
8379
8382
  resolveSource = "openframe-docs",
8380
8383
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -9356,7 +9359,7 @@ function FilterModal({
9356
9359
  const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _182 => _182.defaultSort]), () => ( "desc"));
9357
9360
  const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _183 => _183.sort]), () => ( dateDefaultSort)));
9358
9361
  const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _184 => _184.range]));
9359
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkRTGPIHVOcjs.useScrollFade.call(void 0, );
9362
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkHY5YL3U5cjs.useScrollFade.call(void 0, );
9360
9363
  const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
9361
9364
  const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
9362
9365
  _react.useEffect.call(void 0, () => {
@@ -9401,10 +9404,10 @@ function FilterModal({
9401
9404
  const hasFilterGroups = filterGroups.length > 0;
9402
9405
  const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
9403
9406
  const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
9404
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Modal, { isOpen, onClose, className: _chunk3ATAYP36cjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
9405
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalTitle, { children: title }) }),
9407
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose, className: _chunk3ATAYP36cjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
9408
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: title }) }),
9406
9409
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9407
- _chunkRTGPIHVOcjs.ModalContent,
9410
+ _chunkHY5YL3U5cjs.ModalContent,
9408
9411
  {
9409
9412
  className: _chunk3ATAYP36cjs.cn.call(void 0,
9410
9413
  "flex min-h-0 flex-1 flex-col",
@@ -9496,12 +9499,12 @@ function FilterModal({
9496
9499
  ] })
9497
9500
  }
9498
9501
  ),
9499
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
9500
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
9502
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
9503
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
9501
9504
  ] })
9502
9505
  }
9503
9506
  ),
9504
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.ModalFooter, { children: [
9507
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
9505
9508
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
9506
9509
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
9507
9510
  ] })
@@ -9545,9 +9548,9 @@ function actionToMenuItems(action, idx) {
9545
9548
  function renderActionButton(action, opts = {}) {
9546
9549
  const button = renderRawActionButton(action, opts);
9547
9550
  if (!action.tooltip) return button;
9548
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Tooltip, { children: [
9549
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipTrigger, { asChild: true, children: button }),
9550
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipContent, { children: action.tooltip })
9551
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { children: [
9552
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipTrigger, { asChild: true, children: button }),
9553
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { children: action.tooltip })
9551
9554
  ] }) });
9552
9555
  }
9553
9556
  function renderRawActionButton(action, opts = {}) {
@@ -9571,7 +9574,7 @@ function renderRawActionButton(action, opts = {}) {
9571
9574
  }
9572
9575
  if (action.submenu && action.submenu.length > 0) {
9573
9576
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9574
- _chunkRTGPIHVOcjs.ActionsMenuDropdown,
9577
+ _chunkHY5YL3U5cjs.ActionsMenuDropdown,
9575
9578
  {
9576
9579
  groups: [{ items: action.submenu }],
9577
9580
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -9706,10 +9709,10 @@ function IconButtonsVariant({
9706
9709
  selector,
9707
9710
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9708
9711
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
9709
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ActionsMenuDropdown, { groups: menuActions })
9712
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ActionsMenuDropdown, { groups: menuActions })
9710
9713
  ] })
9711
9714
  ] }),
9712
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.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, _chunkRTGPIHVOcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
9715
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.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, _chunkHY5YL3U5cjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
9713
9716
  ] });
9714
9717
  }
9715
9718
  function PrimaryButtonsVariant({
@@ -9747,7 +9750,7 @@ function MenuPrimaryVariant({
9747
9750
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
9748
9751
  selector,
9749
9752
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9750
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ActionsMenuDropdown, { groups: menuActions }),
9753
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ActionsMenuDropdown, { groups: menuActions }),
9751
9754
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
9752
9755
  ] })
9753
9756
  ] }),
@@ -9755,7 +9758,7 @@ function MenuPrimaryVariant({
9755
9758
  // The selector rides into the menu as its header row: on mobile the
9756
9759
  // title row has no room for it, and hiding it entirely (what
9757
9760
  // `icon-buttons` does) would leave no way to switch views at all.
9758
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
9761
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
9759
9762
  ) : null })
9760
9763
  ] });
9761
9764
  }
@@ -11849,8 +11852,8 @@ function makeComposeContentUrl(opts) {
11849
11852
  }
11850
11853
  if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
11851
11854
  const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
11852
- const owner = claimedOwner && _chunkRTGPIHVOcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
11853
- const origin = owner ? _chunkRTGPIHVOcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
11855
+ const owner = claimedOwner && _chunkHY5YL3U5cjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
11856
+ const origin = owner ? _chunkHY5YL3U5cjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
11854
11857
  return {
11855
11858
  href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _244 => _244.trim, 'call', _245 => _245()]) || identifier}`,
11856
11859
  // Report the owner so `decideNewTab` can compare it against the current
@@ -12025,7 +12028,7 @@ function extractSections(markdown, options = {}) {
12025
12028
  if (heading.level > opts.maxLevel) continue;
12026
12029
  let title = heading.text;
12027
12030
  if (opts.stripFormattingMarkers) {
12028
- title = _chunkRTGPIHVOcjs.stripInlineMarkdown.call(void 0, title).trim();
12031
+ title = _chunkHY5YL3U5cjs.stripInlineMarkdown.call(void 0, title).trim();
12029
12032
  }
12030
12033
  const baseId = _chunkIIMICN7Lcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkIIMICN7Lcjs.stripHeadingEmojis.call(void 0, title) : title);
12031
12034
  const cleanId = baseId || `section-${sections.length + 1}`;
@@ -13382,7 +13385,7 @@ function DropdownButton({
13382
13385
  )
13383
13386
  );
13384
13387
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13385
- _chunkRTGPIHVOcjs.ActionsMenuDropdown,
13388
+ _chunkHY5YL3U5cjs.ActionsMenuDropdown,
13386
13389
  {
13387
13390
  groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
13388
13391
  open,
@@ -13820,9 +13823,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
13820
13823
  return next;
13821
13824
  });
13822
13825
  };
13823
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Tooltip, { open, onOpenChange: setOpen, children: [
13826
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { open, onOpenChange: setOpen, children: [
13824
13827
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13825
- _chunkRTGPIHVOcjs.TooltipTrigger,
13828
+ _chunkHY5YL3U5cjs.TooltipTrigger,
13826
13829
  {
13827
13830
  asChild: true,
13828
13831
  onPointerDown: (e) => {
@@ -13840,7 +13843,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
13840
13843
  children
13841
13844
  }
13842
13845
  ),
13843
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipContent, { side, className: "max-w-xs", children: content })
13846
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { side, className: "max-w-xs", children: content })
13844
13847
  ] }) });
13845
13848
  }
13846
13849
 
@@ -14513,7 +14516,7 @@ function TableHeader({
14513
14516
  onFilterChange
14514
14517
  }
14515
14518
  ),
14516
- column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InfoHint, { label: column.label, children: column.hint }) : null
14519
+ column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InfoHint, { label: column.label, children: column.hint }) : null
14517
14520
  ] })
14518
14521
  ) : (
14519
14522
  /* Non-filterable column — regular label with optional sort */
@@ -14539,7 +14542,7 @@ function TableHeader({
14539
14542
  hint exists, so a hint-less header keeps its DOM. */
14540
14543
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
14541
14544
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
14542
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InfoHint, { label: column.label, children: column.hint })
14545
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InfoHint, { label: column.label, children: column.hint })
14543
14546
  ] })
14544
14547
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
14545
14548
  getSortIcon(column)
@@ -15151,9 +15154,9 @@ function TruncatedHeaderCell({ value, width }) {
15151
15154
  setIsTruncated(el.scrollWidth > el.clientWidth);
15152
15155
  }
15153
15156
  }, []);
15154
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
15155
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.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 }) }) }),
15156
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
15157
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
15158
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.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 }) }) }),
15159
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
15157
15160
  ] }) });
15158
15161
  }
15159
15162
 
@@ -15206,9 +15209,9 @@ function TruncatedCell({ value, className }) {
15206
15209
  setIsTruncated(el.scrollWidth > el.clientWidth);
15207
15210
  }
15208
15211
  }, []);
15209
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
15210
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunk3ATAYP36cjs.cn.call(void 0, "block truncate", className), children: value }) }),
15211
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
15212
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
15213
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunk3ATAYP36cjs.cn.call(void 0, "block truncate", className), children: value }) }),
15214
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
15212
15215
  ] }) });
15213
15216
  }
15214
15217
 
@@ -15880,7 +15883,7 @@ function HeaderCell({ header, sort, onSortChange }) {
15880
15883
  // child of the cell.
15881
15884
  _optionalChain([meta, 'optionalAccess', _325 => _325.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
15882
15885
  filterTrigger,
15883
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
15886
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
15884
15887
  ] }) : filterTrigger
15885
15888
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
15886
15889
  "div",
@@ -15905,7 +15908,7 @@ function HeaderCell({ header, sort, onSortChange }) {
15905
15908
  // centred on the row.
15906
15909
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
15907
15910
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
15908
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
15911
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
15909
15912
  ] })
15910
15913
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
15911
15914
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -17841,20 +17844,20 @@ function ColorPresetSelect({
17841
17844
  ...presets.map((p) => ({
17842
17845
  id: p.key,
17843
17846
  label: p.label,
17844
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ColorSwatch, { color: p.color }),
17847
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: p.color }),
17845
17848
  onClick: () => onChange({ color: p.color, preset: p.key })
17846
17849
  })),
17847
17850
  {
17848
17851
  id: CUSTOM_PRESET_KEY,
17849
17852
  label: "Custom",
17850
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
17853
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
17851
17854
  onClick: () => onChange({ color: value, preset: void 0 })
17852
17855
  }
17853
17856
  ]
17854
17857
  }
17855
17858
  ];
17856
17859
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17857
- _chunkRTGPIHVOcjs.ActionsMenuDropdown,
17860
+ _chunkHY5YL3U5cjs.ActionsMenuDropdown,
17858
17861
  {
17859
17862
  groups,
17860
17863
  align: "start",
@@ -17864,7 +17867,7 @@ function ColorPresetSelect({
17864
17867
  {
17865
17868
  disabled,
17866
17869
  "aria-label": `Color: ${displayLabel}`,
17867
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ColorSwatch, { color: displayColor }),
17870
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: displayColor }),
17868
17871
  selectedLabel: displayLabel,
17869
17872
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
17870
17873
  className: _chunk3ATAYP36cjs.cn.call(void 0, "group", className)
@@ -17885,7 +17888,7 @@ function HexInputs({ value, onChange }) {
17885
17888
  }
17886
17889
  const commit = () => {
17887
17890
  const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
17888
- if (_chunkRTGPIHVOcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
17891
+ if (_chunkHY5YL3U5cjs.HEX_PATTERN.test(candidate)) onChange(candidate);
17889
17892
  else setDraft(value);
17890
17893
  };
17891
17894
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17949,12 +17952,12 @@ function ChannelInput({
17949
17952
  );
17950
17953
  }
17951
17954
  function RgbInputs({ value, onChange }) {
17952
- const rgb = _nullishCoalesce(_chunkRTGPIHVOcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
17955
+ const rgb = _nullishCoalesce(_chunkHY5YL3U5cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
17953
17956
  const update = (next) => {
17954
17957
  const r = _nullishCoalesce(next.r, () => ( rgb.r));
17955
17958
  const g = _nullishCoalesce(next.g, () => ( rgb.g));
17956
17959
  const b = _nullishCoalesce(next.b, () => ( rgb.b));
17957
- onChange(_chunkRTGPIHVOcjs.rgbToHex.call(void 0, r, g, b));
17960
+ onChange(_chunkHY5YL3U5cjs.rgbToHex.call(void 0, r, g, b));
17958
17961
  };
17959
17962
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
17960
17963
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
@@ -17963,14 +17966,14 @@ function RgbInputs({ value, onChange }) {
17963
17966
  ] });
17964
17967
  }
17965
17968
  function HslInputs({ value, onChange }) {
17966
- const rgb = _nullishCoalesce(_chunkRTGPIHVOcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
17967
- const hsl = _chunkRTGPIHVOcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
17969
+ const rgb = _nullishCoalesce(_chunkHY5YL3U5cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
17970
+ const hsl = _chunkHY5YL3U5cjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
17968
17971
  const update = (next) => {
17969
17972
  const h = _nullishCoalesce(next.h, () => ( hsl.h));
17970
17973
  const s = _nullishCoalesce(next.s, () => ( hsl.s));
17971
17974
  const l = _nullishCoalesce(next.l, () => ( hsl.l));
17972
- const out = _chunkRTGPIHVOcjs.hslToRgb.call(void 0, h, s, l);
17973
- onChange(_chunkRTGPIHVOcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
17975
+ const out = _chunkHY5YL3U5cjs.hslToRgb.call(void 0, h, s, l);
17976
+ onChange(_chunkHY5YL3U5cjs.rgbToHex.call(void 0, out.r, out.g, out.b));
17974
17977
  };
17975
17978
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
17976
17979
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
@@ -17996,7 +17999,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
17996
17999
  {
17997
18000
  disabled,
17998
18001
  "aria-label": "Pick custom color",
17999
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ColorSwatch, { color: value }),
18002
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: value }),
18000
18003
  selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
18001
18004
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
18002
18005
  className: _chunk3ATAYP36cjs.cn.call(void 0, "group", className)
@@ -18012,7 +18015,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
18012
18015
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
18013
18016
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
18014
18017
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18015
- _chunkRTGPIHVOcjs.ActionsMenuDropdown,
18018
+ _chunkHY5YL3U5cjs.ActionsMenuDropdown,
18016
18019
  {
18017
18020
  groups: formatGroups,
18018
18021
  align: "start",
@@ -18069,7 +18072,7 @@ function TicketStatusConfigRow({
18069
18072
  const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
18070
18073
  const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
18071
18074
  const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18072
- _chunkRTGPIHVOcjs.TicketStatusTag,
18075
+ _chunkHY5YL3U5cjs.TicketStatusTag,
18073
18076
  {
18074
18077
  status: statusKey,
18075
18078
  label: name || " ",
@@ -18221,7 +18224,7 @@ function formatTestRunDuration(ms) {
18221
18224
  var RESULT_COLUMN_MIN_WIDTH = 176;
18222
18225
  var SKELETON_COLUMNS = 6;
18223
18226
  function TestResultsSkeleton() {
18224
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
18227
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
18225
18228
  /* @__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}`)) }),
18226
18229
  /* @__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}`)) }) })
18227
18230
  ] }) });
@@ -18256,7 +18259,7 @@ function TestResultsTable({ rows, loading }) {
18256
18259
  if (loading) {
18257
18260
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
18258
18261
  }
18259
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.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: [
18262
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.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: [
18260
18263
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
18261
18264
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
18262
18265
  ] }) }) });
@@ -18362,7 +18365,7 @@ function useTestRunState(campaign) {
18362
18365
  const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
18363
18366
  const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
18364
18367
  const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
18365
- const startedLabel = showTiming && campaign.startedAt ? _chunkRTGPIHVOcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
18368
+ const startedLabel = showTiming && campaign.startedAt ? _chunkHY5YL3U5cjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
18366
18369
  const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
18367
18370
  const displayRows = _react.useMemo.call(void 0,
18368
18371
  () => campaign.results.map(
@@ -18700,7 +18703,7 @@ function TicketInfoSection({
18700
18703
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _430 => _430.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _431 => _431.icon]), onClick: _optionalChain([device, 'optionalAccess', _432 => _432.onClick]) }),
18701
18704
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
18702
18705
  (status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18703
- _chunkRTGPIHVOcjs.TicketStatusTag,
18706
+ _chunkHY5YL3U5cjs.TicketStatusTag,
18704
18707
  {
18705
18708
  status: _nullishCoalesce(status, () => ( "")),
18706
18709
  label: statusLabel,
@@ -18739,7 +18742,7 @@ function TicketInfoSection({
18739
18742
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18740
18743
  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" }) }),
18741
18744
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
18742
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.SimpleMarkdownRenderer, { content: description }),
18745
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.SimpleMarkdownRenderer, { content: description }),
18743
18746
  attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
18744
18747
  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, _chunkEMCQGFXDcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
18745
18748
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18764,7 +18767,7 @@ function renderTicketStatusOption(option, isSelected) {
18764
18767
  const { label, color } = option;
18765
18768
  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: [
18766
18769
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
18767
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ColorSwatch, { color }),
18770
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color }),
18768
18771
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
18769
18772
  ] }),
18770
18773
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -18809,9 +18812,9 @@ function TakeOverTicketModal({
18809
18812
  if (!selectedStatusId || !assigneeId || isPending) return;
18810
18813
  onConfirm({ statusId: selectedStatusId, assigneeId });
18811
18814
  };
18812
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Modal, { isOpen, onClose: isPending ? () => {
18815
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
18813
18816
  } : onClose, className: "text-left md:max-w-[600px]", children: [
18814
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalTitle, { children: "Take Over Ticket" }) }),
18817
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Take Over Ticket" }) }),
18815
18818
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
18816
18819
  "The ticket ",
18817
18820
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -18826,7 +18829,7 @@ function TakeOverTicketModal({
18826
18829
  value: selectedStatusId,
18827
18830
  onChange: setStatusId,
18828
18831
  placeholder: "Select Status",
18829
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
18832
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
18830
18833
  renderOption: renderTicketStatusOption
18831
18834
  }
18832
18835
  ) }),
@@ -18853,7 +18856,7 @@ function TakeOverTicketModal({
18853
18856
  }
18854
18857
  ) })
18855
18858
  ] }),
18856
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.ModalFooter, { children: [
18859
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
18857
18860
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
18858
18861
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
18859
18862
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18912,9 +18915,9 @@ function ReopenTicketModal({
18912
18915
  reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
18913
18916
  });
18914
18917
  };
18915
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Modal, { isOpen, onClose: isPending ? () => {
18918
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
18916
18919
  } : onClose, className: "text-left md:max-w-[600px]", children: [
18917
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalTitle, { children: "Reopen Ticket" }) }),
18920
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Reopen Ticket" }) }),
18918
18921
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
18919
18922
  "The ticket ",
18920
18923
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -18929,7 +18932,7 @@ function ReopenTicketModal({
18929
18932
  value: selectedStatusId,
18930
18933
  onChange: setStatusId,
18931
18934
  placeholder: "Select Status",
18932
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
18935
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
18933
18936
  renderOption: renderTicketStatusOption
18934
18937
  }
18935
18938
  ) }),
@@ -18967,7 +18970,7 @@ function ReopenTicketModal({
18967
18970
  disabled: isPending
18968
18971
  }
18969
18972
  ) }),
18970
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.ModalFooter, { children: [
18973
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
18971
18974
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
18972
18975
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
18973
18976
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19016,9 +19019,9 @@ function ReopenTicketRequestModal({
19016
19019
  ...showHandoffOption ? { handoffToTechnician: handoff } : {}
19017
19020
  });
19018
19021
  };
19019
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Modal, { isOpen, onClose: isPending ? () => {
19022
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
19020
19023
  } : onClose, className: "text-left md:max-w-[600px]", children: [
19021
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ModalTitle, { children: "Reopen Ticket" }) }),
19024
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Reopen Ticket" }) }),
19022
19025
  /* @__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." }),
19023
19026
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19024
19027
  Textarea,
@@ -19042,7 +19045,7 @@ function ReopenTicketRequestModal({
19042
19045
  disabled: isPending
19043
19046
  }
19044
19047
  ),
19045
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.ModalFooter, { children: [
19048
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
19046
19049
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
19047
19050
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
19048
19051
  ] })
@@ -19184,7 +19187,7 @@ function PhotoWall({ images, columns = 2, speed = 24, fadeColor, className, load
19184
19187
  gap: COLUMN_GAP_PX
19185
19188
  };
19186
19189
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk3ATAYP36cjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19187
- _chunkRTGPIHVOcjs.MarqueeWall,
19190
+ _chunkHY5YL3U5cjs.MarqueeWall,
19188
19191
  {
19189
19192
  axis: "y",
19190
19193
  reverse: index % 2 === 1,
@@ -19328,7 +19331,7 @@ var INCIDENT_TONE = {
19328
19331
  approved: "success"
19329
19332
  };
19330
19333
  function IncidentStatusLine({ status, label, className }) {
19331
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.StatusLine, { tone: INCIDENT_TONE[status], label, className });
19334
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.StatusLine, { tone: INCIDENT_TONE[status], label, className });
19332
19335
  }
19333
19336
  function SourceTag({ children }) {
19334
19337
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 rounded-md border border-ods-border px-2 py-1 text-ods-text-secondary text-h5", children });
@@ -21936,7 +21939,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
21936
21939
  sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
21937
21940
  title: config.title,
21938
21941
  loading: "eager",
21939
- ..._chunkRTGPIHVOcjs.fetchPriorityProp.call(void 0, "high")
21942
+ ..._chunkHY5YL3U5cjs.fetchPriorityProp.call(void 0, "high")
21940
21943
  },
21941
21944
  iframeKey
21942
21945
  ),
@@ -22929,7 +22932,7 @@ function MediaGalleryManager({
22929
22932
  ) }),
22930
22933
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
22931
22934
  // <Video> SSOT (MuxPlayer): plays Mux HLS and MP4 alike; fit="cover" crops to the cell.
22932
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
22935
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
22933
22936
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22934
22937
  _chunkMGHIV4L6cjs.next_image_default,
22935
22938
  {
@@ -23413,60 +23416,60 @@ function CardSkeleton({
23413
23416
  function VendorCardContent({ showMetadata }) {
23414
23417
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3 p-4", children: [
23415
23418
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-3", children: [
23416
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[60px] w-[60px] flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Avatar, { size: "sm", className: "h-11 w-11" }) }),
23419
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[60px] w-[60px] flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm", className: "h-11 w-11" }) }),
23417
23420
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
23418
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
23419
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-1/2" })
23421
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
23422
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/2" })
23420
23423
  ] })
23421
23424
  ] }),
23422
23425
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
23423
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
23424
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-2/3" })
23426
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
23427
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
23425
23428
  ] }) }),
23426
23429
  showMetadata && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
23427
23430
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
23428
23431
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
23429
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
23430
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-8" })
23432
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
23433
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-8" })
23431
23434
  ] }),
23432
23435
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
23433
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
23434
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-10" })
23436
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
23437
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-10" })
23435
23438
  ] })
23436
23439
  ] }),
23437
23440
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
23438
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
23439
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" })
23441
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
23442
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
23440
23443
  ] }) })
23441
23444
  ] })
23442
23445
  ] });
23443
23446
  }
23444
23447
  function BlogCardContent({ showActions, showMetadata }) {
23445
23448
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
23446
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "blog-card-image-container relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.CardImage, {}) }),
23449
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "blog-card-image-container relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.CardImage, {}) }),
23447
23450
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-grow flex-col p-4", children: [
23448
23451
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[50.4px] items-center md:min-h-[56px] lg:min-h-[61.6px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
23449
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-full" }),
23450
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-3/4" })
23452
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-full" }),
23453
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" })
23451
23454
  ] }) }),
23452
23455
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-3 flex h-[28px] items-center gap-2", children: [
23453
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Chip, { className: "w-16" }),
23454
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Chip, { className: "w-12" })
23456
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-16" }),
23457
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-12" })
23455
23458
  ] }),
23456
23459
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[42px] items-center md:min-h-[45px] lg:min-h-[48px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
23457
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
23458
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-1/2" })
23460
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
23461
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/2" })
23459
23462
  ] }) }),
23460
- showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Button, { className: "h-8 w-24" }) }),
23463
+ showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "h-8 w-24" }) }),
23461
23464
  showMetadata && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 border-t border-ods-border pt-4", children: [
23462
23465
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
23463
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Avatar, { size: "sm" }),
23464
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" })
23466
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm" }),
23467
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
23465
23468
  ] }),
23466
23469
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-3 text-ods-text-muted", children: [
23467
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-12" }),
23470
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-12" }),
23468
23471
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-1 w-1 rounded-full bg-ods-skeleton" }),
23469
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" })
23472
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
23470
23473
  ] })
23471
23474
  ] }) })
23472
23475
  ] })
@@ -23474,35 +23477,35 @@ function BlogCardContent({ showActions, showMetadata }) {
23474
23477
  }
23475
23478
  function CategoryCardContent() {
23476
23479
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 p-4 md:p-6", children: [
23477
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "lg", className: "flex-shrink-0" }, index)) }),
23480
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "lg", className: "flex-shrink-0" }, index)) }),
23478
23481
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23479
23482
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
23480
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
23481
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-1/2" })
23483
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
23484
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/2" })
23482
23485
  ] }),
23483
23486
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between gap-4 md:items-end md:gap-6", children: [
23484
23487
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
23485
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
23486
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-2/3" })
23488
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
23489
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
23487
23490
  ] }),
23488
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Button, { className: "h-10 w-10 flex-shrink-0 md:h-12 md:w-12" })
23491
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "h-10 w-10 flex-shrink-0 md:h-12 md:w-12" })
23489
23492
  ] })
23490
23493
  ] })
23491
23494
  ] });
23492
23495
  }
23493
23496
  function AlternativeCardContent({ showActions }) {
23494
23497
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4 p-4", children: [
23495
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Avatar, { size: "md", className: "flex-shrink-0" }),
23498
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "md", className: "flex-shrink-0" }),
23496
23499
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
23497
23500
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
23498
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-1/3" }),
23499
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" })
23501
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/3" }),
23502
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
23500
23503
  ] }),
23501
23504
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
23502
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
23503
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-5/6" })
23505
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
23506
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-5/6" })
23504
23507
  ] }),
23505
- showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Button, { className: "h-8 w-20" }) })
23508
+ showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "h-8 w-20" }) })
23506
23509
  ] })
23507
23510
  ] });
23508
23511
  }
@@ -23553,12 +23556,12 @@ function HeroSkeleton() {
23553
23556
  background: "radial-gradient(circle at 50% 0%, #242323 0%, #1A1A1A 100%)"
23554
23557
  },
23555
23558
  children: [
23556
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Heading, { className: "mb-4 h-12 w-full max-w-4xl md:mb-6 md:h-20 lg:h-24" }),
23559
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "mb-4 h-12 w-full max-w-4xl md:mb-6 md:h-20 lg:h-24" }),
23557
23560
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-8 w-full max-w-4xl space-y-3 px-2 md:mb-10", children: [
23558
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "h-5 md:h-7" }),
23559
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "mx-auto h-5 w-3/4 md:h-7" })
23561
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "h-5 md:h-7" }),
23562
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "mx-auto h-5 w-3/4 md:h-7" })
23560
23563
  ] }),
23561
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Button, { className: "h-12 w-full md:w-64" })
23564
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "h-12 w-full md:w-64" })
23562
23565
  ]
23563
23566
  }
23564
23567
  );
@@ -23569,14 +23572,14 @@ function SearchContainerSkeleton({
23569
23572
  }) {
23570
23573
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-4", className || ""), children: [
23571
23574
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 md:gap-4", children: [
23572
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Input, { className: "flex-1" }),
23573
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Button, { className: "w-32 md:w-40" })
23575
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Input, { className: "flex-1" }),
23576
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "w-32 md:w-40" })
23574
23577
  ] }),
23575
23578
  showFilters && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap gap-2", children: [
23576
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Chip, {}),
23577
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Chip, { className: "w-24" }),
23578
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Chip, { className: "w-16" }),
23579
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Chip, { className: "w-20" })
23579
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, {}),
23580
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-24" }),
23581
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-16" }),
23582
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-20" })
23580
23583
  ] })
23581
23584
  ] });
23582
23585
  }
@@ -23595,7 +23598,7 @@ function CategorySidebarSkeleton({ className }) {
23595
23598
  { type: "file", width: "w-36" }
23596
23599
  ];
23597
23600
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full lg:w-[320px]", className), children: [
23598
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "mb-4 h-[14px] w-24 rounded" }),
23601
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "mb-4 h-[14px] w-24 rounded" }),
23599
23602
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1.5", children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23600
23603
  "div",
23601
23604
  {
@@ -23605,12 +23608,12 @@ function CategorySidebarSkeleton({ className }) {
23605
23608
  ),
23606
23609
  children: [
23607
23610
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2.5", children: [
23608
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-4 w-4 shrink-0 rounded" }),
23609
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: `h-[14px] ${item.width} rounded` })
23611
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-4 w-4 shrink-0 rounded" }),
23612
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: `h-[14px] ${item.width} rounded` })
23610
23613
  ] }),
23611
23614
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[18px] items-center gap-2", children: [
23612
- item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-[18px] w-14 rounded" }),
23613
- item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-4 w-4 rounded" })
23615
+ item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-[18px] w-14 rounded" }),
23616
+ item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-4 w-4 rounded" })
23614
23617
  ] })
23615
23618
  ]
23616
23619
  },
@@ -23620,17 +23623,17 @@ function CategorySidebarSkeleton({ className }) {
23620
23623
  }
23621
23624
  function BreadcrumbSkeleton({ className }) {
23622
23625
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mb-6 flex items-center space-x-1", className), children: [
23623
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" }),
23624
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
23625
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-24" }),
23626
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
23627
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-32" }),
23628
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
23629
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-24" })
23626
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" }),
23627
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
23628
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-24" }),
23629
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
23630
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-32" }),
23631
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
23632
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-24" })
23630
23633
  ] });
23631
23634
  }
23632
23635
  function ResultsHeaderSkeleton({ className }) {
23633
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mb-6 flex flex-col items-start justify-between gap-4 md:flex-row md:items-center", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-48" }) }) });
23636
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mb-6 flex flex-col items-start justify-between gap-4 md:flex-row md:items-center", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-48" }) }) });
23634
23637
  }
23635
23638
  function TwoColumnLayoutSkeleton({
23636
23639
  className,
@@ -23662,35 +23665,35 @@ function ArticleLayoutSkeleton({ className }) {
23662
23665
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mx-auto max-w-4xl", className), children: [
23663
23666
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "mb-8 space-y-4 md:mb-12 md:space-y-6", children: [
23664
23667
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
23665
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Chip, {}),
23666
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Chip, { className: "w-16" })
23668
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, {}),
23669
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-16" })
23667
23670
  ] }),
23668
23671
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
23669
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Heading, { className: "w-full" }),
23670
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Heading, { className: "w-3/4" })
23672
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-full" }),
23673
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-3/4" })
23671
23674
  ] }),
23672
23675
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 border-t border-ods-divider pt-4", children: [
23673
23676
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
23674
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Avatar, { size: "sm" }),
23675
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-24" })
23677
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm" }),
23678
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-24" })
23676
23679
  ] }),
23677
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-20" }),
23678
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" })
23680
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-20" }),
23681
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
23679
23682
  ] })
23680
23683
  ] }),
23681
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.CardImage, { className: "h-64 w-full md:h-96" }) }),
23684
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.CardImage, { className: "h-64 w-full md:h-96" }) }),
23682
23685
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "prose prose-invert max-w-none space-y-6", children: [
23683
23686
  Array.from({ length: 12 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23684
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
23685
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
23686
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-5/6" }),
23687
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-3/4" })
23687
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
23688
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
23689
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-5/6" }),
23690
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
23688
23691
  ] }, index)),
23689
23692
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "py-4", children: [
23690
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "mb-4 w-2/3" }),
23693
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "mb-4 w-2/3" }),
23691
23694
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23692
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
23693
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-4/5" })
23695
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
23696
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-4/5" })
23694
23697
  ] })
23695
23698
  ] })
23696
23699
  ] })
@@ -23916,11 +23919,11 @@ function StatsSectionSkeleton({ className, columns = 3 }) {
23916
23919
  className
23917
23920
  ),
23918
23921
  children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
23919
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "lg" }),
23920
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
23922
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "lg" }),
23923
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
23921
23924
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23922
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
23923
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-3/4" })
23925
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
23926
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
23924
23927
  ] })
23925
23928
  ] }) }, i))
23926
23929
  }
@@ -24061,7 +24064,7 @@ function useContentLoading(isLoading) {
24061
24064
 
24062
24065
  function ParagraphSkeleton({ className, lines = 4 }) {
24063
24066
  const lineWidths = ["w-full", "w-full", "w-5/6", "w-3/4", "w-4/5", "w-2/3"];
24064
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: lineWidths[index % lineWidths.length] }, index)) });
24067
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: lineWidths[index % lineWidths.length] }, index)) });
24065
24068
  }
24066
24069
  function ListSkeleton({
24067
24070
  className,
@@ -24071,12 +24074,12 @@ function ListSkeleton({
24071
24074
  }) {
24072
24075
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
24073
24076
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
24074
- showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm" }),
24075
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-32 md:w-48" })
24077
+ showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
24078
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-32 md:w-48" })
24076
24079
  ] }),
24077
24080
  showActions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
24078
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-8" }),
24079
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4" })
24081
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-8" }),
24082
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4" })
24080
24083
  ] })
24081
24084
  ] }, index)) });
24082
24085
  }
@@ -24086,13 +24089,13 @@ function TableSkeleton({
24086
24089
  columns = 4
24087
24090
  }) {
24088
24091
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-4", className), children: [
24089
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
24092
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
24090
24093
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24091
24094
  "div",
24092
24095
  {
24093
24096
  className: "grid gap-4 border-b border-ods-divider py-2",
24094
24097
  style: { gridTemplateColumns: `repeat(${columns}, 1fr)` },
24095
- children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-2/3" }, colIndex))
24098
+ children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" }, colIndex))
24096
24099
  },
24097
24100
  rowIndex
24098
24101
  )) })
@@ -24101,13 +24104,13 @@ function TableSkeleton({
24101
24104
  function FormSkeleton({ className, fields = 4 }) {
24102
24105
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), children: [
24103
24106
  Array.from({ length: fields }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
24104
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-24" }),
24105
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Input, {}),
24106
- index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-48" })
24107
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-24" }),
24108
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Input, {}),
24109
+ index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-48" })
24107
24110
  ] }, index)),
24108
24111
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4 pt-4", children: [
24109
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Button, {}),
24110
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Button, { className: "bg-ods-border" })
24112
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, {}),
24113
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "bg-ods-border" })
24111
24114
  ] })
24112
24115
  ] });
24113
24116
  }
@@ -24122,7 +24125,7 @@ function NavigationSkeleton({
24122
24125
  className: _chunk3ATAYP36cjs.cn.call(void 0, "flex gap-4 md:gap-6", !horizontal && "flex-col", className),
24123
24126
  role: "status",
24124
24127
  "aria-label": "Loading navigation",
24125
- children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-16 md:w-20" }, index))
24128
+ children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-16 md:w-20" }, index))
24126
24129
  }
24127
24130
  );
24128
24131
  }
@@ -24133,30 +24136,30 @@ function ProfileSkeleton({
24133
24136
  }) {
24134
24137
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-4", className), children: [
24135
24138
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
24136
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Avatar, { size: "lg" }),
24139
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "lg" }),
24137
24140
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
24138
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-1/2" }),
24139
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-1/3" }),
24140
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-2/3" })
24141
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/2" }),
24142
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/3" }),
24143
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
24141
24144
  ] })
24142
24145
  ] }),
24143
24146
  showBio && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
24144
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
24145
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-4/5" }),
24146
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-3/4" })
24147
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
24148
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-4/5" }),
24149
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
24147
24150
  ] }),
24148
24151
  showStats && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-6", children: [
24149
24152
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
24150
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
24151
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "mx-auto w-12" })
24153
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
24154
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "mx-auto w-12" })
24152
24155
  ] }),
24153
24156
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
24154
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
24155
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "mx-auto w-16" })
24157
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
24158
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "mx-auto w-16" })
24156
24159
  ] }),
24157
24160
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
24158
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
24159
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "mx-auto w-14" })
24161
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
24162
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "mx-auto w-14" })
24160
24163
  ] })
24161
24164
  ] })
24162
24165
  ] });
@@ -24168,32 +24171,32 @@ function CommentSkeleton({
24168
24171
  }) {
24169
24172
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-3", className), children: [
24170
24173
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
24171
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Avatar, { size: "sm" }),
24174
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm" }),
24172
24175
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center gap-4", children: [
24173
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-24" }),
24174
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" }),
24175
- showRating && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm" }, i)) })
24176
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-24" }),
24177
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" }),
24178
+ showRating && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }, i)) })
24176
24179
  ] })
24177
24180
  ] }),
24178
24181
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 space-y-2", children: [
24179
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
24180
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-3/4" }),
24181
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-1/2" })
24182
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
24183
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" }),
24184
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/2" })
24182
24185
  ] }),
24183
24186
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 flex gap-4", children: [
24184
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-12" }),
24185
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" }),
24186
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-8" })
24187
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-12" }),
24188
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" }),
24189
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-8" })
24187
24190
  ] }),
24188
24191
  showReplies && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ml-11 space-y-4 border-l border-ods-divider pl-4", children: Array.from({ length: 2 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
24189
24192
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
24190
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Avatar, { size: "sm" }),
24191
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-20" }),
24192
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-12" })
24193
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm" }),
24194
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-20" }),
24195
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-12" })
24193
24196
  ] }),
24194
24197
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11", children: [
24195
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
24196
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-2/3" })
24198
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
24199
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
24197
24200
  ] })
24198
24201
  ] }, index)) })
24199
24202
  ] });
@@ -24206,31 +24209,31 @@ function FeatureListSkeleton({
24206
24209
  }) {
24207
24210
  if (grouped) {
24208
24211
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: 3 }).map((_, groupIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
24209
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-1/3" }),
24212
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/3" }),
24210
24213
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: Array.from({ length: features / 3 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
24211
- showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm" }),
24212
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-2/3" })
24214
+ showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
24215
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
24213
24216
  ] }, featureIndex)) })
24214
24217
  ] }, groupIndex)) });
24215
24218
  }
24216
24219
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: features }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
24217
- showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm" }),
24218
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-2/3" })
24220
+ showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
24221
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
24219
24222
  ] }, index)) });
24220
24223
  }
24221
24224
  function TimelineSkeleton({ className, items = 5 }) {
24222
24225
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4", children: [
24223
24226
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center", children: [
24224
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm" }),
24227
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
24225
24228
  index < items - 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2 h-12 w-px bg-ods-border" })
24226
24229
  ] }),
24227
24230
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
24228
24231
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
24229
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-1/3" }),
24230
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" })
24232
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/3" }),
24233
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
24231
24234
  ] }),
24232
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
24233
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-3/4" })
24235
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
24236
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
24234
24237
  ] })
24235
24238
  ] }, index)) });
24236
24239
  }
@@ -24246,16 +24249,16 @@ function PricingSkeleton({ className, plans = 3 }) {
24246
24249
  className
24247
24250
  ),
24248
24251
  children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
24249
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-1/2" }),
24252
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/2" }),
24250
24253
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
24251
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Heading, { className: "w-1/3" }),
24252
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-1/4" })
24254
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-1/3" }),
24255
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/4" })
24253
24256
  ] }),
24254
24257
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3 py-4", children: Array.from({ length: 5 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
24255
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm" }),
24256
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-3/4" })
24258
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
24259
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
24257
24260
  ] }, featureIndex)) }),
24258
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Button, { className: "w-full" })
24261
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "w-full" })
24259
24262
  ] }) }, index))
24260
24263
  }
24261
24264
  );
@@ -24291,12 +24294,12 @@ function MspProfileFormSkeleton({ className, fields = 4 }) {
24291
24294
  "aria-label": "Loading MSP profile form",
24292
24295
  children: [
24293
24296
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col space-y-2", children: [
24294
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-28" }),
24295
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-full w-full rounded-lg", "aria-label": "Loading company logo" }) })
24297
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-28" }),
24298
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-full w-full rounded-lg", "aria-label": "Loading company logo" }) })
24296
24299
  ] }),
24297
24300
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: Array.from({ length: fields }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col space-y-2", children: [
24298
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-40" }),
24299
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.InteractiveSkeleton.Input, {})
24301
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-40" }),
24302
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Input, {})
24300
24303
  ] }, idx)) })
24301
24304
  ]
24302
24305
  }
@@ -24316,13 +24319,13 @@ function CategoryCardSkeleton({ className }) {
24316
24319
  role: "status",
24317
24320
  "aria-label": "Loading category card",
24318
24321
  children: [
24319
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { variant: "circular", className: "h-10 w-10 flex-shrink-0", "aria-label": "Loading icon" }, i)) }),
24322
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "circular", className: "h-10 w-10 flex-shrink-0", "aria-label": "Loading icon" }, i)) }),
24320
24323
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col space-y-3", children: [
24321
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Heading, { className: "w-3/4" }),
24322
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-1/2" }),
24323
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" })
24324
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-3/4" }),
24325
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/2" }),
24326
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" })
24324
24327
  ] }),
24325
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-12 w-12 rounded-[6px]", "aria-label": "Loading button" }) })
24328
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-12 w-12 rounded-[6px]", "aria-label": "Loading button" }) })
24326
24329
  ]
24327
24330
  }
24328
24331
  );
@@ -24339,12 +24342,12 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
24339
24342
  "aria-label": "Loading category section",
24340
24343
  children: [
24341
24344
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-6 max-w-xl space-y-2", children: [
24342
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Heading, { className: "w-1/2" }),
24343
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-3/4" })
24345
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-1/2" }),
24346
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
24344
24347
  ] }),
24345
24348
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-6", children: Array.from({ length: subcategories }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
24346
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-1/3" }),
24347
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-4 md:grid-cols-3", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
24349
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/3" }),
24350
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-4 md:grid-cols-3", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
24348
24351
  ] }, idx)) })
24349
24352
  ]
24350
24353
  }
@@ -24355,14 +24358,14 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
24355
24358
 
24356
24359
  function WizardLayoutSkeleton({ steps = 6, className }) {
24357
24360
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), role: "status", "aria-label": "Loading wizard layout", children: [
24358
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
24361
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
24359
24362
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "max-w-2xl space-y-2", children: [
24360
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Heading, { className: "w-2/3" }),
24361
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-1/2" })
24363
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-2/3" }),
24364
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/2" })
24362
24365
  ] }),
24363
24366
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-10 flex justify-between", children: [
24364
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
24365
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-10 w-32 rounded" })
24367
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
24368
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-10 w-32 rounded" })
24366
24369
  ] })
24367
24370
  ] });
24368
24371
  }
@@ -24754,28 +24757,28 @@ function OrganizationCardSkeleton({
24754
24757
  }
24755
24758
  ),
24756
24759
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
24757
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
24758
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-1/2" })
24760
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
24761
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/2" })
24759
24762
  ] })
24760
24763
  ] }),
24761
24764
  showDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
24762
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-full" }),
24763
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Body, { className: "w-2/3" })
24765
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
24766
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
24764
24767
  ] }) }),
24765
24768
  showFooter && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
24766
24769
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
24767
24770
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
24768
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
24769
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-8" })
24771
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
24772
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-8" })
24770
24773
  ] }),
24771
24774
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
24772
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
24773
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-10" })
24775
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
24776
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-10" })
24774
24777
  ] })
24775
24778
  ] }),
24776
24779
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
24777
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
24778
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TextSkeleton.Caption, { className: "w-16" })
24780
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
24781
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
24779
24782
  ] }) })
24780
24783
  ] })
24781
24784
  ] })
@@ -24852,16 +24855,16 @@ function DeviceCardSkeletonGrid({ count = 12, className }) {
24852
24855
 
24853
24856
  function PushButtonSelectorSkeleton({ count = 3, hasTitle }) {
24854
24857
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", role: "status", "aria-label": "Loading options", children: [
24855
- hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-5 w-20", "aria-label": "Loading title" }),
24858
+ hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-5 w-20", "aria-label": "Loading title" }),
24856
24859
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-bg p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4", children: [
24857
24860
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
24858
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-8 w-8", "aria-label": "Loading icon" }),
24861
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-8 w-8", "aria-label": "Loading icon" }),
24859
24862
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
24860
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { variant: "text", className: "mb-2 h-4 w-24", "aria-label": "Loading name" }),
24861
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { variant: "text", className: "h-4 w-36", "aria-label": "Loading description" })
24863
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "text", className: "mb-2 h-4 w-24", "aria-label": "Loading name" }),
24864
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "text", className: "h-4 w-36", "aria-label": "Loading description" })
24862
24865
  ] })
24863
24866
  ] }),
24864
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.UnifiedSkeleton, { className: "h-6 w-6", "aria-label": "Loading selection state" })
24867
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-6 w-6", "aria-label": "Loading selection state" })
24865
24868
  ] }) }, i)) })
24866
24869
  ] });
24867
24870
  }
@@ -24983,9 +24986,9 @@ function PushButtonSelector({
24983
24986
  option.id
24984
24987
  );
24985
24988
  if (option.disabled && option.disabledReason) {
24986
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Tooltip, { children: [
24987
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipTrigger, { asChild: true, children: optionEl }),
24988
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
24989
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { children: [
24990
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipTrigger, { asChild: true, children: optionEl }),
24991
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
24989
24992
  ] }, option.id);
24990
24993
  }
24991
24994
  return optionEl;
@@ -25030,7 +25033,7 @@ function PushButtonSelector({
25030
25033
  lazyLoad.isFetchingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-2 text-center text-ods-text-secondary text-h6", children: "Loading more\u2026" }) : null
25031
25034
  ] }) : null
25032
25035
  ] });
25033
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
25036
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
25034
25037
  title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
25035
25038
  searchInput,
25036
25039
  lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -25244,7 +25247,7 @@ function SEOEditorPreview({
25244
25247
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-2", children: [
25245
25248
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
25246
25249
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25247
- _chunkRTGPIHVOcjs.Field,
25250
+ _chunkHY5YL3U5cjs.Field,
25248
25251
  {
25249
25252
  label: "SEO Title",
25250
25253
  error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${SEO_TITLE_MAX_LENGTH})` : null,
@@ -25284,7 +25287,7 @@ function SEOEditorPreview({
25284
25287
  !seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
25285
25288
  ] }),
25286
25289
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25287
- _chunkRTGPIHVOcjs.Field,
25290
+ _chunkHY5YL3U5cjs.Field,
25288
25291
  {
25289
25292
  label: "SEO Keywords",
25290
25293
  labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -25316,7 +25319,7 @@ function SEOEditorPreview({
25316
25319
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-2", children: [
25317
25320
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
25318
25321
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25319
- _chunkRTGPIHVOcjs.Field,
25322
+ _chunkHY5YL3U5cjs.Field,
25320
25323
  {
25321
25324
  label: "SEO Description",
25322
25325
  error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${SEO_DESCRIPTION_MAX_LENGTH})` : null,
@@ -25994,7 +25997,7 @@ function VideoBitesDisplay({
25994
25997
  filterPublished = true,
25995
25998
  showTitle = true
25996
25999
  }) {
25997
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
26000
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
25998
26001
  }
25999
26002
 
26000
26003
  // src/components/features/walkthrough-video.tsx
@@ -26064,7 +26067,7 @@ function WalkthroughVideo({
26064
26067
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
26065
26068
  };
26066
26069
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
26067
- const hydrated = _chunkRTGPIHVOcjs.useIsHydrated.call(void 0, );
26070
+ const hydrated = _chunkHY5YL3U5cjs.useIsHydrated.call(void 0, );
26068
26071
  const previewSuppressed = _react.useMemo.call(void 0, () => {
26069
26072
  if (!hydrated) return false;
26070
26073
  try {
@@ -26463,7 +26466,7 @@ function WalkthroughVideo({
26463
26466
  },
26464
26467
  children: [
26465
26468
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26466
- _chunkRTGPIHVOcjs.VideoHoverPreviewSurface,
26469
+ _chunkHY5YL3U5cjs.VideoHoverPreviewSurface,
26467
26470
  {
26468
26471
  url: video.mainVideoUrl || "",
26469
26472
  posterUrl: video.posterUrl,
@@ -26486,7 +26489,7 @@ function WalkthroughVideo({
26486
26489
  `card-${embedUrlKey}`
26487
26490
  ) }),
26488
26491
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26489
- _chunkRTGPIHVOcjs.CardHitLayer,
26492
+ _chunkHY5YL3U5cjs.CardHitLayer,
26490
26493
  {
26491
26494
  label: video.title ? `${label}: ${video.title}` : label,
26492
26495
  onPointerDown: pausePreviewNow,
@@ -26601,7 +26604,7 @@ function WalkthroughVideo({
26601
26604
  children: [
26602
26605
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
26603
26606
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26604
- _chunkRTGPIHVOcjs.Video,
26607
+ _chunkHY5YL3U5cjs.Video,
26605
26608
  {
26606
26609
  kind: video.youtubeUrl ? "youtube" : "file",
26607
26610
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -26652,7 +26655,7 @@ function InlineWalkthroughVideo(props) {
26652
26655
  var _reactquery = require('@tanstack/react-query');
26653
26656
  function useWalkthroughVideo(opts) {
26654
26657
  const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
26655
- const captions = _chunkRTGPIHVOcjs.useCaptions.call(void 0, );
26658
+ const captions = _chunkHY5YL3U5cjs.useCaptions.call(void 0, );
26656
26659
  const query = _reactquery.useQuery.call(void 0, {
26657
26660
  queryKey: ["walkthrough-video", endpoint],
26658
26661
  enabled,
@@ -26850,7 +26853,7 @@ function VideoSourceSelector({
26850
26853
  }
26851
26854
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
26852
26855
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
26853
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.Video, { kind: "file", url: videoUrl }) }),
26856
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "file", url: videoUrl }) }),
26854
26857
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26855
26858
  "button",
26856
26859
  {
@@ -27374,7 +27377,7 @@ function HighlightVideoSection({
27374
27377
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
27375
27378
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
27376
27379
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
27377
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
27380
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
27378
27381
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27379
27382
  "button",
27380
27383
  {
@@ -27401,7 +27404,7 @@ function HighlightConfigSection({
27401
27404
  disabled = false,
27402
27405
  className = ""
27403
27406
  }) {
27404
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27407
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27405
27408
  Select,
27406
27409
  {
27407
27410
  value: targetDurationSeconds.toString(),
@@ -28114,7 +28117,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
28114
28117
  ] });
28115
28118
  };
28116
28119
  var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
28117
- const { innerRef, containerStyle } = _chunkRTGPIHVOcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
28120
+ const { innerRef, containerStyle } = _chunkHY5YL3U5cjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
28118
28121
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
28119
28122
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
28120
28123
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -28283,7 +28286,7 @@ function WaitlistForm({
28283
28286
  const { toast } = _chunk3L7KCOGOcjs.useToast.call(void 0, );
28284
28287
  const { honeypotInputProps, getSignals, resetSignals } = _chunk3L7KCOGOcjs.useHumanitySignals.call(void 0, );
28285
28288
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
28286
- const isClient = _chunkRTGPIHVOcjs.useIsHydrated.call(void 0, );
28289
+ const isClient = _chunkHY5YL3U5cjs.useIsHydrated.call(void 0, );
28287
28290
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
28288
28291
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
28289
28292
  const rescue = _chunk3L7KCOGOcjs.useFormRescue.call(void 0, {
@@ -28821,15 +28824,7 @@ var appLayoutDrawerPanelVariants = _classvarianceauthority.cva.call(void 0,
28821
28824
  );
28822
28825
  var HORIZONTAL_SIDES = /* @__PURE__ */ new Set(["left", "right"]);
28823
28826
  var PERSIST_CLOSED_HOLD = "data-[state=closed]:fill-mode-forwards";
28824
- function useContainedResizableSize({
28825
- enabled,
28826
- isHorizontal,
28827
- minSize,
28828
- maxSize,
28829
- defaultSize,
28830
- storageKey,
28831
- container
28832
- }) {
28827
+ function useContainerExtent(enabled, isHorizontal, container) {
28833
28828
  const [available, setAvailable] = _react.useState.call(void 0, 0);
28834
28829
  _react.useEffect.call(void 0, () => {
28835
28830
  if (!enabled || !container) return void 0;
@@ -28841,147 +28836,7 @@ function useContainedResizableSize({
28841
28836
  ro.observe(container);
28842
28837
  return () => ro.disconnect();
28843
28838
  }, [enabled, container, isHorizontal]);
28844
- const clampToContainer = _react.useCallback.call(void 0,
28845
- (value) => {
28846
- const effectiveMax = available > 0 ? Math.min(maxSize, available - 40) : maxSize;
28847
- return _chunkIIMICN7Lcjs.clamp.call(void 0, value, minSize, Math.max(minSize, effectiveMax));
28848
- },
28849
- [available, minSize, maxSize]
28850
- );
28851
- const readInitial = _react.useCallback.call(void 0, () => {
28852
- if (!enabled) return defaultSize;
28853
- if (typeof window === "undefined") return defaultSize;
28854
- if (!storageKey) return defaultSize;
28855
- try {
28856
- const raw = window.localStorage.getItem(storageKey);
28857
- if (!raw) return defaultSize;
28858
- const parsed = parseFloat(raw);
28859
- if (!Number.isFinite(parsed)) return defaultSize;
28860
- return parsed;
28861
- } catch (e40) {
28862
- return defaultSize;
28863
- }
28864
- }, [enabled, storageKey, defaultSize]);
28865
- const [rawSize, setSizeRaw] = _react.useState.call(void 0, readInitial);
28866
- const size = enabled ? clampToContainer(rawSize) : rawSize;
28867
- const setSize = _react.useCallback.call(void 0, (next) => setSizeRaw(clampToContainer(next)), [clampToContainer]);
28868
- _react.useEffect.call(void 0, () => {
28869
- if (!enabled || !storageKey || typeof window === "undefined") return;
28870
- try {
28871
- window.localStorage.setItem(storageKey, String(Math.round(size)));
28872
- } catch (e41) {
28873
- }
28874
- }, [enabled, size, storageKey]);
28875
- return { size, setSize, clampSize: clampToContainer };
28876
- }
28877
- function finishDrag(startRef, dragSizeRef, commit) {
28878
- if (!startRef.current) return;
28879
- startRef.current = null;
28880
- if (dragSizeRef.current !== null) commit(dragSizeRef.current);
28881
- dragSizeRef.current = null;
28882
- document.body.style.cursor = "";
28883
- document.body.style.userSelect = "";
28884
- }
28885
- function AppLayoutDrawerResizeHandle({
28886
- side,
28887
- size,
28888
- minSize,
28889
- maxSize,
28890
- onSize,
28891
- clampSize,
28892
- panelRef,
28893
- ariaLabel
28894
- }) {
28895
- const isHorizontal = HORIZONTAL_SIDES.has(side);
28896
- const startRef = _react.useRef.call(void 0, null);
28897
- const dragSizeRef = _react.useRef.call(void 0, null);
28898
- const onSizeRef = _react.useRef.call(void 0, onSize);
28899
- _react.useEffect.call(void 0, () => {
28900
- onSizeRef.current = onSize;
28901
- }, [onSize]);
28902
- _react.useEffect.call(void 0, () => () => finishDrag(startRef, dragSizeRef, onSizeRef.current), []);
28903
- const direction = side === "right" || side === "bottom" ? -1 : 1;
28904
- const handlePointerDown = (e) => {
28905
- if (e.button !== 0 && e.pointerType === "mouse") return;
28906
- e.preventDefault();
28907
- startRef.current = { x: e.clientX, y: e.clientY, size };
28908
- e.currentTarget.setPointerCapture(e.pointerId);
28909
- document.body.style.cursor = isHorizontal ? "col-resize" : "row-resize";
28910
- document.body.style.userSelect = "none";
28911
- };
28912
- const handlePointerMove = (e) => {
28913
- const start = startRef.current;
28914
- const panel = panelRef.current;
28915
- if (!start || !panel) return;
28916
- const delta = isHorizontal ? e.clientX - start.x : e.clientY - start.y;
28917
- const next = clampSize(start.size + delta * direction);
28918
- dragSizeRef.current = next;
28919
- panel.style[isHorizontal ? "width" : "height"] = `${next}px`;
28920
- e.currentTarget.setAttribute("aria-valuenow", String(Math.round(next)));
28921
- };
28922
- const endDrag = (e) => {
28923
- if (!startRef.current) return;
28924
- finishDrag(startRef, dragSizeRef, onSize);
28925
- try {
28926
- e.currentTarget.releasePointerCapture(e.pointerId);
28927
- } catch (e42) {
28928
- }
28929
- };
28930
- const handleKeyDown = (e) => {
28931
- const step = e.shiftKey ? 40 : 16;
28932
- if (isHorizontal) {
28933
- if (e.key === "ArrowLeft") {
28934
- e.preventDefault();
28935
- onSize(size + step * (side === "right" ? 1 : -1));
28936
- } else if (e.key === "ArrowRight") {
28937
- e.preventDefault();
28938
- onSize(size + step * (side === "right" ? -1 : 1));
28939
- }
28940
- } else {
28941
- if (e.key === "ArrowUp") {
28942
- e.preventDefault();
28943
- onSize(size + step * (side === "bottom" ? 1 : -1));
28944
- } else if (e.key === "ArrowDown") {
28945
- e.preventDefault();
28946
- onSize(size + step * (side === "bottom" ? -1 : 1));
28947
- }
28948
- }
28949
- if (e.key === "Home") {
28950
- e.preventDefault();
28951
- onSize(minSize);
28952
- } else if (e.key === "End") {
28953
- e.preventDefault();
28954
- onSize(maxSize);
28955
- }
28956
- };
28957
- const trackPosition = side === "right" ? "right-full top-4 bottom-4 w-6 items-center justify-end pr-1" : side === "left" ? "left-full top-4 bottom-4 w-6 items-center justify-start pl-1" : side === "bottom" ? "bottom-full left-4 right-4 h-6 justify-center items-end pb-1" : "top-full left-4 right-4 h-6 justify-center items-start pt-1";
28958
- const cursorClass = isHorizontal ? "cursor-col-resize" : "cursor-row-resize";
28959
- const gripClass = isHorizontal ? "h-10 w-1" : "w-10 h-1";
28960
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28961
- "div",
28962
- {
28963
- role: "separator",
28964
- tabIndex: 0,
28965
- "aria-orientation": isHorizontal ? "vertical" : "horizontal",
28966
- "aria-valuenow": Math.round(size),
28967
- "aria-valuemin": minSize,
28968
- "aria-valuemax": maxSize,
28969
- "aria-label": _nullishCoalesce(ariaLabel, () => ( (isHorizontal ? "Resize panel width" : "Resize panel height"))),
28970
- onPointerDown: handlePointerDown,
28971
- onPointerMove: handlePointerMove,
28972
- onPointerUp: endDrag,
28973
- onPointerCancel: endDrag,
28974
- onLostPointerCapture: endDrag,
28975
- onKeyDown: handleKeyDown,
28976
- className: _chunk3ATAYP36cjs.cn.call(void 0,
28977
- "group absolute z-20 flex touch-none select-none",
28978
- "outline-none ring-0 focus:outline-none focus:ring-0 focus-visible:outline-none focus-visible:ring-0",
28979
- trackPosition,
28980
- cursorClass
28981
- ),
28982
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunk3ATAYP36cjs.cn.call(void 0, "rounded-full bg-ods-border", gripClass) })
28983
- }
28984
- );
28839
+ return available;
28985
28840
  }
28986
28841
  var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
28987
28842
  ({
@@ -29076,14 +28931,15 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
29076
28931
  return () => mq.removeEventListener("change", update);
29077
28932
  }, [mobileBreakpoint]);
29078
28933
  const panelRef = _react.useRef.call(void 0, null);
29079
- const { size, setSize, clampSize } = useContainedResizableSize({
28934
+ const available = useContainerExtent(resizable, isHorizontal, portalContainer);
28935
+ const { size, setSize, clampSize } = _chunkHY5YL3U5cjs.useResizablePanelSize.call(void 0, {
29080
28936
  enabled: resizable,
29081
- isHorizontal,
29082
28937
  minSize,
29083
28938
  maxSize,
29084
28939
  defaultSize: initialSize,
29085
- storageKey,
29086
- container: portalContainer
28940
+ available,
28941
+ reserve: 40,
28942
+ storageKey
29087
28943
  });
29088
28944
  const applyInlineSize = resizable && !isMobile;
29089
28945
  const sizeStyle = applyInlineSize ? isHorizontal ? { width: size } : { height: size } : {};
@@ -29096,7 +28952,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
29096
28952
  "data-state": open ? "open" : "closed",
29097
28953
  className: _chunk3ATAYP36cjs.cn.call(void 0,
29098
28954
  "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",
29099
- _chunkRTGPIHVOcjs.OVERLAY_BACKDROP_CLASS,
28955
+ _chunkHY5YL3U5cjs.OVERLAY_BACKDROP_CLASS,
29100
28956
  // Persist mode only: hold the fade-out's final (transparent) frame
29101
28957
  // so the backdrop doesn't snap back to opacity 1 and dim the whole
29102
28958
  // content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
@@ -29137,8 +28993,9 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
29137
28993
  ...props,
29138
28994
  children: [
29139
28995
  applyInlineSize && (!persist || open) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29140
- AppLayoutDrawerResizeHandle,
28996
+ _chunkHY5YL3U5cjs.PanelResizeHandle,
29141
28997
  {
28998
+ variant: "inLayout",
29142
28999
  side: resolvedSide,
29143
29000
  size,
29144
29001
  minSize,
@@ -29175,11 +29032,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
29175
29032
  }
29176
29033
  );
29177
29034
  AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
29178
- var AppLayoutDrawerHeader = _chunkRTGPIHVOcjs.DrawerHeader;
29179
- var AppLayoutDrawerTitle = _chunkRTGPIHVOcjs.DrawerTitle;
29180
- var AppLayoutDrawerDescription = _chunkRTGPIHVOcjs.DrawerDescription;
29181
- var AppLayoutDrawerBody = _chunkRTGPIHVOcjs.DrawerBody;
29182
- var AppLayoutDrawerFooter = _chunkRTGPIHVOcjs.DrawerFooter;
29035
+ var AppLayoutDrawerHeader = _chunkHY5YL3U5cjs.DrawerHeader;
29036
+ var AppLayoutDrawerTitle = _chunkHY5YL3U5cjs.DrawerTitle;
29037
+ var AppLayoutDrawerDescription = _chunkHY5YL3U5cjs.DrawerDescription;
29038
+ var AppLayoutDrawerBody = _chunkHY5YL3U5cjs.DrawerBody;
29039
+ var AppLayoutDrawerFooter = _chunkHY5YL3U5cjs.DrawerFooter;
29183
29040
 
29184
29041
  // src/components/features/notifications/notification-tile.tsx
29185
29042
 
@@ -29285,7 +29142,7 @@ function NotificationTile({
29285
29142
  {
29286
29143
  dateTime: createdAtIso,
29287
29144
  className: _chunk3ATAYP36cjs.cn.call(void 0, "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", lockscreen && "self-start"),
29288
- children: _nullishCoalesce(timeLabel, () => ( _chunkRTGPIHVOcjs.formatTicketRelativeTime.call(void 0, createdAtIso)))
29145
+ children: _nullishCoalesce(timeLabel, () => ( _chunkHY5YL3U5cjs.formatTicketRelativeTime.call(void 0, createdAtIso)))
29289
29146
  }
29290
29147
  ) : null,
29291
29148
  !lockscreen && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
@@ -29394,7 +29251,7 @@ function NotificationDrawer({
29394
29251
  const unreadNotifications = notifications.filter((n) => !n.read);
29395
29252
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
29396
29253
  /* @__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,
29397
- _chunkRTGPIHVOcjs.DrawerTitle,
29254
+ _chunkHY5YL3U5cjs.DrawerTitle,
29398
29255
  {
29399
29256
  hideClose: true,
29400
29257
  className: "truncate",
@@ -29453,8 +29310,8 @@ function NotificationDrawer({
29453
29310
  }
29454
29311
  ) });
29455
29312
  }
29456
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29457
- _chunkRTGPIHVOcjs.DrawerContent,
29313
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29314
+ _chunkHY5YL3U5cjs.DrawerContent,
29458
29315
  {
29459
29316
  side: "right",
29460
29317
  "aria-describedby": void 0,
@@ -29737,13 +29594,13 @@ function getApprovalMeta(notification) {
29737
29594
  function resolutionToStatus(resolution) {
29738
29595
  switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
29739
29596
  case "APPROVED":
29740
- return _chunkRTGPIHVOcjs.APPROVAL_STATUS.APPROVED;
29597
+ return _chunkHY5YL3U5cjs.APPROVAL_STATUS.APPROVED;
29741
29598
  case "REJECTED":
29742
- return _chunkRTGPIHVOcjs.APPROVAL_STATUS.REJECTED;
29599
+ return _chunkHY5YL3U5cjs.APPROVAL_STATUS.REJECTED;
29743
29600
  case "CANCELLED":
29744
- return _chunkRTGPIHVOcjs.APPROVAL_STATUS.CANCELLED;
29601
+ return _chunkHY5YL3U5cjs.APPROVAL_STATUS.CANCELLED;
29745
29602
  default:
29746
- return _chunkRTGPIHVOcjs.APPROVAL_STATUS.PENDING;
29603
+ return _chunkHY5YL3U5cjs.APPROVAL_STATUS.PENDING;
29747
29604
  }
29748
29605
  }
29749
29606
  function approvalMetaToBatchData(approval) {
@@ -29789,7 +29646,7 @@ function ApprovalRequestNotificationTile({
29789
29646
  const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _635 => _635.resolution]));
29790
29647
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
29791
29648
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
29792
- const { innerRef, containerStyle } = _chunkRTGPIHVOcjs.useCollapsible.call(void 0, { expanded });
29649
+ const { innerRef, containerStyle } = _chunkHY5YL3U5cjs.useCollapsible.call(void 0, { expanded });
29793
29650
  if (!approval || !batchData) return null;
29794
29651
  const tileNotification = {
29795
29652
  ...notification,
@@ -29802,7 +29659,7 @@ function ApprovalRequestNotificationTile({
29802
29659
  setLocalStatus(nextStatus);
29803
29660
  try {
29804
29661
  await action(batchData.approvalRequestId);
29805
- } catch (e43) {
29662
+ } catch (e40) {
29806
29663
  setLocalStatus(null);
29807
29664
  return;
29808
29665
  } finally {
@@ -29852,7 +29709,7 @@ function ApprovalRequestNotificationTile({
29852
29709
  }
29853
29710
  )
29854
29711
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
29855
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ApprovalStatusTag, { status }),
29712
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ApprovalStatusTag, { status }),
29856
29713
  approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
29857
29714
  "by ",
29858
29715
  approval.resolvedByName
@@ -29870,12 +29727,12 @@ function ApprovalRequestNotificationTile({
29870
29727
  "aria-expanded": expanded,
29871
29728
  "aria-label": toggleLabel,
29872
29729
  className: "ml-auto w-6 shrink-0 px-0 md:w-8",
29873
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.ExpandChevron, { expanded })
29730
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ExpandChevron, { expanded })
29874
29731
  }
29875
29732
  )
29876
29733
  ] }),
29877
29734
  children: !lockscreen && /* @__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,
29878
- _chunkRTGPIHVOcjs.ApprovalBatchMessage,
29735
+ _chunkHY5YL3U5cjs.ApprovalBatchMessage,
29879
29736
  {
29880
29737
  data: batchData,
29881
29738
  showExecutionStatus: false,
@@ -30392,7 +30249,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
30392
30249
  "data-state": isOpen ? "open" : "closed",
30393
30250
  className: _chunk3ATAYP36cjs.cn.call(void 0,
30394
30251
  layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
30395
- _chunkRTGPIHVOcjs.OVERLAY_BACKDROP_CLASS,
30252
+ _chunkHY5YL3U5cjs.OVERLAY_BACKDROP_CLASS,
30396
30253
  "data-[state=open]:animate-in data-[state=open]:fade-in-0",
30397
30254
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
30398
30255
  )
@@ -30419,6 +30276,91 @@ function TimeTrackerHeaderButton({ className, disabled }) {
30419
30276
  // src/components/features/remote-session/remote-session-parts.tsx
30420
30277
 
30421
30278
 
30279
+ // src/components/features/remote-session/remote-session-viewers.tsx
30280
+
30281
+
30282
+ function viewerLabel(viewer) {
30283
+ if (viewer.isHost) return `${viewer.name} (host)`;
30284
+ if (viewer.isYou) return `${viewer.name} (you)`;
30285
+ return viewer.name;
30286
+ }
30287
+ function hostFirst(viewers) {
30288
+ return [...viewers.filter((viewer) => viewer.isHost), ...viewers.filter((viewer) => !viewer.isHost)];
30289
+ }
30290
+ function RemoteSessionViewers({ viewers, max = 4, className }) {
30291
+ const [open, setOpen] = _react.useState.call(void 0, false);
30292
+ if (viewers.length === 0) return null;
30293
+ const ordered = hostFirst(viewers);
30294
+ const faces = ordered.slice(0, max);
30295
+ const overflow2 = ordered.length - faces.length;
30296
+ const Chevron = open ? _chunkN3COXDBHcjs.Chevron02UpIcon : _chunkN3COXDBHcjs.Chevron02DownIcon;
30297
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2A4XES7Rcjs.DropdownMenu, { open, onOpenChange: setOpen, children: [
30298
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30299
+ _chunk2A4XES7Rcjs.DropdownMenuTrigger,
30300
+ {
30301
+ "aria-label": `In this session: ${ordered.map(viewerLabel).join(", ")}`,
30302
+ className: _chunk3ATAYP36cjs.cn.call(void 0,
30303
+ "flex shrink-0 items-center gap-[var(--spacing-system-xxs)] rounded-md outline-none",
30304
+ "focus-visible:ring-2 focus-visible:ring-ods-focus",
30305
+ className
30306
+ ),
30307
+ children: [
30308
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center", children: [
30309
+ faces.map((viewer, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30310
+ _chunkEMCQGFXDcjs.SquareAvatar,
30311
+ {
30312
+ variant: "round",
30313
+ sizePx: 32,
30314
+ src: _nullishCoalesce(viewer.avatarUrl, () => ( void 0)),
30315
+ alt: viewer.name,
30316
+ fallback: viewer.name,
30317
+ className: _chunk3ATAYP36cjs.cn.call(void 0,
30318
+ "relative bg-ods-bg",
30319
+ viewer.isHost ? "ring-2 ring-ods-accent" : "ring-1 ring-ods-border",
30320
+ index > 0 && "-ml-2"
30321
+ ),
30322
+ style: { zIndex: faces.length - index + 1 }
30323
+ },
30324
+ viewer.id
30325
+ )),
30326
+ overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative -ml-2 flex size-8 shrink-0 items-center justify-center rounded-full bg-ods-bg text-ods-text-secondary ring-1 ring-ods-border text-h6", children: [
30327
+ "+",
30328
+ overflow2
30329
+ ] })
30330
+ ] }),
30331
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex size-8 items-center justify-center rounded-md text-ods-text-primary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Chevron, { size: 16, color: "currentColor" }) })
30332
+ ]
30333
+ }
30334
+ ),
30335
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2A4XES7Rcjs.DropdownMenuContent, { align: "end", className: "w-[280px] p-0", children: ordered.map((viewer) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30336
+ _chunk2A4XES7Rcjs.DropdownMenuItem,
30337
+ {
30338
+ className: _chunk3ATAYP36cjs.cn.call(void 0,
30339
+ "gap-[var(--spacing-system-xsf)] rounded-none border-b border-ods-border bg-ods-bg last:border-b-0",
30340
+ "py-[var(--spacing-system-s)] pl-[var(--spacing-system-mf)] pr-[var(--spacing-system-xs)] text-h4"
30341
+ ),
30342
+ children: [
30343
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30344
+ _chunkEMCQGFXDcjs.SquareAvatar,
30345
+ {
30346
+ variant: "round",
30347
+ sizePx: 24,
30348
+ src: _nullishCoalesce(viewer.avatarUrl, () => ( void 0)),
30349
+ alt: "",
30350
+ fallback: viewer.name,
30351
+ className: "shrink-0"
30352
+ }
30353
+ ),
30354
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate", children: viewerLabel(viewer) })
30355
+ ]
30356
+ },
30357
+ viewer.id
30358
+ )) })
30359
+ ] });
30360
+ }
30361
+
30362
+ // src/components/features/remote-session/remote-session-parts.tsx
30363
+
30422
30364
  var DESKTOP_SCALE = {
30423
30365
  "--spacing-system-xs": "0.5rem",
30424
30366
  "--spacing-system-s": "0.75rem",
@@ -30470,10 +30412,31 @@ function RemoteSessionOrgLogo({ name, logoUrl, sizePx, className }) {
30470
30412
  }
30471
30413
  );
30472
30414
  }
30473
- function RemoteSessionRecordingTag() {
30474
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 items-center gap-[var(--spacing-system-xs)] self-start rounded-md bg-ods-success-secondary p-[var(--spacing-system-xsf)]", children: [
30475
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.RecordingIcon, { size: 16, color: "currentColor", className: "text-ods-success" }),
30476
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-success text-h5", children: "Session Recording" })
30415
+ function RemoteSessionRecordingTag({ className }) {
30416
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30417
+ "div",
30418
+ {
30419
+ className: _chunk3ATAYP36cjs.cn.call(void 0,
30420
+ "flex h-8 items-center gap-[var(--spacing-system-xs)] self-start rounded-md bg-ods-success-secondary p-[var(--spacing-system-xsf)]",
30421
+ className
30422
+ ),
30423
+ children: [
30424
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.RecordingIcon, { size: 16, color: "currentColor", className: "text-ods-success" }),
30425
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-success text-h5", children: "Session Recording" })
30426
+ ]
30427
+ }
30428
+ );
30429
+ }
30430
+ function RemoteSessionStatusRow({
30431
+ showRecordingTag,
30432
+ viewers
30433
+ }) {
30434
+ const hasViewers = !!viewers && viewers.length > 0;
30435
+ if (!showRecordingTag && !hasViewers) return null;
30436
+ if (!hasViewers) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionRecordingTag, {});
30437
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-m)]", children: [
30438
+ showRecordingTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionRecordingTag, { className: "flex-1 justify-center self-auto" }),
30439
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionViewers, { viewers, className: "ml-auto" })
30477
30440
  ] });
30478
30441
  }
30479
30442
  var REMOTE_SESSION_DRAG_HANDLE_CLASS = "cursor-grab active:cursor-grabbing";
@@ -30623,6 +30586,7 @@ function RemoteSessionSummary({
30623
30586
  party,
30624
30587
  elapsed,
30625
30588
  showRecordingTag = false,
30589
+ viewers,
30626
30590
  onOpenChat,
30627
30591
  onEndSession,
30628
30592
  dragHandlers
@@ -30663,7 +30627,7 @@ function RemoteSessionSummary({
30663
30627
  ]
30664
30628
  }
30665
30629
  ),
30666
- showRecordingTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionRecordingTag, {}),
30630
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionStatusRow, { showRecordingTag, viewers }),
30667
30631
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-stretch gap-[var(--spacing-system-m)]", children: [
30668
30632
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30669
30633
  _chunkDFQYAYBHcjs.Button,
@@ -30731,6 +30695,7 @@ function RemoteSessionChatPanel({
30731
30695
  elapsed,
30732
30696
  messages,
30733
30697
  showRecordingTag = false,
30698
+ viewers,
30734
30699
  draft,
30735
30700
  onDraftChange,
30736
30701
  onSend,
@@ -30775,7 +30740,7 @@ function RemoteSessionChatPanel({
30775
30740
  ]
30776
30741
  }
30777
30742
  ),
30778
- showRecordingTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionRecordingTag, {}),
30743
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionStatusRow, { showRecordingTag, viewers }),
30779
30744
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-stretch gap-[var(--spacing-system-m)]", children: [
30780
30745
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30781
30746
  _chunkDFQYAYBHcjs.Button,
@@ -30931,6 +30896,272 @@ function RemoteSessionPill({ onEndSession }) {
30931
30896
  );
30932
30897
  }
30933
30898
 
30899
+ // src/components/features/remote-session/remote-session-keep-modals.tsx
30900
+
30901
+
30902
+ var REMOTE_SESSION_KEEP_REASON_LABELS = {
30903
+ CLIENT_DISPUTE: "Client dispute",
30904
+ INTERNAL_REVIEW: "Internal review",
30905
+ LEGAL_OR_COMPLIANCE: "Legal or compliance request",
30906
+ OTHER: "Other"
30907
+ };
30908
+ var KEEP_REASONS = Object.keys(REMOTE_SESSION_KEEP_REASON_LABELS);
30909
+ var DESCRIPTION_MAX_LENGTH = 500;
30910
+ function KeepNotice({ icon, title, children }) {
30911
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-[var(--spacing-system-m)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-m)]", children: [
30912
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 text-ods-text-secondary", children: icon }),
30913
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
30914
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h3", children: title }),
30915
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children })
30916
+ ] })
30917
+ ] });
30918
+ }
30919
+ function KeepRecordingModal({
30920
+ isOpen,
30921
+ onClose,
30922
+ keptUsage,
30923
+ isPending = false,
30924
+ onConfirm
30925
+ }) {
30926
+ const [reason, setReason] = _react.useState.call(void 0, "");
30927
+ const [description, setDescription] = _react.useState.call(void 0, "");
30928
+ const [seededOpen, setSeededOpen] = _react.useState.call(void 0, isOpen);
30929
+ if (seededOpen !== isOpen) {
30930
+ setSeededOpen(isOpen);
30931
+ if (isOpen) {
30932
+ setReason("");
30933
+ setDescription("");
30934
+ }
30935
+ }
30936
+ const trimmed = description.trim();
30937
+ const canKeep = reason !== "" && (reason !== "OTHER" || trimmed !== "");
30938
+ const handleKeep = () => {
30939
+ if (!canKeep || isPending) return;
30940
+ onConfirm({ reason, description: reason === "OTHER" ? trimmed : null });
30941
+ };
30942
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
30943
+ } : onClose, className: "text-left md:max-w-[600px]", children: [
30944
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Keep this recording" }) }),
30945
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30946
+ KeepNotice,
30947
+ {
30948
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.InfoCircleIcon, { size: 24, color: "currentColor" }),
30949
+ title: "This recording won't be deleted automatically",
30950
+ children: [
30951
+ "It stays until you stop keeping it. Kept recordings use ",
30952
+ keptUsage,
30953
+ "."
30954
+ ]
30955
+ }
30956
+ ),
30957
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xs)]", children: [
30958
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30959
+ Select,
30960
+ {
30961
+ value: reason,
30962
+ onValueChange: (value) => setReason(value),
30963
+ disabled: isPending,
30964
+ children: [
30965
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { label: "Reason", labelVariant: "large", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { placeholder: "Select Reason" }) }),
30966
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: KEEP_REASONS.map((value) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value, children: REMOTE_SESSION_KEEP_REASON_LABELS[value] }, value)) })
30967
+ ]
30968
+ }
30969
+ ),
30970
+ reason === "OTHER" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30971
+ _chunk2A4XES7Rcjs.Input,
30972
+ {
30973
+ "aria-label": "Reason description",
30974
+ value: description,
30975
+ onChange: (event) => setDescription(event.target.value),
30976
+ placeholder: "Briefly describe what's going on",
30977
+ maxLength: DESCRIPTION_MAX_LENGTH,
30978
+ disabled: isPending
30979
+ }
30980
+ )
30981
+ ] }),
30982
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
30983
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
30984
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
30985
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30986
+ _chunkDFQYAYBHcjs.Button,
30987
+ {
30988
+ type: "button",
30989
+ variant: "accent",
30990
+ onClick: handleKeep,
30991
+ loading: isPending,
30992
+ disabled: !canKeep,
30993
+ className: "flex-1",
30994
+ children: "Keep"
30995
+ }
30996
+ )
30997
+ ] })
30998
+ ] });
30999
+ }
31000
+ function ReleaseKeepingModal({
31001
+ isOpen,
31002
+ onClose,
31003
+ keptBy,
31004
+ keptOn,
31005
+ reason,
31006
+ ticket,
31007
+ expiresOn,
31008
+ dueOn,
31009
+ isPending = false,
31010
+ onConfirm
31011
+ }) {
31012
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
31013
+ } : onClose, className: "text-left md:max-w-[600px]", children: [
31014
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Release Keeping" }) }),
31015
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xsf)] text-ods-text-primary text-h4", children: [
31016
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { children: [
31017
+ "Kept by ",
31018
+ keptBy,
31019
+ " on ",
31020
+ keptOn,
31021
+ " for ",
31022
+ reason,
31023
+ "."
31024
+ ] }),
31025
+ ticket && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { children: [
31026
+ "Ticket: ",
31027
+ ticket
31028
+ ] })
31029
+ ] }),
31030
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, KeepNotice, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.HourglassIcon, { size: 24, color: "currentColor" }), title: `It will expire on ${expiresOn}`, children: dueOn ? `It was due to expire on ${dueOn}. Releasing gives it 3 days' grace, and it shows amber until then. Whoever placed the Keep is reminded the day before it goes. Nothing is deleted now.` : "Nothing is deleted now." }),
31031
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
31032
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
31033
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
31034
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "accent", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Release Keeping" })
31035
+ ] })
31036
+ ] });
31037
+ }
31038
+
31039
+ // src/components/features/remote-session/remote-session-events.tsx
31040
+
31041
+ function formatRemoteSessionOffset(offsetMs) {
31042
+ const total = Math.max(0, Math.floor(offsetMs / 1e3));
31043
+ const hours = Math.floor(total / 3600);
31044
+ const minutes = String(Math.floor(total % 3600 / 60)).padStart(2, "0");
31045
+ const seconds = String(total % 60).padStart(2, "0");
31046
+ return hours > 0 ? `${hours}:${minutes}:${seconds}` : `${minutes}:${seconds}`;
31047
+ }
31048
+ function RemoteSessionEventList({ events, activeEventId, onSelect, className }) {
31049
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xxs)]", className), children: [
31050
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-secondary text-h5", children: "Session Events" }),
31051
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ol", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-m)]", children: events.map((event) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31052
+ "button",
31053
+ {
31054
+ type: "button",
31055
+ "aria-current": event.id === activeEventId || void 0,
31056
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _653 => _653(event)]),
31057
+ className: _chunk3ATAYP36cjs.cn.call(void 0,
31058
+ "flex w-full items-start gap-[var(--spacing-system-xxs)] rounded-md p-[var(--spacing-system-xxs)] text-left outline-none transition-colors",
31059
+ "hover:bg-ods-bg-hover focus-visible:ring-2 focus-visible:ring-ods-focus",
31060
+ event.id === activeEventId && "bg-ods-border hover:bg-ods-border"
31061
+ ),
31062
+ children: [
31063
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-[84px] shrink-0 text-ods-text-secondary text-h4", children: formatRemoteSessionOffset(event.offsetMs) }),
31064
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-1 flex-col", children: [
31065
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: event.title }),
31066
+ event.detail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: event.detail })
31067
+ ] })
31068
+ ]
31069
+ }
31070
+ ) }, event.id)) })
31071
+ ] });
31072
+ }
31073
+ function RemoteSessionTimelineMarkers({
31074
+ events,
31075
+ durationMs,
31076
+ onSelect,
31077
+ className
31078
+ }) {
31079
+ if (durationMs <= 0) return null;
31080
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "relative h-4 w-full", className), children: events.map((event) => {
31081
+ const share = Math.min(1, Math.max(0, event.offsetMs / durationMs));
31082
+ const label = `${event.title} at ${formatRemoteSessionOffset(event.offsetMs)}`;
31083
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31084
+ "button",
31085
+ {
31086
+ type: "button",
31087
+ "aria-label": label,
31088
+ title: label,
31089
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _654 => _654(event)]),
31090
+ style: { left: `${share * 100}%` },
31091
+ className: "absolute top-0 h-4 w-1 -translate-x-1/2 rounded-md bg-ods-text-secondary outline-none transition-colors hover:bg-ods-text-primary focus-visible:ring-2 focus-visible:ring-ods-focus"
31092
+ },
31093
+ event.id
31094
+ );
31095
+ }) });
31096
+ }
31097
+
31098
+ // src/components/features/remote-session/remote-session-status.tsx
31099
+
31100
+ function LiveDot() {
31101
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, className: "size-2 animate-live-pulse rounded-full bg-current motion-reduce:animate-none" });
31102
+ }
31103
+ var STATUS_TAG = {
31104
+ live: { label: "Live", variant: "critical" },
31105
+ processing: { label: "Processing", variant: "warning" },
31106
+ failed: { label: "Failed", variant: "error" }
31107
+ };
31108
+ function RemoteSessionStatusTag({ status, className }) {
31109
+ const { label, variant } = STATUS_TAG[status];
31110
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31111
+ _chunkEMCQGFXDcjs.Tag,
31112
+ {
31113
+ label,
31114
+ variant,
31115
+ icon: status === "live" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LiveDot, {}) : void 0,
31116
+ className: _chunk3ATAYP36cjs.cn.call(void 0, "pointer-events-none shrink-0", className)
31117
+ }
31118
+ );
31119
+ }
31120
+ function RemoteSessionExpiry(props) {
31121
+ const { className } = props;
31122
+ if (props.state === "none") {
31123
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk3ATAYP36cjs.cn.call(void 0, "text-ods-text-primary text-h4", className), children: "-" });
31124
+ }
31125
+ if (props.state === "expired") {
31126
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk3ATAYP36cjs.cn.call(void 0, "text-ods-text-secondary text-h4", className), children: "Expired" });
31127
+ }
31128
+ if (props.state === "kept") {
31129
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-w-0 flex-col", className), children: [
31130
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-ods-text-primary text-h4", children: [
31131
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.LockIcon, { size: 24, color: "currentColor", className: "shrink-0" }),
31132
+ "Kept"
31133
+ ] }),
31134
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: [
31135
+ "Kept by ",
31136
+ props.keptBy,
31137
+ " \xB7 ",
31138
+ props.reason
31139
+ ] })
31140
+ ] });
31141
+ }
31142
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-w-0 flex-col", className), children: [
31143
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: props.date }),
31144
+ props.remaining && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: props.remaining })
31145
+ ] });
31146
+ }
31147
+ function RemoteSessionStorageAlert({ scope, capacity, className }) {
31148
+ const message = scope === "session" ? "This session isn't being recorded. Recording storage is full. New sessions aren't recorded until space is freed." : `Recording storage full. New sessions aren't recorded.${capacity ? ` All ${capacity} of recording storage is used.` : ""}`;
31149
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31150
+ "div",
31151
+ {
31152
+ role: "alert",
31153
+ className: _chunk3ATAYP36cjs.cn.call(void 0,
31154
+ "flex w-full items-start gap-[var(--spacing-system-m)] rounded-md bg-ods-warning-secondary p-[var(--spacing-system-s)] text-ods-warning",
31155
+ className
31156
+ ),
31157
+ children: [
31158
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.AlertTriangleIcon, { size: 24, color: "currentColor", className: "shrink-0" }),
31159
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 text-h3", children: message })
31160
+ ]
31161
+ }
31162
+ );
31163
+ }
31164
+
30934
31165
  // src/components/features/board/board.tsx
30935
31166
  var _combine = require('@atlaskit/pragmatic-drag-and-drop/combine');
30936
31167
  var _adapter = require('@atlaskit/pragmatic-drag-and-drop/element/adapter');
@@ -30992,7 +31223,7 @@ function autoScrollAncestors(element) {
30992
31223
 
30993
31224
  // src/components/features/board/aim.ts
30994
31225
  var _closestedge = require('@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge');
30995
- var othersIn = (columns, columnId, ticketId) => (_nullishCoalesce(_optionalChain([columns, 'access', _653 => _653.find, 'call', _654 => _654((c) => c.id === columnId), 'optionalAccess', _655 => _655.tickets]), () => ( []))).filter((t) => t.id !== ticketId);
31226
+ var othersIn = (columns, columnId, ticketId) => (_nullishCoalesce(_optionalChain([columns, 'access', _655 => _655.find, 'call', _656 => _656((c) => c.id === columnId), 'optionalAccess', _657 => _657.tickets]), () => ( []))).filter((t) => t.id !== ticketId);
30996
31227
  function laneOf(columns, ticketId) {
30997
31228
  return _nullishCoalesce(columns.find((c) => c.tickets.some((t) => t.id === ticketId)), () => ( null));
30998
31229
  }
@@ -31036,11 +31267,11 @@ function aimToChange(columns, ticketId, aim) {
31036
31267
  const lane = laneOf(columns, ticketId);
31037
31268
  if (!lane) return null;
31038
31269
  const others = othersIn(columns, aim.columnId, ticketId);
31039
- const afterTicketId = _nullishCoalesce(_optionalChain([others, 'access', _656 => _656[aim.index - 1], 'optionalAccess', _657 => _657.id]), () => ( null));
31040
- const beforeTicketId = _nullishCoalesce(_optionalChain([others, 'access', _658 => _658[aim.index], 'optionalAccess', _659 => _659.id]), () => ( null));
31270
+ const afterTicketId = _nullishCoalesce(_optionalChain([others, 'access', _658 => _658[aim.index - 1], 'optionalAccess', _659 => _659.id]), () => ( null));
31271
+ const beforeTicketId = _nullishCoalesce(_optionalChain([others, 'access', _660 => _660[aim.index], 'optionalAccess', _661 => _661.id]), () => ( null));
31041
31272
  if (lane.id === aim.columnId) {
31042
31273
  const currentIndex = lane.tickets.findIndex((t) => t.id === ticketId);
31043
- if ((_nullishCoalesce(_optionalChain([lane, 'access', _660 => _660.tickets, 'access', _661 => _661[currentIndex - 1], 'optionalAccess', _662 => _662.id]), () => ( null))) === afterTicketId) return null;
31274
+ if ((_nullishCoalesce(_optionalChain([lane, 'access', _662 => _662.tickets, 'access', _663 => _663[currentIndex - 1], 'optionalAccess', _664 => _664.id]), () => ( null))) === afterTicketId) return null;
31044
31275
  }
31045
31276
  return { ticketId, fromColumnId: lane.id, toColumnId: aim.columnId, afterTicketId, beforeTicketId };
31046
31277
  }
@@ -31061,7 +31292,7 @@ function BoardColumnHeader({
31061
31292
  }) {
31062
31293
  const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
31063
31294
  const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
31064
- const useStatusVariant = _chunkRTGPIHVOcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
31295
+ const useStatusVariant = _chunkHY5YL3U5cjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
31065
31296
  const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
31066
31297
  if (collapsed) {
31067
31298
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
@@ -31077,7 +31308,7 @@ function BoardColumnHeader({
31077
31308
  }
31078
31309
  ),
31079
31310
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31080
- _chunkRTGPIHVOcjs.TicketStatusTag,
31311
+ _chunkHY5YL3U5cjs.TicketStatusTag,
31081
31312
  {
31082
31313
  status: tagStatus,
31083
31314
  label: column.label,
@@ -31090,7 +31321,7 @@ function BoardColumnHeader({
31090
31321
  }
31091
31322
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
31092
31323
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
31093
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
31324
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
31094
31325
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
31095
31326
  ] }),
31096
31327
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -31242,7 +31473,7 @@ function holdMoveDragEffect(element) {
31242
31473
 
31243
31474
  function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
31244
31475
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
31245
- const { innerRef, containerStyle } = _chunkRTGPIHVOcjs.useCollapsible.call(void 0, { expanded });
31476
+ const { innerRef, containerStyle } = _chunkHY5YL3U5cjs.useCollapsible.call(void 0, { expanded });
31246
31477
  const isAdmin = pendingApproval.approvalType === "ADMIN";
31247
31478
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
31248
31479
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -31271,7 +31502,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
31271
31502
  }
31272
31503
  ),
31273
31504
  /* @__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,
31274
- _chunkRTGPIHVOcjs.ApprovalBatchMessage,
31505
+ _chunkHY5YL3U5cjs.ApprovalBatchMessage,
31275
31506
  {
31276
31507
  className: "mb-0",
31277
31508
  data: {
@@ -31312,14 +31543,14 @@ function useIsLanding(ticketId) {
31312
31543
  return _react.useContext.call(void 0, LandingCardContext) === ticketId;
31313
31544
  }
31314
31545
  function hasMoveSettled(columns, move) {
31315
- const tickets = _optionalChain([columns, 'access', _663 => _663.find, 'call', _664 => _664((c) => c.id === move.toColumnId), 'optionalAccess', _665 => _665.tickets]);
31546
+ const tickets = _optionalChain([columns, 'access', _665 => _665.find, 'call', _666 => _666((c) => c.id === move.toColumnId), 'optionalAccess', _667 => _667.tickets]);
31316
31547
  if (!tickets) return false;
31317
31548
  const index = tickets.findIndex((t) => t.id === move.ticketId);
31318
31549
  if (index < 0) return false;
31319
31550
  if (move.fromColumnId === move.toColumnId) {
31320
- return (_nullishCoalesce(_optionalChain([tickets, 'access', _666 => _666[index - 1], 'optionalAccess', _667 => _667.id]), () => ( null))) === move.afterTicketId;
31551
+ return (_nullishCoalesce(_optionalChain([tickets, 'access', _668 => _668[index - 1], 'optionalAccess', _669 => _669.id]), () => ( null))) === move.afterTicketId;
31321
31552
  }
31322
- return !_optionalChain([columns, 'access', _668 => _668.find, 'call', _669 => _669((c) => c.id === move.fromColumnId), 'optionalAccess', _670 => _670.tickets, 'access', _671 => _671.some, 'call', _672 => _672((t) => t.id === move.ticketId)]);
31553
+ return !_optionalChain([columns, 'access', _670 => _670.find, 'call', _671 => _671((c) => c.id === move.fromColumnId), 'optionalAccess', _672 => _672.tickets, 'access', _673 => _673.some, 'call', _674 => _674((t) => t.id === move.ticketId)]);
31323
31554
  }
31324
31555
 
31325
31556
  // src/components/features/board/ticket-card.tsx
@@ -31351,10 +31582,10 @@ function TicketCardBody({
31351
31582
  onLinkClick
31352
31583
  }) {
31353
31584
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
31354
- const newMessageTextColor = columnColor ? _chunkRTGPIHVOcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
31355
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _673 => _673.deviceHostnames, 'optionalAccess', _674 => _674.length]) || ticket.organizationName);
31356
- const deviceText = [_optionalChain([ticket, 'access', _675 => _675.deviceHostnames, 'optionalAccess', _676 => _676.join, 'call', _677 => _677(", ")]), ticket.organizationName].filter(Boolean).join(", ");
31357
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _678 => _678.assignees, 'optionalAccess', _679 => _679.length]) || renderAssignSlot);
31585
+ const newMessageTextColor = columnColor ? _chunkHY5YL3U5cjs.getReadableTextColor.call(void 0, columnColor) : void 0;
31586
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _675 => _675.deviceHostnames, 'optionalAccess', _676 => _676.length]) || ticket.organizationName);
31587
+ const deviceText = [_optionalChain([ticket, 'access', _677 => _677.deviceHostnames, 'optionalAccess', _678 => _678.join, 'call', _679 => _679(", ")]), ticket.organizationName].filter(Boolean).join(", ");
31588
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _680 => _680.assignees, 'optionalAccess', _681 => _681.length]) || renderAssignSlot);
31358
31589
  const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
31359
31590
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31360
31591
  _chunkN3COXDBHcjs.Flag02Icon,
@@ -31363,7 +31594,7 @@ function TicketCardBody({
31363
31594
  "aria-label": `Priority: ${ticket.priority}`
31364
31595
  }
31365
31596
  ),
31366
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _680 => _680.assignees, 'optionalAccess', _681 => _681.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
31597
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _682 => _682.assignees, 'optionalAccess', _683 => _683.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
31367
31598
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map(
31368
31599
  (a) => a.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31369
31600
  DeletedUserAvatar,
@@ -31390,8 +31621,8 @@ function TicketCardBody({
31390
31621
  ] })
31391
31622
  ] }) : null
31392
31623
  ] }) : null;
31393
- const timestampLabel = ticket.createdAt ? _chunkRTGPIHVOcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
31394
- const tooltipLabel = ticket.createdAt ? _chunkRTGPIHVOcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
31624
+ const timestampLabel = ticket.createdAt ? _chunkHY5YL3U5cjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
31625
+ const tooltipLabel = ticket.createdAt ? _chunkHY5YL3U5cjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
31395
31626
  const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
31396
31627
  const metaClass = "truncate text-ods-text-secondary text-h6";
31397
31628
  const meta = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31417,10 +31648,10 @@ function TicketCardBody({
31417
31648
  ] }),
31418
31649
  rightSection
31419
31650
  ] }),
31420
- _optionalChain([ticket, 'access', _682 => _682.tags, 'optionalAccess', _683 => _683.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
31421
- metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRTGPIHVOcjs.Tooltip, { children: [
31422
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipTrigger, { asChild: true, children: meta }),
31423
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRTGPIHVOcjs.TooltipContent, { children: tooltipLabel })
31651
+ _optionalChain([ticket, 'access', _684 => _684.tags, 'optionalAccess', _685 => _685.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
31652
+ metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { children: [
31653
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipTrigger, { asChild: true, children: meta }),
31654
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { children: tooltipLabel })
31424
31655
  ] }) }) : meta),
31425
31656
  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: [
31426
31657
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
@@ -31484,7 +31715,7 @@ var TicketCard = _react.memo.call(void 0, function TicketCardImpl({
31484
31715
  const isLanding = useIsLanding(ticket.id);
31485
31716
  const aim = useDropAim();
31486
31717
  const closestEdge = aim && aim.columnId === columnId && aim.ticketId === ticket.id ? aim.edge : null;
31487
- const isSource = isDragging || _optionalChain([aim, 'optionalAccess', _684 => _684.ticket, 'access', _685 => _685.id]) === ticket.id;
31718
+ const isSource = isDragging || _optionalChain([aim, 'optionalAccess', _686 => _686.ticket, 'access', _687 => _687.id]) === ticket.id;
31488
31719
  const lift = useBoardLift();
31489
31720
  const handleKeyDown = (e) => {
31490
31721
  if (e.key !== " " || dragDisabled || !lift) return;
@@ -31742,7 +31973,7 @@ var BoardColumn = _react.memo.call(void 0, function BoardColumnImpl({
31742
31973
  // large ones like the only thing that did.
31743
31974
  getData: ({ input, element: lane, source }) => {
31744
31975
  const nearest = nearestCardIn(lane, input.clientY, String(source.data.ticketId));
31745
- const ticketId = _optionalChain([nearest, 'optionalAccess', _686 => _686.dataset, 'access', _687 => _687.ticketId]);
31976
+ const ticketId = _optionalChain([nearest, 'optionalAccess', _688 => _688.dataset, 'access', _689 => _689.ticketId]);
31746
31977
  if (!nearest || !ticketId) return { type: "column", columnId: column.id };
31747
31978
  return _closestedge.attachClosestEdge.call(void 0,
31748
31979
  { type: "ticket", ticketId, columnId: column.id },
@@ -31754,7 +31985,7 @@ var BoardColumn = _react.memo.call(void 0, function BoardColumnImpl({
31754
31985
  onDrop: () => setIsOver(false)
31755
31986
  });
31756
31987
  }, [column.id, column.dropDisabled, column.allowedFromColumns, collapsed, touchMode]);
31757
- const handleToggleCollapse = _react.useCallback.call(void 0, () => _optionalChain([onToggleCollapse, 'optionalCall', _688 => _688(column.id)]), [onToggleCollapse, column.id]);
31988
+ const handleToggleCollapse = _react.useCallback.call(void 0, () => _optionalChain([onToggleCollapse, 'optionalCall', _690 => _690(column.id)]), [onToggleCollapse, column.id]);
31758
31989
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31759
31990
  "div",
31760
31991
  {
@@ -31833,7 +32064,7 @@ function ColumnBody({
31833
32064
  const observer = new IntersectionObserver(
31834
32065
  (entries) => {
31835
32066
  if (entries.some((e) => e.isIntersecting)) {
31836
- _optionalChain([loadMoreRef, 'access', _689 => _689.current, 'optionalCall', _690 => _690(columnIdRef.current)]);
32067
+ _optionalChain([loadMoreRef, 'access', _691 => _691.current, 'optionalCall', _692 => _692(columnIdRef.current)]);
31837
32068
  }
31838
32069
  },
31839
32070
  { root, rootMargin: loadMoreRootMargin }
@@ -31858,7 +32089,7 @@ function ColumnBody({
31858
32089
  ticket: t,
31859
32090
  columnId: column.id,
31860
32091
  columnColor: column.color,
31861
- href: _optionalChain([getTicketHref, 'optionalCall', _691 => _691(t.id)]),
32092
+ href: _optionalChain([getTicketHref, 'optionalCall', _693 => _693(t.id)]),
31862
32093
  renderAssignSlot,
31863
32094
  onApprove,
31864
32095
  onReject,
@@ -32035,7 +32266,7 @@ function DragBoard({
32035
32266
  const [landing, setLanding] = _react.useState.call(void 0, null);
32036
32267
  const landingTimer = _react.useRef.call(void 0, null);
32037
32268
  const pointRef = _react.useRef.call(void 0, { x: 0, y: 0 });
32038
- const laneLabel = _react.useCallback.call(void 0, (columnId) => _nullishCoalesce(_optionalChain([view, 'access', _692 => _692.find, 'call', _693 => _693((c) => c.id === columnId), 'optionalAccess', _694 => _694.label]), () => ( columnId)), [view]);
32269
+ const laneLabel = _react.useCallback.call(void 0, (columnId) => _nullishCoalesce(_optionalChain([view, 'access', _694 => _694.find, 'call', _695 => _695((c) => c.id === columnId), 'optionalAccess', _696 => _696.label]), () => ( columnId)), [view]);
32039
32270
  const acceptsLifted = _react.useCallback.call(void 0,
32040
32271
  (fromColumnId) => (column) => {
32041
32272
  if (column.dropDisabled || collapsed[column.id]) return false;
@@ -32049,7 +32280,7 @@ function DragBoard({
32049
32280
  const start = initialAim(view, ticketId);
32050
32281
  if (!start) return;
32051
32282
  setLifted({ ticketId, aim: start });
32052
- const title = _nullishCoalesce(_optionalChain([laneOf, 'call', _695 => _695(view, ticketId), 'optionalAccess', _696 => _696.tickets, 'access', _697 => _697.find, 'call', _698 => _698((t) => t.id === ticketId), 'optionalAccess', _699 => _699.title]), () => ( "Ticket"));
32283
+ const title = _nullishCoalesce(_optionalChain([laneOf, 'call', _697 => _697(view, ticketId), 'optionalAccess', _698 => _698.tickets, 'access', _699 => _699.find, 'call', _700 => _700((t) => t.id === ticketId), 'optionalAccess', _701 => _701.title]), () => ( "Ticket"));
32053
32284
  setAnnouncement(`${title} lifted. Use the arrow keys to move it, space to drop it, escape to put it back.`);
32054
32285
  },
32055
32286
  [view]
@@ -32074,11 +32305,11 @@ function DragBoard({
32074
32305
  const walk = _react.useCallback.call(void 0,
32075
32306
  (key) => {
32076
32307
  if (!lifted) return;
32077
- const from = _nullishCoalesce(_optionalChain([laneOf, 'call', _700 => _700(view, lifted.ticketId), 'optionalAccess', _701 => _701.id]), () => ( lifted.aim.columnId));
32308
+ const from = _nullishCoalesce(_optionalChain([laneOf, 'call', _702 => _702(view, lifted.ticketId), 'optionalAccess', _703 => _703.id]), () => ( lifted.aim.columnId));
32078
32309
  const next = moveAim(view, lifted.ticketId, lifted.aim, key, acceptsLifted(from));
32079
32310
  if (next === lifted.aim) return;
32080
32311
  setLifted({ ...lifted, aim: next });
32081
- const total = (_nullishCoalesce(_optionalChain([view, 'access', _702 => _702.find, 'call', _703 => _703((c) => c.id === next.columnId), 'optionalAccess', _704 => _704.tickets]), () => ( []))).filter(
32312
+ const total = (_nullishCoalesce(_optionalChain([view, 'access', _704 => _704.find, 'call', _705 => _705((c) => c.id === next.columnId), 'optionalAccess', _706 => _706.tickets]), () => ( []))).filter(
32082
32313
  (t) => t.id !== lifted.ticketId
32083
32314
  ).length;
32084
32315
  setAnnouncement(`${laneLabel(next.columnId)}, position ${next.index + 1} of ${total + 1}.`);
@@ -32105,11 +32336,11 @@ function DragBoard({
32105
32336
  }, [lifted, drop, walk]);
32106
32337
  _react.useEffect.call(void 0, () => {
32107
32338
  if (!lifted) return;
32108
- _optionalChain([boardRef, 'access', _705 => _705.current, 'optionalAccess', _706 => _706.querySelector, 'call', _707 => _707(`[${DROP_LINE_ATTRIBUTE}]`), 'optionalAccess', _708 => _708.scrollIntoView, 'call', _709 => _709({ block: "nearest", inline: "nearest" })]);
32339
+ _optionalChain([boardRef, 'access', _707 => _707.current, 'optionalAccess', _708 => _708.querySelector, 'call', _709 => _709(`[${DROP_LINE_ATTRIBUTE}]`), 'optionalAccess', _710 => _710.scrollIntoView, 'call', _711 => _711({ block: "nearest", inline: "nearest" })]);
32109
32340
  }, [lifted]);
32110
32341
  const keyboardAim = _react.useMemo.call(void 0, () => {
32111
32342
  if (!lifted) return null;
32112
- const ticket = _optionalChain([laneOf, 'call', _710 => _710(view, lifted.ticketId), 'optionalAccess', _711 => _711.tickets, 'access', _712 => _712.find, 'call', _713 => _713((t) => t.id === lifted.ticketId)]);
32343
+ const ticket = _optionalChain([laneOf, 'call', _712 => _712(view, lifted.ticketId), 'optionalAccess', _713 => _713.tickets, 'access', _714 => _714.find, 'call', _715 => _715((t) => t.id === lifted.ticketId)]);
32113
32344
  if (!ticket) return null;
32114
32345
  const anchor = aimToChange(view, lifted.ticketId, lifted.aim) ? aimAnchor(view, lifted.ticketId, lifted.aim) : { ticketId: null, edge: null };
32115
32346
  return { columnId: lifted.aim.columnId, ...anchor, ticket };
@@ -32131,7 +32362,7 @@ function DragBoard({
32131
32362
  return { columnId: slot.columnId, ...anchor, ticket };
32132
32363
  };
32133
32364
  const aimAt = (source, targets) => {
32134
- const next = readAim(source, _optionalChain([targets, 'access', _714 => _714[0], 'optionalAccess', _715 => _715.data]));
32365
+ const next = readAim(source, _optionalChain([targets, 'access', _716 => _716[0], 'optionalAccess', _717 => _717.data]));
32135
32366
  setAim((prev) => isSameAim(prev, next) ? prev : next);
32136
32367
  };
32137
32368
  return _combine.combine.call(void 0,
@@ -32160,7 +32391,7 @@ function DragBoard({
32160
32391
  setLanding(null);
32161
32392
  dragGeometry.current = {
32162
32393
  ticket,
32163
- columnColor: _optionalChain([columnsRef, 'access', _716 => _716.current, 'access', _717 => _717.find, 'call', _718 => _718((c) => c.id === source.data.columnId), 'optionalAccess', _719 => _719.color]),
32394
+ columnColor: _optionalChain([columnsRef, 'access', _718 => _718.current, 'access', _719 => _719.find, 'call', _720 => _720((c) => c.id === source.data.columnId), 'optionalAccess', _721 => _721.color]),
32164
32395
  width: rect.width,
32165
32396
  grabX: clientX - rect.left,
32166
32397
  grabY: clientY - rect.top
@@ -32177,7 +32408,7 @@ function DragBoard({
32177
32408
  setAim(null);
32178
32409
  const change = resolveBoardDrop(columnsRef.current, {
32179
32410
  source: source.data,
32180
- target: _optionalChain([location, 'access', _720 => _720.current, 'access', _721 => _721.dropTargets, 'access', _722 => _722[0], 'optionalAccess', _723 => _723.data])
32411
+ target: _optionalChain([location, 'access', _722 => _722.current, 'access', _723 => _723.dropTargets, 'access', _724 => _724[0], 'optionalAccess', _725 => _725.data])
32181
32412
  });
32182
32413
  if (!change) return;
32183
32414
  setPendingMove({
@@ -32210,7 +32441,7 @@ function DragBoard({
32210
32441
  return void 0;
32211
32442
  }
32212
32443
  const to = card.getBoundingClientRect();
32213
- const lane = _optionalChain([nearestScrollableAncestor, 'call', _724 => _724(card), 'optionalAccess', _725 => _725.getBoundingClientRect, 'call', _726 => _726()]);
32444
+ const lane = _optionalChain([nearestScrollableAncestor, 'call', _726 => _726(card), 'optionalAccess', _727 => _727.getBoundingClientRect, 'call', _728 => _728()]);
32214
32445
  if (lane && (to.top < lane.top || to.bottom > lane.bottom)) {
32215
32446
  finish();
32216
32447
  return void 0;
@@ -32269,8 +32500,8 @@ function DragBoard({
32269
32500
  children: view.map((column, i) => {
32270
32501
  const prev = view[i - 1];
32271
32502
  const next = view[i + 1];
32272
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _727 => _727.system]));
32273
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _728 => _728.system]));
32503
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _729 => _729.system]));
32504
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _730 => _730.system]));
32274
32505
  const showGap = i > 0 && !joinLeft;
32275
32506
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
32276
32507
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -32451,13 +32682,13 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
32451
32682
  const [flipTick, setFlipTick] = _react.useState.call(void 0, 0);
32452
32683
  const flipTimer = _react.useRef.call(void 0, null);
32453
32684
  const readItems = _react.useCallback.call(void 0,
32454
- () => [..._nullishCoalesce(_optionalChain([listRef, 'access', _729 => _729.current, 'optionalAccess', _730 => _730.querySelectorAll, 'call', _731 => _731(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
32685
+ () => [..._nullishCoalesce(_optionalChain([listRef, 'access', _731 => _731.current, 'optionalAccess', _732 => _732.querySelectorAll, 'call', _733 => _733(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
32455
32686
  []
32456
32687
  );
32457
32688
  const reorder = _react.useCallback.call(void 0,
32458
32689
  (from, to) => {
32459
32690
  if (from === to) return;
32460
- const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _732 => _732.current, 'optionalCall', _733 => _733(from)]), () => ( "Item"));
32691
+ const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _734 => _734.current, 'optionalCall', _735 => _735(from)]), () => ( "Item"));
32461
32692
  setAnnouncement(`${label} moved to position ${to + 1} of ${readItems().length}.`);
32462
32693
  onReorderRef.current(from, to);
32463
32694
  },
@@ -32545,7 +32776,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
32545
32776
  moving.push(item);
32546
32777
  }
32547
32778
  if (moving.length === 0) return;
32548
- void _optionalChain([listRef, 'access', _734 => _734.current, 'optionalAccess', _735 => _735.offsetHeight]);
32779
+ void _optionalChain([listRef, 'access', _736 => _736.current, 'optionalAccess', _737 => _737.offsetHeight]);
32549
32780
  for (const item of moving) {
32550
32781
  item.style.transition = `transform ${DROP_MS2}ms ${EASING}`;
32551
32782
  item.style.transform = "";
@@ -32582,8 +32813,8 @@ function SortableMoveButtons({ index, count, label, className }) {
32582
32813
  if (to < 0 || to >= count) return;
32583
32814
  reorder(index, to);
32584
32815
  requestAnimationFrame(() => {
32585
- if (step === -1 && to === 0) _optionalChain([downRef, 'access', _736 => _736.current, 'optionalAccess', _737 => _737.focus, 'call', _738 => _738()]);
32586
- if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _739 => _739.current, 'optionalAccess', _740 => _740.focus, 'call', _741 => _741()]);
32816
+ if (step === -1 && to === 0) _optionalChain([downRef, 'access', _738 => _738.current, 'optionalAccess', _739 => _739.focus, 'call', _740 => _740()]);
32817
+ if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _741 => _741.current, 'optionalAccess', _742 => _742.focus, 'call', _743 => _743()]);
32587
32818
  });
32588
32819
  };
32589
32820
  const subject = _nullishCoalesce(label, () => ( "item"));
@@ -32631,7 +32862,7 @@ function useSortableItem() {
32631
32862
  const [handle, setHandle] = _react.useState.call(void 0, null);
32632
32863
  const [isDragging, setIsDragging] = _react.useState.call(void 0, false);
32633
32864
  const itemRef = _react.useCallback.call(void 0, (node) => {
32634
- _optionalChain([node, 'optionalAccess', _742 => _742.setAttribute, 'call', _743 => _743(SORTABLE_ITEM_ATTRIBUTE, "")]);
32865
+ _optionalChain([node, 'optionalAccess', _744 => _744.setAttribute, 'call', _745 => _745(SORTABLE_ITEM_ATTRIBUTE, "")]);
32635
32866
  setItem(node);
32636
32867
  }, []);
32637
32868
  _react.useEffect.call(void 0, () => {
@@ -32661,7 +32892,7 @@ function useSortableItem() {
32661
32892
  if (from < 0 || to < 0 || to >= items.length) return;
32662
32893
  event.preventDefault();
32663
32894
  reorder(from, to);
32664
- requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _744 => _744.focus, 'call', _745 => _745()]));
32895
+ requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _746 => _746.focus, 'call', _747 => _747()]));
32665
32896
  },
32666
32897
  [inert, readItems, reorder, handle]
32667
32898
  );
@@ -32683,7 +32914,7 @@ function TicketStatusConfigList({
32683
32914
  onReorder,
32684
32915
  getItemLabel,
32685
32916
  className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className),
32686
- children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _746 => _746(index)]), children: (args) => renderRow(item, args) }, item.id))
32917
+ children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _748 => _748(index)]), children: (args) => renderRow(item, args) }, item.id))
32687
32918
  }
32688
32919
  );
32689
32920
  }
@@ -33458,4 +33689,14 @@ function ConversationCard({
33458
33689
 
33459
33690
 
33460
33691
 
33461
- exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; 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.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.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.AdminFormDrawer = AdminFormDrawer; exports.PlaybackToggle = PlaybackToggle; 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.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.StatusIndicator = StatusIndicator; exports.BACK_BUTTON_SKELETON_CLASS = BACK_BUTTON_SKELETON_CLASS; 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.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; 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.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; 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.normalizeSchedulingSlug = normalizeSchedulingSlug; 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.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; 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.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; 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.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; 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.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; 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.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; 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.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; 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.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; 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.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; 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.RemoteSessionScope = RemoteSessionScope; exports.RemoteSessionOrgLogo = RemoteSessionOrgLogo; exports.RemoteSessionRecordingTag = RemoteSessionRecordingTag; exports.REMOTE_SESSION_DRAG_HANDLE_CLASS = REMOTE_SESSION_DRAG_HANDLE_CLASS; exports.RemoteSessionDragger = RemoteSessionDragger; exports.formatRemoteSessionElapsed = formatRemoteSessionElapsed; exports.useRemoteSessionTimer = useRemoteSessionTimer; exports.RemoteAccessRequestCard = RemoteAccessRequestCard; exports.RemoteSessionBlockFrame = RemoteSessionBlockFrame; exports.RemoteSessionEndButton = RemoteSessionEndButton; exports.RemoteSessionSummary = RemoteSessionSummary; exports.RemoteSessionMinimizedChip = RemoteSessionMinimizedChip; exports.RemoteSessionChatPanel = RemoteSessionChatPanel; exports.RemoteSessionDialog = RemoteSessionDialog; exports.RemoteSessionBorder = RemoteSessionBorder; exports.RemoteSessionPill = RemoteSessionPill; 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.ConversationCard = ConversationCard; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; 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.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.SnapCarousel = SnapCarousel; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;
33692
+
33693
+
33694
+
33695
+
33696
+
33697
+
33698
+
33699
+
33700
+
33701
+
33702
+ exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; 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.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.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.AdminFormDrawer = AdminFormDrawer; exports.PlaybackToggle = PlaybackToggle; 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.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.StatusIndicator = StatusIndicator; exports.BACK_BUTTON_SKELETON_CLASS = BACK_BUTTON_SKELETON_CLASS; 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.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; 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.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; 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.normalizeSchedulingSlug = normalizeSchedulingSlug; 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.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; 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.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; 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.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; 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.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; 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.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; 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.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; 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.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; 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.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; 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.RemoteSessionViewers = RemoteSessionViewers; exports.RemoteSessionScope = RemoteSessionScope; exports.RemoteSessionOrgLogo = RemoteSessionOrgLogo; exports.RemoteSessionRecordingTag = RemoteSessionRecordingTag; exports.REMOTE_SESSION_DRAG_HANDLE_CLASS = REMOTE_SESSION_DRAG_HANDLE_CLASS; exports.RemoteSessionDragger = RemoteSessionDragger; exports.formatRemoteSessionElapsed = formatRemoteSessionElapsed; exports.useRemoteSessionTimer = useRemoteSessionTimer; exports.RemoteAccessRequestCard = RemoteAccessRequestCard; exports.RemoteSessionBlockFrame = RemoteSessionBlockFrame; exports.RemoteSessionEndButton = RemoteSessionEndButton; exports.RemoteSessionSummary = RemoteSessionSummary; exports.RemoteSessionMinimizedChip = RemoteSessionMinimizedChip; exports.RemoteSessionChatPanel = RemoteSessionChatPanel; exports.RemoteSessionDialog = RemoteSessionDialog; exports.RemoteSessionBorder = RemoteSessionBorder; exports.RemoteSessionPill = RemoteSessionPill; exports.REMOTE_SESSION_KEEP_REASON_LABELS = REMOTE_SESSION_KEEP_REASON_LABELS; exports.KeepRecordingModal = KeepRecordingModal; exports.ReleaseKeepingModal = ReleaseKeepingModal; exports.formatRemoteSessionOffset = formatRemoteSessionOffset; exports.RemoteSessionEventList = RemoteSessionEventList; exports.RemoteSessionTimelineMarkers = RemoteSessionTimelineMarkers; exports.RemoteSessionStatusTag = RemoteSessionStatusTag; exports.RemoteSessionExpiry = RemoteSessionExpiry; exports.RemoteSessionStorageAlert = RemoteSessionStorageAlert; 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.ConversationCard = ConversationCard; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; 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.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.SnapCarousel = SnapCarousel; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;