@flamingo-stack/openframe-frontend-core 0.0.775 → 0.0.777
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.
- package/dist/case-study-card-FMH622O5.cjs +25 -0
- package/dist/{chunk-F67SEXCW.cjs → chunk-3PCSEZNZ.cjs} +53 -53
- package/dist/{chunk-R3JX4MXD.cjs → chunk-3ZLPYEL5.cjs} +10 -10
- package/dist/{chunk-SWEPHSIP.cjs → chunk-4JZDJ34E.cjs} +17 -17
- package/dist/{chunk-DGFDBPO7.cjs → chunk-5GJM7VRR.cjs} +1 -94
- package/dist/{chunk-E64HPPRH.cjs → chunk-5PK22JP7.cjs} +50 -50
- package/dist/{chunk-57B5RUYD.cjs → chunk-64KBI5MI.cjs} +2 -2
- package/dist/{chunk-PMX6QNNN.cjs → chunk-7LJSGOWS.cjs} +18 -16
- package/dist/{chunk-ASMNNSUQ.cjs → chunk-7PNRXJX2.cjs} +3 -3
- package/dist/{chunk-VAGZJRYV.cjs → chunk-ALA4KHTE.cjs} +6 -6
- package/dist/{chunk-VFZFCRAL.cjs → chunk-AQXKXZWB.cjs} +4 -4
- package/dist/{chunk-4LFB4YY3.cjs → chunk-BDDOC425.cjs} +8 -8
- package/dist/{chunk-VFUMM6JC.cjs → chunk-BEMGJDXI.cjs} +2 -2
- package/dist/{chunk-HY6BCZH7.cjs → chunk-BNUZKBNV.cjs} +3 -3
- package/dist/{chunk-Y3EBUFX4.cjs → chunk-CGQ7CL62.cjs} +213 -1647
- package/dist/{chunk-ODF3KCRK.cjs → chunk-DOM5CUEY.cjs} +33 -31
- package/dist/{chunk-36GYLB3Z.cjs → chunk-G2N7INFT.cjs} +28 -28
- package/dist/{chunk-42JGOJCB.cjs → chunk-HXLOCZMG.cjs} +595 -591
- package/dist/{chunk-CZIMISAR.cjs → chunk-JB2SEF6Q.cjs} +7 -7
- package/dist/{chunk-6SJYFUGD.cjs → chunk-JMFF3L3T.cjs} +28 -26
- package/dist/{chunk-LJT2KRE2.cjs → chunk-KLTUTZBO.cjs} +24 -24
- package/dist/{chunk-EHJE3UWZ.cjs → chunk-LBGAHB6X.cjs} +20 -20
- package/dist/{chunk-TUXPFF4P.cjs → chunk-LGNJTSKB.cjs} +37 -35
- package/dist/{chunk-FHTTRWAK.cjs → chunk-LU2DGST4.cjs} +97 -95
- package/dist/chunk-MQPTOJMF.cjs +1504 -0
- package/dist/{chunk-XXJL5GY3.cjs → chunk-OJZBZH56.cjs} +3 -3
- package/dist/{chunk-TF2XYDH3.cjs → chunk-QIATO42V.cjs} +3 -3
- package/dist/{chunk-RB7VLVMD.cjs → chunk-R6BKQKIF.cjs} +9 -7
- package/dist/{chunk-BTVO676B.cjs → chunk-S3YDUX2I.cjs} +114 -112
- package/dist/{chunk-VISK6LKE.cjs → chunk-SDZG7VV7.cjs} +5 -5
- package/dist/{chunk-V3W56L2D.cjs → chunk-SIDDZZKL.cjs} +38 -38
- package/dist/chunk-SZHDXXMK.cjs +102 -0
- package/dist/{chunk-5YJWT5ZQ.cjs → chunk-T47VAUYR.cjs} +91 -89
- package/dist/{chunk-IQQ3SLUK.cjs → chunk-T7NDPPLF.cjs} +23 -21
- package/dist/{chunk-5P4TDV7V.cjs → chunk-TUAATMUE.cjs} +5 -93
- package/dist/{chunk-KWZ62LPZ.cjs → chunk-TZP7PSPG.cjs} +249 -243
- package/dist/{chunk-USMR73ND.cjs → chunk-U5VQFKRZ.cjs} +6 -6
- package/dist/{chunk-L5CKY5WA.cjs → chunk-UW6AOF42.cjs} +22 -22
- package/dist/chunk-V4FXUIMH.cjs +92 -0
- package/dist/{chunk-2JRSYWFP.cjs → chunk-VXAKQRV7.cjs} +5 -5
- package/dist/{chunk-3XLDYEQD.cjs → chunk-VY3NGJRH.cjs} +53 -51
- package/dist/{chunk-TOPGBOCN.cjs → chunk-WCSWWVPF.cjs} +2 -2
- package/dist/{chunk-EQBJHJS7.cjs → chunk-WMZIBRTR.cjs} +2 -2
- package/dist/{chunk-5QP3K2CE.cjs → chunk-XEYL6AFZ.cjs} +9 -9
- package/dist/{chunk-VDXBACD3.cjs → chunk-XVAVQ4BK.cjs} +116 -82
- package/dist/{chunk-5AOKXXHV.cjs → chunk-Y6MQBLTZ.cjs} +4 -4
- package/dist/{cloud-tenants-ISGAMTJD.cjs → cloud-tenants-EUH42CCL.cjs} +27 -24
- package/dist/components/case-studies/index.cjs +45 -41
- package/dist/components/chat/index.cjs +21 -17
- package/dist/components/contact/index.cjs +28 -25
- package/dist/components/docs/index.cjs +31 -28
- package/dist/components/embeds/index.cjs +28 -25
- package/dist/components/faq/index.cjs +29 -26
- package/dist/components/features/index.cjs +28 -24
- package/dist/components/features/use-file-playback.d.ts +6 -4
- package/dist/components/features/use-file-playback.d.ts.map +1 -1
- package/dist/components/features/use-file-playback.js +16 -7
- package/dist/components/help-center-pages/index.cjs +131 -127
- package/dist/components/index.cjs +94 -90
- package/dist/components/meeting-scheduler/index.cjs +95 -92
- package/dist/components/navigation/index.cjs +30 -27
- package/dist/components/navigation/nav-panel.d.ts.map +1 -1
- package/dist/components/navigation/nav-panel.js +47 -13
- package/dist/components/onboarding-guides/index.cjs +30 -27
- package/dist/components/product-demo/index.cjs +38 -35
- package/dist/components/related-content/index.cjs +15 -12
- package/dist/components/tickets/index.cjs +33 -30
- package/dist/components/ui/index.cjs +28 -24
- package/dist/{devices-AHJX6ACJ.cjs → devices-WL3I23EE.cjs} +28 -25
- package/dist/{embeddable-chat-DI7ZZTBP.cjs → embeddable-chat-KEWUGQIF.cjs} +99 -95
- package/dist/hooks/index.cjs +12 -10
- package/dist/index.cjs +36 -30
- package/dist/{knowledge-FH5GVRVP.cjs → knowledge-O3PXUX73.cjs} +28 -25
- package/dist/{logs-JBIHHLUQ.cjs → logs-XODCXWYI.cjs} +35 -32
- package/dist/{policies-XLJ2ABY5.cjs → policies-CQACBIKK.cjs} +31 -28
- package/dist/{remote-session-TC3BZDBZ.cjs → remote-session-TGM2OTTV.cjs} +12 -10
- package/dist/{scripts-CQLXM7PP.cjs → scripts-QMM6SEB5.cjs} +34 -31
- package/dist/{software-update-7NYZ7L76.cjs → software-update-CCCKS4ZE.cjs} +31 -28
- package/dist/{tickets-board-YT25IX3O.cjs → tickets-board-FB5AGLJD.cjs} +16 -14
- package/dist/{video-file-player-4TXA7BZF.cjs → video-file-player-SIJW5UWU.cjs} +19 -9
- package/package.json +1 -1
- package/src/components/features/use-file-playback.ts +33 -14
- package/src/components/navigation/nav-panel.tsx +74 -14
|
@@ -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
|
|
4
|
+
var _chunkG2N7INFTcjs = require('./chunk-G2N7INFT.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -9,14 +9,14 @@ var _chunk36GYLB3Zcjs = require('./chunk-36GYLB3Z.cjs');
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkJMFF3L3Tcjs = require('./chunk-JMFF3L3T.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkY6MQBLTZcjs = require('./chunk-Y6MQBLTZ.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkU5VQFKRZcjs = require('./chunk-U5VQFKRZ.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -29,11 +29,11 @@ var _chunkUSMR73NDcjs = require('./chunk-USMR73ND.cjs');
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chunkHXLOCZMGcjs = require('./chunk-HXLOCZMG.cjs');
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _chunk5PK22JP7cjs = require('./chunk-5PK22JP7.cjs');
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
|
|
@@ -43,23 +43,23 @@ var _chunkE64HPPRHcjs = require('./chunk-E64HPPRH.cjs');
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
var
|
|
46
|
+
var _chunkS3YDUX2Icjs = require('./chunk-S3YDUX2I.cjs');
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
var
|
|
52
|
+
var _chunkTZP7PSPGcjs = require('./chunk-TZP7PSPG.cjs');
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
var
|
|
55
|
+
var _chunkLBGAHB6Xcjs = require('./chunk-LBGAHB6X.cjs');
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
var
|
|
58
|
+
var _chunkXEYL6AFZcjs = require('./chunk-XEYL6AFZ.cjs');
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
|
|
62
|
-
var
|
|
62
|
+
var _chunkOJZBZH56cjs = require('./chunk-OJZBZH56.cjs');
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
|
|
@@ -70,13 +70,15 @@ var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
|
|
|
70
70
|
var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
71
71
|
|
|
72
72
|
|
|
73
|
+
var _chunkCGQ7CL62cjs = require('./chunk-CGQ7CL62.cjs');
|
|
73
74
|
|
|
74
75
|
|
|
75
76
|
|
|
76
|
-
var _chunkY3EBUFX4cjs = require('./chunk-Y3EBUFX4.cjs');
|
|
77
77
|
|
|
78
|
+
var _chunkMQPTOJMFcjs = require('./chunk-MQPTOJMF.cjs');
|
|
78
79
|
|
|
79
|
-
|
|
80
|
+
|
|
81
|
+
var _chunkBNUZKBNVcjs = require('./chunk-BNUZKBNV.cjs');
|
|
80
82
|
|
|
81
83
|
|
|
82
84
|
|
|
@@ -84,7 +86,7 @@ var _chunkHY6BCZH7cjs = require('./chunk-HY6BCZH7.cjs');
|
|
|
84
86
|
var _chunkBLH2SFOOcjs = require('./chunk-BLH2SFOO.cjs');
|
|
85
87
|
|
|
86
88
|
|
|
87
|
-
var
|
|
89
|
+
var _chunk5GJM7VRRcjs = require('./chunk-5GJM7VRR.cjs');
|
|
88
90
|
|
|
89
91
|
|
|
90
92
|
var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
|
|
@@ -151,7 +153,7 @@ var TicketActionFailure = class extends Error {
|
|
|
151
153
|
function useTicketActions(options) {
|
|
152
154
|
const queryClient = _reactquery.useQueryClient.call(void 0, );
|
|
153
155
|
const ticketActionEndpoint = _nullishCoalesce(_chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ).endpoints.ticketActionUrl, () => ( TICKET_ACTION_ENDPOINT));
|
|
154
|
-
const ticketLive =
|
|
156
|
+
const ticketLive = _chunkU5VQFKRZcjs.useOptionalTicketLive.call(void 0, );
|
|
155
157
|
const notifyTicketCreated = _optionalChain([ticketLive, 'optionalAccess', _2 => _2.notifyTicketCreated]);
|
|
156
158
|
const { prependOptimistic, removeOptimistic, removeTicketFromCache, toast: toast2, onSupportSystemDown } = options;
|
|
157
159
|
const formInFlightRef = _react.useRef.call(void 0, null);
|
|
@@ -196,7 +198,7 @@ function useTicketActions(options) {
|
|
|
196
198
|
}, []);
|
|
197
199
|
const executeTicketAction = _react.useCallback.call(void 0,
|
|
198
200
|
async (toolName, args) => {
|
|
199
|
-
const res = await
|
|
201
|
+
const res = await _chunk5GJM7VRRcjs.embedAuthedFetch.call(void 0, ticketActionEndpoint, {
|
|
200
202
|
method: "POST",
|
|
201
203
|
body: JSON.stringify({ tool_name: toolName, args })
|
|
202
204
|
});
|
|
@@ -593,7 +595,7 @@ function useTicketsList(filters) {
|
|
|
593
595
|
pageSize
|
|
594
596
|
};
|
|
595
597
|
if (statusFilter) body.status = statusFilter;
|
|
596
|
-
const response = await
|
|
598
|
+
const response = await _chunk5GJM7VRRcjs.embedAuthedFetch.call(void 0, findTicketEndpoint, {
|
|
597
599
|
method: "POST",
|
|
598
600
|
body: JSON.stringify(body)
|
|
599
601
|
});
|
|
@@ -644,7 +646,7 @@ var COUNTER_VISIBLE_AT = Math.floor(TICKET_TEXT_MAX_CHARS * 0.8);
|
|
|
644
646
|
function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
|
|
645
647
|
const [subject, setSubject] = _react.useState.call(void 0, "");
|
|
646
648
|
const [content, setContent] = _react.useState.call(void 0, "");
|
|
647
|
-
const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } =
|
|
649
|
+
const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } = _chunkTZP7PSPGcjs.useChatAttachments.call(void 0, );
|
|
648
650
|
const trimmedSubject = subject.trim();
|
|
649
651
|
const trimmedContent = content.trim();
|
|
650
652
|
const overCap = content.length > TICKET_TEXT_MAX_CHARS;
|
|
@@ -664,7 +666,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
|
|
|
664
666
|
clear();
|
|
665
667
|
}
|
|
666
668
|
};
|
|
667
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
669
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMQPTOJMFcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: handleSubmit, className: "flex flex-col gap-6 md:flex-row", ..._chunkS3YDUX2Icjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS, children: [
|
|
668
670
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1 md:max-w-md", children: [
|
|
669
671
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "mb-2 text-ods-text-primary text-h2", children: "Need Support?" }),
|
|
670
672
|
/* @__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." }),
|
|
@@ -689,7 +691,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
|
|
|
689
691
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
690
692
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: "ticket-content", className: "mb-1 block text-ods-text-primary text-h6", children: "Your Message" }),
|
|
691
693
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
692
|
-
|
|
694
|
+
_chunkHXLOCZMGcjs.Textarea,
|
|
693
695
|
{
|
|
694
696
|
id: "ticket-content",
|
|
695
697
|
placeholder: "Describe your issue or question in detail...",
|
|
@@ -707,7 +709,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
|
|
|
707
709
|
] })
|
|
708
710
|
] }),
|
|
709
711
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
710
|
-
|
|
712
|
+
_chunkTZP7PSPGcjs.ChatAttachmentChipStrip,
|
|
711
713
|
{
|
|
712
714
|
attachments,
|
|
713
715
|
onRemove: removeAttachment,
|
|
@@ -716,7 +718,7 @@ function TicketOpenForm({ onSubmit, isSubmitting, supportSystemDown }) {
|
|
|
716
718
|
),
|
|
717
719
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-3", children: [
|
|
718
720
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
719
|
-
|
|
721
|
+
_chunkTZP7PSPGcjs.ChatAttachmentAddButton,
|
|
720
722
|
{
|
|
721
723
|
attachmentsEnabled: !supportSystemDown,
|
|
722
724
|
attachmentsCount: attachments.length,
|
|
@@ -746,7 +748,7 @@ var _usesticktobottom = require('use-stick-to-bottom');
|
|
|
746
748
|
|
|
747
749
|
var LIST_ENGAGEMENTS_ENDPOINT = "/api/chat/agent/list-engagements";
|
|
748
750
|
function useTicketEngagements(externalTicketId, enabled = true) {
|
|
749
|
-
const identity =
|
|
751
|
+
const identity = _chunkTZP7PSPGcjs.useChatIdentity.call(void 0, );
|
|
750
752
|
const identityKey = _nullishCoalesce(_optionalChain([identity, 'access', _22 => _22.user, 'optionalAccess', _23 => _23.email]), () => ( "anon"));
|
|
751
753
|
const listEngagementsEndpoint = _nullishCoalesce(_chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ).endpoints.listEngagementsUrl, () => ( LIST_ENGAGEMENTS_ENDPOINT));
|
|
752
754
|
const fetchable = enabled && !!externalTicketId && !externalTicketId.startsWith("temp-");
|
|
@@ -766,7 +768,7 @@ function useTicketEngagements(externalTicketId, enabled = true) {
|
|
|
766
768
|
// `['ticket-engagements', id]`; focus/mount refetch is the no-stream
|
|
767
769
|
// fallback.
|
|
768
770
|
queryFn: async () => {
|
|
769
|
-
const response = await
|
|
771
|
+
const response = await _chunk5GJM7VRRcjs.embedAuthedFetch.call(void 0, listEngagementsEndpoint, {
|
|
770
772
|
method: "POST",
|
|
771
773
|
body: JSON.stringify({ ticket_id: externalTicketId })
|
|
772
774
|
});
|
|
@@ -819,7 +821,7 @@ function TicketLinkedDeliveryCard({ clickup, className }) {
|
|
|
819
821
|
dateClosed: clickup.date_closed,
|
|
820
822
|
clickupUrl: _nullishCoalesce(clickup.clickup_url, () => ( ""))
|
|
821
823
|
};
|
|
822
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${
|
|
824
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${_chunkMQPTOJMFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS} ${_nullishCoalesce(className, () => ( ""))}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJMFF3L3Tcjs.DeliveryRow, { item, href: clickup.delivery_href, caption: "Linked delivery" }) });
|
|
823
825
|
}
|
|
824
826
|
|
|
825
827
|
// src/components/tickets/ticket-reply-composer.tsx
|
|
@@ -834,7 +836,7 @@ function TicketReplyComposer({
|
|
|
834
836
|
}) {
|
|
835
837
|
const [resolution, setResolution] = _react.useState.call(void 0, "");
|
|
836
838
|
const [closeDialogOpen, setCloseDialogOpen] = _react.useState.call(void 0, false);
|
|
837
|
-
const attachments =
|
|
839
|
+
const attachments = _chunkTZP7PSPGcjs.useChatAttachments.call(void 0, );
|
|
838
840
|
const { readyAttachments, clear: clearAttachments } = attachments;
|
|
839
841
|
const ticketRef = { id: ticket.id, external_id: ticket.external_id };
|
|
840
842
|
const hasReadyFiles = readyAttachments.length > 0;
|
|
@@ -855,7 +857,7 @@ function TicketReplyComposer({
|
|
|
855
857
|
const disabled = busy || supportSystemDown;
|
|
856
858
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
857
859
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
858
|
-
|
|
860
|
+
_chunkTZP7PSPGcjs.ChatAttachmentChipStrip,
|
|
859
861
|
{
|
|
860
862
|
attachments: attachments.attachments,
|
|
861
863
|
onRemove: attachments.removeAttachment,
|
|
@@ -864,7 +866,7 @@ function TicketReplyComposer({
|
|
|
864
866
|
}
|
|
865
867
|
),
|
|
866
868
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
867
|
-
|
|
869
|
+
_chunkXEYL6AFZcjs.ChatInput,
|
|
868
870
|
{
|
|
869
871
|
fullWidth: true,
|
|
870
872
|
autoFocus: true,
|
|
@@ -878,7 +880,7 @@ function TicketReplyComposer({
|
|
|
878
880
|
),
|
|
879
881
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
880
882
|
!supportSystemDown && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
881
|
-
|
|
883
|
+
_chunkTZP7PSPGcjs.ChatAttachmentAddButton,
|
|
882
884
|
{
|
|
883
885
|
attachmentsEnabled: true,
|
|
884
886
|
attachmentsCount: attachments.attachments.length,
|
|
@@ -901,13 +903,13 @@ function TicketReplyComposer({
|
|
|
901
903
|
}
|
|
902
904
|
)
|
|
903
905
|
] }),
|
|
904
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
905
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
906
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
907
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
906
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.AlertDialog, { open: closeDialogOpen, onOpenChange: setCloseDialogOpen, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHXLOCZMGcjs.AlertDialogContent, { className: "border-ods-border bg-ods-card", children: [
|
|
907
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHXLOCZMGcjs.AlertDialogHeader, { children: [
|
|
908
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.AlertDialogTitle, { className: "text-ods-text-primary", children: "Close this ticket?" }),
|
|
909
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.AlertDialogDescription, { className: "text-ods-text-secondary", children: "Add an optional resolution note below. You can reopen the ticket later if needed." })
|
|
908
910
|
] }),
|
|
909
911
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
910
|
-
|
|
912
|
+
_chunkHXLOCZMGcjs.Textarea,
|
|
911
913
|
{
|
|
912
914
|
value: resolution,
|
|
913
915
|
onChange: (e) => setResolution(e.target.value),
|
|
@@ -917,9 +919,9 @@ function TicketReplyComposer({
|
|
|
917
919
|
className: "mt-2"
|
|
918
920
|
}
|
|
919
921
|
),
|
|
920
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
922
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHXLOCZMGcjs.AlertDialogFooter, { children: [
|
|
921
923
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
922
|
-
|
|
924
|
+
_chunkHXLOCZMGcjs.AlertDialogCancel,
|
|
923
925
|
{
|
|
924
926
|
disabled: busy,
|
|
925
927
|
className: "border-ods-border bg-transparent text-ods-text-primary hover:bg-ods-border",
|
|
@@ -927,7 +929,7 @@ function TicketReplyComposer({
|
|
|
927
929
|
}
|
|
928
930
|
),
|
|
929
931
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
930
|
-
|
|
932
|
+
_chunkHXLOCZMGcjs.AlertDialogAction,
|
|
931
933
|
{
|
|
932
934
|
onClick: () => void confirmClose(),
|
|
933
935
|
disabled: busy,
|
|
@@ -989,10 +991,10 @@ var TICKET_FEED_HEIGHT = "h-[60vh] md:h-[420px]";
|
|
|
989
991
|
var TICKET_FEED_INNER = "flex flex-col gap-4 md:gap-6 px-4 md:px-6 py-4 md:py-6";
|
|
990
992
|
var TICKET_FEED_SKELETON_ROWS = 6;
|
|
991
993
|
function TicketTimelinePanel({ ticket }) {
|
|
992
|
-
const identity =
|
|
994
|
+
const identity = _chunkTZP7PSPGcjs.useChatIdentity.call(void 0, );
|
|
993
995
|
const externalId = isOptimistic(ticket) ? null : ticket.external_id;
|
|
994
996
|
const { engagements, isLoading } = useTicketEngagements(externalId, !!externalId);
|
|
995
|
-
const live =
|
|
997
|
+
const live = _chunkU5VQFKRZcjs.useOptionalTicketLive.call(void 0, );
|
|
996
998
|
const setOpenTicketId = _optionalChain([live, 'optionalAccess', _26 => _26.setOpenTicketId]);
|
|
997
999
|
const markRead = _optionalChain([live, 'optionalAccess', _27 => _27.markRead]);
|
|
998
1000
|
const markReadDebounceRef = _react.useRef.call(void 0, null);
|
|
@@ -1031,11 +1033,11 @@ function TicketTimelinePanel({ ticket }) {
|
|
|
1031
1033
|
const customerName = (isViewerTheCustomer ? viewerName : null) || ticketCustomerName || viewerName || _optionalChain([identity, 'access', _41 => _41.user, 'optionalAccess', _42 => _42.email]) || "You";
|
|
1032
1034
|
const customerAvatar = isViewerTheCustomer ? _nullishCoalesce(_optionalChain([identity, 'access', _43 => _43.user, 'optionalAccess', _44 => _44.avatarUrl]), () => ( void 0)) : void 0;
|
|
1033
1035
|
if (isLoading) {
|
|
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,
|
|
1036
|
+
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, _chunkS3YDUX2Icjs.ChatMessageRowSkeleton, {}, i)) }) });
|
|
1035
1037
|
}
|
|
1036
1038
|
if (bodyTurns.length === 0 && engagements.length === 0) {
|
|
1037
1039
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1038
|
-
|
|
1040
|
+
_chunkY6MQBLTZcjs.EmptyState,
|
|
1039
1041
|
{
|
|
1040
1042
|
type: "generic",
|
|
1041
1043
|
title: "No conversation yet",
|
|
@@ -1050,7 +1052,7 @@ function TicketTimelinePanel({ ticket }) {
|
|
|
1050
1052
|
const isResolution = turn.startsWith("[Resolution]");
|
|
1051
1053
|
const text = isResolution ? turn.replace(/^\[Resolution\]\s*/, "") : turn;
|
|
1052
1054
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1053
|
-
|
|
1055
|
+
_chunkS3YDUX2Icjs.ChatMessageRow,
|
|
1054
1056
|
{
|
|
1055
1057
|
displayName: customerName,
|
|
1056
1058
|
avatarUrl: customerAvatar,
|
|
@@ -1079,13 +1081,13 @@ function TicketTimelinePanel({ ticket }) {
|
|
|
1079
1081
|
}
|
|
1080
1082
|
const engAttachments = mapEngagementAttachments(eng.attachments);
|
|
1081
1083
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1082
|
-
|
|
1084
|
+
_chunkS3YDUX2Icjs.ChatMessageRow,
|
|
1083
1085
|
{
|
|
1084
1086
|
displayName: author,
|
|
1085
1087
|
avatarUrl: avatarSrc,
|
|
1086
|
-
timeLabel: eng.createdAt ?
|
|
1088
|
+
timeLabel: eng.createdAt ? _chunkLBGAHB6Xcjs.formatRelativeTime.call(void 0, eng.createdAt) : null,
|
|
1087
1089
|
body: stripAttachmentsPreamble(_nullishCoalesce(eng.body, () => ( ""))),
|
|
1088
|
-
footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1090
|
+
footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.TicketAttachmentsList, { attachments: engAttachments, size: "compact" }) }) : null
|
|
1089
1091
|
},
|
|
1090
1092
|
eng.id
|
|
1091
1093
|
);
|
|
@@ -1170,7 +1172,7 @@ function AssignedAgentRow({ assignedOwner }) {
|
|
|
1170
1172
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h5", children: "Assigned to" }),
|
|
1171
1173
|
displayLabel ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1.5 font-medium text-ods-text-primary", children: [
|
|
1172
1174
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1173
|
-
|
|
1175
|
+
_chunkBNUZKBNVcjs.SquareAvatar,
|
|
1174
1176
|
{
|
|
1175
1177
|
size: "sm",
|
|
1176
1178
|
variant: "round",
|
|
@@ -1202,7 +1204,7 @@ function TicketRow({
|
|
|
1202
1204
|
const rowRef = _react.useRef.call(void 0, null);
|
|
1203
1205
|
const handleClick = _react.useCallback.call(void 0, () => {
|
|
1204
1206
|
onToggle(ticket.id);
|
|
1205
|
-
|
|
1207
|
+
_chunkOJZBZH56cjs.scrollElementIntoView.call(void 0, rowRef.current, {
|
|
1206
1208
|
adjustTargetY: (raw) => {
|
|
1207
1209
|
if (!rowRef.current) return raw;
|
|
1208
1210
|
const expandedDrawer = document.querySelector('div[id^="ticket-drawer-"]');
|
|
@@ -1226,7 +1228,7 @@ function TicketRow({
|
|
|
1226
1228
|
// so the badge accurately reflects "Closed" with a checkmark.
|
|
1227
1229
|
statusLabel: _nullishCoalesce(ticket.pipeline_stage_label, () => ( void 0)),
|
|
1228
1230
|
category: _nullishCoalesce(ticket.customer_company, () => ( void 0)),
|
|
1229
|
-
timeAgo: ticket.hubspot_updated_at ?
|
|
1231
|
+
timeAgo: ticket.hubspot_updated_at ? _chunkLBGAHB6Xcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : void 0,
|
|
1230
1232
|
// Linked-work chip: surfaced whenever the ticket has a linked
|
|
1231
1233
|
// ClickUp task. Uses the linked task's own status so the chip text
|
|
1232
1234
|
// reads "Working" / "Waiting on version release" / etc. — useful
|
|
@@ -1236,7 +1238,7 @@ function TicketRow({
|
|
|
1236
1238
|
};
|
|
1237
1239
|
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: [
|
|
1238
1240
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1239
|
-
|
|
1241
|
+
_chunkS3YDUX2Icjs.ChatTicketItem,
|
|
1240
1242
|
{
|
|
1241
1243
|
ticket: tileData,
|
|
1242
1244
|
onClick: optimistic ? void 0 : handleClick,
|
|
@@ -1271,18 +1273,18 @@ function TicketRow({
|
|
|
1271
1273
|
var TICKET_CENTER_CLASS = "flex flex-col gap-6";
|
|
1272
1274
|
var TICKET_LIST_BLOCK_CLASS = "flex flex-col gap-2";
|
|
1273
1275
|
var TICKET_ROW_FRAME_CLASS = "border-b border-ods-border last:border-b-0";
|
|
1274
|
-
function TicketCenter({ toast: toast2 =
|
|
1276
|
+
function TicketCenter({ toast: toast2 = _chunk5PK22JP7cjs.toast } = {}) {
|
|
1275
1277
|
if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterPending, { region: false });
|
|
1276
1278
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterGate, { toast: toast2 });
|
|
1277
1279
|
}
|
|
1278
1280
|
function TicketCenterGate({ toast: toast2 }) {
|
|
1279
|
-
const identity =
|
|
1281
|
+
const identity = _chunkTZP7PSPGcjs.useChatIdentity.call(void 0, );
|
|
1280
1282
|
if (identity.isLoading) {
|
|
1281
1283
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterPending, {});
|
|
1282
1284
|
}
|
|
1283
1285
|
if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _63 => _63.user, 'optionalAccess', _64 => _64.email])) {
|
|
1284
1286
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1285
|
-
|
|
1287
|
+
_chunkY6MQBLTZcjs.EmptyState,
|
|
1286
1288
|
{
|
|
1287
1289
|
type: "generic",
|
|
1288
1290
|
title: "Sign in to manage tickets",
|
|
@@ -1331,7 +1333,7 @@ function TicketCenterAuthed({
|
|
|
1331
1333
|
const toggleRow = _react.useCallback.call(void 0, (id) => {
|
|
1332
1334
|
setExpandedTicketId((prev) => prev === id ? null : id);
|
|
1333
1335
|
}, []);
|
|
1334
|
-
const syncInPage =
|
|
1336
|
+
const syncInPage = _chunkJMFF3L3Tcjs.usePageDataSync.call(void 0, sync, isLoading);
|
|
1335
1337
|
const merged = [...optimisticTickets, ...tickets];
|
|
1336
1338
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1337
1339
|
TicketCenterView,
|
|
@@ -1347,7 +1349,7 @@ function TicketCenterAuthed({
|
|
|
1347
1349
|
renderRow: (ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1348
1350
|
TicketRow,
|
|
1349
1351
|
{
|
|
1350
|
-
id:
|
|
1352
|
+
id: _chunkS3YDUX2Icjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
|
|
1351
1353
|
ticket,
|
|
1352
1354
|
expanded: expandedTicketId === ticket.id,
|
|
1353
1355
|
onToggle: toggleRow,
|
|
@@ -1366,7 +1368,7 @@ function TicketCenterAuthed({
|
|
|
1366
1368
|
function TicketCenterPending({
|
|
1367
1369
|
region = true
|
|
1368
1370
|
} = {}) {
|
|
1369
|
-
const syncInPage =
|
|
1371
|
+
const syncInPage = _chunkJMFF3L3Tcjs.usePageDataSync.call(void 0, null, true);
|
|
1370
1372
|
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,
|
|
1371
1373
|
TicketCenterView,
|
|
1372
1374
|
{
|
|
@@ -1408,8 +1410,8 @@ function TicketList({
|
|
|
1408
1410
|
}) {
|
|
1409
1411
|
if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, ) || loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketListSkeleton, {});
|
|
1410
1412
|
if (tickets.length === 0) {
|
|
1411
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1412
|
-
|
|
1413
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMQPTOJMFcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1414
|
+
_chunkY6MQBLTZcjs.EmptyState,
|
|
1413
1415
|
{
|
|
1414
1416
|
type: "generic",
|
|
1415
1417
|
title: "No tickets yet",
|
|
@@ -1418,7 +1420,7 @@ function TicketList({
|
|
|
1418
1420
|
}
|
|
1419
1421
|
) });
|
|
1420
1422
|
}
|
|
1421
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1423
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMQPTOJMFcjs.Card, { className: "overflow-hidden", children: tickets.map(renderRow) });
|
|
1422
1424
|
}
|
|
1423
1425
|
function TicketListHeader({
|
|
1424
1426
|
sync,
|
|
@@ -1429,7 +1431,7 @@ function TicketListHeader({
|
|
|
1429
1431
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-3", children: [
|
|
1430
1432
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h5", children: "Your Current Tickets" }),
|
|
1431
1433
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 text-ods-text-secondary text-h6", children: [
|
|
1432
|
-
sync !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1434
|
+
sync !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.DataSyncLine, { sync, loading: syncLoading, inline: true }),
|
|
1433
1435
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { inert: !onRefresh || void 0, "aria-hidden": !onRefresh || void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1434
1436
|
_chunkTF5D5MNOcjs.Button,
|
|
1435
1437
|
{
|
|
@@ -1446,11 +1448,11 @@ function TicketListHeader({
|
|
|
1446
1448
|
] });
|
|
1447
1449
|
}
|
|
1448
1450
|
function TicketListSkeleton() {
|
|
1449
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1451
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMQPTOJMFcjs.Card, { className: "overflow-hidden", children: Array.from({ length: TICKETS_PAGE_SIZE }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1450
1452
|
"div",
|
|
1451
1453
|
{
|
|
1452
1454
|
className: TICKET_ROW_FRAME_CLASS,
|
|
1453
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1455
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkS3YDUX2Icjs.ChatTicketItemSkeleton, {})
|
|
1454
1456
|
},
|
|
1455
1457
|
i
|
|
1456
1458
|
)) });
|
|
@@ -1480,7 +1482,7 @@ function HelpCenterCard({
|
|
|
1480
1482
|
const optimistic = isOptimistic(ticket);
|
|
1481
1483
|
const rawStatus = (_nullishCoalesce(ticket.status, () => ( "OPEN"))).toUpperCase();
|
|
1482
1484
|
const priority = (_nullishCoalesce(ticket.priority, () => ( ""))).toUpperCase();
|
|
1483
|
-
const relativeUpdated = ticket.hubspot_updated_at ?
|
|
1485
|
+
const relativeUpdated = ticket.hubspot_updated_at ? _chunkLBGAHB6Xcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : "recently";
|
|
1484
1486
|
const title = (ticket.subject || "").trim() || "(untitled)";
|
|
1485
1487
|
const subtitle = `UPDATED ${relativeUpdated}, #${ticket.external_id || "\u2014"}${ticket.pipeline_stage_label ? `, ${ticket.pipeline_stage_label}` : ""}`;
|
|
1486
1488
|
const description = _nullishCoalesce(_nullishCoalesce(ticket.preview, () => ( ticket.body)), () => ( ""));
|
|
@@ -1493,17 +1495,17 @@ function HelpCenterCard({
|
|
|
1493
1495
|
_react.useEffect.call(void 0, () => {
|
|
1494
1496
|
if (!isExpanded) return void 0;
|
|
1495
1497
|
const raf = requestAnimationFrame(() => {
|
|
1496
|
-
|
|
1497
|
-
headerOffset:
|
|
1498
|
+
_chunkOJZBZH56cjs.scrollElementIntoView.call(void 0, rowRef.current, {
|
|
1499
|
+
headerOffset: _chunkOJZBZH56cjs.STICKY_HEADER_OFFSET_PX
|
|
1498
1500
|
});
|
|
1499
1501
|
});
|
|
1500
1502
|
return () => cancelAnimationFrame(raf);
|
|
1501
1503
|
}, [isExpanded]);
|
|
1502
|
-
const live =
|
|
1504
|
+
const live = _chunkU5VQFKRZcjs.useOptionalTicketLive.call(void 0, );
|
|
1503
1505
|
const unreadCount = !optimistic && ticket.external_id && _optionalChain([live, 'optionalAccess', _65 => _65.unreadByTicket, 'access', _66 => _66[ticket.external_id]]) || 0;
|
|
1504
1506
|
const rightBadges = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1505
1507
|
unreadCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1506
|
-
|
|
1508
|
+
_chunkMQPTOJMFcjs.StatusBadge,
|
|
1507
1509
|
{
|
|
1508
1510
|
text: `${unreadCount} NEW`,
|
|
1509
1511
|
colorScheme: "warning",
|
|
@@ -1512,16 +1514,16 @@ function HelpCenterCard({
|
|
|
1512
1514
|
}
|
|
1513
1515
|
),
|
|
1514
1516
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1515
|
-
|
|
1517
|
+
_chunkMQPTOJMFcjs.StatusBadge,
|
|
1516
1518
|
{
|
|
1517
1519
|
text: rawStatus,
|
|
1518
|
-
colorScheme:
|
|
1520
|
+
colorScheme: _chunkCGQ7CL62cjs.getStatusColorScheme.call(void 0, rawStatus),
|
|
1519
1521
|
variant: "card",
|
|
1520
1522
|
className: "border border-ods-border"
|
|
1521
1523
|
}
|
|
1522
1524
|
),
|
|
1523
1525
|
priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1524
|
-
|
|
1526
|
+
_chunkMQPTOJMFcjs.StatusBadge,
|
|
1525
1527
|
{
|
|
1526
1528
|
text: priority,
|
|
1527
1529
|
colorScheme: mapPriorityScheme(priority),
|
|
@@ -1535,7 +1537,7 @@ function HelpCenterCard({
|
|
|
1535
1537
|
{
|
|
1536
1538
|
ref: rowRef,
|
|
1537
1539
|
id,
|
|
1538
|
-
style: { scrollMarginTop:
|
|
1540
|
+
style: { scrollMarginTop: _chunkOJZBZH56cjs.STICKY_HEADER_OFFSET_PX },
|
|
1539
1541
|
className: `border-b border-ods-border last:border-b-0 ${optimistic ? "opacity-60" : ""}`,
|
|
1540
1542
|
"aria-busy": optimistic || void 0,
|
|
1541
1543
|
children: [
|
|
@@ -1549,7 +1551,7 @@ function HelpCenterCard({
|
|
|
1549
1551
|
"aria-controls": isExpanded ? `help-center-drawer-${ticket.id}` : void 0,
|
|
1550
1552
|
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]",
|
|
1551
1553
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1552
|
-
|
|
1554
|
+
_chunkJMFF3L3Tcjs.DevCardRowContent,
|
|
1553
1555
|
{
|
|
1554
1556
|
title,
|
|
1555
1557
|
subtitle,
|
|
@@ -1660,7 +1662,7 @@ function HelpCenterCreateForm({
|
|
|
1660
1662
|
subjectError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { id: "help-center-subject-error", className: "mt-1 text-ods-error text-h6", children: subjectError })
|
|
1661
1663
|
] });
|
|
1662
1664
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1663
|
-
|
|
1665
|
+
_chunkG2N7INFTcjs.ContactForm,
|
|
1664
1666
|
{
|
|
1665
1667
|
rescue: null,
|
|
1666
1668
|
title: "Open a new ticket",
|
|
@@ -1698,31 +1700,31 @@ function HelpCenterCreateForm({
|
|
|
1698
1700
|
|
|
1699
1701
|
// src/components/tickets/help-center-list.tsx
|
|
1700
1702
|
|
|
1701
|
-
function HelpCenterList({ toast: toast2 =
|
|
1702
|
-
const identity =
|
|
1703
|
+
function HelpCenterList({ toast: toast2 = _chunk5PK22JP7cjs.toast, backButton, title, shell } = {}) {
|
|
1704
|
+
const identity = _chunkTZP7PSPGcjs.useChatIdentity.call(void 0, );
|
|
1703
1705
|
const searchParams = _chunk7DNL734Scjs.useSearchParams.call(void 0, );
|
|
1704
1706
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
1705
1707
|
const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
|
|
1706
|
-
const search = searchParams.get(
|
|
1708
|
+
const search = searchParams.get(_chunkS3YDUX2Icjs.DEV_SECTION_PARAM_KEYS.search) || "";
|
|
1707
1709
|
const status = searchParams.get("status") || "all";
|
|
1708
|
-
const ticketParam = searchParams.get(
|
|
1710
|
+
const ticketParam = searchParams.get(_chunkS3YDUX2Icjs.TICKET_OPEN_PARAM) || "";
|
|
1709
1711
|
const page = _chunkBLH2SFOOcjs.positiveInt.call(void 0, searchParams.get("page"), 1);
|
|
1710
1712
|
if (identity.isLoading) {
|
|
1711
1713
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1712
|
-
|
|
1714
|
+
_chunkJMFF3L3Tcjs.DevSectionPage,
|
|
1713
1715
|
{
|
|
1714
1716
|
sectionKey: "tickets",
|
|
1715
1717
|
backButton,
|
|
1716
1718
|
title,
|
|
1717
1719
|
shell,
|
|
1718
1720
|
preControls: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpCenterCreateFormSkeleton, {}),
|
|
1719
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1721
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJMFF3L3Tcjs.DevCardRowSkeletonList, { rows: TICKETS_PAGE_SIZE })
|
|
1720
1722
|
}
|
|
1721
1723
|
);
|
|
1722
1724
|
}
|
|
1723
1725
|
if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _67 => _67.user, 'optionalAccess', _68 => _68.email])) {
|
|
1724
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1725
|
-
|
|
1726
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJMFF3L3Tcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1727
|
+
_chunkY6MQBLTZcjs.EmptyState,
|
|
1726
1728
|
{
|
|
1727
1729
|
type: "generic",
|
|
1728
1730
|
title: "Sign in to manage tickets",
|
|
@@ -1773,8 +1775,8 @@ function HelpCenterListAuthed({
|
|
|
1773
1775
|
const setOpenTicket = _react.useCallback.call(void 0,
|
|
1774
1776
|
(externalId) => {
|
|
1775
1777
|
const params = new URLSearchParams(searchParams.toString());
|
|
1776
|
-
if (externalId) params.set(
|
|
1777
|
-
else params.delete(
|
|
1778
|
+
if (externalId) params.set(_chunkS3YDUX2Icjs.TICKET_OPEN_PARAM, externalId);
|
|
1779
|
+
else params.delete(_chunkS3YDUX2Icjs.TICKET_OPEN_PARAM);
|
|
1778
1780
|
const qs = params.toString();
|
|
1779
1781
|
router.replace(qs ? `${pathname}?${qs}` : pathname, { scroll: false });
|
|
1780
1782
|
},
|
|
@@ -1831,7 +1833,7 @@ function HelpCenterListAuthed({
|
|
|
1831
1833
|
[tickets, ticketParam, setOpenTicket]
|
|
1832
1834
|
);
|
|
1833
1835
|
const merged = [...optimisticTickets, ...tickets];
|
|
1834
|
-
|
|
1836
|
+
_chunk5PK22JP7cjs.useScrollToHash.call(void 0, tickets, { headerOffset: _chunkOJZBZH56cjs.STICKY_HEADER_OFFSET_PX });
|
|
1835
1837
|
const hasActiveFilters = search !== "" || status !== "" && status !== "all";
|
|
1836
1838
|
const hasResults = merged.length > 0;
|
|
1837
1839
|
const form = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -1851,15 +1853,15 @@ function HelpCenterListAuthed({
|
|
|
1851
1853
|
] }),
|
|
1852
1854
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "accent", onClick: () => refetch(), children: "Retry" })
|
|
1853
1855
|
] }),
|
|
1854
|
-
!error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1856
|
+
!error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJMFF3L3Tcjs.DevCardRowSkeletonList, { rows: pageSize }) : !hasResults && isFetching ? (
|
|
1855
1857
|
// Bridge state — background refetch in flight and the
|
|
1856
1858
|
// optimistic placeholder was just removed by the mutation
|
|
1857
1859
|
// callback. Without this branch "No tickets yet" would flash
|
|
1858
1860
|
// for ~50ms between `removeOptimistic` and the server
|
|
1859
1861
|
// response landing.
|
|
1860
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1862
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJMFF3L3Tcjs.DevCardRowSkeletonList, { rows: 1 })
|
|
1861
1863
|
) : !hasResults ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1862
|
-
|
|
1864
|
+
_chunkJMFF3L3Tcjs.ListEmptyState,
|
|
1863
1865
|
{
|
|
1864
1866
|
isFiltered: hasActiveFilters,
|
|
1865
1867
|
filtered: {
|
|
@@ -1890,7 +1892,7 @@ function HelpCenterListAuthed({
|
|
|
1890
1892
|
/* @__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,
|
|
1891
1893
|
HelpCenterCard,
|
|
1892
1894
|
{
|
|
1893
|
-
id:
|
|
1895
|
+
id: _chunkS3YDUX2Icjs.devSectionAnchorId.call(void 0, "ticket", ticket.external_id),
|
|
1894
1896
|
ticket,
|
|
1895
1897
|
expanded: expandedTicketId === ticket.id,
|
|
1896
1898
|
onToggle: toggleRow,
|
|
@@ -1906,9 +1908,9 @@ function HelpCenterListAuthed({
|
|
|
1906
1908
|
ticket.id
|
|
1907
1909
|
)) })
|
|
1908
1910
|
) }),
|
|
1909
|
-
!error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1911
|
+
!error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6MQBLTZcjs.UnifiedPagination, { currentPage: page, totalPages })
|
|
1910
1912
|
] });
|
|
1911
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1913
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJMFF3L3Tcjs.DevSectionPage, { sectionKey: "tickets", backButton, title, shell, preControls: form, children: body });
|
|
1912
1914
|
}
|
|
1913
1915
|
|
|
1914
1916
|
|