@flamingo-stack/openframe-frontend-core 0.0.592 → 0.0.593-snapshot.20260905112237

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 (114) hide show
  1. package/dist/{chunk-F543W3F2.js → chunk-3OQIZPUX.js} +3 -3
  2. package/dist/{chunk-CRW4WRMH.js → chunk-3T7ZP3TL.js} +2 -2
  3. package/dist/{chunk-ASFEUMFW.js → chunk-3XDPXOMS.js} +4 -4
  4. package/dist/{chunk-3JOBM57M.cjs → chunk-43ADGEWL.cjs} +24 -24
  5. package/dist/{chunk-3JOBM57M.cjs.map → chunk-43ADGEWL.cjs.map} +1 -1
  6. package/dist/{chunk-YBENO4XG.cjs → chunk-5XQMEDGE.cjs} +10 -10
  7. package/dist/{chunk-YBENO4XG.cjs.map → chunk-5XQMEDGE.cjs.map} +1 -1
  8. package/dist/{chunk-HGEA6PW7.cjs → chunk-66I2QUFE.cjs} +3 -3
  9. package/dist/{chunk-HGEA6PW7.cjs.map → chunk-66I2QUFE.cjs.map} +1 -1
  10. package/dist/{chunk-ZT2Z2BYH.cjs → chunk-ACU7J5BL.cjs} +69 -69
  11. package/dist/{chunk-ZT2Z2BYH.cjs.map → chunk-ACU7J5BL.cjs.map} +1 -1
  12. package/dist/{chunk-FVADHGDP.cjs → chunk-C4YJC5X7.cjs} +4 -4
  13. package/dist/{chunk-FVADHGDP.cjs.map → chunk-C4YJC5X7.cjs.map} +1 -1
  14. package/dist/{chunk-5LJZWTOE.cjs → chunk-CCLPJSY3.cjs} +10 -10
  15. package/dist/{chunk-5LJZWTOE.cjs.map → chunk-CCLPJSY3.cjs.map} +1 -1
  16. package/dist/{chunk-WOGLPNK3.cjs → chunk-CQ35OMPJ.cjs} +3 -3
  17. package/dist/{chunk-WOGLPNK3.cjs.map → chunk-CQ35OMPJ.cjs.map} +1 -1
  18. package/dist/{chunk-XNGE5EE5.js → chunk-DRZ224RU.js} +6 -6
  19. package/dist/{chunk-O4VGEJ7I.cjs → chunk-EWOFXJGH.cjs} +43 -43
  20. package/dist/{chunk-O4VGEJ7I.cjs.map → chunk-EWOFXJGH.cjs.map} +1 -1
  21. package/dist/{chunk-6GMMR667.js → chunk-F5Q3DTP5.js} +5 -5
  22. package/dist/{chunk-R25AUM2R.js → chunk-GBIC3VNA.js} +3 -3
  23. package/dist/{chunk-LXD2QJFG.js → chunk-HOLK4ZMT.js} +3 -3
  24. package/dist/{chunk-W2RUBABW.cjs → chunk-HQWZ4IXU.cjs} +21 -21
  25. package/dist/{chunk-W2RUBABW.cjs.map → chunk-HQWZ4IXU.cjs.map} +1 -1
  26. package/dist/{chunk-JIINHJIT.js → chunk-IKQVXZB5.js} +5 -5
  27. package/dist/{chunk-FSCQOWXI.js → chunk-KVNA3HU2.js} +2 -2
  28. package/dist/{chunk-I7JYX5O3.js → chunk-LKN2KKYZ.js} +57 -4
  29. package/dist/{chunk-I7JYX5O3.js.map → chunk-LKN2KKYZ.js.map} +1 -1
  30. package/dist/{chunk-NZQYZKIN.js → chunk-M5HGULIY.js} +5 -5
  31. package/dist/{chunk-AUA6OSU7.js → chunk-MEWAFY6X.js} +2 -2
  32. package/dist/{chunk-OO6AMBHV.js → chunk-N3RHX26N.js} +3 -3
  33. package/dist/{chunk-NICIJRZ4.cjs → chunk-PETYVGEQ.cjs} +5 -5
  34. package/dist/{chunk-NICIJRZ4.cjs.map → chunk-PETYVGEQ.cjs.map} +1 -1
  35. package/dist/{chunk-WVHQQ3NY.js → chunk-PMN7WDXI.js} +31 -10
  36. package/dist/chunk-PMN7WDXI.js.map +1 -0
  37. package/dist/{chunk-5MHDMDPX.cjs → chunk-QAVT6P5F.cjs} +22 -22
  38. package/dist/{chunk-5MHDMDPX.cjs.map → chunk-QAVT6P5F.cjs.map} +1 -1
  39. package/dist/{chunk-V7RUX5CX.cjs → chunk-S7VW4HVL.cjs} +15 -15
  40. package/dist/{chunk-V7RUX5CX.cjs.map → chunk-S7VW4HVL.cjs.map} +1 -1
  41. package/dist/{chunk-COY57SZP.cjs → chunk-UBRVIVY4.cjs} +188 -167
  42. package/dist/chunk-UBRVIVY4.cjs.map +1 -0
  43. package/dist/{chunk-NYH3NVUF.js → chunk-Y22VQDVW.js} +3 -3
  44. package/dist/{chunk-TVPJ5DIB.cjs → chunk-YLVPQNLO.cjs} +57 -4
  45. package/dist/chunk-YLVPQNLO.cjs.map +1 -0
  46. package/dist/{chunk-XHDBU5EI.js → chunk-YZLUOZKR.js} +2 -2
  47. package/dist/{chunk-WP3AVAMP.cjs → chunk-ZEG3ZJPY.cjs} +33 -33
  48. package/dist/{chunk-WP3AVAMP.cjs.map → chunk-ZEG3ZJPY.cjs.map} +1 -1
  49. package/dist/{chunk-TQMZFXWZ.cjs → chunk-ZK3AZ5YF.cjs} +9 -9
  50. package/dist/{chunk-TQMZFXWZ.cjs.map → chunk-ZK3AZ5YF.cjs.map} +1 -1
  51. package/dist/components/case-studies/index.cjs +9 -9
  52. package/dist/components/case-studies/index.js +3 -3
  53. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  54. package/dist/components/chat/index.cjs +2 -2
  55. package/dist/components/chat/index.js +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 +38 -38
  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/data-table/data-table-row.d.ts +5 -0
  79. package/dist/components/ui/data-table/data-table-row.d.ts.map +1 -1
  80. package/dist/components/ui/data-table/data-table-skeleton.d.ts +1 -0
  81. package/dist/components/ui/data-table/data-table-skeleton.d.ts.map +1 -1
  82. package/dist/components/ui/index.cjs +3 -3
  83. package/dist/components/ui/index.js +2 -2
  84. package/dist/index.cjs +7 -7
  85. package/dist/index.js +6 -6
  86. package/dist/utils/index.cjs +14 -2
  87. package/dist/utils/index.cjs.map +1 -1
  88. package/dist/utils/index.js +14 -2
  89. package/dist/utils/index.js.map +1 -1
  90. package/dist/utils/source-icons.d.ts.map +1 -1
  91. package/package.json +1 -1
  92. package/src/__tests__/data-table-row-height.test.tsx +31 -0
  93. package/src/components/chat/entity-cards/dispatch.tsx +57 -0
  94. package/src/components/ui/data-table/data-table-body.tsx +12 -3
  95. package/src/components/ui/data-table/data-table-row.tsx +15 -3
  96. package/src/components/ui/data-table/data-table-skeleton.tsx +5 -2
  97. package/src/utils/source-icons.ts +24 -0
  98. package/dist/chunk-COY57SZP.cjs.map +0 -1
  99. package/dist/chunk-TVPJ5DIB.cjs.map +0 -1
  100. package/dist/chunk-WVHQQ3NY.js.map +0 -1
  101. /package/dist/{chunk-F543W3F2.js.map → chunk-3OQIZPUX.js.map} +0 -0
  102. /package/dist/{chunk-CRW4WRMH.js.map → chunk-3T7ZP3TL.js.map} +0 -0
  103. /package/dist/{chunk-ASFEUMFW.js.map → chunk-3XDPXOMS.js.map} +0 -0
  104. /package/dist/{chunk-XNGE5EE5.js.map → chunk-DRZ224RU.js.map} +0 -0
  105. /package/dist/{chunk-6GMMR667.js.map → chunk-F5Q3DTP5.js.map} +0 -0
  106. /package/dist/{chunk-R25AUM2R.js.map → chunk-GBIC3VNA.js.map} +0 -0
  107. /package/dist/{chunk-LXD2QJFG.js.map → chunk-HOLK4ZMT.js.map} +0 -0
  108. /package/dist/{chunk-JIINHJIT.js.map → chunk-IKQVXZB5.js.map} +0 -0
  109. /package/dist/{chunk-FSCQOWXI.js.map → chunk-KVNA3HU2.js.map} +0 -0
  110. /package/dist/{chunk-NZQYZKIN.js.map → chunk-M5HGULIY.js.map} +0 -0
  111. /package/dist/{chunk-AUA6OSU7.js.map → chunk-MEWAFY6X.js.map} +0 -0
  112. /package/dist/{chunk-OO6AMBHV.js.map → chunk-N3RHX26N.js.map} +0 -0
  113. /package/dist/{chunk-NYH3NVUF.js.map → chunk-Y22VQDVW.js.map} +0 -0
  114. /package/dist/{chunk-XHDBU5EI.js.map → chunk-YZLUOZKR.js.map} +0 -0
