@flamingo-stack/openframe-frontend-core 0.0.737 → 0.0.738
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-AZL332TK.cjs → chunk-2QMBXGMQ.cjs} +15 -2
- package/dist/{chunk-DA4VS6TS.cjs → chunk-2SBHPHLS.cjs} +4 -4
- package/dist/{chunk-XPP7VCNY.cjs → chunk-2UZS3ZH7.cjs} +8 -8
- package/dist/{chunk-MGW5DO6P.cjs → chunk-3BBOAMWJ.cjs} +7 -7
- package/dist/{chunk-HZJRERJW.cjs → chunk-3RFQPQ7Z.cjs} +3 -3
- package/dist/{chunk-4FJZ7RJD.cjs → chunk-4T6ETBL4.cjs} +150 -82
- package/dist/{chunk-TJQYX3QC.cjs → chunk-4YQNJJWM.cjs} +95 -95
- package/dist/{chunk-FA2LATDM.cjs → chunk-5BKAUXLR.cjs} +4 -4
- package/dist/{chunk-YADG5Q7C.cjs → chunk-63N4FN5V.cjs} +3 -3
- package/dist/{chunk-4ISP3XP4.cjs → chunk-66R4NGGU.cjs} +72 -72
- package/dist/{chunk-EJOXXJJB.cjs → chunk-7F3V45AH.cjs} +29 -29
- package/dist/{chunk-VYODTHMR.cjs → chunk-7GETNFZ5.cjs} +49 -49
- package/dist/{chunk-L4ZNR5V7.cjs → chunk-7LTG6CJ3.cjs} +67 -67
- package/dist/{chunk-MJGX357L.cjs → chunk-B27QEHYR.cjs} +2 -2
- package/dist/{chunk-VL4JKXU2.cjs → chunk-BRKTN6UR.cjs} +216 -216
- package/dist/{chunk-VRNNIV5Y.cjs → chunk-EG545WGV.cjs} +4 -4
- package/dist/{chunk-ZJNYWNCB.cjs → chunk-FG7HTGT3.cjs} +24 -24
- package/dist/{chunk-77SD7RXY.cjs → chunk-GAF4L3JW.cjs} +7 -7
- package/dist/{chunk-KVGBDWYV.cjs → chunk-GQZOUVXC.cjs} +34 -34
- package/dist/{chunk-URIJ6YUG.cjs → chunk-HNYLTEIS.cjs} +22 -17
- package/dist/{chunk-FCGLSWKR.cjs → chunk-IFS4AH77.cjs} +19 -1
- package/dist/{chunk-L535OD7V.cjs → chunk-JZNESLJX.cjs} +2 -2
- package/dist/{chunk-CM35DLKS.cjs → chunk-KQ4IKALJ.cjs} +35 -35
- package/dist/{chunk-EX2GYIGW.cjs → chunk-LY5VOKV7.cjs} +6 -6
- package/dist/{chunk-XLSVQJBA.cjs → chunk-MLKL2YVE.cjs} +44 -44
- package/dist/{chunk-4RMLAHU2.cjs → chunk-MTNNYSP3.cjs} +18 -18
- package/dist/{chunk-ZRYKDN2J.cjs → chunk-N2CISBJJ.cjs} +15 -15
- package/dist/{chunk-O4MG7FXW.cjs → chunk-N5NDPULP.cjs} +6 -6
- package/dist/{chunk-SGVQO5J6.cjs → chunk-R36NZTUJ.cjs} +26 -26
- package/dist/{chunk-E2JCZU36.cjs → chunk-U5BRSRXA.cjs} +923 -759
- package/dist/{chunk-DUXLZPMJ.cjs → chunk-UMO55S55.cjs} +2 -2
- package/dist/{chunk-LW3QSP47.cjs → chunk-XGHZIYQN.cjs} +24 -24
- package/dist/{chunk-N6YOOGCD.cjs → chunk-XMNLPQ75.cjs} +12 -12
- package/dist/{cloud-tenants-IWQ5FFLY.cjs → cloud-tenants-FTQGWXHS.cjs} +16 -16
- package/dist/components/agent-identity.d.ts +8 -1
- package/dist/components/agent-identity.d.ts.map +1 -1
- package/dist/components/agent-identity.js +6 -1
- package/dist/components/calendar.cjs +4 -4
- package/dist/components/case-studies/index.cjs +28 -28
- package/dist/components/chat/chat-turn.d.ts +23 -0
- package/dist/components/chat/chat-turn.d.ts.map +1 -0
- package/dist/components/chat/chat-turn.js +30 -0
- package/dist/components/chat/index.cjs +14 -12
- package/dist/components/chat/index.d.ts +1 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +1 -0
- package/dist/components/contact/index.cjs +17 -17
- package/dist/components/docs/index.cjs +20 -20
- package/dist/components/embeds/index.cjs +17 -17
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/faq-section.js +9 -4
- package/dist/components/faq/index.cjs +18 -18
- package/dist/components/features/auth/auth-benefits-panel.d.ts +3 -5
- package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
- package/dist/components/features/auth/auth-benefits-panel.js +3 -19
- package/dist/components/features/conversation-card.d.ts +12 -4
- package/dist/components/features/conversation-card.d.ts.map +1 -1
- package/dist/components/features/conversation-card.js +30 -38
- package/dist/components/features/index.cjs +16 -16
- package/dist/components/help-center-pages/index.cjs +122 -122
- package/dist/components/index.cjs +96 -80
- package/dist/components/meeting-scheduler/index.cjs +49 -49
- package/dist/components/navigation/index.cjs +19 -19
- package/dist/components/onboarding-guides/index.cjs +19 -19
- package/dist/components/platform/ToolBadge.d.ts.map +1 -1
- package/dist/components/platform/ToolBadge.js +4 -3
- package/dist/components/product-demo/index.cjs +8 -8
- package/dist/components/related-content/index.cjs +8 -8
- package/dist/components/tickets/index.cjs +22 -22
- package/dist/components/ui/app-window-frame.d.ts +7 -1
- package/dist/components/ui/app-window-frame.d.ts.map +1 -1
- package/dist/components/ui/app-window-frame.js +10 -2
- package/dist/components/ui/benefit-list.d.ts +42 -0
- package/dist/components/ui/benefit-list.d.ts.map +1 -0
- package/dist/components/ui/benefit-list.js +62 -0
- package/dist/components/ui/button/button.d.ts +1 -0
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/button/button.js +15 -2
- package/dist/components/ui/dropdown-button.d.ts +20 -2
- package/dist/components/ui/dropdown-button.d.ts.map +1 -1
- package/dist/components/ui/dropdown-button.js +57 -1
- package/dist/components/ui/file-manager/index.cjs +11 -11
- package/dist/components/ui/index.cjs +30 -16
- package/dist/components/ui/index.d.ts +3 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +3 -0
- package/dist/components/ui/leader-row.d.ts +17 -0
- package/dist/components/ui/leader-row.d.ts.map +1 -0
- package/dist/components/ui/leader-row.js +14 -0
- package/dist/components/ui/strip-card.d.ts +23 -0
- package/dist/components/ui/strip-card.d.ts.map +1 -0
- package/dist/components/ui/strip-card.js +56 -0
- package/dist/{devices-OUHGWA6Y.cjs → devices-MPI5HUQS.cjs} +17 -17
- package/dist/{embeddable-chat-U3C4WWB7.cjs → embeddable-chat-7WLUDBGK.cjs} +84 -84
- package/dist/index.cjs +40 -20
- package/dist/{knowledge-3ZASPWMF.cjs → knowledge-BS663XXL.cjs} +17 -17
- package/dist/{logs-E6Y54P6K.cjs → logs-KS2A2VN5.cjs} +25 -25
- package/dist/{policies-LAV75B5B.cjs → policies-H3OK6H4Q.cjs} +20 -20
- package/dist/{remote-session-Z4YZFG5E.cjs → remote-session-EHKXU4HI.cjs} +7 -7
- package/dist/{software-update-2CAL3AMJ.cjs → software-update-HMMMWIL3.cjs} +20 -20
- package/dist/{tickets-board-JOSYLOS7.cjs → tickets-board-3YJKOOZE.cjs} +10 -10
- package/dist/utils/demo-clock.d.ts +22 -0
- package/dist/utils/demo-clock.d.ts.map +1 -0
- package/dist/utils/demo-clock.js +40 -0
- package/dist/utils/identity-tint.d.ts +13 -0
- package/dist/utils/identity-tint.d.ts.map +1 -0
- package/dist/utils/identity-tint.js +14 -0
- package/dist/utils/index.cjs +54 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/{video-file-player-6NWGXZ3W.cjs → video-file-player-ZH2ILAPO.cjs} +12 -12
- package/package.json +1 -1
- package/src/components/agent-identity.tsx +12 -1
- package/src/components/chat/chat-turn.tsx +52 -0
- package/src/components/chat/index.ts +1 -0
- package/src/components/faq/faq-section.tsx +4 -1
- package/src/components/features/auth/auth-benefits-panel.tsx +5 -32
- package/src/components/features/conversation-card.tsx +48 -46
- package/src/components/platform/ToolBadge.tsx +4 -3
- package/src/components/ui/app-window-frame.tsx +18 -2
- package/src/components/ui/benefit-list.tsx +97 -0
- package/src/components/ui/button/button.tsx +14 -1
- package/src/components/ui/dropdown-button.tsx +73 -1
- package/src/components/ui/index.ts +3 -0
- package/src/components/ui/leader-row.tsx +28 -0
- package/src/components/ui/strip-card.tsx +68 -0
- package/src/utils/demo-clock.ts +62 -0
- package/src/utils/identity-tint.ts +23 -0
- package/src/utils/index.ts +2 -0
|
@@ -1,10 +1,10 @@
|
|
|
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 _chunk7LTG6CJ3cjs = require('./chunk-7LTG6CJ3.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunk7F3V45AHcjs = require('./chunk-7F3V45AH.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
@@ -66,7 +66,7 @@ function DetailPageSkeleton({
|
|
|
66
66
|
] });
|
|
67
67
|
if (bare) return content;
|
|
68
68
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
69
|
-
|
|
69
|
+
_chunk7LTG6CJ3cjs.PageLayout,
|
|
70
70
|
{
|
|
71
71
|
showHeader: false,
|
|
72
72
|
className: "mx-auto max-w-[1280px] bg-ods-bg px-6 py-6 content-md:px-20 content-md:py-10",
|
|
@@ -95,7 +95,7 @@ function ArticleAuthorByline({
|
|
|
95
95
|
}) {
|
|
96
96
|
const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
|
|
97
97
|
if (!author) return null;
|
|
98
|
-
const proxiedAvatar = avatar ? proxyImageUrl ? proxyImageUrl(avatar) : _nullishCoalesce(
|
|
98
|
+
const proxiedAvatar = avatar ? proxyImageUrl ? proxyImageUrl(avatar) : _nullishCoalesce(_chunk7F3V45AHcjs.getProxiedImageUrl.call(void 0, avatar, {
|
|
99
99
|
proxyPrefix: _optionalChain([runtime, 'optionalAccess', _2 => _2.endpoints, 'access', _3 => _3.imageProxyUrlPrefix]),
|
|
100
100
|
skipDomains: _optionalChain([runtime, 'optionalAccess', _4 => _4.endpoints, 'access', _5 => _5.imageProxySkipDomains]),
|
|
101
101
|
directHttps: true
|
|
@@ -12,13 +12,13 @@ var _chunkAAFW4STCcjs = require('./chunk-AAFW4STC.cjs');
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkN2CISBJJcjs = require('./chunk-N2CISBJJ.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunkB27QEHYRcjs = require('./chunk-B27QEHYR.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
var _chunk4WI2CEC2cjs = require('./chunk-4WI2CEC2.cjs');
|
|
@@ -69,7 +69,7 @@ var _chunkZ7OPT4PNcjs = require('./chunk-Z7OPT4PN.cjs');
|
|
|
69
69
|
var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
70
70
|
|
|
71
71
|
|
|
72
|
-
var
|
|
72
|
+
var _chunkIFS4AH77cjs = require('./chunk-IFS4AH77.cjs');
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
|
|
@@ -82,7 +82,7 @@ var _chunkFICJS5OAcjs = require('./chunk-FICJS5OA.cjs');
|
|
|
82
82
|
var _chunkVOX4E6AXcjs = require('./chunk-VOX4E6AX.cjs');
|
|
83
83
|
|
|
84
84
|
|
|
85
|
-
var
|
|
85
|
+
var _chunk2QMBXGMQcjs = require('./chunk-2QMBXGMQ.cjs');
|
|
86
86
|
|
|
87
87
|
|
|
88
88
|
var _chunkV45KLJQPcjs = require('./chunk-V45KLJQP.cjs');
|
|
@@ -142,9 +142,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
142
142
|
return next;
|
|
143
143
|
});
|
|
144
144
|
};
|
|
145
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
145
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB27QEHYRcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB27QEHYRcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
146
146
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
147
|
-
|
|
147
|
+
_chunkB27QEHYRcjs.TooltipTrigger,
|
|
148
148
|
{
|
|
149
149
|
asChild: true,
|
|
150
150
|
onPointerDown: (e) => {
|
|
@@ -162,7 +162,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
162
162
|
children
|
|
163
163
|
}
|
|
164
164
|
),
|
|
165
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
165
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB27QEHYRcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
166
166
|
] }) });
|
|
167
167
|
}
|
|
168
168
|
|
|
@@ -177,12 +177,12 @@ function BoardColumnHeader({
|
|
|
177
177
|
}) {
|
|
178
178
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
179
179
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
180
|
-
const useStatusVariant =
|
|
180
|
+
const useStatusVariant = _chunkN2CISBJJcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
181
181
|
const actionClass = "h-8 w-8 p-0 content-md:h-8 content-md:w-8";
|
|
182
182
|
if (collapsed) {
|
|
183
183
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
184
184
|
onToggleCollapse && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
185
|
-
|
|
185
|
+
_chunk2QMBXGMQcjs.Button,
|
|
186
186
|
{
|
|
187
187
|
variant: "transparent",
|
|
188
188
|
size: "icon",
|
|
@@ -193,7 +193,7 @@ function BoardColumnHeader({
|
|
|
193
193
|
}
|
|
194
194
|
),
|
|
195
195
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
196
|
-
|
|
196
|
+
_chunkN2CISBJJcjs.TicketStatusTag,
|
|
197
197
|
{
|
|
198
198
|
status: tagStatus,
|
|
199
199
|
label: column.label,
|
|
@@ -206,13 +206,13 @@ function BoardColumnHeader({
|
|
|
206
206
|
}
|
|
207
207
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
208
208
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
209
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
209
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN2CISBJJcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
210
210
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
211
211
|
] }),
|
|
212
212
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
213
|
-
column.tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchFriendlyTooltip, { content: column.tooltip, side: "bottom", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
213
|
+
column.tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchFriendlyTooltip, { content: column.tooltip, side: "bottom", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { variant: "transparent", size: "icon", className: actionClass, "aria-label": column.tooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRHC2FRVEcjs.InfoCircleIcon, { className: "h-6 w-6 text-ods-text-secondary" }) }) }),
|
|
214
214
|
onToggleCollapse && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
215
|
-
|
|
215
|
+
_chunk2QMBXGMQcjs.Button,
|
|
216
216
|
{
|
|
217
217
|
variant: "transparent",
|
|
218
218
|
size: "icon",
|
|
@@ -223,7 +223,7 @@ function BoardColumnHeader({
|
|
|
223
223
|
}
|
|
224
224
|
),
|
|
225
225
|
onArchive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
226
|
-
|
|
226
|
+
_chunk2QMBXGMQcjs.Button,
|
|
227
227
|
{
|
|
228
228
|
variant: "transparent",
|
|
229
229
|
size: "icon",
|
|
@@ -234,7 +234,7 @@ function BoardColumnHeader({
|
|
|
234
234
|
}
|
|
235
235
|
),
|
|
236
236
|
onAddTicket && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
237
|
-
|
|
237
|
+
_chunk2QMBXGMQcjs.Button,
|
|
238
238
|
{
|
|
239
239
|
variant: "transparent",
|
|
240
240
|
size: "icon",
|
|
@@ -264,7 +264,7 @@ function tintOnDark(hex) {
|
|
|
264
264
|
|
|
265
265
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
266
266
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
267
|
-
const { innerRef, containerStyle } =
|
|
267
|
+
const { innerRef, containerStyle } = _chunkN2CISBJJcjs.useCollapsible.call(void 0, { expanded });
|
|
268
268
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
269
269
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
270
270
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -293,7 +293,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
293
293
|
}
|
|
294
294
|
),
|
|
295
295
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: "pt-[var(--spacing-system-xs)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
296
|
-
|
|
296
|
+
_chunkN2CISBJJcjs.ApprovalBatchMessage,
|
|
297
297
|
{
|
|
298
298
|
className: "mb-0",
|
|
299
299
|
data: {
|
|
@@ -467,7 +467,7 @@ function TicketCardBody({
|
|
|
467
467
|
onLinkClick
|
|
468
468
|
}) {
|
|
469
469
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
470
|
-
const newMessageTextColor = columnColor ?
|
|
470
|
+
const newMessageTextColor = columnColor ? _chunkIFS4AH77cjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
471
471
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _12 => _12.deviceHostnames, 'optionalAccess', _13 => _13.length]) || ticket.organizationName);
|
|
472
472
|
const deviceText = [_optionalChain([ticket, 'access', _14 => _14.deviceHostnames, 'optionalAccess', _15 => _15.join, 'call', _16 => _16(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
473
473
|
const hasRightSection = !!(ticket.priority || ticket.agent || _optionalChain([ticket, 'access', _17 => _17.assignees, 'optionalAccess', _18 => _18.length]) || renderAssignSlot);
|
|
@@ -485,7 +485,7 @@ function TicketCardBody({
|
|
|
485
485
|
role: "img",
|
|
486
486
|
"aria-label": `Owned by ${ticket.agent === "fae" ? "Fae" : "Mingo"}`,
|
|
487
487
|
className: "flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-full border border-ods-border bg-ods-bg",
|
|
488
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
488
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN2CISBJJcjs.AgentMark, { agent: ticket.agent, className: ticket.agent === "fae" ? "size-full" : "size-5" })
|
|
489
489
|
}
|
|
490
490
|
),
|
|
491
491
|
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _19 => _19.assignees, 'optionalAccess', _20 => _20.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
@@ -515,8 +515,8 @@ function TicketCardBody({
|
|
|
515
515
|
] })
|
|
516
516
|
] }) : null
|
|
517
517
|
] }) : null;
|
|
518
|
-
const timestampLabel = ticket.createdAt ?
|
|
519
|
-
const tooltipLabel = ticket.createdAt ?
|
|
518
|
+
const timestampLabel = ticket.createdAt ? _chunkN2CISBJJcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
519
|
+
const tooltipLabel = ticket.createdAt ? _chunkN2CISBJJcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
520
520
|
const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
|
|
521
521
|
const metaClass = "truncate text-ods-text-secondary text-h6";
|
|
522
522
|
const meta = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -543,9 +543,9 @@ function TicketCardBody({
|
|
|
543
543
|
rightSection
|
|
544
544
|
] }),
|
|
545
545
|
_optionalChain([ticket, 'access', _21 => _21.tags, 'optionalAccess', _22 => _22.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
546
|
-
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
547
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
548
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
546
|
+
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB27QEHYRcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB27QEHYRcjs.Tooltip, { children: [
|
|
547
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB27QEHYRcjs.TooltipTrigger, { asChild: true, children: meta }),
|
|
548
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB27QEHYRcjs.TooltipContent, { children: tooltipLabel })
|
|
549
549
|
] }) }) : meta),
|
|
550
550
|
ticket.escalatedByUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-ods-open-yellow text-h6", children: [
|
|
551
551
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MGDY2AAcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk3BBOAMWJcjs = require('./chunk-3BBOAMWJ.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -12,7 +12,7 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
|
12
12
|
var _chunkBLH2SFOOcjs = require('./chunk-BLH2SFOO.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunk2QMBXGMQcjs = require('./chunk-2QMBXGMQ.cjs');
|
|
16
16
|
|
|
17
17
|
// src/components/empty-state.tsx
|
|
18
18
|
var _lucidereact = require('lucide-react');
|
|
@@ -130,10 +130,10 @@ function EmptyState({
|
|
|
130
130
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex items-center justify-center content-md:mb-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-full border border-ods-border bg-ods-card p-3 content-md:p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 items-center justify-center text-ods-text-secondary content-md:h-16 content-md:w-16", children: defaultContent.icon }) }) }),
|
|
131
131
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "mb-2 text-ods-text-primary text-h3 content-md:mb-3", children: displayTitle }),
|
|
132
132
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mb-4 max-w-md text-ods-text-secondary text-h6 content-md:mb-8", children: displayDescription }),
|
|
133
|
-
showCTA && ctaHref && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 w-full max-w-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
134
|
-
showCTA && !ctaHref && smartCTA && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 w-full max-w-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
133
|
+
showCTA && ctaHref && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 w-full max-w-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { href: ctaHref, variant: ctaButtonVariant, className: "w-full", children: ctaText || "Contact us" }) }),
|
|
134
|
+
showCTA && !ctaHref && smartCTA && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 w-full max-w-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { onClick: smartCTA.action, variant: ctaButtonVariant, className: "w-full", children: smartCTA.text }) }),
|
|
135
135
|
showBackButton && onGoBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
136
|
-
|
|
136
|
+
_chunk2QMBXGMQcjs.Button,
|
|
137
137
|
{
|
|
138
138
|
onClick: onGoBack,
|
|
139
139
|
variant: "outline",
|
|
@@ -179,11 +179,11 @@ function UnifiedPagination({
|
|
|
179
179
|
}, 0);
|
|
180
180
|
};
|
|
181
181
|
if (totalPages <= 1) {
|
|
182
|
-
return reserveSpace ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none invisible", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
182
|
+
return reserveSpace ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none invisible", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BBOAMWJcjs.Pagination, { currentPage: 1, totalPages: 1, onPageChange: () => {
|
|
183
183
|
} }) }) }) : null;
|
|
184
184
|
}
|
|
185
185
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
186
|
-
|
|
186
|
+
_chunk3BBOAMWJcjs.Pagination,
|
|
187
187
|
{
|
|
188
188
|
currentPage,
|
|
189
189
|
totalPages,
|
|
@@ -2,45 +2,45 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkEG545WGVcjs = require('./chunk-EG545WGV.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkXMNLPQ75cjs = require('./chunk-XMNLPQ75.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkU5BRSRXAcjs = require('./chunk-U5BRSRXA.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunk7LTG6CJ3cjs = require('./chunk-7LTG6CJ3.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _chunk4T6ETBL4cjs = require('./chunk-4T6ETBL4.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _chunkBRKTN6URcjs = require('./chunk-BRKTN6UR.cjs');
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _chunk3RFQPQ7Zcjs = require('./chunk-3RFQPQ7Z.cjs');
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
var
|
|
37
|
+
var _chunkLY5VOKV7cjs = require('./chunk-LY5VOKV7.cjs');
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
|
-
var
|
|
43
|
+
var _chunk7F3V45AHcjs = require('./chunk-7F3V45AH.cjs');
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
var _chunkEAY6ZUEScjs = require('./chunk-EAY6ZUES.cjs');
|
|
@@ -68,7 +68,7 @@ function OnboardingGuidesCatalogSkeleton() {
|
|
|
68
68
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-6 w-40 rounded bg-ods-border/70" }),
|
|
69
69
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-8 rounded-full bg-ods-text-secondary/20" })
|
|
70
70
|
] }),
|
|
71
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "flex flex-col gap-4", children: Array.from({ length: cardCount }).map((_, cardIdx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
71
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "flex flex-col gap-4", children: Array.from({ length: cardCount }).map((_, cardIdx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7F3V45AHcjs.OnboardingGuideCardSkeleton, { size: "catalog" }) }, cardIdx)) })
|
|
72
72
|
] }, sectionIdx)) })
|
|
73
73
|
] });
|
|
74
74
|
}
|
|
@@ -92,10 +92,10 @@ function OnboardingGuidesCatalogView({
|
|
|
92
92
|
const sectionValue = selfFetch ? _nullishCoalesce(searchParams.get("section"), () => ( "")) : initialSection;
|
|
93
93
|
const activeSection = sectionValue || "all";
|
|
94
94
|
const guidesQs = sectionValue ? `?section=${encodeURIComponent(sectionValue)}` : "";
|
|
95
|
-
const guidesRes =
|
|
95
|
+
const guidesRes = _chunkLY5VOKV7cjs.useSelfFetch.call(void 0,
|
|
96
96
|
selfFetch && guidesEndpoint ? `${guidesEndpoint}${guidesQs}` : null
|
|
97
97
|
);
|
|
98
|
-
const sectionsRes =
|
|
98
|
+
const sectionsRes = _chunkLY5VOKV7cjs.useSelfFetch.call(void 0, selfFetch && sectionsEndpoint ? sectionsEndpoint : null);
|
|
99
99
|
const guides = _react.useMemo.call(void 0, () => _nullishCoalesce(_nullishCoalesce(initialGuides, () => ( _optionalChain([guidesRes, 'access', _2 => _2.data, 'optionalAccess', _3 => _3.data]))), () => ( [])), [initialGuides, _optionalChain([guidesRes, 'access', _4 => _4.data, 'optionalAccess', _5 => _5.data])]);
|
|
100
100
|
const sections = _react.useMemo.call(void 0,
|
|
101
101
|
() => _nullishCoalesce(initialSections, () => ( (Array.isArray(sectionsRes.data) ? sectionsRes.data : []))),
|
|
@@ -138,25 +138,25 @@ function OnboardingGuidesCatalogView({
|
|
|
138
138
|
});
|
|
139
139
|
};
|
|
140
140
|
const source = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _6 => _6.source]), () => ( "openframe"));
|
|
141
|
-
const docSearch =
|
|
141
|
+
const docSearch = _chunkXMNLPQ75cjs.useDocSearch.call(void 0, {
|
|
142
142
|
source,
|
|
143
143
|
baseRoute: basePath,
|
|
144
144
|
onNavigate: (path) => router.push(path),
|
|
145
145
|
tableIds: ["onboarding-guides"]
|
|
146
146
|
});
|
|
147
147
|
const defaultRenderCard = (guide) => {
|
|
148
|
-
const cta =
|
|
148
|
+
const cta = _chunk4T6ETBL4cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
|
|
149
149
|
type: "onboarding_guide",
|
|
150
150
|
slug: guide.slug,
|
|
151
151
|
basePath,
|
|
152
152
|
platforms: guide.onboarding_guide_platforms
|
|
153
153
|
});
|
|
154
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
154
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7F3V45AHcjs.OnboardingGuideCard, { guide, href: cta.href, targetPlatform: cta.targetPlatform, size: "catalog" });
|
|
155
155
|
};
|
|
156
156
|
const renderCardFn = _nullishCoalesce(renderCard, () => ( defaultRenderCard));
|
|
157
157
|
const preControls = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
158
158
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
159
|
-
|
|
159
|
+
_chunkXMNLPQ75cjs.DocSearchBar,
|
|
160
160
|
{
|
|
161
161
|
placeholder: "Search onboarding guides, releases, case studies\u2026",
|
|
162
162
|
query: docSearch.query,
|
|
@@ -168,7 +168,7 @@ function OnboardingGuidesCatalogView({
|
|
|
168
168
|
}
|
|
169
169
|
),
|
|
170
170
|
sections.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
171
|
-
|
|
171
|
+
_chunkU5BRSRXAcjs.FilterPillRow,
|
|
172
172
|
{
|
|
173
173
|
label: "Section",
|
|
174
174
|
selectedValue: activeSection,
|
|
@@ -178,7 +178,7 @@ function OnboardingGuidesCatalogView({
|
|
|
178
178
|
)
|
|
179
179
|
] });
|
|
180
180
|
if (selfFetch && guidesRes.error) {
|
|
181
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
181
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU5BRSRXAcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
|
|
182
182
|
}
|
|
183
183
|
if (selfFetch && guidesRes.data == null && isLoading) {
|
|
184
184
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OnboardingGuidesCatalogSkeleton, {});
|
|
@@ -210,7 +210,7 @@ function OnboardingGuideDetailView({
|
|
|
210
210
|
slug,
|
|
211
211
|
guideEndpoint,
|
|
212
212
|
related = [],
|
|
213
|
-
MarkdownRenderer =
|
|
213
|
+
MarkdownRenderer = _chunkU5BRSRXAcjs.RichMarkdownRenderer,
|
|
214
214
|
renderRelatedCard,
|
|
215
215
|
backHref,
|
|
216
216
|
backLabel = "Back to Getting Started",
|
|
@@ -220,23 +220,23 @@ function OnboardingGuideDetailView({
|
|
|
220
220
|
}) {
|
|
221
221
|
const resolvedBackHref = _nullishCoalesce(backHref, () => ( basePath));
|
|
222
222
|
const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
|
|
223
|
-
const captions =
|
|
223
|
+
const captions = _chunkBRKTN6URcjs.useCaptions.call(void 0, );
|
|
224
224
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
225
|
-
const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
225
|
+
const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU5BRSRXAcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
|
|
226
226
|
const url = initialData ? null : slug && guideEndpoint ? guideEndpoint(slug) : null;
|
|
227
|
-
const { data: guide, isLoading, error, reload } =
|
|
228
|
-
const { ref: videoWarmupRef } =
|
|
227
|
+
const { data: guide, isLoading, error, reload } = _chunkLY5VOKV7cjs.useSelfFetch.call(void 0, url, { initialData });
|
|
228
|
+
const { ref: videoWarmupRef } = _chunk3RFQPQ7Zcjs.useVideoWarmup.call(void 0, {
|
|
229
229
|
videoUrl: _optionalChain([guide, 'optionalAccess', _8 => _8.main_video_url]),
|
|
230
230
|
supabaseStorageOrigin: _optionalChain([runtime, 'optionalAccess', _9 => _9.endpoints, 'access', _10 => _10.supabaseStorageOrigin])
|
|
231
231
|
});
|
|
232
232
|
if (error || !guide && !isLoading) {
|
|
233
|
-
return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
233
|
+
return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU5BRSRXAcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
|
|
234
234
|
}
|
|
235
235
|
if (!guide) {
|
|
236
236
|
return renderShell(
|
|
237
237
|
// Match the loaded page's top offset (TitleBlock's
|
|
238
238
|
// `pt-[var(--spacing-system-l)]`) so content doesn't jump on load.
|
|
239
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
239
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEG545WGVcjs.DetailPageSkeleton, { bare: true, showImageGallery: false }) })
|
|
240
240
|
);
|
|
241
241
|
}
|
|
242
242
|
const { captionsUrl, highlightCaptionsUrl } = captions.forEntity("onboarding_guide", guide);
|
|
@@ -244,27 +244,27 @@ function OnboardingGuideDetailView({
|
|
|
244
244
|
// worst), so it's the terminal fallback — no trailing `|| undefined` needed.
|
|
245
245
|
_chunkEAY6ZUEScjs.buildOgPlaceholderUrl.call(void 0, _optionalChain([runtime, 'optionalAccess', _11 => _11.endpoints]), guide.title, { aspect: "wide" });
|
|
246
246
|
const defaultRenderRelatedCard = (g) => {
|
|
247
|
-
const cta =
|
|
247
|
+
const cta = _chunk4T6ETBL4cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
|
|
248
248
|
type: "onboarding_guide",
|
|
249
249
|
slug: g.slug,
|
|
250
250
|
basePath,
|
|
251
251
|
platforms: g.onboarding_guide_platforms
|
|
252
252
|
});
|
|
253
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
253
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7F3V45AHcjs.OnboardingGuideCard, { guide: g, href: cta.href, targetPlatform: cta.targetPlatform });
|
|
254
254
|
};
|
|
255
255
|
const renderRelatedCardFn = _nullishCoalesce(renderRelatedCard, () => ( defaultRenderRelatedCard));
|
|
256
256
|
return renderShell(
|
|
257
257
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
258
|
-
|
|
258
|
+
_chunk7LTG6CJ3cjs.PageLayout,
|
|
259
259
|
{
|
|
260
260
|
title: guide.title,
|
|
261
261
|
titleSize: "h1",
|
|
262
262
|
titleWrap: true,
|
|
263
263
|
backButton: { label: backLabel, onClick: () => router.push(resolvedBackHref) },
|
|
264
264
|
children: [
|
|
265
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
265
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU5BRSRXAcjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
|
|
266
266
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
267
|
-
|
|
267
|
+
_chunk7F3V45AHcjs.EntityAuthorCard,
|
|
268
268
|
{
|
|
269
269
|
author: guide.author,
|
|
270
270
|
authorHref,
|
|
@@ -279,7 +279,7 @@ function OnboardingGuideDetailView({
|
|
|
279
279
|
}
|
|
280
280
|
),
|
|
281
281
|
(guide.main_video_url || guide.youtube_url) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: videoWarmupRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
282
|
-
|
|
282
|
+
_chunkBRKTN6URcjs.EntityVideoSection,
|
|
283
283
|
{
|
|
284
284
|
mainVideoUrl: guide.main_video_url,
|
|
285
285
|
youtubeUrl: guide.youtube_url || void 0,
|
|
@@ -296,17 +296,17 @@ function OnboardingGuideDetailView({
|
|
|
296
296
|
) }),
|
|
297
297
|
guide.content && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: guide.content }) }),
|
|
298
298
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
299
|
-
|
|
299
|
+
_chunkBRKTN6URcjs.VideoBitesStrip,
|
|
300
300
|
{
|
|
301
301
|
bites: _nullishCoalesce(guide.video_bites, () => ( [])),
|
|
302
302
|
filterPublished: true,
|
|
303
303
|
showTitle: false,
|
|
304
|
-
profile:
|
|
304
|
+
profile: _chunk7F3V45AHcjs.toStripProfile.call(void 0, guide.author),
|
|
305
305
|
href: `/onboarding-guides/${guide.slug}`
|
|
306
306
|
}
|
|
307
307
|
),
|
|
308
308
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
309
|
-
|
|
309
|
+
_chunkEG545WGVcjs.ArticleAuthorByline,
|
|
310
310
|
{
|
|
311
311
|
author: _nullishCoalesce(_optionalChain([guide, 'access', _13 => _13.author, 'optionalAccess', _14 => _14.full_name]), () => ( null)),
|
|
312
312
|
avatar: _optionalChain([guide, 'access', _15 => _15.author, 'optionalAccess', _16 => _16.avatar_url]),
|
|
@@ -5,12 +5,12 @@ var _chunkVA7OMDZOcjs = require('./chunk-VA7OMDZO.cjs');
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunk4T6ETBL4cjs = require('./chunk-4T6ETBL4.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkBRKTN6URcjs = require('./chunk-BRKTN6UR.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -25,10 +25,10 @@ var _chunkEWPR7662cjs = require('./chunk-EWPR7662.cjs');
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _chunkLY5VOKV7cjs = require('./chunk-LY5VOKV7.cjs');
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
var
|
|
31
|
+
var _chunk7F3V45AHcjs = require('./chunk-7F3V45AH.cjs');
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
var _chunkPX7FY655cjs = require('./chunk-PX7FY655.cjs');
|
|
@@ -57,7 +57,7 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
|
|
|
57
57
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
58
58
|
"div",
|
|
59
59
|
{
|
|
60
|
-
id:
|
|
60
|
+
id: _chunkBRKTN6URcjs.faqItemAnchor.call(void 0, item.id),
|
|
61
61
|
className: "scroll-mt-24 transition-colors hover:bg-ods-bg-hover",
|
|
62
62
|
children: [
|
|
63
63
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -110,14 +110,14 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
|
|
|
110
110
|
|
|
111
111
|
var PICK_ROOT_MARGIN = "600px";
|
|
112
112
|
function faqAskCardShown(assistant) {
|
|
113
|
-
return
|
|
113
|
+
return _chunk4T6ETBL4cjs.assistantAvailable.call(void 0, assistant) && !!assistant.name;
|
|
114
114
|
}
|
|
115
115
|
function FaqAskCard({ topic, exclude, count, title, description, onOpen }) {
|
|
116
116
|
const { ref, inView } = _chunkSA7LDEVJcjs.useInView.call(void 0, { rootMargin: PICK_ROOT_MARGIN });
|
|
117
117
|
const [reached, setReached] = _react.useState.call(void 0, false);
|
|
118
118
|
if (inView && !reached) setReached(true);
|
|
119
119
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
120
|
-
|
|
120
|
+
_chunk4T6ETBL4cjs.AssistantAskPrompts,
|
|
121
121
|
{
|
|
122
122
|
variant: "card",
|
|
123
123
|
topic,
|
|
@@ -170,7 +170,7 @@ function pageFaqProps(faq) {
|
|
|
170
170
|
}
|
|
171
171
|
function buildFaqsUrl(entityType, entityId, minResults, apiBaseUrl = "", topic) {
|
|
172
172
|
const entityScoped = !!entityType && entityId !== void 0 && entityId !== null && entityId !== "";
|
|
173
|
-
return
|
|
173
|
+
return _chunkLY5VOKV7cjs.buildSuggestionUrl.call(void 0, "/api/faqs", {
|
|
174
174
|
apiBaseUrl,
|
|
175
175
|
entityType,
|
|
176
176
|
entityId,
|
|
@@ -191,7 +191,7 @@ function groupFaqsBySection(faqs) {
|
|
|
191
191
|
}
|
|
192
192
|
let group = byName.get(name);
|
|
193
193
|
if (!group) {
|
|
194
|
-
group = { section: name, slug:
|
|
194
|
+
group = { section: name, slug: _chunkBRKTN6URcjs.faqSectionSlug.call(void 0, name), items: [] };
|
|
195
195
|
byName.set(name, group);
|
|
196
196
|
}
|
|
197
197
|
group.items.push(item);
|
|
@@ -246,7 +246,7 @@ function GroupedFaqList({
|
|
|
246
246
|
}, [slugKey]);
|
|
247
247
|
const [hashTarget, setHashTarget] = _react.useState.call(void 0, null);
|
|
248
248
|
_react.useEffect.call(void 0, () => {
|
|
249
|
-
const refresh = () => setHashTarget(
|
|
249
|
+
const refresh = () => setHashTarget(_chunkBRKTN6URcjs.parseFaqHash.call(void 0, window.location.hash));
|
|
250
250
|
refresh();
|
|
251
251
|
window.addEventListener("hashchange", refresh);
|
|
252
252
|
return () => window.removeEventListener("hashchange", refresh);
|
|
@@ -296,7 +296,7 @@ function GroupedFaqList({
|
|
|
296
296
|
const questions = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-10", children: groups.map((group) => {
|
|
297
297
|
const key = groupKey(group);
|
|
298
298
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { id: _nullishCoalesce(group.slug, () => ( void 0)), className: "scroll-mt-24 space-y-4", children: [
|
|
299
|
-
group.section && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CategoryHeading, { className:
|
|
299
|
+
group.section && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CategoryHeading, { className: _chunk7F3V45AHcjs.SECTION_HEADING_CLASS, children: group.section }),
|
|
300
300
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
301
301
|
FaqAccordion,
|
|
302
302
|
{
|
|
@@ -355,15 +355,20 @@ function FaqSection({
|
|
|
355
355
|
() => initialFaqs ? { faqs: initialFaqs } : void 0,
|
|
356
356
|
[initialFaqs]
|
|
357
357
|
);
|
|
358
|
-
const { data, dataUrl, isLoading, error } =
|
|
358
|
+
const { data, dataUrl, isLoading, error } = _chunkLY5VOKV7cjs.useSelfFetch.call(void 0, url, { initialData });
|
|
359
359
|
const held = dataUrl === url ? _optionalChain([data, 'optionalAccess', _15 => _15.faqs]) : void 0;
|
|
360
360
|
const faqs = _react.useMemo.call(void 0, () => _nullishCoalesce(held, () => ( [])), [held]);
|
|
361
361
|
const groups = _react.useMemo.call(void 0, () => faqs.length > 0 ? groupFaqsBySection(faqs) : [], [faqs]);
|
|
362
|
-
const titleNode = heading === void 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className:
|
|
363
|
-
const headingNode = showTopic && topic ?
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
362
|
+
const titleNode = heading === void 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: _chunk7F3V45AHcjs.SECTION_HEADING_CLASS, children: DEFAULT_HEADING_TEXT }) : heading;
|
|
363
|
+
const headingNode = showTopic && topic ? (
|
|
364
|
+
// The host's heading may arrive from a server component, still streaming: React cannot check such a
|
|
365
|
+
// node when it sits in a list of siblings and warns about a missing key. So it is the ONLY child of its
|
|
366
|
+
// own wrapper, and the two siblings here are this component's own elements.
|
|
367
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
368
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: titleNode }),
|
|
369
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-muted text-h6", children: topic })
|
|
370
|
+
] })
|
|
371
|
+
) : titleNode;
|
|
367
372
|
if (error) return null;
|
|
368
373
|
if (!isLoading && faqs.length === 0) return null;
|
|
369
374
|
if (isLoading && faqs.length === 0) {
|
|
@@ -336,6 +336,19 @@ function hslToRgb(h, s, l) {
|
|
|
336
336
|
};
|
|
337
337
|
}
|
|
338
338
|
|
|
339
|
+
// src/utils/identity-tint.ts
|
|
340
|
+
function identityTint(accent) {
|
|
341
|
+
if (!accent) return void 0;
|
|
342
|
+
const wash = `color-mix(in srgb, ${accent} 2%, transparent)`;
|
|
343
|
+
return {
|
|
344
|
+
borderColor: `color-mix(in srgb, ${accent} 30%, transparent)`,
|
|
345
|
+
backgroundImage: [
|
|
346
|
+
`radial-gradient(120% 120% at 100% 100%, color-mix(in srgb, ${accent} 4%, transparent), transparent 70%)`,
|
|
347
|
+
`linear-gradient(${wash}, ${wash})`
|
|
348
|
+
].join(", ")
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
|
|
339
352
|
// src/components/agent-identity.tsx
|
|
340
353
|
var _react = require('react');
|
|
341
354
|
var _jsxruntime = require('react/jsx-runtime');
|
|
@@ -387,6 +400,11 @@ function useAgentAccents() {
|
|
|
387
400
|
[identities]
|
|
388
401
|
);
|
|
389
402
|
}
|
|
403
|
+
function useAgentTint(slug) {
|
|
404
|
+
return identityTint(useAgentAccents()(slug));
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
|
|
390
408
|
|
|
391
409
|
|
|
392
410
|
|
|
@@ -414,4 +432,4 @@ function useAgentAccents() {
|
|
|
414
432
|
|
|
415
433
|
|
|
416
434
|
|
|
417
|
-
exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.AGENT_GLYPH_COLOR = AGENT_GLYPH_COLOR; exports.AGENT_PICTURE_CLASS = AGENT_PICTURE_CLASS; exports.AgentIdentityProvider = AgentIdentityProvider; exports.useAgentIdentityIcon = useAgentIdentityIcon; exports.useAgentAccents = useAgentAccents;
|
|
435
|
+
exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.identityTint = identityTint; exports.AGENT_GLYPH_COLOR = AGENT_GLYPH_COLOR; exports.AGENT_PICTURE_CLASS = AGENT_PICTURE_CLASS; exports.AgentIdentityProvider = AgentIdentityProvider; exports.useAgentIdentityIcon = useAgentIdentityIcon; exports.useAgentAccents = useAgentAccents; exports.useAgentTint = useAgentTint;
|