@flamingo-stack/openframe-frontend-core 0.0.709 → 0.0.711

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 (76) hide show
  1. package/README.md +1 -0
  2. package/dist/{chunk-36BCTE7D.js → chunk-2JTGK64G.js} +4 -4
  3. package/dist/{chunk-YBUT4AMG.cjs → chunk-3UNL26CD.cjs} +2 -2
  4. package/dist/{chunk-4L6XCMOU.js → chunk-5HB7FLCV.js} +1 -1
  5. package/dist/{chunk-6IW7TWPV.js → chunk-62KNLDXK.js} +1 -1
  6. package/dist/{chunk-AOWDNSTM.cjs → chunk-6AMIRXKM.cjs} +40 -40
  7. package/dist/{chunk-LNW45N2C.js → chunk-6GLQLTJI.js} +5 -5
  8. package/dist/{chunk-QAOFMK2A.cjs → chunk-6K7QZDA6.cjs} +3 -3
  9. package/dist/{chunk-SEXWHIMS.cjs → chunk-7AM6C6XH.cjs} +42 -37
  10. package/dist/{chunk-CNWOMQQJ.js → chunk-AGDVEUVL.js} +1 -1
  11. package/dist/{chunk-3AHTOSXJ.cjs → chunk-C4HRRB3V.cjs} +9 -9
  12. package/dist/{chunk-NSGXARGJ.cjs → chunk-CDM7OSFB.cjs} +70 -70
  13. package/dist/{chunk-4UM2ETLM.js → chunk-EQWD4IJE.js} +2 -2
  14. package/dist/{chunk-6I4ZAFO2.cjs → chunk-EX6GGCAC.cjs} +9 -9
  15. package/dist/{chunk-L6Y6OOKG.cjs → chunk-FEMAJES4.cjs} +20 -20
  16. package/dist/{chunk-P42V6N34.cjs → chunk-FYOKS5RI.cjs} +313 -313
  17. package/dist/{chunk-B73373AG.cjs → chunk-G47AP6LX.cjs} +20 -20
  18. package/dist/{chunk-I3ST4PLM.js → chunk-IFWLJ66M.js} +1 -1
  19. package/dist/{chunk-F5FF4DME.js → chunk-K4PTDK34.js} +3 -3
  20. package/dist/{chunk-ZCLBYT2V.cjs → chunk-K6Y5NX6L.cjs} +24 -24
  21. package/dist/{chunk-6YKAT7NV.js → chunk-NF7GNGYG.js} +2 -2
  22. package/dist/{chunk-2G7UYK35.cjs → chunk-P6G3JZNC.cjs} +32 -32
  23. package/dist/{chunk-JRU2CXLB.cjs → chunk-PRX7HVLE.cjs} +2 -2
  24. package/dist/{chunk-CZSZSDD4.js → chunk-Q6B35Y7O.js} +4 -4
  25. package/dist/{chunk-2KXTOP6G.cjs → chunk-QA6TROME.cjs} +14 -14
  26. package/dist/{chunk-LFFB6EMB.js → chunk-QGZPZ3RL.js} +2 -2
  27. package/dist/{chunk-PO33GZVY.js → chunk-SMAAV3HL.js} +8 -3
  28. package/dist/{chunk-DA5UDTLG.js → chunk-TKZXHVBG.js} +2 -2
  29. package/dist/{chunk-SS5MBHDP.js → chunk-VMMHJFHG.js} +2 -2
  30. package/dist/{chunk-MR3A4MZV.js → chunk-VWFZRMQR.js} +1 -1
  31. package/dist/{chunk-TDYIREDJ.js → chunk-WJUIXU6Y.js} +4 -4
  32. package/dist/{chunk-2RNB5DTN.cjs → chunk-XWEBHS7O.cjs} +7 -7
  33. package/dist/{chunk-OJLR5MEO.cjs → chunk-YD4LJZV4.cjs} +4 -4
  34. package/dist/components/case-studies/index.cjs +14 -14
  35. package/dist/components/case-studies/index.js +3 -3
  36. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +4 -1
  37. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
  38. package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -1
  39. package/dist/components/chat/index.cjs +2 -2
  40. package/dist/components/chat/index.js +1 -1
  41. package/dist/components/chat/types/component.types.d.ts +4 -0
  42. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  43. package/dist/components/chat/types/unified-chat-state.types.d.ts +12 -0
  44. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  45. package/dist/components/contact/index.cjs +4 -4
  46. package/dist/components/contact/index.js +3 -3
  47. package/dist/components/docs/index.cjs +7 -7
  48. package/dist/components/docs/index.js +6 -6
  49. package/dist/components/embeds/index.cjs +4 -4
  50. package/dist/components/embeds/index.js +3 -3
  51. package/dist/components/faq/index.cjs +4 -4
  52. package/dist/components/faq/index.js +3 -3
  53. package/dist/components/features/index.cjs +3 -3
  54. package/dist/components/features/index.js +2 -2
  55. package/dist/components/help-center-pages/index.cjs +70 -70
  56. package/dist/components/help-center-pages/index.js +14 -14
  57. package/dist/components/index.cjs +36 -36
  58. package/dist/components/index.js +13 -13
  59. package/dist/components/meeting-scheduler/index.cjs +25 -25
  60. package/dist/components/meeting-scheduler/index.js +2 -2
  61. package/dist/components/navigation/index.cjs +6 -6
  62. package/dist/components/navigation/index.js +5 -5
  63. package/dist/components/onboarding-guides/index.cjs +6 -6
  64. package/dist/components/onboarding-guides/index.js +5 -5
  65. package/dist/components/tickets/index.cjs +7 -7
  66. package/dist/components/tickets/index.js +6 -6
  67. package/dist/components/ui/index.cjs +3 -3
  68. package/dist/components/ui/index.js +2 -2
  69. package/dist/index.cjs +7 -7
  70. package/dist/index.js +6 -6
  71. package/package.json +1 -1
  72. package/src/components/chat/embeddable-chat.tsx +2 -0
  73. package/src/components/chat/hooks/use-chat-dialog-manager.ts +22 -4
  74. package/src/components/chat/hooks/use-unified-chat.ts +1 -0
  75. package/src/components/chat/types/component.types.ts +4 -0
  76. package/src/components/chat/types/unified-chat-state.types.ts +13 -0
