@flamingo-stack/openframe-frontend-core 0.0.312 → 0.0.313-snapshot.20260623203621

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 (118) hide show
  1. package/dist/{chunk-7KKIACLD.cjs → chunk-2LFQJYLQ.cjs} +7 -7
  2. package/dist/{chunk-7KKIACLD.cjs.map → chunk-2LFQJYLQ.cjs.map} +1 -1
  3. package/dist/{chunk-UFJVTOGS.cjs → chunk-46UZAYUT.cjs} +29 -29
  4. package/dist/{chunk-UFJVTOGS.cjs.map → chunk-46UZAYUT.cjs.map} +1 -1
  5. package/dist/{chunk-G56GYN7Z.cjs → chunk-5ATH263N.cjs} +4 -1
  6. package/dist/chunk-5ATH263N.cjs.map +1 -0
  7. package/dist/{chunk-52MEECZB.cjs → chunk-AD7TII2A.cjs} +5 -5
  8. package/dist/{chunk-52MEECZB.cjs.map → chunk-AD7TII2A.cjs.map} +1 -1
  9. package/dist/{chunk-AHVG5CFA.cjs → chunk-BHOGI57O.cjs} +38 -38
  10. package/dist/{chunk-AHVG5CFA.cjs.map → chunk-BHOGI57O.cjs.map} +1 -1
  11. package/dist/{chunk-CGR2DPPQ.js → chunk-BJ6JXN5Z.js} +5 -5
  12. package/dist/{chunk-7G7QJNLY.cjs → chunk-DD35H7HA.cjs} +40 -40
  13. package/dist/{chunk-7G7QJNLY.cjs.map → chunk-DD35H7HA.cjs.map} +1 -1
  14. package/dist/{chunk-F45P357Q.js → chunk-E2LC43T3.js} +2 -2
  15. package/dist/{chunk-JQ2EYXWR.js → chunk-E4CQ4RUG.js} +4 -1
  16. package/dist/chunk-E4CQ4RUG.js.map +1 -0
  17. package/dist/{chunk-NQDC366J.cjs → chunk-EC4DGRN6.cjs} +88 -63
  18. package/dist/chunk-EC4DGRN6.cjs.map +1 -0
  19. package/dist/{chunk-GRBFBBSX.js → chunk-JWX6NIQ4.js} +2 -2
  20. package/dist/{chunk-PH2RLC4E.js → chunk-L7BROXZ7.js} +2 -2
  21. package/dist/{chunk-MI6TET5N.js → chunk-NH2RY6VM.js} +38 -13
  22. package/dist/{chunk-MI6TET5N.js.map → chunk-NH2RY6VM.js.map} +1 -1
  23. package/dist/{chunk-GZPOUZAY.js → chunk-OD3BEWDQ.js} +3 -3
  24. package/dist/{chunk-JQLC2FVM.js → chunk-TRSDXD23.js} +2 -2
  25. package/dist/{chunk-64JGK22Q.cjs → chunk-UNKIRZVY.cjs} +19 -19
  26. package/dist/{chunk-64JGK22Q.cjs.map → chunk-UNKIRZVY.cjs.map} +1 -1
  27. package/dist/{chunk-DJBMLHN7.js → chunk-UO27TVAO.js} +3 -3
  28. package/dist/{chunk-SPFV5TFS.cjs → chunk-VCJOLKED.cjs} +12 -12
  29. package/dist/{chunk-SPFV5TFS.cjs.map → chunk-VCJOLKED.cjs.map} +1 -1
  30. package/dist/{chunk-6GKJXZZM.cjs → chunk-WJCOWYAP.cjs} +14 -14
  31. package/dist/{chunk-6GKJXZZM.cjs.map → chunk-WJCOWYAP.cjs.map} +1 -1
  32. package/dist/{chunk-BX4MDVBL.js → chunk-XKVSR3IV.js} +4 -4
  33. package/dist/{chunk-2ZHDP22R.cjs → chunk-ZPK5HW7B.cjs} +3 -3
  34. package/dist/{chunk-2ZHDP22R.cjs.map → chunk-ZPK5HW7B.cjs.map} +1 -1
  35. package/dist/{chunk-IHCOTCIG.js → chunk-ZW3NHMG7.js} +3 -3
  36. package/dist/components/case-studies/index.cjs +9 -9
  37. package/dist/components/case-studies/index.js +3 -3
  38. package/dist/components/chat/index.cjs +3 -3
  39. package/dist/components/chat/index.js +2 -2
  40. package/dist/components/contact/index.cjs +4 -4
  41. package/dist/components/contact/index.js +3 -3
  42. package/dist/components/docs/index.cjs +6 -6
  43. package/dist/components/docs/index.js +5 -5
  44. package/dist/components/embeds/index.cjs +4 -4
  45. package/dist/components/embeds/index.js +3 -3
  46. package/dist/components/faq/index.cjs +5 -5
  47. package/dist/components/faq/index.js +4 -4
  48. package/dist/components/features/index.cjs +3 -3
  49. package/dist/components/features/index.js +2 -2
  50. package/dist/components/features/time-tracker/time-tracker-panel.d.ts +1 -1
  51. package/dist/components/features/time-tracker/time-tracker-panel.d.ts.map +1 -1
  52. package/dist/components/features/time-tracker/types.d.ts +2 -2
  53. package/dist/components/features/time-tracker/types.d.ts.map +1 -1
  54. package/dist/components/index.cjs +190 -188
  55. package/dist/components/index.cjs.map +1 -1
  56. package/dist/components/index.js +12 -10
  57. package/dist/components/index.js.map +1 -1
  58. package/dist/components/layout/page-layout.d.ts +1 -1
  59. package/dist/components/layout/page-layout.d.ts.map +1 -1
  60. package/dist/components/layout/title-block.d.ts +10 -0
  61. package/dist/components/layout/title-block.d.ts.map +1 -1
  62. package/dist/components/navigation/index.cjs +3 -3
  63. package/dist/components/navigation/index.js +2 -2
  64. package/dist/components/onboarding-guides/index.cjs +29 -29
  65. package/dist/components/onboarding-guides/index.js +5 -5
  66. package/dist/components/related-content/index.cjs +5 -5
  67. package/dist/components/related-content/index.js +4 -4
  68. package/dist/components/tickets/help-center-list.d.ts +5 -1
  69. package/dist/components/tickets/help-center-list.d.ts.map +1 -1
  70. package/dist/components/tickets/index.cjs +84 -73
  71. package/dist/components/tickets/index.cjs.map +1 -1
  72. package/dist/components/tickets/index.js +21 -10
  73. package/dist/components/tickets/index.js.map +1 -1
  74. package/dist/components/tool-icon.d.ts.map +1 -1
  75. package/dist/components/ui/dashboard-info-card.d.ts +3 -1
  76. package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
  77. package/dist/components/ui/index.cjs +5 -3
  78. package/dist/components/ui/index.cjs.map +1 -1
  79. package/dist/components/ui/index.js +4 -2
  80. package/dist/hooks/index.cjs +2 -2
  81. package/dist/hooks/index.js +1 -1
  82. package/dist/index.cjs +5 -3
  83. package/dist/index.cjs.map +1 -1
  84. package/dist/index.js +4 -2
  85. package/dist/types/index.cjs +2 -0
  86. package/dist/types/index.cjs.map +1 -1
  87. package/dist/types/index.js +2 -0
  88. package/dist/types/index.js.map +1 -1
  89. package/dist/types/tool.types.d.ts +1 -0
  90. package/dist/types/tool.types.d.ts.map +1 -1
  91. package/dist/utils/index.cjs +11 -0
  92. package/dist/utils/index.cjs.map +1 -1
  93. package/dist/utils/index.js +11 -0
  94. package/dist/utils/index.js.map +1 -1
  95. package/dist/utils/tool-utils.d.ts.map +1 -1
  96. package/package.json +1 -1
  97. package/src/components/features/time-tracker/time-tracker-panel.tsx +27 -9
  98. package/src/components/features/time-tracker/types.ts +2 -2
  99. package/src/components/layout/page-layout.tsx +1 -1
  100. package/src/components/layout/title-block.tsx +12 -1
  101. package/src/components/tickets/help-center-list.tsx +16 -4
  102. package/src/components/tool-icon.tsx +1 -0
  103. package/src/components/ui/dashboard-info-card.tsx +9 -1
  104. package/src/stories/TimeTracker.stories.tsx +10 -10
  105. package/src/types/tool.types.ts +2 -0
  106. package/src/utils/tool-utils.ts +11 -0
  107. package/dist/chunk-G56GYN7Z.cjs.map +0 -1
  108. package/dist/chunk-JQ2EYXWR.js.map +0 -1
  109. package/dist/chunk-NQDC366J.cjs.map +0 -1
  110. /package/dist/{chunk-CGR2DPPQ.js.map → chunk-BJ6JXN5Z.js.map} +0 -0
  111. /package/dist/{chunk-F45P357Q.js.map → chunk-E2LC43T3.js.map} +0 -0
  112. /package/dist/{chunk-GRBFBBSX.js.map → chunk-JWX6NIQ4.js.map} +0 -0
  113. /package/dist/{chunk-PH2RLC4E.js.map → chunk-L7BROXZ7.js.map} +0 -0
  114. /package/dist/{chunk-GZPOUZAY.js.map → chunk-OD3BEWDQ.js.map} +0 -0
  115. /package/dist/{chunk-JQLC2FVM.js.map → chunk-TRSDXD23.js.map} +0 -0
  116. /package/dist/{chunk-DJBMLHN7.js.map → chunk-UO27TVAO.js.map} +0 -0
  117. /package/dist/{chunk-BX4MDVBL.js.map → chunk-XKVSR3IV.js.map} +0 -0
  118. /package/dist/{chunk-IHCOTCIG.js.map → chunk-ZW3NHMG7.js.map} +0 -0
