@flamingo-stack/openframe-frontend-core 0.0.669 → 0.0.670-2401.7221.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/{chunk-QHL4GYYY.cjs → chunk-3BLN7YNM.cjs} +575 -452
  2. package/dist/chunk-3BLN7YNM.cjs.map +1 -0
  3. package/dist/{chunk-CFUUVLYQ.cjs → chunk-4TEV4KPV.cjs} +33 -33
  4. package/dist/{chunk-CFUUVLYQ.cjs.map → chunk-4TEV4KPV.cjs.map} +1 -1
  5. package/dist/{chunk-Z3HUP4G7.cjs → chunk-635CAJ36.cjs} +32 -32
  6. package/dist/{chunk-Z3HUP4G7.cjs.map → chunk-635CAJ36.cjs.map} +1 -1
  7. package/dist/{chunk-7UW2BBFI.cjs → chunk-7KZRU5Z2.cjs} +59 -59
  8. package/dist/{chunk-7UW2BBFI.cjs.map → chunk-7KZRU5Z2.cjs.map} +1 -1
  9. package/dist/{chunk-FJNX67W2.cjs → chunk-AGM3ZA43.cjs} +5 -5
  10. package/dist/{chunk-FJNX67W2.cjs.map → chunk-AGM3ZA43.cjs.map} +1 -1
  11. package/dist/{chunk-TFVUM6KK.cjs → chunk-ALKT3U5Y.cjs} +10 -10
  12. package/dist/{chunk-TFVUM6KK.cjs.map → chunk-ALKT3U5Y.cjs.map} +1 -1
  13. package/dist/{chunk-YH3BUB4W.js → chunk-B7EGFSTQ.js} +5 -5
  14. package/dist/{chunk-GF6WJ4MG.js → chunk-BP3OYBQV.js} +6 -6
  15. package/dist/{chunk-P6IJXAEE.js → chunk-DLJGCDHX.js} +2 -1
  16. package/dist/{chunk-P6IJXAEE.js.map → chunk-DLJGCDHX.js.map} +1 -1
  17. package/dist/{chunk-GO63IT6K.js → chunk-EJM2E6KF.js} +5 -5
  18. package/dist/{chunk-WVCDX7FE.cjs → chunk-GAQSQ7CH.cjs} +15 -15
  19. package/dist/{chunk-WVCDX7FE.cjs.map → chunk-GAQSQ7CH.cjs.map} +1 -1
  20. package/dist/{chunk-B5UP36KY.cjs → chunk-GN2TSC36.cjs} +12 -12
  21. package/dist/{chunk-B5UP36KY.cjs.map → chunk-GN2TSC36.cjs.map} +1 -1
  22. package/dist/{chunk-ZHRIFUN3.cjs → chunk-GP4SLGDO.cjs} +28 -28
  23. package/dist/{chunk-ZHRIFUN3.cjs.map → chunk-GP4SLGDO.cjs.map} +1 -1
  24. package/dist/{chunk-LJOELK7P.js → chunk-GUZG4MSV.js} +2 -2
  25. package/dist/{chunk-IBQT4RTS.js → chunk-HJXIIGLD.js} +3 -3
  26. package/dist/{chunk-E5HUHKHH.js → chunk-I3I3HPZA.js} +7 -7
  27. package/dist/{chunk-6KJV6GAJ.js → chunk-IA7AGOBD.js} +4 -4
  28. package/dist/{chunk-NNYND3I4.js → chunk-J4XQQ43Y.js} +3 -3
  29. package/dist/{chunk-IZ6F7LOE.js → chunk-JBH5YDPP.js} +3 -3
  30. package/dist/{chunk-Y7SFGCF4.cjs → chunk-LKRNXIUL.cjs} +20 -20
  31. package/dist/{chunk-Y7SFGCF4.cjs.map → chunk-LKRNXIUL.cjs.map} +1 -1
  32. package/dist/{chunk-EV2KJ4D2.cjs → chunk-MQCEDC6H.cjs} +7 -7
  33. package/dist/{chunk-EV2KJ4D2.cjs.map → chunk-MQCEDC6H.cjs.map} +1 -1
  34. package/dist/{chunk-PHLBRU5P.js → chunk-OCMJWI6L.js} +3 -3
  35. package/dist/{chunk-CWK4QHVF.js → chunk-PAJUQOWK.js} +3 -3
  36. package/dist/{chunk-IJPV7OMA.js → chunk-PEBQEALM.js} +589 -466
  37. package/dist/chunk-PEBQEALM.js.map +1 -0
  38. package/dist/{chunk-5CC33IJ7.js → chunk-PMCLM3KV.js} +6 -6
  39. package/dist/{chunk-6W4LUHMY.cjs → chunk-Q4SJJNP2.cjs} +206 -206
  40. package/dist/{chunk-6W4LUHMY.cjs.map → chunk-Q4SJJNP2.cjs.map} +1 -1
  41. package/dist/{chunk-37NYF4W2.cjs → chunk-QRUW4UXB.cjs} +2 -1
  42. package/dist/chunk-QRUW4UXB.cjs.map +1 -0
  43. package/dist/{chunk-Z3GN3MIW.cjs → chunk-QYUBHOIE.cjs} +81 -81
  44. package/dist/{chunk-Z3GN3MIW.cjs.map → chunk-QYUBHOIE.cjs.map} +1 -1
  45. package/dist/{chunk-VJ4XBTR5.cjs → chunk-S5UETFC4.cjs} +22 -22
  46. package/dist/{chunk-VJ4XBTR5.cjs.map → chunk-S5UETFC4.cjs.map} +1 -1
  47. package/dist/{chunk-5V3LERVC.js → chunk-SPYKIXKJ.js} +4 -4
  48. package/dist/{chunk-FOH4MNOZ.js → chunk-TQJN7EBG.js} +3 -3
  49. package/dist/{chunk-NZD2WTJ2.cjs → chunk-TYXXODCQ.cjs} +3 -3
  50. package/dist/{chunk-NZD2WTJ2.cjs.map → chunk-TYXXODCQ.cjs.map} +1 -1
  51. package/dist/{chunk-K4WYWTQV.cjs → chunk-UYZNNKPD.cjs} +6 -6
  52. package/dist/{chunk-K4WYWTQV.cjs.map → chunk-UYZNNKPD.cjs.map} +1 -1
  53. package/dist/{chunk-SHGMDYCR.js → chunk-VEAA5C5X.js} +2 -2
  54. package/dist/{chunk-VEQWH5KH.cjs → chunk-X4B3UY3L.cjs} +30 -30
  55. package/dist/{chunk-VEQWH5KH.cjs.map → chunk-X4B3UY3L.cjs.map} +1 -1
  56. package/dist/{chunk-DK3BHDUZ.js → chunk-Z72SBI2U.js} +3 -3
  57. package/dist/components/case-studies/index.cjs +16 -16
  58. package/dist/components/case-studies/index.js +4 -4
  59. package/dist/components/chat/entity-cards/design-doc-card.d.ts +32 -0
  60. package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -0
  61. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  62. package/dist/components/chat/entity-cards/index.d.ts +1 -0
  63. package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
  64. package/dist/components/chat/index.cjs +15 -3
  65. package/dist/components/chat/index.cjs.map +1 -1
  66. package/dist/components/chat/index.js +14 -2
  67. package/dist/components/contact/index.cjs +5 -5
  68. package/dist/components/contact/index.js +4 -4
  69. package/dist/components/docs/index.cjs +8 -8
  70. package/dist/components/docs/index.js +7 -7
  71. package/dist/components/embeds/index.cjs +5 -5
  72. package/dist/components/embeds/index.js +4 -4
  73. package/dist/components/faq/index.cjs +5 -5
  74. package/dist/components/faq/index.js +4 -4
  75. package/dist/components/features/index.cjs +4 -4
  76. package/dist/components/features/index.js +3 -3
  77. package/dist/components/help-center-pages/index.cjs +91 -91
  78. package/dist/components/help-center-pages/index.js +15 -15
  79. package/dist/components/index.cjs +66 -54
  80. package/dist/components/index.cjs.map +1 -1
  81. package/dist/components/index.js +27 -15
  82. package/dist/components/index.js.map +1 -1
  83. package/dist/components/meeting-scheduler/index.cjs +40 -40
  84. package/dist/components/meeting-scheduler/index.js +3 -3
  85. package/dist/components/navigation/index.cjs +7 -7
  86. package/dist/components/navigation/index.js +6 -6
  87. package/dist/components/onboarding-guides/index.cjs +7 -7
  88. package/dist/components/onboarding-guides/index.js +6 -6
  89. package/dist/components/related-content/index.cjs +3 -3
  90. package/dist/components/related-content/index.js +2 -2
  91. package/dist/components/tickets/index.cjs +8 -8
  92. package/dist/components/tickets/index.js +7 -7
  93. package/dist/components/ui/index.cjs +16 -4
  94. package/dist/components/ui/index.cjs.map +1 -1
  95. package/dist/components/ui/index.js +15 -3
  96. package/dist/index.cjs +21 -9
  97. package/dist/index.cjs.map +1 -1
  98. package/dist/index.js +19 -7
  99. package/dist/index.js.map +1 -1
  100. package/dist/utils/index.cjs +7 -3
  101. package/dist/utils/index.cjs.map +1 -1
  102. package/dist/utils/index.js +7 -3
  103. package/dist/utils/index.js.map +1 -1
  104. package/dist/utils/list-url.d.ts.map +1 -1
  105. package/dist/utils/source-icons.d.ts.map +1 -1
  106. package/package.json +1 -1
  107. package/src/components/chat/entity-cards/design-doc-card.tsx +130 -0
  108. package/src/components/chat/entity-cards/dispatch.tsx +53 -1
  109. package/src/components/chat/entity-cards/index.ts +9 -0
  110. package/src/utils/list-url.ts +1 -0
  111. package/src/utils/source-icons.ts +3 -0
  112. package/dist/chunk-37NYF4W2.cjs.map +0 -1
  113. package/dist/chunk-IJPV7OMA.js.map +0 -1
  114. package/dist/chunk-QHL4GYYY.cjs.map +0 -1
  115. /package/dist/{chunk-YH3BUB4W.js.map → chunk-B7EGFSTQ.js.map} +0 -0
  116. /package/dist/{chunk-GF6WJ4MG.js.map → chunk-BP3OYBQV.js.map} +0 -0
  117. /package/dist/{chunk-GO63IT6K.js.map → chunk-EJM2E6KF.js.map} +0 -0
  118. /package/dist/{chunk-LJOELK7P.js.map → chunk-GUZG4MSV.js.map} +0 -0
  119. /package/dist/{chunk-IBQT4RTS.js.map → chunk-HJXIIGLD.js.map} +0 -0
  120. /package/dist/{chunk-E5HUHKHH.js.map → chunk-I3I3HPZA.js.map} +0 -0
  121. /package/dist/{chunk-6KJV6GAJ.js.map → chunk-IA7AGOBD.js.map} +0 -0
  122. /package/dist/{chunk-NNYND3I4.js.map → chunk-J4XQQ43Y.js.map} +0 -0
  123. /package/dist/{chunk-IZ6F7LOE.js.map → chunk-JBH5YDPP.js.map} +0 -0
  124. /package/dist/{chunk-PHLBRU5P.js.map → chunk-OCMJWI6L.js.map} +0 -0
  125. /package/dist/{chunk-CWK4QHVF.js.map → chunk-PAJUQOWK.js.map} +0 -0
  126. /package/dist/{chunk-5CC33IJ7.js.map → chunk-PMCLM3KV.js.map} +0 -0
  127. /package/dist/{chunk-5V3LERVC.js.map → chunk-SPYKIXKJ.js.map} +0 -0
  128. /package/dist/{chunk-FOH4MNOZ.js.map → chunk-TQJN7EBG.js.map} +0 -0
  129. /package/dist/{chunk-SHGMDYCR.js.map → chunk-VEAA5C5X.js.map} +0 -0
  130. /package/dist/{chunk-DK3BHDUZ.js.map → chunk-Z72SBI2U.js.map} +0 -0