@@ -1,14 +1,14 @@
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 _chunkL6Y6OOKGcjs = require('./chunk-L6Y6OOKG.cjs');
4
+ var _chunkFEMAJES4cjs = require('./chunk-FEMAJES4.cjs');
5
5
 
6
6
 
7
7
 
8
8
 
9
9
 
10
10
 
11
- var _chunk3AHTOSXJcjs = require('./chunk-3AHTOSXJ.cjs');
11
+ var _chunkC4HRRB3Vcjs = require('./chunk-C4HRRB3V.cjs');
12
12
 
13
13
 
14
14
 
@@ -19,7 +19,7 @@ var _chunkPLYEKV3Ncjs = require('./chunk-PLYEKV3N.cjs');
19
19
 
20
20
 
21
21
 
22
- var _chunkOJLR5MEOcjs = require('./chunk-OJLR5MEO.cjs');
22
+ var _chunkYD4LJZV4cjs = require('./chunk-YD4LJZV4.cjs');
23
23
 
24
24
 
25
25
 
@@ -35,7 +35,7 @@ var _chunkOJLR5MEOcjs = require('./chunk-OJLR5MEO.cjs');
35
35
 
36
36
 
37
37
 
38
- var _chunkP42V6N34cjs = require('./chunk-P42V6N34.cjs');
38
+ var _chunkFYOKS5RIcjs = require('./chunk-FYOKS5RI.cjs');
39
39
 
40
40
 
41
41
 
@@ -55,7 +55,7 @@ var _chunkOF6GEI5Acjs = require('./chunk-OF6GEI5A.cjs');
55
55
 
56
56
 
57
57
 
58
- var _chunkSEXWHIMScjs = require('./chunk-SEXWHIMS.cjs');
58
+ var _chunk7AM6C6XHcjs = require('./chunk-7AM6C6XH.cjs');
59
59
 
60
60
 
61
61
 
@@ -114,7 +114,7 @@ var TicketActionFailure = class extends Error {
114
114
  function useTicketActions(options) {
115
115
  const queryClient = _reactquery.useQueryClient.call(void 0, );
116
116
  const ticketActionEndpoint = _nullishCoalesce(_chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ).endpoints.ticketActionUrl, () => ( TICKET_ACTION_ENDPOINT));
117
- const ticketLive = _chunkOJLR5MEOcjs.useOptionalTicketLive.call(void 0, );
117
+ const ticketLive = _chunkYD4LJZV4cjs.useOptionalTicketLive.call(void 0, );
118
118
  const notifyTicketCreated = _optionalChain([ticketLive, 'optionalAccess', _2 => _2.notifyTicketCreated]);
119
119
  const { prependOptimistic, removeOptimistic, removeTicketFromCache, toast: toast2, onSupportSystemDown } = options;
120
120
  const formInFlightRef = _react.useRef.call(void 0, null);
@@ -275,10 +275,10 @@ function useTicketActions(options) {
275
275
  ..._optionalChain([input, 'access', _3 => _3.attachments, 'optionalAccess', _4 => _4.length]) ? { attachments: input.attachments } : {}
276
276
  });
277
277
  if (result.mirror_synced === false) {
278
- toast2(_chunkOJLR5MEOcjs.TOAST_COPY.open_mirror_pending);
278
+ toast2(_chunkYD4LJZV4cjs.TOAST_COPY.open_mirror_pending);
279
279
  watchMirrorSync(placeholderId, result.ticket_id);
280
280
  } else {
281
- toast2(_chunkOJLR5MEOcjs.TOAST_COPY.open_success);
281
+ toast2(_chunkYD4LJZV4cjs.TOAST_COPY.open_success);
282
282
  await queryClient.invalidateQueries({ queryKey: ["tickets"] });
283
283
  removeOptimistic(placeholderId);
284
284
  }
@@ -364,7 +364,7 @@ function useTicketActions(options) {
364
364
  ...hasText ? { content_addendum: trimmed } : {},
365
365
  ...hasFiles ? { attachments } : {}
366
366
  },
367
- _chunkOJLR5MEOcjs.TOAST_COPY.comment_success,
367
+ _chunkYD4LJZV4cjs.TOAST_COPY.comment_success,
368
368
  "send message"
369
369
  );
370
370
  if (ok) {
@@ -387,13 +387,13 @@ function useTicketActions(options) {
387
387
  status: "CLOSED",
388
388
  ..._optionalChain([resolution, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]) ? { resolution: resolution.trim() } : {}
389
389
  },
390
- _chunkOJLR5MEOcjs.TOAST_COPY.close_success,
390
+ _chunkYD4LJZV4cjs.TOAST_COPY.close_success,
391
391
  "close ticket"
392
392
  ),
393
393
  [updateTicket]
394
394
  );
395
395
  const reopenTicket = _react.useCallback.call(void 0,
396
- (ticket) => updateTicket(ticket, { status: "OPEN" }, _chunkOJLR5MEOcjs.TOAST_COPY.reopen_success, "reopen ticket"),
396
+ (ticket) => updateTicket(ticket, { status: "OPEN" }, _chunkYD4LJZV4cjs.TOAST_COPY.reopen_success, "reopen ticket"),
397
397
  [updateTicket]
398
398
  );