@@ -7,11 +7,11 @@
7
7
 
8
8
 
9
9
 
10
- var _chunk6GKJXZZMcjs = require('../../chunk-6GKJXZZM.cjs');
10
+ var _chunkWJCOWYAPcjs = require('../../chunk-WJCOWYAP.cjs');
11
11
  require('../../chunk-VFKQMAUF.cjs');
12
12
 
13
13
 
14
- var _chunkUFJVTOGScjs = require('../../chunk-UFJVTOGS.cjs');
14
+ var _chunk46UZAYUTcjs = require('../../chunk-46UZAYUT.cjs');
15
15
 
16
16
 
17
17
 
@@ -38,14 +38,14 @@ var _chunkUFJVTOGScjs = require('../../chunk-UFJVTOGS.cjs');
38
38
 
39
39
 
40
40
 
41
- var _chunkNQDC366Jcjs = require('../../chunk-NQDC366J.cjs');
41
+ var _chunkEC4DGRN6cjs = require('../../chunk-EC4DGRN6.cjs');
42
42
 
43
43
 
44
44
 
45
45
 
46
46
 
47
47
 
48
- var _chunkG56GYN7Zcjs = require('../../chunk-G56GYN7Z.cjs');
48
+ var _chunk5ATH263Ncjs = require('../../chunk-5ATH263N.cjs');
49
49
 