@@ -93,7 +93,7 @@ var _chunkQVSVRG7Icjs = require('./chunk-QVSVRG7I.cjs');
93
93
 
94
94
 
95
95
 
96
- var _chunkQHL4GYYYcjs = require('./chunk-QHL4GYYY.cjs');
96
+ var _chunk3BLN7YNMcjs = require('./chunk-3BLN7YNM.cjs');
97
97
 
98
98
 
99
99
 
@@ -244,7 +244,7 @@ var _chunkXQFFGR6Ucjs = require('./chunk-XQFFGR6U.cjs');
244
244
 
245
245
 
246
246
 
247
- var _chunk37NYF4W2cjs = require('./chunk-37NYF4W2.cjs');
247
+ var _chunkQRUW4UXBcjs = require('./chunk-QRUW4UXB.cjs');
248
248
 
249
249
 
250
250
  var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
@@ -357,7 +357,7 @@ function ThemeProvider({ children, ...overrides }) {
357
357
  var useTheme = _nextthemes.useTheme;
358
358
  function useThemeToggle() {
359
359
  const { resolvedTheme, theme, setTheme } = useTheme();
360
- const mounted = _chunkQHL4GYYYcjs.useIsHydrated.call(void 0, );
360
+ const mounted = _chunk3BLN7YNMcjs.useIsHydrated.call(void 0, );
361
361
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
362
362
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
363
363
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -634,7 +634,7 @@ function TruncateText({
634
634
  const { ref, isTruncated } = _chunkV2A4MAALcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
635
635
  const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
636
636
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
637
- _chunkQHL4GYYYcjs.FloatingTooltip,
637
+ _chunk3BLN7YNMcjs.FloatingTooltip,
638
638
  {
639
639
  content: _nullishCoalesce(tooltip, () => ( children)),
640
640
  side,
@@ -941,7 +941,7 @@ function AutocompleteInner(props, ref) {
941
941
  ),
942
942
  /* @__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: [
943
943
  multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
944
- _chunkQHL4GYYYcjs.Tag,
944
+ _chunk3BLN7YNMcjs.Tag,
945
945
  {
946
946
  variant: "outline",
947
947
  labelClassName: "max-w-[90px] truncate",
@@ -1163,7 +1163,7 @@ function AutocompleteInner(props, ref) {
1163
1163
  "aria-hidden": "true",
1164
1164
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
1165
1165
  children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1166
- _chunkQHL4GYYYcjs.Tag,
1166
+ _chunk3BLN7YNMcjs.Tag,
1167
1167
  {
1168
1168
  variant: "outline",
1169
1169
  labelClassName: "max-w-[90px] truncate",
@@ -1481,7 +1481,7 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
1481
1481
 
1482
1482
  // src/components/ui/date-picker.tsx
1483
1483
 
1484
- var defaultFormatDate = (date) => _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, date, _chunk37NYF4W2cjs.VIEWER_TIMEZONE, "numeric");
1484
+ var defaultFormatDate = (date) => _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, date, _chunkQRUW4UXBcjs.VIEWER_TIMEZONE, "numeric");
1485
1485
  var formatDateRange = (range, formatFn) => {
1486
1486
  if (!_optionalChain([range, 'optionalAccess', _24 => _24.from])) return "";
1487
1487
  if (!range.to) return formatFn(range.from);
@@ -1682,7 +1682,7 @@ function DatePickerCalendar({
1682
1682
  };
1683
1683
  const handlePreviousMonth = () => shiftMonth(-1);
1684
1684
  const handleNextMonth = () => shiftMonth(1);
1685
- const formatMonthYear = (date) => _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, date, _chunk37NYF4W2cjs.VIEWER_TIMEZONE, "monthYear");
1685
+ const formatMonthYear = (date) => _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, date, _chunkQRUW4UXBcjs.VIEWER_TIMEZONE, "monthYear");
1686
1686
  const getSecondMonth = (date) => {
1687
1687
  const next = new Date(date);
1688
1688
  next.setMonth(next.getMonth() + 1);
@@ -2548,7 +2548,7 @@ function InfoHint({ children, label, side = "top", className }) {
2548
2548
  const describedById = _react.useId.call(void 0, );
2549
2549
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
2550
2550
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2551
- _chunkQHL4GYYYcjs.FloatingTooltip,
2551
+ _chunk3BLN7YNMcjs.FloatingTooltip,
2552
2552
  {
2553
2553
  content: children,
2554
2554
  side,
@@ -2642,7 +2642,7 @@ function Value2({ value, depth }) {
2642
2642
  }
2643
2643
  if (typeof value === "string") {
2644
2644
  if (ISO_DATE.test(value)) {
2645
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkQHL4GYYYcjs.formatRelativeTime.call(void 0, value) });
2645
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunk3BLN7YNMcjs.formatRelativeTime.call(void 0, value) });
2646
2646
  }
2647
2647
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
2648
2648
  }
@@ -3037,7 +3037,7 @@ function CompactAssigneeDropdown({
3037
3037
  value: o.value,
3038
3038
  label: o.label,
3039
3039
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3040
- _chunk37NYF4W2cjs.SquareAvatar,
3040
+ _chunkQRUW4UXBcjs.SquareAvatar,
3041
3041
  {
3042
3042
  src: o.imageUrl,
3043
3043
  alt: o.label,
@@ -3072,7 +3072,7 @@ function CompactAssigneeDropdown({
3072
3072
  className
3073
3073
  ),
3074
3074
  children: currentAssignee.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeletedUserAvatar, { size: "sm", accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}` }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3075
- _chunk37NYF4W2cjs.SquareAvatar,
3075
+ _chunkQRUW4UXBcjs.SquareAvatar,
3076
3076
  {
3077
3077
  src: currentAssignee.avatarSrc,
3078
3078
  alt: currentAssignee.name,
@@ -3120,7 +3120,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3120
3120
  const opt = option;
3121
3121
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-sf)]", children: [
3122
3122
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3123
- _chunk37NYF4W2cjs.SquareAvatar,
3123
+ _chunkQRUW4UXBcjs.SquareAvatar,
3124
3124
  {
3125
3125
  src: opt.imageUrl,
3126
3126
  alt: opt.label,
@@ -3155,7 +3155,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3155
3155
  accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
3156
3156
  }
3157
3157
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3158
- _chunk37NYF4W2cjs.SquareAvatar,
3158
+ _chunkQRUW4UXBcjs.SquareAvatar,
3159
3159
  {
3160
3160
  src: currentAssignee.avatarSrc,
3161
3161
  alt: currentAssignee.name,
@@ -3180,7 +3180,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
3180
3180
  accessibleLabel: `Deleted user: ${currentAssignee.name || currentAssignee.id}`
3181
3181
  }
3182
3182
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3183
- _chunk37NYF4W2cjs.SquareAvatar,
3183
+ _chunkQRUW4UXBcjs.SquareAvatar,
3184
3184
  {
3185
3185
  src: currentAssignee.avatarSrc,
3186
3186
  alt: currentAssignee.name,
@@ -3254,7 +3254,7 @@ function TextValue({ value }) {
3254
3254
  }
3255
3255
  ) : onClick ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick, title: text, className: interactiveClass, children: text }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", title: text, children: text }),
3256
3256
  hasImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3257
- _chunk37NYF4W2cjs.SquareAvatar,
3257
+ _chunkQRUW4UXBcjs.SquareAvatar,
3258
3258
  {
3259
3259
  src: imageSrc,
3260
3260
  alt: text,
@@ -3274,7 +3274,7 @@ function RowValue({ value }) {
3274
3274
  }
3275
3275
  case "status": {
3276
3276
  const { type: _type, ...props } = value;
3277
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TicketStatusTag, { ...props });
3277
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TicketStatusTag, { ...props });
3278
3278
  }
3279
3279
  case "custom":
3280
3280
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
@@ -4185,7 +4185,7 @@ function TagsManager({
4185
4185
  }
4186
4186
  ),
4187
4187
  selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4188
- _chunkQHL4GYYYcjs.Tag,
4188
+ _chunk3BLN7YNMcjs.Tag,
4189
4189
  {
4190
4190
  label: tag.name,
4191
4191
  variant: "outline",
@@ -4730,10 +4730,10 @@ function useConfirm() {
4730
4730
  },
4731
4731
  []
4732
4732
  );
4733
- const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4734
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalTitle, { children: pending.title }) }),
4735
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4736
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.ModalFooter, { children: [
4733
+ const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
4734
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalTitle, { children: pending.title }) }),
4735
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
4736
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.ModalFooter, { children: [
4737
4737
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
4738
4738
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
4739
4739
  ] })
@@ -4796,9 +4796,9 @@ function AdminFormModal({
4796
4796
  body: "Your edits have not been saved. Close and discard them?"
4797
4797
  });
4798
4798
  if (!isOpen) return null;
4799
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4800
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.ModalHeader, { children: [
4801
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalTitle, { children: title }),
4799
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
4800
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.ModalHeader, { children: [
4801
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalTitle, { children: title }),
4802
4802
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
4803
4803
  ] }),
4804
4804
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -4823,7 +4823,7 @@ function AdminFormModal({
4823
4823
  // a shrink-to-fit flex item pinned to the left of a 1400px panel).
4824
4824
  // The placeholder owns its own layout and mirrors the column count so
4825
4825
  // the modal doesn't visibly re-flow when the entity lands.
4826
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4826
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4827
4827
  "div",
4828
4828
  {
4829
4829
  "aria-busy": "true",
@@ -4844,12 +4844,12 @@ function AdminFormModal({
4844
4844
  ]
4845
4845
  }
4846
4846
  ) })
4847
- ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalContent, { className: contentClassName, children }),
4847
+ ) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalContent, { className: contentClassName, children }),
4848
4848
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
4849
4849
  ]
4850
4850
  }
4851
4851
  ),
4852
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4852
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
4853
4853
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
4854
4854
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
4855
4855
  footerStatus,
@@ -6995,7 +6995,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
6995
6995
  };
6996
6996
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
6997
6997
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6998
- _chunkQHL4GYYYcjs.Video,
6998
+ _chunk3BLN7YNMcjs.Video,
6999
6999
  {
7000
7000
  url: item.src,
7001
7001
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7427,7 +7427,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
7427
7427
  width: m.width,
7428
7428
  height: m.height
7429
7429
  }));
7430
- const formatNumber2 = _chunk37NYF4W2cjs.formatLargeNumber;
7430
+ const formatNumber2 = _chunkQRUW4UXBcjs.formatLargeNumber;
7431
7431
  const truncateText = (text, maxLength = 600) => {
7432
7432
  if (text.length <= maxLength) return text;
7433
7433
  return text.slice(0, maxLength) + "...";
@@ -7719,7 +7719,7 @@ function buildRichEmbedOverrides({
7719
7719
  ogEndpointPath,
7720
7720
  textSizes
7721
7721
  }) {
7722
- const standard = _chunkQHL4GYYYcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7722
+ const standard = _chunk3BLN7YNMcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7723
7723
  return {
7724
7724
  // Fence-language embeds (```youtube-embed etc.); everything else
7725
7725
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7729,7 +7729,7 @@ function buildRichEmbedOverrides({
7729
7729
  const language = match ? match[1] : "";
7730
7730
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7731
7731
  if (language === "youtube-embed") {
7732
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Video, { kind: "youtube", url: fenceText() });
7732
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Video, { kind: "youtube", url: fenceText() });
7733
7733
  }
7734
7734
  if (language === "reddit-embed") {
7735
7735
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -7770,7 +7770,7 @@ function buildRichEmbedOverrides({
7770
7770
  "data-figma-url": figmaUrl
7771
7771
  } = divProps;
7772
7772
  if (className === "youtube-embed" && videoId) {
7773
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Video, { kind: "youtube", url: videoId });
7773
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Video, { kind: "youtube", url: videoId });
7774
7774
  }
7775
7775
  if (className === "reddit-embed" && postUrl) {
7776
7776
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -7855,14 +7855,14 @@ function buildRichEmbedOverrides({
7855
7855
  // rich-markdown runtime (Supabase optimization on the hub, identity
7856
7856
  // elsewhere). Guard against empty `![]()`.
7857
7857
  img: ({ src, alt }) => {
7858
- if (!_chunkQHL4GYYYcjs.hasRenderableSrc.call(void 0, src)) return null;
7858
+ if (!_chunk3BLN7YNMcjs.hasRenderableSrc.call(void 0, src)) return null;
7859
7859
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7860
7860
  },
7861
7861
  // Raw <video> tags in stored content (blog publisher injection) route
7862
7862
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
7863
7863
  video: ({ src, poster, className }) => {
7864
- if (!_chunkQHL4GYYYcjs.hasRenderableSrc.call(void 0, src)) return null;
7865
- 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, _chunkQHL4GYYYcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7864
+ if (!_chunk3BLN7YNMcjs.hasRenderableSrc.call(void 0, src)) return null;
7865
+ 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, _chunk3BLN7YNMcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7866
7866
  }
7867
7867
  };
7868
7868
  }
@@ -8103,13 +8103,13 @@ var RichMarkdownInner = ({
8103
8103
  },
8104
8104
  [resolveLinkEndpointUrl, resolveSource]
8105
8105
  );
8106
- const textSizes = _react.useMemo.call(void 0, () => _chunkQHL4GYYYcjs.resolveTextSizeConfig.call(void 0, "article"), []);
8106
+ const textSizes = _react.useMemo.call(void 0, () => _chunk3BLN7YNMcjs.resolveTextSizeConfig.call(void 0, "article"), []);
8107
8107
  const componentOverrides = _react.useMemo.call(void 0,
8108
8108
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
8109
8109
  [ogApiBaseUrl, ogEndpointPath, textSizes]
8110
8110
  );
8111
8111
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8112
- _chunkQHL4GYYYcjs.MarkdownEngine,
8112
+ _chunk3BLN7YNMcjs.MarkdownEngine,
8113
8113
  {
8114
8114
  content,
8115
8115
  className,
@@ -8131,7 +8131,7 @@ var RichMarkdownRendererImpl = ({
8131
8131
  className = "",
8132
8132
  sectionIds,
8133
8133
  onInternalLinkClick,
8134
- brokenLinks = _chunkQHL4GYYYcjs.NO_BROKEN_LINKS,
8134
+ brokenLinks = _chunk3BLN7YNMcjs.NO_BROKEN_LINKS,
8135
8135
  currentPath,
8136
8136
  resolveSource = "openframe-docs",
8137
8137
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -9096,7 +9096,7 @@ function FilterModal({
9096
9096
  const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _167 => _167.defaultSort]), () => ( "desc"));
9097
9097
  const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _168 => _168.sort]), () => ( dateDefaultSort)));
9098
9098
  const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _169 => _169.range]));
9099
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkQHL4GYYYcjs.useScrollFade.call(void 0, );
9099
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk3BLN7YNMcjs.useScrollFade.call(void 0, );
9100
9100
  const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
9101
9101
  const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
9102
9102
  _react.useEffect.call(void 0, () => {
@@ -9141,10 +9141,10 @@ function FilterModal({
9141
9141
  const hasFilterGroups = filterGroups.length > 0;
9142
9142
  const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
9143
9143
  const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
9144
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Modal, { isOpen, onClose, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
9145
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalTitle, { children: title }) }),
9144
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Modal, { isOpen, onClose, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
9145
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalTitle, { children: title }) }),
9146
9146
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9147
- _chunkQHL4GYYYcjs.ModalContent,
9147
+ _chunk3BLN7YNMcjs.ModalContent,
9148
9148
  {
9149
9149
  className: _chunkX7CEWD6Vcjs.cn.call(void 0,
9150
9150
  "flex min-h-0 flex-1 flex-col",
@@ -9236,12 +9236,12 @@ function FilterModal({
9236
9236
  ] })
9237
9237
  }
9238
9238
  ),
9239
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
9240
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
9239
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
9240
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
9241
9241
  ] })
9242
9242
  }
9243
9243
  ),
9244
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.ModalFooter, { children: [
9244
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.ModalFooter, { children: [
9245
9245
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
9246
9246
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
9247
9247
  ] })
@@ -9285,9 +9285,9 @@ function actionToMenuItems(action, idx) {
9285
9285
  function renderActionButton(action, opts = {}) {
9286
9286
  const button = renderRawActionButton(action, opts);
9287
9287
  if (!action.tooltip) return button;
9288
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Tooltip, { children: [
9289
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipTrigger, { asChild: true, children: button }),
9290
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipContent, { children: action.tooltip })
9288
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Tooltip, { children: [
9289
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipTrigger, { asChild: true, children: button }),
9290
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipContent, { children: action.tooltip })
9291
9291
  ] }) });
9292
9292
  }
9293
9293
  function renderRawActionButton(action, opts = {}) {
@@ -9311,7 +9311,7 @@ function renderRawActionButton(action, opts = {}) {
9311
9311
  }
9312
9312
  if (action.submenu && action.submenu.length > 0) {
9313
9313
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9314
- _chunkQHL4GYYYcjs.ActionsMenuDropdown,
9314
+ _chunk3BLN7YNMcjs.ActionsMenuDropdown,
9315
9315
  {
9316
9316
  groups: [{ items: action.submenu }],
9317
9317
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -9446,10 +9446,10 @@ function IconButtonsVariant({
9446
9446
  selector,
9447
9447
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9448
9448
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
9449
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ActionsMenuDropdown, { groups: menuActions })
9449
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ActionsMenuDropdown, { groups: menuActions })
9450
9450
  ] })
9451
9451
  ] }),
9452
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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, _chunkQHL4GYYYcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
9452
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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, _chunk3BLN7YNMcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
9453
9453
  ] });
9454
9454
  }
9455
9455
  function PrimaryButtonsVariant({
@@ -9487,7 +9487,7 @@ function MenuPrimaryVariant({
9487
9487
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
9488
9488
  selector,
9489
9489
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9490
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ActionsMenuDropdown, { groups: menuActions }),
9490
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ActionsMenuDropdown, { groups: menuActions }),
9491
9491
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
9492
9492
  ] })
9493
9493
  ] }),
@@ -9495,7 +9495,7 @@ function MenuPrimaryVariant({
9495
9495
  // The selector rides into the menu as its header row: on mobile the
9496
9496
  // title row has no room for it, and hiding it entirely (what
9497
9497
  // `icon-buttons` does) would leave no way to switch views at all.
9498
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
9498
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
9499
9499
  ) : null })
9500
9500
  ] });
9501
9501
  }
@@ -9790,7 +9790,7 @@ function EntityImage({ src, alt, fallbackText, sizeClassName, className }) {
9790
9790
  const [failedSrc, setFailedSrc] = _react2.default.useState(null);
9791
9791
  const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
9792
9792
  const showFallback = imageFailed || !resolvedSrc;
9793
- const initials = _chunk37NYF4W2cjs.personInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
9793
+ const initials = _chunkQRUW4UXBcjs.personInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
9794
9794
  if (showFallback) {
9795
9795
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9796
9796
  "div",
@@ -9901,7 +9901,7 @@ function TitleBlock({
9901
9901
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
9902
9902
  (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: [
9903
9903
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9904
- _chunkQHL4GYYYcjs.FloatingTooltip,
9904
+ _chunk3BLN7YNMcjs.FloatingTooltip,
9905
9905
  {
9906
9906
  content: title,
9907
9907
  side: "bottom",
@@ -9918,12 +9918,12 @@ function TitleBlock({
9918
9918
  }
9919
9919
  ),
9920
9920
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9921
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
9921
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
9922
9922
  hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
9923
9923
  empty `p` collapses to zero height (its only content would be
9924
9924
  collapsible whitespace), which is exactly the shift that mode
9925
9925
  exists to prevent. Hidden from AT — it carries no meaning. */
9926
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9926
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9927
9927
  "p",
9928
9928
  {
9929
9929
  ref: subtitleRef,
@@ -9934,7 +9934,7 @@ function TitleBlock({
9934
9934
  ) })
9935
9935
  ] })
9936
9936
  ] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
9937
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
9937
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
9938
9938
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
9939
9939
  ] }) : (
9940
9940
  /* This branch never had the single-line clamp, so text already
@@ -11522,7 +11522,7 @@ function lastPathSegment(url) {
11522
11522
  function makeComposeContentUrl(opts) {
11523
11523
  const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
11524
11524
  return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
11525
- const type = _chunk37NYF4W2cjs.canonicalContentRefType.call(void 0, rawType);
11525
+ const type = _chunkQRUW4UXBcjs.canonicalContentRefType.call(void 0, rawType);
11526
11526
  const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
11527
11527
  if (override) return { ...override(identifier), hostOverride: true };
11528
11528
  const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
@@ -11533,8 +11533,8 @@ function makeComposeContentUrl(opts) {
11533
11533
  }
11534
11534
  if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
11535
11535
  const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
11536
- const owner = claimedOwner && _chunkQHL4GYYYcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
11537
- const origin = owner ? _chunkQHL4GYYYcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
11536
+ const owner = claimedOwner && _chunk3BLN7YNMcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
11537
+ const origin = owner ? _chunk3BLN7YNMcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
11538
11538
  return {
11539
11539
  href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _228 => _228.trim, 'call', _229 => _229()]) || identifier}`,
11540
11540
  // Report the owner so `decideNewTab` can compare it against the current
@@ -11709,7 +11709,7 @@ function extractSections(markdown, options = {}) {
11709
11709
  if (heading.level > opts.maxLevel) continue;
11710
11710
  let title = heading.text;
11711
11711
  if (opts.stripFormattingMarkers) {
11712
- title = _chunkQHL4GYYYcjs.stripInlineMarkdown.call(void 0, title).trim();
11712
+ title = _chunk3BLN7YNMcjs.stripInlineMarkdown.call(void 0, title).trim();
11713
11713
  }
11714
11714
  const baseId = _chunkV2A4MAALcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkV2A4MAALcjs.stripHeadingEmojis.call(void 0, title) : title);
11715
11715
  const cleanId = baseId || `section-${sections.length + 1}`;
@@ -12282,7 +12282,7 @@ function DashboardInfoCard({
12282
12282
  const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
12283
12283
  if (asTag) {
12284
12284
  const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
12285
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
12285
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
12286
12286
  }
12287
12287
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
12288
12288
  "(",
@@ -12336,7 +12336,7 @@ function DashboardInfoCard({
12336
12336
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
12337
12337
  subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
12338
12338
  renderPercentage(),
12339
- tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.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, _chunkOIDKQ77Rcjs.QuestionCircleIcon, { size: 20 }) }) })
12339
+ tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.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, _chunkOIDKQ77Rcjs.QuestionCircleIcon, { size: 20 }) }) })
12340
12340
  ] })
12341
12341
  ] }),
12342
12342
  renderProgress()
@@ -12454,7 +12454,7 @@ function DeviceCard({
12454
12454
  }) {
12455
12455
  const formatLastSeen = (lastSeen) => {
12456
12456
  if (!lastSeen) return null;
12457
- return _chunk37NYF4W2cjs.formatDateTimeYmd.call(void 0, lastSeen, null) || null;
12457
+ return _chunkQRUW4UXBcjs.formatDateTimeYmd.call(void 0, lastSeen, null) || null;
12458
12458
  };
12459
12459
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
12460
12460
  "div",
@@ -12513,7 +12513,7 @@ function DeviceCard({
12513
12513
  ] }),
12514
12514
  (statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
12515
12515
  statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12516
- _chunkQHL4GYYYcjs.Tag,
12516
+ _chunk3BLN7YNMcjs.Tag,
12517
12517
  {
12518
12518
  variant: statusTag.variant,
12519
12519
  icon: statusTag.icon,
@@ -12527,7 +12527,7 @@ function DeviceCard({
12527
12527
  formatLastSeen(device.lastSeen)
12528
12528
  ] })
12529
12529
  ] }),
12530
- 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, _chunkQHL4GYYYcjs.Tag, { variant: "outline", label: tag }, index)) })
12530
+ 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, _chunk3BLN7YNMcjs.Tag, { variant: "outline", label: tag }, index)) })
12531
12531
  ]
12532
12532
  }
12533
12533
  );
@@ -12561,7 +12561,7 @@ function DataAttribution({ icon, source, lastUpdated }) {
12561
12561
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "hidden text-ods-text-secondary sm:inline", "aria-hidden": "true", children: "\xB7" }),
12562
12562
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
12563
12563
  "Last updated: ",
12564
- lastUpdated ? _chunk37NYF4W2cjs.formatDate.call(void 0, lastUpdated) : "Never"
12564
+ lastUpdated ? _chunkQRUW4UXBcjs.formatDate.call(void 0, lastUpdated) : "Never"
12565
12565
  ] })
12566
12566
  ] });
12567
12567
  }
@@ -12681,7 +12681,7 @@ function FeatureCardGrid({
12681
12681
  if (allCardsHaveNoBorders) {
12682
12682
  finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
12683
12683
  }
12684
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
12684
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
12685
12685
  const startIndex = rowIndex * itemsPerRow;
12686
12686
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
12687
12687
  const isLastRow = rowIndex === rows - 1;
@@ -12711,7 +12711,7 @@ function FeatureCardGrid({
12711
12711
  item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
12712
12712
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
12713
12713
  item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12714
- _chunk37NYF4W2cjs.StatusBadge,
12714
+ _chunkQRUW4UXBcjs.StatusBadge,
12715
12715
  {
12716
12716
  text: item.badge.text,
12717
12717
  variant: item.badge.variant || "card",
@@ -12720,7 +12720,7 @@ function FeatureCardGrid({
12720
12720
  )
12721
12721
  ] }),
12722
12722
  !item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12723
- _chunk37NYF4W2cjs.StatusBadge,
12723
+ _chunkQRUW4UXBcjs.StatusBadge,
12724
12724
  {
12725
12725
  text: item.badge.text,
12726
12726
  variant: item.badge.variant || "card",
@@ -12768,7 +12768,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
12768
12768
 
12769
12769
  function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
12770
12770
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12771
- _chunkQHL4GYYYcjs.FloatingTooltip,
12771
+ _chunk3BLN7YNMcjs.FloatingTooltip,
12772
12772
  {
12773
12773
  as: "span",
12774
12774
  side: "top",
@@ -12953,7 +12953,7 @@ function DropdownButton({
12953
12953
  )
12954
12954
  );
12955
12955
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12956
- _chunkQHL4GYYYcjs.ActionsMenuDropdown,
12956
+ _chunk3BLN7YNMcjs.ActionsMenuDropdown,
12957
12957
  {
12958
12958
  groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
12959
12959
  open,
@@ -13191,7 +13191,7 @@ function ServiceCardRowItem({ row }) {
13191
13191
  ),
13192
13192
  children: [
13193
13193
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13194
- _chunkQHL4GYYYcjs.FloatingTooltip,
13194
+ _chunk3BLN7YNMcjs.FloatingTooltip,
13195
13195
  {
13196
13196
  content: row.value,
13197
13197
  side: "top",
@@ -13289,7 +13289,7 @@ function PersonCell({
13289
13289
  const displayName = name || fallbackName;
13290
13290
  const scale = PERSON_CELL_SIZE[size];
13291
13291
  const row = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `group/person-cell flex min-w-0 items-center ${scale.gap}`, children: [
13292
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.SquareAvatar, { size: scale.avatar, src: _nullishCoalesce(avatarUrl, () => ( void 0)), alt: displayName, fallback: displayName }),
13292
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { size: scale.avatar, src: _nullishCoalesce(avatarUrl, () => ( void 0)), alt: displayName, fallback: displayName }),
13293
13293
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
13294
13294
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13295
13295
  TruncateText,
@@ -13329,9 +13329,9 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
13329
13329
  );
13330
13330
  }
13331
13331
  const fullNames = people.map((p) => p.name || "Unknown").join(", ");
13332
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.FloatingTooltip, { content: fullNames, triggerClassName: "min-w-0 max-w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
13332
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.FloatingTooltip, { content: fullNames, triggerClassName: "min-w-0 max-w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
13333
13333
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13334
- _chunk37NYF4W2cjs.AvatarStack,
13334
+ _chunkQRUW4UXBcjs.AvatarStack,
13335
13335
  {
13336
13336
  size: "sm",
13337
13337
  slots: PEOPLE_CELL_STACK_SLOTS,
@@ -13339,7 +13339,7 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
13339
13339
  }
13340
13340
  ) }),
13341
13341
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "line-clamp-2 min-w-0 flex-1 break-words text-ods-text-primary text-h6", children: [
13342
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, children: people.map((p) => _chunk37NYF4W2cjs.personFirstName.call(void 0, p.name, "Unknown")).join(" & ") }),
13342
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, children: people.map((p) => _chunkQRUW4UXBcjs.personFirstName.call(void 0, p.name, "Unknown")).join(" & ") }),
13343
13343
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: fullNames })
13344
13344
  ] })
13345
13345
  ] }) });
@@ -13391,9 +13391,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
13391
13391
  return next;
13392
13392
  });
13393
13393
  };
13394
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Tooltip, { open, onOpenChange: setOpen, children: [
13394
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Tooltip, { open, onOpenChange: setOpen, children: [
13395
13395
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13396
- _chunkQHL4GYYYcjs.TooltipTrigger,
13396
+ _chunk3BLN7YNMcjs.TooltipTrigger,
13397
13397
  {
13398
13398
  asChild: true,
13399
13399
  onPointerDown: (e) => {
@@ -13411,7 +13411,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
13411
13411
  children
13412
13412
  }
13413
13413
  ),
13414
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipContent, { side, className: "max-w-xs", children: content })
13414
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipContent, { side, className: "max-w-xs", children: content })
13415
13415
  ] }) });
13416
13416
  }
13417
13417
 
@@ -14668,7 +14668,7 @@ function TableDescriptionCell({ text, className, maxLines = 3 }) {
14668
14668
 
14669
14669
  // src/components/ui/table/table-timestamp-cell.tsx
14670
14670
 
14671
- var formatLocalTimestamp = (date) => _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, date, _chunk37NYF4W2cjs.VIEWER_TIMEZONE, "localeDateTime", { viewerLocale: true });
14671
+ var formatLocalTimestamp = (date) => _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, date, _chunkQRUW4UXBcjs.VIEWER_TIMEZONE, "localeDateTime", { viewerLocale: true });
14672
14672
  function formatTimestampValue(timestamp) {
14673
14673
  if (timestamp instanceof Date) {
14674
14674
  return formatLocalTimestamp(timestamp);
@@ -14722,9 +14722,9 @@ function TruncatedHeaderCell({ value, width }) {
14722
14722
  setIsTruncated(el.scrollWidth > el.clientWidth);
14723
14723
  }
14724
14724
  }, []);
14725
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
14726
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.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 }) }) }),
14727
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
14725
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
14726
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.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 }) }) }),
14727
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
14728
14728
  ] }) });
14729
14729
  }
14730
14730
 
@@ -14777,9 +14777,9 @@ function TruncatedCell({ value, className }) {
14777
14777
  setIsTruncated(el.scrollWidth > el.clientWidth);
14778
14778
  }
14779
14779
  }, []);
14780
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
14781
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "block truncate", className), children: value }) }),
14782
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
14780
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
14781
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "block truncate", className), children: value }) }),
14782
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
14783
14783
  ] }) });
14784
14784
  }
14785
14785
 
@@ -16061,7 +16061,7 @@ function SearchInput({
16061
16061
  /* @__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, {}) }),
16062
16062
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
16063
16063
  visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16064
- _chunkQHL4GYYYcjs.Tag,
16064
+ _chunk3BLN7YNMcjs.Tag,
16065
16065
  {
16066
16066
  variant: chipVariantToTagVariant(chip.variant),
16067
16067
  label: chip.label,
@@ -16177,7 +16177,7 @@ function SearchInput({
16177
16177
  }
16178
16178
  ),
16179
16179
  /* @__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,
16180
- _chunkQHL4GYYYcjs.Tag,
16180
+ _chunk3BLN7YNMcjs.Tag,
16181
16181
  {
16182
16182
  variant: chipVariantToTagVariant(chip.variant),
16183
16183
  label: chip.label,
@@ -16390,7 +16390,7 @@ function TagSearchInput({
16390
16390
  /* @__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" }) }),
16391
16391
  /* @__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: [
16392
16392
  visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16393
- _chunkQHL4GYYYcjs.Tag,
16393
+ _chunk3BLN7YNMcjs.Tag,
16394
16394
  {
16395
16395
  variant: "outline",
16396
16396
  label: renderTag ? renderTag(tag) : tag.label,
@@ -16478,7 +16478,7 @@ function TagSearchInput({
16478
16478
  "aria-hidden": "true",
16479
16479
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
16480
16480
  children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16481
- _chunkQHL4GYYYcjs.Tag,
16481
+ _chunk3BLN7YNMcjs.Tag,
16482
16482
  {
16483
16483
  variant: "outline",
16484
16484
  label: renderTag ? renderTag(tag) : tag.label,
@@ -17409,20 +17409,20 @@ function ColorPresetSelect({
17409
17409
  ...presets.map((p) => ({
17410
17410
  id: p.key,
17411
17411
  label: p.label,
17412
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ColorSwatch, { color: p.color }),
17412
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ColorSwatch, { color: p.color }),
17413
17413
  onClick: () => onChange({ color: p.color, preset: p.key })
17414
17414
  })),
17415
17415
  {
17416
17416
  id: CUSTOM_PRESET_KEY,
17417
17417
  label: "Custom",
17418
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
17418
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
17419
17419
  onClick: () => onChange({ color: value, preset: void 0 })
17420
17420
  }
17421
17421
  ]
17422
17422
  }
17423
17423
  ];
17424
17424
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17425
- _chunkQHL4GYYYcjs.ActionsMenuDropdown,
17425
+ _chunk3BLN7YNMcjs.ActionsMenuDropdown,
17426
17426
  {
17427
17427
  groups,
17428
17428
  align: "start",
@@ -17432,7 +17432,7 @@ function ColorPresetSelect({
17432
17432
  {
17433
17433
  disabled,
17434
17434
  "aria-label": `Color: ${displayLabel}`,
17435
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ColorSwatch, { color: displayColor }),
17435
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ColorSwatch, { color: displayColor }),
17436
17436
  selectedLabel: displayLabel,
17437
17437
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
17438
17438
  className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
@@ -17453,7 +17453,7 @@ function HexInputs({ value, onChange }) {
17453
17453
  }
17454
17454
  const commit = () => {
17455
17455
  const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
17456
- if (_chunkQHL4GYYYcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
17456
+ if (_chunk3BLN7YNMcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
17457
17457
  else setDraft(value);
17458
17458
  };
17459
17459
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17517,12 +17517,12 @@ function ChannelInput({
17517
17517
  );
17518
17518
  }
17519
17519
  function RgbInputs({ value, onChange }) {
17520
- const rgb = _nullishCoalesce(_chunkQHL4GYYYcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
17520
+ const rgb = _nullishCoalesce(_chunk3BLN7YNMcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
17521
17521
  const update = (next) => {
17522
17522
  const r = _nullishCoalesce(next.r, () => ( rgb.r));
17523
17523
  const g = _nullishCoalesce(next.g, () => ( rgb.g));
17524
17524
  const b = _nullishCoalesce(next.b, () => ( rgb.b));
17525
- onChange(_chunkQHL4GYYYcjs.rgbToHex.call(void 0, r, g, b));
17525
+ onChange(_chunk3BLN7YNMcjs.rgbToHex.call(void 0, r, g, b));
17526
17526
  };
17527
17527
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
17528
17528
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
@@ -17531,14 +17531,14 @@ function RgbInputs({ value, onChange }) {
17531
17531
  ] });
17532
17532
  }
17533
17533
  function HslInputs({ value, onChange }) {
17534
- const rgb = _nullishCoalesce(_chunkQHL4GYYYcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
17535
- const hsl = _chunkQHL4GYYYcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
17534
+ const rgb = _nullishCoalesce(_chunk3BLN7YNMcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
17535
+ const hsl = _chunk3BLN7YNMcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
17536
17536
  const update = (next) => {
17537
17537
  const h = _nullishCoalesce(next.h, () => ( hsl.h));
17538
17538
  const s = _nullishCoalesce(next.s, () => ( hsl.s));
17539
17539
  const l = _nullishCoalesce(next.l, () => ( hsl.l));
17540
- const out = _chunkQHL4GYYYcjs.hslToRgb.call(void 0, h, s, l);
17541
- onChange(_chunkQHL4GYYYcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
17540
+ const out = _chunk3BLN7YNMcjs.hslToRgb.call(void 0, h, s, l);
17541
+ onChange(_chunk3BLN7YNMcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
17542
17542
  };
17543
17543
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
17544
17544
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
@@ -17564,7 +17564,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
17564
17564
  {
17565
17565
  disabled,
17566
17566
  "aria-label": "Pick custom color",
17567
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ColorSwatch, { color: value }),
17567
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ColorSwatch, { color: value }),
17568
17568
  selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
17569
17569
  endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
17570
17570
  className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
@@ -17580,7 +17580,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
17580
17580
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
17581
17581
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
17582
17582
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17583
- _chunkQHL4GYYYcjs.ActionsMenuDropdown,
17583
+ _chunk3BLN7YNMcjs.ActionsMenuDropdown,
17584
17584
  {
17585
17585
  groups: formatGroups,
17586
17586
  align: "start",
@@ -17637,7 +17637,7 @@ function TicketStatusConfigRow({
17637
17637
  const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
17638
17638
  const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
17639
17639
  const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17640
- _chunkQHL4GYYYcjs.TicketStatusTag,
17640
+ _chunk3BLN7YNMcjs.TicketStatusTag,
17641
17641
  {
17642
17642
  status: statusKey,
17643
17643
  label: name || " ",
@@ -17789,7 +17789,7 @@ function formatTestRunDuration(ms) {
17789
17789
  var RESULT_COLUMN_MIN_WIDTH = 176;
17790
17790
  var SKELETON_COLUMNS = 6;
17791
17791
  function TestResultsSkeleton() {
17792
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
17792
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
17793
17793
  /* @__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}`)) }),
17794
17794
  /* @__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}`)) }) })
17795
17795
  ] }) });
@@ -17824,7 +17824,7 @@ function TestResultsTable({ rows, loading }) {
17824
17824
  if (loading) {
17825
17825
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
17826
17826
  }
17827
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.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: [
17827
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.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: [
17828
17828
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
17829
17829
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
17830
17830
  ] }) }) });
@@ -17886,7 +17886,7 @@ var TEST_RUN_STATUS_TAGS = {
17886
17886
  function TestRunStatusStat({ status, className }) {
17887
17887
  const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
17888
17888
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
17889
- tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.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: "-" }),
17889
+ tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.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: "-" }),
17890
17890
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
17891
17891
  ] });
17892
17892
  }
@@ -17930,7 +17930,7 @@ function useTestRunState(campaign) {
17930
17930
  const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
17931
17931
  const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
17932
17932
  const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
17933
- const startedLabel = showTiming && campaign.startedAt ? _chunkQHL4GYYYcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
17933
+ const startedLabel = showTiming && campaign.startedAt ? _chunk3BLN7YNMcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
17934
17934
  const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
17935
17935
  const displayRows = _react.useMemo.call(void 0,
17936
17936
  () => campaign.results.map(
@@ -17969,7 +17969,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
17969
17969
  ),
17970
17970
  children: [
17971
17971
  attachment.thumbnailSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17972
- _chunk37NYF4W2cjs.SquareAvatar,
17972
+ _chunkQRUW4UXBcjs.SquareAvatar,
17973
17973
  {
17974
17974
  src: attachment.thumbnailSrc,
17975
17975
  alt: attachment.fileName,
@@ -18062,7 +18062,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
18062
18062
  };
18063
18063
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex items-start gap-4 rounded-[6px] p-3", "border border-ods-border bg-ods-card", className), children: [
18064
18064
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18065
- _chunk37NYF4W2cjs.SquareAvatar,
18065
+ _chunkQRUW4UXBcjs.SquareAvatar,
18066
18066
  {
18067
18067
  src: note.authorAvatar,
18068
18068
  alt: note.authorName,
@@ -18238,7 +18238,7 @@ function TicketInfoSection({
18238
18238
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-card px-4 py-3 lg:grid-cols-[1fr_1fr_1fr_auto]", children: [
18239
18239
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
18240
18240
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18241
- _chunk37NYF4W2cjs.SquareAvatar,
18241
+ _chunkQRUW4UXBcjs.SquareAvatar,
18242
18242
  {
18243
18243
  src: _optionalChain([organization, 'optionalAccess', _405 => _405.imageSrc]),
18244
18244
  alt: _optionalChain([organization, 'optionalAccess', _406 => _406.name]),
@@ -18268,7 +18268,7 @@ function TicketInfoSection({
18268
18268
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _409 => _409.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _410 => _410.icon]), onClick: _optionalChain([device, 'optionalAccess', _411 => _411.onClick]) }),
18269
18269
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
18270
18270
  (status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18271
- _chunkQHL4GYYYcjs.TicketStatusTag,
18271
+ _chunk3BLN7YNMcjs.TicketStatusTag,
18272
18272
  {
18273
18273
  status: _nullishCoalesce(status, () => ( "")),
18274
18274
  label: statusLabel,
@@ -18307,9 +18307,9 @@ function TicketInfoSection({
18307
18307
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18308
18308
  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" }) }),
18309
18309
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
18310
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.SimpleMarkdownRenderer, { content: description }),
18310
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.SimpleMarkdownRenderer, { content: description }),
18311
18311
  attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
18312
- 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, _chunkQHL4GYYYcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
18312
+ 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, _chunk3BLN7YNMcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
18313
18313
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18314
18314
  TicketNotesSection,
18315
18315
  {
@@ -18332,7 +18332,7 @@ function renderTicketStatusOption(option, isSelected) {
18332
18332
  const { label, color } = option;
18333
18333
  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: [
18334
18334
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
18335
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ColorSwatch, { color }),
18335
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ColorSwatch, { color }),
18336
18336
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
18337
18337
  ] }),
18338
18338
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -18342,7 +18342,7 @@ function renderTicketAssigneeOption(option, isSelected) {
18342
18342
  const { label, imageUrl } = option;
18343
18343
  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: [
18344
18344
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
18345
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
18345
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
18346
18346
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
18347
18347
  ] }),
18348
18348
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -18377,9 +18377,9 @@ function TakeOverTicketModal({
18377
18377
  if (!selectedStatusId || !assigneeId || isPending) return;
18378
18378
  onConfirm({ statusId: selectedStatusId, assigneeId });
18379
18379
  };
18380
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Modal, { isOpen, onClose: isPending ? () => {
18380
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Modal, { isOpen, onClose: isPending ? () => {
18381
18381
  } : onClose, className: "text-left md:max-w-[600px]", children: [
18382
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalTitle, { children: "Take Over Ticket" }) }),
18382
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalTitle, { children: "Take Over Ticket" }) }),
18383
18383
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
18384
18384
  "The ticket ",
18385
18385
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -18394,7 +18394,7 @@ function TakeOverTicketModal({
18394
18394
  value: selectedStatusId,
18395
18395
  onChange: setStatusId,
18396
18396
  placeholder: "Select Status",
18397
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
18397
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
18398
18398
  renderOption: renderTicketStatusOption
18399
18399
  }
18400
18400
  ) }),
@@ -18408,7 +18408,7 @@ function TakeOverTicketModal({
18408
18408
  placeholder: "Select Technician",
18409
18409
  loading: assigneesLoading,
18410
18410
  startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18411
- _chunk37NYF4W2cjs.SquareAvatar,
18411
+ _chunkQRUW4UXBcjs.SquareAvatar,
18412
18412
  {
18413
18413
  src: selectedAssignee.imageUrl,
18414
18414
  alt: selectedAssignee.label,
@@ -18421,7 +18421,7 @@ function TakeOverTicketModal({
18421
18421
  }
18422
18422
  ) })
18423
18423
  ] }),
18424
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.ModalFooter, { children: [
18424
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.ModalFooter, { children: [
18425
18425
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
18426
18426
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
18427
18427
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18480,9 +18480,9 @@ function ReopenTicketModal({
18480
18480
  reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
18481
18481
  });
18482
18482
  };
18483
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Modal, { isOpen, onClose: isPending ? () => {
18483
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Modal, { isOpen, onClose: isPending ? () => {
18484
18484
  } : onClose, className: "text-left md:max-w-[600px]", children: [
18485
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalTitle, { children: "Reopen Ticket" }) }),
18485
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalTitle, { children: "Reopen Ticket" }) }),
18486
18486
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
18487
18487
  "The ticket ",
18488
18488
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
@@ -18497,7 +18497,7 @@ function ReopenTicketModal({
18497
18497
  value: selectedStatusId,
18498
18498
  onChange: setStatusId,
18499
18499
  placeholder: "Select Status",
18500
- startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
18500
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
18501
18501
  renderOption: renderTicketStatusOption
18502
18502
  }
18503
18503
  ) }),
@@ -18511,7 +18511,7 @@ function ReopenTicketModal({
18511
18511
  placeholder: "Select Technician",
18512
18512
  loading: assigneesLoading,
18513
18513
  startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18514
- _chunk37NYF4W2cjs.SquareAvatar,
18514
+ _chunkQRUW4UXBcjs.SquareAvatar,
18515
18515
  {
18516
18516
  src: selectedAssignee.imageUrl,
18517
18517
  alt: selectedAssignee.label,
@@ -18535,7 +18535,7 @@ function ReopenTicketModal({
18535
18535
  disabled: isPending
18536
18536
  }
18537
18537
  ) }),
18538
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.ModalFooter, { children: [
18538
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.ModalFooter, { children: [
18539
18539
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
18540
18540
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
18541
18541
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18583,9 +18583,9 @@ function ReopenTicketRequestModal({
18583
18583
  ...showHandoffOption ? { handoffToTechnician: handoff } : {}
18584
18584
  });
18585
18585
  };
18586
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Modal, { isOpen, onClose: isPending ? () => {
18586
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Modal, { isOpen, onClose: isPending ? () => {
18587
18587
  } : onClose, className: "text-left md:max-w-[600px]", children: [
18588
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ModalTitle, { children: "Reopen Ticket" }) }),
18588
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ModalTitle, { children: "Reopen Ticket" }) }),
18589
18589
  /* @__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." }),
18590
18590
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18591
18591
  Textarea,
@@ -18609,7 +18609,7 @@ function ReopenTicketRequestModal({
18609
18609
  disabled: isPending
18610
18610
  }
18611
18611
  ),
18612
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.ModalFooter, { children: [
18612
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.ModalFooter, { children: [
18613
18613
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
18614
18614
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
18615
18615
  ] })
@@ -20022,7 +20022,7 @@ function SsoJoinForm({
20022
20022
  ] }),
20023
20023
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-s)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-m)]", children: [
20024
20024
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20025
- _chunk37NYF4W2cjs.SquareAvatar,
20025
+ _chunkQRUW4UXBcjs.SquareAvatar,
20026
20026
  {
20027
20027
  size: "lg",
20028
20028
  variant: "round",
@@ -20036,7 +20036,7 @@ function SsoJoinForm({
20036
20036
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: displayName }),
20037
20037
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: organizationName })
20038
20038
  ] }),
20039
- roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Tag, { variant: "grey", label: role }, role)) })
20039
+ roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Tag, { variant: "grey", label: role }, role)) })
20040
20040
  ] }),
20041
20041
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20042
20042
  CheckboxBlock,
@@ -20280,7 +20280,7 @@ function ChangelogManager({
20280
20280
  ),
20281
20281
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: hasContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h6", children: entry.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "italic text-ods-text-secondary text-h6", children: "New entry (click to edit)" }) }),
20282
20282
  tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20283
- _chunk37NYF4W2cjs.StatusBadge,
20283
+ _chunkQRUW4UXBcjs.StatusBadge,
20284
20284
  {
20285
20285
  variant: "button",
20286
20286
  singleLine: true,
@@ -20543,7 +20543,7 @@ function EntityTagBadges({ tags, basePath, max, className }) {
20543
20543
  const label = (tag.name || "").toUpperCase();
20544
20544
  if (basePath && tag.slug) {
20545
20545
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20546
- _chunk37NYF4W2cjs.StatusBadge,
20546
+ _chunkQRUW4UXBcjs.StatusBadge,
20547
20547
  {
20548
20548
  text: label,
20549
20549
  variant: "card",
@@ -20551,9 +20551,9 @@ function EntityTagBadges({ tags, basePath, max, className }) {
20551
20551
  }
20552
20552
  ) }, key);
20553
20553
  }
20554
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
20554
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
20555
20555
  }),
20556
- overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
20556
+ overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: `+${overflow2}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
20557
20557
  ] });
20558
20558
  }
20559
20559
 
@@ -20640,7 +20640,7 @@ var SectionButton = ({
20640
20640
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
20641
20641
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClasses, "whitespace-nowrap text-h4 lg:whitespace-normal lg:break-words"), children: section.title }),
20642
20642
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20643
- _chunk37NYF4W2cjs.StatusBadge,
20643
+ _chunkQRUW4UXBcjs.StatusBadge,
20644
20644
  {
20645
20645
  text: section.badge.text,
20646
20646
  variant: section.badge.variant || "button",
@@ -20659,7 +20659,7 @@ var SectionButton = ({
20659
20659
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
20660
20660
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
20661
20661
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20662
- _chunk37NYF4W2cjs.StatusBadge,
20662
+ _chunkQRUW4UXBcjs.StatusBadge,
20663
20663
  {
20664
20664
  text: section.badge.text,
20665
20665
  variant: section.badge.variant || "button",
@@ -20973,7 +20973,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
20973
20973
  sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
20974
20974
  title: config.title,
20975
20975
  loading: "eager",
20976
- ..._chunkQHL4GYYYcjs.fetchPriorityProp.call(void 0, "high")
20976
+ ..._chunk3BLN7YNMcjs.fetchPriorityProp.call(void 0, "high")
20977
20977
  },
20978
20978
  iframeKey
20979
20979
  ),
@@ -21801,7 +21801,7 @@ function MediaGalleryManager({
21801
21801
  (mediaItem, index) => {
21802
21802
  const isDeleting = deletingIndex === index;
21803
21803
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21804
- _chunk37NYF4W2cjs.Card,
21804
+ _chunkQRUW4UXBcjs.Card,
21805
21805
  {
21806
21806
  className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
21807
21807
  draggable: true,
@@ -21822,10 +21822,10 @@ function MediaGalleryManager({
21822
21822
  children: isDeleting ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin text-ods-text-on-dark" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-on-dark" })
21823
21823
  }
21824
21824
  ) }),
21825
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunk37NYF4W2cjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
21825
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkQRUW4UXBcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
21826
21826
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
21827
21827
  // fit="cover" crops to the aspect-video cell.
21828
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
21828
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
21829
21829
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21830
21830
  _chunkWLSFBRT5cjs.next_image_default,
21831
21831
  {
@@ -21838,7 +21838,7 @@ function MediaGalleryManager({
21838
21838
  ) }),
21839
21839
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "p-3", children: [
21840
21840
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex items-center gap-2", children: [
21841
- _chunk37NYF4W2cjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Image, { className: "h-4 w-4 text-ods-text-secondary" }),
21841
+ _chunkQRUW4UXBcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Image, { className: "h-4 w-4 text-ods-text-secondary" }),
21842
21842
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "capitalize text-ods-text-primary text-h6", children: mediaItem.media_type })
21843
21843
  ] }),
21844
21844
  mediaItem.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: mediaItem.title })
@@ -24076,9 +24076,9 @@ function PushButtonSelector({
24076
24076
  option.id
24077
24077
  );
24078
24078
  if (option.disabled && option.disabledReason) {
24079
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Tooltip, { children: [
24080
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipTrigger, { asChild: true, children: optionEl }),
24081
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
24079
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Tooltip, { children: [
24080
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipTrigger, { asChild: true, children: optionEl }),
24081
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
24082
24082
  ] }, option.id);
24083
24083
  }
24084
24084
  return optionEl;
@@ -24123,7 +24123,7 @@ function PushButtonSelector({
24123
24123
  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
24124
24124
  ] }) : null
24125
24125
  ] });
24126
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
24126
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
24127
24127
  title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
24128
24128
  searchInput,
24129
24129
  lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -24293,10 +24293,10 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
24293
24293
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-on-dark" })
24294
24294
  }
24295
24295
  ) }),
24296
- item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunk37NYF4W2cjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
24296
+ item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkQRUW4UXBcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
24297
24297
  // <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
24298
24298
  // fit="cover" crops to the aspect-video cell.
24299
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
24299
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
24300
24300
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24301
24301
  _chunkWLSFBRT5cjs.next_image_default,
24302
24302
  {
@@ -24429,7 +24429,7 @@ var SelectButton = _react2.default.forwardRef(
24429
24429
  }
24430
24430
  )
24431
24431
  ] }),
24432
- tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
24432
+ tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
24433
24433
  selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
24434
24434
  ]
24435
24435
  }
@@ -25017,7 +25017,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
25017
25017
  className: _chunkX7CEWD6Vcjs.cn.call(void 0, modeClassName, className),
25018
25018
  style: customStyle,
25019
25019
  leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63QUMV72cjs.OpenFrameLogo, { className: "h-5 w-5", lowerPathColor: iconLowerPath, upperPathColor: iconUpperPath }) : void 0,
25020
- rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
25020
+ rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
25021
25021
  children
25022
25022
  }
25023
25023
  );
@@ -25287,11 +25287,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
25287
25287
 
25288
25288
  function VideoBitesDisplay({
25289
25289
  bites,
25290
- title = _chunk37NYF4W2cjs.DEFAULT_VIDEO_BITES_TITLE,
25290
+ title = _chunkQRUW4UXBcjs.DEFAULT_VIDEO_BITES_TITLE,
25291
25291
  filterPublished = true,
25292
25292
  showTitle = true
25293
25293
  }) {
25294
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
25294
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
25295
25295
  }
25296
25296
 
25297
25297
  // src/components/features/walkthrough-video.tsx
@@ -25360,7 +25360,7 @@ function WalkthroughVideo({
25360
25360
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
25361
25361
  };
25362
25362
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
25363
- const hydrated = _chunkQHL4GYYYcjs.useIsHydrated.call(void 0, );
25363
+ const hydrated = _chunk3BLN7YNMcjs.useIsHydrated.call(void 0, );
25364
25364
  const previewSuppressed = _react.useMemo.call(void 0, () => {
25365
25365
  if (!hydrated) return false;
25366
25366
  try {
@@ -25757,7 +25757,7 @@ function WalkthroughVideo({
25757
25757
  },
25758
25758
  children: [
25759
25759
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25760
- _chunkQHL4GYYYcjs.VideoHoverPreviewSurface,
25760
+ _chunk3BLN7YNMcjs.VideoHoverPreviewSurface,
25761
25761
  {
25762
25762
  url: video.mainVideoUrl || "",
25763
25763
  posterUrl: video.posterUrl,
@@ -25780,7 +25780,7 @@ function WalkthroughVideo({
25780
25780
  `card-${embedUrlKey}`
25781
25781
  ) }),
25782
25782
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25783
- _chunkQHL4GYYYcjs.CardHitLayer,
25783
+ _chunk3BLN7YNMcjs.CardHitLayer,
25784
25784
  {
25785
25785
  label: video.title ? `${label}: ${video.title}` : label,
25786
25786
  onPointerDown: pausePreviewNow,
@@ -25789,7 +25789,7 @@ function WalkthroughVideo({
25789
25789
  }
25790
25790
  ),
25791
25791
  /* @__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: [
25792
- presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
25792
+ presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
25793
25793
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
25794
25794
  ] }),
25795
25795
  showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -25802,7 +25802,7 @@ function WalkthroughVideo({
25802
25802
  onPointerDown: (e) => e.stopPropagation(),
25803
25803
  onClick: onUnmuteOrPlay,
25804
25804
  className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
25805
- children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.VideoUnmuteGlyph, {})
25805
+ children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.VideoUnmuteGlyph, {})
25806
25806
  }
25807
25807
  ),
25808
25808
  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: [
@@ -25895,7 +25895,7 @@ function WalkthroughVideo({
25895
25895
  children: [
25896
25896
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
25897
25897
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25898
- _chunkQHL4GYYYcjs.Video,
25898
+ _chunk3BLN7YNMcjs.Video,
25899
25899
  {
25900
25900
  kind: video.youtubeUrl ? "youtube" : "file",
25901
25901
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -25946,7 +25946,7 @@ function InlineWalkthroughVideo(props) {
25946
25946
  var _reactquery = require('@tanstack/react-query');
25947
25947
  function useWalkthroughVideo(opts) {
25948
25948
  const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
25949
- const captions = _chunkQHL4GYYYcjs.useCaptions.call(void 0, );
25949
+ const captions = _chunk3BLN7YNMcjs.useCaptions.call(void 0, );
25950
25950
  const query = _reactquery.useQuery.call(void 0, {
25951
25951
  queryKey: ["walkthrough-video", endpoint],
25952
25952
  enabled,
@@ -26144,7 +26144,7 @@ function VideoSourceSelector({
26144
26144
  }
26145
26145
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
26146
26146
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
26147
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Video, { kind: "file", url: videoUrl }) }),
26147
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Video, { kind: "file", url: videoUrl }) }),
26148
26148
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26149
26149
  "button",
26150
26150
  {
@@ -26668,7 +26668,7 @@ function HighlightVideoSection({
26668
26668
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
26669
26669
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
26670
26670
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
26671
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
26671
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
26672
26672
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26673
26673
  "button",
26674
26674
  {
@@ -27408,7 +27408,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
27408
27408
  ] });
27409
27409
  };
27410
27410
  var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
27411
- const { innerRef, containerStyle } = _chunkQHL4GYYYcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
27411
+ const { innerRef, containerStyle } = _chunk3BLN7YNMcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
27412
27412
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
27413
27413
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
27414
27414
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -27576,7 +27576,7 @@ function WaitlistForm({
27576
27576
  const { toast } = _chunkYNGAJGYBcjs.useToast.call(void 0, );
27577
27577
  const { honeypotInputProps, getSignals, resetSignals } = _chunkYNGAJGYBcjs.useHumanitySignals.call(void 0, );
27578
27578
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
27579
- const isClient = _chunkQHL4GYYYcjs.useIsHydrated.call(void 0, );
27579
+ const isClient = _chunk3BLN7YNMcjs.useIsHydrated.call(void 0, );
27580
27580
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
27581
27581
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
27582
27582
  const isMailDomainGeneric = hasGenericEmailDomain(email);
@@ -28356,7 +28356,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
28356
28356
  "data-state": open ? "open" : "closed",
28357
28357
  className: _chunkX7CEWD6Vcjs.cn.call(void 0,
28358
28358
  "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",
28359
- _chunkQHL4GYYYcjs.OVERLAY_BACKDROP_CLASS,
28359
+ _chunk3BLN7YNMcjs.OVERLAY_BACKDROP_CLASS,
28360
28360
  // Persist mode only: hold the fade-out's final (transparent) frame
28361
28361
  // so the backdrop doesn't snap back to opacity 1 and dim the whole
28362
28362
  // content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
@@ -28432,11 +28432,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
28432
28432
  }
28433
28433
  );
28434
28434
  AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
28435
- var AppLayoutDrawerHeader = _chunkQHL4GYYYcjs.DrawerHeader;
28436
- var AppLayoutDrawerTitle = _chunkQHL4GYYYcjs.DrawerTitle;
28437
- var AppLayoutDrawerDescription = _chunkQHL4GYYYcjs.DrawerDescription;
28438
- var AppLayoutDrawerBody = _chunkQHL4GYYYcjs.DrawerBody;
28439
- var AppLayoutDrawerFooter = _chunkQHL4GYYYcjs.DrawerFooter;
28435
+ var AppLayoutDrawerHeader = _chunk3BLN7YNMcjs.DrawerHeader;
28436
+ var AppLayoutDrawerTitle = _chunk3BLN7YNMcjs.DrawerTitle;
28437
+ var AppLayoutDrawerDescription = _chunk3BLN7YNMcjs.DrawerDescription;
28438
+ var AppLayoutDrawerBody = _chunk3BLN7YNMcjs.DrawerBody;
28439
+ var AppLayoutDrawerFooter = _chunk3BLN7YNMcjs.DrawerFooter;
28440
28440
 
28441
28441
  // src/components/features/notifications/notification-tile.tsx
28442
28442
 
@@ -28525,7 +28525,7 @@ function NotificationTile({
28525
28525
  }
28526
28526
  ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkYNGAJGYBcjs.dotColorByVariant[accentVariant]) }))) }),
28527
28527
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.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" }),
28528
- !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkQHL4GYYYcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
28528
+ !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunk3BLN7YNMcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
28529
28529
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
28530
28530
  {
28531
28531
  active: isLive,
@@ -28632,7 +28632,7 @@ function NotificationDrawer({
28632
28632
  const unreadNotifications = notifications.filter((n) => !n.read);
28633
28633
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
28634
28634
  /* @__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,
28635
- _chunkQHL4GYYYcjs.DrawerTitle,
28635
+ _chunk3BLN7YNMcjs.DrawerTitle,
28636
28636
  {
28637
28637
  hideClose: true,
28638
28638
  className: "truncate",
@@ -28691,8 +28691,8 @@ function NotificationDrawer({
28691
28691
  }
28692
28692
  ) });
28693
28693
  }
28694
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28695
- _chunkQHL4GYYYcjs.DrawerContent,
28694
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28695
+ _chunk3BLN7YNMcjs.DrawerContent,
28696
28696
  {
28697
28697
  side: "right",
28698
28698
  "aria-describedby": void 0,
@@ -28975,13 +28975,13 @@ function getApprovalMeta(notification) {
28975
28975
  function resolutionToStatus(resolution) {
28976
28976
  switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
28977
28977
  case "APPROVED":
28978
- return _chunkQHL4GYYYcjs.APPROVAL_STATUS.APPROVED;
28978
+ return _chunk3BLN7YNMcjs.APPROVAL_STATUS.APPROVED;
28979
28979
  case "REJECTED":
28980
- return _chunkQHL4GYYYcjs.APPROVAL_STATUS.REJECTED;
28980
+ return _chunk3BLN7YNMcjs.APPROVAL_STATUS.REJECTED;
28981
28981
  case "CANCELLED":
28982
- return _chunkQHL4GYYYcjs.APPROVAL_STATUS.CANCELLED;
28982
+ return _chunk3BLN7YNMcjs.APPROVAL_STATUS.CANCELLED;
28983
28983
  default:
28984
- return _chunkQHL4GYYYcjs.APPROVAL_STATUS.PENDING;
28984
+ return _chunk3BLN7YNMcjs.APPROVAL_STATUS.PENDING;
28985
28985
  }
28986
28986
  }
28987
28987
  function approvalMetaToBatchData(approval) {
@@ -29022,7 +29022,7 @@ function ApprovalRequestNotificationTile({
29022
29022
  const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _616 => _616.resolution]));
29023
29023
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
29024
29024
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
29025
- const { innerRef, containerStyle } = _chunkQHL4GYYYcjs.useCollapsible.call(void 0, { expanded });
29025
+ const { innerRef, containerStyle } = _chunk3BLN7YNMcjs.useCollapsible.call(void 0, { expanded });
29026
29026
  if (!approval || !batchData) return null;
29027
29027
  const tileNotification = {
29028
29028
  ...notification,
@@ -29076,7 +29076,7 @@ function ApprovalRequestNotificationTile({
29076
29076
  }
29077
29077
  )
29078
29078
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
29079
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ApprovalStatusTag, { status }),
29079
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ApprovalStatusTag, { status }),
29080
29080
  approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
29081
29081
  "by ",
29082
29082
  approval.resolvedByName
@@ -29094,12 +29094,12 @@ function ApprovalRequestNotificationTile({
29094
29094
  "aria-expanded": expanded,
29095
29095
  "aria-label": toggleLabel,
29096
29096
  className: "ml-auto w-6 shrink-0 px-0 md:w-8",
29097
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.ExpandChevron, { expanded })
29097
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.ExpandChevron, { expanded })
29098
29098
  }
29099
29099
  )
29100
29100
  ] }),
29101
29101
  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,
29102
- _chunkQHL4GYYYcjs.ApprovalBatchMessage,
29102
+ _chunk3BLN7YNMcjs.ApprovalBatchMessage,
29103
29103
  {
29104
29104
  data: batchData,
29105
29105
  showExecutionStatus: false,
@@ -29172,7 +29172,7 @@ function renderCustomerOption(option, isSelected) {
29172
29172
  const { label, imageUrl } = option;
29173
29173
  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: [
29174
29174
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
29175
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
29175
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
29176
29176
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
29177
29177
  ] }),
29178
29178
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
@@ -29256,7 +29256,7 @@ function TimeTrackerPanel({
29256
29256
  }));
29257
29257
  const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
29258
29258
  const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29259
- _chunk37NYF4W2cjs.SquareAvatar,
29259
+ _chunkQRUW4UXBcjs.SquareAvatar,
29260
29260
  {
29261
29261
  src: selectedCustomer.imageUrl,
29262
29262
  alt: selectedCustomer.label,
@@ -29435,7 +29435,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
29435
29435
  function StatusTag({ status }) {
29436
29436
  if (status === "tracking") {
29437
29437
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29438
- _chunkQHL4GYYYcjs.Tag,
29438
+ _chunk3BLN7YNMcjs.Tag,
29439
29439
  {
29440
29440
  variant: "success",
29441
29441
  className: STATUS_TAG_SKIN,
@@ -29445,9 +29445,9 @@ function StatusTag({ status }) {
29445
29445
  );
29446
29446
  }
29447
29447
  if (status === "paused") {
29448
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
29448
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
29449
29449
  }
29450
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
29450
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
29451
29451
  }
29452
29452
  function LastEntryRow({ entry, onClick }) {
29453
29453
  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: [
@@ -29616,7 +29616,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
29616
29616
  "data-state": isOpen ? "open" : "closed",
29617
29617
  className: _chunkX7CEWD6Vcjs.cn.call(void 0,
29618
29618
  layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
29619
- _chunkQHL4GYYYcjs.OVERLAY_BACKDROP_CLASS,
29619
+ _chunk3BLN7YNMcjs.OVERLAY_BACKDROP_CLASS,
29620
29620
  "data-[state=open]:animate-in data-[state=open]:fade-in-0",
29621
29621
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
29622
29622
  )
@@ -29770,7 +29770,7 @@ function BoardColumnHeader({
29770
29770
  }) {
29771
29771
  const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
29772
29772
  const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
29773
- const useStatusVariant = _chunkQHL4GYYYcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
29773
+ const useStatusVariant = _chunk3BLN7YNMcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
29774
29774
  const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
29775
29775
  if (collapsed) {
29776
29776
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
@@ -29786,7 +29786,7 @@ function BoardColumnHeader({
29786
29786
  }
29787
29787
  ),
29788
29788
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29789
- _chunkQHL4GYYYcjs.TicketStatusTag,
29789
+ _chunk3BLN7YNMcjs.TicketStatusTag,
29790
29790
  {
29791
29791
  status: tagStatus,
29792
29792
  label: column.label,
@@ -29799,7 +29799,7 @@ function BoardColumnHeader({
29799
29799
  }
29800
29800
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
29801
29801
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
29802
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
29802
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
29803
29803
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
29804
29804
  ] }),
29805
29805
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -29951,7 +29951,7 @@ function holdMoveDragEffect(element) {
29951
29951
 
29952
29952
  function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
29953
29953
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
29954
- const { innerRef, containerStyle } = _chunkQHL4GYYYcjs.useCollapsible.call(void 0, { expanded });
29954
+ const { innerRef, containerStyle } = _chunk3BLN7YNMcjs.useCollapsible.call(void 0, { expanded });
29955
29955
  const isAdmin = pendingApproval.approvalType === "ADMIN";
29956
29956
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
29957
29957
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -29980,7 +29980,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
29980
29980
  }
29981
29981
  ),
29982
29982
  /* @__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,
29983
- _chunkQHL4GYYYcjs.ApprovalBatchMessage,
29983
+ _chunk3BLN7YNMcjs.ApprovalBatchMessage,
29984
29984
  {
29985
29985
  className: "mb-0",
29986
29986
  data: {
@@ -30060,7 +30060,7 @@ function TicketCardBody({
30060
30060
  onLinkClick
30061
30061
  }) {
30062
30062
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
30063
- const newMessageTextColor = columnColor ? _chunkQHL4GYYYcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
30063
+ const newMessageTextColor = columnColor ? _chunk3BLN7YNMcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
30064
30064
  const showDeviceRow = !!(_optionalChain([ticket, 'access', _652 => _652.deviceHostnames, 'optionalAccess', _653 => _653.length]) || ticket.organizationName);
30065
30065
  const deviceText = [_optionalChain([ticket, 'access', _654 => _654.deviceHostnames, 'optionalAccess', _655 => _655.join, 'call', _656 => _656(", ")]), ticket.organizationName].filter(Boolean).join(", ");
30066
30066
  const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _657 => _657.assignees, 'optionalAccess', _658 => _658.length]) || renderAssignSlot);
@@ -30082,7 +30082,7 @@ function TicketCardBody({
30082
30082
  },
30083
30083
  a.id
30084
30084
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30085
- _chunk37NYF4W2cjs.SquareAvatar,
30085
+ _chunkQRUW4UXBcjs.SquareAvatar,
30086
30086
  {
30087
30087
  src: a.avatarUrl,
30088
30088
  alt: _nullishCoalesce(_nullishCoalesce(a.name, () => ( a.initials)), () => ( a.id)),
@@ -30099,8 +30099,8 @@ function TicketCardBody({
30099
30099
  ] })
30100
30100
  ] }) : null
30101
30101
  ] }) : null;
30102
- const timestampLabel = ticket.createdAt ? _chunkQHL4GYYYcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
30103
- const tooltipLabel = ticket.createdAt ? _chunkQHL4GYYYcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
30102
+ const timestampLabel = ticket.createdAt ? _chunk3BLN7YNMcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
30103
+ const tooltipLabel = ticket.createdAt ? _chunk3BLN7YNMcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
30104
30104
  const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
30105
30105
  const metaClass = "truncate text-ods-text-secondary text-h6";
30106
30106
  const meta = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -30127,9 +30127,9 @@ function TicketCardBody({
30127
30127
  rightSection
30128
30128
  ] }),
30129
30129
  _optionalChain([ticket, 'access', _661 => _661.tags, 'optionalAccess', _662 => _662.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
30130
- metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQHL4GYYYcjs.Tooltip, { children: [
30131
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipTrigger, { asChild: true, children: meta }),
30132
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.TooltipContent, { children: tooltipLabel })
30130
+ metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BLN7YNMcjs.Tooltip, { children: [
30131
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipTrigger, { asChild: true, children: meta }),
30132
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.TooltipContent, { children: tooltipLabel })
30133
30133
  ] }) }) : meta),
30134
30134
  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: [
30135
30135
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
@@ -30149,7 +30149,7 @@ function TicketCardBody({
30149
30149
  }
30150
30150
  ),
30151
30151
  showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30152
- _chunkQHL4GYYYcjs.Tag,
30152
+ _chunk3BLN7YNMcjs.Tag,
30153
30153
  {
30154
30154
  label: "New Message",
30155
30155
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
@@ -30369,8 +30369,8 @@ function TicketTagRow({ tags }) {
30369
30369
  const visible = tags.slice(0, MAX_VISIBLE_TAGS);
30370
30370
  const hidden = tags.length - visible.length;
30371
30371
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
30372
- visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Tag, { variant: "outline", label: tag }, tag)),
30373
- hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQHL4GYYYcjs.Tag, { variant: "outline", label: `+${hidden}` })
30372
+ visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Tag, { variant: "outline", label: tag }, tag)),
30373
+ hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BLN7YNMcjs.Tag, { variant: "outline", label: `+${hidden}` })
30374
30374
  ] });
30375
30375
  }
30376
30376
 
@@ -32071,4 +32071,4 @@ function SortableRow({
32071
32071
 
32072
32072
 
32073
32073
  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.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.normalizeSchedulingSlug = normalizeSchedulingSlug; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.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.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.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.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.IconTile = IconTile;
32074
- //# sourceMappingURL=chunk-6W4LUHMY.cjs.map
32074
+ //# sourceMappingURL=chunk-Q4SJJNP2.cjs.map