@flamingo-stack/openframe-frontend-core 0.0.770 → 0.0.772

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 (168) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-C66DWLCR.cjs → chunk-2MAENZL3.cjs} +37 -37
  3. package/dist/{chunk-2MND64QJ.cjs → chunk-5HBGBLJT.cjs} +50 -63
  4. package/dist/{chunk-4EJU462O.cjs → chunk-5V7BIUGA.cjs} +2 -2
  5. package/dist/{chunk-HK6UQVOI.cjs → chunk-7FYOVKQD.cjs} +12 -12
  6. package/dist/{chunk-MYA6NR2C.cjs → chunk-CTRJNTYU.cjs} +2 -2
  7. package/dist/{chunk-S5EUREOB.cjs → chunk-E25TJPWV.cjs} +3 -3
  8. package/dist/{chunk-HQF62LAU.cjs → chunk-FPCGKH5K.cjs} +28 -28
  9. package/dist/{chunk-VATCQOVC.cjs → chunk-FT5NPAZY.cjs} +17 -17
  10. package/dist/{chunk-I2TSCJT2.cjs → chunk-HFNWBNLE.cjs} +4 -4
  11. package/dist/{chunk-MFRIFVDV.cjs → chunk-IHCHU355.cjs} +41 -41
  12. package/dist/{chunk-NZELWPKO.cjs → chunk-ILZEXCJH.cjs} +98 -98
  13. package/dist/{chunk-DCBZMWLY.cjs → chunk-J5ZNEAGY.cjs} +24 -24
  14. package/dist/{chunk-BLTNKLAX.cjs → chunk-JJNOAYD4.cjs} +4 -4
  15. package/dist/{chunk-QS4G7CHU.cjs → chunk-KSCEAIBS.cjs} +2 -2
  16. package/dist/{chunk-Q575DR36.cjs → chunk-QOEOY7BJ.cjs} +33 -33
  17. package/dist/{chunk-SL7KFZWJ.cjs → chunk-QPK2433W.cjs} +24 -24
  18. package/dist/{chunk-VL44GB2I.cjs → chunk-REFL3YNE.cjs} +13 -13
  19. package/dist/{chunk-37XVY2RE.cjs → chunk-S3NEBAKD.cjs} +6 -6
  20. package/dist/{chunk-TBKXXMBU.cjs → chunk-UR3I3J5K.cjs} +90 -86
  21. package/dist/{chunk-MZLWB5AH.cjs → chunk-V3W56L2D.cjs} +18 -9
  22. package/dist/{chunk-4BRO3RZ6.cjs → chunk-VZAOLKKF.cjs} +72 -80
  23. package/dist/{chunk-QMUKTHWM.cjs → chunk-W5LX7DFB.cjs} +3 -3
  24. package/dist/{chunk-ZVNL5OK6.cjs → chunk-X5Z4HRH7.cjs} +2 -2
  25. package/dist/{chunk-WUYL4BMD.cjs → chunk-YI3CDGKM.cjs} +70 -70
  26. package/dist/{chunk-BZLHU4EK.cjs → chunk-ZVKJKWAB.cjs} +713 -695
  27. package/dist/{chunk-QSLKTDZ4.cjs → chunk-ZYGC2A7G.cjs} +4 -4
  28. package/dist/{cloud-tenants-IAZQL2JF.cjs → cloud-tenants-CUNC5KBD.cjs} +8 -8
  29. package/dist/components/case-studies/index.cjs +32 -30
  30. package/dist/components/case-studies/quote-cards-strip.d.ts +7 -2
  31. package/dist/components/case-studies/quote-cards-strip.d.ts.map +1 -1
  32. package/dist/components/case-studies/quote-cards-strip.js +7 -5
  33. package/dist/components/categories-cart.d.ts +9 -2
  34. package/dist/components/categories-cart.d.ts.map +1 -1
  35. package/dist/components/categories-cart.js +9 -4
  36. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts +5 -1
  37. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts.map +1 -1
  38. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
  39. package/dist/components/chat/entity-cards/program-card.js +2 -2
  40. package/dist/components/chat/index.cjs +5 -5
  41. package/dist/components/contact/index.cjs +9 -9
  42. package/dist/components/docs/index.cjs +12 -12
  43. package/dist/components/embeds/index.cjs +9 -9
  44. package/dist/components/faq/faq-section.d.ts +7 -4
  45. package/dist/components/faq/faq-section.d.ts.map +1 -1
  46. package/dist/components/faq/index.cjs +10 -10
  47. package/dist/components/faq-accordion.d.ts +2 -4
  48. package/dist/components/faq-accordion.d.ts.map +1 -1
  49. package/dist/components/features/capability-explorer.d.ts +8 -2
  50. package/dist/components/features/capability-explorer.d.ts.map +1 -1
  51. package/dist/components/features/capability-explorer.js +7 -3
  52. package/dist/components/features/cards-strip.d.ts +2 -2
  53. package/dist/components/features/index.cjs +8 -8
  54. package/dist/components/features/model-token-rates.js +2 -2
  55. package/dist/components/features/remote-session/remote-desktop-chat-panel.js +2 -2
  56. package/dist/components/help-center-pages/index.cjs +94 -103
  57. package/dist/components/help-center-pages/trust-center-page.d.ts +1 -1
  58. package/dist/components/help-center-pages/trust-center-sections.d.ts +7 -4
  59. package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
  60. package/dist/components/help-center-pages/trust-center-sections.js +5 -14
  61. package/dist/components/index.cjs +66 -61
  62. package/dist/components/logs-list.d.ts.map +1 -1
  63. package/dist/components/logs-list.js +3 -2
  64. package/dist/components/meeting-scheduler/index.cjs +47 -47
  65. package/dist/components/navigation/index.cjs +11 -11
  66. package/dist/components/navigation/multi-level-navigation.d.ts +6 -7
  67. package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
  68. package/dist/components/onboarding-guides/index.cjs +11 -11
  69. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +5 -5
  70. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -1
  71. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.js +3 -3
  72. package/dist/components/product-demo/index.cjs +18 -18
  73. package/dist/components/related-content/index.cjs +5 -5
  74. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  75. package/dist/components/related-content/related-content-section.js +4 -17
  76. package/dist/components/shared/dev-section/dev-card-row.d.ts +3 -3
  77. package/dist/components/shared/dev-section/dev-card-row.d.ts.map +1 -1
  78. package/dist/components/shared/product-release/release-detail-page.js +2 -2
  79. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +6 -1
  80. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -1
  81. package/dist/components/shared/roadmap/roadmap-grid-skeleton.js +3 -1
  82. package/dist/components/shared/roadmap/roadmap-grid.d.ts +10 -3
  83. package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -1
  84. package/dist/components/shared/roadmap/roadmap-grid.js +6 -3
  85. package/dist/components/tickets/help-center-list.js +4 -4
  86. package/dist/components/tickets/hooks/use-tickets-list.d.ts +2 -0
  87. package/dist/components/tickets/hooks/use-tickets-list.d.ts.map +1 -1
  88. package/dist/components/tickets/hooks/use-tickets-list.js +3 -2
  89. package/dist/components/tickets/index.cjs +14 -14
  90. package/dist/components/tickets/ticket-center.d.ts.map +1 -1
  91. package/dist/components/tickets/ticket-center.js +3 -9
  92. package/dist/components/ui/autocomplete.d.ts +5 -0
  93. package/dist/components/ui/autocomplete.d.ts.map +1 -1
  94. package/dist/components/ui/autocomplete.js +3 -2
  95. package/dist/components/ui/data-table/data-table-body.d.ts +5 -2
  96. package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
  97. package/dist/components/ui/data-table/data-table-body.js +3 -1
  98. package/dist/components/ui/data-table/data-table-infinite-footer.d.ts +5 -2
  99. package/dist/components/ui/data-table/data-table-infinite-footer.d.ts.map +1 -1
  100. package/dist/components/ui/data-table/data-table-infinite-footer.js +5 -2
  101. package/dist/components/ui/data-table/utils.d.ts +21 -0
  102. package/dist/components/ui/data-table/utils.d.ts.map +1 -1
  103. package/dist/components/ui/data-table/utils.js +7 -0
  104. package/dist/components/ui/index.cjs +8 -8
  105. package/dist/components/ui/search-input.d.ts +3 -1
  106. package/dist/components/ui/search-input.d.ts.map +1 -1
  107. package/dist/components/ui/search-input.js +3 -2
  108. package/dist/components/ui/searchable-select.d.ts +2 -0
  109. package/dist/components/ui/searchable-select.d.ts.map +1 -1
  110. package/dist/components/ui/searchable-select.js +10 -6
  111. package/dist/components/ui/select.d.ts +11 -1
  112. package/dist/components/ui/select.d.ts.map +1 -1
  113. package/dist/components/ui/select.js +13 -5
  114. package/dist/components/ui/table/table-skeleton.d.ts +2 -2
  115. package/dist/components/ui/table/table.d.ts +1 -1
  116. package/dist/components/ui/table/table.d.ts.map +1 -1
  117. package/dist/components/ui/table/table.js +2 -1
  118. package/dist/components/ui/table/types.d.ts +1 -0
  119. package/dist/components/ui/table/types.d.ts.map +1 -1
  120. package/dist/{devices-7FDK2CGV.cjs → devices-TO4VUO7F.cjs} +9 -9
  121. package/dist/{embeddable-chat-3FR2RCHM.cjs → embeddable-chat-CEAP424I.cjs} +73 -73
  122. package/dist/index.cjs +15 -14
  123. package/dist/{knowledge-ZLHYBG4L.cjs → knowledge-CYJP4XYY.cjs} +9 -9
  124. package/dist/{logs-G6AFN7A6.cjs → logs-NL3ZBQKC.cjs} +16 -16
  125. package/dist/{policies-SEOK4IQO.cjs → policies-WTUV4EIT.cjs} +12 -12
  126. package/dist/{remote-session-WVORQV7V.cjs → remote-session-TC3BZDBZ.cjs} +4 -4
  127. package/dist/{scripts-HH4YVUBO.cjs → scripts-EE6MLBQP.cjs} +15 -15
  128. package/dist/{software-update-4A3XJZQB.cjs → software-update-HX6PN4SB.cjs} +12 -12
  129. package/dist/types/category.d.ts +5 -0
  130. package/dist/types/category.d.ts.map +1 -1
  131. package/dist/types/logs.types.d.ts +2 -0
  132. package/dist/types/logs.types.d.ts.map +1 -1
  133. package/package.json +1 -1
  134. package/src/components/case-studies/quote-cards-strip.tsx +16 -7
  135. package/src/components/categories-cart.tsx +16 -5
  136. package/src/components/chat/entity-cards/admin-content-card-grid.tsx +5 -1
  137. package/src/components/chat/entity-cards/program-card.tsx +6 -3
  138. package/src/components/faq/faq-section.tsx +7 -4
  139. package/src/components/faq-accordion.tsx +2 -4
  140. package/src/components/features/capability-explorer.tsx +16 -4
  141. package/src/components/features/cards-strip.tsx +3 -3
  142. package/src/components/features/model-token-rates.tsx +4 -4
  143. package/src/components/features/remote-session/remote-desktop-chat-panel.tsx +4 -4
  144. package/src/components/help-center-pages/trust-center-page.tsx +1 -1
  145. package/src/components/help-center-pages/trust-center-sections.tsx +15 -22
  146. package/src/components/logs-list.tsx +6 -5
  147. package/src/components/navigation/multi-level-navigation.tsx +6 -7
  148. package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +6 -6
  149. package/src/components/related-content/related-content-section.tsx +6 -27
  150. package/src/components/shared/dev-section/dev-card-row.tsx +3 -3
  151. package/src/components/shared/product-release/release-detail-page.tsx +2 -2
  152. package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +8 -2
  153. package/src/components/shared/roadmap/roadmap-grid.tsx +14 -4
  154. package/src/components/tickets/help-center-list.tsx +4 -4
  155. package/src/components/tickets/hooks/use-tickets-list.ts +3 -2
  156. package/src/components/tickets/ticket-center.tsx +4 -13
  157. package/src/components/ui/autocomplete.tsx +12 -3
  158. package/src/components/ui/data-table/data-table-body.tsx +8 -2
  159. package/src/components/ui/data-table/data-table-infinite-footer.tsx +10 -3
  160. package/src/components/ui/data-table/utils.ts +18 -0
  161. package/src/components/ui/search-input.tsx +9 -3
  162. package/src/components/ui/searchable-select.tsx +18 -9
  163. package/src/components/ui/select.tsx +28 -7
  164. package/src/components/ui/table/table-skeleton.tsx +2 -2
  165. package/src/components/ui/table/table.tsx +4 -1
  166. package/src/components/ui/table/types.ts +2 -1
  167. package/src/types/category.ts +5 -0
  168. package/src/types/logs.types.ts +2 -0