399
399
  return _react.useMemo.call(void 0,
@@ -608,14 +608,14 @@ function useTicketsList(filters) {
608
608
  // src/components/tickets/ticket-open-form.tsx
609
609
 
610
610
  var _jsxruntime = require('react/jsx-runtime');
611
- var COUNTER_VISIBLE_AT = Math.floor(_chunkOJLR5MEOcjs.TICKET_TEXT_MAX_CHARS * 0.8);
611
+ var COUNTER_VISIBLE_AT = Math.floor(_chunkYD4LJZV4cjs.TICKET_TEXT_MAX_CHARS * 0.8);
612
612
  function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
613
613
  const [subject, setSubject] = _react.useState.call(void 0, "");
614
614
  const [content, setContent] = _react.useState.call(void 0, "");
615
- const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } = _chunkSEXWHIMScjs.useChatAttachments.call(void 0, );
615
+ const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } = _chunk7AM6C6XHcjs.useChatAttachments.call(void 0, );
616
616
  const trimmedSubject = subject.trim();
617
617
  const trimmedContent = content.trim();
618
- const overCap = content.length > _chunkOJLR5MEOcjs.TICKET_TEXT_MAX_CHARS;
618
+ const overCap = content.length > _chunkYD4LJZV4cjs.TICKET_TEXT_MAX_CHARS;
619
619
  const showCounter = content.length >= COUNTER_VISIBLE_AT;
620
620
  const canSubmit = !isSubmitting && !supportSystemDown && !hasInflightUploads && trimmedSubject.length > 0 && trimmedContent.length > 0 && !overCap;
621
621
  const handleSubmit = async (e) => {
@@ -632,7 +632,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
632
632
  clear();
633
633
  }
634
634
  };
