@flamingo-stack/openframe-frontend-core 0.0.589 → 0.0.590-2020.5606.1

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 (101) hide show
  1. package/dist/{chunk-EGUU3QCU.cjs → chunk-2564HPMD.cjs} +3 -3
  2. package/dist/{chunk-EGUU3QCU.cjs.map → chunk-2564HPMD.cjs.map} +1 -1
  3. package/dist/{chunk-JDINUWND.cjs → chunk-2MY6BT6P.cjs} +69 -69
  4. package/dist/{chunk-JDINUWND.cjs.map → chunk-2MY6BT6P.cjs.map} +1 -1
  5. package/dist/{chunk-G45RGWHF.cjs → chunk-353GRCTE.cjs} +37 -10
  6. package/dist/chunk-353GRCTE.cjs.map +1 -0
  7. package/dist/{chunk-5CHW7AMP.cjs → chunk-3BQESV5G.cjs} +10 -10
  8. package/dist/{chunk-5CHW7AMP.cjs.map → chunk-3BQESV5G.cjs.map} +1 -1
  9. package/dist/{chunk-KK3XU6YJ.cjs → chunk-3WZQ5RXS.cjs} +4 -4
  10. package/dist/{chunk-KK3XU6YJ.cjs.map → chunk-3WZQ5RXS.cjs.map} +1 -1
  11. package/dist/{chunk-A6X7EXP6.cjs → chunk-5KFIUNKN.cjs} +10 -10
  12. package/dist/{chunk-A6X7EXP6.cjs.map → chunk-5KFIUNKN.cjs.map} +1 -1
  13. package/dist/{chunk-CJOWLRUU.js → chunk-6BPIDRBI.js} +2 -2
  14. package/dist/{chunk-FVRRYJ6P.cjs → chunk-7H4RUNIL.cjs} +22 -22
  15. package/dist/{chunk-FVRRYJ6P.cjs.map → chunk-7H4RUNIL.cjs.map} +1 -1
  16. package/dist/{chunk-CN36E4PK.js → chunk-7JPKCUF7.js} +2 -2
  17. package/dist/{chunk-IYDHV2CS.cjs → chunk-7O7CAZYG.cjs} +43 -43
  18. package/dist/{chunk-IYDHV2CS.cjs.map → chunk-7O7CAZYG.cjs.map} +1 -1
  19. package/dist/{chunk-LGBNHWDN.js → chunk-ACUXSU6J.js} +3 -3
  20. package/dist/{chunk-KVNGYFFP.js → chunk-AV4UXMOH.js} +3 -3
  21. package/dist/{chunk-4ZKAMPBX.js → chunk-BKOCXNAP.js} +2 -2
  22. package/dist/{chunk-MENQLD57.cjs → chunk-CQHFRJSG.cjs} +5 -5
  23. package/dist/{chunk-MENQLD57.cjs.map → chunk-CQHFRJSG.cjs.map} +1 -1
  24. package/dist/{chunk-3OCYNMZ5.js → chunk-CT6I3HOP.js} +3 -3
  25. package/dist/{chunk-C6RJRSIM.cjs → chunk-DAUDWRE4.cjs} +3 -3
  26. package/dist/{chunk-C6RJRSIM.cjs.map → chunk-DAUDWRE4.cjs.map} +1 -1
  27. package/dist/{chunk-NXZC6UTN.js → chunk-DFUO7J3W.js} +2 -2
  28. package/dist/{chunk-TOYHZHTK.js → chunk-E5NSDLYJ.js} +2 -2
  29. package/dist/{chunk-77Y7R243.js → chunk-GAXC43J4.js} +5 -5
  30. package/dist/{chunk-EGYX55HT.cjs → chunk-I3HBFKKM.cjs} +159 -159
  31. package/dist/{chunk-EGYX55HT.cjs.map → chunk-I3HBFKKM.cjs.map} +1 -1
  32. package/dist/{chunk-ADANP3ZA.cjs → chunk-JIIA5BIJ.cjs} +33 -33
  33. package/dist/{chunk-ADANP3ZA.cjs.map → chunk-JIIA5BIJ.cjs.map} +1 -1
  34. package/dist/{chunk-PAUJQV3C.cjs → chunk-KIMRNY7A.cjs} +15 -15
  35. package/dist/{chunk-PAUJQV3C.cjs.map → chunk-KIMRNY7A.cjs.map} +1 -1
  36. package/dist/{chunk-FQBR6SCA.js → chunk-KLNHD4TC.js} +3 -3
  37. package/dist/{chunk-CNKVEVUN.js → chunk-LDNRL62P.js} +5 -5
  38. package/dist/{chunk-I5CJJFEJ.js → chunk-LKMRJ2CP.js} +3 -3
  39. package/dist/{chunk-KWTV3KGY.cjs → chunk-QEV5HPDQ.cjs} +9 -9
  40. package/dist/{chunk-KWTV3KGY.cjs.map → chunk-QEV5HPDQ.cjs.map} +1 -1
  41. package/dist/{chunk-WUCYI3BC.cjs → chunk-RLABO5PY.cjs} +24 -24
  42. package/dist/{chunk-WUCYI3BC.cjs.map → chunk-RLABO5PY.cjs.map} +1 -1
  43. package/dist/{chunk-5FNWOF46.js → chunk-RLC5IISG.js} +6 -6
  44. package/dist/{chunk-GKPY7VLK.js → chunk-RM3PTDSI.js} +4 -4
  45. package/dist/{chunk-NIDPX52C.js → chunk-T3WAHAMH.js} +5 -5
  46. package/dist/{chunk-D7YISHXC.js → chunk-V7RB3EUW.js} +37 -10
  47. package/dist/{chunk-D7YISHXC.js.map → chunk-V7RB3EUW.js.map} +1 -1
  48. package/dist/{chunk-BONXSRHZ.cjs → chunk-WIAEFA2K.cjs} +21 -21
  49. package/dist/{chunk-BONXSRHZ.cjs.map → chunk-WIAEFA2K.cjs.map} +1 -1
  50. package/dist/components/case-studies/index.cjs +9 -9
  51. package/dist/components/case-studies/index.js +3 -3
  52. package/dist/components/chat/index.cjs +2 -2
  53. package/dist/components/chat/index.js +1 -1
  54. package/dist/components/chat/stream/message-mutations.d.ts.map +1 -1
  55. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  56. package/dist/components/contact/index.cjs +4 -4
  57. package/dist/components/contact/index.js +3 -3
  58. package/dist/components/docs/index.cjs +7 -7
  59. package/dist/components/docs/index.js +6 -6
  60. package/dist/components/embeds/index.cjs +4 -4
  61. package/dist/components/embeds/index.js +3 -3
  62. package/dist/components/faq/index.cjs +4 -4
  63. package/dist/components/faq/index.js +3 -3
  64. package/dist/components/features/index.cjs +3 -3
  65. package/dist/components/features/index.js +2 -2
  66. package/dist/components/help-center-pages/index.cjs +23 -23
  67. package/dist/components/help-center-pages/index.js +14 -14
  68. package/dist/components/index.cjs +36 -36
  69. package/dist/components/index.js +13 -13
  70. package/dist/components/meeting-scheduler/index.cjs +21 -21
  71. package/dist/components/meeting-scheduler/index.js +2 -2
  72. package/dist/components/navigation/index.cjs +6 -6
  73. package/dist/components/navigation/index.js +5 -5
  74. package/dist/components/onboarding-guides/index.cjs +6 -6
  75. package/dist/components/onboarding-guides/index.js +5 -5
  76. package/dist/components/tickets/index.cjs +7 -7
  77. package/dist/components/tickets/index.js +6 -6
  78. package/dist/components/ui/index.cjs +3 -3
  79. package/dist/components/ui/index.js +2 -2
  80. package/dist/index.cjs +7 -7
  81. package/dist/index.js +6 -6
  82. package/package.json +1 -1
  83. package/src/components/chat/__tests__/ticket-event.test.ts +107 -0
  84. package/src/components/chat/stream/message-mutations.ts +47 -4
  85. package/src/components/chat/utils/process-historical-messages.ts +18 -6
  86. package/dist/chunk-G45RGWHF.cjs.map +0 -1
  87. /package/dist/{chunk-CJOWLRUU.js.map → chunk-6BPIDRBI.js.map} +0 -0
  88. /package/dist/{chunk-CN36E4PK.js.map → chunk-7JPKCUF7.js.map} +0 -0
  89. /package/dist/{chunk-LGBNHWDN.js.map → chunk-ACUXSU6J.js.map} +0 -0
  90. /package/dist/{chunk-KVNGYFFP.js.map → chunk-AV4UXMOH.js.map} +0 -0
  91. /package/dist/{chunk-4ZKAMPBX.js.map → chunk-BKOCXNAP.js.map} +0 -0
  92. /package/dist/{chunk-3OCYNMZ5.js.map → chunk-CT6I3HOP.js.map} +0 -0
  93. /package/dist/{chunk-NXZC6UTN.js.map → chunk-DFUO7J3W.js.map} +0 -0
  94. /package/dist/{chunk-TOYHZHTK.js.map → chunk-E5NSDLYJ.js.map} +0 -0
  95. /package/dist/{chunk-77Y7R243.js.map → chunk-GAXC43J4.js.map} +0 -0
  96. /package/dist/{chunk-FQBR6SCA.js.map → chunk-KLNHD4TC.js.map} +0 -0
  97. /package/dist/{chunk-CNKVEVUN.js.map → chunk-LDNRL62P.js.map} +0 -0
  98. /package/dist/{chunk-I5CJJFEJ.js.map → chunk-LKMRJ2CP.js.map} +0 -0
  99. /package/dist/{chunk-5FNWOF46.js.map → chunk-RLC5IISG.js.map} +0 -0
  100. /package/dist/{chunk-GKPY7VLK.js.map → chunk-RM3PTDSI.js.map} +0 -0
  101. /package/dist/{chunk-NIDPX52C.js.map → chunk-T3WAHAMH.js.map} +0 -0