@@ -285,7 +285,7 @@ var innerInputStyles = _chunk65VVJSQZcjs.cn.call(void 0,
285
285
  );
286
286
  var AUTOCOMPLETE_ANCHOR_HEIGHT_CLASS = "min-h-11 md:min-h-12";
287
287
  var AUTOCOMPLETE_OPTION_ROW_CLASS = "flex min-h-11 items-center border-b border-ods-border px-[var(--spacing-system-mf)] py-[var(--spacing-system-xsf)] last:border-b-0 md:min-h-12 text-h4";
288
- var AUTOCOMPLETE_OPTIONS_FOLD = 5;
288
+ var AUTOCOMPLETE_LOADING_ROWS = 5;
289
289
  var AUTOCOMPLETE_ANCHOR_SHAPE_CLASS = "rounded-[6px]";
290
290
  function AutocompleteSkeleton({ label, labelVariant, className }) {
291
291
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXDHVHB2cjs.FieldWrapper, { label, labelVariant, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: _chunk65VVJSQZcjs.cn.call(void 0, "w-full", AUTOCOMPLETE_ANCHOR_SHAPE_CLASS, AUTOCOMPLETE_ANCHOR_HEIGHT_CLASS) }) });
@@ -311,6 +311,7 @@ function AutocompleteInner(props, ref) {
311
311
  onInputChange,
312
312
  loading = false,
313
313
  loadingText = "Loading options",
314
+ loadingRows = AUTOCOMPLETE_LOADING_ROWS,
314
315
  fieldLoading = false,
315
316
  creatable = false,
316
317
  onCreateOption,
@@ -687,7 +688,7 @@ function AutocompleteInner(props, ref) {
687
688
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive.Viewport, { className: "max-h-[240px] min-h-0 w-full [&>div]:!block", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: loading ? void 0 : "listbox", children: loading ? (
688
689
  // The options while they are read: the list's own rows, a label bar each (`loadingText` is what a
689
690
  // screen reader hears).
690
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: loadingText, children: Array.from({ length: AUTOCOMPLETE_OPTIONS_FOLD }, (_, i) => (
691
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: loadingText, children: Array.from({ length: loadingRows }, (_, i) => (
691
692
  // biome-ignore lint/suspicious/noArrayIndexKey: skeleton rows never reorder
692
693
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: AUTOCOMPLETE_OPTION_ROW_CLASS, "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", className: "w-2/3" }) }, i)
693
694
  )) })