@@ -90,7 +90,7 @@ var _chunkY7ITKISQcjs = require('./chunk-Y7ITKISQ.cjs');
90
90
 
91
91
 
92
92
 
93
- var _chunkTVPJ5DIBcjs = require('./chunk-TVPJ5DIB.cjs');
93
+ var _chunkYLVPQNLOcjs = require('./chunk-YLVPQNLO.cjs');
94
94
 
95
95
 
96
96
 
@@ -343,7 +343,7 @@ function ThemeProvider({ children, ...overrides }) {
343
343
  var useTheme = _nextthemes.useTheme;
344
344
  function useThemeToggle() {
345
345
  const { resolvedTheme, theme, setTheme } = useTheme();
346
- const mounted = _chunkTVPJ5DIBcjs.useIsHydrated.call(void 0, );
346
+ const mounted = _chunkYLVPQNLOcjs.useIsHydrated.call(void 0, );
347
347
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
348
348
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
349
349
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -620,7 +620,7 @@ function TruncateText({
620
620
  const { ref, isTruncated } = _chunkYXWGSDK4cjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
621
621
  const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
622
622
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
623
- _chunkTVPJ5DIBcjs.FloatingTooltip,
623
+ _chunkYLVPQNLOcjs.FloatingTooltip,
624
624
  {
625
625
  content: _nullishCoalesce(tooltip, () => ( children)),
626
626
  side,
@@ -927,7 +927,7 @@ function AutocompleteInner(props, ref) {
927
927
  ),
928
928
  /* @__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: [
929
929
  multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
930
- _chunkTVPJ5DIBcjs.Tag,
930
+ _chunkYLVPQNLOcjs.Tag,
931
931
  {
932
932
  variant: "outline",
933
933
  labelClassName: "max-w-[90px] truncate",
@@ -1141,7 +1141,7 @@ function AutocompleteInner(props, ref) {
1141
1141
  "aria-hidden": "true",
1142
1142
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
1143
1143
  children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1144
- _chunkTVPJ5DIBcjs.Tag,
1144
+ _chunkYLVPQNLOcjs.Tag,
1145
1145
  {
1146
1146
  variant: "outline",
1147
1147
  labelClassName: "max-w-[90px] truncate",
@@ -2525,7 +2525,7 @@ function InfoHint({ children, label, side = "top", className }) {
2525
2525
  const describedById = _react.useId.call(void 0, );
2526
2526
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
2527
2527
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2528
- _chunkTVPJ5DIBcjs.FloatingTooltip,
2528
+ _chunkYLVPQNLOcjs.FloatingTooltip,
2529
2529
  {
2530
2530
  content: children,
2531
2531
  side,
@@ -2619,7 +2619,7 @@ function Value2({ value, depth }) {
2619
2619
  }
2620
2620
  if (typeof value === "string") {
2621
2621
  if (ISO_DATE.test(value)) {
2622
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkTVPJ5DIBcjs.formatRelativeTime.call(void 0, value) });
2622
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkYLVPQNLOcjs.formatRelativeTime.call(void 0, value) });
2623
2623
  }
2624
2624
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
2625
2625
  }
@@ -3251,7 +3251,7 @@ function RowValue({ value }) {
3251
3251
  }
3252
3252
  case "status": {
3253
3253
  const { type: _type, ...props } = value;
3254
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TicketStatusTag, { ...props });
3254
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TicketStatusTag, { ...props });
3255
3255
  }
3256
3256
  case "custom":
3257
3257
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
@@ -4162,7 +4162,7 @@ function TagsManager({
4162
4162
  }
4163
4163
  ),
4164
4164
  selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4165
- _chunkTVPJ5DIBcjs.Tag,
4165
+ _chunkYLVPQNLOcjs.Tag,
4166
4166
  {
4167
4167
  label: tag.name,
4168
4168
  variant: "outline",
@@ -4707,10 +4707,10 @@ function useConfirm() {
4707
4707
  },
4708
4708
  []
4709
4709
  );
4710
- const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4711
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalTitle, { children: pending.title }) }),
4712
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4713
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.ModalFooter, { children: [
4710
+ const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4711
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalTitle, { children: pending.title }) }),
4712
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4713
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.ModalFooter, { children: [
4714
4714
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
4715
4715
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
4716
4716
  ] })
@@ -4768,9 +4768,9 @@ function AdminFormModal({
4768
4768
  body: "Your edits have not been saved. Close and discard them?"
4769
4769
  });
4770
4770
  if (!isOpen) return null;
4771
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4772
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.ModalHeader, { children: [
4773
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalTitle, { children: title }),
4771
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4772
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.ModalHeader, { children: [
4773
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalTitle, { children: title }),
4774
4774
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
4775
4775
  ] }),
4776
4776
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -4794,7 +4794,7 @@ function AdminFormModal({
4794
4794
  // a shrink-to-fit flex item pinned to the left of a 1400px panel).
4795
4795
  // The placeholder owns its own layout and mirrors the column count so
4796
4796
  // the modal doesn't visibly re-flow when the entity lands.
4797
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4797
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4798
4798
  "div",
4799
4799
  {
4800
4800
  "aria-busy": "true",
@@ -4815,12 +4815,12 @@ function AdminFormModal({
4815
4815
  ]
4816
4816
  }
4817
4817
  ) })
4818
- ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalContent, { className: contentClassName, children }),
4818
+ ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalContent, { className: contentClassName, children }),
4819
4819
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
4820
4820
  ]
4821
4821
  }
4822
4822
  ),
4823
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4823
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4824
4824
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
4825
4825
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
4826
4826
  footerStatus,
@@ -6918,7 +6918,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
6918
6918
  };
6919
6919
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
6920
6920
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6921
- _chunkTVPJ5DIBcjs.Video,
6921
+ _chunkYLVPQNLOcjs.Video,
6922
6922
  {
6923
6923
  url: item.src,
6924
6924
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7642,7 +7642,7 @@ function buildRichEmbedOverrides({
7642
7642
  ogEndpointPath,
7643
7643
  textSizes
7644
7644
  }) {
7645
- const standard = _chunkTVPJ5DIBcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7645
+ const standard = _chunkYLVPQNLOcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7646
7646
  return {
7647
7647
  // Fence-language embeds (```youtube-embed etc.); everything else
7648
7648
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7652,7 +7652,7 @@ function buildRichEmbedOverrides({
7652
7652
  const language = match ? match[1] : "";
7653
7653
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7654
7654
  if (language === "youtube-embed") {
7655
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Video, { kind: "youtube", url: fenceText() });
7655
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Video, { kind: "youtube", url: fenceText() });
7656
7656
  }
7657
7657
  if (language === "reddit-embed") {
7658
7658
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -7693,7 +7693,7 @@ function buildRichEmbedOverrides({
7693
7693
  "data-figma-url": figmaUrl
7694
7694
  } = divProps;
7695
7695
  if (className === "youtube-embed" && videoId) {
7696
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Video, { kind: "youtube", url: videoId });
7696
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Video, { kind: "youtube", url: videoId });
7697
7697
  }
7698
7698
  if (className === "reddit-embed" && postUrl) {
7699
7699
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -7778,14 +7778,14 @@ function buildRichEmbedOverrides({
7778
7778
  // rich-markdown runtime (Supabase optimization on the hub, identity
7779
7779
  // elsewhere). Guard against empty `![]()`.
7780
7780
  img: ({ src, alt }) => {
7781
- if (!_chunkTVPJ5DIBcjs.hasRenderableSrc.call(void 0, src)) return null;
7781
+ if (!_chunkYLVPQNLOcjs.hasRenderableSrc.call(void 0, src)) return null;
7782
7782
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7783
7783
  },
7784
7784
  // Raw <video> tags in stored content (blog publisher injection) route
7785
7785
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
7786
7786
  video: ({ src, poster, className }) => {
7787
- if (!_chunkTVPJ5DIBcjs.hasRenderableSrc.call(void 0, src)) return null;
7788
- 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, _chunkTVPJ5DIBcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7787
+ if (!_chunkYLVPQNLOcjs.hasRenderableSrc.call(void 0, src)) return null;
7788
+ 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, _chunkYLVPQNLOcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7789
7789
  }
7790
7790
  };
7791
7791
  }
@@ -8026,13 +8026,13 @@ var RichMarkdownInner = ({
8026
8026
  },
8027
8027
  [resolveLinkEndpointUrl, resolveSource]
8028
8028
  );
8029
- const textSizes = _react.useMemo.call(void 0, () => _chunkTVPJ5DIBcjs.resolveTextSizeConfig.call(void 0, "article"), []);
8029
+ const textSizes = _react.useMemo.call(void 0, () => _chunkYLVPQNLOcjs.resolveTextSizeConfig.call(void 0, "article"), []);
8030
8030
  const componentOverrides = _react.useMemo.call(void 0,
8031
8031
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
8032
8032
  [ogApiBaseUrl, ogEndpointPath, textSizes]
8033
8033
  );
8034
8034
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8035
- _chunkTVPJ5DIBcjs.MarkdownEngine,
8035
+ _chunkYLVPQNLOcjs.MarkdownEngine,
8036
8036
  {
8037
8037
  content,
8038
8038
  className,
@@ -8054,7 +8054,7 @@ var RichMarkdownRendererImpl = ({
8054
8054
  className = "",
8055
8055
  sectionIds,
8056
8056
  onInternalLinkClick,
8057
- brokenLinks = _chunkTVPJ5DIBcjs.NO_BROKEN_LINKS,
8057
+ brokenLinks = _chunkYLVPQNLOcjs.NO_BROKEN_LINKS,
8058
8058
  currentPath,
8059
8059
  resolveSource = "openframe-docs",
8060
8060
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -8627,7 +8627,7 @@ function FilterModal({
8627
8627
  const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.defaultSort]), () => ( "desc"));
8628
8628
  const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _163 => _163.sort]), () => ( dateDefaultSort)));
8629
8629
  const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _164 => _164.range]));
8630
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkTVPJ5DIBcjs.useScrollFade.call(void 0, );
8630
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkYLVPQNLOcjs.useScrollFade.call(void 0, );
8631
8631
  const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
8632
8632
  const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
8633
8633
  _react.useEffect.call(void 0, () => {
@@ -8672,10 +8672,10 @@ function FilterModal({
8672
8672
  const hasFilterGroups = filterGroups.length > 0;
8673
8673
  const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
8674
8674
  const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
8675
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Modal, { isOpen, onClose, className: _chunk23V5BSHDcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
8676
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalTitle, { children: title }) }),
8675
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Modal, { isOpen, onClose, className: _chunk23V5BSHDcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
8676
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalTitle, { children: title }) }),
8677
8677
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8678
- _chunkTVPJ5DIBcjs.ModalContent,
8678
+ _chunkYLVPQNLOcjs.ModalContent,
8679
8679
  {
8680
8680
  className: _chunk23V5BSHDcjs.cn.call(void 0,
8681
8681
  "flex min-h-0 flex-1 flex-col",
@@ -8767,12 +8767,12 @@ function FilterModal({
8767
8767
  ] })
8768
8768
  }
8769
8769
  ),
8770
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
8771
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
8770
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
8771
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
8772
8772
  ] })
8773
8773
  }
8774
8774
  ),
8775
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.ModalFooter, { children: [
8775
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.ModalFooter, { children: [
8776
8776
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
8777
8777
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
8778
8778
  ] })
@@ -8816,9 +8816,9 @@ function actionToMenuItems(action, idx) {
8816
8816
  function renderActionButton(action, opts = {}) {
8817
8817
  const button = renderRawActionButton(action, opts);
8818
8818
  if (!action.tooltip) return button;
8819
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Tooltip, { children: [
8820
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipTrigger, { asChild: true, children: button }),
8821
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipContent, { children: action.tooltip })
8819
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Tooltip, { children: [
8820
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipTrigger, { asChild: true, children: button }),
8821
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipContent, { children: action.tooltip })
8822
8822
  ] }) });
8823
8823
  }
8824
8824
  function renderRawActionButton(action, opts = {}) {
@@ -8842,7 +8842,7 @@ function renderRawActionButton(action, opts = {}) {
8842
8842
  }
8843
8843
  if (action.submenu && action.submenu.length > 0) {
8844
8844
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8845
- _chunkTVPJ5DIBcjs.ActionsMenuDropdown,
8845
+ _chunkYLVPQNLOcjs.ActionsMenuDropdown,
8846
8846
  {
8847
8847
  groups: [{ items: action.submenu }],
8848
8848
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -8977,10 +8977,10 @@ function IconButtonsVariant({
8977
8977
  selector,
8978
8978
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8979
8979
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
8980
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ActionsMenuDropdown, { groups: menuActions })
8980
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ActionsMenuDropdown, { groups: menuActions })
8981
8981
  ] })
8982
8982
  ] }),
8983
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk23V5BSHDcjs.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, _chunkTVPJ5DIBcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8983
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk23V5BSHDcjs.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, _chunkYLVPQNLOcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
8984
8984
  ] });
8985
8985
  }
8986
8986
  function PrimaryButtonsVariant({
@@ -9018,7 +9018,7 @@ function MenuPrimaryVariant({
9018
9018
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
9019
9019
  selector,
9020
9020
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9021
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ActionsMenuDropdown, { groups: menuActions }),
9021
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ActionsMenuDropdown, { groups: menuActions }),
9022
9022
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
9023
9023
  ] })
9024
9024
  ] }),
@@ -9026,7 +9026,7 @@ function MenuPrimaryVariant({
9026
9026
  // The selector rides into the menu as its header row: on mobile the
9027
9027
  // title row has no room for it, and hiding it entirely (what
9028
9028
  // `icon-buttons` does) would leave no way to switch views at all.
9029
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
9029
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
9030
9030
  ) : null })
9031
9031
  ] });
9032
9032
  }
@@ -9432,7 +9432,7 @@ function TitleBlock({
9432
9432
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
9433
9433
  (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: [
9434
9434
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9435
- _chunkTVPJ5DIBcjs.FloatingTooltip,
9435
+ _chunkYLVPQNLOcjs.FloatingTooltip,
9436
9436
  {
9437
9437
  content: title,
9438
9438
  side: "bottom",
@@ -9449,12 +9449,12 @@ function TitleBlock({
9449
9449
  }
9450
9450
  ),
9451
9451
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9452
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunk23V5BSHDcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
9452
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunk23V5BSHDcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
9453
9453
  hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
9454
9454
  empty `p` collapses to zero height (its only content would be
9455
9455
  collapsible whitespace), which is exactly the shift that mode
9456
9456
  exists to prevent. Hidden from AT — it carries no meaning. */
9457
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9457
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9458
9458
  "p",
9459
9459
  {
9460
9460
  ref: subtitleRef,
@@ -9465,7 +9465,7 @@ function TitleBlock({
9465
9465
  ) })
9466
9466
  ] })
9467
9467
  ] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
9468
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunk23V5BSHDcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
9468
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunk23V5BSHDcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
9469
9469
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9470
9470
  ] }) : (
9471
9471
  /* This branch never had the single-line clamp, so text already
@@ -11067,7 +11067,7 @@ function extractSections(markdown, options = {}) {
11067
11067
  if (heading.level > opts.maxLevel) continue;
11068
11068
  let title = heading.text;
11069
11069
  if (opts.stripFormattingMarkers) {
11070
- title = _chunkTVPJ5DIBcjs.stripInlineMarkdown.call(void 0, title).trim();
11070
+ title = _chunkYLVPQNLOcjs.stripInlineMarkdown.call(void 0, title).trim();
11071
11071
  }
11072
11072
  const baseId = _chunkYXWGSDK4cjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkYXWGSDK4cjs.stripHeadingEmojis.call(void 0, title) : title);
11073
11073
  const cleanId = baseId || `section-${sections.length + 1}`;
@@ -11623,7 +11623,7 @@ function DashboardInfoCard({
11623
11623
  const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
11624
11624
  if (asTag) {
11625
11625
  const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
11626
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
11626
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
11627
11627
  }
11628
11628
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
11629
11629
  "(",
@@ -11677,7 +11677,7 @@ function DashboardInfoCard({
11677
11677
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk23V5BSHDcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
11678
11678
  subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
11679
11679
  renderPercentage(),
11680
- tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.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 }) }) })
11680
+ tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.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 }) }) })
11681
11681
  ] })
11682
11682
  ] }),
11683
11683
  renderProgress()
@@ -11860,7 +11860,7 @@ function DeviceCard({
11860
11860
  ] }),
11861
11861
  (statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
11862
11862
  statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11863
- _chunkTVPJ5DIBcjs.Tag,
11863
+ _chunkYLVPQNLOcjs.Tag,
11864
11864
  {
11865
11865
  variant: statusTag.variant,
11866
11866
  icon: statusTag.icon,
@@ -11874,7 +11874,7 @@ function DeviceCard({
11874
11874
  formatLastSeen(device.lastSeen)
11875
11875
  ] })
11876
11876
  ] }),
11877
- 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, _chunkTVPJ5DIBcjs.Tag, { variant: "outline", label: tag }, index)) })
11877
+ 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, _chunkYLVPQNLOcjs.Tag, { variant: "outline", label: tag }, index)) })
11878
11878
  ]
11879
11879
  }
11880
11880
  );
@@ -12022,7 +12022,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
12022
12022
 
12023
12023
  function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
12024
12024
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12025
- _chunkTVPJ5DIBcjs.FloatingTooltip,
12025
+ _chunkYLVPQNLOcjs.FloatingTooltip,
12026
12026
  {
12027
12027
  as: "span",
12028
12028
  side: "top",
@@ -12206,7 +12206,7 @@ function DropdownButton({
12206
12206
  )
12207
12207
  );
12208
12208
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12209
- _chunkTVPJ5DIBcjs.ActionsMenuDropdown,
12209
+ _chunkYLVPQNLOcjs.ActionsMenuDropdown,
12210
12210
  {
12211
12211
  groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
12212
12212
  open,
@@ -12444,7 +12444,7 @@ function ServiceCardRowItem({ row }) {
12444
12444
  ),
12445
12445
  children: [
12446
12446
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12447
- _chunkTVPJ5DIBcjs.FloatingTooltip,
12447
+ _chunkYLVPQNLOcjs.FloatingTooltip,
12448
12448
  {
12449
12449
  content: row.value,
12450
12450
  side: "top",
@@ -12570,9 +12570,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12570
12570
  return next;
12571
12571
  });
12572
12572
  };
12573
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Tooltip, { open, onOpenChange: setOpen, children: [
12573
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Tooltip, { open, onOpenChange: setOpen, children: [
12574
12574
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12575
- _chunkTVPJ5DIBcjs.TooltipTrigger,
12575
+ _chunkYLVPQNLOcjs.TooltipTrigger,
12576
12576
  {
12577
12577
  asChild: true,
12578
12578
  onPointerDown: (e) => {
@@ -12590,7 +12590,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
12590
12590
  children
12591
12591
  }
12592
12592
  ),
12593
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12593
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipContent, { side, className: "max-w-xs", children: content })
12594
12594
  ] }) });
12595
12595
  }
12596
12596
 
@@ -13605,9 +13605,9 @@ function TruncatedHeaderCell({ value, width }) {
13605
13605
  setIsTruncated(el.scrollWidth > el.clientWidth);
13606
13606
  }
13607
13607
  }, []);
13608
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13609
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.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 }) }) }),
13610
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
13608
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13609
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.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 }) }) }),
13610
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
13611
13611
  ] }) });
13612
13612
  }
13613
13613
 
@@ -13660,9 +13660,9 @@ function TruncatedCell({ value, className }) {
13660
13660
  setIsTruncated(el.scrollWidth > el.clientWidth);
13661
13661
  }
13662
13662
  }, []);
13663
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13664
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunk23V5BSHDcjs.cn.call(void 0, "block truncate", className), children: value }) }),
13665
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
13663
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
13664
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunk23V5BSHDcjs.cn.call(void 0, "block truncate", className), children: value }) }),
13665
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
13666
13666
  ] }) });
13667
13667
  }
13668
13668
 
@@ -13948,6 +13948,8 @@ function DataTableSkeleton({ rows = 10, className, rowClassName, rowHeightClassN
13948
13948
  {
13949
13949
  className: _chunk23V5BSHDcjs.cn.call(void 0,
13950
13950
  "relative animate-pulse overflow-hidden rounded-md border border-ods-border bg-ods-card",
13951
+ // The slot height sits on the card, matching a real row.
13952
+ rowHeightClassName,
13951
13953
  className
13952
13954
  ),
13953
13955
  children: [
@@ -13957,7 +13959,7 @@ function DataTableSkeleton({ rows = 10, className, rowClassName, rowHeightClassN
13957
13959
  className: _chunk23V5BSHDcjs.cn.call(void 0,
13958
13960
  "hidden py-0 md:flex",
13959
13961
  ROW_SHELL_CLASSES,
13960
- _nullishCoalesce(rowHeightClassName, () => ( ROW_HEIGHT_DESKTOP2)),
13962
+ rowHeightClassName ? "h-full" : ROW_HEIGHT_DESKTOP2,
13961
13963
  rowClassName
13962
13964
  ),
13963
13965
  children: columns.map((column) => {
@@ -13991,7 +13993,7 @@ function DataTableSkeleton({ rows = 10, className, rowClassName, rowHeightClassN
13991
13993
  className: _chunk23V5BSHDcjs.cn.call(void 0,
13992
13994
  "flex justify-start py-0 md:hidden",
13993
13995
  ROW_SHELL_CLASSES,
13994
- _nullishCoalesce(rowHeightClassName, () => ( ROW_HEIGHT_MOBILE2)),
13996
+ rowHeightClassName ? "h-full" : ROW_HEIGHT_MOBILE2,
13995
13997
  rowClassName
13996
13998
  ),
13997
13999
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center py-[var(--spacing-system-sf)]", children: [
@@ -14038,7 +14040,11 @@ function DataTableRowImpl({
14038
14040
  [onClick, row.original, isLinkMode]
14039
14041
  );
14040
14042
  const containerClassName = _chunk23V5BSHDcjs.cn.call(void 0,
14041
- "block overflow-hidden rounded-md border border-ods-border bg-ods-card text-inherit no-underline",
14043
+ "overflow-hidden rounded-md border border-ods-border bg-ods-card text-inherit no-underline",
14044
+ // A stated slot height goes HERE, on the card, with the cells flexing to
14045
+ // fill whatever the sub-row leaves. `border-box` sizing means the number a
14046
+ // caller writes is the number the row occupies, borders included.
14047
+ rowHeightClassName ? `flex flex-col ${rowHeightClassName}` : "block",
14042
14048
  // With a sub-row the link wraps only the cells, so keep the clickable affordance off the whole card.
14043
14049
  (onClick || isWholeCardLink) && "cursor-pointer transition-colors hover:bg-ods-bg-active",
14044
14050
  className
@@ -14049,7 +14055,7 @@ function DataTableRowImpl({
14049
14055
  className: _chunk23V5BSHDcjs.cn.call(void 0,
14050
14056
  "flex",
14051
14057
  ROW_SHELL_CLASSES,
14052
- rowHeightClassName ? `py-0 ${rowHeightClassName}` : compact ? "py-[var(--spacing-system-xsf)]" : autoHeight ? "min-h-[66px] py-[var(--spacing-system-sf)] md:min-h-[78px]" : `py-0 ${ROW_HEIGHT_DESKTOP2}`,
14058
+ rowHeightClassName ? "min-h-0 flex-1 py-0" : compact ? "py-[var(--spacing-system-xsf)]" : autoHeight ? "min-h-[66px] py-[var(--spacing-system-sf)] md:min-h-[78px]" : `py-0 ${ROW_HEIGHT_DESKTOP2}`,
14053
14059
  hasSubRow && "border-b border-ods-border"
14054
14060
  ),
14055
14061
  children: row.getVisibleCells().map((cell) => {
@@ -14096,7 +14102,10 @@ function DataTableRowImpl({
14096
14102
  {
14097
14103
  href,
14098
14104
  prefetch: false,
14099
- className: "block cursor-pointer text-inherit no-underline transition-colors hover:bg-ods-bg-active",
14105
+ className: _chunk23V5BSHDcjs.cn.call(void 0,
14106
+ "cursor-pointer text-inherit no-underline transition-colors hover:bg-ods-bg-active",
14107
+ rowHeightClassName ? "flex min-h-0 flex-1 flex-col" : "block"
14108
+ ),
14100
14109
  onClick: handleClick,
14101
14110
  children: cells
14102
14111
  }
@@ -14174,17 +14183,29 @@ function PlaceholderRows({ count, rowHeightClassName }) {
14174
14183
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: count }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
14175
14184
  "div",
14176
14185
  {
14177
- className: "pointer-events-none relative overflow-hidden rounded-md border border-transparent",
14186
+ className: _chunk23V5BSHDcjs.cn.call(void 0,
14187
+ "pointer-events-none relative overflow-hidden rounded-md border border-transparent",
14188
+ // The stated slot height belongs on the CARD, exactly as a real
14189
+ // row carries it — a real row with a sub-row is taller than its
14190
+ // cells, so reserving the cells' height here left every pad row
14191
+ // short by the sub-row.
14192
+ rowHeightClassName
14193
+ ),
14178
14194
  "aria-hidden": "true",
14179
14195
  children: [
14180
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "hidden py-0 md:flex", ROW_SHELL_CLASSES, _nullishCoalesce(rowHeightClassName, () => ( ROW_HEIGHT_DESKTOP2))) }),
14196
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14197
+ "div",
14198
+ {
14199
+ className: _chunk23V5BSHDcjs.cn.call(void 0, "hidden py-0 md:flex", ROW_SHELL_CLASSES, rowHeightClassName ? "h-full" : ROW_HEIGHT_DESKTOP2)
14200
+ }
14201
+ ),
14181
14202
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14182
14203
  "div",
14183
14204
  {
14184
14205
  className: _chunk23V5BSHDcjs.cn.call(void 0,
14185
14206
  "flex justify-start py-0 md:hidden",
14186
14207
  ROW_SHELL_CLASSES,
14187
- _nullishCoalesce(rowHeightClassName, () => ( ROW_HEIGHT_MOBILE2))
14208
+ rowHeightClassName ? "h-full" : ROW_HEIGHT_MOBILE2
14188
14209
  )
14189
14210
  }
14190
14211
  )
@@ -15001,7 +15022,7 @@ function SearchInput({
15001
15022
  /* @__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, {}) }),
15002
15023
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
15003
15024
  visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15004
- _chunkTVPJ5DIBcjs.Tag,
15025
+ _chunkYLVPQNLOcjs.Tag,
15005
15026
  {
15006
15027
  variant: chipVariantToTagVariant(chip.variant),
15007
15028
  label: chip.label,
@@ -15115,7 +15136,7 @@ function SearchInput({
15115
15136
  }
15116
15137
  ),
15117
15138
  /* @__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,
15118
- _chunkTVPJ5DIBcjs.Tag,
15139
+ _chunkYLVPQNLOcjs.Tag,
15119
15140
  {
15120
15141
  variant: chipVariantToTagVariant(chip.variant),
15121
15142
  label: chip.label,
@@ -15328,7 +15349,7 @@ function TagSearchInput({
15328
15349
  /* @__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" }) }),
15329
15350
  /* @__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: [
15330
15351
  visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15331
- _chunkTVPJ5DIBcjs.Tag,
15352
+ _chunkYLVPQNLOcjs.Tag,
15332
15353
  {
15333
15354
  variant: "outline",
15334
15355
  label: renderTag ? renderTag(tag) : tag.label,
@@ -15416,7 +15437,7 @@ function TagSearchInput({
15416
15437
  "aria-hidden": "true",
15417
15438
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
15418
15439
  children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15419
- _chunkTVPJ5DIBcjs.Tag,
15440
+ _chunkYLVPQNLOcjs.Tag,
15420
15441
  {
15421
15442
  variant: "outline",
15422
15443
  label: renderTag ? renderTag(tag) : tag.label,
@@ -16305,20 +16326,20 @@ function ColorPresetSelect({
16305
16326
  ...presets.map((p) => ({
16306
16327
  id: p.key,
16307
16328
  label: p.label,
16308
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ColorSwatch, { color: p.color }),
16329
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ColorSwatch, { color: p.color }),
16309
16330
  onClick: () => onChange({ color: p.color, preset: p.key })
16310
16331
  })),
16311
16332
  {
16312
16333
  id: CUSTOM_PRESET_KEY,
16313
16334
  label: "Custom",
16314
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16335
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
16315
16336
  onClick: () => onChange({ color: value, preset: void 0 })
16316
16337
  }
16317
16338
  ]
16318
16339
  }
16319
16340
  ];
16320
16341
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16321
- _chunkTVPJ5DIBcjs.ActionsMenuDropdown,
16342
+ _chunkYLVPQNLOcjs.ActionsMenuDropdown,
16322
16343
  {
16323
16344
  groups,
16324
16345
  align: "start",
@@ -16328,7 +16349,7 @@ function ColorPresetSelect({
16328
16349
  {
16329
16350
  disabled,
16330
16351
  "aria-label": `Color: ${displayLabel}`,
16331
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ColorSwatch, { color: displayColor }),
16352
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ColorSwatch, { color: displayColor }),
16332
16353
  selectedLabel: displayLabel,
16333
16354
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16334
16355
  className: _chunk23V5BSHDcjs.cn.call(void 0, "group", className)
@@ -16349,7 +16370,7 @@ function HexInputs({ value, onChange }) {
16349
16370
  }
16350
16371
  const commit = () => {
16351
16372
  const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
16352
- if (_chunkTVPJ5DIBcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16373
+ if (_chunkYLVPQNLOcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
16353
16374
  else setDraft(value);
16354
16375
  };
16355
16376
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16413,12 +16434,12 @@ function ChannelInput({
16413
16434
  );
16414
16435
  }
16415
16436
  function RgbInputs({ value, onChange }) {
16416
- const rgb = _nullishCoalesce(_chunkTVPJ5DIBcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16437
+ const rgb = _nullishCoalesce(_chunkYLVPQNLOcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16417
16438
  const update = (next) => {
16418
16439
  const r = _nullishCoalesce(next.r, () => ( rgb.r));
16419
16440
  const g = _nullishCoalesce(next.g, () => ( rgb.g));
16420
16441
  const b = _nullishCoalesce(next.b, () => ( rgb.b));
16421
- onChange(_chunkTVPJ5DIBcjs.rgbToHex.call(void 0, r, g, b));
16442
+ onChange(_chunkYLVPQNLOcjs.rgbToHex.call(void 0, r, g, b));
16422
16443
  };
16423
16444
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16424
16445
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
@@ -16427,14 +16448,14 @@ function RgbInputs({ value, onChange }) {
16427
16448
  ] });
16428
16449
  }
16429
16450
  function HslInputs({ value, onChange }) {
16430
- const rgb = _nullishCoalesce(_chunkTVPJ5DIBcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16431
- const hsl = _chunkTVPJ5DIBcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
16451
+ const rgb = _nullishCoalesce(_chunkYLVPQNLOcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
16452
+ const hsl = _chunkYLVPQNLOcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
16432
16453
  const update = (next) => {
16433
16454
  const h = _nullishCoalesce(next.h, () => ( hsl.h));
16434
16455
  const s = _nullishCoalesce(next.s, () => ( hsl.s));
16435
16456
  const l = _nullishCoalesce(next.l, () => ( hsl.l));
16436
- const out = _chunkTVPJ5DIBcjs.hslToRgb.call(void 0, h, s, l);
16437
- onChange(_chunkTVPJ5DIBcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
16457
+ const out = _chunkYLVPQNLOcjs.hslToRgb.call(void 0, h, s, l);
16458
+ onChange(_chunkYLVPQNLOcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
16438
16459
  };
16439
16460
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16440
16461
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
@@ -16460,7 +16481,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16460
16481
  {
16461
16482
  disabled,
16462
16483
  "aria-label": "Pick custom color",
16463
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ColorSwatch, { color: value }),
16484
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ColorSwatch, { color: value }),
16464
16485
  selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
16465
16486
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
16466
16487
  className: _chunk23V5BSHDcjs.cn.call(void 0, "group", className)
@@ -16476,7 +16497,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
16476
16497
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
16477
16498
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
16478
16499
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16479
- _chunkTVPJ5DIBcjs.ActionsMenuDropdown,
16500
+ _chunkYLVPQNLOcjs.ActionsMenuDropdown,
16480
16501
  {
16481
16502
  groups: formatGroups,
16482
16503
  align: "start",
@@ -16533,7 +16554,7 @@ function TicketStatusConfigRow({
16533
16554
  const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
16534
16555
  const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
16535
16556
  const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16536
- _chunkTVPJ5DIBcjs.TicketStatusTag,
16557
+ _chunkYLVPQNLOcjs.TicketStatusTag,
16537
16558
  {
16538
16559
  status: statusKey,
16539
16560
  label: name || " ",
@@ -16685,7 +16706,7 @@ function formatTestRunDuration(ms) {
16685
16706
  var RESULT_COLUMN_MIN_WIDTH = 176;
16686
16707
  var SKELETON_COLUMNS = 6;
16687
16708
  function TestResultsSkeleton() {
16688
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16709
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16689
16710
  /* @__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}`)) }),
16690
16711
  /* @__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}`)) }) })
16691
16712
  ] }) });
@@ -16720,7 +16741,7 @@ function TestResultsTable({ rows, loading }) {
16720
16741
  if (loading) {
16721
16742
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
16722
16743
  }
16723
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.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: [
16744
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.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: [
16724
16745
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
16725
16746
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
16726
16747
  ] }) }) });
@@ -16780,7 +16801,7 @@ var TEST_RUN_STATUS_TAGS = {
16780
16801
  function TestRunStatusStat({ status, className }) {
16781
16802
  const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
16782
16803
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
16783
- tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.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: "-" }),
16804
+ tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.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: "-" }),
16784
16805
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
16785
16806
  ] });
16786
16807
  }
@@ -16823,7 +16844,7 @@ function useTestRunState(campaign) {
16823
16844
  const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
16824
16845
  const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
16825
16846
  const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
16826
- const startedLabel = showTiming && campaign.startedAt ? _chunkTVPJ5DIBcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
16847
+ const startedLabel = showTiming && campaign.startedAt ? _chunkYLVPQNLOcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
16827
16848
  const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
16828
16849
  const displayRows = _react.useMemo.call(void 0,
16829
16850
  () => campaign.results.map(
@@ -17161,7 +17182,7 @@ function TicketInfoSection({
17161
17182
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _392 => _392.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _393 => _393.icon]), onClick: _optionalChain([device, 'optionalAccess', _394 => _394.onClick]) }),
17162
17183
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
17163
17184
  (status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17164
- _chunkTVPJ5DIBcjs.TicketStatusTag,
17185
+ _chunkYLVPQNLOcjs.TicketStatusTag,
17165
17186
  {
17166
17187
  status: _nullishCoalesce(status, () => ( "")),
17167
17188
  label: statusLabel,
@@ -17200,9 +17221,9 @@ function TicketInfoSection({
17200
17221
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
17201
17222
  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" }) }),
17202
17223
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
17203
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.SimpleMarkdownRenderer, { content: description }),
17224
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.SimpleMarkdownRenderer, { content: description }),
17204
17225
  attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
17205
- 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, _chunkTVPJ5DIBcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
17226
+ 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, _chunkYLVPQNLOcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
17206
17227
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17207
17228
  TicketNotesSection,
17208
17229
  {
@@ -17225,7 +17246,7 @@ function renderTicketStatusOption(option, isSelected) {
17225
17246
  const { label, color } = option;
17226
17247
  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: [
17227
17248
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
17228
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ColorSwatch, { color }),
17249
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ColorSwatch, { color }),
17229
17250
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
17230
17251
  ] }),
17231
17252
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -17270,9 +17291,9 @@ function TakeOverTicketModal({
17270
17291
  if (!selectedStatusId || !assigneeId || isPending) return;
17271
17292
  onConfirm({ statusId: selectedStatusId, assigneeId });
17272
17293
  };
17273
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Modal, { isOpen, onClose: isPending ? () => {
17294
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Modal, { isOpen, onClose: isPending ? () => {
17274
17295
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17275
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalTitle, { children: "Take Over Ticket" }) }),
17296
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalTitle, { children: "Take Over Ticket" }) }),
17276
17297
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
17277
17298
  "The ticket ",
17278
17299
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -17287,7 +17308,7 @@ function TakeOverTicketModal({
17287
17308
  value: selectedStatusId,
17288
17309
  onChange: setStatusId,
17289
17310
  placeholder: "Select Status",
17290
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17311
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17291
17312
  renderOption: renderTicketStatusOption
17292
17313
  }
17293
17314
  ) }),
@@ -17314,7 +17335,7 @@ function TakeOverTicketModal({
17314
17335
  }
17315
17336
  ) })
17316
17337
  ] }),
17317
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.ModalFooter, { children: [
17338
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.ModalFooter, { children: [
17318
17339
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17319
17340
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17320
17341
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17373,9 +17394,9 @@ function ReopenTicketModal({
17373
17394
  reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
17374
17395
  });
17375
17396
  };
17376
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Modal, { isOpen, onClose: isPending ? () => {
17397
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Modal, { isOpen, onClose: isPending ? () => {
17377
17398
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17378
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17399
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17379
17400
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
17380
17401
  "The ticket ",
17381
17402
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -17390,7 +17411,7 @@ function ReopenTicketModal({
17390
17411
  value: selectedStatusId,
17391
17412
  onChange: setStatusId,
17392
17413
  placeholder: "Select Status",
17393
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17414
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
17394
17415
  renderOption: renderTicketStatusOption
17395
17416
  }
17396
17417
  ) }),
@@ -17428,7 +17449,7 @@ function ReopenTicketModal({
17428
17449
  disabled: isPending
17429
17450
  }
17430
17451
  ) }),
17431
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.ModalFooter, { children: [
17452
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.ModalFooter, { children: [
17432
17453
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
17433
17454
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
17434
17455
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17476,9 +17497,9 @@ function ReopenTicketRequestModal({
17476
17497
  ...showHandoffOption ? { handoffToTechnician: handoff } : {}
17477
17498
  });
17478
17499
  };
17479
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Modal, { isOpen, onClose: isPending ? () => {
17500
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Modal, { isOpen, onClose: isPending ? () => {
17480
17501
  } : onClose, className: "text-left md:max-w-[600px]", children: [
17481
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17502
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ModalTitle, { children: "Reopen Ticket" }) }),
17482
17503
  /* @__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." }),
17483
17504
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17484
17505
  Textarea,
@@ -17502,7 +17523,7 @@ function ReopenTicketRequestModal({
17502
17523
  disabled: isPending
17503
17524
  }
17504
17525
  ),
17505
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.ModalFooter, { children: [
17526
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.ModalFooter, { children: [
17506
17527
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
17507
17528
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCJBSU3XBcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
17508
17529
  ] })
@@ -19623,7 +19644,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
19623
19644
  sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
19624
19645
  title: config.title,
19625
19646
  loading: "eager",
19626
- ..._chunkTVPJ5DIBcjs.fetchPriorityProp.call(void 0, "high")
19647
+ ..._chunkYLVPQNLOcjs.fetchPriorityProp.call(void 0, "high")
19627
19648
  },
19628
19649
  iframeKey
19629
19650
  ),
@@ -20473,7 +20494,7 @@ function MediaGalleryManager({
20473
20494
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkY6I2DGKCcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
20474
20495
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
20475
20496
  // fit="cover" crops to the aspect-video cell.
20476
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
20497
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
20477
20498
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20478
20499
  _chunkWLSFBRT5cjs.next_image_default,
20479
20500
  {
@@ -22724,9 +22745,9 @@ function PushButtonSelector({
22724
22745
  option.id
22725
22746
  );
22726
22747
  if (option.disabled && option.disabledReason) {
22727
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Tooltip, { children: [
22728
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipTrigger, { asChild: true, children: optionEl }),
22729
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
22748
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Tooltip, { children: [
22749
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipTrigger, { asChild: true, children: optionEl }),
22750
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
22730
22751
  ] }, option.id);
22731
22752
  }
22732
22753
  return optionEl;
@@ -22771,7 +22792,7 @@ function PushButtonSelector({
22771
22792
  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
22772
22793
  ] }) : null
22773
22794
  ] });
22774
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
22795
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
22775
22796
  title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
22776
22797
  searchInput,
22777
22798
  lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22944,7 +22965,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
22944
22965
  item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkY6I2DGKCcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
22945
22966
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
22946
22967
  // fit="cover" crops to the aspect-video cell.
22947
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
22968
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
22948
22969
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22949
22970
  _chunkWLSFBRT5cjs.next_image_default,
22950
22971
  {
@@ -23077,7 +23098,7 @@ var SelectButton = _react2.default.forwardRef(
23077
23098
  }
23078
23099
  )
23079
23100
  ] }),
23080
- tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
23101
+ tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
23081
23102
  selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
23082
23103
  ]
23083
23104
  }
@@ -23939,7 +23960,7 @@ function VideoBitesDisplay({
23939
23960
  filterPublished = true,
23940
23961
  showTitle = true
23941
23962
  }) {
23942
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23963
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23943
23964
  }
23944
23965
 
23945
23966
  // src/components/features/walkthrough-video.tsx
@@ -24008,7 +24029,7 @@ function WalkthroughVideo({
24008
24029
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
24009
24030
  };
24010
24031
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
24011
- const hydrated = _chunkTVPJ5DIBcjs.useIsHydrated.call(void 0, );
24032
+ const hydrated = _chunkYLVPQNLOcjs.useIsHydrated.call(void 0, );
24012
24033
  const previewSuppressed = _react.useMemo.call(void 0, () => {
24013
24034
  if (!hydrated) return false;
24014
24035
  try {
@@ -24405,7 +24426,7 @@ function WalkthroughVideo({
24405
24426
  },
24406
24427
  children: [
24407
24428
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24408
- _chunkTVPJ5DIBcjs.VideoHoverPreviewSurface,
24429
+ _chunkYLVPQNLOcjs.VideoHoverPreviewSurface,
24409
24430
  {
24410
24431
  url: video.mainVideoUrl || "",
24411
24432
  posterUrl: video.posterUrl,
@@ -24428,7 +24449,7 @@ function WalkthroughVideo({
24428
24449
  `card-${embedUrlKey}`
24429
24450
  ) }),
24430
24451
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24431
- _chunkTVPJ5DIBcjs.CardHitLayer,
24452
+ _chunkYLVPQNLOcjs.CardHitLayer,
24432
24453
  {
24433
24454
  label: video.title ? `${label}: ${video.title}` : label,
24434
24455
  onPointerDown: pausePreviewNow,
@@ -24437,7 +24458,7 @@ function WalkthroughVideo({
24437
24458
  }
24438
24459
  ),
24439
24460
  /* @__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: [
24440
- presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
24461
+ presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
24441
24462
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
24442
24463
  ] }),
24443
24464
  showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -24450,7 +24471,7 @@ function WalkthroughVideo({
24450
24471
  onPointerDown: (e) => e.stopPropagation(),
24451
24472
  onClick: onUnmuteOrPlay,
24452
24473
  className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
24453
- children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.VideoUnmuteGlyph, {})
24474
+ children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.VideoUnmuteGlyph, {})
24454
24475
  }
24455
24476
  ),
24456
24477
  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: [
@@ -24543,7 +24564,7 @@ function WalkthroughVideo({
24543
24564
  children: [
24544
24565
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
24545
24566
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24546
- _chunkTVPJ5DIBcjs.Video,
24567
+ _chunkYLVPQNLOcjs.Video,
24547
24568
  {
24548
24569
  kind: video.youtubeUrl ? "youtube" : "file",
24549
24570
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -24594,7 +24615,7 @@ function InlineWalkthroughVideo(props) {
24594
24615
  var _reactquery = require('@tanstack/react-query');
24595
24616
  function useWalkthroughVideo(opts) {
24596
24617
  const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
24597
- const captions = _chunkTVPJ5DIBcjs.useCaptions.call(void 0, );
24618
+ const captions = _chunkYLVPQNLOcjs.useCaptions.call(void 0, );
24598
24619
  const query = _reactquery.useQuery.call(void 0, {
24599
24620
  queryKey: ["walkthrough-video", endpoint],
24600
24621
  enabled,
@@ -24792,7 +24813,7 @@ function VideoSourceSelector({
24792
24813
  }
24793
24814
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
24794
24815
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
24795
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Video, { kind: "file", url: videoUrl }) }),
24816
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Video, { kind: "file", url: videoUrl }) }),
24796
24817
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24797
24818
  "button",
24798
24819
  {
@@ -25316,7 +25337,7 @@ function HighlightVideoSection({
25316
25337
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
25317
25338
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
25318
25339
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
25319
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
25340
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
25320
25341
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25321
25342
  "button",
25322
25343
  {
@@ -26052,7 +26073,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
26052
26073
  ] });
26053
26074
  };
26054
26075
  var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
26055
- const { innerRef, containerStyle } = _chunkTVPJ5DIBcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
26076
+ const { innerRef, containerStyle } = _chunkYLVPQNLOcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
26056
26077
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
26057
26078
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
26058
26079
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -26220,7 +26241,7 @@ function WaitlistForm({
26220
26241
  const { toast } = _chunkFKXDDJEQcjs.useToast.call(void 0, );
26221
26242
  const { honeypotInputProps, getSignals, resetSignals } = _chunkFKXDDJEQcjs.useHumanitySignals.call(void 0, );
26222
26243
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
26223
- const isClient = _chunkTVPJ5DIBcjs.useIsHydrated.call(void 0, );
26244
+ const isClient = _chunkYLVPQNLOcjs.useIsHydrated.call(void 0, );
26224
26245
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
26225
26246
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
26226
26247
  const isMailDomainGeneric = hasGenericEmailDomain(email);
@@ -27020,7 +27041,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
27020
27041
  "data-state": open ? "open" : "closed",
27021
27042
  className: _chunk23V5BSHDcjs.cn.call(void 0,
27022
27043
  "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",
27023
- _chunkTVPJ5DIBcjs.OVERLAY_BACKDROP_CLASS,
27044
+ _chunkYLVPQNLOcjs.OVERLAY_BACKDROP_CLASS,
27024
27045
  // Persist mode only: hold the fade-out's final (transparent) frame
27025
27046
  // so the backdrop doesn't snap back to opacity 1 and dim the whole
27026
27047
  // content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
@@ -27096,11 +27117,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
27096
27117
  }
27097
27118
  );
27098
27119
  AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
27099
- var AppLayoutDrawerHeader = _chunkTVPJ5DIBcjs.DrawerHeader;
27100
- var AppLayoutDrawerTitle = _chunkTVPJ5DIBcjs.DrawerTitle;
27101
- var AppLayoutDrawerDescription = _chunkTVPJ5DIBcjs.DrawerDescription;
27102
- var AppLayoutDrawerBody = _chunkTVPJ5DIBcjs.DrawerBody;
27103
- var AppLayoutDrawerFooter = _chunkTVPJ5DIBcjs.DrawerFooter;
27120
+ var AppLayoutDrawerHeader = _chunkYLVPQNLOcjs.DrawerHeader;
27121
+ var AppLayoutDrawerTitle = _chunkYLVPQNLOcjs.DrawerTitle;
27122
+ var AppLayoutDrawerDescription = _chunkYLVPQNLOcjs.DrawerDescription;
27123
+ var AppLayoutDrawerBody = _chunkYLVPQNLOcjs.DrawerBody;
27124
+ var AppLayoutDrawerFooter = _chunkYLVPQNLOcjs.DrawerFooter;
27104
27125
 
27105
27126
  // src/components/features/notifications/notification-tile.tsx
27106
27127
 
@@ -27188,7 +27209,7 @@ function NotificationTile({
27188
27209
  }
27189
27210
  ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk23V5BSHDcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkFKXDDJEQcjs.dotColorByVariant[accentVariant]) }))) }),
27190
27211
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk23V5BSHDcjs.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" }),
27191
- !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkTVPJ5DIBcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
27212
+ !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkYLVPQNLOcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
27192
27213
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
27193
27214
  {
27194
27215
  active: isLive,
@@ -27285,7 +27306,7 @@ function NotificationDrawer({
27285
27306
  const unreadNotifications = notifications.filter((n) => !n.read);
27286
27307
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
27287
27308
  /* @__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,
27288
- _chunkTVPJ5DIBcjs.DrawerTitle,
27309
+ _chunkYLVPQNLOcjs.DrawerTitle,
27289
27310
  {
27290
27311
  hideClose: true,
27291
27312
  className: "truncate",
@@ -27344,8 +27365,8 @@ function NotificationDrawer({
27344
27365
  }
27345
27366
  ) });
27346
27367
  }
27347
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27348
- _chunkTVPJ5DIBcjs.DrawerContent,
27368
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27369
+ _chunkYLVPQNLOcjs.DrawerContent,
27349
27370
  {
27350
27371
  side: "right",
27351
27372
  "aria-describedby": void 0,
@@ -27620,13 +27641,13 @@ function getApprovalMeta(notification) {
27620
27641
  function resolutionToStatus(resolution) {
27621
27642
  switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
27622
27643
  case "APPROVED":
27623
- return _chunkTVPJ5DIBcjs.APPROVAL_STATUS.APPROVED;
27644
+ return _chunkYLVPQNLOcjs.APPROVAL_STATUS.APPROVED;
27624
27645
  case "REJECTED":
27625
- return _chunkTVPJ5DIBcjs.APPROVAL_STATUS.REJECTED;
27646
+ return _chunkYLVPQNLOcjs.APPROVAL_STATUS.REJECTED;
27626
27647
  case "CANCELLED":
27627
- return _chunkTVPJ5DIBcjs.APPROVAL_STATUS.CANCELLED;
27648
+ return _chunkYLVPQNLOcjs.APPROVAL_STATUS.CANCELLED;
27628
27649
  default:
27629
- return _chunkTVPJ5DIBcjs.APPROVAL_STATUS.PENDING;
27650
+ return _chunkYLVPQNLOcjs.APPROVAL_STATUS.PENDING;
27630
27651
  }
27631
27652
  }
27632
27653
  function approvalMetaToBatchData(approval) {
@@ -27666,7 +27687,7 @@ function ApprovalRequestNotificationTile({
27666
27687
  const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _582 => _582.resolution]));
27667
27688
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
27668
27689
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
27669
- const { innerRef, containerStyle } = _chunkTVPJ5DIBcjs.useCollapsible.call(void 0, { expanded });
27690
+ const { innerRef, containerStyle } = _chunkYLVPQNLOcjs.useCollapsible.call(void 0, { expanded });
27670
27691
  if (!approval || !batchData) return null;
27671
27692
  const tileNotification = {
27672
27693
  ...notification,
@@ -27719,7 +27740,7 @@ function ApprovalRequestNotificationTile({
27719
27740
  }
27720
27741
  )
27721
27742
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
27722
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ApprovalStatusTag, { status }),
27743
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ApprovalStatusTag, { status }),
27723
27744
  approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
27724
27745
  "by ",
27725
27746
  approval.resolvedByName
@@ -27737,12 +27758,12 @@ function ApprovalRequestNotificationTile({
27737
27758
  "aria-expanded": expanded,
27738
27759
  "aria-label": toggleLabel,
27739
27760
  className: "ml-auto w-6 shrink-0 px-0 md:w-8",
27740
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.ExpandChevron, { expanded })
27761
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.ExpandChevron, { expanded })
27741
27762
  }
27742
27763
  )
27743
27764
  ] }),
27744
27765
  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,
27745
- _chunkTVPJ5DIBcjs.ApprovalBatchMessage,
27766
+ _chunkYLVPQNLOcjs.ApprovalBatchMessage,
27746
27767
  {
27747
27768
  data: batchData,
27748
27769
  showExecutionStatus: false,
@@ -28073,7 +28094,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
28073
28094
  function StatusTag({ status }) {
28074
28095
  if (status === "tracking") {
28075
28096
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28076
- _chunkTVPJ5DIBcjs.Tag,
28097
+ _chunkYLVPQNLOcjs.Tag,
28077
28098
  {
28078
28099
  variant: "success",
28079
28100
  className: STATUS_TAG_SKIN,
@@ -28083,9 +28104,9 @@ function StatusTag({ status }) {
28083
28104
  );
28084
28105
  }
28085
28106
  if (status === "paused") {
28086
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
28107
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
28087
28108
  }
28088
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
28109
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
28089
28110
  }
28090
28111
  function LastEntryRow({ entry, onClick }) {
28091
28112
  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: [
@@ -28254,7 +28275,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
28254
28275
  "data-state": isOpen ? "open" : "closed",
28255
28276
  className: _chunk23V5BSHDcjs.cn.call(void 0,
28256
28277
  layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
28257
- _chunkTVPJ5DIBcjs.OVERLAY_BACKDROP_CLASS,
28278
+ _chunkYLVPQNLOcjs.OVERLAY_BACKDROP_CLASS,
28258
28279
  "data-[state=open]:animate-in data-[state=open]:fade-in-0",
28259
28280
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
28260
28281
  )
@@ -28408,7 +28429,7 @@ function BoardColumnHeader({
28408
28429
  }) {
28409
28430
  const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
28410
28431
  const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
28411
- const useStatusVariant = _chunkTVPJ5DIBcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
28432
+ const useStatusVariant = _chunkYLVPQNLOcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
28412
28433
  const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
28413
28434
  if (collapsed) {
28414
28435
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
@@ -28424,7 +28445,7 @@ function BoardColumnHeader({
28424
28445
  }
28425
28446
  ),
28426
28447
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28427
- _chunkTVPJ5DIBcjs.TicketStatusTag,
28448
+ _chunkYLVPQNLOcjs.TicketStatusTag,
28428
28449
  {
28429
28450
  status: tagStatus,
28430
28451
  label: column.label,
@@ -28437,7 +28458,7 @@ function BoardColumnHeader({
28437
28458
  }
28438
28459
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
28439
28460
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
28440
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
28461
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
28441
28462
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
28442
28463
  ] }),
28443
28464
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -28588,7 +28609,7 @@ function holdMoveDragEffect(element) {
28588
28609
 
28589
28610
  function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
28590
28611
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
28591
- const { innerRef, containerStyle } = _chunkTVPJ5DIBcjs.useCollapsible.call(void 0, { expanded });
28612
+ const { innerRef, containerStyle } = _chunkYLVPQNLOcjs.useCollapsible.call(void 0, { expanded });
28592
28613
  const isAdmin = pendingApproval.approvalType === "ADMIN";
28593
28614
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
28594
28615
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -28617,7 +28638,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
28617
28638
  }
28618
28639
  ),
28619
28640
  /* @__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,
28620
- _chunkTVPJ5DIBcjs.ApprovalBatchMessage,
28641
+ _chunkYLVPQNLOcjs.ApprovalBatchMessage,
28621
28642
  {
28622
28643
  className: "mb-0",
28623
28644
  data: {
@@ -28689,7 +28710,7 @@ var ACTIVITY_DEFAULT_LABEL = {
28689
28710
  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";
28690
28711
  function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
28691
28712
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
28692
- const newMessageTextColor = columnColor ? _chunkTVPJ5DIBcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
28713
+ const newMessageTextColor = columnColor ? _chunkYLVPQNLOcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
28693
28714
  const showDeviceRow = !!(_optionalChain([ticket, 'access', _618 => _618.deviceHostnames, 'optionalAccess', _619 => _619.length]) || ticket.organizationName);
28694
28715
  const deviceText = [_optionalChain([ticket, 'access', _620 => _620.deviceHostnames, 'optionalAccess', _621 => _621.join, 'call', _622 => _622(", ")]), ticket.organizationName].filter(Boolean).join(", ");
28695
28716
  const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _623 => _623.assignees, 'optionalAccess', _624 => _624.length]) || renderAssignSlot);
@@ -28728,8 +28749,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28728
28749
  ] })
28729
28750
  ] }) : null
28730
28751
  ] }) : null;
28731
- const timestampLabel = ticket.createdAt ? _chunkTVPJ5DIBcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
28732
- const tooltipLabel = ticket.createdAt ? _chunkTVPJ5DIBcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
28752
+ const timestampLabel = ticket.createdAt ? _chunkYLVPQNLOcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
28753
+ const tooltipLabel = ticket.createdAt ? _chunkYLVPQNLOcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
28733
28754
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
28734
28755
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
28735
28756
  /* @__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: [
@@ -28742,9 +28763,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28742
28763
  rightSection
28743
28764
  ] }),
28744
28765
  _optionalChain([ticket, 'access', _627 => _627.tags, 'optionalAccess', _628 => _628.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
28745
- timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTVPJ5DIBcjs.Tooltip, { children: [
28746
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
28747
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.TooltipContent, { children: tooltipLabel })
28766
+ timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYLVPQNLOcjs.Tooltip, { children: [
28767
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
28768
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.TooltipContent, { children: tooltipLabel })
28748
28769
  ] }) }),
28749
28770
  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: [
28750
28771
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
@@ -28764,7 +28785,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
28764
28785
  }
28765
28786
  ),
28766
28787
  showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28767
- _chunkTVPJ5DIBcjs.Tag,
28788
+ _chunkYLVPQNLOcjs.Tag,
28768
28789
  {
28769
28790
  label: "New Message",
28770
28791
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
@@ -28979,8 +29000,8 @@ function TicketTagRow({ tags }) {
28979
29000
  const visible = tags.slice(0, MAX_VISIBLE_TAGS);
28980
29001
  const hidden = tags.length - visible.length;
28981
29002
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
28982
- visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Tag, { variant: "outline", label: tag }, tag)),
28983
- hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTVPJ5DIBcjs.Tag, { variant: "outline", label: `+${hidden}` })
29003
+ visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Tag, { variant: "outline", label: tag }, tag)),
29004
+ hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLVPQNLOcjs.Tag, { variant: "outline", label: `+${hidden}` })
28984
29005
  ] });
28985
29006
  }
28986
29007
 
@@ -30656,4 +30677,4 @@ function SortableRow({
30656
30677
 
30657
30678
 
30658
30679
  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.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.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.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.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.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.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.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.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount;
30659
- //# sourceMappingURL=chunk-COY57SZP.cjs.map
30680
+ //# sourceMappingURL=chunk-UBRVIVY4.cjs.map