@@ -90,7 +90,7 @@ var _chunkIKDC3R7Vcjs = require('./chunk-IKDC3R7V.cjs');
90
90
 
91
91
 
92
92
 
93
- var _chunkG45RGWHFcjs = require('./chunk-G45RGWHF.cjs');
93
+ var _chunk353GRCTEcjs = require('./chunk-353GRCTE.cjs');
94
94
 
95
95
 
96
96
 
@@ -335,7 +335,7 @@ function ThemeProvider({ children, ...overrides }) {
335
335
  var useTheme = _nextthemes.useTheme;
336
336
  function useThemeToggle() {
337
337
  const { resolvedTheme, theme, setTheme } = useTheme();
338
- const mounted = _chunkG45RGWHFcjs.useIsHydrated.call(void 0, );
338
+ const mounted = _chunk353GRCTEcjs.useIsHydrated.call(void 0, );
339
339
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
340
340
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
341
341
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -612,7 +612,7 @@ function TruncateText({
612
612
  const { ref, isTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
613
613
  const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
614
614
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
615
- _chunkG45RGWHFcjs.FloatingTooltip,
615
+ _chunk353GRCTEcjs.FloatingTooltip,
616
616
  {
617
617
  content: _nullishCoalesce(tooltip, () => ( children)),
618
618
  side,
@@ -914,7 +914,7 @@ function AutocompleteInner(props, ref) {
914
914
  ),
915
915
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
916
916
  multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
917
- _chunkG45RGWHFcjs.Tag,
917
+ _chunk353GRCTEcjs.Tag,
918
918
  {
919
919
  variant: "outline",
920
920
  labelClassName: "max-w-[90px] truncate",
@@ -1120,7 +1120,7 @@ function AutocompleteInner(props, ref) {
1120
1120
  "aria-hidden": "true",
1121
1121
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
1122
1122
  children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1123
- _chunkG45RGWHFcjs.Tag,
1123
+ _chunk353GRCTEcjs.Tag,
1124
1124
  {
1125
1125
  variant: "outline",
1126
1126
  labelClassName: "max-w-[90px] truncate",
@@ -2504,7 +2504,7 @@ function InfoHint({ children, label, side = "top", className }) {
2504
2504
  const describedById = _react.useId.call(void 0, );
2505
2505
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
2506
2506
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2507
- _chunkG45RGWHFcjs.FloatingTooltip,
2507
+ _chunk353GRCTEcjs.FloatingTooltip,
2508
2508
  {
2509
2509
  content: children,
2510
2510
  side,
@@ -2598,7 +2598,7 @@ function Value2({ value, depth }) {
2598
2598
  }
2599
2599
  if (typeof value === "string") {
2600
2600
  if (ISO_DATE.test(value)) {
2601
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkG45RGWHFcjs.formatRelativeTime.call(void 0, value) });
2601
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunk353GRCTEcjs.formatRelativeTime.call(void 0, value) });
2602
2602
  }
2603
2603
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
2604
2604
  }
@@ -3230,7 +3230,7 @@ function RowValue({ value }) {
3230
3230
  }
3231
3231
  case "status": {
3232
3232
  const { type: _type, ...props } = value;
3233
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TicketStatusTag, { ...props });
3233
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TicketStatusTag, { ...props });
3234
3234
  }
3235
3235
  case "custom":
3236
3236
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
@@ -4141,7 +4141,7 @@ function TagsManager({
4141
4141
  }
4142
4142
  ),
4143
4143
  selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4144
- _chunkG45RGWHFcjs.Tag,
4144
+ _chunk353GRCTEcjs.Tag,
4145
4145
  {
4146
4146
  label: tag.name,
4147
4147
  variant: "outline",
@@ -4686,10 +4686,10 @@ function useConfirm() {
4686
4686
  },
4687
4687
  []
4688
4688
  );
4689
- const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4690
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: pending.title }) }),
4691
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4692
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
4689
+ const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4690
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: pending.title }) }),
4691
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4692
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
4693
4693
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
4694
4694
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
4695
4695
  ] })
@@ -4747,9 +4747,9 @@ function AdminFormModal({
4747
4747
  body: "Your edits have not been saved. Close and discard them?"
4748
4748
  });
4749
4749
  if (!isOpen) return null;
4750
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4751
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: [
4752
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: title }),
4750
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4751
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: [
4752
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: title }),
4753
4753
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
4754
4754
  ] }),
4755
4755
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -4773,7 +4773,7 @@ function AdminFormModal({
4773
4773
  // a shrink-to-fit flex item pinned to the left of a 1400px panel).
4774
4774
  // The placeholder owns its own layout and mirrors the column count so
4775
4775
  // the modal doesn't visibly re-flow when the entity lands.
4776
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4776
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4777
4777
  "div",
4778
4778
  {
4779
4779
  "aria-busy": "true",
@@ -4794,12 +4794,12 @@ function AdminFormModal({
4794
4794
  ]
4795
4795
  }
4796
4796
  ) })
4797
- ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalContent, { className: contentClassName, children }),
4797
+ ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalContent, { className: contentClassName, children }),
4798
4798
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
4799
4799
  ]