@@ -939,14 +940,15 @@ var SelectContent = _react.forwardRef.call(void 0, ({ className, children, posit
939
940
  SelectContent.displayName = SelectPrimitive.Content.displayName;
940
941
  var SelectLabel = _react.forwardRef.call(void 0, ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Label, { ref, className: _chunk65VVJSQZcjs.cn.call(void 0, "py-1.5 pl-8 pr-2 font-semibold text-h6", className), ...props }));
941
942
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
942
- var SelectItem = _react.forwardRef.call(void 0, ({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
943
+ var SelectItem = _react.forwardRef.call(void 0, ({ className, children, description, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
943
944
  SelectPrimitive.Item,
944
945
  {
945
946
  ref,
946
947
  className: _chunk65VVJSQZcjs.cn.call(void 0,
947
- "flex h-11 w-full cursor-pointer select-none items-center justify-between border-b border-ods-border px-4 last:border-b-0 md:h-12",
948
+ "flex w-full cursor-pointer select-none items-center justify-between gap-2 border-b border-ods-border px-4 last:border-b-0",
948
949
  // Typography - match trigger
949
- "whitespace-nowrap text-h4",
950
+ "text-h4",
951
+ description == null ? "h-11 whitespace-nowrap md:h-12" : "min-h-11 whitespace-normal py-[var(--spacing-system-xs)] md:min-h-12",
950
952
  // Hover state with visible background change
951
953
  "outline-none hover:bg-ods-bg-hover data-[highlighted]:bg-ods-bg-surface",
952
954
  "data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
@@ -955,8 +957,15 @@ var SelectItem = _react.forwardRef.call(void 0, ({ className, children, ...props
955
957
  ),
956
958
  ...props,
957
959
  children: [
958
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemText, { children }),
959
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 }) })
960
+ description == null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemText, { children }) : (
961
+ // min-w-0 lets the column shrink below its longest line, which is what
962
+ // makes the lines wrap instead of pushing past the list's edge.
963
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-col text-left", children: [
964
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemText, { children }),
965
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: description })
966
+ ] })
967
+ ),
968
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemIndicator, { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { className: "text-ods-accent", size: 20 }) })
960
969
  ]
961
970
  }
962
971
  ));
@@ -2218,7 +2227,7 @@ function RemoteDesktopChatMessageRowSkeleton() {
2218
2227
  // src/components/features/remote-session/remote-desktop-chat-panel.tsx
2219
2228
 
2220
2229
 
2221
- var CHAT_PANEL_FOLD = 10;
2230
+ var CHAT_PANEL_SKELETON_ROWS = 10;
2222
2231
  var REMOTE_DESKTOP_CHAT_END_USER_NAME = "User";
2223
2232
  function RemoteDesktopChatPanel({
2224
2233
  messages,
@@ -2246,7 +2255,7 @@ function RemoteDesktopChatPanel({
2246
2255
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: scrollRef, className: "min-h-0 flex-1 overflow-y-auto", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-full flex-col justify-end gap-[var(--spacing-system-xsf)]", children: rows.length === 0 && loading ? (
2247
2256
  // The chat while it is read: a screen of the panel's own message rows, stacked by a one-column grid
2248
2257
  // (the thread above is already the column flexbox: WEBVIEW-001).
2249
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading the chat", className: "grid grid-cols-1 gap-[var(--spacing-system-xsf)]", children: Array.from({ length: CHAT_PANEL_FOLD }, (_, i) => (
2258
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading the chat", className: "grid grid-cols-1 gap-[var(--spacing-system-xsf)]", children: Array.from({ length: CHAT_PANEL_SKELETON_ROWS }, (_, i) => (
2250
2259
  // biome-ignore lint/suspicious/noArrayIndexKey: skeleton rows never reorder
2251
2260
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteDesktopChatMessageRowSkeleton, {}, i)
2252
2261
  )) })
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkDCBZMWLYcjs = require('./chunk-DCBZMWLY.cjs');
4
+ var _chunkJ5ZNEAGYcjs = require('./chunk-J5ZNEAGY.cjs');
5
5
 
6
6
 
7
7
 
@@ -9,14 +9,14 @@ var _chunkDCBZMWLYcjs = require('./chunk-DCBZMWLY.cjs');
9
9
 
10
10
 
11
11
 