635
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: handleSubmit, className: "flex flex-col gap-6 md:flex-row", ..._chunkP42V6N34cjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS, children: [
635
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: handleSubmit, className: "flex flex-col gap-6 md:flex-row", ..._chunkFYOKS5RIcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS, children: [
636
636
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1 md:max-w-md", children: [
637
637
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "mb-2 text-ods-text-primary text-h2", children: "Need Support?" }),
638
638
  /* @__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." }),
@@ -657,7 +657,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
657
657
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
658
658
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: "ticket-content", className: "mb-1 block text-ods-text-primary text-h6", children: "Your Message" }),
659
659
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
660
- _chunkP42V6N34cjs.Textarea,
660
+ _chunkFYOKS5RIcjs.Textarea,
661
661
  {
662
662
  id: "ticket-content",
663
663
  placeholder: "Describe your issue or question in detail...",
@@ -671,11 +671,11 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
671
671
  showCounter && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: `mt-1 text-right text-h6 ${overCap ? "text-ods-error" : "text-ods-text-secondary"}`, children: [
672
672
  content.length,
673
673
  "/",
674
- _chunkOJLR5MEOcjs.TICKET_TEXT_MAX_CHARS
674
+ _chunkYD4LJZV4cjs.TICKET_TEXT_MAX_CHARS
675
675
  ] })
676
676
  ] }),
677
677
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
678
- _chunkSEXWHIMScjs.ChatAttachmentChipStrip,
678
+ _chunk7AM6C6XHcjs.ChatAttachmentChipStrip,
679
679
  {
680
680
  attachments,
681
681
  onRemove: removeAttachment,
@@ -684,7 +684,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
684
684
  ),
685
685
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-3", children: [
686
686
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
687
- _chunkSEXWHIMScjs.ChatAttachmentAddButton,
687
+ _chunk7AM6C6XHcjs.ChatAttachmentAddButton,
688
688
  {
689
689
  attachmentsEnabled: !supportSystemDown,
690
690
  attachmentsCount: attachments.length,
@@ -714,7 +714,7 @@ var _usesticktobottom = require('use-stick-to-bottom');
714
714
 
715
715
  var LIST_ENGAGEMENTS_ENDPOINT = "/api/chat/agent/list-engagements";
716
716
  function useTicketEngagements(externalTicketId, enabled = true) {
717
- const identity = _chunkSEXWHIMScjs.useChatIdentity.call(void 0, );
717
+ const identity = _chunk7AM6C6XHcjs.useChatIdentity.call(void 0, );
718
718
  const identityKey = _nullishCoalesce(_optionalChain([identity, 'access', _21 => _21.user, 'optionalAccess', _22 => _22.email]), () => ( "anon"));
719
719
  const listEngagementsEndpoint = _nullishCoalesce(_chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ).endpoints.listEngagementsUrl, () => ( LIST_ENGAGEMENTS_ENDPOINT));
720
720
  const fetchable = enabled && !!externalTicketId && !externalTicketId.startsWith("temp-");
@@ -787,7 +787,7 @@ function TicketLinkedDeliveryCard({ clickup, className }) {
787
787
  dateClosed: clickup.date_closed,
788
788
  clickupUrl: _nullishCoalesce(clickup.clickup_url, () => ( ""))
789
789
  };
790
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${_chunk6NTPY5QAcjs.CONTENT_CARD_SKELETON_FRAME_CLASS} ${_nullishCoalesce(className, () => ( ""))}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3AHTOSXJcjs.DeliveryRow, { item, href: clickup.delivery_href, caption: "Linked delivery" }) });
790
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${_chunk6NTPY5QAcjs.CONTENT_CARD_SKELETON_FRAME_CLASS} ${_nullishCoalesce(className, () => ( ""))}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC4HRRB3Vcjs.DeliveryRow, { item, href: clickup.delivery_href, caption: "Linked delivery" }) });
791
791
  }
792
792
 
793
793
  // src/components/tickets/ticket-reply-composer.tsx
@@ -802,7 +802,7 @@ function TicketReplyComposer({
802
802
  }) {
803
803
  const [resolution, setResolution] = _react.useState.call(void 0, "");
804
804
  const [closeDialogOpen, setCloseDialogOpen] = _react.useState.call(void 0, false);
805
- const attachments = _chunkSEXWHIMScjs.useChatAttachments.call(void 0, );
805
+ const attachments = _chunk7AM6C6XHcjs.useChatAttachments.call(void 0, );
806
806
  const { readyAttachments, clear: clearAttachments } = attachments;
807
807
  const ticketRef = { id: ticket.id, external_id: ticket.external_id };
808
808
  const hasReadyFiles = readyAttachments.length > 0;
@@ -823,7 +823,7 @@ function TicketReplyComposer({
823
823
  const disabled = busy || supportSystemDown;
824
824
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
825
825
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
826
- _chunkSEXWHIMScjs.ChatAttachmentChipStrip,
826
+ _chunk7AM6C6XHcjs.ChatAttachmentChipStrip,
827
827
  {
828
828
  attachments: attachments.attachments,
829
829
  onRemove: attachments.removeAttachment,
@@ -832,7 +832,7 @@ function TicketReplyComposer({
832
832
  }
833
833
  ),
834
834
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
835
- _chunkSEXWHIMScjs.ChatInput,
835
+ _chunk7AM6C6XHcjs.ChatInput,
836
836
  {
837
837
  fullWidth: true,
838
838
  autoFocus: true,
@@ -840,13 +840,13 @@ function TicketReplyComposer({
840
840
  sending: busy || attachments.hasInflightUploads,
841
841
  disabled: supportSystemDown,
842
842
  allowEmptySend: hasReadyFiles,
843
- maxLength: _chunkOJLR5MEOcjs.TICKET_TEXT_MAX_CHARS,
843
+ maxLength: _chunkYD4LJZV4cjs.TICKET_TEXT_MAX_CHARS,
844
844
  onSend: handleSend
845
845
  }
846
846
  ),
847
847
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
848
848
  !supportSystemDown && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
849
- _chunkSEXWHIMScjs.ChatAttachmentAddButton,
849
+ _chunk7AM6C6XHcjs.ChatAttachmentAddButton,
850
850
  {
851
851
  attachmentsEnabled: true,
852
852
  attachmentsCount: attachments.attachments.length,
@@ -869,25 +869,25 @@ function TicketReplyComposer({
869
869
  }
870
870
  )
871
871
  ] }),
872
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.AlertDialog, { open: closeDialogOpen, onOpenChange: setCloseDialogOpen, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkP42V6N34cjs.AlertDialogContent, { className: "border-ods-border bg-ods-card", children: [
873
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkP42V6N34cjs.AlertDialogHeader, { children: [
874
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.AlertDialogTitle, { className: "text-ods-text-primary", children: "Close this ticket?" }),
875
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.AlertDialogDescription, { className: "text-ods-text-secondary", children: "Add an optional resolution note below. You can reopen the ticket later if needed." })
872
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.AlertDialog, { open: closeDialogOpen, onOpenChange: setCloseDialogOpen, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFYOKS5RIcjs.AlertDialogContent, { className: "border-ods-border bg-ods-card", children: [
873
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFYOKS5RIcjs.AlertDialogHeader, { children: [
874
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.AlertDialogTitle, { className: "text-ods-text-primary", children: "Close this ticket?" }),
875
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.AlertDialogDescription, { className: "text-ods-text-secondary", children: "Add an optional resolution note below. You can reopen the ticket later if needed." })
876
876
  ] }),
877
877
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
878
- _chunkP42V6N34cjs.Textarea,
878
+ _chunkFYOKS5RIcjs.Textarea,
879
879
  {
880
880
  value: resolution,
881
881
  onChange: (e) => setResolution(e.target.value),
882
882
  placeholder: "Resolution (optional)",
883
883
  rows: 3,
884
- maxLength: _chunkOJLR5MEOcjs.TICKET_TEXT_MAX_CHARS,
884
+ maxLength: _chunkYD4LJZV4cjs.TICKET_TEXT_MAX_CHARS,
885
885
  className: "mt-2"
886
886
  }
887
887
  ),
888
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkP42V6N34cjs.AlertDialogFooter, { children: [
888
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFYOKS5RIcjs.AlertDialogFooter, { children: [
889
889
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
890
- _chunkP42V6N34cjs.AlertDialogCancel,
890
+ _chunkFYOKS5RIcjs.AlertDialogCancel,
891
891
  {
892
892
  disabled: busy,
893
893
  className: "border-ods-border bg-transparent text-ods-text-primary hover:bg-ods-border",
@@ -895,7 +895,7 @@ function TicketReplyComposer({
895
895
  }
896
896
  ),
897
897
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
898
- _chunkP42V6N34cjs.AlertDialogAction,
898
+ _chunkFYOKS5RIcjs.AlertDialogAction,
899
899
  {
900
900
  onClick: () => void confirmClose(),
901
901
  disabled: busy,
@@ -957,10 +957,10 @@ var TICKET_FEED_HEIGHT = "h-[60vh] md:h-[420px]";
957
957
  var TICKET_FEED_INNER = "flex flex-col gap-4 md:gap-6 px-4 md:px-6 py-4 md:py-6";
958
958
  var TICKET_FEED_SKELETON_ROWS = 6;
959
959
  function TicketTimelinePanel({ ticket }) {
960
- const identity = _chunkSEXWHIMScjs.useChatIdentity.call(void 0, );
961
- const externalId = _chunkOJLR5MEOcjs.isOptimistic.call(void 0, ticket) ? null : ticket.external_id;
960
+ const identity = _chunk7AM6C6XHcjs.useChatIdentity.call(void 0, );
961
+ const externalId = _chunkYD4LJZV4cjs.isOptimistic.call(void 0, ticket) ? null : ticket.external_id;
962
962
  const { engagements, isLoading } = useTicketEngagements(externalId, !!externalId);
963
- const live = _chunkOJLR5MEOcjs.useOptionalTicketLive.call(void 0, );
963
+ const live = _chunkYD4LJZV4cjs.useOptionalTicketLive.call(void 0, );
964
964
  const setOpenTicketId = _optionalChain([live, 'optionalAccess', _25 => _25.setOpenTicketId]);
965
965
  const markRead = _optionalChain([live, 'optionalAccess', _26 => _26.markRead]);
966
966
  const markReadDebounceRef = _react.useRef.call(void 0, null);
@@ -984,7 +984,7 @@ function TicketTimelinePanel({ ticket }) {
984
984
  markReadDebounceRef.current = setTimeout(() => {
985
985
  markReadDebounceRef.current = null;
986
986
  void markRead(externalId);
987
- }, _chunkOJLR5MEOcjs.TICKET_MARK_READ_DEBOUNCE_MS);
987
+ }, _chunkYD4LJZV4cjs.TICKET_MARK_READ_DEBOUNCE_MS);
988
988
  }, [engagementsCount, externalId, markRead]);
989
989
  const { scrollRef, contentRef } = _usesticktobottom.useStickToBottom.call(void 0, { initial: "instant", resize: "smooth" });
990
990
  const bodyTurns = ticket.body ? ticket.body.split(TURN_SEPARATOR_RE).map((t) => t.trim()).filter(Boolean) : [];
@@ -999,7 +999,7 @@ function TicketTimelinePanel({ ticket }) {
999
999
  const customerName = (isViewerTheCustomer ? viewerName : null) || ticketCustomerName || viewerName || _optionalChain([identity, 'access', _40 => _40.user, 'optionalAccess', _41 => _41.email]) || "You";
1000
1000
  const customerAvatar = isViewerTheCustomer ? _nullishCoalesce(_optionalChain([identity, 'access', _42 => _42.user, 'optionalAccess', _43 => _43.avatarUrl]), () => ( void 0)) : void 0;
1001
1001
  if (isLoading) {
1002
- 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, _chunkSEXWHIMScjs.ChatMessageRowSkeleton, {}, i)) }) });
1002
+ 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, _chunk7AM6C6XHcjs.ChatMessageRowSkeleton, {}, i)) }) });
1003
1003
  }
1004
1004
  if (bodyTurns.length === 0 && engagements.length === 0) {
1005
1005
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -1018,7 +1018,7 @@ function TicketTimelinePanel({ ticket }) {
1018
1018
  const isResolution = turn.startsWith("[Resolution]");
1019
1019
  const text = isResolution ? turn.replace(/^\[Resolution\]\s*/, "") : turn;