50
50
 
51
51
  var _chunkN2DVKXN4cjs = require('../../chunk-N2DVKXN4.cjs');
@@ -107,7 +107,7 @@ function TicketOpenForm({
107
107
  }) {
108
108
  const [subject, setSubject] = _react.useState.call(void 0, "");
109
109
  const [content, setContent] = _react.useState.call(void 0, "");
110
- const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } = _chunkNQDC366Jcjs.useChatAttachments.call(void 0, );
110
+ const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } = _chunkEC4DGRN6cjs.useChatAttachments.call(void 0, );
111
111
  const trimmedSubject = subject.trim();
112
112
  const trimmedContent = content.trim();
113
113
  const overCap = content.length > TICKET_TEXT_MAX_CHARS;
@@ -127,7 +127,7 @@ function TicketOpenForm({
127
127
  clear();
128
128
  }
129
129
  };
130
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQDC366Jcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: handleSubmit, className: "flex flex-col md:flex-row gap-6", children: [
130
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEC4DGRN6cjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: handleSubmit, className: "flex flex-col md:flex-row gap-6", children: [
131
131
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 md:max-w-md", children: [
132
132
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-semibold text-ods-text-primary mb-2", children: "Need Support?" }),
133
133
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-sm", children: "Can't find what you're looking for? Submit a support ticket below \u2014 we'll follow up shortly." }),
@@ -166,7 +166,7 @@ function TicketOpenForm({
166
166
  }
167
167
  ),
168
168
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
169
- _chunkNQDC366Jcjs.Textarea,
169
+ _chunkEC4DGRN6cjs.Textarea,
170
170
  {
171
171
  id: "ticket-content",
172
172
  placeholder: "Describe your issue or question in detail...",
@@ -190,7 +190,7 @@ function TicketOpenForm({
190
190
  )
191
191
  ] }),
192
192
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
193
- _chunkNQDC366Jcjs.ChatAttachmentChipStrip,
193
+ _chunkEC4DGRN6cjs.ChatAttachmentChipStrip,
194
194
  {
195
195
  attachments,
196
196
  onRemove: removeAttachment,
@@ -199,7 +199,7 @@ function TicketOpenForm({
199
199
  ),
200
200
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-3", children: [
201
201
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
202
- _chunkNQDC366Jcjs.ChatAttachmentAddButton,
202
+ _chunkEC4DGRN6cjs.ChatAttachmentAddButton,
203
203
  {
204
204
  attachmentsEnabled: !supportSystemDown,
205
205
  attachmentsCount: attachments.length,
@@ -237,7 +237,7 @@ var _usesticktobottom = require('use-stick-to-bottom');
237
237
 
238
238
  var LIST_ENGAGEMENTS_ENDPOINT = "/api/chat/agent/list-engagements";
239
239
  function useTicketEngagements(externalTicketId, enabled = true, refetchInterval = false) {
240
- const identity = _chunkNQDC366Jcjs.useChatIdentity.call(void 0, );
240
+ const identity = _chunkEC4DGRN6cjs.useChatIdentity.call(void 0, );
241
241
  const identityKey = _nullishCoalesce(_optionalChain([identity, 'access', _2 => _2.user, 'optionalAccess', _3 => _3.email]), () => ( "anon"));
242
242
  const listEngagementsEndpoint = _nullishCoalesce(_chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, ).endpoints.listEngagementsUrl, () => ( LIST_ENGAGEMENTS_ENDPOINT));
243
243
  const fetchable = enabled && !!externalTicketId && !externalTicketId.startsWith("temp-");
@@ -258,7 +258,7 @@ function useTicketEngagements(externalTicketId, enabled = true, refetchInterval
258
258
  // so polling pauses on a hidden tab.
259
259
  refetchInterval,
260
260
  queryFn: async () => {
261
- const response = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, listEngagementsEndpoint, {
261
+ const response = await _chunk5ATH263Ncjs.embedAuthedFetch.call(void 0, listEngagementsEndpoint, {
262
262
  method: "POST",
263
263
  body: JSON.stringify({ ticket_id: externalTicketId })
264
264
  });
@@ -319,7 +319,7 @@ function TicketLinkedDeliveryCard({
319
319
  {
320
320
  className: `rounded-md border border-ods-border bg-ods-bg overflow-hidden ${_nullishCoalesce(className, () => ( ""))}`,
321
321
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
322
- _chunk6GKJXZZMcjs.DeliveryRow,
322
+ _chunkWJCOWYAPcjs.DeliveryRow,
323
323
  {
324
324
  item,
325
325
  href: clickup.delivery_href,
@@ -343,7 +343,7 @@ function TicketReplyComposer({
343
343
  }) {
344
344
  const [resolution, setResolution] = _react.useState.call(void 0, "");
345
345
  const [closeDialogOpen, setCloseDialogOpen] = _react.useState.call(void 0, false);
346
- const attachments = _chunkNQDC366Jcjs.useChatAttachments.call(void 0, );
346
+ const attachments = _chunkEC4DGRN6cjs.useChatAttachments.call(void 0, );
347
347
  const ticketRef = { id: ticket.id, external_id: ticket.external_id };
348
348
  const hasReadyFiles = attachments.readyAttachments.length > 0;
349
349
  const handleSend = _react.useCallback.call(void 0,
@@ -371,7 +371,7 @@ function TicketReplyComposer({
371
371
  const disabled = busy || supportSystemDown;
372
372
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
373
373
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
374
- _chunkNQDC366Jcjs.ChatAttachmentChipStrip,
374
+ _chunkEC4DGRN6cjs.ChatAttachmentChipStrip,
375
375
  {
376
376
  attachments: attachments.attachments,
377
377
  onRemove: attachments.removeAttachment,
@@ -380,7 +380,7 @@ function TicketReplyComposer({
380
380
  }
381
381
  ),
382
382
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
383
- _chunkNQDC366Jcjs.ChatInput,
383
+ _chunkEC4DGRN6cjs.ChatInput,
384
384
  {
385
385
  fullWidth: true,
386
386
  autoFocus: true,
@@ -394,7 +394,7 @@ function TicketReplyComposer({
394
394
  ),
395
395
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 w-full", children: [
396
396
  !supportSystemDown && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
397
- _chunkNQDC366Jcjs.ChatAttachmentAddButton,
397
+ _chunkEC4DGRN6cjs.ChatAttachmentAddButton,
398
398
  {
399
399
  attachmentsEnabled: true,
400
400
  attachmentsCount: attachments.attachments.length,
@@ -417,13 +417,13 @@ function TicketReplyComposer({
417
417
  }
418
418
  )
419
419
  ] }),
420
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQDC366Jcjs.AlertDialog, { open: closeDialogOpen, onOpenChange: setCloseDialogOpen, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNQDC366Jcjs.AlertDialogContent, { className: "bg-ods-card border-ods-border", children: [
421
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNQDC366Jcjs.AlertDialogHeader, { children: [
422
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQDC366Jcjs.AlertDialogTitle, { className: "text-ods-text-primary", children: "Close this ticket?" }),
423
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQDC366Jcjs.AlertDialogDescription, { className: "text-ods-text-secondary", children: "Add an optional resolution note below. You can reopen the ticket later if needed." })
420
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEC4DGRN6cjs.AlertDialog, { open: closeDialogOpen, onOpenChange: setCloseDialogOpen, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkEC4DGRN6cjs.AlertDialogContent, { className: "bg-ods-card border-ods-border", children: [
421
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkEC4DGRN6cjs.AlertDialogHeader, { children: [
422
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEC4DGRN6cjs.AlertDialogTitle, { className: "text-ods-text-primary", children: "Close this ticket?" }),
423
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEC4DGRN6cjs.AlertDialogDescription, { className: "text-ods-text-secondary", children: "Add an optional resolution note below. You can reopen the ticket later if needed." })
424
424
  ] }),
425
425
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
426
- _chunkNQDC366Jcjs.Textarea,
426
+ _chunkEC4DGRN6cjs.Textarea,
427
427
  {
428
428
  value: resolution,
429
429
  onChange: (e) => setResolution(e.target.value),
@@ -433,9 +433,9 @@ function TicketReplyComposer({
433
433
  className: "mt-2"
434
434
  }
435
435
  ),
436
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNQDC366Jcjs.AlertDialogFooter, { children: [
436
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkEC4DGRN6cjs.AlertDialogFooter, { children: [
437
437
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
438
- _chunkNQDC366Jcjs.AlertDialogCancel,
438
+ _chunkEC4DGRN6cjs.AlertDialogCancel,
439
439
  {
440
440
  disabled: busy,
441
441
  className: "bg-transparent border-ods-border text-ods-text-primary hover:bg-ods-border",
@@ -443,7 +443,7 @@ function TicketReplyComposer({
443
443
  }
444
444
  ),
445
445
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
446
- _chunkNQDC366Jcjs.AlertDialogAction,
446
+ _chunkEC4DGRN6cjs.AlertDialogAction,
447
447
  {
448
448
  onClick: () => void confirmClose(),
449
449
  disabled: busy,
@@ -513,7 +513,7 @@ var TICKET_FEED_HEIGHT = "h-[60vh] md:h-[420px]";
513
513
  var TICKET_FEED_INNER = "flex flex-col gap-4 md:gap-6 px-4 md:px-6 py-4 md:py-6";
514
514
  var TICKET_FEED_SKELETON_ROWS = 6;
515
515
  function TicketTimelinePanel({ ticket }) {
516
- const identity = _chunkNQDC366Jcjs.useChatIdentity.call(void 0, );
516
+ const identity = _chunkEC4DGRN6cjs.useChatIdentity.call(void 0, );
517
517
  const externalId = isOptimistic(ticket) ? null : ticket.external_id;
518
518
  const { engagements, isLoading } = useTicketEngagements(
519
519
  externalId,
@@ -533,11 +533,11 @@ function TicketTimelinePanel({ ticket }) {
533
533
  const customerName = (isViewerTheCustomer ? viewerName : null) || ticketCustomerName || viewerName || _optionalChain([identity, 'access', _19 => _19.user, 'optionalAccess', _20 => _20.email]) || "You";
534
534
  const customerAvatar = isViewerTheCustomer ? _nullishCoalesce(_optionalChain([identity, 'access', _21 => _21.user, 'optionalAccess', _22 => _22.avatarUrl]), () => ( void 0)) : void 0;
535
535
  if (isLoading) {
536
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${TICKET_FEED_FRAME} ${TICKET_FEED_HEIGHT}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TICKET_FEED_INNER, children: Array.from({ length: TICKET_FEED_SKELETON_ROWS }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQDC366Jcjs.ChatMessageRowSkeleton, {}, i)) }) });
536
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${TICKET_FEED_FRAME} ${TICKET_FEED_HEIGHT}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TICKET_FEED_INNER, children: Array.from({ length: TICKET_FEED_SKELETON_ROWS }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEC4DGRN6cjs.ChatMessageRowSkeleton, {}, i)) }) });
537
537
  }
538
538
  if (bodyTurns.length === 0 && engagements.length === 0) {
539
539
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
540
- _chunk6GKJXZZMcjs.EmptyState,
540
+ _chunkWJCOWYAPcjs.EmptyState,
541
541
  {
542
542
  type: "generic",
543
543
  title: "No conversation yet",
@@ -552,7 +552,7 @@ function TicketTimelinePanel({ ticket }) {
552
552
  const isResolution = turn.startsWith("[Resolution]");
553
553
  const text = isResolution ? turn.replace(/^\[Resolution\]\s*/, "") : turn;
554
554
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
555
- _chunkNQDC366Jcjs.ChatMessageRow,
555
+ _chunkEC4DGRN6cjs.ChatMessageRow,
556
556
  {
557
557
  displayName: customerName,
558
558
  avatarUrl: customerAvatar,
@@ -581,13 +581,13 @@ function TicketTimelinePanel({ ticket }) {
581
581
  }
582
582
  const engAttachments = mapEngagementAttachments(eng.attachments);
583
583
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
584
- _chunkNQDC366Jcjs.ChatMessageRow,
584
+ _chunkEC4DGRN6cjs.ChatMessageRow,
585
585
  {
586
586
  displayName: author,
587
587
  avatarUrl: avatarSrc,
588
- timeLabel: eng.createdAt ? _chunkNQDC366Jcjs.formatRelativeTime.call(void 0, eng.createdAt) : null,
588
+ timeLabel: eng.createdAt ? _chunkEC4DGRN6cjs.formatRelativeTime.call(void 0, eng.createdAt) : null,
589
589
  body: stripAttachmentsPreamble(_nullishCoalesce(eng.body, () => ( ""))),
590
- footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQDC366Jcjs.TicketAttachmentsList, { attachments: engAttachments, size: "compact" }) }) : null
590
+ footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEC4DGRN6cjs.TicketAttachmentsList, { attachments: engAttachments, size: "compact" }) }) : null
591
591
  },
592
592
  eng.id
593
593
  );
@@ -675,7 +675,7 @@ function AssignedAgentRow({
675
675
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary uppercase tracking-wider font-medium", children: "Assigned to" }),
676
676
  displayLabel ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1.5 text-ods-text-primary font-medium", children: [
677
677
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
678
- _chunkNQDC366Jcjs.SquareAvatar,
678
+ _chunkEC4DGRN6cjs.SquareAvatar,
679
679
  {
680
680
  size: "sm",
681
681
  variant: "round",
@@ -707,7 +707,7 @@ function TicketRow({
707
707
  const rowRef = _react.useRef.call(void 0, null);
708
708
  const handleClick = _react.useCallback.call(void 0, () => {
709
709
  onToggle(ticket.id);
710
- _chunkG56GYN7Zcjs.scrollElementIntoView.call(void 0, rowRef.current, {
710
+ _chunk5ATH263Ncjs.scrollElementIntoView.call(void 0, rowRef.current, {
711
711
  adjustTargetY: (raw) => {
712
712
  if (!rowRef.current) return raw;
713
713
  const expandedDrawer = document.querySelector(
@@ -733,7 +733,7 @@ function TicketRow({
733
733
  // so the badge accurately reflects "Closed" with a checkmark.
734
734
  statusLabel: _nullishCoalesce(ticket.pipeline_stage_label, () => ( void 0)),
735
735
  category: _nullishCoalesce(ticket.customer_company, () => ( void 0)),
736
- timeAgo: ticket.hubspot_updated_at ? _chunkNQDC366Jcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : void 0,
736
+ timeAgo: ticket.hubspot_updated_at ? _chunkEC4DGRN6cjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : void 0,
737
737
  // Linked-work chip: surfaced whenever the ticket has a linked
738
738
  // ClickUp task. Uses the linked task's own status so the chip text
739
739
  // reads "Working" / "Waiting on version release" / etc. — useful
@@ -748,7 +748,7 @@ function TicketRow({
748
748
  className: "border-b border-ods-border last:border-b-0",
749
749
  children: [
750
750
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
751
- _chunkNQDC366Jcjs.ChatTicketItem,
751
+ _chunkEC4DGRN6cjs.ChatTicketItem,
752
752
  {
753
753
  ticket: tileData,
754
754
  onClick: optimistic ? void 0 : handleClick,
@@ -818,7 +818,7 @@ function useTicketsList(filters) {
818
818
  pageSize
819
819
  };
820
820
  if (statusFilter) body.status = statusFilter;
821
- const response = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, findTicketEndpoint, {
821
+ const response = await _chunk5ATH263Ncjs.embedAuthedFetch.call(void 0, findTicketEndpoint, {
822
822
  method: "POST",
823
823
  body: JSON.stringify(body)
824
824
  });
@@ -933,7 +933,7 @@ function useTicketActions(options) {
933
933
  }, []);
934
934
  const executeTicketAction = _react.useCallback.call(void 0,
935
935
  async (toolName, args) => {
936
- const res = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, ticketActionEndpoint, {
936
+ const res = await _chunk5ATH263Ncjs.embedAuthedFetch.call(void 0, ticketActionEndpoint, {
937
937
  method: "POST",
938
938
  body: JSON.stringify({ tool_name: toolName, args })
939
939
  });
@@ -1317,14 +1317,14 @@ function resolveErrorCode(bodyCode, status) {
1317
1317
 
1318
1318
  // src/components/tickets/ticket-center.tsx
1319
1319
 
1320
- function TicketCenter({ toast: toast2 = _chunkG56GYN7Zcjs.toast } = {}) {
1321
- const identity = _chunkNQDC366Jcjs.useChatIdentity.call(void 0, );
1320
+ function TicketCenter({ toast: toast2 = _chunk5ATH263Ncjs.toast } = {}) {
1321
+ const identity = _chunkEC4DGRN6cjs.useChatIdentity.call(void 0, );
1322
1322
  if (identity.isLoading) {
1323
1323
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterSkeleton, {});
1324
1324
  }
1325
1325
  if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _58 => _58.user, 'optionalAccess', _59 => _59.email])) {
1326
1326
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1327
- _chunk6GKJXZZMcjs.EmptyState,
1327
+ _chunkWJCOWYAPcjs.EmptyState,
1328
1328
  {
1329
1329
  type: "generic",
1330
1330
  title: "Sign in to manage tickets",
@@ -1395,7 +1395,7 @@ function TicketCenterAuthed({
1395
1395
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 text-xs text-ods-text-secondary", children: [
1396
1396
  lastUpdatedAt && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
1397
1397
  "Updated ",
1398
- _chunkNQDC366Jcjs.formatRelativeTime.call(void 0, new Date(lastUpdatedAt))
1398
+ _chunkEC4DGRN6cjs.formatRelativeTime.call(void 0, new Date(lastUpdatedAt))
1399
1399
  ] }),
1400
1400
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1401
1401
  _chunkFQOTC3UUcjs.Button,
@@ -1411,18 +1411,18 @@ function TicketCenterAuthed({
1411
1411
  )
1412
1412
  ] })
1413
1413
  ] }),
1414
- isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketListSkeleton, {}) : merged.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQDC366Jcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1415
- _chunk6GKJXZZMcjs.EmptyState,
1414
+ isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketListSkeleton, {}) : merged.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEC4DGRN6cjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1415
+ _chunkWJCOWYAPcjs.EmptyState,
1416
1416
  {
1417
1417
  type: "generic",
1418
1418
  title: "No tickets yet",
1419
1419
  description: "Open one above to start the conversation.",
1420
1420
  showCTA: false
1421
1421
  }
1422
- ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQDC366Jcjs.Card, { className: "overflow-hidden", children: merged.map((ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1422
+ ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEC4DGRN6cjs.Card, { className: "overflow-hidden", children: merged.map((ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1423
1423
  TicketRow,
1424
1424
  {
1425
- id: _chunkNQDC366Jcjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1425
+ id: _chunkEC4DGRN6cjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1426
1426
  ticket,
1427
1427
  expanded: expandedTicketId === ticket.id,
1428
1428
  onToggle: toggleRow,
@@ -1440,7 +1440,7 @@ function TicketCenterAuthed({
1440
1440
  }
1441
1441
  function TicketCenterSkeleton() {
1442
1442
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-6", children: [
1443
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNQDC366Jcjs.Card, { className: "p-6", children: [
1443
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkEC4DGRN6cjs.Card, { className: "p-6", children: [
1444
1444
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.Skeleton, { className: "h-7 w-48 mb-4" }),
1445
1445
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.Skeleton, { className: "h-10 w-full mb-3" }),
1446
1446
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.Skeleton, { className: "h-24 w-full" })
@@ -1449,7 +1449,7 @@ function TicketCenterSkeleton() {
1449
1449
  ] });
1450
1450
  }
1451
1451
  function TicketListSkeleton() {
1452
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQDC366Jcjs.Card, { className: "overflow-hidden", children: [0, 1, 2].map((i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "h-20 px-4 flex items-center gap-4 border-b border-ods-border last:border-b-0", children: [
1452
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEC4DGRN6cjs.Card, { className: "overflow-hidden", children: [0, 1, 2].map((i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "h-20 px-4 flex items-center gap-4 border-b border-ods-border last:border-b-0", children: [
1453
1453
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col gap-2", children: [
1454
1454
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.Skeleton, { className: "h-4 w-2/3" }),
1455
1455
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.Skeleton, { className: "h-3 w-full" })
@@ -1462,7 +1462,7 @@ function TicketListSkeleton() {
1462
1462
  // src/components/tickets/help-center-list.tsx
1463
1463
 
1464
1464
 
1465
- _chunk6GKJXZZMcjs.init_unified_pagination.call(void 0, );
1465
+ _chunkWJCOWYAPcjs.init_unified_pagination.call(void 0, );
1466
1466
 
1467
1467
  // src/components/tickets/help-center-card.tsx
1468
1468
 
@@ -1484,7 +1484,7 @@ function HelpCenterCard({
1484
1484
  const optimistic = isOptimistic(ticket);
1485
1485
  const rawStatus = (_nullishCoalesce(ticket.status, () => ( "OPEN"))).toUpperCase();
1486
1486
  const priority = (_nullishCoalesce(ticket.priority, () => ( ""))).toUpperCase();
1487
- const relativeUpdated = ticket.hubspot_updated_at ? _chunkNQDC366Jcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : "recently";
1487
+ const relativeUpdated = ticket.hubspot_updated_at ? _chunkEC4DGRN6cjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : "recently";
1488
1488
  const title = (ticket.subject || "").trim() || "(untitled)";
1489
1489
  const subtitle = `UPDATED ${relativeUpdated}, #${ticket.external_id || "\u2014"}${ticket.pipeline_stage_label ? `, ${ticket.pipeline_stage_label}` : ""}`;
1490
1490
  const description = _nullishCoalesce(_nullishCoalesce(ticket.preview, () => ( ticket.body)), () => ( ""));
@@ -1497,24 +1497,24 @@ function HelpCenterCard({
1497
1497
  _react.useEffect.call(void 0, () => {
1498
1498
  if (!isExpanded) return;
1499
1499
  const raf = requestAnimationFrame(() => {
1500
- _chunkG56GYN7Zcjs.scrollElementIntoView.call(void 0, rowRef.current, {
1501
- headerOffset: _chunkG56GYN7Zcjs.STICKY_HEADER_OFFSET_PX
1500
+ _chunk5ATH263Ncjs.scrollElementIntoView.call(void 0, rowRef.current, {
1501
+ headerOffset: _chunk5ATH263Ncjs.STICKY_HEADER_OFFSET_PX
1502
1502
  });
1503
1503
  });
1504
1504
  return () => cancelAnimationFrame(raf);
1505
1505
  }, [isExpanded]);
1506
1506
  const rightBadges = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1507
1507
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1508
- _chunkNQDC366Jcjs.StatusBadge,
1508
+ _chunkEC4DGRN6cjs.StatusBadge,
1509
1509
  {
1510
1510
  text: rawStatus,
1511
- colorScheme: _chunkNQDC366Jcjs.getStatusColorScheme.call(void 0, rawStatus),
1511
+ colorScheme: _chunkEC4DGRN6cjs.getStatusColorScheme.call(void 0, rawStatus),
1512
1512
  variant: "card",
1513
1513
  className: "border border-ods-border"
1514
1514
  }
1515
1515
  ),
1516
1516
  priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1517
- _chunkNQDC366Jcjs.StatusBadge,
1517
+ _chunkEC4DGRN6cjs.StatusBadge,
1518
1518
  {
1519
1519
  text: priority,
1520
1520
  colorScheme: mapPriorityScheme(priority),
@@ -1528,7 +1528,7 @@ function HelpCenterCard({
1528
1528
  {
1529
1529
  ref: rowRef,
1530
1530
  id,
1531
- style: { scrollMarginTop: _chunkG56GYN7Zcjs.STICKY_HEADER_OFFSET_PX },
1531
+ style: { scrollMarginTop: _chunk5ATH263Ncjs.STICKY_HEADER_OFFSET_PX },
1532
1532
  className: `border-b border-ods-border last:border-b-0 ${optimistic ? "opacity-60" : ""}`,
1533
1533
  "aria-busy": optimistic || void 0,
1534
1534
  children: [
@@ -1542,7 +1542,7 @@ function HelpCenterCard({
1542
1542
  "aria-controls": isExpanded ? `help-center-drawer-${ticket.id}` : void 0,
1543
1543
  className: "w-full text-left p-[12px] md:p-[16px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-inset disabled:cursor-default",
1544
1544
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1545
- _chunk6GKJXZZMcjs.DevCardRowContent,
1545
+ _chunkWJCOWYAPcjs.DevCardRowContent,
1546
1546
  {
1547
1547
  title,
1548
1548
  subtitle,
@@ -1617,7 +1617,7 @@ function HelpCenterCreateForm({
1617
1617
  const [subject, setSubject] = _react.useState.call(void 0, "");
1618
1618
  const [subjectError, setSubjectError] = _react.useState.call(void 0, null);
1619
1619
  const subjectField = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
1620
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNQDC366Jcjs.Label, { htmlFor: "help-center-subject", children: [
1620
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkEC4DGRN6cjs.Label, { htmlFor: "help-center-subject", children: [
1621
1621
  "Subject",
1622
1622
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: "*" })
1623
1623
  ] }),
@@ -1649,7 +1649,7 @@ function HelpCenterCreateForm({
1649
1649
  )
1650
1650
  ] });
1651
1651
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1652
- _chunkUFJVTOGScjs.ContactForm,
1652
+ _chunk46UZAYUTcjs.ContactForm,
1653
1653
  {
1654
1654
  title: "Open a new ticket",
1655
1655
  footerText: "The support team typically responds within one business day.",
@@ -1686,8 +1686,8 @@ function HelpCenterCreateForm({
1686
1686
 
1687
1687
  // src/components/tickets/help-center-list.tsx
1688
1688
 
1689
- function HelpCenterList({ toast: toast2 = _chunkG56GYN7Zcjs.toast, backButton } = {}) {
1690
- const identity = _chunkNQDC366Jcjs.useChatIdentity.call(void 0, );
1689
+ function HelpCenterList({ toast: toast2 = _chunk5ATH263Ncjs.toast, backButton, title } = {}) {
1690
+ const identity = _chunkEC4DGRN6cjs.useChatIdentity.call(void 0, );
1691
1691
  const searchParams = _chunkG7UE6RKVcjs.useSearchParams.call(void 0, );
1692
1692
  const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
1693
1693
  const pathname = _chunkG7UE6RKVcjs.usePathname.call(void 0, );
@@ -1697,11 +1697,20 @@ function HelpCenterList({ toast: toast2 = _chunkG56GYN7Zcjs.toast, backButton }
1697
1697
  const rawPage = Number(searchParams.get("page"));
1698
1698
  const page = Number.isFinite(rawPage) && rawPage > 0 ? Math.floor(rawPage) : 1;
1699
1699
  if (identity.isLoading) {
1700
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6GKJXZZMcjs.DevSectionPage, { sectionKey: "tickets", backButton, preControls: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpCenterCreateFormSkeleton, {}), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6GKJXZZMcjs.DevCardRowSkeletonList, {}) });
1700
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1701
+ _chunkWJCOWYAPcjs.DevSectionPage,
1702
+ {
1703
+ sectionKey: "tickets",
1704
+ backButton,
1705
+ title,
1706
+ preControls: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpCenterCreateFormSkeleton, {}),
1707
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWJCOWYAPcjs.DevCardRowSkeletonList, {})
1708
+ }
1709
+ );
1701
1710
  }
1702
1711
  if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _60 => _60.user, 'optionalAccess', _61 => _61.email])) {
1703
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6GKJXZZMcjs.DevSectionPage, { sectionKey: "tickets", backButton, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1704
- _chunk6GKJXZZMcjs.EmptyState,
1712
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWJCOWYAPcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1713
+ _chunkWJCOWYAPcjs.EmptyState,
1705
1714
  {
1706
1715
  type: "generic",
1707
1716
  title: "Sign in to manage tickets",
@@ -1725,7 +1734,8 @@ function HelpCenterList({ toast: toast2 = _chunkG56GYN7Zcjs.toast, backButton }
1725
1734
  toast: toast2,
1726
1735
  sessionName,
1727
1736
  sessionEmail,
1728
- backButton
1737
+ backButton,
1738
+ title
1729
1739
  }
1730
1740
  );
1731
1741
  }
@@ -1740,7 +1750,8 @@ function HelpCenterListAuthed({
1740
1750
  toast: toast2,
1741
1751
  sessionName,
1742
1752
  sessionEmail,
1743
- backButton
1753
+ backButton,
1754
+ title
1744
1755
  }) {
1745
1756
  const queryClient = _reactquery.useQueryClient.call(void 0, );
1746
1757
  const [optimisticTickets, setOptimisticTickets] = _react.useState.call(void 0, []);
@@ -1809,7 +1820,7 @@ function HelpCenterListAuthed({
1809
1820
  [tickets, ticketParam, setOpenTicket]
1810
1821
  );
1811
1822
  const merged = [...optimisticTickets, ...tickets];
1812
- _chunkG56GYN7Zcjs.useScrollToHash.call(void 0, tickets, { headerOffset: _chunkG56GYN7Zcjs.STICKY_HEADER_OFFSET_PX });
1823
+ _chunk5ATH263Ncjs.useScrollToHash.call(void 0, tickets, { headerOffset: _chunk5ATH263Ncjs.STICKY_HEADER_OFFSET_PX });
1813
1824
  const hasActiveFilters = search !== "" || status !== "" && status !== "all";
1814
1825
  const hasResults = merged.length > 0;
1815
1826
  const form = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -1829,15 +1840,15 @@ function HelpCenterListAuthed({
1829
1840
  ] }),
1830
1841
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.Button, { type: "button", variant: "accent", onClick: () => refetch(), children: "Retry" })
1831
1842
  ] }),
1832
- !error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6GKJXZZMcjs.DevCardRowSkeletonList, {}) : !hasResults && isFetching ? (
1843
+ !error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWJCOWYAPcjs.DevCardRowSkeletonList, {}) : !hasResults && isFetching ? (
1833
1844
  // Bridge state — background refetch in flight and the
1834
1845
  // optimistic placeholder was just removed by the mutation
1835
1846
  // callback. Without this branch "No tickets yet" would flash
1836
1847
  // for ~50ms between `removeOptimistic` and the server
1837
1848
  // response landing.
1838
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6GKJXZZMcjs.DevCardRowSkeletonList, { rows: 1 })
1849
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWJCOWYAPcjs.DevCardRowSkeletonList, { rows: 1 })
1839
1850
  ) : !hasResults ? hasActiveFilters ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1840
- _chunk6GKJXZZMcjs.EmptyState,
1851
+ _chunkWJCOWYAPcjs.EmptyState,
1841
1852
  {
1842
1853
  type: "search",
1843
1854
  title: "No tickets found",
@@ -1852,7 +1863,7 @@ function HelpCenterListAuthed({
1852
1863
  }
1853
1864
  }
1854
1865
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1855
- _chunk6GKJXZZMcjs.EmptyState,
1866
+ _chunkWJCOWYAPcjs.EmptyState,
1856
1867
  {
1857
1868
  type: "generic",
1858
1869
  title: "No tickets yet",
@@ -1871,7 +1882,7 @@ function HelpCenterListAuthed({
1871
1882
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-card border border-ods-border rounded-[6px] overflow-clip w-full", children: merged.map((ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1872
1883
  HelpCenterCard,
1873
1884
  {
1874
- id: _chunkNQDC366Jcjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1885
+ id: _chunkEC4DGRN6cjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1875
1886
  ticket,
1876
1887
  expanded: expandedTicketId === ticket.id,
1877
1888
  onToggle: toggleRow,
@@ -1887,9 +1898,9 @@ function HelpCenterListAuthed({
1887
1898
  ticket.id
1888
1899
  )) })
1889
1900
  ) }),
1890
- !error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6GKJXZZMcjs.UnifiedPagination, { currentPage: page, totalPages })
1901
+ !error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWJCOWYAPcjs.UnifiedPagination, { currentPage: page, totalPages })
1891
1902
  ] });
1892
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6GKJXZZMcjs.DevSectionPage, { sectionKey: "tickets", backButton, preControls: form, children: body });
1903
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWJCOWYAPcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, preControls: form, children: body });
1893
1904
  }
1894
1905
 
1895
1906