12
- var _chunkSL7KFZWJcjs = require('./chunk-SL7KFZWJ.cjs');
12
+ var _chunkQPK2433Wcjs = require('./chunk-QPK2433W.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkBLTNKLAXcjs = require('./chunk-BLTNKLAX.cjs');
16
+ var _chunkJJNOAYD4cjs = require('./chunk-JJNOAYD4.cjs');
17
17
 
18
18
 
19
- var _chunkI2TSCJT2cjs = require('./chunk-I2TSCJT2.cjs');
19
+ var _chunkHFNWBNLEcjs = require('./chunk-HFNWBNLE.cjs');
20
20
 
21
21
 
22
22
 
@@ -29,7 +29,7 @@ var _chunkI2TSCJT2cjs = require('./chunk-I2TSCJT2.cjs');
29
29
 
30
30
 
31
31
 
32
- var _chunkBZLHU4EKcjs = require('./chunk-BZLHU4EK.cjs');
32
+ var _chunkZVKJKWABcjs = require('./chunk-ZVKJKWAB.cjs');
33
33
 
34
34
 
35
35
 
@@ -43,13 +43,13 @@ var _chunkXVFM6SJAcjs = require('./chunk-XVFM6SJA.cjs');
43
43
 
44
44
 
45
45
 
46
- var _chunkWUYL4BMDcjs = require('./chunk-WUYL4BMD.cjs');
46
+ var _chunkYI3CDGKMcjs = require('./chunk-YI3CDGKM.cjs');
47
47
 
48
48
 
49
49
 
50
50
 
51
51
 
52
- var _chunkNZELWPKOcjs = require('./chunk-NZELWPKO.cjs');
52
+ var _chunkILZEXCJHcjs = require('./chunk-ILZEXCJH.cjs');
53
53
 
54
54
 
55
55
  var _chunkEHJE3UWZcjs = require('./chunk-EHJE3UWZ.cjs');
@@ -73,7 +73,7 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
73
73
 
74
74
 
75
75
 
76
- var _chunk4EJU462Ocjs = require('./chunk-4EJU462O.cjs');
76
+ var _chunk5V7BIUGAcjs = require('./chunk-5V7BIUGA.cjs');
77
77
 
78
78
 
79
79
  var _chunkHY6BCZH7cjs = require('./chunk-HY6BCZH7.cjs');
@@ -107,9 +107,6 @@ var _chunkXFRBEXQNcjs = require('./chunk-XFRBEXQN.cjs');
107
107
 
108
108
  var _chunkTF5D5MNOcjs = require('./chunk-TF5D5MNO.cjs');
109
109
 
110
-
111
- var _chunk65VVJSQZcjs = require('./chunk-65VVJSQZ.cjs');
112
-
113
110
  // src/components/tickets/ticket-center.tsx
114
111
  var _reactquery = require('@tanstack/react-query');
115
112
  var _lucidereact = require('lucide-react');
@@ -154,7 +151,7 @@ var TicketActionFailure = class extends Error {
154
151
  function useTicketActions(options) {
155
152
  const queryClient = _reactquery.useQueryClient.call(void 0, );
156
153
  const ticketActionEndpoint = _nullishCoalesce(_chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ).endpoints.ticketActionUrl, () => ( TICKET_ACTION_ENDPOINT));
157
- const ticketLive = _chunkI2TSCJT2cjs.useOptionalTicketLive.call(void 0, );
154
+ const ticketLive = _chunkHFNWBNLEcjs.useOptionalTicketLive.call(void 0, );
158
155
  const notifyTicketCreated = _optionalChain([ticketLive, 'optionalAccess', _2 => _2.notifyTicketCreated]);
159
156
  const { prependOptimistic, removeOptimistic, removeTicketFromCache, toast: toast2, onSupportSystemDown } = options;
160
157
  const formInFlightRef = _react.useRef.call(void 0, null);
@@ -564,7 +561,7 @@ function resolveErrorCode(bodyCode, status) {
564
561
  // src/components/tickets/hooks/use-tickets-list.ts
565
562
 
566
563
  var FIND_TICKET_ENDPOINT = "/api/chat/agent/find-ticket";
567
- var DEFAULT_PAGE_SIZE = 20;
564
+ var TICKETS_PAGE_SIZE = 20;
568
565
  function useTicketsList(filters) {
569
566
  const findTicketEndpoint = _nullishCoalesce(_chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ).endpoints.findTicketUrl, () => ( FIND_TICKET_ENDPOINT));
570
567
  const customerEmail = filters.customerEmail;
@@ -572,7 +569,7 @@ function useTicketsList(filters) {
572
569
  const status = (_nullishCoalesce(filters.status, () => ( ""))).trim().toLowerCase();
573
570
  const statusFilter = status && status !== "all" ? status : "";
574
571
  const page = _chunkBLH2SFOOcjs.positiveInt.call(void 0, filters.page, 1);
575
- const pageSize = _chunkBLH2SFOOcjs.positiveInt.call(void 0, filters.pageSize, DEFAULT_PAGE_SIZE, { max: _chunkBLH2SFOOcjs.PAGE_PARAM_LIMITS.maxPageSize });
572
+ const pageSize = _chunkBLH2SFOOcjs.positiveInt.call(void 0, filters.pageSize, TICKETS_PAGE_SIZE, { max: _chunkBLH2SFOOcjs.PAGE_PARAM_LIMITS.maxPageSize });
576
573
  const enabled = !!customerEmail;
577
574
  const identityKey = customerEmail || "anon";
578
575
  const query = _reactquery.useQuery.call(void 0, {
@@ -647,7 +644,7 @@ var COUNTER_VISIBLE_AT = Math.floor(TICKET_TEXT_MAX_CHARS * 0.8);
647
644
  function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
648
645
  const [subject, setSubject] = _react.useState.call(void 0, "");
649
646
  const [content, setContent] = _react.useState.call(void 0, "");
650
- const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } = _chunkNZELWPKOcjs.useChatAttachments.call(void 0, );
647
+ const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } = _chunkILZEXCJHcjs.useChatAttachments.call(void 0, );
651
648
  const trimmedSubject = subject.trim();
652
649
  const trimmedContent = content.trim();
653
650
  const overCap = content.length > TICKET_TEXT_MAX_CHARS;
@@ -667,7 +664,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
667
664
  clear();
668
665
  }
669
666
  };
670
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EJU462Ocjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: handleSubmit, className: "flex flex-col gap-6 md:flex-row", ..._chunkWUYL4BMDcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS, children: [
667
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5V7BIUGAcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: handleSubmit, className: "flex flex-col gap-6 md:flex-row", ..._chunkYI3CDGKMcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS, children: [
671
668
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1 md:max-w-md", children: [
672
669
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "mb-2 text-ods-text-primary text-h2", children: "Need Support?" }),
673
670
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "Can't find what you're looking for? Submit a support ticket below \u2014 we'll follow up shortly." }),
@@ -692,7 +689,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
692
689
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
693
690
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: "ticket-content", className: "mb-1 block text-ods-text-primary text-h6", children: "Your Message" }),
694
691
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
695
- _chunkBZLHU4EKcjs.Textarea,
692
+ _chunkZVKJKWABcjs.Textarea,
696
693
  {
697
694
  id: "ticket-content",
698
695
  placeholder: "Describe your issue or question in detail...",
@@ -710,7 +707,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
710
707
  ] })
711
708
  ] }),
712
709
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
713
- _chunkNZELWPKOcjs.ChatAttachmentChipStrip,
710
+ _chunkILZEXCJHcjs.ChatAttachmentChipStrip,
714
711
  {
715
712
  attachments,
716
713
  onRemove: removeAttachment,
@@ -719,7 +716,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
719
716
  ),