1020
1020
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1021
- _chunkSEXWHIMScjs.ChatMessageRow,
1021
+ _chunk7AM6C6XHcjs.ChatMessageRow,
1022
1022
  {
1023
1023
  displayName: customerName,
1024
1024
  avatarUrl: customerAvatar,
@@ -1047,13 +1047,13 @@ function TicketTimelinePanel({ ticket }) {
1047
1047
  }
1048
1048
  const engAttachments = mapEngagementAttachments(eng.attachments);
1049
1049
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1050
- _chunkSEXWHIMScjs.ChatMessageRow,
1050
+ _chunk7AM6C6XHcjs.ChatMessageRow,
1051
1051
  {
1052
1052
  displayName: author,
1053
1053
  avatarUrl: avatarSrc,
1054
- timeLabel: eng.createdAt ? _chunkSEXWHIMScjs.formatRelativeTime.call(void 0, eng.createdAt) : null,
1054
+ timeLabel: eng.createdAt ? _chunk7AM6C6XHcjs.formatRelativeTime.call(void 0, eng.createdAt) : null,
1055
1055
  body: stripAttachmentsPreamble(_nullishCoalesce(eng.body, () => ( ""))),
1056
- footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.TicketAttachmentsList, { attachments: engAttachments, size: "compact" }) }) : null
1056
+ footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.TicketAttachmentsList, { attachments: engAttachments, size: "compact" }) }) : null
1057
1057
  },
1058
1058
  eng.id
1059
1059
  );
