@flamingo-stack/openframe-frontend-core 0.0.276 → 0.0.277
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/{chunk-SITWWJWS.cjs → chunk-27NKVNWD.cjs} +25 -25
- package/dist/{chunk-SITWWJWS.cjs.map → chunk-27NKVNWD.cjs.map} +1 -1
- package/dist/{chunk-QNWFTSAG.js → chunk-6A5GGUIA.js} +2 -2
- package/dist/{chunk-NITJSVUM.js → chunk-DMAPXENZ.js} +2 -2
- package/dist/{chunk-NPKMH446.js → chunk-KBKW4LVO.js} +2 -2
- package/dist/{chunk-6IJWWLC3.cjs → chunk-L5P4IFPK.cjs} +6 -6
- package/dist/{chunk-6IJWWLC3.cjs.map → chunk-L5P4IFPK.cjs.map} +1 -1
- package/dist/{chunk-IAB7QACX.cjs → chunk-LALAS7OH.cjs} +9 -3
- package/dist/chunk-LALAS7OH.cjs.map +1 -0
- package/dist/{chunk-62U6DFIT.js → chunk-MHQPAA3W.js} +2 -2
- package/dist/{chunk-DPMW5E6Q.cjs → chunk-NCJENC5G.cjs} +10 -10
- package/dist/{chunk-DPMW5E6Q.cjs.map → chunk-NCJENC5G.cjs.map} +1 -1
- package/dist/{chunk-VAIPAZPJ.js → chunk-P6Y3S6QK.js} +9 -3
- package/dist/chunk-P6Y3S6QK.js.map +1 -0
- package/dist/{chunk-MYJKC56A.cjs → chunk-ZSPPV2SX.cjs} +34 -34
- package/dist/{chunk-MYJKC56A.cjs.map → chunk-ZSPPV2SX.cjs.map} +1 -1
- package/dist/components/chat/chat-container.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/chat/types/component.types.d.ts +11 -0
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/index.cjs +53 -53
- package/dist/components/index.js +4 -4
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +52 -52
- package/dist/components/tickets/index.js +3 -3
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/components/chat/chat-container.tsx +40 -25
- package/src/components/chat/types/component.types.ts +11 -0
- package/dist/chunk-IAB7QACX.cjs.map +0 -1
- package/dist/chunk-VAIPAZPJ.js.map +0 -1
- /package/dist/{chunk-QNWFTSAG.js.map → chunk-6A5GGUIA.js.map} +0 -0
- /package/dist/{chunk-NITJSVUM.js.map → chunk-DMAPXENZ.js.map} +0 -0
- /package/dist/{chunk-NPKMH446.js.map → chunk-KBKW4LVO.js.map} +0 -0
- /package/dist/{chunk-62U6DFIT.js.map → chunk-MHQPAA3W.js.map} +0 -0
package/dist/components/index.js
CHANGED
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
FaqAccordion,
|
|
5
5
|
FaqDocumentPage,
|
|
6
6
|
FaqSection
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-KBKW4LVO.js";
|
|
8
8
|
import {
|
|
9
9
|
GROUP_PAGE_SIZE,
|
|
10
10
|
RelatedContentSection
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-6A5GGUIA.js";
|
|
12
12
|
import {
|
|
13
13
|
DeliveryRow,
|
|
14
14
|
DevCardRowContent,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
UnifiedPagination,
|
|
21
21
|
init_unified_pagination,
|
|
22
22
|
unified_pagination_exports
|
|
23
|
-
} from "../chunk-
|
|
23
|
+
} from "../chunk-DMAPXENZ.js";
|
|
24
24
|
import {
|
|
25
25
|
ArticleAuthorByline,
|
|
26
26
|
DetailPageSkeleton,
|
|
@@ -612,7 +612,7 @@ import {
|
|
|
612
612
|
useThemeToggle,
|
|
613
613
|
useUnifiedChat,
|
|
614
614
|
usesCanonicalStatusStyle
|
|
615
|
-
} from "../chunk-
|
|
615
|
+
} from "../chunk-P6Y3S6QK.js";
|
|
616
616
|
import {
|
|
617
617
|
CommandApprovalToast,
|
|
618
618
|
ToastCard,
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var _chunkLALAS7OHcjs = require('../../chunk-LALAS7OH.cjs');
|
|
30
30
|
require('../../chunk-Q2ITV3NY.cjs');
|
|
31
31
|
require('../../chunk-27APPAJN.cjs');
|
|
32
32
|
require('../../chunk-6JINAOI7.cjs');
|
|
@@ -71,5 +71,5 @@ require('../../chunk-VRHGVLSL.cjs');
|
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
exports.AppHeader =
|
|
74
|
+
exports.AppHeader = _chunkLALAS7OHcjs.AppHeader; exports.AppLayout = _chunkLALAS7OHcjs.AppLayout; exports.AppLayoutDrawer = _chunkLALAS7OHcjs.AppLayoutDrawerRoot; exports.AppLayoutDrawerBody = _chunkLALAS7OHcjs.AppLayoutDrawerBody; exports.AppLayoutDrawerClose = _chunkLALAS7OHcjs.AppLayoutDrawerClose; exports.AppLayoutDrawerContent = _chunkLALAS7OHcjs.AppLayoutDrawerContent; exports.AppLayoutDrawerDescription = _chunkLALAS7OHcjs.AppLayoutDrawerDescription; exports.AppLayoutDrawerFooter = _chunkLALAS7OHcjs.AppLayoutDrawerFooter; exports.AppLayoutDrawerHeader = _chunkLALAS7OHcjs.AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = _chunkLALAS7OHcjs.AppLayoutDrawerTitle; exports.AppLayoutDrawerTrigger = _chunkLALAS7OHcjs.AppLayoutDrawerTrigger; exports.ClientOnlyHeader = _chunkLALAS7OHcjs.ClientOnlyHeader; exports.Header = _chunkLALAS7OHcjs.Header; exports.HeaderButton = _chunkLALAS7OHcjs.HeaderButton; exports.HeaderGlobalSearch = _chunkLALAS7OHcjs.HeaderGlobalSearch; exports.HeaderMingoButton = _chunkLALAS7OHcjs.HeaderMingoButton; exports.HeaderOrganizationFilter = _chunkLALAS7OHcjs.HeaderOrganizationFilter; exports.HeaderSkeleton = _chunkLALAS7OHcjs.HeaderSkeleton; exports.MobileBurgerMenu = _chunkLALAS7OHcjs.MobileBurgerMenu; exports.MobileNavPanel = _chunkLALAS7OHcjs.MobileNavPanel; exports.NavigationSidebar = _chunkLALAS7OHcjs.NavigationSidebar; exports.SlidingSidebar = _chunkLALAS7OHcjs.SlidingSidebar; exports.StickySectionNav = _chunkLALAS7OHcjs.StickySectionNav; exports.useAppLayoutDrawerContainer = _chunkLALAS7OHcjs.useAppLayoutDrawerContainer; exports.useSectionNavigation = _chunkLALAS7OHcjs.useSectionNavigation;
|
|
75
75
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
StickySectionNav,
|
|
27
27
|
useAppLayoutDrawerContainer,
|
|
28
28
|
useSectionNavigation
|
|
29
|
-
} from "../../chunk-
|
|
29
|
+
} from "../../chunk-P6Y3S6QK.js";
|
|
30
30
|
import "../../chunk-UXJCZOLA.js";
|
|
31
31
|
import "../../chunk-MJNXIEV2.js";
|
|
32
32
|
import "../../chunk-M2OCXTNT.js";
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkZSPPV2SXcjs = require('../../chunk-ZSPPV2SX.cjs');
|
|
6
6
|
require('../../chunk-GVSTRN36.cjs');
|
|
7
|
-
require('../../chunk-
|
|
7
|
+
require('../../chunk-LALAS7OH.cjs');
|
|
8
8
|
require('../../chunk-Q2ITV3NY.cjs');
|
|
9
9
|
require('../../chunk-27APPAJN.cjs');
|
|
10
10
|
require('../../chunk-6JINAOI7.cjs');
|
|
@@ -26,5 +26,5 @@ require('../../chunk-VRHGVLSL.cjs');
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
exports.GROUP_PAGE_SIZE =
|
|
29
|
+
exports.GROUP_PAGE_SIZE = _chunkZSPPV2SXcjs.GROUP_PAGE_SIZE; exports.RelatedContentSection = _chunkZSPPV2SXcjs.RelatedContentSection;
|
|
30
30
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
GROUP_PAGE_SIZE,
|
|
4
4
|
RelatedContentSection
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-6A5GGUIA.js";
|
|
6
6
|
import "../../chunk-IMNGGLKL.js";
|
|
7
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-P6Y3S6QK.js";
|
|
8
8
|
import "../../chunk-UXJCZOLA.js";
|
|
9
9
|
import "../../chunk-MJNXIEV2.js";
|
|
10
10
|
import "../../chunk-M2OCXTNT.js";
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkNCJENC5Gcjs = require('../../chunk-NCJENC5G.cjs');
|
|
11
11
|
require('../../chunk-VFKQMAUF.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunk27NKVNWDcjs = require('../../chunk-27NKVNWD.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
@@ -35,7 +35,7 @@ var _chunkSITWWJWScjs = require('../../chunk-SITWWJWS.cjs');
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _chunkLALAS7OHcjs = require('../../chunk-LALAS7OH.cjs');
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
var _chunkQ2ITV3NYcjs = require('../../chunk-Q2ITV3NY.cjs');
|
|
@@ -111,7 +111,7 @@ function TicketOpenForm({
|
|
|
111
111
|
}) {
|
|
112
112
|
const [subject, setSubject] = _react.useState.call(void 0, "");
|
|
113
113
|
const [content, setContent] = _react.useState.call(void 0, "");
|
|
114
|
-
const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } =
|
|
114
|
+
const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } = _chunkLALAS7OHcjs.useChatAttachments.call(void 0, );
|
|
115
115
|
const trimmedSubject = subject.trim();
|
|
116
116
|
const trimmedContent = content.trim();
|
|
117
117
|
const overCap = content.length > TICKET_TEXT_MAX_CHARS;
|
|
@@ -170,7 +170,7 @@ function TicketOpenForm({
|
|
|
170
170
|
}
|
|
171
171
|
),
|
|
172
172
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
173
|
-
|
|
173
|
+
_chunkLALAS7OHcjs.Textarea,
|
|
174
174
|
{
|
|
175
175
|
id: "ticket-content",
|
|
176
176
|
placeholder: "Describe your issue or question in detail...",
|
|
@@ -194,7 +194,7 @@ function TicketOpenForm({
|
|
|
194
194
|
)
|
|
195
195
|
] }),
|
|
196
196
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
197
|
-
|
|
197
|
+
_chunkLALAS7OHcjs.ChatAttachmentChipStrip,
|
|
198
198
|
{
|
|
199
199
|
attachments,
|
|
200
200
|
onRemove: removeAttachment,
|
|
@@ -203,7 +203,7 @@ function TicketOpenForm({
|
|
|
203
203
|
),
|
|
204
204
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-3", children: [
|
|
205
205
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
206
|
-
|
|
206
|
+
_chunkLALAS7OHcjs.ChatAttachmentAddButton,
|
|
207
207
|
{
|
|
208
208
|
attachmentsEnabled: !supportSystemDown,
|
|
209
209
|
attachmentsCount: attachments.length,
|
|
@@ -241,7 +241,7 @@ var _usesticktobottom = require('use-stick-to-bottom');
|
|
|
241
241
|
|
|
242
242
|
var LIST_ENGAGEMENTS_ENDPOINT = "/api/chat/agent/list-engagements";
|
|
243
243
|
function useTicketEngagements(externalTicketId, enabled = true, refetchInterval = false) {
|
|
244
|
-
const identity =
|
|
244
|
+
const identity = _chunkLALAS7OHcjs.useChatIdentity.call(void 0, );
|
|
245
245
|
const identityKey = _nullishCoalesce(_optionalChain([identity, 'access', _2 => _2.user, 'optionalAccess', _3 => _3.email]), () => ( "anon"));
|
|
246
246
|
const listEngagementsEndpoint = _nullishCoalesce(_chunkPC7YOZ4Icjs.useRequiredChatRuntime.call(void 0, ).endpoints.listEngagementsUrl, () => ( LIST_ENGAGEMENTS_ENDPOINT));
|
|
247
247
|
const fetchable = enabled && !!externalTicketId && !externalTicketId.startsWith("temp-");
|
|
@@ -323,7 +323,7 @@ function TicketLinkedDeliveryCard({
|
|
|
323
323
|
{
|
|
324
324
|
className: `rounded-md border border-ods-border bg-ods-bg overflow-hidden ${_nullishCoalesce(className, () => ( ""))}`,
|
|
325
325
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
326
|
-
|
|
326
|
+
_chunkNCJENC5Gcjs.DeliveryRow,
|
|
327
327
|
{
|
|
328
328
|
item,
|
|
329
329
|
href: clickup.delivery_href,
|
|
@@ -347,7 +347,7 @@ function TicketReplyComposer({
|
|
|
347
347
|
}) {
|
|
348
348
|
const [resolution, setResolution] = _react.useState.call(void 0, "");
|
|
349
349
|
const [closeDialogOpen, setCloseDialogOpen] = _react.useState.call(void 0, false);
|
|
350
|
-
const attachments =
|
|
350
|
+
const attachments = _chunkLALAS7OHcjs.useChatAttachments.call(void 0, );
|
|
351
351
|
const ticketRef = { id: ticket.id, external_id: ticket.external_id };
|
|
352
352
|
const hasReadyFiles = attachments.readyAttachments.length > 0;
|
|
353
353
|
const handleSend = _react.useCallback.call(void 0,
|
|
@@ -375,7 +375,7 @@ function TicketReplyComposer({
|
|
|
375
375
|
const disabled = busy || supportSystemDown;
|
|
376
376
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
377
377
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
378
|
-
|
|
378
|
+
_chunkLALAS7OHcjs.ChatAttachmentChipStrip,
|
|
379
379
|
{
|
|
380
380
|
attachments: attachments.attachments,
|
|
381
381
|
onRemove: attachments.removeAttachment,
|
|
@@ -384,7 +384,7 @@ function TicketReplyComposer({
|
|
|
384
384
|
}
|
|
385
385
|
),
|
|
386
386
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
387
|
-
|
|
387
|
+
_chunkLALAS7OHcjs.ChatInput,
|
|
388
388
|
{
|
|
389
389
|
fullWidth: true,
|
|
390
390
|
autoFocus: true,
|
|
@@ -398,7 +398,7 @@ function TicketReplyComposer({
|
|
|
398
398
|
),
|
|
399
399
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 w-full", children: [
|
|
400
400
|
!supportSystemDown && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
401
|
-
|
|
401
|
+
_chunkLALAS7OHcjs.ChatAttachmentAddButton,
|
|
402
402
|
{
|
|
403
403
|
attachmentsEnabled: true,
|
|
404
404
|
attachmentsCount: attachments.attachments.length,
|
|
@@ -421,13 +421,13 @@ function TicketReplyComposer({
|
|
|
421
421
|
}
|
|
422
422
|
)
|
|
423
423
|
] }),
|
|
424
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
425
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
426
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
427
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
424
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLALAS7OHcjs.AlertDialog, { open: closeDialogOpen, onOpenChange: setCloseDialogOpen, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLALAS7OHcjs.AlertDialogContent, { className: "bg-ods-card border-ods-border", children: [
|
|
425
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLALAS7OHcjs.AlertDialogHeader, { children: [
|
|
426
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLALAS7OHcjs.AlertDialogTitle, { className: "text-ods-text-primary", children: "Close this ticket?" }),
|
|
427
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLALAS7OHcjs.AlertDialogDescription, { className: "text-ods-text-secondary", children: "Add an optional resolution note below. You can reopen the ticket later if needed." })
|
|
428
428
|
] }),
|
|
429
429
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
430
|
-
|
|
430
|
+
_chunkLALAS7OHcjs.Textarea,
|
|
431
431
|
{
|
|
432
432
|
value: resolution,
|
|
433
433
|
onChange: (e) => setResolution(e.target.value),
|
|
@@ -437,9 +437,9 @@ function TicketReplyComposer({
|
|
|
437
437
|
className: "mt-2"
|
|
438
438
|
}
|
|
439
439
|
),
|
|
440
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
440
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLALAS7OHcjs.AlertDialogFooter, { children: [
|
|
441
441
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
442
|
-
|
|
442
|
+
_chunkLALAS7OHcjs.AlertDialogCancel,
|
|
443
443
|
{
|
|
444
444
|
disabled: busy,
|
|
445
445
|
className: "bg-transparent border-ods-border text-ods-text-primary hover:bg-ods-border",
|
|
@@ -447,7 +447,7 @@ function TicketReplyComposer({
|
|
|
447
447
|
}
|
|
448
448
|
),
|
|
449
449
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
450
|
-
|
|
450
|
+
_chunkLALAS7OHcjs.AlertDialogAction,
|
|
451
451
|
{
|
|
452
452
|
onClick: () => void confirmClose(),
|
|
453
453
|
disabled: busy,
|
|
@@ -517,7 +517,7 @@ var TICKET_FEED_HEIGHT = "h-[60vh] md:h-[420px]";
|
|
|
517
517
|
var TICKET_FEED_INNER = "flex flex-col gap-4 md:gap-6 px-4 md:px-6 py-4 md:py-6";
|
|
518
518
|
var TICKET_FEED_SKELETON_ROWS = 6;
|
|
519
519
|
function TicketTimelinePanel({ ticket }) {
|
|
520
|
-
const identity =
|
|
520
|
+
const identity = _chunkLALAS7OHcjs.useChatIdentity.call(void 0, );
|
|
521
521
|
const externalId = isOptimistic(ticket) ? null : ticket.external_id;
|
|
522
522
|
const { engagements, isLoading } = useTicketEngagements(
|
|
523
523
|
externalId,
|
|
@@ -537,11 +537,11 @@ function TicketTimelinePanel({ ticket }) {
|
|
|
537
537
|
const customerName = (isViewerTheCustomer ? viewerName : null) || ticketCustomerName || viewerName || _optionalChain([identity, 'access', _19 => _19.user, 'optionalAccess', _20 => _20.email]) || "You";
|
|
538
538
|
const customerAvatar = isViewerTheCustomer ? _nullishCoalesce(_optionalChain([identity, 'access', _21 => _21.user, 'optionalAccess', _22 => _22.avatarUrl]), () => ( void 0)) : void 0;
|
|
539
539
|
if (isLoading) {
|
|
540
|
-
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,
|
|
540
|
+
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, _chunkLALAS7OHcjs.ChatMessageRowSkeleton, {}, i)) }) });
|
|
541
541
|
}
|
|
542
542
|
if (bodyTurns.length === 0 && engagements.length === 0) {
|
|
543
543
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
544
|
-
|
|
544
|
+
_chunkNCJENC5Gcjs.EmptyState,
|
|
545
545
|
{
|
|
546
546
|
type: "generic",
|
|
547
547
|
title: "No conversation yet",
|
|
@@ -556,7 +556,7 @@ function TicketTimelinePanel({ ticket }) {
|
|
|
556
556
|
const isResolution = turn.startsWith("[Resolution]");
|
|
557
557
|
const text = isResolution ? turn.replace(/^\[Resolution\]\s*/, "") : turn;
|
|
558
558
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
559
|
-
|
|
559
|
+
_chunkLALAS7OHcjs.ChatMessageRow,
|
|
560
560
|
{
|
|
561
561
|
displayName: customerName,
|
|
562
562
|
avatarUrl: customerAvatar,
|
|
@@ -585,13 +585,13 @@ function TicketTimelinePanel({ ticket }) {
|
|
|
585
585
|
}
|
|
586
586
|
const engAttachments = mapEngagementAttachments(eng.attachments);
|
|
587
587
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
588
|
-
|
|
588
|
+
_chunkLALAS7OHcjs.ChatMessageRow,
|
|
589
589
|
{
|
|
590
590
|
displayName: author,
|
|
591
591
|
avatarUrl: avatarSrc,
|
|
592
|
-
timeLabel: eng.createdAt ?
|
|
592
|
+
timeLabel: eng.createdAt ? _chunkLALAS7OHcjs.formatRelativeTime.call(void 0, eng.createdAt) : null,
|
|
593
593
|
body: stripAttachmentsPreamble(_nullishCoalesce(eng.body, () => ( ""))),
|
|
594
|
-
footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
594
|
+
footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLALAS7OHcjs.TicketAttachmentsList, { attachments: engAttachments, size: "compact" }) }) : null
|
|
595
595
|
},
|
|
596
596
|
eng.id
|
|
597
597
|
);
|
|
@@ -710,7 +710,7 @@ function TicketRow({
|
|
|
710
710
|
const rowRef = _react.useRef.call(void 0, null);
|
|
711
711
|
const handleClick = _react.useCallback.call(void 0, () => {
|
|
712
712
|
onToggle(ticket.id);
|
|
713
|
-
|
|
713
|
+
_chunkLALAS7OHcjs.scrollElementIntoView.call(void 0, rowRef.current, {
|
|
714
714
|
adjustTargetY: (raw) => {
|
|
715
715
|
if (!rowRef.current) return raw;
|
|
716
716
|
const expandedDrawer = document.querySelector(
|
|
@@ -736,7 +736,7 @@ function TicketRow({
|
|
|
736
736
|
// so the badge accurately reflects "Closed" with a checkmark.
|
|
737
737
|
statusLabel: _nullishCoalesce(ticket.pipeline_stage_label, () => ( void 0)),
|
|
738
738
|
category: _nullishCoalesce(ticket.customer_company, () => ( void 0)),
|
|
739
|
-
timeAgo: ticket.hubspot_updated_at ?
|
|
739
|
+
timeAgo: ticket.hubspot_updated_at ? _chunkLALAS7OHcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : void 0,
|
|
740
740
|
// Linked-work chip: surfaced whenever the ticket has a linked
|
|
741
741
|
// ClickUp task. Uses the linked task's own status so the chip text
|
|
742
742
|
// reads "Working" / "Waiting on version release" / etc. — useful
|
|
@@ -751,7 +751,7 @@ function TicketRow({
|
|
|
751
751
|
className: "border-b border-ods-border last:border-b-0",
|
|
752
752
|
children: [
|
|
753
753
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
754
|
-
|
|
754
|
+
_chunkLALAS7OHcjs.ChatTicketItem,
|
|
755
755
|
{
|
|
756
756
|
ticket: tileData,
|
|
757
757
|
onClick: optimistic ? void 0 : handleClick,
|
|
@@ -1321,13 +1321,13 @@ function resolveErrorCode(bodyCode, status) {
|
|
|
1321
1321
|
// src/components/tickets/ticket-center.tsx
|
|
1322
1322
|
|
|
1323
1323
|
function TicketCenter({ toast: toast2 = _chunkQ2ITV3NYcjs.toast } = {}) {
|
|
1324
|
-
const identity =
|
|
1324
|
+
const identity = _chunkLALAS7OHcjs.useChatIdentity.call(void 0, );
|
|
1325
1325
|
if (identity.isLoading) {
|
|
1326
1326
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterSkeleton, {});
|
|
1327
1327
|
}
|
|
1328
1328
|
if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _58 => _58.user, 'optionalAccess', _59 => _59.email])) {
|
|
1329
1329
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1330
|
-
|
|
1330
|
+
_chunkNCJENC5Gcjs.EmptyState,
|
|
1331
1331
|
{
|
|
1332
1332
|
type: "generic",
|
|
1333
1333
|
title: "Sign in to manage tickets",
|
|
@@ -1398,7 +1398,7 @@ function TicketCenterAuthed({
|
|
|
1398
1398
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 text-xs text-ods-text-secondary", children: [
|
|
1399
1399
|
lastUpdatedAt && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
|
|
1400
1400
|
"Updated ",
|
|
1401
|
-
|
|
1401
|
+
_chunkLALAS7OHcjs.formatRelativeTime.call(void 0, new Date(lastUpdatedAt))
|
|
1402
1402
|
] }),
|
|
1403
1403
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1404
1404
|
_chunkN5UOJC3Vcjs.Button,
|
|
@@ -1415,7 +1415,7 @@ function TicketCenterAuthed({
|
|
|
1415
1415
|
] })
|
|
1416
1416
|
] }),
|
|
1417
1417
|
isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketListSkeleton, {}) : merged.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLH7R56RRcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1418
|
-
|
|
1418
|
+
_chunkNCJENC5Gcjs.EmptyState,
|
|
1419
1419
|
{
|
|
1420
1420
|
type: "generic",
|
|
1421
1421
|
title: "No tickets yet",
|
|
@@ -1464,7 +1464,7 @@ function TicketListSkeleton() {
|
|
|
1464
1464
|
// src/components/tickets/help-center-list.tsx
|
|
1465
1465
|
|
|
1466
1466
|
|
|
1467
|
-
|
|
1467
|
+
_chunkNCJENC5Gcjs.init_unified_pagination.call(void 0, );
|
|
1468
1468
|
|
|
1469
1469
|
// src/components/tickets/help-center-card.tsx
|
|
1470
1470
|
|
|
@@ -1486,7 +1486,7 @@ function HelpCenterCard({
|
|
|
1486
1486
|
const optimistic = isOptimistic(ticket);
|
|
1487
1487
|
const rawStatus = (_nullishCoalesce(ticket.status, () => ( "OPEN"))).toUpperCase();
|
|
1488
1488
|
const priority = (_nullishCoalesce(ticket.priority, () => ( ""))).toUpperCase();
|
|
1489
|
-
const relativeUpdated = ticket.hubspot_updated_at ?
|
|
1489
|
+
const relativeUpdated = ticket.hubspot_updated_at ? _chunkLALAS7OHcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : "recently";
|
|
1490
1490
|
const title = (ticket.subject || "").trim() || "(untitled)";
|
|
1491
1491
|
const subtitle = `UPDATED ${relativeUpdated}, #${ticket.external_id || "\u2014"}${ticket.pipeline_stage_label ? `, ${ticket.pipeline_stage_label}` : ""}`;
|
|
1492
1492
|
const description = _nullishCoalesce(_nullishCoalesce(ticket.preview, () => ( ticket.body)), () => ( ""));
|
|
@@ -1499,7 +1499,7 @@ function HelpCenterCard({
|
|
|
1499
1499
|
_react.useEffect.call(void 0, () => {
|
|
1500
1500
|
if (!isExpanded) return;
|
|
1501
1501
|
const raf = requestAnimationFrame(() => {
|
|
1502
|
-
|
|
1502
|
+
_chunkLALAS7OHcjs.scrollElementIntoView.call(void 0, rowRef.current, {
|
|
1503
1503
|
headerOffset: STICKY_HEADER_OFFSET_PX
|
|
1504
1504
|
});
|
|
1505
1505
|
});
|
|
@@ -1510,7 +1510,7 @@ function HelpCenterCard({
|
|
|
1510
1510
|
_chunkLH7R56RRcjs.StatusBadge,
|
|
1511
1511
|
{
|
|
1512
1512
|
text: rawStatus,
|
|
1513
|
-
colorScheme:
|
|
1513
|
+
colorScheme: _chunkLALAS7OHcjs.getStatusColorScheme.call(void 0, rawStatus),
|
|
1514
1514
|
variant: "card",
|
|
1515
1515
|
className: "border border-ods-border"
|
|
1516
1516
|
}
|
|
@@ -1543,7 +1543,7 @@ function HelpCenterCard({
|
|
|
1543
1543
|
"aria-controls": isExpanded ? `help-center-drawer-${ticket.id}` : void 0,
|
|
1544
1544
|
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",
|
|
1545
1545
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1546
|
-
|
|
1546
|
+
_chunkNCJENC5Gcjs.DevCardRowContent,
|
|
1547
1547
|
{
|
|
1548
1548
|
title,
|
|
1549
1549
|
subtitle,
|
|
@@ -1618,7 +1618,7 @@ function HelpCenterCreateForm({
|
|
|
1618
1618
|
const [subject, setSubject] = _react.useState.call(void 0, "");
|
|
1619
1619
|
const [subjectError, setSubjectError] = _react.useState.call(void 0, null);
|
|
1620
1620
|
const subjectField = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
1621
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1621
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLALAS7OHcjs.Label, { htmlFor: "help-center-subject", children: [
|
|
1622
1622
|
"Subject",
|
|
1623
1623
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: "*" })
|
|
1624
1624
|
] }),
|
|
@@ -1650,7 +1650,7 @@ function HelpCenterCreateForm({
|
|
|
1650
1650
|
)
|
|
1651
1651
|
] });
|
|
1652
1652
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1653
|
-
|
|
1653
|
+
_chunk27NKVNWDcjs.ContactForm,
|
|
1654
1654
|
{
|
|
1655
1655
|
title: "Open a new ticket",
|
|
1656
1656
|
footerText: "The support team typically responds within one business day.",
|
|
@@ -1688,7 +1688,7 @@ function HelpCenterCreateForm({
|
|
|
1688
1688
|
// src/components/tickets/help-center-list.tsx
|
|
1689
1689
|
|
|
1690
1690
|
function HelpCenterList({ toast: toast2 = _chunkQ2ITV3NYcjs.toast, backButton } = {}) {
|
|
1691
|
-
const identity =
|
|
1691
|
+
const identity = _chunkLALAS7OHcjs.useChatIdentity.call(void 0, );
|
|
1692
1692
|
const searchParams = _chunkG7UE6RKVcjs.useSearchParams.call(void 0, );
|
|
1693
1693
|
const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
|
|
1694
1694
|
const pathname = _chunkG7UE6RKVcjs.usePathname.call(void 0, );
|
|
@@ -1698,11 +1698,11 @@ function HelpCenterList({ toast: toast2 = _chunkQ2ITV3NYcjs.toast, backButton }
|
|
|
1698
1698
|
const rawPage = Number(searchParams.get("page"));
|
|
1699
1699
|
const page = Number.isFinite(rawPage) && rawPage > 0 ? Math.floor(rawPage) : 1;
|
|
1700
1700
|
if (identity.isLoading) {
|
|
1701
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1701
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNCJENC5Gcjs.DevSectionPage, { sectionKey: "tickets", backButton, preControls: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpCenterCreateFormSkeleton, {}), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNCJENC5Gcjs.DevCardRowSkeletonList, {}) });
|
|
1702
1702
|
}
|
|
1703
1703
|
if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _60 => _60.user, 'optionalAccess', _61 => _61.email])) {
|
|
1704
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1705
|
-
|
|
1704
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNCJENC5Gcjs.DevSectionPage, { sectionKey: "tickets", backButton, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1705
|
+
_chunkNCJENC5Gcjs.EmptyState,
|
|
1706
1706
|
{
|
|
1707
1707
|
type: "generic",
|
|
1708
1708
|
title: "Sign in to manage tickets",
|
|
@@ -1829,15 +1829,15 @@ function HelpCenterListAuthed({
|
|
|
1829
1829
|
] }),
|
|
1830
1830
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN5UOJC3Vcjs.Button, { type: "button", variant: "accent", onClick: () => refetch(), children: "Retry" })
|
|
1831
1831
|
] }),
|
|
1832
|
-
!error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1832
|
+
!error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNCJENC5Gcjs.DevCardRowSkeletonList, {}) : !hasResults && isFetching ? (
|
|
1833
1833
|
// Bridge state — background refetch in flight and the
|
|
1834
1834
|
// optimistic placeholder was just removed by the mutation
|
|
1835
1835
|
// callback. Without this branch "No tickets yet" would flash
|
|
1836
1836
|
// for ~50ms between `removeOptimistic` and the server
|
|
1837
1837
|
// response landing.
|
|
1838
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1838
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNCJENC5Gcjs.DevCardRowSkeletonList, { rows: 1 })
|
|
1839
1839
|
) : !hasResults ? hasActiveFilters ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1840
|
-
|
|
1840
|
+
_chunkNCJENC5Gcjs.EmptyState,
|
|
1841
1841
|
{
|
|
1842
1842
|
type: "search",
|
|
1843
1843
|
title: "No tickets found",
|
|
@@ -1852,7 +1852,7 @@ function HelpCenterListAuthed({
|
|
|
1852
1852
|
}
|
|
1853
1853
|
}
|
|
1854
1854
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1855
|
-
|
|
1855
|
+
_chunkNCJENC5Gcjs.EmptyState,
|
|
1856
1856
|
{
|
|
1857
1857
|
type: "generic",
|
|
1858
1858
|
title: "No tickets yet",
|
|
@@ -1886,9 +1886,9 @@ function HelpCenterListAuthed({
|
|
|
1886
1886
|
ticket.id
|
|
1887
1887
|
)) })
|
|
1888
1888
|
) }),
|
|
1889
|
-
!error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1889
|
+
!error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNCJENC5Gcjs.UnifiedPagination, { currentPage: page, totalPages })
|
|
1890
1890
|
] });
|
|
1891
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1891
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNCJENC5Gcjs.DevSectionPage, { sectionKey: "tickets", backButton, preControls: form, children: body });
|
|
1892
1892
|
}
|
|
1893
1893
|
|
|
1894
1894
|
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
EmptyState,
|
|
8
8
|
UnifiedPagination,
|
|
9
9
|
init_unified_pagination
|
|
10
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-DMAPXENZ.js";
|
|
11
11
|
import "../../chunk-4XLJWX2N.js";
|
|
12
12
|
import {
|
|
13
13
|
ContactForm
|
|
14
|
-
} from "../../chunk-
|
|
14
|
+
} from "../../chunk-MHQPAA3W.js";
|
|
15
15
|
import {
|
|
16
16
|
AlertDialog,
|
|
17
17
|
AlertDialogAction,
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
scrollElementIntoView,
|
|
36
36
|
useChatAttachments,
|
|
37
37
|
useChatIdentity
|
|
38
|
-
} from "../../chunk-
|
|
38
|
+
} from "../../chunk-P6Y3S6QK.js";
|
|
39
39
|
import {
|
|
40
40
|
toast
|
|
41
41
|
} from "../../chunk-UXJCZOLA.js";
|