720
717
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-3", children: [
721
718
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
722
- _chunkNZELWPKOcjs.ChatAttachmentAddButton,
719
+ _chunkILZEXCJHcjs.ChatAttachmentAddButton,
723
720
  {
724
721
  attachmentsEnabled: !supportSystemDown,
725
722
  attachmentsCount: attachments.length,
@@ -749,7 +746,7 @@ var _usesticktobottom = require('use-stick-to-bottom');
749
746
 
750
747
  var LIST_ENGAGEMENTS_ENDPOINT = "/api/chat/agent/list-engagements";
751
748
  function useTicketEngagements(externalTicketId, enabled = true) {
752
- const identity = _chunkNZELWPKOcjs.useChatIdentity.call(void 0, );
749
+ const identity = _chunkILZEXCJHcjs.useChatIdentity.call(void 0, );
753
750
  const identityKey = _nullishCoalesce(_optionalChain([identity, 'access', _22 => _22.user, 'optionalAccess', _23 => _23.email]), () => ( "anon"));
754
751
  const listEngagementsEndpoint = _nullishCoalesce(_chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ).endpoints.listEngagementsUrl, () => ( LIST_ENGAGEMENTS_ENDPOINT));
755
752
  const fetchable = enabled && !!externalTicketId && !externalTicketId.startsWith("temp-");
@@ -822,7 +819,7 @@ function TicketLinkedDeliveryCard({ clickup, className }) {
822
819
  dateClosed: clickup.date_closed,
823
820
  clickupUrl: _nullishCoalesce(clickup.clickup_url, () => ( ""))
824
821
  };
825
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${_chunk4EJU462Ocjs.CONTENT_CARD_SKELETON_FRAME_CLASS} ${_nullishCoalesce(className, () => ( ""))}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSL7KFZWJcjs.DeliveryRow, { item, href: clickup.delivery_href, caption: "Linked delivery" }) });
822
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${_chunk5V7BIUGAcjs.CONTENT_CARD_SKELETON_FRAME_CLASS} ${_nullishCoalesce(className, () => ( ""))}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQPK2433Wcjs.DeliveryRow, { item, href: clickup.delivery_href, caption: "Linked delivery" }) });
826
823
  }
827
824
 
828
825
  // src/components/tickets/ticket-reply-composer.tsx