@@ -1166,7 +1166,7 @@ function TicketRow({
1166
1166
  onActionCollapsed,
1167
1167
  id
1168
1168
  }) {
1169
- const optimistic = _chunkOJLR5MEOcjs.isOptimistic.call(void 0, ticket);
1169
+ const optimistic = _chunkYD4LJZV4cjs.isOptimistic.call(void 0, ticket);
1170
1170
  const rowRef = _react.useRef.call(void 0, null);
1171
1171
  const handleClick = _react.useCallback.call(void 0, () => {
1172
1172
  onToggle(ticket.id);
@@ -1194,7 +1194,7 @@ function TicketRow({
1194
1194
  // so the badge accurately reflects "Closed" with a checkmark.
1195
1195
  statusLabel: _nullishCoalesce(ticket.pipeline_stage_label, () => ( void 0)),
1196
1196
  category: _nullishCoalesce(ticket.customer_company, () => ( void 0)),
1197
- timeAgo: ticket.hubspot_updated_at ? _chunkSEXWHIMScjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : void 0,
1197
+ timeAgo: ticket.hubspot_updated_at ? _chunk7AM6C6XHcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : void 0,
1198
1198
  // Linked-work chip: surfaced whenever the ticket has a linked
1199
1199
  // ClickUp task. Uses the linked task's own status so the chip text
1200
1200
  // reads "Working" / "Waiting on version release" / etc. — useful
@@ -1204,7 +1204,7 @@ function TicketRow({
1204
1204
  };
1205
1205
  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: [
1206
1206
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1207
- _chunkSEXWHIMScjs.ChatTicketItem,
1207
+ _chunk7AM6C6XHcjs.ChatTicketItem,
1208
1208
  {
1209
1209
  ticket: tileData,
1210
1210
  onClick: optimistic ? void 0 : handleClick,
@@ -1237,7 +1237,7 @@ function TicketRow({
1237
1237
  // src/components/tickets/ticket-center.tsx
1238
1238
 
1239
1239
  function TicketCenter({ toast: toast2 = _chunkWCVZCGK5cjs.toast } = {}) {
1240
- const identity = _chunkSEXWHIMScjs.useChatIdentity.call(void 0, );
1240
+ const identity = _chunk7AM6C6XHcjs.useChatIdentity.call(void 0, );
1241
1241
  if (identity.isLoading) {
1242
1242
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterSkeleton, {});
1243
1243
  }
@@ -1308,7 +1308,7 @@ function TicketCenterAuthed({
1308
1308
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 text-ods-text-secondary text-h6", children: [
1309
1309
  lastUpdatedAt && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
1310
1310
  "Updated ",
1311
- _chunkSEXWHIMScjs.formatRelativeTime.call(void 0, new Date(lastUpdatedAt))
1311
+ _chunk7AM6C6XHcjs.formatRelativeTime.call(void 0, new Date(lastUpdatedAt))
1312
1312
  ] }),
1313
1313
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1314
1314
  _chunkDFQYAYBHcjs.Button,
@@ -1335,11 +1335,11 @@ function TicketCenterAuthed({
1335
1335
  ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.Card, { className: "overflow-hidden", children: merged.map((ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1336
1336
  TicketRow,
1337
1337
  {
1338
- id: _chunkP42V6N34cjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1338
+ id: _chunkFYOKS5RIcjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1339
1339
  ticket,
1340
1340
  expanded: expandedTicketId === ticket.id,
1341
1341
  onToggle: toggleRow,
1342
- busy: _chunkOJLR5MEOcjs.isOptimistic.call(void 0, ticket) ? false : actions.isRowBusy(ticket.id),
1342
+ busy: _chunkYD4LJZV4cjs.isOptimistic.call(void 0, ticket) ? false : actions.isRowBusy(ticket.id),
1343
1343
  supportSystemDown,
1344
1344
  onSendMessage: actions.sendMessage,
1345
1345
  onClose: actions.closeTicket,
@@ -1393,10 +1393,10 @@ function HelpCenterCard({
1393
1393
  onClearReplyError,
1394
1394
  id
1395
1395
  }) {
1396
- const optimistic = _chunkOJLR5MEOcjs.isOptimistic.call(void 0, ticket);
1396
+ const optimistic = _chunkYD4LJZV4cjs.isOptimistic.call(void 0, ticket);
1397
1397
  const rawStatus = (_nullishCoalesce(ticket.status, () => ( "OPEN"))).toUpperCase();
1398
1398
  const priority = (_nullishCoalesce(ticket.priority, () => ( ""))).toUpperCase();
1399
- const relativeUpdated = ticket.hubspot_updated_at ? _chunkSEXWHIMScjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : "recently";
1399
+ const relativeUpdated = ticket.hubspot_updated_at ? _chunk7AM6C6XHcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : "recently";
1400
1400
  const title = (ticket.subject || "").trim() || "(untitled)";
1401
1401
  const subtitle = `UPDATED ${relativeUpdated}, #${ticket.external_id || "\u2014"}${ticket.pipeline_stage_label ? `, ${ticket.pipeline_stage_label}` : ""}`;
1402
1402
  const description = _nullishCoalesce(_nullishCoalesce(ticket.preview, () => ( ticket.body)), () => ( ""));
@@ -1415,7 +1415,7 @@ function HelpCenterCard({
1415
1415
  });
1416
1416
  return () => cancelAnimationFrame(raf);
1417
1417
  }, [isExpanded]);
1418
- const live = _chunkOJLR5MEOcjs.useOptionalTicketLive.call(void 0, );
1418
+ const live = _chunkYD4LJZV4cjs.useOptionalTicketLive.call(void 0, );
1419
1419
  const unreadCount = !optimistic && ticket.external_id && _optionalChain([live, 'optionalAccess', _64 => _64.unreadByTicket, 'access', _65 => _65[ticket.external_id]]) || 0;
1420
1420
  const rightBadges = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1421
1421
  unreadCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -1465,7 +1465,7 @@ function HelpCenterCard({
1465
1465
  "aria-controls": isExpanded ? `help-center-drawer-${ticket.id}` : void 0,
1466
1466
  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]",
1467
1467
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1468
- _chunk3AHTOSXJcjs.DevCardRowContent,
1468
+ _chunkC4HRRB3Vcjs.DevCardRowContent,
1469
1469
  {
1470
1470
  title,
1471
1471
  subtitle,
@@ -1566,7 +1566,7 @@ function HelpCenterCreateForm({
1566
1566
  subjectError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { id: "help-center-subject-error", className: "mt-1 text-ods-error text-h6", children: subjectError })
1567
1567
  ] });
1568
1568
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1569
- _chunkL6Y6OOKGcjs.ContactForm,
1569
+ _chunkFEMAJES4cjs.ContactForm,
1570
1570
  {
1571
1571
  rescue: null,
1572
1572
  title: "Open a new ticket",
@@ -1605,29 +1605,29 @@ function HelpCenterCreateForm({
1605
1605
  // src/components/tickets/help-center-list.tsx
1606
1606
 
1607
1607
  function HelpCenterList({ toast: toast2 = _chunkWCVZCGK5cjs.toast, backButton, title, shell } = {}) {
1608
- const identity = _chunkSEXWHIMScjs.useChatIdentity.call(void 0, );
1608
+ const identity = _chunk7AM6C6XHcjs.useChatIdentity.call(void 0, );
1609
1609
  const searchParams = _chunk7DNL734Scjs.useSearchParams.call(void 0, );
1610
1610
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
1611
1611
  const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
1612
- const search = searchParams.get(_chunkP42V6N34cjs.DEV_SECTION_PARAM_KEYS.search) || "";
1612
+ const search = searchParams.get(_chunkFYOKS5RIcjs.DEV_SECTION_PARAM_KEYS.search) || "";
1613
1613
  const status = searchParams.get("status") || "all";
1614
- const ticketParam = searchParams.get(_chunkP42V6N34cjs.TICKET_OPEN_PARAM) || "";
1614
+ const ticketParam = searchParams.get(_chunkFYOKS5RIcjs.TICKET_OPEN_PARAM) || "";
1615
1615
  const page = _chunkOF6GEI5Acjs.positiveInt.call(void 0, searchParams.get("page"), 1);
1616
1616
  if (identity.isLoading) {
1617
1617
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1618
- _chunk3AHTOSXJcjs.DevSectionPage,
1618
+ _chunkC4HRRB3Vcjs.DevSectionPage,
1619
1619
  {
1620
1620
  sectionKey: "tickets",
1621
1621
  backButton,
1622
1622
  title,
1623
1623
  shell,
1624
1624
  preControls: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpCenterCreateFormSkeleton, {}),
1625
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3AHTOSXJcjs.DevCardRowSkeletonList, {})
1625
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC4HRRB3Vcjs.DevCardRowSkeletonList, {})
1626
1626
  }
1627
1627
  );
1628
1628
  }
1629
1629
  if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _66 => _66.user, 'optionalAccess', _67 => _67.email])) {
1630
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3AHTOSXJcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1630
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC4HRRB3Vcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1631
1631
  _chunkPLYEKV3Ncjs.EmptyState,
1632
1632
  {
1633
1633
  type: "generic",
@@ -1679,8 +1679,8 @@ function HelpCenterListAuthed({
1679
1679
  const setOpenTicket = _react.useCallback.call(void 0,
1680
1680
  (externalId) => {
1681
1681
  const params = new URLSearchParams(searchParams.toString());
1682
- if (externalId) params.set(_chunkP42V6N34cjs.TICKET_OPEN_PARAM, externalId);
1683
- else params.delete(_chunkP42V6N34cjs.TICKET_OPEN_PARAM);
1682
+ if (externalId) params.set(_chunkFYOKS5RIcjs.TICKET_OPEN_PARAM, externalId);
1683
+ else params.delete(_chunkFYOKS5RIcjs.TICKET_OPEN_PARAM);
1684
1684
  const qs = params.toString();
1685
1685
  router.replace(qs ? `${pathname}?${qs}` : pathname, { scroll: false });
1686
1686
  },
@@ -1757,15 +1757,15 @@ function HelpCenterListAuthed({
1757
1757
  ] }),
1758
1758
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "accent", onClick: () => refetch(), children: "Retry" })
1759
1759
  ] }),
1760
- !error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3AHTOSXJcjs.DevCardRowSkeletonList, {}) : !hasResults && isFetching ? (
1760
+ !error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC4HRRB3Vcjs.DevCardRowSkeletonList, {}) : !hasResults && isFetching ? (
1761
1761
  // Bridge state — background refetch in flight and the
1762
1762
  // optimistic placeholder was just removed by the mutation
1763
1763
  // callback. Without this branch "No tickets yet" would flash
1764
1764
  // for ~50ms between `removeOptimistic` and the server
1765
1765
  // response landing.
1766
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3AHTOSXJcjs.DevCardRowSkeletonList, { rows: 1 })
1766
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC4HRRB3Vcjs.DevCardRowSkeletonList, { rows: 1 })
1767
1767
  ) : !hasResults ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1768
- _chunk3AHTOSXJcjs.ListEmptyState,
1768
+ _chunkC4HRRB3Vcjs.ListEmptyState,
1769
1769
  {
1770
1770
  isFiltered: hasActiveFilters,
1771
1771
  filtered: {
@@ -1796,11 +1796,11 @@ function HelpCenterListAuthed({
1796
1796
  /* @__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,
1797
1797
  HelpCenterCard,
1798
1798
  {
1799
- id: _chunkP42V6N34cjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1799
+ id: _chunkFYOKS5RIcjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
1800
1800
  ticket,
1801
1801
  expanded: expandedTicketId === ticket.id,
1802
1802
  onToggle: toggleRow,
1803
- busy: _chunkOJLR5MEOcjs.isOptimistic.call(void 0, ticket) ? false : actions.isRowBusy(ticket.id),
1803
+ busy: _chunkYD4LJZV4cjs.isOptimistic.call(void 0, ticket) ? false : actions.isRowBusy(ticket.id),
1804
1804
  supportSystemDown,
1805
1805
  onSendMessage: actions.sendMessage,
1806
1806
  onClose: actions.closeTicket,
@@ -1814,7 +1814,7 @@ function HelpCenterListAuthed({
1814
1814
  ) }),
1815
1815
  !error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPLYEKV3Ncjs.UnifiedPagination, { currentPage: page, totalPages })
1816
1816
  ] });
1817
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3AHTOSXJcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, preControls: form, children: body });
1817
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC4HRRB3Vcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, preControls: form, children: body });
1818
1818
  }
1819
1819
 
1820
1820
 
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  PageLayout,
7
7
  PageShell
8
- } from "./chunk-4L6XCMOU.js";
8
+ } from "./chunk-5HB7FLCV.js";
9
9
  import {
10
10
  useScrollToHash
11
11
  } from "./chunk-KUC673HM.js";
@@ -16,7 +16,7 @@ import {
16
16
  faqItemAnchor,
17
17
  faqSectionSlug,
18
18
  parseFaqHash
19
- } from "./chunk-PO33GZVY.js";
19
+ } from "./chunk-SMAAV3HL.js";
20
20
  import {
21
21
  STICKY_HEADER_OFFSET_PX,
22
22
  navigateSamePageHash,
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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 _chunkP42V6N34cjs = require('./chunk-P42V6N34.cjs');
4
+ var _chunkFYOKS5RIcjs = require('./chunk-FYOKS5RI.cjs');
5
5
 
6
6
 
7
7
  var _chunkOF6GEI5Acjs = require('./chunk-OF6GEI5A.cjs');
@@ -12,7 +12,7 @@ var _chunkOF6GEI5Acjs = require('./chunk-OF6GEI5A.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkSEXWHIMScjs = require('./chunk-SEXWHIMS.cjs');
15
+ var _chunk7AM6C6XHcjs = require('./chunk-7AM6C6XH.cjs');
16
16
 
17
17
 
18
18
  var _chunkUVTD52MDcjs = require('./chunk-UVTD52MD.cjs');
@@ -39,7 +39,7 @@ var _jsxruntime = require('react/jsx-runtime');
39
39
  function DocSearchResultRow({ result, isHighlighted }) {
40
40
  const docType = _optionalChain([result, 'access', _ => _.metadata, 'optionalAccess', _2 => _2.documentType]) || void 0;
41
41
  const sourceRepo = _optionalChain([result, 'access', _3 => _3.metadata, 'optionalAccess', _4 => _4.sourceRepo]) || void 0;
42
- const { Icon: SourceIcon, label: iconLabel } = _chunkSEXWHIMScjs.resolveSourceIcon.call(void 0, {
42
+ const { Icon: SourceIcon, label: iconLabel } = _chunk7AM6C6XHcjs.resolveSourceIcon.call(void 0, {
43
43
  sourceRepo,
44
44
  documentType: docType
45
45
  });
@@ -69,7 +69,7 @@ function DocSearchBar({
69
69
  renderResult
70
70
  }) {
71
71
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
72
- _chunkP42V6N34cjs.SearchInput,
72
+ _chunkFYOKS5RIcjs.SearchInput,
73
73
  {
74
74
  placeholder,
75
75
  value: query,
@@ -119,7 +119,7 @@ function mapDocSearchResults(docs) {
119
119
  results.push({
120
120
  id: `group-${entry.repo}`,
121
121
  // Same table label and count as the chat's grouped chip: one owner each.
122
- title: `${_chunkSEXWHIMScjs.getSourceLabel.call(void 0, entry.repo)} ${_chunkSEXWHIMScjs.recordCountLabel.call(void 0, rows.length)}`,
122
+ title: `${_chunk7AM6C6XHcjs.getSourceLabel.call(void 0, entry.repo)} ${_chunk7AM6C6XHcjs.recordCountLabel.call(void 0, rows.length)}`,
123
123
  path: rows[0].path,
124
124
  type: "file",
125
125
  metadata: {
@@ -311,27 +311,27 @@ function useDocSearch(config) {
311
311
  case "navigate-same-tab": {
312
312
  if (wantsNewTab) {
313
313
  setKeepOpen(true);
314
- window.open(action.href, "_blank", _chunkSEXWHIMScjs.NEW_TAB_FEATURES);
314
+ window.open(action.href, "_blank", _chunk7AM6C6XHcjs.NEW_TAB_FEATURES);
315
315
  return;
316
316
  }
317
317
  setKeepOpen(false);
318
318
  const path = baseRoute && action.href.startsWith(`${baseRoute}/`) ? action.href.slice(baseRoute.length + 1) : null;
319
319
  if (path && _optionalChain([onInPageSwap, 'optionalCall', _16 => _16(path)])) return;
320
- router.push(_chunkSEXWHIMScjs.stripSameOriginToPath.call(void 0, action.href));
320
+ router.push(_chunk7AM6C6XHcjs.stripSameOriginToPath.call(void 0, action.href));
321
321
  return;
322
322
  }
323
323
  case "navigate-new-tab":
324
324
  setKeepOpen(true);
325
325
  if (_optionalChain([runtime, 'optionalAccess', _17 => _17.navigation, 'access', _18 => _18.mode]) === "embed") {
326
326
  const targetPlatform = _nullishCoalesce(_optionalChain([result, 'access', _19 => _19.metadata, 'optionalAccess', _20 => _20.targetPlatform]), () => ( null));
327
- _chunkSEXWHIMScjs.resolveExternalNavigation.call(void 0, {
327
+ _chunk7AM6C6XHcjs.resolveExternalNavigation.call(void 0, {
328
328
  href: action.href,
329
329
  targetPlatform,
330
330
  runtime
331
331
  }).open();
332
332
  return;
333
333
  }
334
- window.open(action.href, "_blank", _chunkSEXWHIMScjs.NEW_TAB_FEATURES);
334
+ window.open(action.href, "_blank", _chunk7AM6C6XHcjs.NEW_TAB_FEATURES);
335
335
  return;
336
336
  case "ask-ai":
337
337
  setKeepOpen(false);