4800
4800
  }
4801
4801
  ),
4802
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4802
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4803
4803
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
4804
4804
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
4805
4805
  footerStatus,
@@ -6897,7 +6897,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
6897
6897
  };
6898
6898
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
6899
6899
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6900
- _chunkG45RGWHFcjs.Video,
6900
+ _chunk353GRCTEcjs.Video,
6901
6901
  {
6902
6902
  url: item.src,
6903
6903
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7621,7 +7621,7 @@ function buildRichEmbedOverrides({
7621
7621
  ogEndpointPath,
7622
7622
  textSizes
7623
7623
  }) {
7624
- const standard = _chunkG45RGWHFcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7624
+ const standard = _chunk353GRCTEcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7625
7625
  return {
7626
7626
  // Fence-language embeds (```youtube-embed etc.); everything else
7627
7627
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7631,7 +7631,7 @@ function buildRichEmbedOverrides({
7631
7631
  const language = match ? match[1] : "";
7632
7632
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7633
7633
  if (language === "youtube-embed") {
7634
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "youtube", url: fenceText() });
7634
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "youtube", url: fenceText() });
7635
7635
  }
7636
7636
  if (language === "reddit-embed") {
7637
7637
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -7672,7 +7672,7 @@ function buildRichEmbedOverrides({
7672
7672
  "data-figma-url": figmaUrl
7673
7673
  } = divProps;
7674
7674
  if (className === "youtube-embed" && videoId) {
7675
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "youtube", url: videoId });
7675
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "youtube", url: videoId });
7676
7676
  }
7677
7677
  if (className === "reddit-embed" && postUrl) {
7678
7678
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -7757,14 +7757,14 @@ function buildRichEmbedOverrides({
7757
7757
  // rich-markdown runtime (Supabase optimization on the hub, identity
7758
7758
  // elsewhere). Guard against empty `![]()`.
7759
7759
  img: ({ src, alt }) => {
7760
- if (!_chunkG45RGWHFcjs.hasRenderableSrc.call(void 0, src)) return null;
7760
+ if (!_chunk353GRCTEcjs.hasRenderableSrc.call(void 0, src)) return null;
7761
7761
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7762
7762
  },
7763
7763
  // Raw <video> tags in stored content (blog publisher injection) route
7764
7764
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
7765
7765
  video: ({ src, poster, className }) => {
7766
- if (!_chunkG45RGWHFcjs.hasRenderableSrc.call(void 0, src)) return null;
7767
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7766
+ if (!_chunk353GRCTEcjs.hasRenderableSrc.call(void 0, src)) return null;
7767
+ 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, _chunk353GRCTEcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7768
7768
  }
7769
7769
  };
7770
7770
  }
@@ -7947,13 +7947,13 @@ var RichMarkdownInner = ({
7947
7947
  },
7948
7948
  [resolveLinkEndpointUrl, resolveSource]
7949
7949
  );
7950
- const textSizes = _react.useMemo.call(void 0, () => _chunkG45RGWHFcjs.resolveTextSizeConfig.call(void 0, "article"), []);
7950
+ const textSizes = _react.useMemo.call(void 0, () => _chunk353GRCTEcjs.resolveTextSizeConfig.call(void 0, "article"), []);
7951
7951
  const componentOverrides = _react.useMemo.call(void 0,
7952
7952
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
7953
7953
  [ogApiBaseUrl, ogEndpointPath, textSizes]
7954
7954
  );
7955
7955
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7956
- _chunkG45RGWHFcjs.MarkdownEngine,
7956
+ _chunk353GRCTEcjs.MarkdownEngine,
7957
7957
  {
7958
7958
  content,
7959
7959
  className,
@@ -7975,7 +7975,7 @@ var RichMarkdownRendererImpl = ({
7975
7975
  className = "",
7976
7976
  sectionIds,
7977
7977
  onInternalLinkClick,
7978
- brokenLinks = _chunkG45RGWHFcjs.NO_BROKEN_LINKS,
7978
+ brokenLinks = _chunk353GRCTEcjs.NO_BROKEN_LINKS,
7979
7979
  currentPath,
7980
7980
  resolveSource = "openframe-docs",
7981
7981
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -8548,7 +8548,7 @@ function FilterModal({
8548
8548
  const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
8549
8549
  const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
8550
8550
  const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _163 => _163.range]));
8551
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkG45RGWHFcjs.useScrollFade.call(void 0, );
8551
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk353GRCTEcjs.useScrollFade.call(void 0, );
8552
8552
  const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
8553
8553
  const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
8554
8554
  _react.useEffect.call(void 0, () => {
@@ -8593,10 +8593,10 @@ function FilterModal({
8593
8593
  const hasFilterGroups = filterGroups.length > 0;
8594
8594
  const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
8595
8595
  const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
8596
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
8597
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: title }) }),
8596
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
8597
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: title }) }),
8598
8598
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8599
- _chunkG45RGWHFcjs.ModalContent,
8599
+ _chunk353GRCTEcjs.ModalContent,
8600
8600
  {
8601
8601
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
8602
8602
  "flex min-h-0 flex-1 flex-col",
@@ -8688,12 +8688,12 @@ function FilterModal({
8688
8688
  ] })
8689
8689
  }
8690
8690
  ),
8691
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
8692
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
8691
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
8692
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
8693
8693
  ] })
8694
8694
  }
8695
8695
  ),
8696
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
8696
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
8697
8697
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
8698
8698
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
8699
8699
  ] })
@@ -8737,9 +8737,9 @@ function actionToMenuItems(action, idx) {
8737
8737
  function renderActionButton(action, opts = {}) {
8738
8738
  const button = renderRawActionButton(action, opts);
8739
8739
  if (!action.tooltip) return button;
8740
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { children: [
8741
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, children: button }),
8742
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { children: action.tooltip })
8740
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { children: [
8741
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipTrigger, { asChild: true, children: button }),
8742
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { children: action.tooltip })
8743
8743
  ] }) });
8744
8744
  }
8745
8745
  function renderRawActionButton(action, opts = {}) {
@@ -8763,7 +8763,7 @@ function renderRawActionButton(action, opts = {}) {
8763
8763
  }
8764
8764
  if (action.submenu && action.submenu.length > 0) {
8765
8765
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8766
- _chunkG45RGWHFcjs.ActionsMenuDropdown,
8766
+ _chunk353GRCTEcjs.ActionsMenuDropdown,
8767
8767
  {
8768
8768
  groups: [{ items: action.submenu }],
8769
8769
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -8898,10 +8898,10 @@ function IconButtonsVariant({
8898
8898
  selector,
8899
8899
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8900
8900
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
8901
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: menuActions })
8901
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ActionsMenuDropdown, { groups: menuActions })
8902
8902
  ] })
8903
8903
  ] }),
8904
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8904
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8905
8905
  ] });
8906
8906
  }
8907
8907
  function PrimaryButtonsVariant({
@@ -8939,7 +8939,7 @@ function MenuPrimaryVariant({
8939
8939
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
8940
8940
  selector,
8941
8941
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8942
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: menuActions }),
8942
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ActionsMenuDropdown, { groups: menuActions }),
8943
8943
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
8944
8944
  ] })
8945
8945
  ] }),
@@ -8947,7 +8947,7 @@ function MenuPrimaryVariant({
8947
8947
  // The selector rides into the menu as its header row: on mobile the
8948
8948
  // title row has no room for it, and hiding it entirely (what
8949
8949
  // `icon-buttons` does) would leave no way to switch views at all.
8950
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
8950
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
8951
8951
  ) : null })