@@ -837,7 +834,7 @@ function TicketReplyComposer({
837
834
  }) {
838
835
  const [resolution, setResolution] = _react.useState.call(void 0, "");
839
836
  const [closeDialogOpen, setCloseDialogOpen] = _react.useState.call(void 0, false);
840
- const attachments = _chunkNZELWPKOcjs.useChatAttachments.call(void 0, );
837
+ const attachments = _chunkILZEXCJHcjs.useChatAttachments.call(void 0, );
841
838
  const { readyAttachments, clear: clearAttachments } = attachments;
842
839
  const ticketRef = { id: ticket.id, external_id: ticket.external_id };
843
840
  const hasReadyFiles = readyAttachments.length > 0;
@@ -858,7 +855,7 @@ function TicketReplyComposer({
858
855
  const disabled = busy || supportSystemDown;
859
856
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
860
857
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
861
- _chunkNZELWPKOcjs.ChatAttachmentChipStrip,
858
+ _chunkILZEXCJHcjs.ChatAttachmentChipStrip,
862
859
  {
863
860
  attachments: attachments.attachments,
864
861
  onRemove: attachments.removeAttachment,
@@ -881,7 +878,7 @@ function TicketReplyComposer({
881
878
  ),
882
879
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
883
880
  !supportSystemDown && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
884
- _chunkNZELWPKOcjs.ChatAttachmentAddButton,
881
+ _chunkILZEXCJHcjs.ChatAttachmentAddButton,
885
882
  {
886
883
  attachmentsEnabled: true,
887
884
  attachmentsCount: attachments.attachments.length,
@@ -904,13 +901,13 @@ function TicketReplyComposer({
904
901
  }
905
902
  )
906
903
  ] }),
907
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBZLHU4EKcjs.AlertDialog, { open: closeDialogOpen, onOpenChange: setCloseDialogOpen, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBZLHU4EKcjs.AlertDialogContent, { className: "border-ods-border bg-ods-card", children: [
908
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBZLHU4EKcjs.AlertDialogHeader, { children: [
909
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBZLHU4EKcjs.AlertDialogTitle, { className: "text-ods-text-primary", children: "Close this ticket?" }),
910
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBZLHU4EKcjs.AlertDialogDescription, { className: "text-ods-text-secondary", children: "Add an optional resolution note below. You can reopen the ticket later if needed." })
904
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZVKJKWABcjs.AlertDialog, { open: closeDialogOpen, onOpenChange: setCloseDialogOpen, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZVKJKWABcjs.AlertDialogContent, { className: "border-ods-border bg-ods-card", children: [
905
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZVKJKWABcjs.AlertDialogHeader, { children: [
906
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZVKJKWABcjs.AlertDialogTitle, { className: "text-ods-text-primary", children: "Close this ticket?" }),
907
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZVKJKWABcjs.AlertDialogDescription, { className: "text-ods-text-secondary", children: "Add an optional resolution note below. You can reopen the ticket later if needed." })
911
908
  ] }),
912
909
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
913
- _chunkBZLHU4EKcjs.Textarea,
910
+ _chunkZVKJKWABcjs.Textarea,
914
911
  {
915
912
  value: resolution,
916
913
  onChange: (e) => setResolution(e.target.value),
@@ -920,9 +917,9 @@ function TicketReplyComposer({
920
917
  className: "mt-2"
921
918
  }
922
919
  ),
923
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBZLHU4EKcjs.AlertDialogFooter, { children: [
920
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZVKJKWABcjs.AlertDialogFooter, { children: [
924
921
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
925
- _chunkBZLHU4EKcjs.AlertDialogCancel,
922
+ _chunkZVKJKWABcjs.AlertDialogCancel,
926
923
  {
927
924
  disabled: busy,
928
925
  className: "border-ods-border bg-transparent text-ods-text-primary hover:bg-ods-border",
@@ -930,7 +927,7 @@ function TicketReplyComposer({
930
927
  }
931
928
  ),
932
929
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
933
- _chunkBZLHU4EKcjs.AlertDialogAction,
930
+ _chunkZVKJKWABcjs.AlertDialogAction,
934
931
  {
935
932
  onClick: () => void confirmClose(),
936
933
  disabled: busy,
@@ -992,10 +989,10 @@ var TICKET_FEED_HEIGHT = "h-[60vh] md:h-[420px]";
992
989
  var TICKET_FEED_INNER = "flex flex-col gap-4 md:gap-6 px-4 md:px-6 py-4 md:py-6";
993
990
  var TICKET_FEED_SKELETON_ROWS = 6;
994
991
  function TicketTimelinePanel({ ticket }) {
995
- const identity = _chunkNZELWPKOcjs.useChatIdentity.call(void 0, );
992
+ const identity = _chunkILZEXCJHcjs.useChatIdentity.call(void 0, );
996
993
  const externalId = isOptimistic(ticket) ? null : ticket.external_id;
997
994
  const { engagements, isLoading } = useTicketEngagements(externalId, !!externalId);
998
- const live = _chunkI2TSCJT2cjs.useOptionalTicketLive.call(void 0, );
995
+ const live = _chunkHFNWBNLEcjs.useOptionalTicketLive.call(void 0, );
999
996
  const setOpenTicketId = _optionalChain([live, 'optionalAccess', _26 => _26.setOpenTicketId]);
1000
997
  const markRead = _optionalChain([live, 'optionalAccess', _27 => _27.markRead]);
1001
998
  const markReadDebounceRef = _react.useRef.call(void 0, null);
@@ -1034,11 +1031,11 @@ function TicketTimelinePanel({ ticket }) {
1034
1031
  const customerName = (isViewerTheCustomer ? viewerName : null) || ticketCustomerName || viewerName || _optionalChain([identity, 'access', _41 => _41.user, 'optionalAccess', _42 => _42.email]) || "You";
1035
1032
  const customerAvatar = isViewerTheCustomer ? _nullishCoalesce(_optionalChain([identity, 'access', _43 => _43.user, 'optionalAccess', _44 => _44.avatarUrl]), () => ( void 0)) : void 0;
1036
1033
  if (isLoading) {
1037
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${TICKET_FEED_FRAME} ${TICKET_FEED_HEIGHT}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading messages", className: TICKET_FEED_INNER, children: Array.from({ length: TICKET_FEED_SKELETON_ROWS }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWUYL4BMDcjs.ChatMessageRowSkeleton, {}, i)) }) });
1034
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${TICKET_FEED_FRAME} ${TICKET_FEED_HEIGHT}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading messages", className: TICKET_FEED_INNER, children: Array.from({ length: TICKET_FEED_SKELETON_ROWS }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYI3CDGKMcjs.ChatMessageRowSkeleton, {}, i)) }) });
1038
1035
  }
1039
1036
  if (bodyTurns.length === 0 && engagements.length === 0) {
1040
1037
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1041
- _chunkBLTNKLAXcjs.EmptyState,
1038
+ _chunkJJNOAYD4cjs.EmptyState,
1042
1039
  {
1043
1040
  type: "generic",
1044
1041
  title: "No conversation yet",
@@ -1053,7 +1050,7 @@ function TicketTimelinePanel({ ticket }) {
1053
1050
  const isResolution = turn.startsWith("[Resolution]");
1054
1051
  const text = isResolution ? turn.replace(/^\[Resolution\]\s*/, "") : turn;
1055
1052
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1056
- _chunkWUYL4BMDcjs.ChatMessageRow,
1053
+ _chunkYI3CDGKMcjs.ChatMessageRow,
1057
1054
  {
1058
1055
  displayName: customerName,
1059
1056
  avatarUrl: customerAvatar,
@@ -1082,13 +1079,13 @@ function TicketTimelinePanel({ ticket }) {
1082
1079
  }
1083
1080
  const engAttachments = mapEngagementAttachments(eng.attachments);
1084
1081
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1085
- _chunkWUYL4BMDcjs.ChatMessageRow,
1082
+ _chunkYI3CDGKMcjs.ChatMessageRow,
1086
1083
  {
1087
1084
  displayName: author,
1088
1085
  avatarUrl: avatarSrc,
1089
1086
  timeLabel: eng.createdAt ? _chunkEHJE3UWZcjs.formatRelativeTime.call(void 0, eng.createdAt) : null,
1090
1087
  body: stripAttachmentsPreamble(_nullishCoalesce(eng.body, () => ( ""))),
1091
- footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBZLHU4EKcjs.TicketAttachmentsList, { attachments: engAttachments, size: "compact" }) }) : null
1088
+ footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZVKJKWABcjs.TicketAttachmentsList, { attachments: engAttachments, size: "compact" }) }) : null
1092
1089
  },
1093
1090
  eng.id
1094
1091
  );
@@ -1239,7 +1236,7 @@ function TicketRow({
1239
1236
  };
1240
1237
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rowRef, id, className: "scroll-mt-24", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Collapsible, { open: expanded && !optimistic, className: "border-b border-ods-border last:border-b-0", children: [
1241
1238
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1242
- _chunkWUYL4BMDcjs.ChatTicketItem,
1239
+ _chunkYI3CDGKMcjs.ChatTicketItem,
1243
1240
  {
1244
1241
  ticket: tileData,
1245
1242
  onClick: optimistic ? void 0 : handleClick,
@@ -1274,19 +1271,18 @@ function TicketRow({
1274
1271
  var TICKET_CENTER_CLASS = "flex flex-col gap-6";
1275
1272
  var TICKET_LIST_BLOCK_CLASS = "flex flex-col gap-2";
1276
1273
  var TICKET_ROW_FRAME_CLASS = "border-b border-ods-border last:border-b-0";
1277
- var TICKET_LIST_FOLD = { phone: 2, wide: 4 };
1278
1274
  function TicketCenter({ toast: toast2 = _chunkXVFM6SJAcjs.toast } = {}) {
1279
1275
  if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterPending, { region: false });
1280
1276
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterGate, { toast: toast2 });
1281
1277
  }
1282
1278
  function TicketCenterGate({ toast: toast2 }) {
1283
- const identity = _chunkNZELWPKOcjs.useChatIdentity.call(void 0, );
1279
+ const identity = _chunkILZEXCJHcjs.useChatIdentity.call(void 0, );
1284
1280
  if (identity.isLoading) {
1285
1281
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterPending, {});
1286
1282
  }
1287
1283
  if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _63 => _63.user, 'optionalAccess', _64 => _64.email])) {
1288
1284
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1289
- _chunkBLTNKLAXcjs.EmptyState,
1285
+ _chunkJJNOAYD4cjs.EmptyState,
1290
1286
  {
1291
1287
  type: "generic",
1292
1288
  title: "Sign in to manage tickets",
@@ -1335,7 +1331,7 @@ function TicketCenterAuthed({
1335
1331
  const toggleRow = _react.useCallback.call(void 0, (id) => {
1336
1332
  setExpandedTicketId((prev) => prev === id ? null : id);
1337
1333
  }, []);
1338
- const syncInPage = _chunkSL7KFZWJcjs.usePageDataSync.call(void 0, sync, isLoading);
1334
+ const syncInPage = _chunkQPK2433Wcjs.usePageDataSync.call(void 0, sync, isLoading);
1339
1335
  const merged = [...optimisticTickets, ...tickets];
1340
1336
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1341
1337
  TicketCenterView,
@@ -1351,7 +1347,7 @@ function TicketCenterAuthed({
1351
1347
  renderRow: (ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1352
1348
  TicketRow,
1353
1349
  {
1354
- id: _chunkWUYL4BMDcjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1350
+ id: _chunkYI3CDGKMcjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1355
1351
  ticket,
1356
1352
  expanded: expandedTicketId === ticket.id,
1357
1353
  onToggle: toggleRow,
@@ -1370,7 +1366,7 @@ function TicketCenterAuthed({
1370
1366
  function TicketCenterPending({
1371
1367
  region = true
1372
1368
  } = {}) {
1373
- const syncInPage = _chunkSL7KFZWJcjs.usePageDataSync.call(void 0, null, true);
1369
+ const syncInPage = _chunkQPK2433Wcjs.usePageDataSync.call(void 0, null, true);
1374
1370
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading tickets", announce: region, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.LoadingScope, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1375
1371
  TicketCenterView,
1376
1372
  {
@@ -1412,8 +1408,8 @@ function TicketList({
1412
1408
  }) {
1413
1409
  if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, ) || loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketListSkeleton, {});
1414
1410
  if (tickets.length === 0) {
1415
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EJU462Ocjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1416
- _chunkBLTNKLAXcjs.EmptyState,
1411
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5V7BIUGAcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1412
+ _chunkJJNOAYD4cjs.EmptyState,
1417
1413
  {
1418
1414
  type: "generic",
1419
1415
  title: "No tickets yet",
@@ -1422,7 +1418,7 @@ function TicketList({
1422
1418
  }
1423
1419
  ) });
1424
1420
  }
1425
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EJU462Ocjs.Card, { className: "overflow-hidden", children: tickets.map(renderRow) });
1421
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5V7BIUGAcjs.Card, { className: "overflow-hidden", children: tickets.map(renderRow) });
1426
1422
  }
1427
1423
  function TicketListHeader({
1428
1424
  sync,
@@ -1433,7 +1429,7 @@ function TicketListHeader({
1433
1429
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-3", children: [
1434
1430
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h5", children: "Your Current Tickets" }),
1435
1431
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 text-ods-text-secondary text-h6", children: [
1436
- sync !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBZLHU4EKcjs.DataSyncLine, { sync, loading: syncLoading, inline: true }),
1432
+ sync !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZVKJKWABcjs.DataSyncLine, { sync, loading: syncLoading, inline: true }),
1437
1433
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { inert: !onRefresh || void 0, "aria-hidden": !onRefresh || void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1438
1434
  _chunkTF5D5MNOcjs.Button,
1439
1435
  {
@@ -1450,15 +1446,11 @@ function TicketListHeader({
1450
1446
  ] });
1451
1447
  }
1452
1448
  function TicketListSkeleton() {
1453
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EJU462Ocjs.Card, { className: "overflow-hidden", children: Array.from({ length: Math.max(TICKET_LIST_FOLD.phone, TICKET_LIST_FOLD.wide) }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1449
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5V7BIUGAcjs.Card, { className: "overflow-hidden", children: Array.from({ length: TICKETS_PAGE_SIZE }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1454
1450
  "div",
1455
1451
  {
1456
- className: _chunk65VVJSQZcjs.cn.call(void 0,
1457
- TICKET_ROW_FRAME_CLASS,
1458
- i >= TICKET_LIST_FOLD.phone && "hidden md:block",
1459
- i >= TICKET_LIST_FOLD.wide && "md:hidden"
1460
- ),
1461
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWUYL4BMDcjs.ChatTicketItemSkeleton, {})
1452
+ className: TICKET_ROW_FRAME_CLASS,
1453
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYI3CDGKMcjs.ChatTicketItemSkeleton, {})
1462
1454
  },
1463
1455
  i
1464
1456
  )) });
@@ -1507,11 +1499,11 @@ function HelpCenterCard({
1507
1499
  });
1508
1500
  return () => cancelAnimationFrame(raf);
1509
1501
  }, [isExpanded]);
1510
- const live = _chunkI2TSCJT2cjs.useOptionalTicketLive.call(void 0, );
1502
+ const live = _chunkHFNWBNLEcjs.useOptionalTicketLive.call(void 0, );
1511
1503
  const unreadCount = !optimistic && ticket.external_id && _optionalChain([live, 'optionalAccess', _65 => _65.unreadByTicket, 'access', _66 => _66[ticket.external_id]]) || 0;
1512
1504
  const rightBadges = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1513
1505
  unreadCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1514
- _chunk4EJU462Ocjs.StatusBadge,
1506
+ _chunk5V7BIUGAcjs.StatusBadge,
1515
1507
  {
1516
1508
  text: `${unreadCount} NEW`,
1517
1509
  colorScheme: "warning",
@@ -1520,16 +1512,16 @@ function HelpCenterCard({
1520
1512
  }
1521
1513
  ),
1522
1514
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1523
- _chunk4EJU462Ocjs.StatusBadge,
1515
+ _chunk5V7BIUGAcjs.StatusBadge,
1524
1516
  {
1525
1517
  text: rawStatus,
1526
- colorScheme: _chunk4EJU462Ocjs.getStatusColorScheme.call(void 0, rawStatus),
1518
+ colorScheme: _chunk5V7BIUGAcjs.getStatusColorScheme.call(void 0, rawStatus),
1527
1519
  variant: "card",
1528
1520
  className: "border border-ods-border"
1529
1521
  }
1530
1522
  ),
1531
1523
  priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1532
- _chunk4EJU462Ocjs.StatusBadge,
1524
+ _chunk5V7BIUGAcjs.StatusBadge,
1533
1525
  {
1534
1526
  text: priority,
1535
1527
  colorScheme: mapPriorityScheme(priority),
@@ -1557,7 +1549,7 @@ function HelpCenterCard({
1557
1549
  "aria-controls": isExpanded ? `help-center-drawer-${ticket.id}` : void 0,
1558
1550
  className: "w-full p-[12px] text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-accent disabled:cursor-default content-md:p-[16px]",
1559
1551
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1560
- _chunkSL7KFZWJcjs.DevCardRowContent,
1552
+ _chunkQPK2433Wcjs.DevCardRowContent,
1561
1553
  {
1562
1554
  title,
1563
1555
  subtitle,
@@ -1668,7 +1660,7 @@ function HelpCenterCreateForm({
1668
1660
  subjectError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { id: "help-center-subject-error", className: "mt-1 text-ods-error text-h6", children: subjectError })
1669
1661
  ] });
1670
1662
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1671
- _chunkDCBZMWLYcjs.ContactForm,
1663
+ _chunkJ5ZNEAGYcjs.ContactForm,
1672
1664
  {
1673
1665
  rescue: null,
1674
1666
  title: "Open a new ticket",
@@ -1707,30 +1699,30 @@ function HelpCenterCreateForm({
1707
1699
  // src/components/tickets/help-center-list.tsx
1708
1700
 
1709
1701
  function HelpCenterList({ toast: toast2 = _chunkXVFM6SJAcjs.toast, backButton, title, shell } = {}) {
1710
- const identity = _chunkNZELWPKOcjs.useChatIdentity.call(void 0, );
1702
+ const identity = _chunkILZEXCJHcjs.useChatIdentity.call(void 0, );
1711
1703
  const searchParams = _chunk7DNL734Scjs.useSearchParams.call(void 0, );
1712
1704
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
1713
1705
  const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
1714
- const search = searchParams.get(_chunkWUYL4BMDcjs.DEV_SECTION_PARAM_KEYS.search) || "";
1706
+ const search = searchParams.get(_chunkYI3CDGKMcjs.DEV_SECTION_PARAM_KEYS.search) || "";
1715
1707
  const status = searchParams.get("status") || "all";
1716
- const ticketParam = searchParams.get(_chunkWUYL4BMDcjs.TICKET_OPEN_PARAM) || "";
1708
+ const ticketParam = searchParams.get(_chunkYI3CDGKMcjs.TICKET_OPEN_PARAM) || "";
1717
1709
  const page = _chunkBLH2SFOOcjs.positiveInt.call(void 0, searchParams.get("page"), 1);
1718
1710
  if (identity.isLoading) {
1719
1711
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1720
- _chunkSL7KFZWJcjs.DevSectionPage,
1712
+ _chunkQPK2433Wcjs.DevSectionPage,
1721
1713
  {
1722
1714
  sectionKey: "tickets",
1723
1715
  backButton,
1724
1716
  title,
1725
1717
  shell,
1726
1718
  preControls: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpCenterCreateFormSkeleton, {}),
1727
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSL7KFZWJcjs.DevCardRowSkeletonList, {})
1719
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQPK2433Wcjs.DevCardRowSkeletonList, { rows: TICKETS_PAGE_SIZE })
1728
1720
  }
1729
1721
  );
1730
1722
  }
1731
1723
  if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _67 => _67.user, 'optionalAccess', _68 => _68.email])) {
1732
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSL7KFZWJcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1733
- _chunkBLTNKLAXcjs.EmptyState,
1724
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQPK2433Wcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1725
+ _chunkJJNOAYD4cjs.EmptyState,
1734
1726
  {
1735
1727
  type: "generic",
1736
1728
  title: "Sign in to manage tickets",
@@ -1781,14 +1773,14 @@ function HelpCenterListAuthed({
1781
1773
  const setOpenTicket = _react.useCallback.call(void 0,
1782
1774
  (externalId) => {
1783
1775
  const params = new URLSearchParams(searchParams.toString());
1784
- if (externalId) params.set(_chunkWUYL4BMDcjs.TICKET_OPEN_PARAM, externalId);
1785
- else params.delete(_chunkWUYL4BMDcjs.TICKET_OPEN_PARAM);
1776
+ if (externalId) params.set(_chunkYI3CDGKMcjs.TICKET_OPEN_PARAM, externalId);
1777
+ else params.delete(_chunkYI3CDGKMcjs.TICKET_OPEN_PARAM);
1786
1778
  const qs = params.toString();
1787
1779
  router.replace(qs ? `${pathname}?${qs}` : pathname, { scroll: false });
1788
1780
  },
1789
1781
  [searchParams, router, pathname]
1790
1782
  );
1791
- const { tickets, isLoading, isFetching, error, refetch, totalPages } = useTicketsList({
1783
+ const { tickets, isLoading, isFetching, error, refetch, totalPages, pageSize } = useTicketsList({
1792
1784
  // `sessionEmail` is drilled in from the parent — see the same
1793
1785
  // pattern + race-cause rationale documented in
1794
1786
  // `HelpCenterCreateForm.sessionName/sessionEmail`. Calling
@@ -1859,15 +1851,15 @@ function HelpCenterListAuthed({
1859
1851
  ] }),
1860
1852
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "accent", onClick: () => refetch(), children: "Retry" })
1861
1853
  ] }),
1862
- !error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSL7KFZWJcjs.DevCardRowSkeletonList, {}) : !hasResults && isFetching ? (
1854
+ !error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQPK2433Wcjs.DevCardRowSkeletonList, { rows: pageSize }) : !hasResults && isFetching ? (
1863
1855
  // Bridge state — background refetch in flight and the
1864
1856
  // optimistic placeholder was just removed by the mutation
1865
1857
  // callback. Without this branch "No tickets yet" would flash
1866
1858
  // for ~50ms between `removeOptimistic` and the server
1867
1859
  // response landing.
1868
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSL7KFZWJcjs.DevCardRowSkeletonList, { rows: 1 })
1860
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQPK2433Wcjs.DevCardRowSkeletonList, { rows: 1 })
1869
1861
  ) : !hasResults ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1870
- _chunkSL7KFZWJcjs.ListEmptyState,
1862
+ _chunkQPK2433Wcjs.ListEmptyState,
1871
1863
  {
1872
1864
  isFiltered: hasActiveFilters,
1873
1865
  filtered: {
@@ -1898,7 +1890,7 @@ function HelpCenterListAuthed({
1898
1890
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full overflow-clip rounded-[6px] border border-ods-border bg-ods-card", children: merged.map((ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1899
1891
  HelpCenterCard,
1900
1892
  {
1901
- id: _chunkWUYL4BMDcjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1893
+ id: _chunkYI3CDGKMcjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1902
1894
  ticket,
1903
1895
  expanded: expandedTicketId === ticket.id,
1904
1896
  onToggle: toggleRow,
@@ -1914,9 +1906,9 @@ function HelpCenterListAuthed({
1914
1906
  ticket.id
1915
1907
  )) })
1916
1908
  ) }),
1917
- !error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBLTNKLAXcjs.UnifiedPagination, { currentPage: page, totalPages })
1909
+ !error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJJNOAYD4cjs.UnifiedPagination, { currentPage: page, totalPages })
1918
1910
  ] });
1919
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSL7KFZWJcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, preControls: form, children: body });
1911
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQPK2433Wcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, preControls: form, children: body });
1920
1912
  }
1921
1913
 
1922
1914
 
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkBZLHU4EKcjs = require('./chunk-BZLHU4EK.cjs');
4
+ var _chunkZVKJKWABcjs = require('./chunk-ZVKJKWAB.cjs');
5
5
 
6
6
 
7
7
  var _chunkCKR42OBKcjs = require('./chunk-CKR42OBK.cjs');
@@ -48,7 +48,7 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
48
48
  ] });
49
49
  }
50
50
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51
- _chunkBZLHU4EKcjs.EmbedViewerFrame,
51
+ _chunkZVKJKWABcjs.EmbedViewerFrame,
52
52
  {
53
53
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCKR42OBKcjs.GoogleSheetsIcon, { className: "h-5 w-5 shrink-0" }),
54
54
  title: displayName,
@@ -83,7 +83,7 @@ function PdfViewer({ src, fileName, onPreview, onDownload, height }) {
83
83
  ] });
84
84
  }
85
85
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
86
- _chunkBZLHU4EKcjs.EmbedViewerFrame,
86
+ _chunkZVKJKWABcjs.EmbedViewerFrame,
87
87
  {
88
88
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7ZSKWT3cjs.AdobePdfIcon, { className: "h-5 w-5 shrink-0" }),
89
89
  title: displayName,