@flamingo-stack/openframe-frontend-core 0.0.763 → 0.0.764
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/build/export-map.json +1 -1
- package/dist/{chunk-J4P47JHM.cjs → chunk-3FC6AKEJ.cjs} +7 -7
- package/dist/{chunk-IJMPXTGV.cjs → chunk-5AV5R5RC.cjs} +6 -6
- package/dist/{chunk-TQPQKBBL.cjs → chunk-74ALTXXC.cjs} +34 -34
- package/dist/{chunk-ZUF5WDGE.cjs → chunk-7GUWPGB4.cjs} +9 -9
- package/dist/{chunk-PE26VSWT.cjs → chunk-BIA77I6B.cjs} +8 -2
- package/dist/{chunk-LUNXHJ53.cjs → chunk-FQWBIKF4.cjs} +17 -17
- package/dist/{chunk-O2VRIGDI.cjs → chunk-IDGOMHTC.cjs} +43 -43
- package/dist/{chunk-UUBHKQOH.cjs → chunk-JD7CL2I6.cjs} +4 -4
- package/dist/{chunk-3JUIDOHB.cjs → chunk-JJ2S6C5U.cjs} +36 -36
- package/dist/{chunk-AXGTRPF6.cjs → chunk-L2V7K7RR.cjs} +11 -11
- package/dist/{chunk-SU3EXXVC.cjs → chunk-LNGR4DXA.cjs} +10 -10
- package/dist/{chunk-QCO32MEE.cjs → chunk-NJS7FQRW.cjs} +4 -4
- package/dist/{chunk-4NGXJA3V.cjs → chunk-PERN37KO.cjs} +4 -4
- package/dist/{chunk-G5NCY5IE.cjs → chunk-RYSNH2VY.cjs} +72 -72
- package/dist/{chunk-CEJDHCFZ.cjs → chunk-T5FRANE6.cjs} +21 -21
- package/dist/{chunk-IUIDZS6W.cjs → chunk-VL6IXTAI.cjs} +167 -144
- package/dist/{chunk-6XCE2VLH.cjs → chunk-XFNWHCRM.cjs} +3 -3
- package/dist/{chunk-E4LA4BEH.cjs → chunk-ZCU2PYCW.cjs} +9 -9
- package/dist/{chunk-66FQUWKF.cjs → chunk-ZG6F5A3A.cjs} +27 -27
- package/dist/{cloud-tenants-4AGSRBJ2.cjs → cloud-tenants-N5CLYDPU.cjs} +6 -6
- package/dist/components/case-studies/index.cjs +16 -16
- package/dist/components/chat/index.cjs +4 -4
- package/dist/components/contact/index.cjs +7 -7
- package/dist/components/docs/index.cjs +10 -10
- package/dist/components/embeds/index.cjs +7 -7
- package/dist/components/faq/index.cjs +8 -8
- package/dist/components/features/index.cjs +6 -6
- package/dist/components/help-center-pages/index.cjs +58 -58
- package/dist/components/index.cjs +41 -39
- package/dist/components/meeting-scheduler/index.cjs +24 -24
- package/dist/components/navigation/index.cjs +9 -9
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/product-demo/index.cjs +8 -8
- package/dist/components/tickets/index.cjs +11 -11
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/date-picker.js +2 -2
- package/dist/components/ui/device-card.d.ts.map +1 -1
- package/dist/components/ui/device-card.js +3 -2
- package/dist/components/ui/index.cjs +8 -6
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +1 -0
- package/dist/components/ui/super-user-banner-view.d.ts +24 -0
- package/dist/components/ui/super-user-banner-view.d.ts.map +1 -0
- package/dist/components/ui/super-user-banner-view.js +28 -0
- package/dist/{devices-FKRZIBJP.cjs → devices-557PMFDC.cjs} +7 -7
- package/dist/{embeddable-chat-HWQSP3DY.cjs → embeddable-chat-YFUCVDMV.cjs} +69 -69
- package/dist/index.cjs +12 -10
- package/dist/{knowledge-25CBYZ7E.cjs → knowledge-4JTOUDAR.cjs} +7 -7
- package/dist/{logs-HQ7NDBVV.cjs → logs-7YWAOPZ2.cjs} +14 -14
- package/dist/{policies-2RV2CQD3.cjs → policies-W5JEPQTA.cjs} +10 -10
- package/dist/{scripts-32EM4WDI.cjs → scripts-FY5IPOIM.cjs} +11 -11
- package/dist/{software-update-WVIARIUG.cjs → software-update-5BOGZOHG.cjs} +9 -9
- package/dist/{tickets-board-4PBXPSGJ.cjs → tickets-board-DXMF7IKL.cjs} +7 -7
- package/dist/utils/date-utils.d.ts +7 -2
- package/dist/utils/date-utils.d.ts.map +1 -1
- package/dist/utils/date-utils.js +8 -3
- package/dist/utils/index.cjs +7 -2
- package/package.json +1 -1
- package/src/components/ui/date-picker.tsx +6 -3
- package/src/components/ui/device-card.tsx +5 -6
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/super-user-banner-view.tsx +52 -0
- package/src/utils/date-utils.ts +17 -8
|
@@ -5,12 +5,12 @@ var _chunkXCH7SPGIcjs = require('./chunk-XCH7SPGI.cjs');
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkT5FRANE6cjs = require('./chunk-T5FRANE6.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunk74ALTXXCcjs = require('./chunk-74ALTXXC.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -63,7 +63,7 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
|
|
|
63
63
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
64
64
|
"div",
|
|
65
65
|
{
|
|
66
|
-
id:
|
|
66
|
+
id: _chunk74ALTXXCcjs.faqItemAnchor.call(void 0, item.id),
|
|
67
67
|
className: "scroll-mt-24 transition-colors hover:bg-ods-bg-hover",
|
|
68
68
|
children: [
|
|
69
69
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -116,14 +116,14 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
|
|
|
116
116
|
|
|
117
117
|
var PICK_ROOT_MARGIN = "600px";
|
|
118
118
|
function faqAskCardShown(assistant) {
|
|
119
|
-
return
|
|
119
|
+
return _chunkT5FRANE6cjs.assistantAvailable.call(void 0, assistant) && !!assistant.name;
|
|
120
120
|
}
|
|
121
121
|
function FaqAskCard({ topic, exclude, count, title, description, onOpen }) {
|
|
122
122
|
const { ref, inView } = _chunk3RYIF4OWcjs.useInView.call(void 0, { rootMargin: PICK_ROOT_MARGIN });
|
|
123
123
|
const [reached, setReached] = _react.useState.call(void 0, false);
|
|
124
124
|
if (inView && !reached) setReached(true);
|
|
125
125
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
126
|
-
|
|
126
|
+
_chunkT5FRANE6cjs.AssistantAskPrompts,
|
|
127
127
|
{
|
|
128
128
|
variant: "card",
|
|
129
129
|
topic,
|
|
@@ -197,7 +197,7 @@ function groupFaqsBySection(faqs) {
|
|
|
197
197
|
}
|
|
198
198
|
let group = byName.get(name);
|
|
199
199
|
if (!group) {
|
|
200
|
-
group = { section: name, slug:
|
|
200
|
+
group = { section: name, slug: _chunk74ALTXXCcjs.faqSectionSlug.call(void 0, name), items: [] };
|
|
201
201
|
byName.set(name, group);
|
|
202
202
|
}
|
|
203
203
|
group.items.push(item);
|
|
@@ -252,7 +252,7 @@ function GroupedFaqList({
|
|
|
252
252
|
}, [slugKey]);
|
|
253
253
|
const [hashTarget, setHashTarget] = _react.useState.call(void 0, null);
|
|
254
254
|
_react.useEffect.call(void 0, () => {
|
|
255
|
-
const refresh = () => setHashTarget(
|
|
255
|
+
const refresh = () => setHashTarget(_chunk74ALTXXCcjs.parseFaqHash.call(void 0, window.location.hash));
|
|
256
256
|
refresh();
|
|
257
257
|
window.addEventListener("hashchange", refresh);
|
|
258
258
|
return () => window.removeEventListener("hashchange", refresh);
|
|
@@ -1,13 +1,13 @@
|
|
|
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
|
|
4
|
+
var _chunkVL6IXTAIcjs = require('./chunk-VL6IXTAI.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunk74ALTXXCcjs = require('./chunk-74ALTXXC.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
var _chunk3RYIF4OWcjs = require('./chunk-3RYIF4OW.cjs');
|
|
@@ -40,7 +40,7 @@ var _jsxruntime = require('react/jsx-runtime');
|
|
|
40
40
|
function DocSearchResultRow({ result, isHighlighted }) {
|
|
41
41
|
const docType = _optionalChain([result, 'access', _ => _.metadata, 'optionalAccess', _2 => _2.documentType]) || void 0;
|
|
42
42
|
const sourceRepo = _optionalChain([result, 'access', _3 => _3.metadata, 'optionalAccess', _4 => _4.sourceRepo]) || void 0;
|
|
43
|
-
const { Icon: SourceIcon, label: iconLabel } =
|
|
43
|
+
const { Icon: SourceIcon, label: iconLabel } = _chunk74ALTXXCcjs.resolveSourceIcon.call(void 0, {
|
|
44
44
|
sourceRepo,
|
|
45
45
|
documentType: docType
|
|
46
46
|
});
|
|
@@ -70,7 +70,7 @@ function DocSearchBar({
|
|
|
70
70
|
renderResult
|
|
71
71
|
}) {
|
|
72
72
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
73
|
-
|
|
73
|
+
_chunkVL6IXTAIcjs.SearchInput,
|
|
74
74
|
{
|
|
75
75
|
placeholder,
|
|
76
76
|
value: query,
|
|
@@ -120,7 +120,7 @@ function mapDocSearchResults(docs) {
|
|
|
120
120
|
results.push({
|
|
121
121
|
id: `group-${entry.repo}`,
|
|
122
122
|
// Same table label and count as the chat's grouped chip: one owner each.
|
|
123
|
-
title: `${
|
|
123
|
+
title: `${_chunk74ALTXXCcjs.getSourceLabel.call(void 0, entry.repo)} ${_chunk74ALTXXCcjs.recordCountLabel.call(void 0, rows.length)}`,
|
|
124
124
|
path: rows[0].path,
|
|
125
125
|
type: "file",
|
|
126
126
|
metadata: {
|
|
@@ -336,7 +336,7 @@ function useDocSearch(config) {
|
|
|
336
336
|
return;
|
|
337
337
|
case "ask-ai":
|
|
338
338
|
setKeepOpen(false);
|
|
339
|
-
window.dispatchEvent(new CustomEvent(
|
|
339
|
+
window.dispatchEvent(new CustomEvent(_chunk74ALTXXCcjs.ASK_AI_OPEN_WITH_REF_EVENT, { detail: action.detail }));
|
|
340
340
|
return;
|
|
341
341
|
case "route":
|
|
342
342
|
setKeepOpen(false);
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkBIA77I6Bcjs = require('./chunk-BIA77I6B.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
var _chunk3RFQPQ7Zcjs = require('./chunk-3RFQPQ7Z.cjs');
|
|
@@ -3319,7 +3319,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3319
3319
|
{
|
|
3320
3320
|
ref,
|
|
3321
3321
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
3322
|
-
|
|
3322
|
+
_chunkBIA77I6Bcjs.CHAT_BLOCK_CLASS,
|
|
3323
3323
|
// v2: the thread owns the space below the card.
|
|
3324
3324
|
!isV2 && "mb-[var(--spacing-system-xsf)]",
|
|
3325
3325
|
className
|
|
@@ -3327,7 +3327,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3327
3327
|
...props,
|
|
3328
3328
|
children: [
|
|
3329
3329
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full whitespace-pre-line break-words text-ods-text-primary text-h4", children: _optionalChain([data, 'access', _49 => _49.explanation, 'optionalAccess', _50 => _50.trim, 'call', _51 => _51()]) || "Approval required" }),
|
|
3330
|
-
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3330
|
+
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.ApprovalWaitingLine, {}),
|
|
3331
3331
|
!showFooterActions ? null : status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
3332
3332
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3333
3333
|
_chunk2QMBXGMQcjs.Button,
|
|
@@ -3359,14 +3359,14 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3359
3359
|
children: "Reject"
|
|
3360
3360
|
}
|
|
3361
3361
|
)
|
|
3362
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3362
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
|
|
3363
3363
|
]
|
|
3364
3364
|
}
|
|
3365
3365
|
);
|
|
3366
3366
|
}
|
|
3367
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0, "mb-[var(--spacing-system-xsf)]",
|
|
3367
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0, "mb-[var(--spacing-system-xsf)]", _chunkBIA77I6Bcjs.CHAT_BLOCK_CLASS, className), ...props, children: [
|
|
3368
3368
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ApprovalCardBody, { data }),
|
|
3369
|
-
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3369
|
+
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.ApprovalWaitingLine, {}),
|
|
3370
3370
|
!showFooterActions ? null : status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
3371
3371
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3372
3372
|
_chunk2QMBXGMQcjs.Button,
|
|
@@ -3398,7 +3398,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3398
3398
|
children: "Reject"
|
|
3399
3399
|
}
|
|
3400
3400
|
)
|
|
3401
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3401
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
|
|
3402
3402
|
] });
|
|
3403
3403
|
}
|
|
3404
3404
|
);
|
|
@@ -3643,7 +3643,7 @@ var thoughtMdClasses = [
|
|
|
3643
3643
|
var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
3644
3644
|
({ className, text: text2, isStreaming = false, ...props }, ref) => {
|
|
3645
3645
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
3646
|
-
const { innerRef, isOverflowing, containerStyle } =
|
|
3646
|
+
const { innerRef, isOverflowing, containerStyle } = _chunkBIA77I6Bcjs.useCollapsible.call(void 0, {
|
|
3647
3647
|
expanded,
|
|
3648
3648
|
collapsedHeight: 19,
|
|
3649
3649
|
disableTransition: isStreaming
|
|
@@ -3658,7 +3658,7 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
|
3658
3658
|
setExpanded(!expanded);
|
|
3659
3659
|
}
|
|
3660
3660
|
};
|
|
3661
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
3661
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0, _chunkBIA77I6Bcjs.CHAT_BLOCK_FRAME_CLASS, "p-1.5", className), ...props, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3662
3662
|
"div",
|
|
3663
3663
|
{
|
|
3664
3664
|
role: "button",
|
|
@@ -3676,7 +3676,7 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
|
3676
3676
|
isStreaming && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC7GIHB3Vcjs.DotsLoaderIcon, { size: 16, className: "text-ods-text-secondary" })
|
|
3677
3677
|
] }),
|
|
3678
3678
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: _chunk3ATAYP36cjs.cn.call(void 0, "text-sm leading-snug text-ods-text-secondary", thoughtMdClasses), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SimpleMarkdownRenderer, { content: text2, textSize: "compact" }) }) }),
|
|
3679
|
-
canToggle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[19px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3679
|
+
canToggle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[19px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.ExpandChevron, { expanded }) })
|
|
3680
3680
|
]
|
|
3681
3681
|
}
|
|
3682
3682
|
) });
|
|
@@ -3988,7 +3988,7 @@ var iconTint = {
|
|
|
3988
3988
|
var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
3989
3989
|
({ className, title, details, type = "error", ...props }, ref) => {
|
|
3990
3990
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
3991
|
-
const { innerRef, containerStyle } =
|
|
3991
|
+
const { innerRef, containerStyle } = _chunkBIA77I6Bcjs.useCollapsible.call(void 0, { expanded });
|
|
3992
3992
|
const hasDetails = Boolean(details);
|
|
3993
3993
|
const isV2 = useChatAppearance() === _chunkGZKWF6NHcjs.CHAT_APPEARANCE.V2;
|
|
3994
3994
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4027,7 +4027,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
|
4027
4027
|
children: title
|
|
4028
4028
|
}
|
|
4029
4029
|
),
|
|
4030
|
-
hasDetails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4030
|
+
hasDetails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.ExpandChevron, { expanded })
|
|
4031
4031
|
]
|
|
4032
4032
|
}
|
|
4033
4033
|
),
|
|
@@ -4302,9 +4302,9 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4302
4302
|
)
|
|
4303
4303
|
] }),
|
|
4304
4304
|
(ticketInfo.status || ticketInfo.statusName) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4305
|
-
|
|
4305
|
+
_chunkBIA77I6Bcjs.TicketStatusTag,
|
|
4306
4306
|
{
|
|
4307
|
-
...
|
|
4307
|
+
..._chunkBIA77I6Bcjs.resolveStatusTagProps.call(void 0, {
|
|
4308
4308
|
status: ticketInfo.status,
|
|
4309
4309
|
statusKind: ticketInfo.statusKind,
|
|
4310
4310
|
statusName: ticketInfo.statusName,
|
|
@@ -4862,11 +4862,11 @@ var remarkMentionChips = () => {
|
|
|
4862
4862
|
// src/components/chat/tool-execution-display.tsx
|
|
4863
4863
|
|
|
4864
4864
|
|
|
4865
|
-
var COMMAND_BODY_KEYS = new Set(
|
|
4865
|
+
var COMMAND_BODY_KEYS = new Set(_chunkBIA77I6Bcjs.COMMAND_BODY_ARG_KEYS);
|
|
4866
4866
|
var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
4867
4867
|
({ className, message, assistantType, variant = "admin", ...props }, ref) => {
|
|
4868
4868
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
4869
|
-
const { innerRef, containerStyle } =
|
|
4869
|
+
const { innerRef, containerStyle } = _chunkBIA77I6Bcjs.useCollapsible.call(void 0, { expanded });
|
|
4870
4870
|
const isClient = assistantType === "fae";
|
|
4871
4871
|
const isClientView = variant === "client";
|
|
4872
4872
|
const isExecuting = message.type === "EXECUTING_TOOL";
|
|
@@ -4909,7 +4909,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
4909
4909
|
}
|
|
4910
4910
|
),
|
|
4911
4911
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: renderStatusIcon() }),
|
|
4912
|
-
!isStaticRow && hasBody && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4912
|
+
!isStaticRow && hasBody && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.ExpandChevron, { expanded: isExpanded }) })
|
|
4913
4913
|
] });
|
|
4914
4914
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4915
4915
|
"div",
|
|
@@ -4919,7 +4919,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
4919
4919
|
// The command running block keeps its bordered box in both chats
|
|
4920
4920
|
// (Figma 1972-6109). CLIENT (Fae) only drops the tool icon below.
|
|
4921
4921
|
"flex w-full flex-col overflow-hidden",
|
|
4922
|
-
|
|
4922
|
+
_chunkBIA77I6Bcjs.CHAT_BLOCK_FRAME_CLASS,
|
|
4923
4923
|
className
|
|
4924
4924
|
),
|
|
4925
4925
|
...props,
|
|
@@ -4930,7 +4930,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
4930
4930
|
// It reads as a card: what was done, then one status line under it.
|
|
4931
4931
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-sf)] text-left", children: [
|
|
4932
4932
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 whitespace-pre-wrap break-words text-ods-text-primary text-h4", children: previewText }),
|
|
4933
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4933
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.StatusLine, { tone: statusTone, label: statusLabel })
|
|
4934
4934
|
] })
|
|
4935
4935
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
4936
4936
|
hasBody ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -4943,9 +4943,9 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
4943
4943
|
}
|
|
4944
4944
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-start gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)] text-left", children: headerContent }),
|
|
4945
4945
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: hasBody && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start gap-0 border-t border-ods-border p-[var(--spacing-system-sf)] text-h6", children: [
|
|
4946
|
-
argEntries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4946
|
+
argEntries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.ArgRow, { argKey: key, value }, key)),
|
|
4947
4947
|
hasResult && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4948
|
-
|
|
4948
|
+
_chunkBIA77I6Bcjs.ResultBlock,
|
|
4949
4949
|
{
|
|
4950
4950
|
result: message.result,
|
|
4951
4951
|
className: argEntries.length > 0 ? "mt-[var(--spacing-system-xsf)]" : void 0
|
|
@@ -5000,7 +5000,7 @@ var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-zA-Z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+
|
|
|
5000
5000
|
var CARD_MARKER_REGEX = createCardMarkerScanner();
|
|
5001
5001
|
function formatMessageTimestamp(timestamp) {
|
|
5002
5002
|
const time = _chunkGZKWF6NHcjs.formatTime.call(void 0, timestamp);
|
|
5003
|
-
return
|
|
5003
|
+
return _chunkBIA77I6Bcjs.isToday.call(void 0, timestamp) ? time : `${_chunkGZKWF6NHcjs.formatDate.call(void 0, timestamp)} ${time}`;
|
|
5004
5004
|
}
|
|
5005
5005
|
function normalizeContent(content) {
|
|
5006
5006
|
if (typeof content === "string") {
|
|
@@ -5241,7 +5241,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5241
5241
|
const faceBox = "h-5 w-5 flex-shrink-0";
|
|
5242
5242
|
const face = !showAvatar || isSystem ? null : !isHuman && !avatar && assistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex items-center justify-center", faceBox), children: assistantIcon }) : !isHuman && !avatar && assistantType ? (
|
|
5243
5243
|
// An agent with no picture shows its packaged mark, never initials.
|
|
5244
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": displayName, title: displayName, className: _chunk3ATAYP36cjs.cn.call(void 0, "inline-flex", faceBox), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5244
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": displayName, title: displayName, className: _chunk3ATAYP36cjs.cn.call(void 0, "inline-flex", faceBox), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.AgentMark, { agent: assistantType, className: "h-full w-full rounded-full" }) })
|
|
5245
5245
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className: "inline-flex flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5246
5246
|
_chunkEQZXJUYVcjs.SquareAvatar,
|
|
5247
5247
|
{
|
|
@@ -5324,7 +5324,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5324
5324
|
);
|
|
5325
5325
|
} else if (segment.type === "approval_batch") {
|
|
5326
5326
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5327
|
-
|
|
5327
|
+
_chunkBIA77I6Bcjs.ApprovalBatchMessage,
|
|
5328
5328
|
{
|
|
5329
5329
|
data: segment.data,
|
|
5330
5330
|
status: segment.status,
|
|
@@ -7775,7 +7775,7 @@ function MingoWelcome({
|
|
|
7775
7775
|
onScroll: updateScrollFade,
|
|
7776
7776
|
className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-m)] overflow-y-auto overscroll-contain",
|
|
7777
7777
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-l)] px-[var(--spacing-system-l)] py-[var(--spacing-system-xxl)] text-center", children: [
|
|
7778
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7778
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
|
|
7779
7779
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)]", children: [
|
|
7780
7780
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h2", children: heading }),
|
|
7781
7781
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
@@ -7898,7 +7898,7 @@ function GuideWelcome({
|
|
|
7898
7898
|
// Agent-mode identity glyph (chat-config Identity tab). Sized to
|
|
7899
7899
|
// match the default Mingo mark (48px).
|
|
7900
7900
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
|
|
7901
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7901
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
|
|
7902
7902
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)]", children: [
|
|
7903
7903
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h2", children: title }),
|
|
7904
7904
|
subtitle ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle }) : subtitleLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-5 w-3/4 max-w-80 rounded-sm" }) }) : null
|
|
@@ -8100,7 +8100,7 @@ function MingoArchiveList({
|
|
|
8100
8100
|
title: dialog.title || "Untitled Chat",
|
|
8101
8101
|
onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _177 => _177(dialog.id)]),
|
|
8102
8102
|
trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
8103
|
-
dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
8103
|
+
dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkBIA77I6Bcjs.formatRelativeTime.call(void 0, dialog.timestamp) }),
|
|
8104
8104
|
dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8105
8105
|
_chunkEQZXJUYVcjs.SquareAvatar,
|
|
8106
8106
|
{
|
|
@@ -8465,7 +8465,7 @@ function MingoChatRail({
|
|
|
8465
8465
|
"data-accent": "mingo",
|
|
8466
8466
|
"aria-label": "Mingo chats",
|
|
8467
8467
|
logo: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center justify-between", children: [
|
|
8468
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8468
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.AgentMark, { agent: "mingo", className: "size-6 text-ods-text-primary" }),
|
|
8469
8469
|
onExpand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8470
8470
|
_chunk2QMBXGMQcjs.Button,
|
|
8471
8471
|
{
|
|
@@ -12794,7 +12794,7 @@ function ChatCardLoader({
|
|
|
12794
12794
|
const discussFn = useDisplay ? onDisplay : onDiscuss;
|
|
12795
12795
|
const discuss = discussFn ? {
|
|
12796
12796
|
label: useDisplay ? "Display" : "Ask Mingo",
|
|
12797
|
-
icon: useDisplay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12797
|
+
icon: useDisplay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.AgentMark, { agent: "mingo", className: "size-5" }),
|
|
12798
12798
|
run: () => discussFn(finalChatRef)
|
|
12799
12799
|
} : void 0;
|
|
12800
12800
|
const renderOpts = {
|
|
@@ -15736,7 +15736,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
15736
15736
|
const status = approvalStatuses[requestId] || "pending";
|
|
15737
15737
|
if (!displayInline(approvalType)) {
|
|
15738
15738
|
const required = _nullishCoalesce(toolCalls.find((c) => c.requiresApproval), () => ( toolCalls[0]));
|
|
15739
|
-
const summary = required ?
|
|
15739
|
+
const summary = required ? _chunkBIA77I6Bcjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
|
|
15740
15740
|
pendingEscalated.set(requestId, {
|
|
15741
15741
|
command: summary,
|
|
15742
15742
|
explanation: _optionalChain([required, 'optionalAccess', _536 => _536.toolExplanation]),
|
|
@@ -15769,7 +15769,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
15769
15769
|
if (!call.requiresApproval) continue;
|
|
15770
15770
|
segments = accumulator.addApprovalRequest(
|
|
15771
15771
|
requestId,
|
|
15772
|
-
|
|
15772
|
+
_chunkBIA77I6Bcjs.getCommandText.call(void 0, call),
|
|
15773
15773
|
call.toolExplanation,
|
|
15774
15774
|
approvalType,
|
|
15775
15775
|
status,
|
|
@@ -15848,7 +15848,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
15848
15848
|
if (!call.requiresApproval) continue;
|
|
15849
15849
|
segments = accumulator.addApprovalRequest(
|
|
15850
15850
|
requestId,
|
|
15851
|
-
|
|
15851
|
+
_chunkBIA77I6Bcjs.getCommandText.call(void 0, call),
|
|
15852
15852
|
call.toolExplanation,
|
|
15853
15853
|
escalatedData.approvalType,
|
|
15854
15854
|
status
|
|
@@ -18293,7 +18293,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
18293
18293
|
if (!call.requiresApproval) continue;
|
|
18294
18294
|
accumulator.addApprovalRequest(
|
|
18295
18295
|
event.requestId,
|
|
18296
|
-
|
|
18296
|
+
_chunkBIA77I6Bcjs.getCommandText.call(void 0, call),
|
|
18297
18297
|
call.toolExplanation,
|
|
18298
18298
|
approvalType,
|
|
18299
18299
|
status,
|
|
@@ -18354,7 +18354,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
18354
18354
|
if (!call.requiresApproval) continue;
|
|
18355
18355
|
accumulator.addApprovalRequest(
|
|
18356
18356
|
requestId,
|
|
18357
|
-
|
|
18357
|
+
_chunkBIA77I6Bcjs.getCommandText.call(void 0, call),
|
|
18358
18358
|
call.toolExplanation,
|
|
18359
18359
|
escalatedData.approvalType,
|
|
18360
18360
|
status
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkVL6IXTAIcjs = require('./chunk-VL6IXTAI.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -17,12 +17,12 @@ var _chunk2IFCRPNPcjs = require('./chunk-2IFCRPNP.cjs');
|
|
|
17
17
|
var _chunkXCH7SPGIcjs = require('./chunk-XCH7SPGI.cjs');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkT5FRANE6cjs = require('./chunk-T5FRANE6.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _chunk74ALTXXCcjs = require('./chunk-74ALTXXC.cjs');
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
@@ -119,7 +119,7 @@ function ContactForm({
|
|
|
119
119
|
successToastMessage = "Redirecting you to join our community...",
|
|
120
120
|
rescue: rescueForm = null
|
|
121
121
|
} = {}) {
|
|
122
|
-
const attachments =
|
|
122
|
+
const attachments = _chunk74ALTXXCcjs.useChatAttachments.call(void 0, );
|
|
123
123
|
const builtInSubmission = _chunkXCH7SPGIcjs.useContactSubmission.call(void 0, {
|
|
124
124
|
userId,
|
|
125
125
|
successRedirectUrl,
|
|
@@ -203,13 +203,13 @@ function ContactForm({
|
|
|
203
203
|
);
|
|
204
204
|
}),
|
|
205
205
|
className: "flex flex-grow flex-col space-y-4 content-md:space-y-6",
|
|
206
|
-
...
|
|
206
|
+
..._chunkT5FRANE6cjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
207
207
|
children: [
|
|
208
208
|
!showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("name") }),
|
|
209
209
|
!showEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("email") }),
|
|
210
210
|
!showHelpCategory && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("helpCategory") }),
|
|
211
211
|
!showMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("message") }),
|
|
212
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
212
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVL6IXTAIcjs.HoneypotField, { ...honeypotInputProps }),
|
|
213
213
|
extraTopField,
|
|
214
214
|
showNameEmailRow && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-md:grid-cols-2 content-md:gap-6", children: [
|
|
215
215
|
showName && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
@@ -334,7 +334,7 @@ function ContactForm({
|
|
|
334
334
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHTRILBJDcjs.RequiredMark, {})
|
|
335
335
|
] }),
|
|
336
336
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
337
|
-
|
|
337
|
+
_chunkVL6IXTAIcjs.Textarea,
|
|
338
338
|
{
|
|
339
339
|
id: "message",
|
|
340
340
|
...register("message"),
|
|
@@ -349,7 +349,7 @@ function ContactForm({
|
|
|
349
349
|
] }),
|
|
350
350
|
attachmentsEnabled && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
351
351
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
352
|
-
|
|
352
|
+
_chunk74ALTXXCcjs.ChatAttachmentChipStrip,
|
|
353
353
|
{
|
|
354
354
|
attachments: attachments.attachments,
|
|
355
355
|
onRemove: attachments.removeAttachment,
|
|
@@ -358,7 +358,7 @@ function ContactForm({
|
|
|
358
358
|
),
|
|
359
359
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
360
360
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
361
|
-
|
|
361
|
+
_chunk74ALTXXCcjs.ChatAttachmentAddButton,
|
|
362
362
|
{
|
|
363
363
|
attachmentsEnabled: true,
|
|
364
364
|
attachmentsCount: attachments.attachments.length,
|
|
@@ -30,6 +30,7 @@ var _chunkOJJ4RL2Tcjs = require('./chunk-OJJ4RL2T.cjs');
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
|
|
33
|
+
|
|
33
34
|
var _chunkEQZXJUYVcjs = require('./chunk-EQZXJUYV.cjs');
|
|
34
35
|
|
|
35
36
|
|
|
@@ -65,10 +66,15 @@ function formatTicketRelativeTime(iso) {
|
|
|
65
66
|
if (diffMin < 60) return `${diffMin} min ago`;
|
|
66
67
|
const diffHours = Math.floor(diffMin / 60);
|
|
67
68
|
if (diffHours < 24) return diffHours === 1 ? "1 hour ago" : `${diffHours} hours ago`;
|
|
68
|
-
return _chunkEQZXJUYVcjs.formatDateWithTimezone.call(void 0, date,
|
|
69
|
+
return _chunkEQZXJUYVcjs.formatDateWithTimezone.call(void 0, date, _chunkEQZXJUYVcjs.VIEWER_TIMEZONE, "numeric", { viewerLocale: true });
|
|
69
70
|
}
|
|
70
71
|
function formatTicketFullTimestamp(iso) {
|
|
71
|
-
return _chunkEQZXJUYVcjs.formatDateWithTimezone.call(void 0,
|
|
72
|
+
return _chunkEQZXJUYVcjs.formatDateWithTimezone.call(void 0,
|
|
73
|
+
iso,
|
|
74
|
+
_chunkEQZXJUYVcjs.VIEWER_TIMEZONE,
|
|
75
|
+
{ year: "numeric", month: "2-digit", day: "2-digit", hour: "numeric", minute: "2-digit" },
|
|
76
|
+
{ viewerLocale: true }
|
|
77
|
+
);
|
|
72
78
|
}
|
|
73
79
|
function formatRelativeTime(timestamp) {
|
|
74
80
|
return formatRelativeTimeFrom(timestamp, /* @__PURE__ */ new Date());
|
|
@@ -6,25 +6,25 @@ var _chunkRM6AHNM4cjs = require('./chunk-RM6AHNM4.cjs');
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunk5AV5R5RCcjs = require('./chunk-5AV5R5RC.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkVL6IXTAIcjs = require('./chunk-VL6IXTAI.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
var _chunk2IFCRPNPcjs = require('./chunk-2IFCRPNP.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _chunkT5FRANE6cjs = require('./chunk-T5FRANE6.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _chunk74ALTXXCcjs = require('./chunk-74ALTXXC.cjs');
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
var _chunk3RFQPQ7Zcjs = require('./chunk-3RFQPQ7Z.cjs');
|
|
@@ -146,14 +146,14 @@ function OnboardingGuidesCatalogView({
|
|
|
146
146
|
});
|
|
147
147
|
};
|
|
148
148
|
const source = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _6 => _6.source]), () => ( "openframe"));
|
|
149
|
-
const docSearch =
|
|
149
|
+
const docSearch = _chunk5AV5R5RCcjs.useDocSearch.call(void 0, {
|
|
150
150
|
source,
|
|
151
151
|
baseRoute: basePath,
|
|
152
152
|
onNavigate: (path) => router.push(path),
|
|
153
153
|
tableIds: ["onboarding-guides"]
|
|
154
154
|
});
|
|
155
155
|
const defaultRenderCard = (guide) => {
|
|
156
|
-
const cta =
|
|
156
|
+
const cta = _chunkT5FRANE6cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
|
|
157
157
|
type: "onboarding_guide",
|
|
158
158
|
slug: guide.slug,
|
|
159
159
|
basePath,
|
|
@@ -164,7 +164,7 @@ function OnboardingGuidesCatalogView({
|
|
|
164
164
|
const renderCardFn = _nullishCoalesce(renderCard, () => ( defaultRenderCard));
|
|
165
165
|
const preControls = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
166
166
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
167
|
-
|
|
167
|
+
_chunk5AV5R5RCcjs.DocSearchBar,
|
|
168
168
|
{
|
|
169
169
|
placeholder: "Search onboarding guides, releases, case studies\u2026",
|
|
170
170
|
query: docSearch.query,
|
|
@@ -176,7 +176,7 @@ function OnboardingGuidesCatalogView({
|
|
|
176
176
|
}
|
|
177
177
|
),
|
|
178
178
|
sections.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
179
|
-
|
|
179
|
+
_chunkVL6IXTAIcjs.FilterPillRow,
|
|
180
180
|
{
|
|
181
181
|
label: "Section",
|
|
182
182
|
selectedValue: activeSection,
|
|
@@ -186,7 +186,7 @@ function OnboardingGuidesCatalogView({
|
|
|
186
186
|
)
|
|
187
187
|
] });
|
|
188
188
|
if (selfFetch && guidesRes.error) {
|
|
189
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
189
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVL6IXTAIcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
|
|
190
190
|
}
|
|
191
191
|
if (selfFetch && guidesRes.data == null && isLoading) {
|
|
192
192
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OnboardingGuidesCatalogSkeleton, {});
|
|
@@ -218,7 +218,7 @@ function OnboardingGuideDetailView({
|
|
|
218
218
|
slug,
|
|
219
219
|
guideEndpoint,
|
|
220
220
|
related = [],
|
|
221
|
-
MarkdownRenderer =
|
|
221
|
+
MarkdownRenderer = _chunkVL6IXTAIcjs.RichMarkdownRenderer,
|
|
222
222
|
renderRelatedCard,
|
|
223
223
|
backHref,
|
|
224
224
|
backLabel = "Back to Getting Started",
|
|
@@ -228,9 +228,9 @@ function OnboardingGuideDetailView({
|
|
|
228
228
|
}) {
|
|
229
229
|
const resolvedBackHref = _nullishCoalesce(backHref, () => ( basePath));
|
|
230
230
|
const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
|
|
231
|
-
const captions =
|
|
231
|
+
const captions = _chunk74ALTXXCcjs.useCaptions.call(void 0, );
|
|
232
232
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
233
|
-
const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
233
|
+
const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVL6IXTAIcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
|
|
234
234
|
const url = initialData ? null : slug && guideEndpoint ? guideEndpoint(slug) : null;
|
|
235
235
|
const { data: guide, isLoading, error, reload } = _chunkNS64LMVEcjs.useSelfFetch.call(void 0, url, { initialData });
|
|
236
236
|
const { ref: videoWarmupRef } = _chunk3RFQPQ7Zcjs.useVideoWarmup.call(void 0, {
|
|
@@ -238,7 +238,7 @@ function OnboardingGuideDetailView({
|
|
|
238
238
|
supabaseStorageOrigin: _optionalChain([runtime, 'optionalAccess', _9 => _9.endpoints, 'access', _10 => _10.supabaseStorageOrigin])
|
|
239
239
|
});
|
|
240
240
|
if (error || !guide && !isLoading) {
|
|
241
|
-
return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
241
|
+
return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVL6IXTAIcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
|
|
242
242
|
}
|
|
243
243
|
if (!guide) {
|
|
244
244
|
return renderShell(
|
|
@@ -252,7 +252,7 @@ function OnboardingGuideDetailView({
|
|
|
252
252
|
// worst), so it's the terminal fallback — no trailing `|| undefined` needed.
|
|
253
253
|
_chunkI5MSCD57cjs.buildOgPlaceholderUrl.call(void 0, _optionalChain([runtime, 'optionalAccess', _11 => _11.endpoints]), guide.title, { aspect: "wide" });
|
|
254
254
|
const defaultRenderRelatedCard = (g) => {
|
|
255
|
-
const cta =
|
|
255
|
+
const cta = _chunkT5FRANE6cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
|
|
256
256
|
type: "onboarding_guide",
|
|
257
257
|
slug: g.slug,
|
|
258
258
|
basePath,
|
|
@@ -270,7 +270,7 @@ function OnboardingGuideDetailView({
|
|
|
270
270
|
titleWrap: true,
|
|
271
271
|
backButton: { label: backLabel, onClick: () => router.push(resolvedBackHref) },
|
|
272
272
|
children: [
|
|
273
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
273
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVL6IXTAIcjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
|
|
274
274
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
275
275
|
_chunk22XAPV6Ncjs.EntityAuthorCard,
|
|
276
276
|
{
|
|
@@ -287,7 +287,7 @@ function OnboardingGuideDetailView({
|
|
|
287
287
|
}
|
|
288
288
|
),
|
|
289
289
|
(guide.main_video_url || guide.youtube_url) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: videoWarmupRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
290
|
-
|
|
290
|
+
_chunk74ALTXXCcjs.EntityVideoSection,
|
|
291
291
|
{
|
|
292
292
|
mainVideoUrl: guide.main_video_url,
|
|
293
293
|
youtubeUrl: guide.youtube_url || void 0,
|
|
@@ -304,7 +304,7 @@ function OnboardingGuideDetailView({
|
|
|
304
304
|
) }),
|
|
305
305
|
guide.content && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: guide.content }) }),
|
|
306
306
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
307
|
-
|
|
307
|
+
_chunk74ALTXXCcjs.VideoBitesStrip,
|
|
308
308
|
{
|
|
309
309
|
bites: _nullishCoalesce(guide.video_bites, () => ( [])),
|
|
310
310
|
filterPublished: true,
|