8952
8952
  ] });
8953
8953
  }
@@ -9350,7 +9350,7 @@ function TitleBlock({
9350
9350
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
9351
9351
  (loading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
9352
9352
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9353
- _chunkG45RGWHFcjs.FloatingTooltip,
9353
+ _chunk353GRCTEcjs.FloatingTooltip,
9354
9354
  {
9355
9355
  content: title,
9356
9356
  side: "bottom",
@@ -9367,12 +9367,12 @@ function TitleBlock({
9367
9367
  }
9368
9368
  ),
9369
9369
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9370
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
9370
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
9371
9371
  hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
9372
9372
  empty `p` collapses to zero height (its only content would be
9373
9373
  collapsible whitespace), which is exactly the shift that mode
9374
9374
  exists to prevent. Hidden from AT — it carries no meaning. */
9375
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9375
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9376
9376
  "p",
9377
9377
  {
9378
9378
  ref: subtitleRef,
@@ -9383,7 +9383,7 @@ function TitleBlock({
9383
9383
  ) })
9384
9384
  ] })
9385
9385
  ] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
9386
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
9386
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
9387
9387
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9388
9388
  ] }) : (
9389
9389
  /* This branch never had the single-line clamp, so text already
@@ -10997,7 +10997,7 @@ function extractSections(markdown, options = {}) {
10997
10997
  if (heading.level > opts.maxLevel) continue;
10998
10998
  let title = heading.text;
10999
10999
  if (opts.stripFormattingMarkers) {
11000
- title = _chunkG45RGWHFcjs.stripInlineMarkdown.call(void 0, title).trim();
11000
+ title = _chunk353GRCTEcjs.stripInlineMarkdown.call(void 0, title).trim();
11001
11001
  }
11002
11002
  const baseId = _chunkZI27ALYXcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, title) : title);
11003
11003
  const cleanId = baseId || `section-${sections.length + 1}`;
@@ -11489,7 +11489,7 @@ function DashboardInfoCard({
11489
11489
  const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
11490
11490
  if (asTag) {
11491
11491
  const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
11492
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
11492
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
11493
11493
  }
11494
11494
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
11495
11495
  "(",
@@ -11543,7 +11543,7 @@ function DashboardInfoCard({
11543
11543
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
11544
11544
  subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
11545
11545
  renderPercentage(),
11546
- tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 20 }) }) })
11546
+ tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 20 }) }) })
11547
11547
  ] })
11548
11548
  ] }),
11549
11549
  renderProgress()
@@ -11726,7 +11726,7 @@ function DeviceCard({
11726
11726
  ] }),
11727
11727
  (statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
11728
11728
  statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11729
- _chunkG45RGWHFcjs.Tag,
11729
+ _chunk353GRCTEcjs.Tag,
11730
11730
  {
11731
11731
  variant: statusTag.variant,
11732
11732
  icon: statusTag.icon,
@@ -11740,7 +11740,7 @@ function DeviceCard({
11740
11740
  formatLastSeen(device.lastSeen)
11741
11741
  ] })
11742
11742
  ] }),
11743
- device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "outline", label: tag }, index)) })
11743
+ device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: "outline", label: tag }, index)) })
11744
11744
  ]
11745
11745
  }
11746
11746
  );
@@ -11888,7 +11888,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
11888
11888
 
11889
11889
  function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
11890
11890
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11891
- _chunkG45RGWHFcjs.FloatingTooltip,
11891
+ _chunk353GRCTEcjs.FloatingTooltip,
11892
11892
  {
11893
11893
  as: "span",
11894
11894
  side: "top",
@@ -12072,7 +12072,7 @@ function DropdownButton({
12072
12072
  )
12073
12073
  );
12074
12074
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12075
- _chunkG45RGWHFcjs.ActionsMenuDropdown,
12075
+ _chunk353GRCTEcjs.ActionsMenuDropdown,
12076
12076
  {
12077
12077
  groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
12078
12078
  open,
@@ -12310,7 +12310,7 @@ function ServiceCardRowItem({ row }) {
12310
12310
  ),
12311
12311
  children: [
12312
12312
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12313
- _chunkG45RGWHFcjs.FloatingTooltip,
12313
+ _chunk353GRCTEcjs.FloatingTooltip,
12314
12314
  {
12315
12315
  content: row.value,
12316
12316
  side: "top",
@@ -12436,9 +12436,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12436
12436
  return next;
12437
12437
  });
12438
12438
  };
12439
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { open, onOpenChange: setOpen, children: [
12439
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { open, onOpenChange: setOpen, children: [
12440
12440
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12441
- _chunkG45RGWHFcjs.TooltipTrigger,
12441
+ _chunk353GRCTEcjs.TooltipTrigger,
12442
12442
  {
12443
12443
  asChild: true,
12444
12444
  onPointerDown: (e) => {
@@ -12456,7 +12456,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12456
12456
  children
12457
12457
  }
12458
12458
  ),
12459
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12459
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12460
12460
  ] }) });
12461
12461
  }
12462
12462
 
@@ -13471,9 +13471,9 @@ function TruncatedHeaderCell({ value, width }) {
13471
13471
  setIsTruncated(el.scrollWidth > el.clientWidth);
13472
13472
  }
13473
13473
  }, []);
13474
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13475
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center", style: { width, height: 48 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: textRef, className: "truncate text-ods-text-secondary text-h5", children: value }) }) }),
13476
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
13474
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13475
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.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 }) }) }),
13476
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
13477
13477
  ] }) });
13478
13478
  }
13479
13479
 
@@ -13526,9 +13526,9 @@ function TruncatedCell({ value, className }) {
13526
13526
  setIsTruncated(el.scrollWidth > el.clientWidth);
13527
13527
  }
13528
13528
  }, []);
13529
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13530
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, "block truncate", className), children: value }) }),
13531
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
13529
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13530
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, "block truncate", className), children: value }) }),
13531
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
13532
13532
  ] }) });
13533
13533
  }
13534
13534
 
@@ -14814,7 +14814,7 @@ function SearchInput({
14814
14814
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}) }),
14815
14815
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
14816
14816
  visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14817
- _chunkG45RGWHFcjs.Tag,
14817
+ _chunk353GRCTEcjs.Tag,
14818
14818
  {
14819
14819
  variant: chipVariantToTagVariant(chip.variant),
14820
14820
  label: chip.label,
@@ -14928,7 +14928,7 @@ function SearchInput({
14928
14928
  }
14929
14929
  ),
14930
14930
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14931
- _chunkG45RGWHFcjs.Tag,
14931
+ _chunk353GRCTEcjs.Tag,
14932
14932
  {
14933
14933
  variant: chipVariantToTagVariant(chip.variant),
14934
14934
  label: chip.label,
@@ -15141,7 +15141,7 @@ function TagSearchInput({
15141
15141
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "size-4 text-ods-text-secondary md:size-6" }) }),
15142
15142
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
15143
15143
  visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15144
- _chunkG45RGWHFcjs.Tag,
15144
+ _chunk353GRCTEcjs.Tag,
15145
15145
  {
15146
15146
  variant: "outline",
15147
15147
  label: renderTag ? renderTag(tag) : tag.label,
@@ -15229,7 +15229,7 @@ function TagSearchInput({
15229
15229
  "aria-hidden": "true",
15230
15230
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
15231
15231
  children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15232
- _chunkG45RGWHFcjs.Tag,
15232
+ _chunk353GRCTEcjs.Tag,
15233
15233
  {
15234
15234
  variant: "outline",
15235
15235
  label: renderTag ? renderTag(tag) : tag.label,
@@ -16118,20 +16118,20 @@ function ColorPresetSelect({
16118
16118
  ...presets.map((p) => ({
16119
16119
  id: p.key,
16120
16120
  label: p.label,
16121
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: p.color }),
16121
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: p.color }),
16122
16122
  onClick: () => onChange({ color: p.color, preset: p.key })
16123
16123
  })),
16124
16124
  {
16125
16125
  id: CUSTOM_PRESET_KEY,
16126
16126
  label: "Custom",
16127
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16127
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16128
16128
  onClick: () => onChange({ color: value, preset: void 0 })
16129
16129
  }
16130
16130
  ]
16131
16131
  }
16132
16132
  ];
16133
16133
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16134
- _chunkG45RGWHFcjs.ActionsMenuDropdown,
16134
+ _chunk353GRCTEcjs.ActionsMenuDropdown,
16135
16135
  {
16136
16136
  groups,
16137
16137
  align: "start",
@@ -16141,7 +16141,7 @@ function ColorPresetSelect({
16141
16141
  {
16142
16142
  disabled,
16143
16143
  "aria-label": `Color: ${displayLabel}`,
16144
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: displayColor }),
16144
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: displayColor }),
16145
16145
  selectedLabel: displayLabel,
16146
16146
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16147
16147
  className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
@@ -16162,7 +16162,7 @@ function HexInputs({ value, onChange }) {
16162
16162
  }
16163
16163
  const commit = () => {
16164
16164
  const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
16165
- if (_chunkG45RGWHFcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16165
+ if (_chunk353GRCTEcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16166
16166
  else setDraft(value);
16167
16167
  };
16168
16168
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16226,12 +16226,12 @@ function ChannelInput({
16226
16226
  );
16227
16227
  }
16228
16228
  function RgbInputs({ value, onChange }) {
16229
- const rgb = _nullishCoalesce(_chunkG45RGWHFcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16229
+ const rgb = _nullishCoalesce(_chunk353GRCTEcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16230
16230
  const update = (next) => {
16231
16231
  const r = _nullishCoalesce(next.r, () => ( rgb.r));
16232
16232
  const g = _nullishCoalesce(next.g, () => ( rgb.g));
16233
16233
  const b = _nullishCoalesce(next.b, () => ( rgb.b));
16234
- onChange(_chunkG45RGWHFcjs.rgbToHex.call(void 0, r, g, b));
16234
+ onChange(_chunk353GRCTEcjs.rgbToHex.call(void 0, r, g, b));
16235
16235
  };
16236
16236
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16237
16237
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
@@ -16240,14 +16240,14 @@ function RgbInputs({ value, onChange }) {
16240
16240
  ] });
16241
16241
  }
16242
16242
  function HslInputs({ value, onChange }) {
16243
- const rgb = _nullishCoalesce(_chunkG45RGWHFcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16244
- const hsl = _chunkG45RGWHFcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
16243
+ const rgb = _nullishCoalesce(_chunk353GRCTEcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16244
+ const hsl = _chunk353GRCTEcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
16245
16245
  const update = (next) => {
16246
16246
  const h = _nullishCoalesce(next.h, () => ( hsl.h));
16247
16247
  const s = _nullishCoalesce(next.s, () => ( hsl.s));
16248
16248
  const l = _nullishCoalesce(next.l, () => ( hsl.l));
16249
- const out = _chunkG45RGWHFcjs.hslToRgb.call(void 0, h, s, l);
16250
- onChange(_chunkG45RGWHFcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
16249
+ const out = _chunk353GRCTEcjs.hslToRgb.call(void 0, h, s, l);
16250
+ onChange(_chunk353GRCTEcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
16251
16251
  };
16252
16252
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16253
16253
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
@@ -16273,7 +16273,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16273
16273
  {
16274
16274
  disabled,
16275
16275
  "aria-label": "Pick custom color",
16276
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: value }),
16276
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: value }),
16277
16277
  selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
16278
16278
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16279
16279
  className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
@@ -16289,7 +16289,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16289
16289
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
16290
16290
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
16291
16291
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16292
- _chunkG45RGWHFcjs.ActionsMenuDropdown,
16292
+ _chunk353GRCTEcjs.ActionsMenuDropdown,
16293
16293
  {
16294
16294
  groups: formatGroups,
16295
16295
  align: "start",
@@ -16346,7 +16346,7 @@ function TicketStatusConfigRow({
16346
16346
  const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
16347
16347
  const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
16348
16348
  const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16349
- _chunkG45RGWHFcjs.TicketStatusTag,
16349
+ _chunk353GRCTEcjs.TicketStatusTag,
16350
16350
  {
16351
16351
  status: statusKey,
16352
16352
  label: name || " ",
@@ -16498,7 +16498,7 @@ function formatTestRunDuration(ms) {
16498
16498
  var RESULT_COLUMN_MIN_WIDTH = 176;
16499
16499
  var SKELETON_COLUMNS = 6;
16500
16500
  function TestResultsSkeleton() {
16501
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16501
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16502
16502
  /* @__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}`)) }),
16503
16503
  /* @__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}`)) }) })
16504
16504
  ] }) });
@@ -16533,7 +16533,7 @@ function TestResultsTable({ rows, loading }) {
16533
16533
  if (loading) {
16534
16534
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
16535
16535
  }
16536
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { minWidth: Math.max(1, columnKeys.length) * RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DataTable, { table, children: [
16536
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.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: [
16537
16537
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
16538
16538
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
16539
16539
  ] }) }) });
@@ -16593,7 +16593,7 @@ var TEST_RUN_STATUS_TAGS = {
16593
16593
  function TestRunStatusStat({ status, className }) {
16594
16594
  const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
16595
16595
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
16596
- tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: "-" }),
16596
+ tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: "-" }),
16597
16597
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
16598
16598
  ] });
16599
16599
  }
@@ -16636,7 +16636,7 @@ function useTestRunState(campaign) {
16636
16636
  const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
16637
16637
  const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
16638
16638
  const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
16639
- const startedLabel = showTiming && campaign.startedAt ? _chunkG45RGWHFcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
16639
+ const startedLabel = showTiming && campaign.startedAt ? _chunk353GRCTEcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
16640
16640
  const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
16641
16641
  const displayRows = _react.useMemo.call(void 0,
16642
16642
  () => campaign.results.map(
@@ -16974,7 +16974,7 @@ function TicketInfoSection({
16974
16974
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _391 => _391.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _392 => _392.icon]), onClick: _optionalChain([device, 'optionalAccess', _393 => _393.onClick]) }),
16975
16975
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
16976
16976
  (status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16977
- _chunkG45RGWHFcjs.TicketStatusTag,
16977
+ _chunk353GRCTEcjs.TicketStatusTag,
16978
16978
  {
16979
16979
  status: _nullishCoalesce(status, () => ( "")),
16980
16980
  label: statusLabel,
@@ -17013,9 +17013,9 @@ function TicketInfoSection({
17013
17013
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
17014
17014
  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" }) }),
17015
17015
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
17016
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.SimpleMarkdownRenderer, { content: description }),
17016
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.SimpleMarkdownRenderer, { content: description }),
17017
17017
  attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
17018
- tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
17018
+ 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, _chunk353GRCTEcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
17019
17019
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17020
17020
  TicketNotesSection,
17021
17021
  {
@@ -17038,7 +17038,7 @@ function renderTicketStatusOption(option, isSelected) {
17038
17038
  const { label, color } = option;
17039
17039
  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: [
17040
17040
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
17041
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color }),
17041
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color }),
17042
17042
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
17043
17043
  ] }),
17044
17044
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -17083,9 +17083,9 @@ function TakeOverTicketModal({
17083
17083
  if (!selectedStatusId || !assigneeId || isPending) return;
17084
17084
  onConfirm({ statusId: selectedStatusId, assigneeId });
17085
17085
  };
17086
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose: isPending ? () => {
17086
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen, onClose: isPending ? () => {
17087
17087
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17088
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: "Take Over Ticket" }) }),
17088
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: "Take Over Ticket" }) }),
17089
17089
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
17090
17090
  "The ticket ",
17091
17091
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -17100,7 +17100,7 @@ function TakeOverTicketModal({
17100
17100
  value: selectedStatusId,
17101
17101
  onChange: setStatusId,
17102
17102
  placeholder: "Select Status",
17103
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17103
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17104
17104
  renderOption: renderTicketStatusOption
17105
17105
  }
17106
17106
  ) }),
@@ -17127,7 +17127,7 @@ function TakeOverTicketModal({
17127
17127
  }
17128
17128
  ) })
17129
17129
  ] }),
17130
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
17130
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
17131
17131
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17132
17132
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17133
17133
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17186,9 +17186,9 @@ function ReopenTicketModal({
17186
17186
  reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
17187
17187
  });
17188
17188
  };
17189
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose: isPending ? () => {
17189
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen, onClose: isPending ? () => {
17190
17190
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17191
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17191
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17192
17192
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
17193
17193
  "The ticket ",
17194
17194
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -17203,7 +17203,7 @@ function ReopenTicketModal({
17203
17203
  value: selectedStatusId,
17204
17204
  onChange: setStatusId,
17205
17205
  placeholder: "Select Status",
17206
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17206
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17207
17207
  renderOption: renderTicketStatusOption
17208
17208
  }
17209
17209
  ) }),
@@ -17241,7 +17241,7 @@ function ReopenTicketModal({
17241
17241
  disabled: isPending
17242
17242
  }
17243
17243
  ) }),
17244
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
17244
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
17245
17245
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17246
17246
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17247
17247
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17289,9 +17289,9 @@ function ReopenTicketRequestModal({
17289
17289
  ...showHandoffOption ? { handoffToTechnician: handoff } : {}
17290
17290
  });
17291
17291
  };
17292
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose: isPending ? () => {
17292
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen, onClose: isPending ? () => {
17293
17293
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17294
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17294
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17295
17295
  /* @__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." }),
17296
17296
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17297
17297
  Textarea,
@@ -17315,7 +17315,7 @@ function ReopenTicketRequestModal({
17315
17315
  disabled: isPending
17316
17316
  }
17317
17317
  ),
17318
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
17318
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
17319
17319
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
17320
17320
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
17321
17321
  ] })
@@ -19436,7 +19436,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
19436
19436
  sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
19437
19437
  title: config.title,
19438
19438
  loading: "eager",
19439
- ..._chunkG45RGWHFcjs.fetchPriorityProp.call(void 0, "high")
19439
+ ..._chunk353GRCTEcjs.fetchPriorityProp.call(void 0, "high")
19440
19440
  },
19441
19441
  iframeKey
19442
19442
  ),
@@ -20286,7 +20286,7 @@ function MediaGalleryManager({
20286
20286
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkEMF64FWAcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
20287
20287
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
20288
20288
  // fit="cover" crops to the aspect-video cell.
20289
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
20289
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
20290
20290
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20291
20291
  _chunkWLSFBRT5cjs.next_image_default,
20292
20292
  {
@@ -22537,9 +22537,9 @@ function PushButtonSelector({
22537
22537
  option.id
22538
22538
  );
22539
22539
  if (option.disabled && option.disabledReason) {
22540
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { children: [
22541
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, children: optionEl }),
22542
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
22540
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { children: [
22541
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipTrigger, { asChild: true, children: optionEl }),
22542
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
22543
22543
  ] }, option.id);
22544
22544
  }
22545
22545
  return optionEl;
@@ -22584,7 +22584,7 @@ function PushButtonSelector({
22584
22584
  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
22585
22585
  ] }) : null
22586
22586
  ] });
22587
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
22587
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
22588
22588
  title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
22589
22589
  searchInput,
22590
22590
  lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22757,7 +22757,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
22757
22757
  item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkEMF64FWAcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
22758
22758
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
22759
22759
  // fit="cover" crops to the aspect-video cell.
22760
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
22760
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
22761
22761
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22762
22762
  _chunkWLSFBRT5cjs.next_image_default,
22763
22763
  {
@@ -22890,7 +22890,7 @@ var SelectButton = _react2.default.forwardRef(
22890
22890
  }
22891
22891
  )
22892
22892
  ] }),
22893
- tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
22893
+ tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
22894
22894
  selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
22895
22895
  ]
22896
22896
  }
@@ -23676,7 +23676,7 @@ function VideoBitesDisplay({
23676
23676
  filterPublished = true,
23677
23677
  showTitle = true
23678
23678
  }) {
23679
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23679
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23680
23680
  }
23681
23681
 
23682
23682
  // src/components/features/walkthrough-video.tsx
@@ -23745,7 +23745,7 @@ function WalkthroughVideo({
23745
23745
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
23746
23746
  };
23747
23747
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
23748
- const hydrated = _chunkG45RGWHFcjs.useIsHydrated.call(void 0, );
23748
+ const hydrated = _chunk353GRCTEcjs.useIsHydrated.call(void 0, );
23749
23749
  const previewSuppressed = _react.useMemo.call(void 0, () => {
23750
23750
  if (!hydrated) return false;
23751
23751
  try {
@@ -24142,7 +24142,7 @@ function WalkthroughVideo({
24142
24142
  },
24143
24143
  children: [
24144
24144
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24145
- _chunkG45RGWHFcjs.VideoHoverPreviewSurface,
24145
+ _chunk353GRCTEcjs.VideoHoverPreviewSurface,
24146
24146
  {
24147
24147
  url: video.mainVideoUrl || "",
24148
24148
  posterUrl: video.posterUrl,
@@ -24165,7 +24165,7 @@ function WalkthroughVideo({
24165
24165
  `card-${embedUrlKey}`
24166
24166
  ) }),
24167
24167
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24168
- _chunkG45RGWHFcjs.CardHitLayer,
24168
+ _chunk353GRCTEcjs.CardHitLayer,
24169
24169
  {
24170
24170
  label: video.title ? `${label}: ${video.title}` : label,
24171
24171
  onPointerDown: pausePreviewNow,
@@ -24174,7 +24174,7 @@ function WalkthroughVideo({
24174
24174
  }
24175
24175
  ),
24176
24176
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "pointer-events-none absolute bottom-[var(--spacing-system-xsf)] left-[var(--spacing-system-xsf)] z-20 flex max-w-[calc(100%-2*var(--spacing-system-xsf))] items-center gap-[var(--spacing-system-xsf)] rounded-full bg-ods-overlay py-[var(--spacing-system-xxs)] pl-[var(--spacing-system-xxs)] pr-[var(--spacing-system-sf)] text-ods-text-primary text-h6", children: [
24177
- presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
24177
+ presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
24178
24178
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
24179
24179
  ] }),
24180
24180
  showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -24187,7 +24187,7 @@ function WalkthroughVideo({
24187
24187
  onPointerDown: (e) => e.stopPropagation(),
24188
24188
  onClick: onUnmuteOrPlay,
24189
24189
  className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
24190
- children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoUnmuteGlyph, {})
24190
+ children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.VideoUnmuteGlyph, {})
24191
24191
  }
24192
24192
  ),
24193
24193
  showPlaybackControls && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute left-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] z-30 flex items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -24280,7 +24280,7 @@ function WalkthroughVideo({
24280
24280
  children: [
24281
24281
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
24282
24282
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24283
- _chunkG45RGWHFcjs.Video,
24283
+ _chunk353GRCTEcjs.Video,
24284
24284
  {
24285
24285
  kind: video.youtubeUrl ? "youtube" : "file",
24286
24286
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -24331,7 +24331,7 @@ function InlineWalkthroughVideo(props) {
24331
24331
  var _reactquery = require('@tanstack/react-query');
24332
24332
  function useWalkthroughVideo(opts) {
24333
24333
  const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
24334
- const captions = _chunkG45RGWHFcjs.useCaptions.call(void 0, );
24334
+ const captions = _chunk353GRCTEcjs.useCaptions.call(void 0, );
24335
24335
  const query = _reactquery.useQuery.call(void 0, {
24336
24336
  queryKey: ["walkthrough-video", endpoint],
24337
24337
  enabled,
@@ -24529,7 +24529,7 @@ function VideoSourceSelector({
24529
24529
  }
24530
24530
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
24531
24531
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
24532
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: videoUrl }) }),
24532
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "file", url: videoUrl }) }),
24533
24533
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24534
24534
  "button",
24535
24535
  {
@@ -25053,7 +25053,7 @@ function HighlightVideoSection({
25053
25053
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
25054
25054
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
25055
25055
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
25056
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
25056
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
25057
25057
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25058
25058
  "button",
25059
25059
  {
@@ -25789,7 +25789,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
25789
25789
  ] });
25790
25790
  };
25791
25791
  var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
25792
- const { innerRef, containerStyle } = _chunkG45RGWHFcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
25792
+ const { innerRef, containerStyle } = _chunk353GRCTEcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
25793
25793
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
25794
25794
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
25795
25795
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -25957,7 +25957,7 @@ function WaitlistForm({
25957
25957
  const { toast } = _chunkLEISUAHFcjs.useToast.call(void 0, );
25958
25958
  const { honeypotInputProps, getSignals, resetSignals } = _chunkLEISUAHFcjs.useHumanitySignals.call(void 0, );
25959
25959
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
25960
- const isClient = _chunkG45RGWHFcjs.useIsHydrated.call(void 0, );
25960
+ const isClient = _chunk353GRCTEcjs.useIsHydrated.call(void 0, );
25961
25961
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
25962
25962
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
25963
25963
  const isMailDomainGeneric = hasGenericEmailDomain(email);
@@ -26761,7 +26761,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26761
26761
  "data-state": open ? "open" : "closed",
26762
26762
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
26763
26763
  "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",
26764
- _chunkG45RGWHFcjs.OVERLAY_BACKDROP_CLASS,
26764
+ _chunk353GRCTEcjs.OVERLAY_BACKDROP_CLASS,
26765
26765
  // Persist mode only: hold the fade-out's final (transparent) frame
26766
26766
  // so the backdrop doesn't snap back to opacity 1 and dim the whole
26767
26767
  // content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
@@ -26837,11 +26837,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26837
26837
  }
26838
26838
  );
26839
26839
  AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
26840
- var AppLayoutDrawerHeader = _chunkG45RGWHFcjs.DrawerHeader;
26841
- var AppLayoutDrawerTitle = _chunkG45RGWHFcjs.DrawerTitle;
26842
- var AppLayoutDrawerDescription = _chunkG45RGWHFcjs.DrawerDescription;
26843
- var AppLayoutDrawerBody = _chunkG45RGWHFcjs.DrawerBody;
26844
- var AppLayoutDrawerFooter = _chunkG45RGWHFcjs.DrawerFooter;
26840
+ var AppLayoutDrawerHeader = _chunk353GRCTEcjs.DrawerHeader;
26841
+ var AppLayoutDrawerTitle = _chunk353GRCTEcjs.DrawerTitle;
26842
+ var AppLayoutDrawerDescription = _chunk353GRCTEcjs.DrawerDescription;
26843
+ var AppLayoutDrawerBody = _chunk353GRCTEcjs.DrawerBody;
26844
+ var AppLayoutDrawerFooter = _chunk353GRCTEcjs.DrawerFooter;
26845
26845
 
26846
26846
  // src/components/features/notifications/notification-tile.tsx
26847
26847
 
@@ -26929,7 +26929,7 @@ function NotificationTile({
26929
26929
  }
26930
26930
  ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkLEISUAHFcjs.dotColorByVariant[accentVariant]) }))) }),
26931
26931
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "min-w-0 flex-1 truncate text-h5", typeColorByVariant[accentVariant]), title: type, children: type }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1" }),
26932
- !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkG45RGWHFcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
26932
+ !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunk353GRCTEcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
26933
26933
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
26934
26934
  {
26935
26935
  active: isLive,
@@ -27026,7 +27026,7 @@ function NotificationDrawer({
27026
27026
  const unreadNotifications = notifications.filter((n) => !n.read);
27027
27027
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
27028
27028
  /* @__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,
27029
- _chunkG45RGWHFcjs.DrawerTitle,
27029
+ _chunk353GRCTEcjs.DrawerTitle,
27030
27030
  {
27031
27031
  hideClose: true,
27032
27032
  className: "truncate",
@@ -27085,8 +27085,8 @@ function NotificationDrawer({
27085
27085
  }
27086
27086
  ) });
27087
27087
  }
27088
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27089
- _chunkG45RGWHFcjs.DrawerContent,
27088
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27089
+ _chunk353GRCTEcjs.DrawerContent,
27090
27090
  {
27091
27091
  side: "right",
27092
27092
  "aria-describedby": void 0,
@@ -27361,13 +27361,13 @@ function getApprovalMeta(notification) {
27361
27361
  function resolutionToStatus(resolution) {
27362
27362
  switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
27363
27363
  case "APPROVED":
27364
- return _chunkG45RGWHFcjs.APPROVAL_STATUS.APPROVED;
27364
+ return _chunk353GRCTEcjs.APPROVAL_STATUS.APPROVED;
27365
27365
  case "REJECTED":
27366
- return _chunkG45RGWHFcjs.APPROVAL_STATUS.REJECTED;
27366
+ return _chunk353GRCTEcjs.APPROVAL_STATUS.REJECTED;
27367
27367
  case "CANCELLED":
27368
- return _chunkG45RGWHFcjs.APPROVAL_STATUS.CANCELLED;
27368
+ return _chunk353GRCTEcjs.APPROVAL_STATUS.CANCELLED;
27369
27369
  default:
27370
- return _chunkG45RGWHFcjs.APPROVAL_STATUS.PENDING;
27370
+ return _chunk353GRCTEcjs.APPROVAL_STATUS.PENDING;
27371
27371
  }
27372
27372
  }
27373
27373
  function approvalMetaToBatchData(approval) {
@@ -27407,7 +27407,7 @@ function ApprovalRequestNotificationTile({
27407
27407
  const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _581 => _581.resolution]));
27408
27408
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
27409
27409
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
27410
- const { innerRef, containerStyle } = _chunkG45RGWHFcjs.useCollapsible.call(void 0, { expanded });
27410
+ const { innerRef, containerStyle } = _chunk353GRCTEcjs.useCollapsible.call(void 0, { expanded });
27411
27411
  if (!approval || !batchData) return null;
27412
27412
  const tileNotification = {
27413
27413
  ...notification,
@@ -27460,7 +27460,7 @@ function ApprovalRequestNotificationTile({
27460
27460
  }
27461
27461
  )
27462
27462
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
27463
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ApprovalStatusTag, { status }),
27463
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ApprovalStatusTag, { status }),
27464
27464
  approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
27465
27465
  "by ",
27466
27466
  approval.resolvedByName
@@ -27478,12 +27478,12 @@ function ApprovalRequestNotificationTile({
27478
27478
  "aria-expanded": expanded,
27479
27479
  "aria-label": toggleLabel,
27480
27480
  className: "ml-auto w-6 shrink-0 px-0 md:w-8",
27481
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ExpandChevron, { expanded })
27481
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ExpandChevron, { expanded })
27482
27482
  }
27483
27483
  )
27484
27484
  ] }),
27485
27485
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27486
- _chunkG45RGWHFcjs.ApprovalBatchMessage,
27486
+ _chunk353GRCTEcjs.ApprovalBatchMessage,
27487
27487
  {
27488
27488
  data: batchData,
27489
27489
  showExecutionStatus: false,
@@ -27814,7 +27814,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
27814
27814
  function StatusTag({ status }) {
27815
27815
  if (status === "tracking") {
27816
27816
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27817
- _chunkG45RGWHFcjs.Tag,
27817
+ _chunk353GRCTEcjs.Tag,
27818
27818
  {
27819
27819
  variant: "success",
27820
27820
  className: STATUS_TAG_SKIN,
@@ -27824,9 +27824,9 @@ function StatusTag({ status }) {
27824
27824
  );
27825
27825
  }
27826
27826
  if (status === "paused") {
27827
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
27827
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
27828
27828
  }
27829
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
27829
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
27830
27830
  }
27831
27831
  function LastEntryRow({ entry, onClick }) {
27832
27832
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-m)] border-b border-ods-border bg-ods-bg px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] last:border-b-0", children: [
@@ -27995,7 +27995,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
27995
27995
  "data-state": isOpen ? "open" : "closed",
27996
27996
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
27997
27997
  layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
27998
- _chunkG45RGWHFcjs.OVERLAY_BACKDROP_CLASS,
27998
+ _chunk353GRCTEcjs.OVERLAY_BACKDROP_CLASS,
27999
27999
  "data-[state=open]:animate-in data-[state=open]:fade-in-0",
28000
28000
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
28001
28001
  )
@@ -28149,7 +28149,7 @@ function BoardColumnHeader({
28149
28149
  }) {
28150
28150
  const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
28151
28151
  const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
28152
- const useStatusVariant = _chunkG45RGWHFcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
28152
+ const useStatusVariant = _chunk353GRCTEcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
28153
28153
  const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
28154
28154
  if (collapsed) {
28155
28155
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
@@ -28165,7 +28165,7 @@ function BoardColumnHeader({
28165
28165
  }
28166
28166
  ),
28167
28167
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28168
- _chunkG45RGWHFcjs.TicketStatusTag,
28168
+ _chunk353GRCTEcjs.TicketStatusTag,
28169
28169
  {
28170
28170
  status: tagStatus,
28171
28171
  label: column.label,
@@ -28178,7 +28178,7 @@ function BoardColumnHeader({
28178
28178
  }
28179
28179
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
28180
28180
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
28181
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
28181
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
28182
28182
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
28183
28183
  ] }),
28184
28184
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -28329,7 +28329,7 @@ function holdMoveDragEffect(element) {
28329
28329
 
28330
28330
  function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
28331
28331
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
28332
- const { innerRef, containerStyle } = _chunkG45RGWHFcjs.useCollapsible.call(void 0, { expanded });
28332
+ const { innerRef, containerStyle } = _chunk353GRCTEcjs.useCollapsible.call(void 0, { expanded });
28333
28333
  const isAdmin = pendingApproval.approvalType === "ADMIN";
28334
28334
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
28335
28335
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -28358,7 +28358,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
28358
28358
  }
28359
28359
  ),
28360
28360
  /* @__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,
28361
- _chunkG45RGWHFcjs.ApprovalBatchMessage,
28361
+ _chunk353GRCTEcjs.ApprovalBatchMessage,
28362
28362
  {
28363
28363
  className: "mb-0",
28364
28364
  data: {
@@ -28430,7 +28430,7 @@ var ACTIVITY_DEFAULT_LABEL = {
28430
28430
  var TICKET_CARD_SHELL = "relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left";
28431
28431
  function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
28432
28432
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
28433
- const newMessageTextColor = columnColor ? _chunkG45RGWHFcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
28433
+ const newMessageTextColor = columnColor ? _chunk353GRCTEcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
28434
28434
  const showDeviceRow = !!(_optionalChain([ticket, 'access', _617 => _617.deviceHostnames, 'optionalAccess', _618 => _618.length]) || ticket.organizationName);
28435
28435
  const deviceText = [_optionalChain([ticket, 'access', _619 => _619.deviceHostnames, 'optionalAccess', _620 => _620.join, 'call', _621 => _621(", ")]), ticket.organizationName].filter(Boolean).join(", ");
28436
28436
  const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _622 => _622.assignees, 'optionalAccess', _623 => _623.length]) || renderAssignSlot);
@@ -28469,8 +28469,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28469
28469
  ] })
28470
28470
  ] }) : null
28471
28471
  ] }) : null;
28472
- const timestampLabel = ticket.createdAt ? _chunkG45RGWHFcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
28473
- const tooltipLabel = ticket.createdAt ? _chunkG45RGWHFcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
28472
+ const timestampLabel = ticket.createdAt ? _chunk353GRCTEcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
28473
+ const tooltipLabel = ticket.createdAt ? _chunk353GRCTEcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
28474
28474
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
28475
28475
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
28476
28476
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
@@ -28483,9 +28483,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28483
28483
  rightSection
28484
28484
  ] }),
28485
28485
  _optionalChain([ticket, 'access', _626 => _626.tags, 'optionalAccess', _627 => _627.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
28486
- timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { children: [
28487
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
28488
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { children: tooltipLabel })
28486
+ timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { children: [
28487
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
28488
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { children: tooltipLabel })
28489
28489
  ] }) }),
28490
28490
  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: [
28491
28491
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
@@ -28505,7 +28505,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28505
28505
  }
28506
28506
  ),
28507
28507
  showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28508
- _chunkG45RGWHFcjs.Tag,
28508
+ _chunk353GRCTEcjs.Tag,
28509
28509
  {
28510
28510
  label: "New Message",
28511
28511
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
@@ -28720,8 +28720,8 @@ function TicketTagRow({ tags }) {
28720
28720
  const visible = tags.slice(0, MAX_VISIBLE_TAGS);
28721
28721
  const hidden = tags.length - visible.length;
28722
28722
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
28723
- visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "outline", label: tag }, tag)),
28724
- hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "outline", label: `+${hidden}` })
28723
+ visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: "outline", label: tag }, tag)),
28724
+ hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: "outline", label: `+${hidden}` })
28725
28725
  ] });
28726
28726
  }
28727
28727
 
@@ -30381,4 +30381,4 @@ function SortableRow({
30381
30381
 
30382
30382
 
30383
30383
  exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.COMPACT_ROW_MIN_HEIGHT_PX = COMPACT_ROW_MIN_HEIGHT_PX; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.DataTableEmpty = DataTableEmpty; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount;
30384
- //# sourceMappingURL=chunk-EGYX55HT.cjs.map
30384
+ //# sourceMappingURL=chunk-I3HBFKKM.cjs.map