@flamingo-stack/openframe-frontend-core 0.0.321 → 0.0.322-snapshot.20260625154751
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-CD56IAXU.cjs → chunk-4HII2ZLE.cjs} +5 -5
- package/dist/{chunk-CD56IAXU.cjs.map → chunk-4HII2ZLE.cjs.map} +1 -1
- package/dist/{chunk-VNWWOPIY.js → chunk-4PAYSVBL.js} +2 -2
- package/dist/{chunk-Y2TJ64S5.cjs → chunk-5YWMPCTD.cjs} +12 -12
- package/dist/{chunk-Y2TJ64S5.cjs.map → chunk-5YWMPCTD.cjs.map} +1 -1
- package/dist/{chunk-TFCGMQPK.cjs → chunk-6ZCLKEXO.cjs} +25 -25
- package/dist/{chunk-TFCGMQPK.cjs.map → chunk-6ZCLKEXO.cjs.map} +1 -1
- package/dist/{chunk-NEY347ME.cjs → chunk-7CFMQIAC.cjs} +26 -26
- package/dist/{chunk-NEY347ME.cjs.map → chunk-7CFMQIAC.cjs.map} +1 -1
- package/dist/{chunk-FNK67HTC.js → chunk-AA2ZKWQV.js} +2 -2
- package/dist/{chunk-HALW7FPF.js → chunk-BUJZJN2K.js} +2 -2
- package/dist/{chunk-PDOTUMJC.cjs → chunk-FCIMIGVA.cjs} +31 -31
- package/dist/{chunk-PDOTUMJC.cjs.map → chunk-FCIMIGVA.cjs.map} +1 -1
- package/dist/{chunk-7C5G45KU.cjs → chunk-GLKQDTCI.cjs} +740 -679
- package/dist/chunk-GLKQDTCI.cjs.map +1 -0
- package/dist/{chunk-DEEBJBFQ.js → chunk-HDTW265W.js} +2 -2
- package/dist/{chunk-MN2WQYXS.cjs → chunk-JJS5QJOX.cjs} +15 -15
- package/dist/{chunk-MN2WQYXS.cjs.map → chunk-JJS5QJOX.cjs.map} +1 -1
- package/dist/{chunk-J65CQLX6.js → chunk-MG72PRRZ.js} +2 -2
- package/dist/{chunk-TPJJJ6KC.js → chunk-OI56RVPD.js} +153 -92
- package/dist/chunk-OI56RVPD.js.map +1 -0
- package/dist/{chunk-7M3QIYFW.cjs → chunk-OUN4V2CV.cjs} +56 -56
- package/dist/{chunk-7M3QIYFW.cjs.map → chunk-OUN4V2CV.cjs.map} +1 -1
- package/dist/{chunk-GAQAPTBU.cjs → chunk-OYRZCCVO.cjs} +37 -37
- package/dist/{chunk-GAQAPTBU.cjs.map → chunk-OYRZCCVO.cjs.map} +1 -1
- package/dist/{chunk-WCRJWZUA.js → chunk-RTYIYX6C.js} +4 -4
- package/dist/{chunk-TV6VD6LP.js → chunk-S6QURVK4.js} +4 -4
- package/dist/{chunk-563D7EB2.js → chunk-SYRZBYKN.js} +4 -4
- package/dist/{chunk-V4U7ASRM.js → chunk-WEHLKMBD.js} +2 -2
- package/dist/{chunk-BRERE4E5.js → chunk-XPDKUIGS.js} +4 -4
- package/dist/{chunk-WCCZGPPP.cjs → chunk-XVBNFRG7.cjs} +62 -62
- package/dist/{chunk-WCCZGPPP.cjs.map → chunk-XVBNFRG7.cjs.map} +1 -1
- package/dist/{chunk-6DH2TCRH.js → chunk-YLLX3O2D.js} +2 -2
- package/dist/{chunk-5HQIFRRE.cjs → chunk-YNMGKOSL.cjs} +7 -7
- package/dist/{chunk-5HQIFRRE.cjs.map → chunk-YNMGKOSL.cjs.map} +1 -1
- package/dist/{chunk-ZFER75HU.cjs → chunk-ZEDY3IAB.cjs} +9 -9
- package/dist/{chunk-ZFER75HU.cjs.map → chunk-ZEDY3IAB.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/embeddable-chat.d.ts +2 -0
- package/dist/components/chat/embeddable-chat.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/mingo-chat-history.d.ts +11 -2
- package/dist/components/chat/mingo-chat-history.d.ts.map +1 -1
- package/dist/components/chat/mingo-welcome.d.ts +5 -1
- package/dist/components/chat/mingo-welcome.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/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/features/time-tracker/time-tracker-panel.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +120 -120
- package/dist/components/index.js +9 -9
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- 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/embeddable-chat.tsx +15 -1
- package/src/components/chat/mingo-chat-history.tsx +136 -53
- package/src/components/chat/mingo-welcome.tsx +6 -1
- package/src/components/features/time-tracker/time-tracker-panel.tsx +17 -12
- package/src/stories/TimeTracker.stories.tsx +1 -1
- package/dist/chunk-7C5G45KU.cjs.map +0 -1
- package/dist/chunk-TPJJJ6KC.js.map +0 -1
- /package/dist/{chunk-VNWWOPIY.js.map → chunk-4PAYSVBL.js.map} +0 -0
- /package/dist/{chunk-FNK67HTC.js.map → chunk-AA2ZKWQV.js.map} +0 -0
- /package/dist/{chunk-HALW7FPF.js.map → chunk-BUJZJN2K.js.map} +0 -0
- /package/dist/{chunk-DEEBJBFQ.js.map → chunk-HDTW265W.js.map} +0 -0
- /package/dist/{chunk-J65CQLX6.js.map → chunk-MG72PRRZ.js.map} +0 -0
- /package/dist/{chunk-WCRJWZUA.js.map → chunk-RTYIYX6C.js.map} +0 -0
- /package/dist/{chunk-TV6VD6LP.js.map → chunk-S6QURVK4.js.map} +0 -0
- /package/dist/{chunk-563D7EB2.js.map → chunk-SYRZBYKN.js.map} +0 -0
- /package/dist/{chunk-V4U7ASRM.js.map → chunk-WEHLKMBD.js.map} +0 -0
- /package/dist/{chunk-BRERE4E5.js.map → chunk-XPDKUIGS.js.map} +0 -0
- /package/dist/{chunk-6DH2TCRH.js.map → chunk-YLLX3O2D.js.map} +0 -0
|
@@ -6143,12 +6143,15 @@ function MingoChatHistoryRow({
|
|
|
6143
6143
|
}
|
|
6144
6144
|
);
|
|
6145
6145
|
}
|
|
6146
|
-
function MingoChatHistorySkeleton({
|
|
6146
|
+
function MingoChatHistorySkeleton({
|
|
6147
|
+
className,
|
|
6148
|
+
searchable = false
|
|
6149
|
+
}) {
|
|
6147
6150
|
const groups = [
|
|
6148
6151
|
{ withBadge: 2, widths: ["w-3/5", "w-4/5", "w-2/5", "w-3/4"] },
|
|
6149
6152
|
{ withBadge: 0, widths: ["w-1/2", "w-3/5", "w-2/3"] }
|
|
6150
6153
|
];
|
|
6151
|
-
return /* @__PURE__ */ _jsxruntime.
|
|
6154
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
6152
6155
|
"div",
|
|
6153
6156
|
{
|
|
6154
6157
|
"aria-hidden": true,
|
|
@@ -6156,20 +6159,51 @@ function MingoChatHistorySkeleton({ className }) {
|
|
|
6156
6159
|
"flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)] overflow-hidden",
|
|
6157
6160
|
className
|
|
6158
6161
|
),
|
|
6159
|
-
children:
|
|
6160
|
-
/* @__PURE__ */ _jsxruntime.
|
|
6161
|
-
|
|
6162
|
-
"div",
|
|
6163
|
-
|
|
6164
|
-
|
|
6165
|
-
|
|
6166
|
-
|
|
6167
|
-
|
|
6168
|
-
|
|
6169
|
-
|
|
6170
|
-
|
|
6171
|
-
|
|
6172
|
-
|
|
6162
|
+
children: [
|
|
6163
|
+
searchable && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-11 md:h-12 shrink-0 items-center gap-2 rounded-[6px] border border-ods-border bg-ods-card px-3", children: [
|
|
6164
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "size-4 md:size-6 shrink-0 animate-pulse rounded bg-ods-border" }),
|
|
6165
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-32 animate-pulse rounded bg-ods-border" })
|
|
6166
|
+
] }),
|
|
6167
|
+
groups.map((group, g) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
6168
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-16 animate-pulse rounded bg-ods-border" }),
|
|
6169
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.widths.map((w, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
6170
|
+
"div",
|
|
6171
|
+
{
|
|
6172
|
+
className: "flex h-12 items-center gap-[var(--spacing-system-xsf)] bg-ods-bg border-b border-ods-border px-[var(--spacing-system-s)] last:border-b-0",
|
|
6173
|
+
children: [
|
|
6174
|
+
i < group.withBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 shrink-0 animate-pulse rounded-md bg-ods-border" }),
|
|
6175
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "h-4 animate-pulse rounded bg-ods-border", w) })
|
|
6176
|
+
]
|
|
6177
|
+
},
|
|
6178
|
+
i
|
|
6179
|
+
)) })
|
|
6180
|
+
] }, g))
|
|
6181
|
+
]
|
|
6182
|
+
}
|
|
6183
|
+
);
|
|
6184
|
+
}
|
|
6185
|
+
function DialogSearchBar({
|
|
6186
|
+
initialValue,
|
|
6187
|
+
onSearchChange
|
|
6188
|
+
}) {
|
|
6189
|
+
const [value, setValue] = React13.useState(_nullishCoalesce(initialValue, () => ( "")));
|
|
6190
|
+
const debounced = _chunk27IO7V3Pcjs.useDebounce.call(void 0, value, 300);
|
|
6191
|
+
const lastEmitted = React13.useRef(_nullishCoalesce(initialValue, () => ( "")));
|
|
6192
|
+
React13.useEffect(() => {
|
|
6193
|
+
if (debounced === lastEmitted.current) return;
|
|
6194
|
+
lastEmitted.current = debounced;
|
|
6195
|
+
onSearchChange(debounced);
|
|
6196
|
+
}, [debounced, onSearchChange]);
|
|
6197
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6198
|
+
_chunkQJGRP2YEcjs.Input,
|
|
6199
|
+
{
|
|
6200
|
+
type: "text",
|
|
6201
|
+
value,
|
|
6202
|
+
onChange: (e) => setValue(e.target.value),
|
|
6203
|
+
placeholder: "Search for Chats",
|
|
6204
|
+
"aria-label": "Search chats",
|
|
6205
|
+
startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}),
|
|
6206
|
+
className: "shrink-0"
|
|
6173
6207
|
}
|
|
6174
6208
|
);
|
|
6175
6209
|
}
|
|
@@ -6179,12 +6213,15 @@ function MingoChatHistory({
|
|
|
6179
6213
|
onSelectDialog,
|
|
6180
6214
|
onRequestRename,
|
|
6181
6215
|
onRequestArchive,
|
|
6216
|
+
searchQuery,
|
|
6217
|
+
onSearchChange,
|
|
6182
6218
|
hasMore = false,
|
|
6183
6219
|
isLoadingMore = false,
|
|
6184
6220
|
onLoadMore,
|
|
6185
6221
|
className
|
|
6186
6222
|
}) {
|
|
6187
6223
|
const groups = React13.useMemo(() => groupDialogs(dialogs), [dialogs]);
|
|
6224
|
+
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _98 => _98.trim, 'call', _99 => _99()]);
|
|
6188
6225
|
const scrollRef = React13.useRef(null);
|
|
6189
6226
|
const [fade, setFade] = React13.useState({ top: false, bottom: false });
|
|
6190
6227
|
const updateFade = React13.useCallback(() => {
|
|
@@ -6215,7 +6252,7 @@ function MingoChatHistory({
|
|
|
6215
6252
|
const io = new IntersectionObserver(
|
|
6216
6253
|
([entry]) => {
|
|
6217
6254
|
if (entry.isIntersecting && !isLoadingMoreRef.current) {
|
|
6218
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
6255
|
+
_optionalChain([onLoadMoreRef, 'access', _100 => _100.current, 'optionalCall', _101 => _101()]);
|
|
6219
6256
|
}
|
|
6220
6257
|
},
|
|
6221
6258
|
{ root, rootMargin: "120px", threshold: 0.1 }
|
|
@@ -6223,65 +6260,68 @@ function MingoChatHistory({
|
|
|
6223
6260
|
io.observe(sentinel);
|
|
6224
6261
|
return () => io.disconnect();
|
|
6225
6262
|
}, [hasMore]);
|
|
6226
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "relative flex flex-1 min-h-0 flex-col", className), children: [
|
|
6227
|
-
/* @__PURE__ */ _jsxruntime.
|
|
6228
|
-
|
|
6229
|
-
|
|
6230
|
-
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
{
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
{
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
6250
|
-
|
|
6251
|
-
|
|
6252
|
-
|
|
6253
|
-
|
|
6254
|
-
|
|
6255
|
-
|
|
6256
|
-
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6260
|
-
"div",
|
|
6261
|
-
{
|
|
6262
|
-
"aria-hidden": true,
|
|
6263
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
6264
|
-
"pointer-events-none absolute inset-x-0 top-0 h-12 transition-opacity duration-150",
|
|
6265
|
-
fade.top ? "opacity-100" : "opacity-0"
|
|
6266
|
-
),
|
|
6267
|
-
style: {
|
|
6268
|
-
background: "linear-gradient(0deg, transparent 0%, var(--color-bg-card) 100%)"
|
|
6263
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "relative flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)]", className), children: [
|
|
6264
|
+
onSearchChange ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogSearchBar, { initialValue: searchQuery, onSearchChange }) : null,
|
|
6265
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
|
|
6266
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
6267
|
+
"div",
|
|
6268
|
+
{
|
|
6269
|
+
ref: scrollRef,
|
|
6270
|
+
onScroll: updateFade,
|
|
6271
|
+
className: "flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)] overflow-y-auto",
|
|
6272
|
+
children: [
|
|
6273
|
+
noSearchResults ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "py-[var(--spacing-system-m)] text-center text-h5 text-ods-text-secondary", children: "No chats found" }) : groups.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
6274
|
+
"div",
|
|
6275
|
+
{
|
|
6276
|
+
className: "flex flex-col gap-[var(--spacing-system-xxs)]",
|
|
6277
|
+
children: [
|
|
6278
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 text-ods-text-secondary", children: group.label }),
|
|
6279
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.items.map((dialog) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6280
|
+
MingoChatHistoryRow,
|
|
6281
|
+
{
|
|
6282
|
+
dialog,
|
|
6283
|
+
isActive: dialog.id === activeDialogId,
|
|
6284
|
+
onSelect: onSelectDialog,
|
|
6285
|
+
onRequestRename,
|
|
6286
|
+
onRequestArchive
|
|
6287
|
+
},
|
|
6288
|
+
dialog.id
|
|
6289
|
+
)) })
|
|
6290
|
+
]
|
|
6291
|
+
},
|
|
6292
|
+
group.key
|
|
6293
|
+
)),
|
|
6294
|
+
hasMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-px shrink-0" }) : null
|
|
6295
|
+
]
|
|
6269
6296
|
}
|
|
6270
|
-
|
|
6271
|
-
|
|
6272
|
-
|
|
6273
|
-
|
|
6274
|
-
|
|
6275
|
-
|
|
6276
|
-
|
|
6277
|
-
|
|
6278
|
-
|
|
6279
|
-
|
|
6280
|
-
|
|
6281
|
-
|
|
6297
|
+
),
|
|
6298
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6299
|
+
"div",
|
|
6300
|
+
{
|
|
6301
|
+
"aria-hidden": true,
|
|
6302
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
6303
|
+
"pointer-events-none absolute inset-x-0 top-0 h-12 transition-opacity duration-150",
|
|
6304
|
+
fade.top ? "opacity-100" : "opacity-0"
|
|
6305
|
+
),
|
|
6306
|
+
style: {
|
|
6307
|
+
background: "linear-gradient(0deg, transparent 0%, var(--color-bg-card) 100%)"
|
|
6308
|
+
}
|
|
6282
6309
|
}
|
|
6283
|
-
|
|
6284
|
-
|
|
6310
|
+
),
|
|
6311
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6312
|
+
"div",
|
|
6313
|
+
{
|
|
6314
|
+
"aria-hidden": true,
|
|
6315
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
6316
|
+
"pointer-events-none absolute inset-x-0 bottom-0 h-12 transition-opacity duration-150",
|
|
6317
|
+
fade.bottom ? "opacity-100" : "opacity-0"
|
|
6318
|
+
),
|
|
6319
|
+
style: {
|
|
6320
|
+
background: "linear-gradient(180deg, transparent 0%, var(--color-bg-card) 100%)"
|
|
6321
|
+
}
|
|
6322
|
+
}
|
|
6323
|
+
)
|
|
6324
|
+
] })
|
|
6285
6325
|
] });
|
|
6286
6326
|
}
|
|
6287
6327
|
|
|
@@ -6330,6 +6370,7 @@ function MingoWelcome({
|
|
|
6330
6370
|
isLoadingHistory = false,
|
|
6331
6371
|
loadError = false,
|
|
6332
6372
|
onRetry,
|
|
6373
|
+
historySearchable = false,
|
|
6333
6374
|
onStartGuideChat,
|
|
6334
6375
|
className
|
|
6335
6376
|
}) {
|
|
@@ -6401,7 +6442,7 @@ function MingoWelcome({
|
|
|
6401
6442
|
children: "Try again"
|
|
6402
6443
|
}
|
|
6403
6444
|
)
|
|
6404
|
-
] }) : isLoadingHistory ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoChatHistorySkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
|
|
6445
|
+
] }) : isLoadingHistory ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoChatHistorySkeleton, { searchable: historySearchable }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
|
|
6405
6446
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
6406
6447
|
"div",
|
|
6407
6448
|
{
|
|
@@ -6558,7 +6599,7 @@ function GuideWelcome({
|
|
|
6558
6599
|
() => quickActions.map((action) => ({
|
|
6559
6600
|
id: action.id,
|
|
6560
6601
|
label: action.label,
|
|
6561
|
-
onSelect: () => _optionalChain([onQuickAction, 'optionalCall',
|
|
6602
|
+
onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _102 => _102(action)])
|
|
6562
6603
|
})),
|
|
6563
6604
|
[quickActions, onQuickAction]
|
|
6564
6605
|
);
|
|
@@ -6999,7 +7040,7 @@ function ChatDialogModals({
|
|
|
6999
7040
|
RenameChatModal,
|
|
7000
7041
|
{
|
|
7001
7042
|
isOpen: renameTarget != null,
|
|
7002
|
-
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess',
|
|
7043
|
+
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _103 => _103.title]), () => ( "")),
|
|
7003
7044
|
onClose: () => setRenameTarget(null),
|
|
7004
7045
|
onSave: onConfirmRename
|
|
7005
7046
|
}
|
|
@@ -7263,7 +7304,7 @@ function ChatAttachmentAddButton({
|
|
|
7263
7304
|
const canAddMore = slotsAvailable > 0 && !disabled;
|
|
7264
7305
|
const handlePick = () => {
|
|
7265
7306
|
if (!canAddMore) return;
|
|
7266
|
-
_optionalChain([fileInputRef, 'access',
|
|
7307
|
+
_optionalChain([fileInputRef, 'access', _104 => _104.current, 'optionalAccess', _105 => _105.click, 'call', _106 => _106()]);
|
|
7267
7308
|
};
|
|
7268
7309
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
7269
7310
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -7629,7 +7670,7 @@ function ChatComposer({
|
|
|
7629
7670
|
}) {
|
|
7630
7671
|
const contextEnabled = !!contextPicker && !archived;
|
|
7631
7672
|
const selected = _nullishCoalesce(selectedContextItems, () => ( []));
|
|
7632
|
-
const entityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
7673
|
+
const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _107 => _107.entityTypes]);
|
|
7633
7674
|
const iconByType = React23.useMemo(() => {
|
|
7634
7675
|
const map = /* @__PURE__ */ new Map();
|
|
7635
7676
|
for (const t of _nullishCoalesce(entityTypes, () => ( []))) map.set(t.type, t.icon);
|
|
@@ -7658,7 +7699,7 @@ function ChatComposer({
|
|
|
7658
7699
|
startIcon: contextEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7659
7700
|
ChatComposerPlusMenu,
|
|
7660
7701
|
{
|
|
7661
|
-
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
7702
|
+
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _108 => _108()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _109 => _109()]),
|
|
7662
7703
|
open: contextPickerOpen,
|
|
7663
7704
|
disabled: attachmentsDisabled,
|
|
7664
7705
|
dropdown: contextPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -7667,8 +7708,8 @@ function ChatComposer({
|
|
|
7667
7708
|
open: contextPickerOpen,
|
|
7668
7709
|
config: contextPicker,
|
|
7669
7710
|
selectedItems: selected,
|
|
7670
|
-
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall',
|
|
7671
|
-
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
7711
|
+
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _110 => _110(item)]),
|
|
7712
|
+
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _111 => _111()]),
|
|
7672
7713
|
mentionQuery
|
|
7673
7714
|
}
|
|
7674
7715
|
) : void 0
|
|
@@ -7873,8 +7914,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
7873
7914
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
7874
7915
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
7875
7916
|
const handleClick = (e) => {
|
|
7876
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
7877
|
-
_optionalChain([onClick, 'optionalCall',
|
|
7917
|
+
_optionalChain([onDialogSelect, 'optionalCall', _112 => _112(dialog.id)]);
|
|
7918
|
+
_optionalChain([onClick, 'optionalCall', _113 => _113(e)]);
|
|
7878
7919
|
};
|
|
7879
7920
|
const formatTimestamp2 = (timestamp) => {
|
|
7880
7921
|
if (!timestamp) return "";
|
|
@@ -7933,7 +7974,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
7933
7974
|
(entries) => {
|
|
7934
7975
|
const [entry] = entries;
|
|
7935
7976
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
7936
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
7977
|
+
_optionalChain([onLoadMoreRef, 'access', _114 => _114.current, 'optionalCall', _115 => _115()]);
|
|
7937
7978
|
}
|
|
7938
7979
|
},
|
|
7939
7980
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -8049,7 +8090,7 @@ function isSameOriginAbsoluteHref(href) {
|
|
|
8049
8090
|
function computeIsNewTab(runtime, href, targetPlatform) {
|
|
8050
8091
|
if (!href) return false;
|
|
8051
8092
|
if (runtime.navigation.mode === "embed") return !isSameOriginAbsoluteHref(href);
|
|
8052
|
-
return _nullishCoalesce(_optionalChain([runtime, 'access',
|
|
8093
|
+
return _nullishCoalesce(_optionalChain([runtime, 'access', _116 => _116.navigation, 'access', _117 => _117.decideNewTab, 'optionalCall', _118 => _118({ href, targetPlatform })]), () => ( decideNewTab({
|
|
8053
8094
|
href,
|
|
8054
8095
|
targetPlatform,
|
|
8055
8096
|
currentSource: _nullishCoalesce(runtime.source, () => ( ""))
|
|
@@ -8113,7 +8154,7 @@ function resolveExternalNavigation(args) {
|
|
|
8113
8154
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
8114
8155
|
const isNewTab = runtime ? computeIsNewTab(runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
8115
8156
|
if (isNewTab) {
|
|
8116
|
-
if (_optionalChain([runtime, 'optionalAccess',
|
|
8157
|
+
if (_optionalChain([runtime, 'optionalAccess', _119 => _119.navigation, 'access', _120 => _120.openExternal])) runtime.navigation.openExternal(href);
|
|
8117
8158
|
else window.open(href, "_blank", NEW_TAB_FEATURES);
|
|
8118
8159
|
return;
|
|
8119
8160
|
}
|
|
@@ -8121,7 +8162,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
|
8121
8162
|
if (target.includes("#") && _chunk27IO7V3Pcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunk27IO7V3Pcjs.STICKY_HEADER_OFFSET_PX })) {
|
|
8122
8163
|
return;
|
|
8123
8164
|
}
|
|
8124
|
-
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
8165
|
+
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _121 => _121.navigation, 'access', _122 => _122.navigate, 'optionalCall', _123 => _123({ href, path, targetPlatform })]), () => ( false));
|
|
8125
8166
|
if (!handled) {
|
|
8126
8167
|
if (fallbackNavigate) fallbackNavigate(target);
|
|
8127
8168
|
else window.location.assign(target);
|
|
@@ -8186,7 +8227,7 @@ function NavLinkAnchorViaRuntime({
|
|
|
8186
8227
|
path,
|
|
8187
8228
|
targetPlatform
|
|
8188
8229
|
}, router.push);
|
|
8189
|
-
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
8230
|
+
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _124 => _124.closeChat])) panel.closeChat();
|
|
8190
8231
|
};
|
|
8191
8232
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8192
8233
|
"a",
|
|
@@ -8311,7 +8352,7 @@ function EntityAuthorCard({
|
|
|
8311
8352
|
renderEmptyAuthor = false,
|
|
8312
8353
|
className
|
|
8313
8354
|
}) {
|
|
8314
|
-
const hasAuthor = !!_optionalChain([author, 'optionalAccess',
|
|
8355
|
+
const hasAuthor = !!_optionalChain([author, 'optionalAccess', _125 => _125.full_name]);
|
|
8315
8356
|
if (!hasAuthor && !renderEmptyAuthor) return null;
|
|
8316
8357
|
const effectiveAuthor = hasAuthor ? author : EMPTY_AUTHOR_PLACEHOLDER;
|
|
8317
8358
|
const formatted = publishedAt ? formatDate(publishedAt) : "";
|
|
@@ -8647,8 +8688,8 @@ function AdminContentCard({
|
|
|
8647
8688
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-['DM_Sans'] font-bold text-ods-text-primary text-[18px] leading-snug line-clamp-2 break-words", children: title }),
|
|
8648
8689
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] text-ods-text-secondary truncate", children: subtitle }),
|
|
8649
8690
|
summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-relaxed text-ods-text-secondary line-clamp-2", children: summary }),
|
|
8650
|
-
(Number(_optionalChain([platforms, 'optionalAccess',
|
|
8651
|
-
_optionalChain([platforms, 'optionalAccess',
|
|
8691
|
+
(Number(_optionalChain([platforms, 'optionalAccess', _126 => _126.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
8692
|
+
_optionalChain([platforms, 'optionalAccess', _127 => _127.map, 'call', _128 => _128((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8652
8693
|
PlatformBadge,
|
|
8653
8694
|
{
|
|
8654
8695
|
platform: { id: p.id || p.platform_id || "", name: p.name, display_name: p.display_name || p.name },
|
|
@@ -8704,8 +8745,8 @@ function WhatIShippedCard({ entry, placeholderUrl, actions, anchorProps, classNa
|
|
|
8704
8745
|
) : null,
|
|
8705
8746
|
meta: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8706
8747
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2 min-w-0", children: [
|
|
8707
|
-
_optionalChain([entry, 'access',
|
|
8708
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: _nullishCoalesce(_optionalChain([entry, 'access',
|
|
8748
|
+
_optionalChain([entry, 'access', _129 => _129.author, 'optionalAccess', _130 => _130.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: _nullishCoalesce(getProxiedImageUrl2(entry.author.avatar_url), () => ( entry.author.avatar_url)), alt: "", className: "h-5 w-5 rounded-full object-cover shrink-0" }) : null,
|
|
8749
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: _nullishCoalesce(_optionalChain([entry, 'access', _131 => _131.author, 'optionalAccess', _132 => _132.full_name]), () => ( "")) })
|
|
8709
8750
|
] }),
|
|
8710
8751
|
month ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: month }) : null
|
|
8711
8752
|
] }),
|
|
@@ -8790,7 +8831,7 @@ function fetchPriorityProp(priority) {
|
|
|
8790
8831
|
|
|
8791
8832
|
if (typeof window !== "undefined") {
|
|
8792
8833
|
const w = window;
|
|
8793
|
-
if (!_optionalChain([w, 'access',
|
|
8834
|
+
if (!_optionalChain([w, 'access', _133 => _133.chrome, 'optionalAccess', _134 => _134.cast])) {
|
|
8794
8835
|
w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
|
|
8795
8836
|
}
|
|
8796
8837
|
}
|
|
@@ -8980,7 +9021,7 @@ function YouTubeFacadeInner({
|
|
|
8980
9021
|
const iframe = iframeRef.current;
|
|
8981
9022
|
if (!iframe) return;
|
|
8982
9023
|
function subscribe() {
|
|
8983
|
-
_optionalChain([iframe, 'optionalAccess',
|
|
9024
|
+
_optionalChain([iframe, 'optionalAccess', _135 => _135.contentWindow, 'optionalAccess', _136 => _136.postMessage, 'call', _137 => _137(
|
|
8984
9025
|
'{"event":"listening"}',
|
|
8985
9026
|
YT_NOCOOKIE_ORIGIN
|
|
8986
9027
|
)]);
|
|
@@ -8998,13 +9039,13 @@ function YouTubeFacadeInner({
|
|
|
8998
9039
|
return;
|
|
8999
9040
|
}
|
|
9000
9041
|
if (!payload || payload.event !== "infoDelivery") return;
|
|
9001
|
-
const state = _optionalChain([payload, 'access',
|
|
9042
|
+
const state = _optionalChain([payload, 'access', _138 => _138.info, 'optionalAccess', _139 => _139.playerState]);
|
|
9002
9043
|
if (typeof state !== "number") return;
|
|
9003
9044
|
if (state === YT_STATE_PLAYING) {
|
|
9004
9045
|
if (blurTimer !== null) return;
|
|
9005
9046
|
blurTimer = setTimeout(() => {
|
|
9006
9047
|
blurTimer = null;
|
|
9007
|
-
_optionalChain([iframeRef, 'access',
|
|
9048
|
+
_optionalChain([iframeRef, 'access', _140 => _140.current, 'optionalAccess', _141 => _141.blur, 'call', _142 => _142()]);
|
|
9008
9049
|
}, YT_PLAYING_BLUR_DELAY_MS);
|
|
9009
9050
|
return;
|
|
9010
9051
|
}
|
|
@@ -9610,7 +9651,7 @@ function ProductReleaseCard({
|
|
|
9610
9651
|
changelogCounts
|
|
9611
9652
|
}) {
|
|
9612
9653
|
if (size === "lg") {
|
|
9613
|
-
const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess',
|
|
9654
|
+
const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _143 => _143.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _144 => _144.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _145 => _145.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _146 => _146.breaking]), () => ( 0)));
|
|
9614
9655
|
const valueCells = [
|
|
9615
9656
|
releaseType && releaseTypeBadgeColor ? {
|
|
9616
9657
|
value: releaseType.toUpperCase(),
|
|
@@ -9629,7 +9670,7 @@ function ProductReleaseCard({
|
|
|
9629
9670
|
uppercase: false
|
|
9630
9671
|
} : { value: "\u2014", label: "Released", uppercase: false }
|
|
9631
9672
|
];
|
|
9632
|
-
const effectiveAuthor = _optionalChain([author, 'optionalAccess',
|
|
9673
|
+
const effectiveAuthor = _optionalChain([author, 'optionalAccess', _147 => _147.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
|
|
9633
9674
|
const gridColsClass = "md:grid-cols-4";
|
|
9634
9675
|
const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
|
|
9635
9676
|
const frameClass = _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -10042,10 +10083,10 @@ function buildProductReleaseCardProps(item) {
|
|
|
10042
10083
|
job_title: release.author.job_title
|
|
10043
10084
|
} : void 0,
|
|
10044
10085
|
changelogCounts: {
|
|
10045
|
-
features: _nullishCoalesce(_optionalChain([release, 'access',
|
|
10046
|
-
fixes: _nullishCoalesce(_optionalChain([release, 'access',
|
|
10047
|
-
improvements: _nullishCoalesce(_optionalChain([release, 'access',
|
|
10048
|
-
breaking: _nullishCoalesce(_optionalChain([release, 'access',
|
|
10086
|
+
features: _nullishCoalesce(_optionalChain([release, 'access', _148 => _148.features_added, 'optionalAccess', _149 => _149.length]), () => ( 0)),
|
|
10087
|
+
fixes: _nullishCoalesce(_optionalChain([release, 'access', _150 => _150.bugs_fixed, 'optionalAccess', _151 => _151.length]), () => ( 0)),
|
|
10088
|
+
improvements: _nullishCoalesce(_optionalChain([release, 'access', _152 => _152.improvements, 'optionalAccess', _153 => _153.length]), () => ( 0)),
|
|
10089
|
+
breaking: _nullishCoalesce(_optionalChain([release, 'access', _154 => _154.breaking_changes, 'optionalAccess', _155 => _155.length]), () => ( 0))
|
|
10049
10090
|
}
|
|
10050
10091
|
};
|
|
10051
10092
|
}
|
|
@@ -10173,7 +10214,7 @@ function BlogCard({
|
|
|
10173
10214
|
const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
|
|
10174
10215
|
if (size === "sm") {
|
|
10175
10216
|
const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric", timeZone: "UTC" }) : "";
|
|
10176
|
-
const firstCategory = _optionalChain([post, 'access',
|
|
10217
|
+
const firstCategory = _optionalChain([post, 'access', _156 => _156.categories, 'optionalAccess', _157 => _157.find, 'call', _158 => _158((c) => c && c.name), 'optionalAccess', _159 => _159.name]);
|
|
10177
10218
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10178
10219
|
"a",
|
|
10179
10220
|
{
|
|
@@ -10379,14 +10420,14 @@ function CaseStudyCard({
|
|
|
10379
10420
|
"img",
|
|
10380
10421
|
{
|
|
10381
10422
|
src: coverImage,
|
|
10382
|
-
alt: `${_optionalChain([study, 'access',
|
|
10423
|
+
alt: `${_optionalChain([study, 'access', _160 => _160.msp, 'optionalAccess', _161 => _161.name]) || study.title} cover`,
|
|
10383
10424
|
className: "absolute inset-0 block w-full h-full object-contain",
|
|
10384
10425
|
onError: hideOnError
|
|
10385
10426
|
}
|
|
10386
10427
|
) : null }),
|
|
10387
10428
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
10388
10429
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: study.title }) }),
|
|
10389
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access',
|
|
10430
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access', _162 => _162.msp, 'optionalAccess', _163 => _163.name]), _optionalChain([study, 'access', _164 => _164.user, 'optionalAccess', _165 => _165.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
|
|
10390
10431
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: study.summary || COMPACT_CARD_ROW_FILLER }) })
|
|
10391
10432
|
] })
|
|
10392
10433
|
] });
|
|
@@ -10396,7 +10437,7 @@ function CaseStudyCard({
|
|
|
10396
10437
|
_chunkXL4V2PYGcjs.next_image_default,
|
|
10397
10438
|
{
|
|
10398
10439
|
src: coverImage,
|
|
10399
|
-
alt: _optionalChain([study, 'access',
|
|
10440
|
+
alt: _optionalChain([study, 'access', _166 => _166.msp, 'optionalAccess', _167 => _167.name]) || study.title,
|
|
10400
10441
|
className: "w-full h-full object-cover",
|
|
10401
10442
|
sizes: "(min-width: 1545px) 515px, (min-width: 1280px) 33vw, (min-width: 800px) 50vw, 100vw",
|
|
10402
10443
|
fill: true,
|
|
@@ -10407,18 +10448,18 @@ function CaseStudyCard({
|
|
|
10407
10448
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[72px] flex items-center shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary line-clamp-3 break-words", children: study.title }) }),
|
|
10408
10449
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[60px] flex items-center shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 min-w-0 w-full", children: [
|
|
10409
10450
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
|
|
10410
|
-
_optionalChain([study, 'access',
|
|
10451
|
+
_optionalChain([study, 'access', _168 => _168.user, 'optionalAccess', _169 => _169.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10411
10452
|
_chunkXL4V2PYGcjs.next_image_default,
|
|
10412
10453
|
{
|
|
10413
10454
|
src: study.user.avatar_url,
|
|
10414
|
-
alt: _optionalChain([study, 'access',
|
|
10455
|
+
alt: _optionalChain([study, 'access', _170 => _170.user, 'optionalAccess', _171 => _171.full_name]) || "User",
|
|
10415
10456
|
className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border",
|
|
10416
10457
|
width: 48,
|
|
10417
10458
|
height: 48,
|
|
10418
10459
|
unoptimized: true
|
|
10419
10460
|
}
|
|
10420
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([study, 'access',
|
|
10421
|
-
_optionalChain([study, 'access',
|
|
10461
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([study, 'access', _172 => _172.user, 'optionalAccess', _173 => _173.full_name]) || "A").charAt(0).toUpperCase() }) }),
|
|
10462
|
+
_optionalChain([study, 'access', _174 => _174.msp, 'optionalAccess', _175 => _175.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10422
10463
|
_chunkXL4V2PYGcjs.next_image_default,
|
|
10423
10464
|
{
|
|
10424
10465
|
src: study.msp.icon_url,
|
|
@@ -10432,13 +10473,13 @@ function CaseStudyCard({
|
|
|
10432
10473
|
] }),
|
|
10433
10474
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
10434
10475
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
|
|
10435
|
-
_optionalChain([study, 'access',
|
|
10436
|
-
_optionalChain([study, 'access',
|
|
10476
|
+
_optionalChain([study, 'access', _176 => _176.user, 'optionalAccess', _177 => _177.full_name]) || "Anonymous",
|
|
10477
|
+
_optionalChain([study, 'access', _178 => _178.msp, 'optionalAccess', _179 => _179.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
10437
10478
|
" \u2022 ",
|
|
10438
10479
|
study.msp.name
|
|
10439
10480
|
] })
|
|
10440
10481
|
] }),
|
|
10441
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access',
|
|
10482
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _180 => _180.user, 'optionalAccess', _181 => _181.job_title]) || "\xA0" })
|
|
10442
10483
|
] })
|
|
10443
10484
|
] }) })
|
|
10444
10485
|
] }) });
|
|
@@ -10521,7 +10562,7 @@ function CustomerInterviewCard({
|
|
|
10521
10562
|
] }),
|
|
10522
10563
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
10523
10564
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: interview.title }) }),
|
|
10524
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access',
|
|
10565
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _182 => _182.user, 'optionalAccess', _183 => _183.full_name]), _optionalChain([interview, 'access', _184 => _184.msp, 'optionalAccess', _185 => _185.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
|
|
10525
10566
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: interview.video_summary || COMPACT_CARD_ROW_FILLER }) })
|
|
10526
10567
|
] })
|
|
10527
10568
|
] });
|
|
@@ -10543,15 +10584,15 @@ function CustomerInterviewCard({
|
|
|
10543
10584
|
interview.video_summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-[20px] text-ods-text-secondary line-clamp-3", children: interview.video_summary }) }),
|
|
10544
10585
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[60px] flex items-center shrink-0 mt-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 min-w-0 w-full", children: [
|
|
10545
10586
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
|
|
10546
|
-
_optionalChain([interview, 'access',
|
|
10587
|
+
_optionalChain([interview, 'access', _186 => _186.user, 'optionalAccess', _187 => _187.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10547
10588
|
"img",
|
|
10548
10589
|
{
|
|
10549
10590
|
src: interview.user.avatar_url,
|
|
10550
|
-
alt: _optionalChain([interview, 'access',
|
|
10591
|
+
alt: _optionalChain([interview, 'access', _188 => _188.user, 'optionalAccess', _189 => _189.full_name]) || "Customer",
|
|
10551
10592
|
className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border"
|
|
10552
10593
|
}
|
|
10553
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([interview, 'access',
|
|
10554
|
-
_optionalChain([interview, 'access',
|
|
10594
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([interview, 'access', _190 => _190.user, 'optionalAccess', _191 => _191.full_name]) || "A").charAt(0).toUpperCase() }) }),
|
|
10595
|
+
_optionalChain([interview, 'access', _192 => _192.msp, 'optionalAccess', _193 => _193.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10555
10596
|
"img",
|
|
10556
10597
|
{
|
|
10557
10598
|
src: interview.msp.icon_url,
|
|
@@ -10562,13 +10603,13 @@ function CustomerInterviewCard({
|
|
|
10562
10603
|
] }),
|
|
10563
10604
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
10564
10605
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
|
|
10565
|
-
_optionalChain([interview, 'access',
|
|
10566
|
-
_optionalChain([interview, 'access',
|
|
10606
|
+
_optionalChain([interview, 'access', _194 => _194.user, 'optionalAccess', _195 => _195.full_name]) || "Anonymous",
|
|
10607
|
+
_optionalChain([interview, 'access', _196 => _196.msp, 'optionalAccess', _197 => _197.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
10567
10608
|
" \u2022 ",
|
|
10568
10609
|
interview.msp.name
|
|
10569
10610
|
] })
|
|
10570
10611
|
] }),
|
|
10571
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access',
|
|
10612
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _198 => _198.user, 'optionalAccess', _199 => _199.job_title]) || " " })
|
|
10572
10613
|
] })
|
|
10573
10614
|
] }) })
|
|
10574
10615
|
] }) });
|
|
@@ -10581,7 +10622,7 @@ function CustomerInterviewCard({
|
|
|
10581
10622
|
function formatInvestorUpdatePeriod(start, end, options) {
|
|
10582
10623
|
if (!start && !end) return "";
|
|
10583
10624
|
const fmt = (d) => new Date(d).toLocaleDateString("en-US", {
|
|
10584
|
-
month: _optionalChain([options, 'optionalAccess',
|
|
10625
|
+
month: _optionalChain([options, 'optionalAccess', _200 => _200.monthFormat]) || "short",
|
|
10585
10626
|
year: "numeric",
|
|
10586
10627
|
// Pin to UTC so SSR (Vercel = UTC) and the client agree (React #418).
|
|
10587
10628
|
timeZone: "UTC"
|
|
@@ -10673,7 +10714,7 @@ function InvestorUpdateCard({
|
|
|
10673
10714
|
imageUrl: update.featured_image,
|
|
10674
10715
|
placeholderUrl,
|
|
10675
10716
|
title: update.title || `Update #${update.update_number || "?"}`,
|
|
10676
|
-
summary: _optionalChain([update, 'access',
|
|
10717
|
+
summary: _optionalChain([update, 'access', _201 => _201.strategic_update, 'optionalAccess', _202 => _202.slice, 'call', _203 => _203(0, 120)]) || _optionalChain([update, 'access', _204 => _204.content, 'optionalAccess', _205 => _205.slice, 'call', _206 => _206(0, 120)]) || "No description",
|
|
10677
10718
|
badges: update.update_number ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "px-2 py-0.5 rounded text-xs font-medium bg-ods-accent/10 text-ods-accent", children: [
|
|
10678
10719
|
"#",
|
|
10679
10720
|
update.update_number
|
|
@@ -10865,7 +10906,7 @@ function OnboardingGuideCard({
|
|
|
10865
10906
|
const compactCover = coverImage || placeholderUrl || null;
|
|
10866
10907
|
const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
|
|
10867
10908
|
const summary2 = stripMarkdownPreview(guide.video_summary || guide.content || "");
|
|
10868
|
-
const author = _optionalChain([guide, 'access',
|
|
10909
|
+
const author = _optionalChain([guide, 'access', _207 => _207.author, 'optionalAccess', _208 => _208.full_name, 'optionalAccess', _209 => _209.trim, 'call', _210 => _210()]) || "";
|
|
10869
10910
|
const subtitleParts = [
|
|
10870
10911
|
`Step ${guide.step_order}`,
|
|
10871
10912
|
guide.section,
|
|
@@ -11238,7 +11279,7 @@ function AutocompleteInner(props, ref) {
|
|
|
11238
11279
|
if (!isInputControlled) {
|
|
11239
11280
|
setInternalInputValue(value);
|
|
11240
11281
|
}
|
|
11241
|
-
_optionalChain([onInputChange, 'optionalCall',
|
|
11282
|
+
_optionalChain([onInputChange, 'optionalCall', _211 => _211(value, reason)]);
|
|
11242
11283
|
};
|
|
11243
11284
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
11244
11285
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
@@ -11266,8 +11307,8 @@ function AutocompleteInner(props, ref) {
|
|
|
11266
11307
|
if (!showHiddenTags) return;
|
|
11267
11308
|
const handleClick = (e) => {
|
|
11268
11309
|
const target = e.target;
|
|
11269
|
-
const inButton = _optionalChain([hiddenTagsRef, 'access',
|
|
11270
|
-
const inPopup = _optionalChain([hiddenTagsPopupRef, 'access',
|
|
11310
|
+
const inButton = _optionalChain([hiddenTagsRef, 'access', _212 => _212.current, 'optionalAccess', _213 => _213.contains, 'call', _214 => _214(target)]);
|
|
11311
|
+
const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _215 => _215.current, 'optionalAccess', _216 => _216.contains, 'call', _217 => _217(target)]);
|
|
11271
11312
|
if (!inButton && !inPopup) {
|
|
11272
11313
|
setShowHiddenTags(false);
|
|
11273
11314
|
}
|
|
@@ -11311,7 +11352,7 @@ function AutocompleteInner(props, ref) {
|
|
|
11311
11352
|
}
|
|
11312
11353
|
updateInputValue("", "reset");
|
|
11313
11354
|
setIsOpen(false);
|
|
11314
|
-
_optionalChain([onCreateOption, 'optionalCall',
|
|
11355
|
+
_optionalChain([onCreateOption, 'optionalCall', _218 => _218(trimmed)]);
|
|
11315
11356
|
};
|
|
11316
11357
|
_react.useEffect.call(void 0, () => {
|
|
11317
11358
|
setHighlightedIndex(-1);
|
|
@@ -11335,7 +11376,7 @@ function AutocompleteInner(props, ref) {
|
|
|
11335
11376
|
props.onChange([...valueArray, option.value]);
|
|
11336
11377
|
}
|
|
11337
11378
|
updateInputValue("", "reset");
|
|
11338
|
-
_optionalChain([autoLimitTags, 'access',
|
|
11379
|
+
_optionalChain([autoLimitTags, 'access', _219 => _219.inputRef, 'access', _220 => _220.current, 'optionalAccess', _221 => _221.focus, 'call', _222 => _222()]);
|
|
11339
11380
|
} else {
|
|
11340
11381
|
;
|
|
11341
11382
|
props.onChange(option.value);
|
|
@@ -11356,7 +11397,7 @@ function AutocompleteInner(props, ref) {
|
|
|
11356
11397
|
if (!isInputControlled) {
|
|
11357
11398
|
setInternalInputValue("");
|
|
11358
11399
|
}
|
|
11359
|
-
_optionalChain([onInputChange, 'optionalCall',
|
|
11400
|
+
_optionalChain([onInputChange, 'optionalCall', _223 => _223("", "clear")]);
|
|
11360
11401
|
setIsOpen(false);
|
|
11361
11402
|
};
|
|
11362
11403
|
const handleKeyDown = (e) => {
|
|
@@ -11430,7 +11471,7 @@ function AutocompleteInner(props, ref) {
|
|
|
11430
11471
|
),
|
|
11431
11472
|
onClick: () => {
|
|
11432
11473
|
if (!disabled) {
|
|
11433
|
-
_optionalChain([autoLimitTags, 'access',
|
|
11474
|
+
_optionalChain([autoLimitTags, 'access', _224 => _224.inputRef, 'access', _225 => _225.current, 'optionalAccess', _226 => _226.focus, 'call', _227 => _227()]);
|
|
11434
11475
|
openDropdown();
|
|
11435
11476
|
}
|
|
11436
11477
|
},
|
|
@@ -11546,10 +11587,10 @@ function AutocompleteInner(props, ref) {
|
|
|
11546
11587
|
align: "start",
|
|
11547
11588
|
onOpenAutoFocus: (e) => {
|
|
11548
11589
|
e.preventDefault();
|
|
11549
|
-
_optionalChain([autoLimitTags, 'access',
|
|
11590
|
+
_optionalChain([autoLimitTags, 'access', _228 => _228.inputRef, 'access', _229 => _229.current, 'optionalAccess', _230 => _230.focus, 'call', _231 => _231()]);
|
|
11550
11591
|
},
|
|
11551
11592
|
onInteractOutside: (e) => {
|
|
11552
|
-
if (_optionalChain([containerRef, 'access',
|
|
11593
|
+
if (_optionalChain([containerRef, 'access', _232 => _232.current, 'optionalAccess', _233 => _233.contains, 'call', _234 => _234(e.target)])) {
|
|
11553
11594
|
e.preventDefault();
|
|
11554
11595
|
}
|
|
11555
11596
|
},
|
|
@@ -11942,7 +11983,7 @@ var defaultFormatDate = (date) => {
|
|
|
11942
11983
|
});
|
|
11943
11984
|
};
|
|
11944
11985
|
var formatDateRange2 = (range, formatFn) => {
|
|
11945
|
-
if (!_optionalChain([range, 'optionalAccess',
|
|
11986
|
+
if (!_optionalChain([range, 'optionalAccess', _235 => _235.from])) return "";
|
|
11946
11987
|
if (!range.to) return formatFn(range.from);
|
|
11947
11988
|
return `${formatFn(range.from)} - ${formatFn(range.to)}`;
|
|
11948
11989
|
};
|
|
@@ -11976,16 +12017,16 @@ function DatePickerCalendar({
|
|
|
11976
12017
|
);
|
|
11977
12018
|
const [hoveredDate, setHoveredDate] = React38.useState(void 0);
|
|
11978
12019
|
const rangeSelected = draftRange;
|
|
11979
|
-
const hasCompleteRange = mode === "range" && !!_optionalChain([rangeSelected, 'optionalAccess',
|
|
12020
|
+
const hasCompleteRange = mode === "range" && !!_optionalChain([rangeSelected, 'optionalAccess', _236 => _236.from]) && !!_optionalChain([rangeSelected, 'optionalAccess', _237 => _237.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
|
|
11980
12021
|
const isPreviewDate = (date) => {
|
|
11981
|
-
if (!_optionalChain([draftRange, 'optionalAccess',
|
|
12022
|
+
if (!_optionalChain([draftRange, 'optionalAccess', _238 => _238.from]) || draftRange.to || !hoveredDate) return false;
|
|
11982
12023
|
const start = Math.min(draftRange.from.getTime(), hoveredDate.getTime());
|
|
11983
12024
|
const end = Math.max(draftRange.from.getTime(), hoveredDate.getTime());
|
|
11984
12025
|
return date.getTime() >= start && date.getTime() <= end;
|
|
11985
12026
|
};
|
|
11986
12027
|
const handleRangeSelect = (triggerDate) => {
|
|
11987
12028
|
if (!triggerDate) return;
|
|
11988
|
-
if (!_optionalChain([draftRange, 'optionalAccess',
|
|
12029
|
+
if (!_optionalChain([draftRange, 'optionalAccess', _239 => _239.from]) || draftRange.to) {
|
|
11989
12030
|
setDraftRange({ from: triggerDate, to: void 0 });
|
|
11990
12031
|
return;
|
|
11991
12032
|
}
|
|
@@ -12045,7 +12086,7 @@ function DatePickerCalendar({
|
|
|
12045
12086
|
range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]"
|
|
12046
12087
|
};
|
|
12047
12088
|
const [month, setMonth] = React38.useState(
|
|
12048
|
-
mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess',
|
|
12089
|
+
mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _240 => _240.from]) || today
|
|
12049
12090
|
);
|
|
12050
12091
|
const handlePreviousMonth = () => {
|
|
12051
12092
|
setMonth((prev) => {
|
|
@@ -12277,14 +12318,14 @@ function DatePicker(props) {
|
|
|
12277
12318
|
}, [props.mode, props.value, formatDate2]);
|
|
12278
12319
|
const handleSelect = (value) => {
|
|
12279
12320
|
if (props.mode === "single") {
|
|
12280
|
-
_optionalChain([props, 'access',
|
|
12321
|
+
_optionalChain([props, 'access', _241 => _241.onChange, 'optionalCall', _242 => _242(value)]);
|
|
12281
12322
|
if (value) {
|
|
12282
12323
|
setOpen(false);
|
|
12283
12324
|
}
|
|
12284
12325
|
} else {
|
|
12285
12326
|
const range = value;
|
|
12286
|
-
_optionalChain([props, 'access',
|
|
12287
|
-
if (_optionalChain([range, 'optionalAccess',
|
|
12327
|
+
_optionalChain([props, 'access', _243 => _243.onChange, 'optionalCall', _244 => _244(range)]);
|
|
12328
|
+
if (_optionalChain([range, 'optionalAccess', _245 => _245.from]) && _optionalChain([range, 'optionalAccess', _246 => _246.to])) {
|
|
12288
12329
|
setOpen(false);
|
|
12289
12330
|
}
|
|
12290
12331
|
}
|
|
@@ -12391,7 +12432,7 @@ function DatePickerInput({
|
|
|
12391
12432
|
if (newDate && value) {
|
|
12392
12433
|
newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
|
|
12393
12434
|
}
|
|
12394
|
-
_optionalChain([onChange, 'optionalCall',
|
|
12435
|
+
_optionalChain([onChange, 'optionalCall', _247 => _247(newDate)]);
|
|
12395
12436
|
if (newDate) {
|
|
12396
12437
|
setOpen(false);
|
|
12397
12438
|
}
|
|
@@ -12408,12 +12449,12 @@ function DatePickerInput({
|
|
|
12408
12449
|
}
|
|
12409
12450
|
}
|
|
12410
12451
|
date.setHours(hours);
|
|
12411
|
-
_optionalChain([onChange, 'optionalCall',
|
|
12452
|
+
_optionalChain([onChange, 'optionalCall', _248 => _248(date)]);
|
|
12412
12453
|
};
|
|
12413
12454
|
const handleMinuteChange = (newMinute) => {
|
|
12414
12455
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
12415
12456
|
date.setMinutes(parseInt(newMinute, 10));
|
|
12416
|
-
_optionalChain([onChange, 'optionalCall',
|
|
12457
|
+
_optionalChain([onChange, 'optionalCall', _249 => _249(date)]);
|
|
12417
12458
|
};
|
|
12418
12459
|
const handlePeriodChange = (newPeriod) => {
|
|
12419
12460
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
@@ -12424,7 +12465,7 @@ function DatePickerInput({
|
|
|
12424
12465
|
hours += 12;
|
|
12425
12466
|
}
|
|
12426
12467
|
date.setHours(hours);
|
|
12427
|
-
_optionalChain([onChange, 'optionalCall',
|
|
12468
|
+
_optionalChain([onChange, 'optionalCall', _250 => _250(date)]);
|
|
12428
12469
|
};
|
|
12429
12470
|
const hourOptions = React38.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
|
|
12430
12471
|
const minuteOptions = React38.useMemo(() => generateMinuteOptions(), []);
|
|
@@ -12585,7 +12626,7 @@ function DatePickerInputSimple({
|
|
|
12585
12626
|
if (newDate && value) {
|
|
12586
12627
|
newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
|
|
12587
12628
|
}
|
|
12588
|
-
_optionalChain([onChange, 'optionalCall',
|
|
12629
|
+
_optionalChain([onChange, 'optionalCall', _251 => _251(newDate)]);
|
|
12589
12630
|
if (newDate) {
|
|
12590
12631
|
setOpen(false);
|
|
12591
12632
|
}
|
|
@@ -12594,7 +12635,7 @@ function DatePickerInputSimple({
|
|
|
12594
12635
|
const [hours, minutes] = newTime.split(":").map(Number);
|
|
12595
12636
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
12596
12637
|
date.setHours(hours, minutes, 0, 0);
|
|
12597
|
-
_optionalChain([onChange, 'optionalCall',
|
|
12638
|
+
_optionalChain([onChange, 'optionalCall', _252 => _252(date)]);
|
|
12598
12639
|
};
|
|
12599
12640
|
const timeOptions = React38.useMemo(
|
|
12600
12641
|
() => generateTimeOptions(timeInterval, use24HourFormat),
|
|
@@ -12688,7 +12729,7 @@ function DurationInput({ value, onChange, invalid, className }) {
|
|
|
12688
12729
|
setSegments((prev) => compose(prev) === value ? prev : split(value));
|
|
12689
12730
|
}, [value]);
|
|
12690
12731
|
const focusSegment = (i) => {
|
|
12691
|
-
const el = _optionalChain([refs, 'access',
|
|
12732
|
+
const el = _optionalChain([refs, 'access', _253 => _253[i], 'optionalAccess', _254 => _254.current]);
|
|
12692
12733
|
if (!el) return;
|
|
12693
12734
|
el.focus();
|
|
12694
12735
|
el.select();
|
|
@@ -13178,7 +13219,7 @@ var NoData = React112.default.forwardRef(function NoData2({
|
|
|
13178
13219
|
...props
|
|
13179
13220
|
}, ref) {
|
|
13180
13221
|
const hasMessage = !!(icon || title || description);
|
|
13181
|
-
const hasActions = !!_optionalChain([actions, 'optionalAccess',
|
|
13222
|
+
const hasActions = !!_optionalChain([actions, 'optionalAccess', _255 => _255.length]);
|
|
13182
13223
|
const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13183
13224
|
_chunkQJGRP2YEcjs.Button,
|
|
13184
13225
|
{
|
|
@@ -13186,7 +13227,7 @@ var NoData = React112.default.forwardRef(function NoData2({
|
|
|
13186
13227
|
leftIcon: buttonIcon,
|
|
13187
13228
|
onClick: onButtonClick,
|
|
13188
13229
|
...buttonProps,
|
|
13189
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess',
|
|
13230
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _256 => _256.className])),
|
|
13190
13231
|
children: buttonLabel
|
|
13191
13232
|
}
|
|
13192
13233
|
) : null)));
|
|
@@ -13421,7 +13462,7 @@ var Switch = React47.forwardRef(({ className, checked, onCheckedChange, ...props
|
|
|
13421
13462
|
}, [checked]);
|
|
13422
13463
|
const handleCheckedChange = (newChecked) => {
|
|
13423
13464
|
setIsChecked(newChecked);
|
|
13424
|
-
_optionalChain([onCheckedChange, 'optionalCall',
|
|
13465
|
+
_optionalChain([onCheckedChange, 'optionalCall', _257 => _257(newChecked)]);
|
|
13425
13466
|
};
|
|
13426
13467
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13427
13468
|
SwitchPrimitives.Root,
|
|
@@ -13630,7 +13671,7 @@ function TagsManager({
|
|
|
13630
13671
|
const name = search.trim();
|
|
13631
13672
|
if (!name) return;
|
|
13632
13673
|
const result = await onCreateTag(name);
|
|
13633
|
-
if (_optionalChain([result, 'optionalAccess',
|
|
13674
|
+
if (_optionalChain([result, 'optionalAccess', _258 => _258.id])) {
|
|
13634
13675
|
onChange([...selectedIds, result.id]);
|
|
13635
13676
|
setSearch("");
|
|
13636
13677
|
}
|
|
@@ -13638,7 +13679,7 @@ function TagsManager({
|
|
|
13638
13679
|
const startEdit = React49.useCallback((id, name) => {
|
|
13639
13680
|
setEditingId(id);
|
|
13640
13681
|
setEditingName(name);
|
|
13641
|
-
setTimeout(() => _optionalChain([editInputRef, 'access',
|
|
13682
|
+
setTimeout(() => _optionalChain([editInputRef, 'access', _259 => _259.current, 'optionalAccess', _260 => _260.focus, 'call', _261 => _261()]), 0);
|
|
13642
13683
|
}, []);
|
|
13643
13684
|
const confirmEdit = React49.useCallback(async () => {
|
|
13644
13685
|
if (!onUpdateTag || !editingId || !editingName.trim()) return;
|
|
@@ -13665,7 +13706,7 @@ function TagsManager({
|
|
|
13665
13706
|
e.stopPropagation();
|
|
13666
13707
|
onChange([]);
|
|
13667
13708
|
setSearch("");
|
|
13668
|
-
_optionalChain([inputRef, 'access',
|
|
13709
|
+
_optionalChain([inputRef, 'access', _262 => _262.current, 'optionalAccess', _263 => _263.focus, 'call', _264 => _264()]);
|
|
13669
13710
|
},
|
|
13670
13711
|
[onChange]
|
|
13671
13712
|
);
|
|
@@ -13764,10 +13805,10 @@ function TagsManager({
|
|
|
13764
13805
|
align: "start",
|
|
13765
13806
|
onOpenAutoFocus: (e) => {
|
|
13766
13807
|
e.preventDefault();
|
|
13767
|
-
_optionalChain([inputRef, 'access',
|
|
13808
|
+
_optionalChain([inputRef, 'access', _265 => _265.current, 'optionalAccess', _266 => _266.focus, 'call', _267 => _267()]);
|
|
13768
13809
|
},
|
|
13769
13810
|
onInteractOutside: (e) => {
|
|
13770
|
-
if (_optionalChain([containerRef, 'access',
|
|
13811
|
+
if (_optionalChain([containerRef, 'access', _268 => _268.current, 'optionalAccess', _269 => _269.contains, 'call', _270 => _270(e.target)])) {
|
|
13771
13812
|
e.preventDefault();
|
|
13772
13813
|
}
|
|
13773
13814
|
},
|
|
@@ -14052,7 +14093,7 @@ var Textarea = React50.forwardRef(
|
|
|
14052
14093
|
"button",
|
|
14053
14094
|
{
|
|
14054
14095
|
type: "button",
|
|
14055
|
-
"aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess',
|
|
14096
|
+
"aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _271 => _271["aria-label"]]), () => ( "Submit")),
|
|
14056
14097
|
...endIconButtonProps,
|
|
14057
14098
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
14058
14099
|
// `h-6` matches the textarea's `leading-6` line box so the icon's
|
|
@@ -14066,7 +14107,7 @@ var Textarea = React50.forwardRef(
|
|
|
14066
14107
|
"cursor-pointer hover:text-ods-text-primary",
|
|
14067
14108
|
"focus-visible:outline-none focus-visible:text-ods-accent",
|
|
14068
14109
|
"disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:text-ods-text-secondary",
|
|
14069
|
-
_optionalChain([endIconButtonProps, 'optionalAccess',
|
|
14110
|
+
_optionalChain([endIconButtonProps, 'optionalAccess', _272 => _272.className])
|
|
14070
14111
|
),
|
|
14071
14112
|
children: endIcon
|
|
14072
14113
|
}
|
|
@@ -15303,19 +15344,19 @@ function TabNavigation({
|
|
|
15303
15344
|
const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
|
|
15304
15345
|
const getInitialTab = () => {
|
|
15305
15346
|
if (isUrlSyncEnabled) {
|
|
15306
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
15347
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _273 => _273.get, 'call', _274 => _274(paramName)]) || "";
|
|
15307
15348
|
if (validTabIds.has(fromUrl)) {
|
|
15308
15349
|
return fromUrl;
|
|
15309
15350
|
}
|
|
15310
15351
|
}
|
|
15311
|
-
return defaultTab || _optionalChain([tabs, 'access',
|
|
15352
|
+
return defaultTab || _optionalChain([tabs, 'access', _275 => _275[0], 'optionalAccess', _276 => _276.id]) || "";
|
|
15312
15353
|
};
|
|
15313
15354
|
const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
|
|
15314
15355
|
const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
|
|
15315
15356
|
_react.useEffect.call(void 0, () => {
|
|
15316
15357
|
if (!isUrlSyncEnabled) return;
|
|
15317
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
15318
|
-
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access',
|
|
15358
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _277 => _277.get, 'call', _278 => _278(paramName)]) || "";
|
|
15359
|
+
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _279 => _279[0], 'optionalAccess', _280 => _280.id]) || "";
|
|
15319
15360
|
if (nextTab !== internalActiveTab) {
|
|
15320
15361
|
setInternalActiveTab(nextTab);
|
|
15321
15362
|
}
|
|
@@ -15323,13 +15364,13 @@ function TabNavigation({
|
|
|
15323
15364
|
const handleTabChange = (tabId) => {
|
|
15324
15365
|
if (isUrlSyncEnabled) {
|
|
15325
15366
|
setInternalActiveTab(tabId);
|
|
15326
|
-
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess',
|
|
15367
|
+
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _281 => _281.toString, 'call', _282 => _282()]));
|
|
15327
15368
|
params.set(paramName, tabId);
|
|
15328
15369
|
const method = replaceState ? "replace" : "push";
|
|
15329
15370
|
router[method](`${pathname}?${params.toString()}`);
|
|
15330
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
15371
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _283 => _283(tabId)]);
|
|
15331
15372
|
} else {
|
|
15332
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
15373
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _284 => _284(tabId)]);
|
|
15333
15374
|
}
|
|
15334
15375
|
};
|
|
15335
15376
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
@@ -15417,7 +15458,7 @@ function TabNavigation({
|
|
|
15417
15458
|
var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
|
|
15418
15459
|
var getTabComponent = (tabs, tabId) => {
|
|
15419
15460
|
const tab = getTabById(tabs, tabId);
|
|
15420
|
-
return _optionalChain([tab, 'optionalAccess',
|
|
15461
|
+
return _optionalChain([tab, 'optionalAccess', _285 => _285.component]) || null;
|
|
15421
15462
|
};
|
|
15422
15463
|
|
|
15423
15464
|
// src/components/ui/alert.tsx
|
|
@@ -15668,13 +15709,13 @@ var SocialEmbedCache = class _SocialEmbedCache {
|
|
|
15668
15709
|
errorData = await response.json();
|
|
15669
15710
|
} catch (e19) {
|
|
15670
15711
|
}
|
|
15671
|
-
if (response.status === 404 && _optionalChain([errorData, 'optionalAccess',
|
|
15712
|
+
if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _286 => _286.error]) && _optionalChain([errorData, 'optionalAccess', _287 => _287.message])) {
|
|
15672
15713
|
console.log(`\u{1F6AB} [${platformName} Proxy] Content unavailable: ${errorData.message}`);
|
|
15673
15714
|
onError(errorData.message);
|
|
15674
15715
|
onLoading(false);
|
|
15675
15716
|
return;
|
|
15676
15717
|
}
|
|
15677
|
-
if (_optionalChain([errorData, 'optionalAccess',
|
|
15718
|
+
if (_optionalChain([errorData, 'optionalAccess', _288 => _288.error])) {
|
|
15678
15719
|
throw new Error(`Server error: ${errorData.error}`);
|
|
15679
15720
|
}
|
|
15680
15721
|
throw new Error(`Server proxy failed: ${response.status}`);
|
|
@@ -16126,7 +16167,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16126
16167
|
apiEndpoint: redditProxyUrl,
|
|
16127
16168
|
dataValidator: validateRedditData,
|
|
16128
16169
|
onDataUpdate: (data) => {
|
|
16129
|
-
if (_optionalChain([data, 'access',
|
|
16170
|
+
if (_optionalChain([data, 'access', _289 => _289[0], 'optionalAccess', _290 => _290.data, 'optionalAccess', _291 => _291.children, 'optionalAccess', _292 => _292[0], 'optionalAccess', _293 => _293.data])) {
|
|
16130
16171
|
setRedditData(data[0].data.children[0].data);
|
|
16131
16172
|
}
|
|
16132
16173
|
},
|
|
@@ -16197,11 +16238,11 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16197
16238
|
gallery_data: redditData.gallery_data,
|
|
16198
16239
|
media_metadata: redditData.media_metadata
|
|
16199
16240
|
});
|
|
16200
|
-
const video = _optionalChain([redditData, 'access',
|
|
16241
|
+
const video = _optionalChain([redditData, 'access', _294 => _294.media, 'optionalAccess', _295 => _295.reddit_video]) || _optionalChain([redditData, 'access', _296 => _296.secure_media, 'optionalAccess', _297 => _297.reddit_video]);
|
|
16201
16242
|
if (video && video.fallback_url) {
|
|
16202
16243
|
console.log("\u{1F4F9} Found Reddit video:", video);
|
|
16203
16244
|
let posterUrl = "";
|
|
16204
|
-
if (_optionalChain([redditData, 'access',
|
|
16245
|
+
if (_optionalChain([redditData, 'access', _298 => _298.preview, 'optionalAccess', _299 => _299.images, 'optionalAccess', _300 => _300[0], 'optionalAccess', _301 => _301.source, 'optionalAccess', _302 => _302.url])) {
|
|
16205
16246
|
posterUrl = redditData.preview.images[0].source.url.replace(/&/g, "&");
|
|
16206
16247
|
console.log("\u2705 Using preview image as video poster:", posterUrl);
|
|
16207
16248
|
} else {
|
|
@@ -16254,7 +16295,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16254
16295
|
return media;
|
|
16255
16296
|
}
|
|
16256
16297
|
}
|
|
16257
|
-
if (_optionalChain([redditData, 'access',
|
|
16298
|
+
if (_optionalChain([redditData, 'access', _303 => _303.preview, 'optionalAccess', _304 => _304.images, 'optionalAccess', _305 => _305[0]]) && !redditData.is_video) {
|
|
16258
16299
|
const imageData = redditData.preview.images[0];
|
|
16259
16300
|
console.log("\u{1F5BC}\uFE0F Found preview image data:", imageData);
|
|
16260
16301
|
let source = imageData.source;
|
|
@@ -16289,7 +16330,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16289
16330
|
} else if (directUrl.match(/\.(mp4|webm|mov|avi)(\?.*)?$/i)) {
|
|
16290
16331
|
console.log("\u{1F3AC} Found direct video URL");
|
|
16291
16332
|
let posterUrl = "";
|
|
16292
|
-
if (_optionalChain([redditData, 'access',
|
|
16333
|
+
if (_optionalChain([redditData, 'access', _306 => _306.preview, 'optionalAccess', _307 => _307.images, 'optionalAccess', _308 => _308[0], 'optionalAccess', _309 => _309.source, 'optionalAccess', _310 => _310.url])) {
|
|
16293
16334
|
posterUrl = redditData.preview.images[0].source.url.replace(/&/g, "&");
|
|
16294
16335
|
}
|
|
16295
16336
|
media.push({
|
|
@@ -16302,7 +16343,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
16302
16343
|
});
|
|
16303
16344
|
} else if (directUrl.includes("imgur.com") && !directUrl.includes(".gifv")) {
|
|
16304
16345
|
console.log("\u{1F310} Found Imgur link");
|
|
16305
|
-
const imgurId = _optionalChain([directUrl, 'access',
|
|
16346
|
+
const imgurId = _optionalChain([directUrl, 'access', _311 => _311.match, 'call', _312 => _312(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _313 => _313[1]]);
|
|
16306
16347
|
if (imgurId && !directUrl.includes("/a/") && !directUrl.includes("/gallery/")) {
|
|
16307
16348
|
media.push({
|
|
16308
16349
|
type: "image",
|
|
@@ -16451,7 +16492,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
|
16451
16492
|
const [loading, setLoading] = _react.useState.call(void 0, true);
|
|
16452
16493
|
const [error, setError] = _react.useState.call(void 0, null);
|
|
16453
16494
|
const initializationDone = _react.useRef.call(void 0, false);
|
|
16454
|
-
const extractedTweetId = tweetId || _optionalChain([url, 'access',
|
|
16495
|
+
const extractedTweetId = tweetId || _optionalChain([url, 'access', _314 => _314.match, 'call', _315 => _315(/status\/(\d+)/), 'optionalAccess', _316 => _316[1]]);
|
|
16455
16496
|
const tweetUrl = url.includes("twitter.com") || url.includes("x.com") ? url : `https://twitter.com/twitter/status/${extractedTweetId}`;
|
|
16456
16497
|
_react.useEffect.call(void 0, () => {
|
|
16457
16498
|
if (initializationDone.current) return;
|
|
@@ -16518,10 +16559,10 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
|
16518
16559
|
const parser = new DOMParser();
|
|
16519
16560
|
const doc = parser.parseFromString(tweetData.html, "text/html");
|
|
16520
16561
|
const blockquote = doc.querySelector("blockquote");
|
|
16521
|
-
const fullText = _optionalChain([blockquote, 'optionalAccess',
|
|
16562
|
+
const fullText = _optionalChain([blockquote, 'optionalAccess', _317 => _317.textContent]) || "";
|
|
16522
16563
|
const tweetText = fullText.replace(/- .* \(@.*\).*$/, "").trim();
|
|
16523
16564
|
const username = tweetData.author_url ? tweetData.author_url.split("/").pop() : "";
|
|
16524
|
-
const links = Array.from(_optionalChain([blockquote, 'optionalAccess',
|
|
16565
|
+
const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _318 => _318.querySelectorAll, 'call', _319 => _319("a")]) || []).map((link) => ({
|
|
16525
16566
|
url: link.href,
|
|
16526
16567
|
text: link.textContent || link.href
|
|
16527
16568
|
})).filter((link) => !link.url.includes("twitter.com") && !link.url.includes("x.com"));
|
|
@@ -16776,7 +16817,7 @@ var OGLinkPreview = ({
|
|
|
16776
16817
|
const response = await fetch(endpoint);
|
|
16777
16818
|
if (response.ok) {
|
|
16778
16819
|
const data = await response.json();
|
|
16779
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
16820
|
+
if (_optionalChain([data, 'optionalAccess', _320 => _320.title]) && data.title !== "Link Preview Unavailable") {
|
|
16780
16821
|
setOgData(data);
|
|
16781
16822
|
} else {
|
|
16782
16823
|
setError(true);
|
|
@@ -16803,8 +16844,8 @@ var OGLinkPreview = ({
|
|
|
16803
16844
|
type: "website",
|
|
16804
16845
|
favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
|
|
16805
16846
|
} : null)));
|
|
16806
|
-
const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess',
|
|
16807
|
-
const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess',
|
|
16847
|
+
const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _321 => _321.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
|
|
16848
|
+
const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _322 => _322.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _323 => _323.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
|
|
16808
16849
|
const hasImage = !!resolvedImageUrl;
|
|
16809
16850
|
const isFallbackImage = resolvedImageUrl === fallbackImage;
|
|
16810
16851
|
const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
|
|
@@ -17050,9 +17091,9 @@ function toFigmaEmbedUrl(url, opts) {
|
|
|
17050
17091
|
if (match2) {
|
|
17051
17092
|
const [, urlType, fileKey, titleSlug, queryString] = match2;
|
|
17052
17093
|
const isSlides = urlType === "slides" || urlType === "deck";
|
|
17053
|
-
const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess',
|
|
17094
|
+
const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _324 => _324.slidesView]) === "browse" ? "slides" : "deck" : "design";
|
|
17054
17095
|
const pathSuffix = titleSlug ? `/${titleSlug}` : "";
|
|
17055
|
-
const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess',
|
|
17096
|
+
const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _325 => _325.replace, 'call', _326 => _326(/^\?/, "")]) || "");
|
|
17056
17097
|
if (!params.has("embed-host")) {
|
|
17057
17098
|
params.set("embed-host", "flamingo");
|
|
17058
17099
|
}
|
|
@@ -17133,7 +17174,7 @@ function EmbedIframe({
|
|
|
17133
17174
|
allow,
|
|
17134
17175
|
referrerPolicy,
|
|
17135
17176
|
loading,
|
|
17136
|
-
allowFullScreen: _optionalChain([allow, 'optionalAccess',
|
|
17177
|
+
allowFullScreen: _optionalChain([allow, 'optionalAccess', _327 => _327.includes, 'call', _328 => _328("fullscreen")]) ? void 0 : allowFullScreen
|
|
17137
17178
|
},
|
|
17138
17179
|
src
|
|
17139
17180
|
)
|
|
@@ -17884,7 +17925,7 @@ var RichMarkdownInner = ({
|
|
|
17884
17925
|
const extractText2 = (node) => {
|
|
17885
17926
|
if (typeof node === "string") return node;
|
|
17886
17927
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
17887
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
17928
|
+
if (_optionalChain([node, 'optionalAccess', _329 => _329.props, 'optionalAccess', _330 => _330.children])) return extractText2(node.props.children);
|
|
17888
17929
|
return "";
|
|
17889
17930
|
};
|
|
17890
17931
|
const text = extractText2(children);
|
|
@@ -17900,7 +17941,7 @@ var RichMarkdownInner = ({
|
|
|
17900
17941
|
const extractText2 = (node) => {
|
|
17901
17942
|
if (typeof node === "string") return node;
|
|
17902
17943
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
17903
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
17944
|
+
if (_optionalChain([node, 'optionalAccess', _331 => _331.props, 'optionalAccess', _332 => _332.children])) return extractText2(node.props.children);
|
|
17904
17945
|
return "";
|
|
17905
17946
|
};
|
|
17906
17947
|
const text = extractText2(children);
|
|
@@ -17918,7 +17959,7 @@ var RichMarkdownInner = ({
|
|
|
17918
17959
|
const extractText2 = (node) => {
|
|
17919
17960
|
if (typeof node === "string") return node;
|
|
17920
17961
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
17921
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
17962
|
+
if (_optionalChain([node, 'optionalAccess', _333 => _333.props, 'optionalAccess', _334 => _334.children])) return extractText2(node.props.children);
|
|
17922
17963
|
return "";
|
|
17923
17964
|
};
|
|
17924
17965
|
const text = extractText2(children);
|
|
@@ -17936,7 +17977,7 @@ var RichMarkdownInner = ({
|
|
|
17936
17977
|
const extractText2 = (node) => {
|
|
17937
17978
|
if (typeof node === "string") return node;
|
|
17938
17979
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
17939
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
17980
|
+
if (_optionalChain([node, 'optionalAccess', _335 => _335.props, 'optionalAccess', _336 => _336.children])) return extractText2(node.props.children);
|
|
17940
17981
|
return "";
|
|
17941
17982
|
};
|
|
17942
17983
|
const text = extractText2(children);
|
|
@@ -17954,7 +17995,7 @@ var RichMarkdownInner = ({
|
|
|
17954
17995
|
const extractText2 = (node) => {
|
|
17955
17996
|
if (typeof node === "string") return node;
|
|
17956
17997
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
17957
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
17998
|
+
if (_optionalChain([node, 'optionalAccess', _337 => _337.props, 'optionalAccess', _338 => _338.children])) return extractText2(node.props.children);
|
|
17958
17999
|
return "";
|
|
17959
18000
|
};
|
|
17960
18001
|
const text = extractText2(children);
|
|
@@ -17972,7 +18013,7 @@ var RichMarkdownInner = ({
|
|
|
17972
18013
|
const extractText2 = (node) => {
|
|
17973
18014
|
if (typeof node === "string") return node;
|
|
17974
18015
|
if (Array.isArray(node)) return node.map(extractText2).join("");
|
|
17975
|
-
if (_optionalChain([node, 'optionalAccess',
|
|
18016
|
+
if (_optionalChain([node, 'optionalAccess', _339 => _339.props, 'optionalAccess', _340 => _340.children])) return extractText2(node.props.children);
|
|
17976
18017
|
return "";
|
|
17977
18018
|
};
|
|
17978
18019
|
const text = extractText2(children);
|
|
@@ -18048,8 +18089,8 @@ var RichMarkdownInner = ({
|
|
|
18048
18089
|
{
|
|
18049
18090
|
href,
|
|
18050
18091
|
className: `text-ods-accent no-underline relative transition-colors duration-200 hover:after:w-full after:content-[''] after:absolute after:w-0 after:h-0.5 after:-bottom-0.5 after:left-0 after:bg-ods-accent after:transition-all after:duration-300 ${className2 || ""}`,
|
|
18051
|
-
target: _optionalChain([href, 'optionalAccess',
|
|
18052
|
-
rel: _optionalChain([href, 'optionalAccess',
|
|
18092
|
+
target: _optionalChain([href, 'optionalAccess', _341 => _341.startsWith, 'call', _342 => _342("http")]) ? "_blank" : void 0,
|
|
18093
|
+
rel: _optionalChain([href, 'optionalAccess', _343 => _343.startsWith, 'call', _344 => _344("http")]) ? "noopener noreferrer" : void 0,
|
|
18053
18094
|
children
|
|
18054
18095
|
}
|
|
18055
18096
|
);
|
|
@@ -18173,7 +18214,7 @@ function ReleaseChangelogSection({
|
|
|
18173
18214
|
className: "overflow-hidden transition-[max-height] duration-500",
|
|
18174
18215
|
style: {
|
|
18175
18216
|
transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
|
|
18176
|
-
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access',
|
|
18217
|
+
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _345 => _345.current, 'optionalAccess', _346 => _346.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
|
|
18177
18218
|
...previewNeedsFade && !previewExpanded ? {
|
|
18178
18219
|
maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
|
|
18179
18220
|
WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
|
|
@@ -18610,16 +18651,16 @@ function FilterModal({
|
|
|
18610
18651
|
};
|
|
18611
18652
|
const handleReset = () => {
|
|
18612
18653
|
onFilterChange({});
|
|
18613
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
18654
|
+
_optionalChain([onTagsChange, 'optionalCall', _347 => _347([])]);
|
|
18614
18655
|
onClose();
|
|
18615
18656
|
};
|
|
18616
18657
|
const handleApply = () => {
|
|
18617
18658
|
onFilterChange(selectedFilters);
|
|
18618
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
18659
|
+
_optionalChain([onTagsChange, 'optionalCall', _348 => _348(pendingTags)]);
|
|
18619
18660
|
onClose();
|
|
18620
18661
|
};
|
|
18621
18662
|
const getColumnDirection = (columnKey) => {
|
|
18622
|
-
return _optionalChain([sortConfig, 'optionalAccess',
|
|
18663
|
+
return _optionalChain([sortConfig, 'optionalAccess', _349 => _349.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
|
|
18623
18664
|
};
|
|
18624
18665
|
const hasSort = !!sortConfig && sortConfig.columns.length > 0;
|
|
18625
18666
|
const hasFilterGroups = filterGroups.length > 0;
|
|
@@ -18668,7 +18709,7 @@ function FilterModal({
|
|
|
18668
18709
|
{
|
|
18669
18710
|
column,
|
|
18670
18711
|
currentDirection: getColumnDirection(column.key),
|
|
18671
|
-
onSort: (direction) => _optionalChain([onSort, 'optionalCall',
|
|
18712
|
+
onSort: (direction) => _optionalChain([onSort, 'optionalCall', _350 => _350(column.key, direction)]),
|
|
18672
18713
|
onClear: onSortClear ? () => onSortClear(column.key) : void 0
|
|
18673
18714
|
},
|
|
18674
18715
|
column.key
|
|
@@ -18846,7 +18887,7 @@ function IconButtonsVariant({
|
|
|
18846
18887
|
}) {
|
|
18847
18888
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
18848
18889
|
const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
|
|
18849
|
-
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access',
|
|
18890
|
+
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _351 => _351[0], 'access', _352 => _352.submenu, 'optionalAccess', _353 => _353.length]);
|
|
18850
18891
|
const singleAction = isSingleAction ? actions[0] : null;
|
|
18851
18892
|
const useSingleActionMobile = isSingleAction && !hasMenuActions;
|
|
18852
18893
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -20002,7 +20043,7 @@ function getShellIcon(shellType) {
|
|
|
20002
20043
|
if (!shellType) return void 0;
|
|
20003
20044
|
const normalized = shellType.toUpperCase();
|
|
20004
20045
|
const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
|
|
20005
|
-
return _optionalChain([shellDef, 'optionalAccess',
|
|
20046
|
+
return _optionalChain([shellDef, 'optionalAccess', _354 => _354.icon]);
|
|
20006
20047
|
}
|
|
20007
20048
|
|
|
20008
20049
|
// src/types/os.types.ts
|
|
@@ -20075,7 +20116,7 @@ function getOSIcon(osType) {
|
|
|
20075
20116
|
const normalized = normalizeOSType(osType);
|
|
20076
20117
|
if (!normalized) return void 0;
|
|
20077
20118
|
const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
|
|
20078
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
20119
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _355 => _355.icon]);
|
|
20079
20120
|
}
|
|
20080
20121
|
function getOSTypeDefinition(osType) {
|
|
20081
20122
|
if (!osType) return void 0;
|
|
@@ -20085,7 +20126,7 @@ function getOSTypeDefinition(osType) {
|
|
|
20085
20126
|
}
|
|
20086
20127
|
function getOSPlatformId(osType) {
|
|
20087
20128
|
const osTypeDef = getOSTypeDefinition(osType);
|
|
20088
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
20129
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _356 => _356.platformId]);
|
|
20089
20130
|
}
|
|
20090
20131
|
function isOSPlatform(deviceOS, targetPlatform) {
|
|
20091
20132
|
if (!deviceOS || !targetPlatform) return false;
|
|
@@ -20178,10 +20219,10 @@ var GENERIC_EMAIL_DOMAINS = [
|
|
|
20178
20219
|
];
|
|
20179
20220
|
function extractDomainFromEmail(email) {
|
|
20180
20221
|
if (!email || !email.includes("@")) return null;
|
|
20181
|
-
return _optionalChain([email, 'access',
|
|
20222
|
+
return _optionalChain([email, 'access', _357 => _357.split, 'call', _358 => _358("@"), 'access', _359 => _359[1], 'optionalAccess', _360 => _360.toLowerCase, 'call', _361 => _361()]) || null;
|
|
20182
20223
|
}
|
|
20183
20224
|
function normalizeDomain(domain) {
|
|
20184
|
-
return _optionalChain([domain, 'optionalAccess',
|
|
20225
|
+
return _optionalChain([domain, 'optionalAccess', _362 => _362.toLowerCase, 'call', _363 => _363(), 'access', _364 => _364.replace, 'call', _365 => _365(/^https?:\/\//, ""), 'access', _366 => _366.replace, 'call', _367 => _367(/^www\./, ""), 'access', _368 => _368.split, 'call', _369 => _369("/"), 'access', _370 => _370[0], 'access', _371 => _371.trim, 'call', _372 => _372()]) || "";
|
|
20185
20226
|
}
|
|
20186
20227
|
function isGenericDomain(domain) {
|
|
20187
20228
|
const normalized = normalizeDomain(domain);
|
|
@@ -20615,7 +20656,7 @@ function defaultTableIdForDocumentType(documentType) {
|
|
|
20615
20656
|
|
|
20616
20657
|
// src/utils/sse-decision-frame.ts
|
|
20617
20658
|
async function readLeadingDecisionFrame(response) {
|
|
20618
|
-
const reader = _optionalChain([response, 'access',
|
|
20659
|
+
const reader = _optionalChain([response, 'access', _373 => _373.body, 'optionalAccess', _374 => _374.getReader, 'call', _375 => _375()]);
|
|
20619
20660
|
if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
|
|
20620
20661
|
const decoder = new TextDecoder();
|
|
20621
20662
|
let buffer = "";
|
|
@@ -20644,9 +20685,9 @@ async function readLeadingDecisionFrame(response) {
|
|
|
20644
20685
|
);
|
|
20645
20686
|
}
|
|
20646
20687
|
const obj = parsed;
|
|
20647
|
-
if (_optionalChain([obj, 'optionalAccess',
|
|
20688
|
+
if (_optionalChain([obj, 'optionalAccess', _376 => _376.kind]) !== "decision_resolved") {
|
|
20648
20689
|
throw new Error(
|
|
20649
|
-
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess',
|
|
20690
|
+
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _377 => _377.kind]))}`
|
|
20650
20691
|
);
|
|
20651
20692
|
}
|
|
20652
20693
|
frame = normalizeDecisionFrame(obj);
|
|
@@ -20687,7 +20728,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
20687
20728
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
20688
20729
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
20689
20730
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
20690
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
20731
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _378 => _378.status, 'optionalAccess', _379 => _379.toUpperCase, 'call', _380 => _380()]) === "CLOSED";
|
|
20691
20732
|
if (toolName === "create_ticket") {
|
|
20692
20733
|
return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
|
|
20693
20734
|
}
|
|
@@ -20749,7 +20790,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
20749
20790
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
20750
20791
|
}
|
|
20751
20792
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
20752
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
20793
|
+
const f = _optionalChain([override, 'optionalAccess', _381 => _381.entityIdFilter]);
|
|
20753
20794
|
if (!f) return null;
|
|
20754
20795
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
20755
20796
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -20824,7 +20865,7 @@ function getTaskTypeLabel(customItemId) {
|
|
|
20824
20865
|
|
|
20825
20866
|
// src/components/chat/utils/agent-status-message.ts
|
|
20826
20867
|
function getStatusColorScheme(status) {
|
|
20827
|
-
const s = _optionalChain([status, 'optionalAccess',
|
|
20868
|
+
const s = _optionalChain([status, 'optionalAccess', _382 => _382.toLowerCase, 'call', _383 => _383()]) || "";
|
|
20828
20869
|
switch (status) {
|
|
20829
20870
|
case "completed":
|
|
20830
20871
|
case "success":
|
|
@@ -21106,10 +21147,10 @@ var CONTENT_REF_GROUPS = {
|
|
|
21106
21147
|
what_i_shipped: { label: "What I Shipped", order: 10, layout: "grid", gridSize: "default" }
|
|
21107
21148
|
};
|
|
21108
21149
|
function getContentRefLabel(type) {
|
|
21109
|
-
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access',
|
|
21150
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _384 => _384[type], 'optionalAccess', _385 => _385.label]), () => ( null));
|
|
21110
21151
|
}
|
|
21111
21152
|
function getContentRefLabelOrTitleCase(type) {
|
|
21112
|
-
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access',
|
|
21153
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _386 => _386[type], 'optionalAccess', _387 => _387.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
|
|
21113
21154
|
}
|
|
21114
21155
|
function orderContentRefTypes(present) {
|
|
21115
21156
|
const presentSet = new Set(present);
|
|
@@ -21268,7 +21309,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
|
|
|
21268
21309
|
const firstFolderWithReadme = structure.find(
|
|
21269
21310
|
(node) => node.type === "folder" && node.hasReadme && !!node.path
|
|
21270
21311
|
);
|
|
21271
|
-
return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess',
|
|
21312
|
+
return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _388 => _388.path]), () => ( null));
|
|
21272
21313
|
}
|
|
21273
21314
|
|
|
21274
21315
|
// src/utils/doc-path-utils.ts
|
|
@@ -21279,7 +21320,7 @@ function pathToNodeId(path) {
|
|
|
21279
21320
|
return path.replace(/[\/\s]/g, "-").toLowerCase();
|
|
21280
21321
|
}
|
|
21281
21322
|
function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
|
|
21282
|
-
const lowerPath = (_optionalChain([segments, 'optionalAccess',
|
|
21323
|
+
const lowerPath = (_optionalChain([segments, 'optionalAccess', _389 => _389.join, 'call', _390 => _390("/")]) || "").toLowerCase();
|
|
21283
21324
|
const lowerIndex = folderIndexFile.toLowerCase();
|
|
21284
21325
|
const suffix = `/${lowerIndex}`;
|
|
21285
21326
|
if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
|
|
@@ -22101,26 +22142,26 @@ function DeviceCard({
|
|
|
22101
22142
|
] }),
|
|
22102
22143
|
device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", title: device.organization, children: device.organization })
|
|
22103
22144
|
] }),
|
|
22104
|
-
_optionalChain([actions, 'access',
|
|
22145
|
+
_optionalChain([actions, 'access', _391 => _391.moreButton, 'optionalAccess', _392 => _392.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22105
22146
|
"div",
|
|
22106
22147
|
{
|
|
22107
22148
|
className: "flex items-center justify-center p-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
|
|
22108
22149
|
onClick: (e) => {
|
|
22109
22150
|
e.stopPropagation();
|
|
22110
|
-
_optionalChain([actions, 'access',
|
|
22151
|
+
_optionalChain([actions, 'access', _393 => _393.moreButton, 'optionalAccess', _394 => _394.onClick, 'optionalCall', _395 => _395()]);
|
|
22111
22152
|
},
|
|
22112
22153
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
22113
22154
|
}
|
|
22114
22155
|
),
|
|
22115
|
-
_optionalChain([actions, 'access',
|
|
22116
|
-
_optionalChain([actions, 'access',
|
|
22156
|
+
_optionalChain([actions, 'access', _396 => _396.detailsButton, 'optionalAccess', _397 => _397.visible]) !== false && _optionalChain([actions, 'access', _398 => _398.detailsButton, 'optionalAccess', _399 => _399.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
|
|
22157
|
+
_optionalChain([actions, 'access', _400 => _400.customActions, 'optionalAccess', _401 => _401.map, 'call', _402 => _402(
|
|
22117
22158
|
(action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22118
22159
|
"div",
|
|
22119
22160
|
{
|
|
22120
22161
|
className: "flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
|
|
22121
22162
|
onClick: (e) => {
|
|
22122
22163
|
e.stopPropagation();
|
|
22123
|
-
_optionalChain([action, 'access',
|
|
22164
|
+
_optionalChain([action, 'access', _403 => _403.onClick, 'optionalCall', _404 => _404()]);
|
|
22124
22165
|
},
|
|
22125
22166
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
|
|
22126
22167
|
},
|
|
@@ -22620,7 +22661,7 @@ function MoreActionsMenu({
|
|
|
22620
22661
|
] });
|
|
22621
22662
|
const handleActivate = (e) => {
|
|
22622
22663
|
e.stopPropagation();
|
|
22623
|
-
if (!item.disabled) _optionalChain([item, 'access',
|
|
22664
|
+
if (!item.disabled) _optionalChain([item, 'access', _405 => _405.onClick, 'optionalCall', _406 => _406()]);
|
|
22624
22665
|
};
|
|
22625
22666
|
if (item.href) {
|
|
22626
22667
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22687,7 +22728,7 @@ function OrganizationCard({
|
|
|
22687
22728
|
const handleActionClick = (e) => {
|
|
22688
22729
|
e.preventDefault();
|
|
22689
22730
|
e.stopPropagation();
|
|
22690
|
-
_optionalChain([actionButton, 'optionalAccess',
|
|
22731
|
+
_optionalChain([actionButton, 'optionalAccess', _407 => _407.onClick, 'call', _408 => _408(organization, e)]);
|
|
22691
22732
|
};
|
|
22692
22733
|
const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22693
22734
|
"div",
|
|
@@ -23593,10 +23634,10 @@ var getContentDimensions = (config) => {
|
|
|
23593
23634
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
23594
23635
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
23595
23636
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
23596
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
23597
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
23598
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
23599
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
23637
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _409 => _409.mobileContentDimensions, 'optionalAccess', _410 => _410.width]))), () => ( defaultMobile.width));
|
|
23638
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _411 => _411.mobileContentDimensions, 'optionalAccess', _412 => _412.height]))), () => ( defaultMobile.height));
|
|
23639
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _413 => _413.desktopContentDimensions, 'optionalAccess', _414 => _414.width]))), () => ( defaultDesktop.width));
|
|
23640
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _415 => _415.desktopContentDimensions, 'optionalAccess', _416 => _416.height]))), () => ( defaultDesktop.height));
|
|
23600
23641
|
return {
|
|
23601
23642
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
23602
23643
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -23730,7 +23771,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
|
|
|
23730
23771
|
const contentDimensions = getContentDimensions(config);
|
|
23731
23772
|
const mobileHeight = contentDimensions.mobile.height;
|
|
23732
23773
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
23733
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
23774
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _417 => _417.innerHeight]) * 0.85 || 650)}px`;
|
|
23734
23775
|
})(),
|
|
23735
23776
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
23736
23777
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -23835,7 +23876,7 @@ var FigmaPrototypeViewer = ({
|
|
|
23835
23876
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
23836
23877
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
23837
23878
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
23838
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
23879
|
+
config.defaultSectionId || _optionalChain([config, 'access', _418 => _418.sections, 'access', _419 => _419[0], 'optionalAccess', _420 => _420.id]) || ""
|
|
23839
23880
|
);
|
|
23840
23881
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
23841
23882
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -23925,7 +23966,7 @@ var FigmaPrototypeViewer = ({
|
|
|
23925
23966
|
const handleMessage = (event) => {
|
|
23926
23967
|
if (event.origin !== "https://www.figma.com") return;
|
|
23927
23968
|
const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
|
|
23928
|
-
if (_optionalChain([event, 'access',
|
|
23969
|
+
if (_optionalChain([event, 'access', _421 => _421.data, 'optionalAccess', _422 => _422.type]) && validEvents.includes(event.data.type)) {
|
|
23929
23970
|
const figmaEvent = event.data;
|
|
23930
23971
|
console.log("[Figma Event]", figmaEvent.type, viewMode);
|
|
23931
23972
|
switch (figmaEvent.type) {
|
|
@@ -23935,19 +23976,19 @@ var FigmaPrototypeViewer = ({
|
|
|
23935
23976
|
setIframeState("READY");
|
|
23936
23977
|
break;
|
|
23937
23978
|
case "PRESENTED_NODE_CHANGED":
|
|
23938
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
23979
|
+
if (_optionalChain([figmaEvent, 'access', _423 => _423.data, 'optionalAccess', _424 => _424.presentedNodeId])) {
|
|
23939
23980
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
23940
23981
|
if (!isNavigating) {
|
|
23941
23982
|
const matchingSection = config.sections.find((s) => {
|
|
23942
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
23943
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
23983
|
+
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _425 => _425.data, 'optionalAccess', _426 => _426.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _427 => _427.data, 'optionalAccess', _428 => _428.presentedNodeId]);
|
|
23984
|
+
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _429 => _429.data, 'optionalAccess', _430 => _430.presentedNodeId]) || _optionalChain([s, 'access', _431 => _431.mobileStartingNodeId, 'optionalAccess', _432 => _432.replace, 'call', _433 => _433(":", "-")]) === _optionalChain([figmaEvent, 'access', _434 => _434.data, 'optionalAccess', _435 => _435.presentedNodeId]);
|
|
23944
23985
|
return desktopMatch || mobileMatch;
|
|
23945
23986
|
});
|
|
23946
23987
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
23947
23988
|
if (!externalActiveSection) {
|
|
23948
23989
|
setInternalActiveSection(matchingSection.id);
|
|
23949
23990
|
}
|
|
23950
|
-
_optionalChain([config, 'access',
|
|
23991
|
+
_optionalChain([config, 'access', _436 => _436.onSectionChange, 'optionalCall', _437 => _437(matchingSection.id)]);
|
|
23951
23992
|
}
|
|
23952
23993
|
}
|
|
23953
23994
|
}
|
|
@@ -23960,7 +24001,7 @@ var FigmaPrototypeViewer = ({
|
|
|
23960
24001
|
}, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
|
|
23961
24002
|
const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
|
|
23962
24003
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
23963
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
24004
|
+
if (!section || !_optionalChain([iframeRef, 'access', _438 => _438.current, 'optionalAccess', _439 => _439.contentWindow]) || !isInitialized) {
|
|
23964
24005
|
return;
|
|
23965
24006
|
}
|
|
23966
24007
|
setIsNavigating(true);
|
|
@@ -23968,7 +24009,7 @@ var FigmaPrototypeViewer = ({
|
|
|
23968
24009
|
if (!externalActiveSection) {
|
|
23969
24010
|
setInternalActiveSection(sectionId);
|
|
23970
24011
|
}
|
|
23971
|
-
_optionalChain([config, 'access',
|
|
24012
|
+
_optionalChain([config, 'access', _440 => _440.onSectionChange, 'optionalCall', _441 => _441(sectionId)]);
|
|
23972
24013
|
const command = {
|
|
23973
24014
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
23974
24015
|
data: { nodeId }
|
|
@@ -24288,7 +24329,7 @@ var FiltersDropdown = ({
|
|
|
24288
24329
|
defaults[section.id] = section.defaultSelected || [];
|
|
24289
24330
|
});
|
|
24290
24331
|
setSelectedFilters(defaults);
|
|
24291
|
-
_optionalChain([onReset, 'optionalCall',
|
|
24332
|
+
_optionalChain([onReset, 'optionalCall', _442 => _442()]);
|
|
24292
24333
|
setIsOpen(false);
|
|
24293
24334
|
};
|
|
24294
24335
|
const handleApply = () => {
|
|
@@ -24581,7 +24622,7 @@ function MediaGalleryManager({
|
|
|
24581
24622
|
const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
|
|
24582
24623
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
24583
24624
|
const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
|
|
24584
|
-
const file = _optionalChain([event, 'access',
|
|
24625
|
+
const file = _optionalChain([event, 'access', _443 => _443.target, 'access', _444 => _444.files, 'optionalAccess', _445 => _445[0]]);
|
|
24585
24626
|
if (!file) return;
|
|
24586
24627
|
let mediaType;
|
|
24587
24628
|
if (file.type.startsWith("image/")) {
|
|
@@ -24696,7 +24737,7 @@ function MediaGalleryManager({
|
|
|
24696
24737
|
{
|
|
24697
24738
|
type: "button",
|
|
24698
24739
|
variant: "outline",
|
|
24699
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
24740
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _446 => _446.current, 'optionalAccess', _447 => _447.click, 'call', _448 => _448()]),
|
|
24700
24741
|
disabled: isUploading,
|
|
24701
24742
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
24702
24743
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -25364,7 +25405,7 @@ function ReleaseMediaManager({
|
|
|
25364
25405
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
25365
25406
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
25366
25407
|
const handleFileSelect = async (event) => {
|
|
25367
|
-
const file = _optionalChain([event, 'access',
|
|
25408
|
+
const file = _optionalChain([event, 'access', _449 => _449.target, 'access', _450 => _450.files, 'optionalAccess', _451 => _451[0]]);
|
|
25368
25409
|
if (!file) return;
|
|
25369
25410
|
let mediaType;
|
|
25370
25411
|
if (file.type.startsWith("image/")) {
|
|
@@ -25444,7 +25485,7 @@ function ReleaseMediaManager({
|
|
|
25444
25485
|
{
|
|
25445
25486
|
type: "button",
|
|
25446
25487
|
variant: "outline",
|
|
25447
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
25488
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _452 => _452.current, 'optionalAccess', _453 => _453.click, 'call', _454 => _454()]),
|
|
25448
25489
|
disabled: uploadingIndex !== null,
|
|
25449
25490
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
25450
25491
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -25659,7 +25700,7 @@ function SEOEditorPreview({
|
|
|
25659
25700
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
25660
25701
|
const handleImageUpload = async (event) => {
|
|
25661
25702
|
if (!onOgImageUpload) return;
|
|
25662
|
-
const file = _optionalChain([event, 'access',
|
|
25703
|
+
const file = _optionalChain([event, 'access', _455 => _455.target, 'access', _456 => _456.files, 'optionalAccess', _457 => _457[0]]);
|
|
25663
25704
|
if (!file) return;
|
|
25664
25705
|
setIsUploading(true);
|
|
25665
25706
|
try {
|
|
@@ -25809,7 +25850,7 @@ function SEOEditorPreview({
|
|
|
25809
25850
|
type: "button",
|
|
25810
25851
|
variant: "outline",
|
|
25811
25852
|
size: "icon",
|
|
25812
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
25853
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _458 => _458.click, 'call', _459 => _459()]),
|
|
25813
25854
|
disabled: disabled || isUploading,
|
|
25814
25855
|
className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
|
|
25815
25856
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -25832,7 +25873,7 @@ function SEOEditorPreview({
|
|
|
25832
25873
|
"div",
|
|
25833
25874
|
{
|
|
25834
25875
|
className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
|
|
25835
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
25876
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _460 => _460.click, 'call', _461 => _461()]),
|
|
25836
25877
|
children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25837
25878
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
25838
25879
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
|
|
@@ -25917,7 +25958,7 @@ function SocialLinksManager({
|
|
|
25917
25958
|
className = ""
|
|
25918
25959
|
}) {
|
|
25919
25960
|
const addLink = () => {
|
|
25920
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
25961
|
+
const firstPlatform = _optionalChain([platforms, 'access', _462 => _462[0], 'optionalAccess', _463 => _463.name]) || "website";
|
|
25921
25962
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
25922
25963
|
};
|
|
25923
25964
|
const removeLink = (index) => {
|
|
@@ -25929,7 +25970,7 @@ function SocialLinksManager({
|
|
|
25929
25970
|
onChange(updated);
|
|
25930
25971
|
};
|
|
25931
25972
|
const getIcon = (link, platform) => {
|
|
25932
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
25973
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _464 => _464.icon_name]) || link.platform;
|
|
25933
25974
|
const IconComponent = iconMap[iconKey];
|
|
25934
25975
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
|
|
25935
25976
|
};
|
|
@@ -25954,7 +25995,7 @@ function SocialLinksManager({
|
|
|
25954
25995
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25955
25996
|
_chunkQJGRP2YEcjs.Input,
|
|
25956
25997
|
{
|
|
25957
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
25998
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _465 => _465.placeholder]) || "Profile URL",
|
|
25958
25999
|
value: link.url,
|
|
25959
26000
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
25960
26001
|
onKeyDown: (e) => {
|
|
@@ -26333,7 +26374,7 @@ function useVideoOriginPreconnect({
|
|
|
26333
26374
|
supabaseStorageOrigin
|
|
26334
26375
|
} = {}) {
|
|
26335
26376
|
const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
|
|
26336
|
-
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess',
|
|
26377
|
+
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _466 => _466.endpoints, 'access', _467 => _467.supabaseStorageOrigin])));
|
|
26337
26378
|
try {
|
|
26338
26379
|
ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
|
|
26339
26380
|
ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
|
|
@@ -26352,13 +26393,13 @@ function useVideoWarmup({
|
|
|
26352
26393
|
nearMargin = "1000px"
|
|
26353
26394
|
} = {}) {
|
|
26354
26395
|
const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
|
|
26355
|
-
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess',
|
|
26396
|
+
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _468 => _468.endpoints, 'access', _469 => _469.supabaseStorageOrigin])));
|
|
26356
26397
|
useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
|
|
26357
26398
|
const { ref, isNear } = _chunk27IO7V3Pcjs.useNearViewport.call(void 0, nearMargin);
|
|
26358
26399
|
_react.useEffect.call(void 0, () => {
|
|
26359
26400
|
if (!isNear || !videoUrl || !resolvedOrigin) return;
|
|
26360
26401
|
const conn = navigator.connection;
|
|
26361
|
-
if (_optionalChain([conn, 'optionalAccess',
|
|
26402
|
+
if (_optionalChain([conn, 'optionalAccess', _470 => _470.saveData]) === true) return;
|
|
26362
26403
|
let videoOrigin;
|
|
26363
26404
|
try {
|
|
26364
26405
|
videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
|
|
@@ -26428,7 +26469,7 @@ function VideoSourceSelector({
|
|
|
26428
26469
|
input.accept = "video/*";
|
|
26429
26470
|
input.onchange = async (e) => {
|
|
26430
26471
|
const target = e.target;
|
|
26431
|
-
const file = _optionalChain([target, 'access',
|
|
26472
|
+
const file = _optionalChain([target, 'access', _471 => _471.files, 'optionalAccess', _472 => _472[0]]);
|
|
26432
26473
|
if (!file) return;
|
|
26433
26474
|
setIsUploading(true);
|
|
26434
26475
|
setUploadProgress(0);
|
|
@@ -26789,7 +26830,7 @@ function TranscriptSummaryEditor({
|
|
|
26789
26830
|
{
|
|
26790
26831
|
id: "subtitles",
|
|
26791
26832
|
value: subtitles || "",
|
|
26792
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
26833
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _473 => _473(e.target.value)]),
|
|
26793
26834
|
placeholder: subtitlesPlaceholder,
|
|
26794
26835
|
disabled: disabled || !onSubtitlesChange,
|
|
26795
26836
|
className: "h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 font-mono text-sm",
|
|
@@ -26942,7 +26983,7 @@ var AIEnrichSection = ({
|
|
|
26942
26983
|
}) => {
|
|
26943
26984
|
const hasResults = status === "success" || status === "error";
|
|
26944
26985
|
const shouldDisable = disabled || !canEnrich;
|
|
26945
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
26986
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _474 => _474.filter, 'call', _475 => _475((f) => !f.isFilled)]) || [];
|
|
26946
26987
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26947
26988
|
"div",
|
|
26948
26989
|
{
|
|
@@ -26980,7 +27021,7 @@ var AIEnrichSection = ({
|
|
|
26980
27021
|
{
|
|
26981
27022
|
id: "ai-enrich-custom-instructions",
|
|
26982
27023
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
26983
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
27024
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _476 => _476(e.target.value)]),
|
|
26984
27025
|
placeholder: customInstructionsPlaceholder,
|
|
26985
27026
|
disabled: loading,
|
|
26986
27027
|
maxLength: customInstructionsMaxLength,
|
|
@@ -27109,7 +27150,7 @@ function HighlightVideoSection({
|
|
|
27109
27150
|
input.accept = "video/*";
|
|
27110
27151
|
input.onchange = async (e) => {
|
|
27111
27152
|
const target = e.target;
|
|
27112
|
-
const file = _optionalChain([target, 'access',
|
|
27153
|
+
const file = _optionalChain([target, 'access', _477 => _477.files, 'optionalAccess', _478 => _478[0]]);
|
|
27113
27154
|
if (!file) return;
|
|
27114
27155
|
setUploadError(null);
|
|
27115
27156
|
try {
|
|
@@ -27611,7 +27652,7 @@ function HighlightVideoPreview({
|
|
|
27611
27652
|
input.accept = "video/*";
|
|
27612
27653
|
input.onchange = async (e) => {
|
|
27613
27654
|
const target = e.target;
|
|
27614
|
-
const file = _optionalChain([target, 'access',
|
|
27655
|
+
const file = _optionalChain([target, 'access', _479 => _479.files, 'optionalAccess', _480 => _480[0]]);
|
|
27615
27656
|
if (!file) return;
|
|
27616
27657
|
await onUpload(file);
|
|
27617
27658
|
};
|
|
@@ -27798,7 +27839,7 @@ function HighlightVideoCombinedSection({
|
|
|
27798
27839
|
input.accept = "video/*";
|
|
27799
27840
|
input.onchange = async (e) => {
|
|
27800
27841
|
const target = e.target;
|
|
27801
|
-
const file = _optionalChain([target, 'access',
|
|
27842
|
+
const file = _optionalChain([target, 'access', _481 => _481.files, 'optionalAccess', _482 => _482[0]]);
|
|
27802
27843
|
if (!file) return;
|
|
27803
27844
|
await onUpload(file);
|
|
27804
27845
|
};
|
|
@@ -28095,7 +28136,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
28095
28136
|
return editMode ? "Set Global Permission" : "";
|
|
28096
28137
|
}
|
|
28097
28138
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
28098
|
-
return _optionalChain([option, 'optionalAccess',
|
|
28139
|
+
return _optionalChain([option, 'optionalAccess', _483 => _483.label]) || level;
|
|
28099
28140
|
};
|
|
28100
28141
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
28101
28142
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
|
|
@@ -28309,12 +28350,12 @@ function PhoneInput({
|
|
|
28309
28350
|
const runValidation = _react.useCallback.call(void 0, (phone) => {
|
|
28310
28351
|
if (!phone || digitCount(phone) === 0) {
|
|
28311
28352
|
setIsInvalid(false);
|
|
28312
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
28353
|
+
_optionalChain([onValidationChange, 'optionalCall', _484 => _484(false)]);
|
|
28313
28354
|
return;
|
|
28314
28355
|
}
|
|
28315
28356
|
const invalid = !validatePhoneNumber(phone, countryCode);
|
|
28316
28357
|
setIsInvalid(invalid);
|
|
28317
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
28358
|
+
_optionalChain([onValidationChange, 'optionalCall', _485 => _485(invalid)]);
|
|
28318
28359
|
}, [countryCode, digitCount, onValidationChange]);
|
|
28319
28360
|
const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
|
|
28320
28361
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
@@ -28363,7 +28404,7 @@ function PhoneInput({
|
|
|
28363
28404
|
debouncedValidation(val);
|
|
28364
28405
|
} else if (digitCount(val) === 0) {
|
|
28365
28406
|
setIsInvalid(false);
|
|
28366
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
28407
|
+
_optionalChain([onValidationChange, 'optionalCall', _486 => _486(false)]);
|
|
28367
28408
|
}
|
|
28368
28409
|
}
|
|
28369
28410
|
},
|
|
@@ -28704,19 +28745,19 @@ function NotificationsProvider({
|
|
|
28704
28745
|
}, []);
|
|
28705
28746
|
const markRead = React90.useCallback((id) => {
|
|
28706
28747
|
dispatch({ type: "markRead", id });
|
|
28707
|
-
void _optionalChain([actionsRef, 'access',
|
|
28748
|
+
void _optionalChain([actionsRef, 'access', _487 => _487.current, 'optionalAccess', _488 => _488.onMarkRead, 'optionalCall', _489 => _489(id)]);
|
|
28708
28749
|
}, []);
|
|
28709
28750
|
const markAllRead = React90.useCallback(() => {
|
|
28710
28751
|
dispatch({ type: "markAllRead" });
|
|
28711
|
-
void _optionalChain([actionsRef, 'access',
|
|
28752
|
+
void _optionalChain([actionsRef, 'access', _490 => _490.current, 'optionalAccess', _491 => _491.onMarkAllRead, 'optionalCall', _492 => _492()]);
|
|
28712
28753
|
}, []);
|
|
28713
28754
|
const markSettled = React90.useCallback((id) => {
|
|
28714
28755
|
dispatch({ type: "markSettled", id });
|
|
28715
|
-
void _optionalChain([actionsRef, 'access',
|
|
28756
|
+
void _optionalChain([actionsRef, 'access', _493 => _493.current, 'optionalAccess', _494 => _494.onMarkSettled, 'optionalCall', _495 => _495(id)]);
|
|
28716
28757
|
}, []);
|
|
28717
28758
|
const remove = React90.useCallback((id) => {
|
|
28718
28759
|
dispatch({ type: "remove", id });
|
|
28719
|
-
void _optionalChain([actionsRef, 'access',
|
|
28760
|
+
void _optionalChain([actionsRef, 'access', _496 => _496.current, 'optionalAccess', _497 => _497.onRemove, 'optionalCall', _498 => _498(id)]);
|
|
28720
28761
|
}, []);
|
|
28721
28762
|
const clear = React90.useCallback(() => dispatch({ type: "clear" }), []);
|
|
28722
28763
|
const open = React90.useCallback(() => setIsOpen(true), []);
|
|
@@ -28725,14 +28766,14 @@ function NotificationsProvider({
|
|
|
28725
28766
|
const setShowPopups = React90.useCallback(
|
|
28726
28767
|
(value2) => {
|
|
28727
28768
|
setShowPopupsState(value2);
|
|
28728
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
28769
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _499 => _499(value2)]);
|
|
28729
28770
|
},
|
|
28730
28771
|
[onShowPopupsChange]
|
|
28731
28772
|
);
|
|
28732
28773
|
const setShowDesktopPopups = React90.useCallback(
|
|
28733
28774
|
(value2) => {
|
|
28734
28775
|
setShowDesktopPopupsState(value2);
|
|
28735
|
-
_optionalChain([onShowDesktopPopupsChange, 'optionalCall',
|
|
28776
|
+
_optionalChain([onShowDesktopPopupsChange, 'optionalCall', _500 => _500(value2)]);
|
|
28736
28777
|
},
|
|
28737
28778
|
[onShowDesktopPopupsChange]
|
|
28738
28779
|
);
|
|
@@ -28836,7 +28877,7 @@ function NotificationTile({
|
|
|
28836
28877
|
if (!counting) return;
|
|
28837
28878
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
28838
28879
|
const timer = window.setTimeout(() => {
|
|
28839
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
28880
|
+
_optionalChain([onSettle, 'optionalCall', _501 => _501(id)]);
|
|
28840
28881
|
}, remaining);
|
|
28841
28882
|
return () => window.clearTimeout(timer);
|
|
28842
28883
|
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -28898,7 +28939,7 @@ function NotificationTile({
|
|
|
28898
28939
|
"button",
|
|
28899
28940
|
{
|
|
28900
28941
|
type: "button",
|
|
28901
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
28942
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _502 => _502(id)]),
|
|
28902
28943
|
"aria-label": "Dismiss notification",
|
|
28903
28944
|
tabIndex: isLive ? 0 : -1,
|
|
28904
28945
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -29031,7 +29072,7 @@ function DrawerScrollList({
|
|
|
29031
29072
|
if (!sentinel || !root) return;
|
|
29032
29073
|
const observer = new IntersectionObserver(
|
|
29033
29074
|
(entries) => {
|
|
29034
|
-
if (_optionalChain([entries, 'access',
|
|
29075
|
+
if (_optionalChain([entries, 'access', _503 => _503[0], 'optionalAccess', _504 => _504.isIntersecting])) _optionalChain([loadMoreRef, 'access', _505 => _505.current, 'optionalCall', _506 => _506()]);
|
|
29035
29076
|
},
|
|
29036
29077
|
{ root, rootMargin: loadMoreRootMargin }
|
|
29037
29078
|
);
|
|
@@ -29046,7 +29087,7 @@ function DrawerScrollList({
|
|
|
29046
29087
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
29047
29088
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
29048
29089
|
unreadNotifications.map((n) => {
|
|
29049
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
29090
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _507 => _507(n, { onComplete, onSettle, liveDurationMs })]);
|
|
29050
29091
|
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
29051
29092
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29052
29093
|
NotificationTile,
|
|
@@ -29210,7 +29251,7 @@ function NotificationPopups({
|
|
|
29210
29251
|
className
|
|
29211
29252
|
),
|
|
29212
29253
|
children: live.map((n) => {
|
|
29213
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
29254
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _508 => _508(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
29214
29255
|
if (custom) {
|
|
29215
29256
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
29216
29257
|
}
|
|
@@ -29390,21 +29431,21 @@ function transformWebinarToProgram(webinar) {
|
|
|
29390
29431
|
// src/components/features/notifications/types.ts
|
|
29391
29432
|
var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
|
|
29392
29433
|
function isApprovalNotification(notification) {
|
|
29393
|
-
return _optionalChain([notification, 'access',
|
|
29434
|
+
return _optionalChain([notification, 'access', _509 => _509.meta, 'optionalAccess', _510 => _510.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
|
|
29394
29435
|
}
|
|
29395
29436
|
function getApprovalMeta(notification) {
|
|
29396
29437
|
if (!isApprovalNotification(notification)) return null;
|
|
29397
29438
|
const meta = notification.meta;
|
|
29398
|
-
const approvalRequestId = _optionalChain([meta, 'optionalAccess',
|
|
29399
|
-
const toolCalls = _optionalChain([meta, 'optionalAccess',
|
|
29439
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _511 => _511.approvalRequestId]);
|
|
29440
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _512 => _512.toolCalls]);
|
|
29400
29441
|
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
29401
29442
|
return {
|
|
29402
29443
|
approvalRequestId,
|
|
29403
|
-
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29404
|
-
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29405
|
-
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29406
|
-
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29407
|
-
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
29444
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _513 => _513.dialogId]), () => ( null)),
|
|
29445
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _514 => _514.ticketId]), () => ( null)),
|
|
29446
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _515 => _515.approvalType]), () => ( null)),
|
|
29447
|
+
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _516 => _516.resolution]), () => ( null)),
|
|
29448
|
+
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _517 => _517.resolvedByName]), () => ( null)),
|
|
29408
29449
|
toolCalls
|
|
29409
29450
|
};
|
|
29410
29451
|
}
|
|
@@ -29453,7 +29494,7 @@ function ApprovalRequestNotificationTile({
|
|
|
29453
29494
|
const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
|
|
29454
29495
|
const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
|
|
29455
29496
|
const approval = getApprovalMeta(notification);
|
|
29456
|
-
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess',
|
|
29497
|
+
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _518 => _518.resolution]));
|
|
29457
29498
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
29458
29499
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
29459
29500
|
const { innerRef, containerStyle } = useCollapsible({ expanded });
|
|
@@ -29721,7 +29762,7 @@ function TimeTrackerPanel({
|
|
|
29721
29762
|
error: showFieldError ? "Required if no notes added" : void 0,
|
|
29722
29763
|
disableClientFilter: !!onTicketSearch,
|
|
29723
29764
|
onInputChange: (value, reason) => {
|
|
29724
|
-
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall',
|
|
29765
|
+
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _519 => _519(value)]);
|
|
29725
29766
|
}
|
|
29726
29767
|
}
|
|
29727
29768
|
)
|
|
@@ -29738,9 +29779,15 @@ function TimeTrackerPanel({
|
|
|
29738
29779
|
}
|
|
29739
29780
|
),
|
|
29740
29781
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
29741
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-
|
|
29782
|
+
visibleEntries.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-[268px] flex-col items-center justify-center gap-[var(--spacing-system-l)] p-[var(--spacing-system-l)] text-center text-ods-text-secondary", children: [
|
|
29783
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.ClockHistoryIcon, { className: "size-6" }),
|
|
29784
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
29785
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 font-medium", children: "No time logged" }),
|
|
29786
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6", children: "Last entries will appear here" })
|
|
29787
|
+
] })
|
|
29788
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
29742
29789
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-mono text-h6 uppercase tracking-wide text-ods-text-secondary", children: "Last Entries" }),
|
|
29743
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border bg-ods-card", children: visibleEntries.
|
|
29790
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border bg-ods-card", children: visibleEntries.map((entry) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LastEntryRow, { entry, onClick: handleEntryClick }, entry.id)) })
|
|
29744
29791
|
] }),
|
|
29745
29792
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 gap-[var(--spacing-system-m)]", children: [
|
|
29746
29793
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -29805,7 +29852,7 @@ function LastEntryRow({ entry, onClick }) {
|
|
|
29805
29852
|
{
|
|
29806
29853
|
variant: "outline",
|
|
29807
29854
|
size: "icon",
|
|
29808
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
29855
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _520 => _520(entry)]),
|
|
29809
29856
|
disabled: !onClick,
|
|
29810
29857
|
"aria-label": `Open entry: ${entry.title}`,
|
|
29811
29858
|
className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
|
|
@@ -29849,9 +29896,9 @@ function HeaderButton({
|
|
|
29849
29896
|
function TimeTrackerHeaderButton({ className, disabled }) {
|
|
29850
29897
|
const ctx = useOptionalTimeTracker();
|
|
29851
29898
|
const elapsedLabel = useTrackerClock({
|
|
29852
|
-
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
29853
|
-
runningSince: _optionalChain([ctx, 'optionalAccess',
|
|
29854
|
-
accumulatedMs: _optionalChain([ctx, 'optionalAccess',
|
|
29899
|
+
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _521 => _521.status]), () => ( "ready")),
|
|
29900
|
+
runningSince: _optionalChain([ctx, 'optionalAccess', _522 => _522.runningSince]),
|
|
29901
|
+
accumulatedMs: _optionalChain([ctx, 'optionalAccess', _523 => _523.accumulatedMs])
|
|
29855
29902
|
});
|
|
29856
29903
|
if (!ctx) return null;
|
|
29857
29904
|
const { isOpen, open, close, status } = ctx;
|
|
@@ -30134,15 +30181,15 @@ function TicketCard({
|
|
|
30134
30181
|
transition: sortable.transition
|
|
30135
30182
|
};
|
|
30136
30183
|
if (showNewMessage) style.borderColor = columnColor;
|
|
30137
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
30184
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _524 => _524.deviceHostnames, 'optionalAccess', _525 => _525.length]) || ticket.organizationName);
|
|
30138
30185
|
const deviceText = [
|
|
30139
|
-
_optionalChain([ticket, 'access',
|
|
30186
|
+
_optionalChain([ticket, 'access', _526 => _526.deviceHostnames, 'optionalAccess', _527 => _527.join, 'call', _528 => _528(", ")]),
|
|
30140
30187
|
ticket.organizationName
|
|
30141
30188
|
].filter(Boolean).join(", ");
|
|
30142
30189
|
const handleClick = (e) => {
|
|
30143
30190
|
if (sortable.isDragging) e.preventDefault();
|
|
30144
30191
|
};
|
|
30145
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
30192
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _529 => _529.assignees, 'optionalAccess', _530 => _530.length]) || renderAssignSlot);
|
|
30146
30193
|
const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
30147
30194
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30148
30195
|
_chunkGXRWE7NBcjs.Flag02Icon,
|
|
@@ -30151,7 +30198,7 @@ function TicketCard({
|
|
|
30151
30198
|
"aria-label": `Priority: ${ticket.priority}`
|
|
30152
30199
|
}
|
|
30153
30200
|
),
|
|
30154
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
30201
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _531 => _531.assignees, 'optionalAccess', _532 => _532.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
30155
30202
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30156
30203
|
SquareAvatar,
|
|
30157
30204
|
{
|
|
@@ -30182,7 +30229,7 @@ function TicketCard({
|
|
|
30182
30229
|
] }),
|
|
30183
30230
|
rightSection
|
|
30184
30231
|
] }),
|
|
30185
|
-
_optionalChain([ticket, 'access',
|
|
30232
|
+
_optionalChain([ticket, 'access', _533 => _533.tags, 'optionalAccess', _534 => _534.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
30186
30233
|
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
|
|
30187
30234
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto text-h6 truncate text-ods-text-secondary", children: timestampLabel }) }),
|
|
30188
30235
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
|
|
@@ -30382,7 +30429,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
30382
30429
|
const observer = new IntersectionObserver(
|
|
30383
30430
|
(entries) => {
|
|
30384
30431
|
if (entries.some((e) => e.isIntersecting)) {
|
|
30385
|
-
_optionalChain([loadMoreRef, 'access',
|
|
30432
|
+
_optionalChain([loadMoreRef, 'access', _535 => _535.current, 'optionalCall', _536 => _536(columnIdRef.current)]);
|
|
30386
30433
|
}
|
|
30387
30434
|
},
|
|
30388
30435
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -30412,7 +30459,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
30412
30459
|
ticket: t,
|
|
30413
30460
|
columnId: column.id,
|
|
30414
30461
|
columnColor: column.color,
|
|
30415
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
30462
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _537 => _537(t.id)]),
|
|
30416
30463
|
renderAssignSlot,
|
|
30417
30464
|
onApprove,
|
|
30418
30465
|
onReject,
|
|
@@ -30512,17 +30559,17 @@ function Board({
|
|
|
30512
30559
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
30513
30560
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
30514
30561
|
const ticketHit = intersections.find(
|
|
30515
|
-
(c) => _optionalChain([c, 'access',
|
|
30562
|
+
(c) => _optionalChain([c, 'access', _538 => _538.data, 'optionalAccess', _539 => _539.droppableContainer, 'optionalAccess', _540 => _540.data, 'optionalAccess', _541 => _541.current, 'optionalAccess', _542 => _542.type]) === "ticket"
|
|
30516
30563
|
);
|
|
30517
30564
|
if (ticketHit) return [ticketHit];
|
|
30518
30565
|
const columnHit = intersections.find(
|
|
30519
|
-
(c) => _optionalChain([c, 'access',
|
|
30566
|
+
(c) => _optionalChain([c, 'access', _543 => _543.data, 'optionalAccess', _544 => _544.droppableContainer, 'optionalAccess', _545 => _545.data, 'optionalAccess', _546 => _546.current, 'optionalAccess', _547 => _547.type]) === "column"
|
|
30520
30567
|
);
|
|
30521
30568
|
if (columnHit) {
|
|
30522
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
30569
|
+
const columnId = _optionalChain([columnHit, 'access', _548 => _548.data, 'optionalAccess', _549 => _549.droppableContainer, 'optionalAccess', _550 => _550.data, 'optionalAccess', _551 => _551.current, 'optionalAccess', _552 => _552.columnId]);
|
|
30523
30570
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
30524
30571
|
const d = c.data.current;
|
|
30525
|
-
return _optionalChain([d, 'optionalAccess',
|
|
30572
|
+
return _optionalChain([d, 'optionalAccess', _553 => _553.type]) === "ticket" && d.columnId === columnId;
|
|
30526
30573
|
});
|
|
30527
30574
|
if (ticketsInColumn.length > 0) {
|
|
30528
30575
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -30547,20 +30594,20 @@ function Board({
|
|
|
30547
30594
|
const overId = String(over.id);
|
|
30548
30595
|
if (activeId === overId) return;
|
|
30549
30596
|
const overData = over.data.current;
|
|
30550
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
30551
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
30597
|
+
const fromColumnId = _optionalChain([locate, 'call', _554 => _554(items, activeId), 'optionalAccess', _555 => _555.columnId]);
|
|
30598
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _556 => _556.columnId]);
|
|
30552
30599
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
30553
30600
|
const origin = dragOriginRef.current;
|
|
30554
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
30601
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _557 => _557.fromColumnId]) === toColumnId;
|
|
30555
30602
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
30556
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
30557
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
30603
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _558 => _558.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
30604
|
+
if (_optionalChain([targetCol, 'optionalAccess', _559 => _559.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
30558
30605
|
setItems((prev) => {
|
|
30559
30606
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
30560
30607
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
30561
30608
|
if (fromIndex < 0 || !toCol) return prev;
|
|
30562
30609
|
let toIndex;
|
|
30563
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
30610
|
+
if (_optionalChain([overData, 'optionalAccess', _560 => _560.type]) === "column") {
|
|
30564
30611
|
toIndex = toCol.tickets.length;
|
|
30565
30612
|
} else {
|
|
30566
30613
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -30602,14 +30649,14 @@ function Board({
|
|
|
30602
30649
|
const toColumnId = located.columnId;
|
|
30603
30650
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
30604
30651
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
30605
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
30652
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _561 => _561.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _562 => _562.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
30606
30653
|
setItems(columns);
|
|
30607
30654
|
return;
|
|
30608
30655
|
}
|
|
30609
30656
|
let finalIndex = located.index;
|
|
30610
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
30657
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _563 => _563.find, 'call', _564 => _564((c) => c.id === toColumnId), 'optionalAccess', _565 => _565.tickets]), () => ( []));
|
|
30611
30658
|
const overData = over.data.current;
|
|
30612
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
30659
|
+
if (_optionalChain([overData, 'optionalAccess', _566 => _566.type]) === "ticket") {
|
|
30613
30660
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
30614
30661
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
30615
30662
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -30629,8 +30676,8 @@ function Board({
|
|
|
30629
30676
|
ticketId: origin.ticketId,
|
|
30630
30677
|
fromColumnId: origin.fromColumnId,
|
|
30631
30678
|
toColumnId,
|
|
30632
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
30633
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
30679
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _567 => _567[finalIndex - 1], 'optionalAccess', _568 => _568.id]), () => ( null)),
|
|
30680
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _569 => _569[finalIndex + 1], 'optionalAccess', _570 => _570.id]), () => ( null))
|
|
30634
30681
|
});
|
|
30635
30682
|
};
|
|
30636
30683
|
const handleDragCancel = () => {
|
|
@@ -30659,8 +30706,8 @@ function Board({
|
|
|
30659
30706
|
children: items.map((column, i) => {
|
|
30660
30707
|
const prev = items[i - 1];
|
|
30661
30708
|
const next = items[i + 1];
|
|
30662
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
30663
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
30709
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _571 => _571.system]));
|
|
30710
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _572 => _572.system]));
|
|
30664
30711
|
const showGap = i > 0 && !joinLeft;
|
|
30665
30712
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React96.Fragment, { children: [
|
|
30666
30713
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -30713,7 +30760,7 @@ function Board({
|
|
|
30713
30760
|
{
|
|
30714
30761
|
ticket: activeTicket.ticket,
|
|
30715
30762
|
columnId: activeTicket.columnId,
|
|
30716
|
-
columnColor: _optionalChain([items, 'access',
|
|
30763
|
+
columnColor: _optionalChain([items, 'access', _573 => _573.find, 'call', _574 => _574((c) => c.id === activeTicket.columnId), 'optionalAccess', _575 => _575.color]),
|
|
30717
30764
|
isOverlay: true
|
|
30718
30765
|
}
|
|
30719
30766
|
) : null })
|
|
@@ -30729,7 +30776,7 @@ function locate(cols, ticketId) {
|
|
|
30729
30776
|
return null;
|
|
30730
30777
|
}
|
|
30731
30778
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
30732
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
30779
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _576 => _576.find, 'call', _577 => _577((c) => c.id === columnId), 'optionalAccess', _578 => _578.tickets, 'access', _579 => _579.findIndex, 'call', _580 => _580((t) => t.id === ticketId)]), () => ( -1));
|
|
30733
30780
|
}
|
|
30734
30781
|
|
|
30735
30782
|
// src/components/features/board/types.ts
|
|
@@ -30977,7 +31024,7 @@ function Header2({ config, platform }) {
|
|
|
30977
31024
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
30978
31025
|
"flex justify-start w-full",
|
|
30979
31026
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
30980
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
31027
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _581 => _581.children, 'optionalAccess', _582 => _582.length]), () => ( 0))) - 1 && "mb-1",
|
|
30981
31028
|
"text-ods-text-primary",
|
|
30982
31029
|
// All dropdown items use primary text color
|
|
30983
31030
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -31069,7 +31116,7 @@ function Header2({ config, platform }) {
|
|
|
31069
31116
|
style: config.style,
|
|
31070
31117
|
children: [
|
|
31071
31118
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
31072
|
-
_optionalChain([config, 'access',
|
|
31119
|
+
_optionalChain([config, 'access', _583 => _583.actions, 'optionalAccess', _584 => _584.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
31073
31120
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWBR7H6E3cjs.next_link_default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
|
|
31074
31121
|
] }),
|
|
31075
31122
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -31086,7 +31133,7 @@ function Header2({ config, platform }) {
|
|
|
31086
31133
|
}
|
|
31087
31134
|
),
|
|
31088
31135
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
31089
|
-
_optionalChain([config, 'access',
|
|
31136
|
+
_optionalChain([config, 'access', _585 => _585.actions, 'optionalAccess', _586 => _586.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
31090
31137
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31091
31138
|
_chunkQJGRP2YEcjs.Button,
|
|
31092
31139
|
{
|
|
@@ -31094,10 +31141,10 @@ function Header2({ config, platform }) {
|
|
|
31094
31141
|
size: "icon",
|
|
31095
31142
|
className: "flex md:hidden",
|
|
31096
31143
|
onClick: () => {
|
|
31097
|
-
_optionalChain([config, 'access',
|
|
31144
|
+
_optionalChain([config, 'access', _587 => _587.mobile, 'optionalAccess', _588 => _588.onToggle, 'optionalCall', _589 => _589()]);
|
|
31098
31145
|
},
|
|
31099
|
-
"aria-label": _optionalChain([config, 'access',
|
|
31100
|
-
leftIcon: _optionalChain([config, 'access',
|
|
31146
|
+
"aria-label": _optionalChain([config, 'access', _590 => _590.mobile, 'optionalAccess', _591 => _591.isOpen]) ? "Close menu" : "Open menu",
|
|
31147
|
+
leftIcon: _optionalChain([config, 'access', _592 => _592.mobile, 'optionalAccess', _593 => _593.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Menu01Icon, {})
|
|
31101
31148
|
}
|
|
31102
31149
|
)
|
|
31103
31150
|
] })
|
|
@@ -31114,10 +31161,10 @@ function Header2({ config, platform }) {
|
|
|
31114
31161
|
// src/components/navigation/header-skeleton.tsx
|
|
31115
31162
|
|
|
31116
31163
|
function HeaderSkeleton({ config }) {
|
|
31117
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
31118
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
31119
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
31120
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
31164
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _594 => _594.navigation]) && config.navigation.items.length > 0;
|
|
31165
|
+
const showActions = _optionalChain([config, 'optionalAccess', _595 => _595.actions, 'optionalAccess', _596 => _596.right]) && config.actions.right.length > 0;
|
|
31166
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _597 => _597.mobile, 'optionalAccess', _598 => _598.enabled]);
|
|
31167
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _599 => _599.className, 'optionalAccess', _600 => _600.includes, 'call', _601 => _601("admin")]);
|
|
31121
31168
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31122
31169
|
"header",
|
|
31123
31170
|
{
|
|
@@ -31126,11 +31173,11 @@ function HeaderSkeleton({ config }) {
|
|
|
31126
31173
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
31127
31174
|
"px-6 py-3",
|
|
31128
31175
|
"transition-opacity duration-300 ease-in-out",
|
|
31129
|
-
_optionalChain([config, 'optionalAccess',
|
|
31176
|
+
_optionalChain([config, 'optionalAccess', _602 => _602.className])
|
|
31130
31177
|
),
|
|
31131
31178
|
children: [
|
|
31132
31179
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
31133
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
31180
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _603 => _603.actions, 'optionalAccess', _604 => _604.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
|
|
31134
31181
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
31135
31182
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
31136
31183
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -31138,8 +31185,8 @@ function HeaderSkeleton({ config }) {
|
|
|
31138
31185
|
] }),
|
|
31139
31186
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
31140
31187
|
"hidden md:flex items-center gap-2",
|
|
31141
|
-
_optionalChain([config, 'optionalAccess',
|
|
31142
|
-
_optionalChain([config, 'optionalAccess',
|
|
31188
|
+
_optionalChain([config, 'optionalAccess', _605 => _605.navigation, 'optionalAccess', _606 => _606.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
31189
|
+
_optionalChain([config, 'optionalAccess', _607 => _607.navigation, 'optionalAccess', _608 => _608.position]) === "right" && "ml-auto mr-4"
|
|
31143
31190
|
), children: [
|
|
31144
31191
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
31145
31192
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -31187,7 +31234,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
31187
31234
|
_react.useEffect.call(void 0, () => {
|
|
31188
31235
|
const handleKeyDown = (e) => {
|
|
31189
31236
|
if (e.key === "Escape" && isOpen) {
|
|
31190
|
-
_optionalChain([config, 'access',
|
|
31237
|
+
_optionalChain([config, 'access', _609 => _609.onClose, 'optionalCall', _610 => _610()]);
|
|
31191
31238
|
}
|
|
31192
31239
|
};
|
|
31193
31240
|
if (isOpen) {
|
|
@@ -31204,7 +31251,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
31204
31251
|
if (item.onClick) {
|
|
31205
31252
|
item.onClick();
|
|
31206
31253
|
}
|
|
31207
|
-
_optionalChain([config, 'access',
|
|
31254
|
+
_optionalChain([config, 'access', _611 => _611.onClose, 'optionalCall', _612 => _612()]);
|
|
31208
31255
|
};
|
|
31209
31256
|
if (item.href) {
|
|
31210
31257
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -31374,7 +31421,7 @@ function SlidingSidebar({ config }) {
|
|
|
31374
31421
|
variant: "transparent",
|
|
31375
31422
|
size: "default",
|
|
31376
31423
|
onClick: () => {
|
|
31377
|
-
_optionalChain([item, 'access',
|
|
31424
|
+
_optionalChain([item, 'access', _613 => _613.onClick, 'optionalCall', _614 => _614()]);
|
|
31378
31425
|
config.onClose();
|
|
31379
31426
|
},
|
|
31380
31427
|
leftIcon: item.icon,
|
|
@@ -31397,7 +31444,7 @@ function SlidingSidebar({ config }) {
|
|
|
31397
31444
|
variant: "transparent",
|
|
31398
31445
|
size: "default",
|
|
31399
31446
|
onClick: () => {
|
|
31400
|
-
_optionalChain([item, 'access',
|
|
31447
|
+
_optionalChain([item, 'access', _615 => _615.onClick, 'optionalCall', _616 => _616()]);
|
|
31401
31448
|
config.onClose();
|
|
31402
31449
|
},
|
|
31403
31450
|
leftIcon: item.icon,
|
|
@@ -31524,7 +31571,7 @@ function StickySectionNav({
|
|
|
31524
31571
|
] });
|
|
31525
31572
|
}
|
|
31526
31573
|
function useSectionNavigation(sections, options) {
|
|
31527
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
31574
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _617 => _617[0], 'optionalAccess', _618 => _618.id]) || "");
|
|
31528
31575
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
31529
31576
|
const { offset: offset2 = 100 } = options || {};
|
|
31530
31577
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -31548,7 +31595,7 @@ function useSectionNavigation(sections, options) {
|
|
|
31548
31595
|
const handleScroll = () => {
|
|
31549
31596
|
if (isScrollingFromClick.current) return;
|
|
31550
31597
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
31551
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
31598
|
+
let currentSection = _optionalChain([sections, 'access', _619 => _619[0], 'optionalAccess', _620 => _620.id]) || "";
|
|
31552
31599
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
31553
31600
|
const element = document.getElementById(sections[i].id);
|
|
31554
31601
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -31749,7 +31796,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
31749
31796
|
} else {
|
|
31750
31797
|
setDesktopMinimized((prev) => !prev);
|
|
31751
31798
|
}
|
|
31752
|
-
_optionalChain([config, 'access',
|
|
31799
|
+
_optionalChain([config, 'access', _621 => _621.onToggleMinimized, 'optionalCall', _622 => _622()]);
|
|
31753
31800
|
}, [isTablet, setDesktopMinimized, config]);
|
|
31754
31801
|
const closeOverlay = _react.useCallback.call(void 0, () => {
|
|
31755
31802
|
setTabletMinimized(true);
|
|
@@ -31763,11 +31810,11 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
31763
31810
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
31764
31811
|
}, [isOverlayOpen, closeOverlay]);
|
|
31765
31812
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
31766
|
-
_optionalChain([event, 'optionalAccess',
|
|
31813
|
+
_optionalChain([event, 'optionalAccess', _623 => _623.stopPropagation, 'call', _624 => _624()]);
|
|
31767
31814
|
if (item.onClick) {
|
|
31768
31815
|
item.onClick();
|
|
31769
31816
|
} else if (item.path) {
|
|
31770
|
-
_optionalChain([config, 'access',
|
|
31817
|
+
_optionalChain([config, 'access', _625 => _625.onNavigate, 'optionalCall', _626 => _626(item.path)]);
|
|
31771
31818
|
}
|
|
31772
31819
|
if (isTablet) setTabletMinimized(true);
|
|
31773
31820
|
}, [config, isTablet]);
|
|
@@ -31887,11 +31934,11 @@ function HeaderGlobalSearch({
|
|
|
31887
31934
|
};
|
|
31888
31935
|
const handleSubmit = (e) => {
|
|
31889
31936
|
e.preventDefault();
|
|
31890
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
31937
|
+
_optionalChain([onSubmit, 'optionalCall', _627 => _627(currentValue)]);
|
|
31891
31938
|
};
|
|
31892
31939
|
const handleKeyDown = (e) => {
|
|
31893
31940
|
if (e.key === "Enter") {
|
|
31894
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
31941
|
+
_optionalChain([onSubmit, 'optionalCall', _628 => _628(currentValue)]);
|
|
31895
31942
|
}
|
|
31896
31943
|
};
|
|
31897
31944
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -31985,8 +32032,8 @@ function HeaderOrganizationFilter({
|
|
|
31985
32032
|
className
|
|
31986
32033
|
}) {
|
|
31987
32034
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
31988
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
31989
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
32035
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _629 => _629.name]) || "All Organizations";
|
|
32036
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _630 => _630.deviceCount]), () => ( totalDeviceCount));
|
|
31990
32037
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenu, { children: [
|
|
31991
32038
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31992
32039
|
"button",
|
|
@@ -32011,11 +32058,11 @@ function HeaderOrganizationFilter({
|
|
|
32011
32058
|
}
|
|
32012
32059
|
) }),
|
|
32013
32060
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
32014
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
32061
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _631 => _631("")]), children: "All Organizations" }),
|
|
32015
32062
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32016
32063
|
_chunkQJGRP2YEcjs.DropdownMenuItem,
|
|
32017
32064
|
{
|
|
32018
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
32065
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _632 => _632(org.id)]),
|
|
32019
32066
|
children: org.name
|
|
32020
32067
|
},
|
|
32021
32068
|
org.id
|
|
@@ -32205,9 +32252,9 @@ function NotificationsHeaderButton({
|
|
|
32205
32252
|
dimmedClass
|
|
32206
32253
|
}) {
|
|
32207
32254
|
const ctx = useOptionalNotifications();
|
|
32208
|
-
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
32209
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
32210
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
32255
|
+
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _633 => _633.unreadCount]), () => ( fallbackUnreadCount))) > 0;
|
|
32256
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _634 => _634.isOpen]), () => ( false));
|
|
32257
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _635 => _635.toggle]);
|
|
32211
32258
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32212
32259
|
HeaderButton,
|
|
32213
32260
|
{
|
|
@@ -32271,7 +32318,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
|
|
|
32271
32318
|
if (item.onClick) {
|
|
32272
32319
|
item.onClick();
|
|
32273
32320
|
} else if (item.path) {
|
|
32274
|
-
_optionalChain([config, 'access',
|
|
32321
|
+
_optionalChain([config, 'access', _636 => _636.onNavigate, 'optionalCall', _637 => _637(item.path)]);
|
|
32275
32322
|
}
|
|
32276
32323
|
onClose();
|
|
32277
32324
|
}, [config, onClose]);
|
|
@@ -32514,7 +32561,7 @@ var AppLayoutDrawerRoot = ({
|
|
|
32514
32561
|
const handleOpenChange = React105.useCallback(
|
|
32515
32562
|
(next) => {
|
|
32516
32563
|
if (!isControlled) setInternalOpen(next);
|
|
32517
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
32564
|
+
_optionalChain([onOpenChange, 'optionalCall', _638 => _638(next)]);
|
|
32518
32565
|
},
|
|
32519
32566
|
[isControlled, onOpenChange]
|
|
32520
32567
|
);
|
|
@@ -32895,10 +32942,10 @@ var AppLayoutDrawerContent = React105.forwardRef(
|
|
|
32895
32942
|
),
|
|
32896
32943
|
style,
|
|
32897
32944
|
onInteractOutside: (event) => {
|
|
32898
|
-
_optionalChain([onInteractOutside, 'optionalCall',
|
|
32945
|
+
_optionalChain([onInteractOutside, 'optionalCall', _639 => _639(event)]);
|
|
32899
32946
|
if (event.defaultPrevented) return;
|
|
32900
32947
|
const target = event.target;
|
|
32901
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess',
|
|
32948
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _640 => _640.contains, 'call', _641 => _641(target)]);
|
|
32902
32949
|
if (!isInsideContainer) {
|
|
32903
32950
|
event.preventDefault();
|
|
32904
32951
|
return;
|
|
@@ -33311,7 +33358,7 @@ var ShellTypeBadge = ({
|
|
|
33311
33358
|
className,
|
|
33312
33359
|
iconClassName
|
|
33313
33360
|
}) => {
|
|
33314
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
33361
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _642 => _642.toUpperCase, 'call', _643 => _643()]);
|
|
33315
33362
|
const label = getShellLabel(normalizedType);
|
|
33316
33363
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
33317
33364
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -33698,12 +33745,12 @@ function OnboardingWalkthrough({
|
|
|
33698
33745
|
}
|
|
33699
33746
|
}, [state.completedSteps, markComplete]);
|
|
33700
33747
|
const handleStepSkip = (step) => {
|
|
33701
|
-
_optionalChain([step, 'access',
|
|
33748
|
+
_optionalChain([step, 'access', _644 => _644.onSkip, 'optionalCall', _645 => _645()]);
|
|
33702
33749
|
markSkipped(step.id);
|
|
33703
33750
|
};
|
|
33704
33751
|
const handleDismiss = () => {
|
|
33705
33752
|
dismissOnboarding();
|
|
33706
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
33753
|
+
_optionalChain([onDismiss, 'optionalCall', _646 => _646()]);
|
|
33707
33754
|
};
|
|
33708
33755
|
if (state.dismissed) {
|
|
33709
33756
|
return null;
|
|
@@ -33833,7 +33880,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
33833
33880
|
onKeyDown: (e) => {
|
|
33834
33881
|
if (e.key === "Enter" || e.key === " ") {
|
|
33835
33882
|
e.preventDefault();
|
|
33836
|
-
_optionalChain([onClick, 'optionalCall',
|
|
33883
|
+
_optionalChain([onClick, 'optionalCall', _647 => _647()]);
|
|
33837
33884
|
}
|
|
33838
33885
|
},
|
|
33839
33886
|
children: [
|
|
@@ -33934,7 +33981,7 @@ var LogsList = React109.forwardRef(({
|
|
|
33934
33981
|
log,
|
|
33935
33982
|
isLast: index === logs.length - 1,
|
|
33936
33983
|
showConnector,
|
|
33937
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
33984
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _648 => _648(log)])
|
|
33938
33985
|
},
|
|
33939
33986
|
log.id
|
|
33940
33987
|
))
|
|
@@ -34035,7 +34082,7 @@ var Slider = React111.forwardRef(
|
|
|
34035
34082
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
34036
34083
|
const handleChange = (e) => {
|
|
34037
34084
|
const newValue = [Number(e.target.value)];
|
|
34038
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
34085
|
+
_optionalChain([onValueChange, 'optionalCall', _649 => _649(newValue)]);
|
|
34039
34086
|
};
|
|
34040
34087
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34041
34088
|
"input",
|
|
@@ -34466,7 +34513,7 @@ function CursorPaginationSimple({
|
|
|
34466
34513
|
{
|
|
34467
34514
|
variant: "transparent",
|
|
34468
34515
|
size: "icon",
|
|
34469
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
34516
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _650 => _650("")]),
|
|
34470
34517
|
disabled: !hasPreviousPage || loading,
|
|
34471
34518
|
className: "h-8 w-8",
|
|
34472
34519
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -34478,7 +34525,7 @@ function CursorPaginationSimple({
|
|
|
34478
34525
|
{
|
|
34479
34526
|
variant: "transparent",
|
|
34480
34527
|
size: "icon",
|
|
34481
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
34528
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _651 => _651("")]),
|
|
34482
34529
|
disabled: !hasNextPage || loading,
|
|
34483
34530
|
className: "h-8 w-8",
|
|
34484
34531
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -34498,8 +34545,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
|
|
|
34498
34545
|
icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
|
|
34499
34546
|
title: _nullishCoalesce(message2, () => ( "No results found")),
|
|
34500
34547
|
description: message2 == null ? "Try adjusting your search or filters" : void 0,
|
|
34501
|
-
buttonLabel: _optionalChain([action, 'optionalAccess',
|
|
34502
|
-
onButtonClick: _optionalChain([action, 'optionalAccess',
|
|
34548
|
+
buttonLabel: _optionalChain([action, 'optionalAccess', _652 => _652.label]),
|
|
34549
|
+
onButtonClick: _optionalChain([action, 'optionalAccess', _653 => _653.onClick]),
|
|
34503
34550
|
className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
|
|
34504
34551
|
}
|
|
34505
34552
|
);
|
|
@@ -34520,7 +34567,7 @@ function TableColumnFilterDropdown({
|
|
|
34520
34567
|
placement = "bottom-start",
|
|
34521
34568
|
dropdownClassName = "min-w-[240px]"
|
|
34522
34569
|
}) {
|
|
34523
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
34570
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _654 => _654[columnKey], 'optionalAccess', _655 => _655.length]) || 0;
|
|
34524
34571
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34525
34572
|
FiltersDropdown,
|
|
34526
34573
|
{
|
|
@@ -34563,7 +34610,7 @@ function TableColumnFilterDropdown({
|
|
|
34563
34610
|
delete newFilters[columnKey];
|
|
34564
34611
|
onFilterChange(newFilters);
|
|
34565
34612
|
},
|
|
34566
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
34613
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _656 => _656[columnKey]]) || [] },
|
|
34567
34614
|
placement,
|
|
34568
34615
|
dropdownClassName
|
|
34569
34616
|
}
|
|
@@ -34860,7 +34907,7 @@ function TableRow({
|
|
|
34860
34907
|
const keys = column.key.split(".");
|
|
34861
34908
|
let value = item;
|
|
34862
34909
|
for (const key of keys) {
|
|
34863
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
34910
|
+
value = _optionalChain([value, 'optionalAccess', _657 => _657[key]]);
|
|
34864
34911
|
}
|
|
34865
34912
|
if (value === null || value === void 0) {
|
|
34866
34913
|
return "-";
|
|
@@ -34930,7 +34977,7 @@ function TableRow({
|
|
|
34930
34977
|
// src/components/ui/table/table.tsx
|
|
34931
34978
|
|
|
34932
34979
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
34933
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
34980
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _658 => _658.length])) || Boolean(renderRowActions);
|
|
34934
34981
|
const result = [...columns];
|
|
34935
34982
|
if (hasActions) {
|
|
34936
34983
|
const actionsColumn = {
|
|
@@ -35024,7 +35071,7 @@ function Table({
|
|
|
35024
35071
|
return rowKey(item);
|
|
35025
35072
|
}
|
|
35026
35073
|
const key = item[rowKey];
|
|
35027
|
-
return _optionalChain([key, 'optionalAccess',
|
|
35074
|
+
return _optionalChain([key, 'optionalAccess', _659 => _659.toString, 'call', _660 => _660()]) || index.toString();
|
|
35028
35075
|
};
|
|
35029
35076
|
const getRowClassName = (item, index) => {
|
|
35030
35077
|
if (typeof rowClassName === "function") {
|
|
@@ -35058,23 +35105,23 @@ function Table({
|
|
|
35058
35105
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
35059
35106
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
35060
35107
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
35061
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
35062
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
35108
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _661 => _661.onLoadMore]));
|
|
35109
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _662 => _662.onLoadMore]);
|
|
35063
35110
|
_react.useEffect.call(void 0, () => {
|
|
35064
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
35111
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _663 => _663.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
35065
35112
|
const sentinel = sentinelRef.current;
|
|
35066
35113
|
if (!sentinel) return;
|
|
35067
35114
|
const observer = new IntersectionObserver(
|
|
35068
35115
|
(entries) => {
|
|
35069
|
-
if (_optionalChain([entries, 'access',
|
|
35070
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
35116
|
+
if (_optionalChain([entries, 'access', _664 => _664[0], 'optionalAccess', _665 => _665.isIntersecting])) {
|
|
35117
|
+
_optionalChain([onLoadMoreRef, 'access', _666 => _666.current, 'optionalCall', _667 => _667()]);
|
|
35071
35118
|
}
|
|
35072
35119
|
},
|
|
35073
35120
|
{ rootMargin: "200px" }
|
|
35074
35121
|
);
|
|
35075
35122
|
observer.observe(sentinel);
|
|
35076
35123
|
return () => observer.disconnect();
|
|
35077
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
35124
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _668 => _668.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _669 => _669.isFetchingNextPage])]);
|
|
35078
35125
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
35079
35126
|
showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
|
|
35080
35127
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -35145,7 +35192,7 @@ function Table({
|
|
|
35145
35192
|
},
|
|
35146
35193
|
getRowKey(item, index)
|
|
35147
35194
|
)),
|
|
35148
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
35195
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _670 => _670.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35149
35196
|
TableCardSkeleton,
|
|
35150
35197
|
{
|
|
35151
35198
|
columns,
|
|
@@ -35154,7 +35201,7 @@ function Table({
|
|
|
35154
35201
|
hasChevron: Boolean(rowHref)
|
|
35155
35202
|
}
|
|
35156
35203
|
),
|
|
35157
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
35204
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _671 => _671.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
35158
35205
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
35159
35206
|
"div",
|
|
35160
35207
|
{
|
|
@@ -35512,7 +35559,7 @@ function QueryReportTable({
|
|
|
35512
35559
|
);
|
|
35513
35560
|
const handleExport = () => {
|
|
35514
35561
|
exportToCSV(data, columns, exportFilename);
|
|
35515
|
-
_optionalChain([onExport, 'optionalCall',
|
|
35562
|
+
_optionalChain([onExport, 'optionalCall', _672 => _672()]);
|
|
35516
35563
|
};
|
|
35517
35564
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
35518
35565
|
const {
|
|
@@ -35685,7 +35732,7 @@ function DataTableColumnFilter({
|
|
|
35685
35732
|
align = "left"
|
|
35686
35733
|
}) {
|
|
35687
35734
|
const currentValue = column.getFilterValue();
|
|
35688
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
35735
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _673 => _673.length]), () => ( 0));
|
|
35689
35736
|
const sections = _react.useMemo.call(void 0,
|
|
35690
35737
|
() => [
|
|
35691
35738
|
{
|
|
@@ -35765,7 +35812,7 @@ function DataTableHeader({
|
|
|
35765
35812
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
35766
35813
|
if (header.isPlaceholder) return false;
|
|
35767
35814
|
if (isLgUp) return true;
|
|
35768
|
-
return Boolean(_optionalChain([header, 'access',
|
|
35815
|
+
return Boolean(_optionalChain([header, 'access', _674 => _674.column, 'access', _675 => _675.columnDef, 'access', _676 => _676.meta, 'optionalAccess', _677 => _677.filter]));
|
|
35769
35816
|
});
|
|
35770
35817
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35771
35818
|
"div",
|
|
@@ -35795,20 +35842,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
35795
35842
|
if (header.isPlaceholder) return null;
|
|
35796
35843
|
const column = header.column;
|
|
35797
35844
|
const meta = column.columnDef.meta;
|
|
35798
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
35799
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
35800
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
35801
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
35845
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _678 => _678.filter]));
|
|
35846
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _679 => _679.align]), () => ( "left"));
|
|
35847
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _680 => _680.sortable]) === true;
|
|
35848
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _681 => _681.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
35802
35849
|
if (!isLgUp && !hasFilter) return null;
|
|
35803
35850
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35804
35851
|
"div",
|
|
35805
35852
|
{
|
|
35806
35853
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
35807
35854
|
"flex items-stretch",
|
|
35808
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
35809
|
-
_optionalChain([meta, 'optionalAccess',
|
|
35855
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _682 => _682.width]) || "flex-1 min-w-0"),
|
|
35856
|
+
_optionalChain([meta, 'optionalAccess', _683 => _683.headerClassName]),
|
|
35810
35857
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
35811
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
35858
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _684 => _684.hideAt]))
|
|
35812
35859
|
),
|
|
35813
35860
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35814
35861
|
DataTableColumnFilter,
|
|
@@ -35827,7 +35874,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
35827
35874
|
isLgUp && alignJustify(align),
|
|
35828
35875
|
canSort && "group cursor-pointer"
|
|
35829
35876
|
),
|
|
35830
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
35877
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _685 => _685(column.id)]) : void 0,
|
|
35831
35878
|
children: [
|
|
35832
35879
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
35833
35880
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -35892,7 +35939,7 @@ function DataTableSkeleton({
|
|
|
35892
35939
|
}) {
|
|
35893
35940
|
const table = useDataTableContext();
|
|
35894
35941
|
const columns = table.getVisibleFlatColumns();
|
|
35895
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
35942
|
+
const firstColumnId = _optionalChain([columns, 'access', _686 => _686[0], 'optionalAccess', _687 => _687.id]);
|
|
35896
35943
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
35897
35944
|
"div",
|
|
35898
35945
|
{
|
|
@@ -35916,7 +35963,7 @@ function DataTableSkeleton({
|
|
|
35916
35963
|
{
|
|
35917
35964
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
35918
35965
|
"flex flex-col justify-center shrink-0",
|
|
35919
|
-
_optionalChain([meta, 'optionalAccess',
|
|
35966
|
+
_optionalChain([meta, 'optionalAccess', _688 => _688.width]) || "flex-1"
|
|
35920
35967
|
),
|
|
35921
35968
|
children: [
|
|
35922
35969
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -35965,7 +36012,7 @@ function DataTableRowImpl({
|
|
|
35965
36012
|
const handleClick = _react.useCallback.call(void 0,
|
|
35966
36013
|
(e) => {
|
|
35967
36014
|
const target = e.target;
|
|
35968
|
-
if (!_optionalChain([containerRef, 'access',
|
|
36015
|
+
if (!_optionalChain([containerRef, 'access', _689 => _689.current, 'optionalAccess', _690 => _690.contains, 'call', _691 => _691(target)])) {
|
|
35969
36016
|
if (isLinkMode) e.preventDefault();
|
|
35970
36017
|
return;
|
|
35971
36018
|
}
|
|
@@ -35973,7 +36020,7 @@ function DataTableRowImpl({
|
|
|
35973
36020
|
if (isLinkMode) e.preventDefault();
|
|
35974
36021
|
return;
|
|
35975
36022
|
}
|
|
35976
|
-
_optionalChain([onClick, 'optionalCall',
|
|
36023
|
+
_optionalChain([onClick, 'optionalCall', _692 => _692(row.original)]);
|
|
35977
36024
|
},
|
|
35978
36025
|
[onClick, row.original, isLinkMode]
|
|
35979
36026
|
);
|
|
@@ -35998,10 +36045,10 @@ function DataTableRowImpl({
|
|
|
35998
36045
|
{
|
|
35999
36046
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
36000
36047
|
"flex flex-col overflow-hidden",
|
|
36001
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
36002
|
-
_optionalChain([meta, 'optionalAccess',
|
|
36003
|
-
_optionalChain([meta, 'optionalAccess',
|
|
36004
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
36048
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _693 => _693.align])),
|
|
36049
|
+
_optionalChain([meta, 'optionalAccess', _694 => _694.width]) || "flex-1 min-w-0",
|
|
36050
|
+
_optionalChain([meta, 'optionalAccess', _695 => _695.cellClassName]),
|
|
36051
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _696 => _696.hideAt]))
|
|
36005
36052
|
),
|
|
36006
36053
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
36007
36054
|
},
|
|
@@ -36080,7 +36127,7 @@ function DataTableBody({
|
|
|
36080
36127
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
|
|
36081
36128
|
rows.map((row, index) => {
|
|
36082
36129
|
const item = row.original;
|
|
36083
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
36130
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _697 => _697(item)]), () => ( void 0));
|
|
36084
36131
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
36085
36132
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36086
36133
|
DataTableRow,
|
|
@@ -36090,7 +36137,7 @@ function DataTableBody({
|
|
|
36090
36137
|
href,
|
|
36091
36138
|
compact,
|
|
36092
36139
|
className: cls,
|
|
36093
|
-
subRow: _optionalChain([renderSubRow, 'optionalCall',
|
|
36140
|
+
subRow: _optionalChain([renderSubRow, 'optionalCall', _698 => _698(item)])
|
|
36094
36141
|
},
|
|
36095
36142
|
row.id
|
|
36096
36143
|
);
|
|
@@ -36145,7 +36192,7 @@ function DataTableInfiniteFooter({
|
|
|
36145
36192
|
if (!sentinel) return;
|
|
36146
36193
|
const observer = new IntersectionObserver(
|
|
36147
36194
|
(entries) => {
|
|
36148
|
-
if (_optionalChain([entries, 'access',
|
|
36195
|
+
if (_optionalChain([entries, 'access', _699 => _699[0], 'optionalAccess', _700 => _700.isIntersecting])) onLoadMoreRef.current();
|
|
36149
36196
|
},
|
|
36150
36197
|
{ rootMargin }
|
|
36151
36198
|
);
|
|
@@ -36193,7 +36240,7 @@ function DataTableRowCount({
|
|
|
36193
36240
|
const table = useDataTableContext();
|
|
36194
36241
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
36195
36242
|
if (hideWhenEmpty && count === 0) return null;
|
|
36196
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
36243
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _701 => _701(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
36197
36244
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
36198
36245
|
"span",
|
|
36199
36246
|
{
|
|
@@ -36352,7 +36399,7 @@ function SearchInput({
|
|
|
36352
36399
|
if (!showHiddenTags) return;
|
|
36353
36400
|
const handleClick = (e) => {
|
|
36354
36401
|
const target = e.target;
|
|
36355
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
36402
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _702 => _702.current, 'optionalAccess', _703 => _703.contains, 'call', _704 => _704(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _705 => _705.current, 'optionalAccess', _706 => _706.contains, 'call', _707 => _707(target)])) {
|
|
36356
36403
|
setShowHiddenTags(false);
|
|
36357
36404
|
}
|
|
36358
36405
|
};
|
|
@@ -36400,10 +36447,10 @@ function SearchInput({
|
|
|
36400
36447
|
} else {
|
|
36401
36448
|
setInternalValue("");
|
|
36402
36449
|
}
|
|
36403
|
-
_optionalChain([inputRef, 'access',
|
|
36450
|
+
_optionalChain([inputRef, 'access', _708 => _708.current, 'optionalAccess', _709 => _709.focus, 'call', _710 => _710()]);
|
|
36404
36451
|
};
|
|
36405
36452
|
const handleResultClick = (result, e) => {
|
|
36406
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
36453
|
+
_optionalChain([onResultSelect, 'optionalCall', _711 => _711(
|
|
36407
36454
|
result,
|
|
36408
36455
|
e ? {
|
|
36409
36456
|
metaKey: e.metaKey,
|
|
@@ -36435,7 +36482,7 @@ function SearchInput({
|
|
|
36435
36482
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
36436
36483
|
handleResultClick(flatResults[highlightedIndex]);
|
|
36437
36484
|
} else {
|
|
36438
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
36485
|
+
_optionalChain([onSubmit, 'optionalCall', _712 => _712(currentValue)]);
|
|
36439
36486
|
}
|
|
36440
36487
|
break;
|
|
36441
36488
|
case "Escape":
|
|
@@ -36513,7 +36560,7 @@ function SearchInput({
|
|
|
36513
36560
|
dropdownVisible && "!border-ods-accent"
|
|
36514
36561
|
),
|
|
36515
36562
|
onClick: () => {
|
|
36516
|
-
_optionalChain([inputRef, 'access',
|
|
36563
|
+
_optionalChain([inputRef, 'access', _713 => _713.current, 'optionalAccess', _714 => _714.focus, 'call', _715 => _715()]);
|
|
36517
36564
|
setIsOpen(true);
|
|
36518
36565
|
},
|
|
36519
36566
|
children: [
|
|
@@ -36597,10 +36644,10 @@ function SearchInput({
|
|
|
36597
36644
|
align: "start",
|
|
36598
36645
|
onOpenAutoFocus: (e) => {
|
|
36599
36646
|
e.preventDefault();
|
|
36600
|
-
_optionalChain([inputRef, 'access',
|
|
36647
|
+
_optionalChain([inputRef, 'access', _716 => _716.current, 'optionalAccess', _717 => _717.focus, 'call', _718 => _718()]);
|
|
36601
36648
|
},
|
|
36602
36649
|
onInteractOutside: (e) => {
|
|
36603
|
-
if (_optionalChain([containerRef, 'access',
|
|
36650
|
+
if (_optionalChain([containerRef, 'access', _719 => _719.current, 'optionalAccess', _720 => _720.contains, 'call', _721 => _721(e.target)])) {
|
|
36604
36651
|
e.preventDefault();
|
|
36605
36652
|
}
|
|
36606
36653
|
},
|
|
@@ -36617,10 +36664,10 @@ function SearchInput({
|
|
|
36617
36664
|
ref: hiddenTagsPopupRef,
|
|
36618
36665
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
36619
36666
|
style: {
|
|
36620
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
36667
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _722 => _722.current, 'optionalAccess', _723 => _723.getBoundingClientRect, 'call', _724 => _724(), 'access', _725 => _725.left]), () => ( 0))) : 0
|
|
36621
36668
|
},
|
|
36622
36669
|
onRemove: (value2) => {
|
|
36623
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
36670
|
+
_optionalChain([onFilterRemove, 'optionalCall', _726 => _726(value2)]);
|
|
36624
36671
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
36625
36672
|
}
|
|
36626
36673
|
}
|
|
@@ -36671,7 +36718,7 @@ function FilterListItem({
|
|
|
36671
36718
|
}) {
|
|
36672
36719
|
const handleToggle = () => {
|
|
36673
36720
|
if (disabled) return;
|
|
36674
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
36721
|
+
_optionalChain([onToggle, 'optionalCall', _727 => _727(!selected)]);
|
|
36675
36722
|
};
|
|
36676
36723
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
36677
36724
|
"div",
|
|
@@ -36718,7 +36765,7 @@ function FilterListItem({
|
|
|
36718
36765
|
CheckboxPrimitive4.Root,
|
|
36719
36766
|
{
|
|
36720
36767
|
checked: selected,
|
|
36721
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
36768
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _728 => _728(c === true)]),
|
|
36722
36769
|
onClick: (e) => e.stopPropagation(),
|
|
36723
36770
|
disabled,
|
|
36724
36771
|
"aria-label": title,
|
|
@@ -36817,7 +36864,7 @@ function TagSearchInput({
|
|
|
36817
36864
|
if (!showHiddenTags) return;
|
|
36818
36865
|
const handleClick = (e) => {
|
|
36819
36866
|
const target = e.target;
|
|
36820
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
36867
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _729 => _729.current, 'optionalAccess', _730 => _730.contains, 'call', _731 => _731(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _732 => _732.current, 'optionalAccess', _733 => _733.contains, 'call', _734 => _734(target)])) {
|
|
36821
36868
|
setShowHiddenTags(false);
|
|
36822
36869
|
}
|
|
36823
36870
|
};
|
|
@@ -36833,13 +36880,13 @@ function TagSearchInput({
|
|
|
36833
36880
|
e.preventDefault();
|
|
36834
36881
|
onSubmit(searchValue);
|
|
36835
36882
|
}
|
|
36836
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
36883
|
+
_optionalChain([onKeyDown, 'optionalCall', _735 => _735(e)]);
|
|
36837
36884
|
};
|
|
36838
36885
|
const handleClearAll = (e) => {
|
|
36839
36886
|
e.stopPropagation();
|
|
36840
36887
|
e.preventDefault();
|
|
36841
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
36842
|
-
_optionalChain([inputRef, 'access',
|
|
36888
|
+
_optionalChain([onClearAll, 'optionalCall', _736 => _736()]);
|
|
36889
|
+
_optionalChain([inputRef, 'access', _737 => _737.current, 'optionalAccess', _738 => _738.focus, 'call', _739 => _739()]);
|
|
36843
36890
|
};
|
|
36844
36891
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
36845
36892
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -36856,7 +36903,7 @@ function TagSearchInput({
|
|
|
36856
36903
|
className
|
|
36857
36904
|
),
|
|
36858
36905
|
onClick: () => {
|
|
36859
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
36906
|
+
if (!disabled) _optionalChain([inputRef, 'access', _740 => _740.current, 'optionalAccess', _741 => _741.focus, 'call', _742 => _742()]);
|
|
36860
36907
|
},
|
|
36861
36908
|
children: [
|
|
36862
36909
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 flex items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "text-ods-text-secondary size-4 md:size-6" }) }),
|
|
@@ -36928,7 +36975,7 @@ function TagSearchInput({
|
|
|
36928
36975
|
items: hiddenTags,
|
|
36929
36976
|
disabled,
|
|
36930
36977
|
style: {
|
|
36931
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
36978
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.getBoundingClientRect, 'call', _745 => _745(), 'access', _746 => _746.left]), () => ( 0))) : 0
|
|
36932
36979
|
},
|
|
36933
36980
|
onRemove: (value) => {
|
|
36934
36981
|
onTagRemove(value);
|
|
@@ -37029,7 +37076,7 @@ function MarkdownEditor({
|
|
|
37029
37076
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
37030
37077
|
_react.useEffect.call(void 0, () => {
|
|
37031
37078
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
37032
|
-
if (_optionalChain([mod, 'access',
|
|
37079
|
+
if (_optionalChain([mod, 'access', _747 => _747.commands, 'optionalAccess', _748 => _748.getExtraCommands])) {
|
|
37033
37080
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
37034
37081
|
}
|
|
37035
37082
|
});
|
|
@@ -37063,7 +37110,7 @@ function MarkdownEditor({
|
|
|
37063
37110
|
const isImage = file.type.startsWith("image/");
|
|
37064
37111
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
37065
37112
|
insertTextAtCursor(markdown);
|
|
37066
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
37113
|
+
_optionalChain([onFileUploaded, 'optionalCall', _749 => _749(url, file.name)]);
|
|
37067
37114
|
} catch (error) {
|
|
37068
37115
|
console.error("File upload failed:", error);
|
|
37069
37116
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -37076,7 +37123,7 @@ function MarkdownEditor({
|
|
|
37076
37123
|
);
|
|
37077
37124
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
37078
37125
|
(e) => {
|
|
37079
|
-
const file = _optionalChain([e, 'access',
|
|
37126
|
+
const file = _optionalChain([e, 'access', _750 => _750.target, 'access', _751 => _751.files, 'optionalAccess', _752 => _752[0]]);
|
|
37080
37127
|
if (file) {
|
|
37081
37128
|
handleFileUpload(file);
|
|
37082
37129
|
e.target.value = "";
|
|
@@ -37087,7 +37134,7 @@ function MarkdownEditor({
|
|
|
37087
37134
|
const handlePaste = _react.useCallback.call(void 0,
|
|
37088
37135
|
(e) => {
|
|
37089
37136
|
if (!onUploadFile) return;
|
|
37090
|
-
const items = _optionalChain([e, 'access',
|
|
37137
|
+
const items = _optionalChain([e, 'access', _753 => _753.clipboardData, 'optionalAccess', _754 => _754.items]);
|
|
37091
37138
|
if (!items) return;
|
|
37092
37139
|
for (const item of items) {
|
|
37093
37140
|
if (item.type.startsWith("image/")) {
|
|
@@ -37112,7 +37159,7 @@ function MarkdownEditor({
|
|
|
37112
37159
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
37113
37160
|
icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "w-3 h-3" }),
|
|
37114
37161
|
execute: () => {
|
|
37115
|
-
_optionalChain([fileInputRef, 'access',
|
|
37162
|
+
_optionalChain([fileInputRef, 'access', _755 => _755.current, 'optionalAccess', _756 => _756.click, 'call', _757 => _757()]);
|
|
37116
37163
|
}
|
|
37117
37164
|
} : null;
|
|
37118
37165
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -37124,7 +37171,7 @@ function MarkdownEditor({
|
|
|
37124
37171
|
const EDGE_ZONE = 60;
|
|
37125
37172
|
const MAX_SCROLL_SPEED = 15;
|
|
37126
37173
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
37127
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
37174
|
+
let node = _optionalChain([el, 'optionalAccess', _758 => _758.parentElement]);
|
|
37128
37175
|
while (node && node !== document.documentElement) {
|
|
37129
37176
|
const { overflowY } = window.getComputedStyle(node);
|
|
37130
37177
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -37267,7 +37314,7 @@ function matchesAccept(file, accept) {
|
|
|
37267
37314
|
});
|
|
37268
37315
|
}
|
|
37269
37316
|
function dragHasFiles(e) {
|
|
37270
|
-
const types = _optionalChain([e, 'access',
|
|
37317
|
+
const types = _optionalChain([e, 'access', _759 => _759.dataTransfer, 'optionalAccess', _760 => _760.types]);
|
|
37271
37318
|
if (!types) return false;
|
|
37272
37319
|
for (let i = 0; i < types.length; i++) {
|
|
37273
37320
|
if (types[i] === "Files") return true;
|
|
@@ -37362,7 +37409,7 @@ function FileUpload({
|
|
|
37362
37409
|
e.stopPropagation();
|
|
37363
37410
|
setDragActive(false);
|
|
37364
37411
|
if (disabled) return;
|
|
37365
|
-
if (_optionalChain([e, 'access',
|
|
37412
|
+
if (_optionalChain([e, 'access', _761 => _761.dataTransfer, 'access', _762 => _762.files, 'optionalAccess', _763 => _763.length])) {
|
|
37366
37413
|
handleFiles(e.dataTransfer.files);
|
|
37367
37414
|
}
|
|
37368
37415
|
};
|
|
@@ -37390,7 +37437,7 @@ function FileUpload({
|
|
|
37390
37437
|
e.preventDefault();
|
|
37391
37438
|
dragCounter = 0;
|
|
37392
37439
|
setDragActive(false);
|
|
37393
|
-
if (_optionalChain([e, 'access',
|
|
37440
|
+
if (_optionalChain([e, 'access', _764 => _764.dataTransfer, 'optionalAccess', _765 => _765.files, 'optionalAccess', _766 => _766.length])) {
|
|
37394
37441
|
handleFilesRef.current(e.dataTransfer.files);
|
|
37395
37442
|
}
|
|
37396
37443
|
};
|
|
@@ -37412,7 +37459,7 @@ function FileUpload({
|
|
|
37412
37459
|
};
|
|
37413
37460
|
}, [acceptWindowDrops, disabled]);
|
|
37414
37461
|
const handleFileSelect = (e) => {
|
|
37415
|
-
if (_optionalChain([e, 'access',
|
|
37462
|
+
if (_optionalChain([e, 'access', _767 => _767.target, 'access', _768 => _768.files, 'optionalAccess', _769 => _769.length])) {
|
|
37416
37463
|
handleFiles(e.target.files);
|
|
37417
37464
|
}
|
|
37418
37465
|
};
|
|
@@ -37429,7 +37476,7 @@ function FileUpload({
|
|
|
37429
37476
|
};
|
|
37430
37477
|
const openDialog = async () => {
|
|
37431
37478
|
if (disabled) return;
|
|
37432
|
-
_optionalChain([fileInputRef, 'access',
|
|
37479
|
+
_optionalChain([fileInputRef, 'access', _770 => _770.current, 'optionalAccess', _771 => _771.click, 'call', _772 => _772()]);
|
|
37433
37480
|
};
|
|
37434
37481
|
const displayError = error || validationError || void 0;
|
|
37435
37482
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -37507,7 +37554,7 @@ function FileUpload({
|
|
|
37507
37554
|
"button",
|
|
37508
37555
|
{
|
|
37509
37556
|
type: "button",
|
|
37510
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
37557
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _773 => _773(entry.id)]),
|
|
37511
37558
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
37512
37559
|
"aria-label": `Remove ${entry.fileName}`,
|
|
37513
37560
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -37630,7 +37677,7 @@ function ImageUploader({
|
|
|
37630
37677
|
onChange(file);
|
|
37631
37678
|
};
|
|
37632
37679
|
const handleFileSelect = (e) => {
|
|
37633
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
37680
|
+
validateAndEmit(_optionalChain([e, 'access', _774 => _774.target, 'access', _775 => _775.files, 'optionalAccess', _776 => _776[0]]));
|
|
37634
37681
|
if (inputRef.current) inputRef.current.value = "";
|
|
37635
37682
|
};
|
|
37636
37683
|
const handleDrag = (e) => {
|
|
@@ -37645,11 +37692,11 @@ function ImageUploader({
|
|
|
37645
37692
|
e.stopPropagation();
|
|
37646
37693
|
setDragActive(false);
|
|
37647
37694
|
if (!interactive) return;
|
|
37648
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
37695
|
+
validateAndEmit(_optionalChain([e, 'access', _777 => _777.dataTransfer, 'access', _778 => _778.files, 'optionalAccess', _779 => _779[0]]));
|
|
37649
37696
|
};
|
|
37650
37697
|
const openDialog = () => {
|
|
37651
37698
|
if (!interactive) return;
|
|
37652
|
-
_optionalChain([inputRef, 'access',
|
|
37699
|
+
_optionalChain([inputRef, 'access', _780 => _780.current, 'optionalAccess', _781 => _781.click, 'call', _782 => _782()]);
|
|
37653
37700
|
};
|
|
37654
37701
|
const handleRootKeyDown = (e) => {
|
|
37655
37702
|
if (hasImage || !interactive) return;
|
|
@@ -37839,8 +37886,8 @@ function ColorPresetSelect({
|
|
|
37839
37886
|
}) {
|
|
37840
37887
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
37841
37888
|
const isCustom = !selectedPreset;
|
|
37842
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
37843
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
37889
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _783 => _783.label]), () => ( "Custom"));
|
|
37890
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _784 => _784.color]), () => ( value));
|
|
37844
37891
|
const groups = [
|
|
37845
37892
|
{
|
|
37846
37893
|
items: [
|
|
@@ -38130,7 +38177,7 @@ function TicketStatusConfigRow({
|
|
|
38130
38177
|
_chunkQJGRP2YEcjs.Input,
|
|
38131
38178
|
{
|
|
38132
38179
|
value: name,
|
|
38133
|
-
onChange: (e) => _optionalChain([onNameChange, 'optionalCall',
|
|
38180
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _785 => _785(e.target.value)]),
|
|
38134
38181
|
disabled: isSystem,
|
|
38135
38182
|
readOnly: isSystem,
|
|
38136
38183
|
"aria-label": "Status name",
|
|
@@ -38213,7 +38260,7 @@ function CompactAssigneeDropdown({
|
|
|
38213
38260
|
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
38214
38261
|
}, [filtered, currentAssignee]);
|
|
38215
38262
|
const handleSelect = (userId) => {
|
|
38216
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess',
|
|
38263
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _786 => _786.id]) === userId ? null : userId;
|
|
38217
38264
|
onAssign(next);
|
|
38218
38265
|
setIsOpen(false);
|
|
38219
38266
|
};
|
|
@@ -38278,7 +38325,7 @@ function CompactAssigneeDropdown({
|
|
|
38278
38325
|
}
|
|
38279
38326
|
) }),
|
|
38280
38327
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
|
|
38281
|
-
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess',
|
|
38328
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _787 => _787.id]) === opt.value;
|
|
38282
38329
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
38283
38330
|
"button",
|
|
38284
38331
|
{
|
|
@@ -38347,7 +38394,7 @@ function DefaultAssigneeDropdown({
|
|
|
38347
38394
|
Autocomplete,
|
|
38348
38395
|
{
|
|
38349
38396
|
options,
|
|
38350
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess',
|
|
38397
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _788 => _788.id]), () => ( null)),
|
|
38351
38398
|
onChange: (val) => {
|
|
38352
38399
|
onAssign(val);
|
|
38353
38400
|
setIsEditing(false);
|
|
@@ -38736,14 +38783,14 @@ function TicketInfoSection({
|
|
|
38736
38783
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38737
38784
|
SquareAvatar,
|
|
38738
38785
|
{
|
|
38739
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
38740
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
38741
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
38786
|
+
src: _optionalChain([organization, 'optionalAccess', _789 => _789.imageSrc]),
|
|
38787
|
+
alt: _optionalChain([organization, 'optionalAccess', _790 => _790.name]),
|
|
38788
|
+
fallback: _optionalChain([organization, 'optionalAccess', _791 => _791.name]) || "Org",
|
|
38742
38789
|
size: "md",
|
|
38743
38790
|
className: "shrink-0"
|
|
38744
38791
|
}
|
|
38745
38792
|
),
|
|
38746
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
38793
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _792 => _792.name]) || "Unassigned", label: "Organization" })
|
|
38747
38794
|
] }),
|
|
38748
38795
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38749
38796
|
AssigneeDropdown,
|
|
@@ -38764,10 +38811,10 @@ function TicketInfoSection({
|
|
|
38764
38811
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38765
38812
|
InfoCell2,
|
|
38766
38813
|
{
|
|
38767
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
38814
|
+
value: _optionalChain([device, 'optionalAccess', _793 => _793.name]) || "Unassigned",
|
|
38768
38815
|
label: "Device",
|
|
38769
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
38770
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
38816
|
+
icon: _optionalChain([device, 'optionalAccess', _794 => _794.icon]),
|
|
38817
|
+
onClick: _optionalChain([device, 'optionalAccess', _795 => _795.onClick])
|
|
38771
38818
|
}
|
|
38772
38819
|
),
|
|
38773
38820
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -39097,7 +39144,7 @@ function RoadmapCard({
|
|
|
39097
39144
|
const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
|
|
39098
39145
|
const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
|
|
39099
39146
|
const hasFigma = !!item.figmaUrl;
|
|
39100
|
-
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access',
|
|
39147
|
+
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _796 => _796.screenshots, 'optionalAccess', _797 => _797.length]), () => ( 0))) > 0;
|
|
39101
39148
|
const typeLabel = getTaskTypeLabel(item.customItemId);
|
|
39102
39149
|
const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
|
|
39103
39150
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -39116,7 +39163,7 @@ function RoadmapCard({
|
|
|
39116
39163
|
unoptimized: true,
|
|
39117
39164
|
className: "h-8 w-8 object-contain"
|
|
39118
39165
|
}
|
|
39119
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
39166
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _798 => _798.title, 'optionalAccess', _799 => _799.substring, 'call', _800 => _800(0, 2)]) || "??" })
|
|
39120
39167
|
}
|
|
39121
39168
|
),
|
|
39122
39169
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -39191,7 +39238,7 @@ function RoadmapCard({
|
|
|
39191
39238
|
unoptimized: true,
|
|
39192
39239
|
className: "object-contain p-1"
|
|
39193
39240
|
}
|
|
39194
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
39241
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _801 => _801.title, 'optionalAccess', _802 => _802.substring, 'call', _803 => _803(0, 2)]) || "??" }) }),
|
|
39195
39242
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
|
|
39196
39243
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
|
|
39197
39244
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
|
|
@@ -39701,7 +39748,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
39701
39748
|
] }) : null,
|
|
39702
39749
|
item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
|
|
39703
39750
|
] }),
|
|
39704
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
39751
|
+
_optionalChain([anchorProps, 'optionalAccess', _804 => _804.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
|
|
39705
39752
|
] });
|
|
39706
39753
|
if (!anchorProps) {
|
|
39707
39754
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -39771,7 +39818,7 @@ function getDefaultOptions() {
|
|
|
39771
39818
|
// node_modules/date-fns/startOfWeek.mjs
|
|
39772
39819
|
function startOfWeek(date, options) {
|
|
39773
39820
|
const defaultOptions2 = getDefaultOptions();
|
|
39774
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
39821
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _805 => _805.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _806 => _806.locale, 'optionalAccess', _807 => _807.options, 'optionalAccess', _808 => _808.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _809 => _809.locale, 'optionalAccess', _810 => _810.options, 'optionalAccess', _811 => _811.weekStartsOn]))), () => ( 0));
|
|
39775
39822
|
const _date = toDate(date);
|
|
39776
39823
|
const day = _date.getDay();
|
|
39777
39824
|
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
@@ -39946,7 +39993,7 @@ var formatDistance = (token, count, options) => {
|
|
|
39946
39993
|
} else {
|
|
39947
39994
|
result = tokenValue.other.replace("{{count}}", count.toString());
|
|
39948
39995
|
}
|
|
39949
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
39996
|
+
if (_optionalChain([options, 'optionalAccess', _812 => _812.addSuffix])) {
|
|
39950
39997
|
if (options.comparison && options.comparison > 0) {
|
|
39951
39998
|
return "in " + result;
|
|
39952
39999
|
} else {
|
|
@@ -40013,15 +40060,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
|
|
|
40013
40060
|
// node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
|
|
40014
40061
|
function buildLocalizeFn(args) {
|
|
40015
40062
|
return (value, options) => {
|
|
40016
|
-
const context = _optionalChain([options, 'optionalAccess',
|
|
40063
|
+
const context = _optionalChain([options, 'optionalAccess', _813 => _813.context]) ? String(options.context) : "standalone";
|
|
40017
40064
|
let valuesArray;
|
|
40018
40065
|
if (context === "formatting" && args.formattingValues) {
|
|
40019
40066
|
const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
|
40020
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
40067
|
+
const width = _optionalChain([options, 'optionalAccess', _814 => _814.width]) ? String(options.width) : defaultWidth;
|
|
40021
40068
|
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
|
|
40022
40069
|
} else {
|
|
40023
40070
|
const defaultWidth = args.defaultWidth;
|
|
40024
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
40071
|
+
const width = _optionalChain([options, 'optionalAccess', _815 => _815.width]) ? String(options.width) : args.defaultWidth;
|
|
40025
40072
|
valuesArray = args.values[width] || args.values[defaultWidth];
|
|
40026
40073
|
}
|
|
40027
40074
|
const index = args.argumentCallback ? args.argumentCallback(value) : value;
|
|
@@ -40401,7 +40448,7 @@ function getWeekYear(date, options) {
|
|
|
40401
40448
|
const _date = toDate(date);
|
|
40402
40449
|
const year = _date.getFullYear();
|
|
40403
40450
|
const defaultOptions2 = getDefaultOptions();
|
|
40404
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
40451
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _816 => _816.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _817 => _817.locale, 'optionalAccess', _818 => _818.options, 'optionalAccess', _819 => _819.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _820 => _820.locale, 'optionalAccess', _821 => _821.options, 'optionalAccess', _822 => _822.firstWeekContainsDate]))), () => ( 1));
|
|
40405
40452
|
const firstWeekOfNextYear = constructFrom(date, 0);
|
|
40406
40453
|
firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
|
|
40407
40454
|
firstWeekOfNextYear.setHours(0, 0, 0, 0);
|
|
@@ -40422,7 +40469,7 @@ function getWeekYear(date, options) {
|
|
|
40422
40469
|
// node_modules/date-fns/startOfWeekYear.mjs
|
|
40423
40470
|
function startOfWeekYear(date, options) {
|
|
40424
40471
|
const defaultOptions2 = getDefaultOptions();
|
|
40425
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
40472
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _823 => _823.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _824 => _824.locale, 'optionalAccess', _825 => _825.options, 'optionalAccess', _826 => _826.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _827 => _827.locale, 'optionalAccess', _828 => _828.options, 'optionalAccess', _829 => _829.firstWeekContainsDate]))), () => ( 1));
|
|
40426
40473
|
const year = getWeekYear(date, options);
|
|
40427
40474
|
const firstWeek = constructFrom(date, 0);
|
|
40428
40475
|
firstWeek.setFullYear(year, 0, firstWeekContainsDate);
|
|
@@ -41237,9 +41284,9 @@ var doubleQuoteRegExp = /''/g;
|
|
|
41237
41284
|
var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
41238
41285
|
function format(date, formatStr, options) {
|
|
41239
41286
|
const defaultOptions2 = getDefaultOptions();
|
|
41240
|
-
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
41241
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
41242
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
41287
|
+
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _830 => _830.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
|
|
41288
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _831 => _831.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _832 => _832.locale, 'optionalAccess', _833 => _833.options, 'optionalAccess', _834 => _834.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _835 => _835.locale, 'optionalAccess', _836 => _836.options, 'optionalAccess', _837 => _837.firstWeekContainsDate]))), () => ( 1));
|
|
41289
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _838 => _838.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _839 => _839.locale, 'optionalAccess', _840 => _840.options, 'optionalAccess', _841 => _841.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _842 => _842.locale, 'optionalAccess', _843 => _843.options, 'optionalAccess', _844 => _844.weekStartsOn]))), () => ( 0));
|
|
41243
41290
|
const originalDate = toDate(date);
|
|
41244
41291
|
if (!isValid(originalDate)) {
|
|
41245
41292
|
throw new RangeError("Invalid time value");
|
|
@@ -41280,7 +41327,7 @@ function format(date, formatStr, options) {
|
|
|
41280
41327
|
return parts.map((part) => {
|
|
41281
41328
|
if (!part.isToken) return part.value;
|
|
41282
41329
|
const token = part.value;
|
|
41283
|
-
if (!_optionalChain([options, 'optionalAccess',
|
|
41330
|
+
if (!_optionalChain([options, 'optionalAccess', _845 => _845.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _846 => _846.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
|
|
41284
41331
|
warnOrThrowProtectedError(token, formatStr, String(date));
|
|
41285
41332
|
}
|
|
41286
41333
|
const formatter = formatters[token[0]];
|
|
@@ -41461,7 +41508,7 @@ function ProgramCard({
|
|
|
41461
41508
|
const dur = formatDurationFromRange(w.start_at, w.end_at);
|
|
41462
41509
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
41463
41510
|
}
|
|
41464
|
-
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access',
|
|
41511
|
+
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _847 => _847.labels, 'optionalAccess', _848 => _848.singular])].filter(
|
|
41465
41512
|
(s) => typeof s === "string" && s.length > 0
|
|
41466
41513
|
);
|
|
41467
41514
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
|
|
@@ -41618,7 +41665,7 @@ function ProgramCard({
|
|
|
41618
41665
|
|
|
41619
41666
|
|
|
41620
41667
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
41621
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
41668
|
+
const goalsCount = _optionalChain([campaign, 'access', _849 => _849.goals, 'optionalAccess', _850 => _850.length]) || 0;
|
|
41622
41669
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
41623
41670
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
41624
41671
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -41780,7 +41827,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
41780
41827
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
41781
41828
|
const safePath = sanitizePath(row.path);
|
|
41782
41829
|
if (safePath) {
|
|
41783
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
41830
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _851 => _851.docPlatformTargets, 'optionalAccess', _852 => _852[row.documentType]]) : void 0;
|
|
41784
41831
|
if (docTarget) {
|
|
41785
41832
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
41786
41833
|
const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -41995,8 +42042,8 @@ function cardMenuGroups(href, discuss, openDetails) {
|
|
|
41995
42042
|
if (href) {
|
|
41996
42043
|
items.push({
|
|
41997
42044
|
id: "open-details",
|
|
41998
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
41999
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
42045
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _853 => _853.label]), () => ( "Open Details")),
|
|
42046
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _854 => _854.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.EyeIcon, { size: 20 }))),
|
|
42000
42047
|
// Main row → open the entity (same tab, soft Link nav).
|
|
42001
42048
|
href,
|
|
42002
42049
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -42026,8 +42073,8 @@ function HubspotTicketChatCard({
|
|
|
42026
42073
|
isNewTab,
|
|
42027
42074
|
discuss
|
|
42028
42075
|
}) {
|
|
42029
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
42030
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
42076
|
+
const status = typeof _optionalChain([chatRef, 'access', _855 => _855.metadata, 'optionalAccess', _856 => _856.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
42077
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _857 => _857.metadata, 'optionalAccess', _858 => _858.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
42031
42078
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
42032
42079
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42033
42080
|
MingoInfoCard,
|
|
@@ -42050,7 +42097,7 @@ function FaqChatCard({
|
|
|
42050
42097
|
isNewTab,
|
|
42051
42098
|
discuss
|
|
42052
42099
|
}) {
|
|
42053
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
42100
|
+
const section = typeof _optionalChain([chatRef, 'access', _859 => _859.metadata, 'optionalAccess', _860 => _860.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
42054
42101
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
42055
42102
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42056
42103
|
MingoInfoCard,
|
|
@@ -42070,7 +42117,7 @@ function SlackChatCard({
|
|
|
42070
42117
|
isNewTab,
|
|
42071
42118
|
discuss
|
|
42072
42119
|
}) {
|
|
42073
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
42120
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _861 => _861.metadata, 'optionalAccess', _862 => _862.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
42074
42121
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
42075
42122
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
42076
42123
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -42110,7 +42157,7 @@ function GenericFinancialChatCard({
|
|
|
42110
42157
|
isNewTab,
|
|
42111
42158
|
discuss
|
|
42112
42159
|
}) {
|
|
42113
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
42160
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _863 => _863.metadata, 'optionalAccess', _864 => _864.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
42114
42161
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42115
42162
|
MingoInfoCard,
|
|
42116
42163
|
{
|
|
@@ -42179,12 +42226,12 @@ function ProductReleaseChatCard({
|
|
|
42179
42226
|
discuss
|
|
42180
42227
|
}) {
|
|
42181
42228
|
const releaseProps = buildProps(item);
|
|
42182
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
42229
|
+
const status = _optionalChain([item, 'optionalAccess', _865 => _865.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
42183
42230
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42184
42231
|
EntityMingoCard,
|
|
42185
42232
|
{
|
|
42186
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42187
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
42233
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _866 => _866.title]), () => ( "")),
|
|
42234
|
+
description: _optionalChain([item, 'optionalAccess', _867 => _867.summary]) || releaseProps.formattedDate || void 0,
|
|
42188
42235
|
cover: releaseProps.coverImage || void 0,
|
|
42189
42236
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Rocket02Icon, { size: 24 }),
|
|
42190
42237
|
status,
|
|
@@ -42201,17 +42248,17 @@ function CampaignChatCard({
|
|
|
42201
42248
|
isNewTab,
|
|
42202
42249
|
discuss
|
|
42203
42250
|
}) {
|
|
42204
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
42251
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _868 => _868.goals])) ? item.goals.length : 0;
|
|
42205
42252
|
const meta = [
|
|
42206
|
-
_optionalChain([item, 'optionalAccess',
|
|
42253
|
+
_optionalChain([item, 'optionalAccess', _869 => _869.start_date]) ? formatDateShort(item.start_date) : null,
|
|
42207
42254
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
42208
42255
|
"Marketing campaign"
|
|
42209
42256
|
].filter(Boolean).join(" \xB7 ");
|
|
42210
42257
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42211
42258
|
EntityMingoCard,
|
|
42212
42259
|
{
|
|
42213
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42214
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
42260
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _870 => _870.name]), () => ( "")),
|
|
42261
|
+
description: meta || _optionalChain([item, 'optionalAccess', _871 => _871.description]) || void 0,
|
|
42215
42262
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Megaphone01Icon, { size: 24 }),
|
|
42216
42263
|
chatRef,
|
|
42217
42264
|
isNewTab,
|
|
@@ -42264,14 +42311,14 @@ function BlogChatCard({
|
|
|
42264
42311
|
hasEmbeddedVideo,
|
|
42265
42312
|
discuss
|
|
42266
42313
|
}) {
|
|
42267
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
42314
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _872 => _872.categories])) ? _optionalChain([item, 'access', _873 => _873.categories, 'access', _874 => _874.find, 'call', _875 => _875((c) => c && c.name), 'optionalAccess', _876 => _876.name]) : void 0;
|
|
42268
42315
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
42269
42316
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42270
42317
|
EntityMingoCard,
|
|
42271
42318
|
{
|
|
42272
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42273
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42274
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
42319
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _877 => _877.title]), () => ( "")),
|
|
42320
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _878 => _878.summary]), () => ( void 0)),
|
|
42321
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _879 => _879.featured_image]), ogPlaceholder),
|
|
42275
42322
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.NewspaperIcon, { size: 24 }),
|
|
42276
42323
|
status,
|
|
42277
42324
|
chatRef,
|
|
@@ -42288,13 +42335,13 @@ function CaseStudyChatCard({
|
|
|
42288
42335
|
ogPlaceholder,
|
|
42289
42336
|
discuss
|
|
42290
42337
|
}) {
|
|
42291
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
42338
|
+
const meta = [_optionalChain([item, 'optionalAccess', _880 => _880.msp, 'optionalAccess', _881 => _881.name]), _optionalChain([item, 'optionalAccess', _882 => _882.user, 'optionalAccess', _883 => _883.full_name])].filter(Boolean).join(" \xB7 ");
|
|
42292
42339
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42293
42340
|
EntityMingoCard,
|
|
42294
42341
|
{
|
|
42295
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42296
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
42297
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
42342
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _884 => _884.title]), () => ( "")),
|
|
42343
|
+
description: _optionalChain([item, 'optionalAccess', _885 => _885.summary]) || meta || void 0,
|
|
42344
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _886 => _886.featured_image]), ogPlaceholder),
|
|
42298
42345
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.TrophyIcon, { size: 24 }),
|
|
42299
42346
|
status: { label: "Case study", variant: "grey" },
|
|
42300
42347
|
chatRef,
|
|
@@ -42311,13 +42358,13 @@ function CustomerInterviewChatCard({
|
|
|
42311
42358
|
ogPlaceholder,
|
|
42312
42359
|
discuss
|
|
42313
42360
|
}) {
|
|
42314
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
42361
|
+
const meta = [_optionalChain([item, 'optionalAccess', _887 => _887.user, 'optionalAccess', _888 => _888.full_name]), _optionalChain([item, 'optionalAccess', _889 => _889.msp, 'optionalAccess', _890 => _890.name])].filter(Boolean).join(" \xB7 ");
|
|
42315
42362
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42316
42363
|
EntityMingoCard,
|
|
42317
42364
|
{
|
|
42318
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42319
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
42320
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
42365
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.title]), () => ( "")),
|
|
42366
|
+
description: _optionalChain([item, 'optionalAccess', _892 => _892.video_summary]) || meta || void 0,
|
|
42367
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _893 => _893.featured_image]), ogPlaceholder),
|
|
42321
42368
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MicrophoneIcon, { size: 24 }),
|
|
42322
42369
|
status: { label: "Interview", variant: "grey" },
|
|
42323
42370
|
chatRef,
|
|
@@ -42334,13 +42381,13 @@ function InvestorUpdateChatCard({
|
|
|
42334
42381
|
ogPlaceholder,
|
|
42335
42382
|
discuss
|
|
42336
42383
|
}) {
|
|
42337
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
42384
|
+
const title = _optionalChain([item, 'optionalAccess', _894 => _894.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _895 => _895.update_number]), () => ( "?"))}`;
|
|
42338
42385
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42339
42386
|
EntityMingoCard,
|
|
42340
42387
|
{
|
|
42341
42388
|
title,
|
|
42342
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
42343
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
42389
|
+
description: _optionalChain([item, 'optionalAccess', _896 => _896.strategic_update]) || _optionalChain([item, 'optionalAccess', _897 => _897.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _898 => _898.period_start]), _optionalChain([item, 'optionalAccess', _899 => _899.period_end])) || void 0,
|
|
42390
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _900 => _900.featured_image]), ogPlaceholder),
|
|
42344
42391
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.PresentationLineIcon, { size: 24 }),
|
|
42345
42392
|
status: { label: "Investor update", variant: "grey" },
|
|
42346
42393
|
chatRef,
|
|
@@ -42357,12 +42404,12 @@ function OnboardingGuideChatCard({
|
|
|
42357
42404
|
ogPlaceholder,
|
|
42358
42405
|
discuss
|
|
42359
42406
|
}) {
|
|
42360
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
42407
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _901 => _901.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _902 => _902.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _903 => _903.og_image_url]), ogPlaceholder)));
|
|
42361
42408
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42362
42409
|
EntityMingoCard,
|
|
42363
42410
|
{
|
|
42364
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42365
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42411
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _904 => _904.title]), () => ( "")),
|
|
42412
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _905 => _905.summary]), () => ( _optionalChain([item, 'optionalAccess', _906 => _906.description]))), () => ( void 0)),
|
|
42366
42413
|
cover,
|
|
42367
42414
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CompassIcon, { size: 24 }),
|
|
42368
42415
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -42383,25 +42430,25 @@ function ProgramChatCard({
|
|
|
42383
42430
|
discuss
|
|
42384
42431
|
}) {
|
|
42385
42432
|
const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MicrophoneIcon, { size: 24 });
|
|
42386
|
-
const isScheduled = _optionalChain([item, 'optionalAccess',
|
|
42433
|
+
const isScheduled = _optionalChain([item, 'optionalAccess', _907 => _907.status]) === "scheduled";
|
|
42387
42434
|
let typeMeta;
|
|
42388
|
-
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess',
|
|
42435
|
+
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _908 => _908.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
42389
42436
|
typeMeta = formatDurationCompact(item.duration_seconds);
|
|
42390
|
-
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess',
|
|
42437
|
+
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _909 => _909.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
42391
42438
|
typeMeta = item.location_name;
|
|
42392
|
-
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess',
|
|
42439
|
+
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _910 => _910.start_at])) {
|
|
42393
42440
|
const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
|
|
42394
42441
|
const dur = formatDurationFromRange(item.start_at, item.end_at);
|
|
42395
42442
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
42396
42443
|
}
|
|
42397
|
-
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42444
|
+
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _911 => _911.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
42398
42445
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
42399
42446
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42400
42447
|
EntityMingoCard,
|
|
42401
42448
|
{
|
|
42402
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42403
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
42404
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
42449
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")),
|
|
42450
|
+
description: meta || _optionalChain([item, 'optionalAccess', _913 => _913.description]) || void 0,
|
|
42451
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _914 => _914.cover_url]), ogPlaceholder),
|
|
42405
42452
|
fallbackIcon: icon,
|
|
42406
42453
|
status: { label, variant: "grey" },
|
|
42407
42454
|
chatRef,
|
|
@@ -42418,10 +42465,10 @@ function RoadmapChatCard({
|
|
|
42418
42465
|
cardType,
|
|
42419
42466
|
discuss
|
|
42420
42467
|
}) {
|
|
42421
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
42422
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
42468
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _915 => _915.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
42469
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _916 => _916.customItemId]) != null;
|
|
42423
42470
|
const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MapIcon, { size: 24 });
|
|
42424
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
42471
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _917 => _917.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
42425
42472
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
42426
42473
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
42427
42474
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
|
|
@@ -42429,10 +42476,10 @@ function RoadmapChatCard({
|
|
|
42429
42476
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42430
42477
|
EntityMingoCard,
|
|
42431
42478
|
{
|
|
42432
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42433
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
42479
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _918 => _918.title]), () => ( "")),
|
|
42480
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _919 => _919.description]), () => ( void 0)),
|
|
42434
42481
|
fallbackIcon: icon,
|
|
42435
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
42482
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _920 => _920.status])),
|
|
42436
42483
|
chatRef,
|
|
42437
42484
|
isNewTab,
|
|
42438
42485
|
discuss,
|
|
@@ -42518,7 +42565,7 @@ function programRegistryEntries() {
|
|
|
42518
42565
|
discuss: opts.discuss,
|
|
42519
42566
|
configKey: cfg.configKey,
|
|
42520
42567
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
42521
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
42568
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _921 => _921.extras, 'optionalAccess', _922 => _922.buildOgPlaceholderUrl, 'optionalCall', _923 => _923(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.title]), () => ( "")))]), () => ( null))
|
|
42522
42569
|
}
|
|
42523
42570
|
)
|
|
42524
42571
|
};
|
|
@@ -42670,8 +42717,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
42670
42717
|
chatRef,
|
|
42671
42718
|
isNewTab: opts.isNewTab,
|
|
42672
42719
|
discuss: opts.discuss,
|
|
42673
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
42674
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
42720
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _925 => _925.extras, 'optionalAccess', _926 => _926.buildOgPlaceholderUrl, 'optionalCall', _927 => _927(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _928 => _928.title]), () => ( "")))]), () => ( null)),
|
|
42721
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _929 => _929.metadata, 'optionalAccess', _930 => _930.hasEmbeddedVideo]) === true
|
|
42675
42722
|
}
|
|
42676
42723
|
)
|
|
42677
42724
|
},
|
|
@@ -42688,7 +42735,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
42688
42735
|
chatRef,
|
|
42689
42736
|
isNewTab: opts.isNewTab,
|
|
42690
42737
|
discuss: opts.discuss,
|
|
42691
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
42738
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _931 => _931.extras, 'optionalAccess', _932 => _932.buildOgPlaceholderUrl, 'optionalCall', _933 => _933(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _934 => _934.title]), () => ( "")))]), () => ( null))
|
|
42692
42739
|
}
|
|
42693
42740
|
)
|
|
42694
42741
|
},
|
|
@@ -42705,7 +42752,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
42705
42752
|
chatRef,
|
|
42706
42753
|
isNewTab: opts.isNewTab,
|
|
42707
42754
|
discuss: opts.discuss,
|
|
42708
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
42755
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _935 => _935.extras, 'optionalAccess', _936 => _936.buildOgPlaceholderUrl, 'optionalCall', _937 => _937(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _938 => _938.title]), () => ( "")))]), () => ( null))
|
|
42709
42756
|
}
|
|
42710
42757
|
)
|
|
42711
42758
|
},
|
|
@@ -42716,7 +42763,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
42716
42763
|
bareInline: true,
|
|
42717
42764
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
|
|
42718
42765
|
render: (item, chatRef, opts) => {
|
|
42719
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
42766
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _939 => _939.extras, 'optionalAccess', _940 => _940.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
|
|
42720
42767
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42721
42768
|
ProductReleaseChatCard,
|
|
42722
42769
|
{
|
|
@@ -42743,7 +42790,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
42743
42790
|
chatRef,
|
|
42744
42791
|
isNewTab: opts.isNewTab,
|
|
42745
42792
|
discuss: opts.discuss,
|
|
42746
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
42793
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _941 => _941.extras, 'optionalAccess', _942 => _942.buildOgPlaceholderUrl, 'optionalCall', _943 => _943(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _944 => _944.title]), () => ( "")))]), () => ( null))
|
|
42747
42794
|
}
|
|
42748
42795
|
)
|
|
42749
42796
|
},
|
|
@@ -42762,7 +42809,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
42762
42809
|
chatRef,
|
|
42763
42810
|
isNewTab: opts.isNewTab,
|
|
42764
42811
|
discuss: opts.discuss,
|
|
42765
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
42812
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _945 => _945.extras, 'optionalAccess', _946 => _946.buildOgPlaceholderUrl, 'optionalCall', _947 => _947(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _948 => _948.title]), () => ( "")))]), () => ( null))
|
|
42766
42813
|
}
|
|
42767
42814
|
)
|
|
42768
42815
|
},
|
|
@@ -42774,7 +42821,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
42774
42821
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
42775
42822
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
42776
42823
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
42777
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
42824
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _949 => _949.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
|
|
42778
42825
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42779
42826
|
CampaignChatCard,
|
|
42780
42827
|
{
|
|
@@ -42800,12 +42847,12 @@ function ChatCardNavWrap({
|
|
|
42800
42847
|
const onClickCapture = (e) => {
|
|
42801
42848
|
if (!href) return;
|
|
42802
42849
|
const targetEl = e.target;
|
|
42803
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
42804
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
42850
|
+
if (_optionalChain([targetEl, 'optionalAccess', _950 => _950.closest, 'optionalCall', _951 => _951("button")])) return;
|
|
42851
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _952 => _952.closest, 'optionalCall', _953 => _953("a")])) return;
|
|
42805
42852
|
const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
|
|
42806
42853
|
if (!handled) return;
|
|
42807
42854
|
e.stopPropagation();
|
|
42808
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
42855
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _954 => _954.closeChat])) panel.closeChat();
|
|
42809
42856
|
};
|
|
42810
42857
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
42811
42858
|
}
|
|
@@ -42827,7 +42874,7 @@ function ChatCardLoader({
|
|
|
42827
42874
|
title: chatRef.title,
|
|
42828
42875
|
externalUrl: chatRef.url,
|
|
42829
42876
|
targetPlatform: chatRef.targetPlatform,
|
|
42830
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
42877
|
+
path: typeof _optionalChain([chatRef, 'access', _955 => _955.metadata, 'optionalAccess', _956 => _956.path]) === "string" ? chatRef.metadata.path : null
|
|
42831
42878
|
},
|
|
42832
42879
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
42833
42880
|
);
|
|
@@ -42841,7 +42888,7 @@ function ChatCardLoader({
|
|
|
42841
42888
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
42842
42889
|
const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
|
|
42843
42890
|
const { item, isLoading } = useChatCardItem(
|
|
42844
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
42891
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _957 => _957.contentRefType]), () => ( "")),
|
|
42845
42892
|
fetchEntry ? resolvedChatRef.id : ""
|
|
42846
42893
|
);
|
|
42847
42894
|
if (!entry) return null;
|
|
@@ -42872,7 +42919,7 @@ function ChatCardLoader({
|
|
|
42872
42919
|
isNewTab,
|
|
42873
42920
|
discuss
|
|
42874
42921
|
};
|
|
42875
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
42922
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _958 => _958.metadata, 'optionalAccess', _959 => _959.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
42876
42923
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42877
42924
|
ChatCardNavWrap,
|
|
42878
42925
|
{
|
|
@@ -43258,7 +43305,7 @@ function useJetStreamDialogSubscription({
|
|
|
43258
43305
|
const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
|
|
43259
43306
|
conn: sharedConn,
|
|
43260
43307
|
wsUrl,
|
|
43261
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
43308
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _960 => _960.current, 'optionalCall', _961 => _961()]),
|
|
43262
43309
|
backoff: reconnectionBackoffRef.current,
|
|
43263
43310
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
43264
43311
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -43273,7 +43320,7 @@ function useJetStreamDialogSubscription({
|
|
|
43273
43320
|
setReconnectionCount((c) => c + 1);
|
|
43274
43321
|
}
|
|
43275
43322
|
hadConnectionBeforeRef.current = true;
|
|
43276
|
-
_optionalChain([onConnectRef, 'access',
|
|
43323
|
+
_optionalChain([onConnectRef, 'access', _962 => _962.current, 'optionalCall', _963 => _963()]);
|
|
43277
43324
|
}
|
|
43278
43325
|
if (status === "error") {
|
|
43279
43326
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -43283,7 +43330,7 @@ function useJetStreamDialogSubscription({
|
|
|
43283
43330
|
setIsConnected(false);
|
|
43284
43331
|
setIsSubscribed(false);
|
|
43285
43332
|
tearDownSubscription();
|
|
43286
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
43333
|
+
_optionalChain([onDisconnectRef, 'access', _964 => _964.current, 'optionalCall', _965 => _965()]);
|
|
43287
43334
|
}
|
|
43288
43335
|
}
|
|
43289
43336
|
});
|
|
@@ -43362,7 +43409,7 @@ function useJetStreamDialogSubscription({
|
|
|
43362
43409
|
}
|
|
43363
43410
|
subscriptionRef.current = handle;
|
|
43364
43411
|
setIsSubscribed(true);
|
|
43365
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
43412
|
+
_optionalChain([onSubscribedRef, 'access', _966 => _966.current, 'optionalCall', _967 => _967()]);
|
|
43366
43413
|
} catch (e44) {
|
|
43367
43414
|
if (!cancelled) {
|
|
43368
43415
|
setIsSubscribed(false);
|
|
@@ -43475,20 +43522,20 @@ function useNatsDialogSubscription({
|
|
|
43475
43522
|
const tearDownSubscriptions = () => {
|
|
43476
43523
|
subscriptionRefs.current.forEach((sub) => {
|
|
43477
43524
|
try {
|
|
43478
|
-
_optionalChain([sub, 'optionalAccess',
|
|
43525
|
+
_optionalChain([sub, 'optionalAccess', _968 => _968.unsubscribe, 'call', _969 => _969()]);
|
|
43479
43526
|
} catch (e46) {
|
|
43480
43527
|
}
|
|
43481
43528
|
});
|
|
43482
43529
|
subscriptionRefs.current.clear();
|
|
43483
43530
|
lastSubscribedDialogIdRef.current = null;
|
|
43484
|
-
_optionalChain([abortControllerRef, 'access',
|
|
43531
|
+
_optionalChain([abortControllerRef, 'access', _970 => _970.current, 'optionalAccess', _971 => _971.abort, 'call', _972 => _972()]);
|
|
43485
43532
|
abortControllerRef.current = null;
|
|
43486
43533
|
};
|
|
43487
43534
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
43488
43535
|
const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
|
|
43489
43536
|
conn: sharedConn,
|
|
43490
43537
|
wsUrl,
|
|
43491
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
43538
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _973 => _973.current, 'optionalCall', _974 => _974()]),
|
|
43492
43539
|
backoff: reconnectionBackoffRef.current,
|
|
43493
43540
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
43494
43541
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -43499,7 +43546,7 @@ function useNatsDialogSubscription({
|
|
|
43499
43546
|
setReconnectionCount((c) => c + 1);
|
|
43500
43547
|
}
|
|
43501
43548
|
hadConnectionBeforeRef.current = true;
|
|
43502
|
-
_optionalChain([onConnectRef, 'access',
|
|
43549
|
+
_optionalChain([onConnectRef, 'access', _975 => _975.current, 'optionalCall', _976 => _976()]);
|
|
43503
43550
|
}
|
|
43504
43551
|
if (status === "error") {
|
|
43505
43552
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -43509,7 +43556,7 @@ function useNatsDialogSubscription({
|
|
|
43509
43556
|
setIsConnected(false);
|
|
43510
43557
|
setIsSubscribed(false);
|
|
43511
43558
|
tearDownSubscriptions();
|
|
43512
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
43559
|
+
_optionalChain([onDisconnectRef, 'access', _977 => _977.current, 'optionalCall', _978 => _978()]);
|
|
43513
43560
|
}
|
|
43514
43561
|
}
|
|
43515
43562
|
});
|
|
@@ -43540,13 +43587,13 @@ function useNatsDialogSubscription({
|
|
|
43540
43587
|
setIsSubscribed(false);
|
|
43541
43588
|
subscriptionRefs.current.forEach((sub) => {
|
|
43542
43589
|
try {
|
|
43543
|
-
_optionalChain([sub, 'optionalAccess',
|
|
43590
|
+
_optionalChain([sub, 'optionalAccess', _979 => _979.unsubscribe, 'call', _980 => _980()]);
|
|
43544
43591
|
} catch (e47) {
|
|
43545
43592
|
}
|
|
43546
43593
|
});
|
|
43547
43594
|
subscriptionRefs.current.clear();
|
|
43548
43595
|
lastSubscribedDialogIdRef.current = null;
|
|
43549
|
-
_optionalChain([abortControllerRef, 'access',
|
|
43596
|
+
_optionalChain([abortControllerRef, 'access', _981 => _981.current, 'optionalAccess', _982 => _982.abort, 'call', _983 => _983()]);
|
|
43550
43597
|
abortControllerRef.current = null;
|
|
43551
43598
|
}
|
|
43552
43599
|
return;
|
|
@@ -43558,12 +43605,12 @@ function useNatsDialogSubscription({
|
|
|
43558
43605
|
if (subscriptionRefs.current.size > 0) {
|
|
43559
43606
|
subscriptionRefs.current.forEach((sub) => {
|
|
43560
43607
|
try {
|
|
43561
|
-
_optionalChain([sub, 'optionalAccess',
|
|
43608
|
+
_optionalChain([sub, 'optionalAccess', _984 => _984.unsubscribe, 'call', _985 => _985()]);
|
|
43562
43609
|
} catch (e48) {
|
|
43563
43610
|
}
|
|
43564
43611
|
});
|
|
43565
43612
|
subscriptionRefs.current.clear();
|
|
43566
|
-
_optionalChain([abortControllerRef, 'access',
|
|
43613
|
+
_optionalChain([abortControllerRef, 'access', _986 => _986.current, 'optionalAccess', _987 => _987.abort, 'call', _988 => _988()]);
|
|
43567
43614
|
}
|
|
43568
43615
|
abortControllerRef.current = new AbortController();
|
|
43569
43616
|
const abort = abortControllerRef.current;
|
|
@@ -43595,7 +43642,7 @@ function useNatsDialogSubscription({
|
|
|
43595
43642
|
});
|
|
43596
43643
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
43597
43644
|
setIsSubscribed(true);
|
|
43598
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
43645
|
+
_optionalChain([onSubscribedRef, 'access', _989 => _989.current, 'optionalCall', _990 => _990()]);
|
|
43599
43646
|
};
|
|
43600
43647
|
if (isConnectedRef.current) {
|
|
43601
43648
|
createSubscriptions();
|
|
@@ -43605,7 +43652,7 @@ function useNatsDialogSubscription({
|
|
|
43605
43652
|
abort.abort();
|
|
43606
43653
|
subscriptionRefs.current.forEach((sub) => {
|
|
43607
43654
|
try {
|
|
43608
|
-
_optionalChain([sub, 'optionalAccess',
|
|
43655
|
+
_optionalChain([sub, 'optionalAccess', _991 => _991.unsubscribe, 'call', _992 => _992()]);
|
|
43609
43656
|
} catch (e50) {
|
|
43610
43657
|
}
|
|
43611
43658
|
});
|
|
@@ -43646,7 +43693,7 @@ function useNatsDialogSubscription({
|
|
|
43646
43693
|
});
|
|
43647
43694
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
43648
43695
|
setIsSubscribed(true);
|
|
43649
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
43696
|
+
_optionalChain([onSubscribedRef, 'access', _993 => _993.current, 'optionalCall', _994 => _994()]);
|
|
43650
43697
|
} else if (subscriptionRefs.current.size > 0) {
|
|
43651
43698
|
setIsSubscribed(true);
|
|
43652
43699
|
}
|
|
@@ -43654,10 +43701,10 @@ function useNatsDialogSubscription({
|
|
|
43654
43701
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
43655
43702
|
}
|
|
43656
43703
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
43657
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
43704
|
+
const path = _optionalChain([options, 'optionalAccess', _995 => _995.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
43658
43705
|
const u = new URL(path, apiBaseUrl);
|
|
43659
43706
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
43660
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
43707
|
+
if (_optionalChain([options, 'optionalAccess', _996 => _996.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _997 => _997.token])) {
|
|
43661
43708
|
u.searchParams.set("authorization", options.token);
|
|
43662
43709
|
}
|
|
43663
43710
|
return u.toString();
|
|
@@ -43793,7 +43840,7 @@ function parseChunkToAction(chunk) {
|
|
|
43793
43840
|
// is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
|
|
43794
43841
|
// historical path in `process-historical-messages.ts`) — keeps both
|
|
43795
43842
|
// message sources producing an identical shape.
|
|
43796
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
43843
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _998 => _998.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _999 => _999.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
|
|
43797
43844
|
};
|
|
43798
43845
|
case MESSAGE_TYPE.TOKEN_USAGE:
|
|
43799
43846
|
return {
|
|
@@ -43985,8 +44032,8 @@ var MessageSegmentAccumulator = class {
|
|
|
43985
44032
|
type: "tool_execution",
|
|
43986
44033
|
data: {
|
|
43987
44034
|
...toolData,
|
|
43988
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
43989
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
44035
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1000 => _1000.data, 'access', _1001 => _1001.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1002 => _1002.toolTitle]))),
|
|
44036
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1003 => _1003.parameters])
|
|
43990
44037
|
}
|
|
43991
44038
|
};
|
|
43992
44039
|
if (existingIndex !== -1) {
|
|
@@ -44010,8 +44057,8 @@ var MessageSegmentAccumulator = class {
|
|
|
44010
44057
|
if (seg.type !== "approval_batch") return seg;
|
|
44011
44058
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
44012
44059
|
if (!hasCall) return seg;
|
|
44013
|
-
const prev = _optionalChain([seg, 'access',
|
|
44014
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
44060
|
+
const prev = _optionalChain([seg, 'access', _1004 => _1004.data, 'access', _1005 => _1005.executions, 'optionalAccess', _1006 => _1006[execId]]);
|
|
44061
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1007 => _1007.result]), success: _optionalChain([prev, 'optionalAccess', _1008 => _1008.success]) };
|
|
44015
44062
|
matched = true;
|
|
44016
44063
|
return {
|
|
44017
44064
|
...seg,
|
|
@@ -44133,10 +44180,10 @@ var MessageSegmentAccumulator = class {
|
|
|
44133
44180
|
const segment = {
|
|
44134
44181
|
type: "approval_request",
|
|
44135
44182
|
data: {
|
|
44136
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
44137
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
44183
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _1009 => _1009.command]) || "",
|
|
44184
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _1010 => _1010.explanation]),
|
|
44138
44185
|
requestId,
|
|
44139
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
44186
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1011 => _1011.approvalType]) || approvalType
|
|
44140
44187
|
},
|
|
44141
44188
|
status,
|
|
44142
44189
|
onApprove: this.callbacks.onApprove,
|
|
@@ -44328,7 +44375,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44328
44375
|
if (initialState.escalatedApprovals) {
|
|
44329
44376
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
44330
44377
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
44331
|
-
_optionalChain([callbacks, 'access',
|
|
44378
|
+
_optionalChain([callbacks, 'access', _1012 => _1012.onEscalatedApproval, 'optionalCall', _1013 => _1013(requestId, data)]);
|
|
44332
44379
|
});
|
|
44333
44380
|
}
|
|
44334
44381
|
hasEverStreamedRef.current = true;
|
|
@@ -44349,12 +44396,12 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44349
44396
|
if (!action) return;
|
|
44350
44397
|
const accumulator = accumulatorRef.current;
|
|
44351
44398
|
const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
|
|
44352
|
-
const emitSegments = (s, meta) => _optionalChain([callbacks, 'access',
|
|
44399
|
+
const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1014 => _1014.onSegmentsUpdate, 'optionalCall', _1015 => _1015(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
|
|
44353
44400
|
if (action.action === "direct_message") sawDirectMessageRef.current = true;
|
|
44354
44401
|
if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
|
|
44355
44402
|
if (isInStreamRef.current) {
|
|
44356
44403
|
isInStreamRef.current = false;
|
|
44357
|
-
_optionalChain([callbacks, 'access',
|
|
44404
|
+
_optionalChain([callbacks, 'access', _1016 => _1016.onStreamEnd, 'optionalCall', _1017 => _1017()]);
|
|
44358
44405
|
accumulator.resetSegments();
|
|
44359
44406
|
}
|
|
44360
44407
|
return;
|
|
@@ -44363,16 +44410,16 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44363
44410
|
case "message_start":
|
|
44364
44411
|
isInStreamRef.current = true;
|
|
44365
44412
|
hasEverStreamedRef.current = true;
|
|
44366
|
-
_optionalChain([callbacks, 'access',
|
|
44413
|
+
_optionalChain([callbacks, 'access', _1018 => _1018.onStreamStart, 'optionalCall', _1019 => _1019()]);
|
|
44367
44414
|
accumulator.resetSegments();
|
|
44368
44415
|
break;
|
|
44369
44416
|
case "message_end":
|
|
44370
44417
|
isInStreamRef.current = false;
|
|
44371
|
-
_optionalChain([callbacks, 'access',
|
|
44418
|
+
_optionalChain([callbacks, 'access', _1020 => _1020.onStreamEnd, 'optionalCall', _1021 => _1021()]);
|
|
44372
44419
|
accumulator.resetSegments();
|
|
44373
44420
|
break;
|
|
44374
44421
|
case "metadata":
|
|
44375
|
-
_optionalChain([callbacks, 'access',
|
|
44422
|
+
_optionalChain([callbacks, 'access', _1022 => _1022.onMetadata, 'optionalCall', _1023 => _1023(action)]);
|
|
44376
44423
|
break;
|
|
44377
44424
|
case "text": {
|
|
44378
44425
|
const segments = accumulator.appendText(action.text);
|
|
@@ -44415,7 +44462,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44415
44462
|
emitSegments(segments);
|
|
44416
44463
|
} else {
|
|
44417
44464
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
44418
|
-
_optionalChain([callbacks, 'access',
|
|
44465
|
+
_optionalChain([callbacks, 'access', _1024 => _1024.onEscalatedApproval, 'optionalCall', _1025 => _1025(requestId, { command, explanation, approvalType })]);
|
|
44419
44466
|
}
|
|
44420
44467
|
break;
|
|
44421
44468
|
}
|
|
@@ -44427,13 +44474,13 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44427
44474
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
44428
44475
|
pendingEscalatedRef.current.set(requestId, {
|
|
44429
44476
|
command: summary,
|
|
44430
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
44477
|
+
explanation: _optionalChain([required, 'optionalAccess', _1026 => _1026.toolExplanation]),
|
|
44431
44478
|
approvalType,
|
|
44432
44479
|
toolCalls
|
|
44433
44480
|
});
|
|
44434
|
-
_optionalChain([callbacks, 'access',
|
|
44481
|
+
_optionalChain([callbacks, 'access', _1027 => _1027.onEscalatedApproval, 'optionalCall', _1028 => _1028(requestId, {
|
|
44435
44482
|
command: summary,
|
|
44436
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
44483
|
+
explanation: _optionalChain([required, 'optionalAccess', _1029 => _1029.toolExplanation]),
|
|
44437
44484
|
approvalType
|
|
44438
44485
|
})]);
|
|
44439
44486
|
break;
|
|
@@ -44463,7 +44510,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44463
44510
|
const status = approved ? "approved" : "rejected";
|
|
44464
44511
|
if (escalatedData) {
|
|
44465
44512
|
pendingEscalatedRef.current.delete(requestId);
|
|
44466
|
-
_optionalChain([callbacks, 'access',
|
|
44513
|
+
_optionalChain([callbacks, 'access', _1030 => _1030.onEscalatedApprovalResult, 'optionalCall', _1031 => _1031(requestId, approved, {
|
|
44467
44514
|
command: escalatedData.command,
|
|
44468
44515
|
explanation: escalatedData.explanation,
|
|
44469
44516
|
approvalType: escalatedData.approvalType
|
|
@@ -44509,29 +44556,29 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44509
44556
|
emitSegments(accumulator.getSegments());
|
|
44510
44557
|
}
|
|
44511
44558
|
}
|
|
44512
|
-
_optionalChain([callbacks, 'access',
|
|
44559
|
+
_optionalChain([callbacks, 'access', _1032 => _1032.onApprovalResolved, 'optionalCall', _1033 => _1033(requestId, status, approvalType, resolvedByName)]);
|
|
44513
44560
|
break;
|
|
44514
44561
|
}
|
|
44515
44562
|
case "error": {
|
|
44516
44563
|
let message2;
|
|
44517
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
44564
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _1034 => _1034.details])) {
|
|
44518
44565
|
try {
|
|
44519
|
-
message2 = _optionalChain([JSON, 'access',
|
|
44566
|
+
message2 = _optionalChain([JSON, 'access', _1035 => _1035.parse, 'call', _1036 => _1036(action.details), 'optionalAccess', _1037 => _1037.error, 'optionalAccess', _1038 => _1038.message]);
|
|
44520
44567
|
} catch (e52) {
|
|
44521
44568
|
message2 = action.details;
|
|
44522
44569
|
}
|
|
44523
44570
|
}
|
|
44524
44571
|
const segments = accumulator.addError(action.error, message2);
|
|
44525
44572
|
emitSegments(segments);
|
|
44526
|
-
_optionalChain([callbacks, 'access',
|
|
44573
|
+
_optionalChain([callbacks, 'access', _1039 => _1039.onError, 'optionalCall', _1040 => _1040(action.error, message2)]);
|
|
44527
44574
|
break;
|
|
44528
44575
|
}
|
|
44529
44576
|
case "system": {
|
|
44530
|
-
_optionalChain([callbacks, 'access',
|
|
44577
|
+
_optionalChain([callbacks, 'access', _1041 => _1041.onSystemMessage, 'optionalCall', _1042 => _1042(action.text, { streamSeq })]);
|
|
44531
44578
|
break;
|
|
44532
44579
|
}
|
|
44533
44580
|
case "direct_message": {
|
|
44534
|
-
_optionalChain([callbacks, 'access',
|
|
44581
|
+
_optionalChain([callbacks, 'access', _1043 => _1043.onDirectMessage, 'optionalCall', _1044 => _1044(action.text, {
|
|
44535
44582
|
ownerType: action.ownerType,
|
|
44536
44583
|
displayName: action.displayName,
|
|
44537
44584
|
userId: action.userId,
|
|
@@ -44540,7 +44587,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44540
44587
|
break;
|
|
44541
44588
|
}
|
|
44542
44589
|
case "message_request":
|
|
44543
|
-
_optionalChain([callbacks, 'access',
|
|
44590
|
+
_optionalChain([callbacks, 'access', _1045 => _1045.onUserMessage, 'optionalCall', _1046 => _1046(action.text, {
|
|
44544
44591
|
ownerType: action.ownerType,
|
|
44545
44592
|
displayName: action.displayName,
|
|
44546
44593
|
userId: action.userId,
|
|
@@ -44549,7 +44596,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44549
44596
|
})]);
|
|
44550
44597
|
break;
|
|
44551
44598
|
case "token_usage":
|
|
44552
|
-
_optionalChain([callbacks, 'access',
|
|
44599
|
+
_optionalChain([callbacks, 'access', _1047 => _1047.onTokenUsage, 'optionalCall', _1048 => _1048(action.data)]);
|
|
44553
44600
|
break;
|
|
44554
44601
|
case "context_compaction_start": {
|
|
44555
44602
|
const standalone = !isInStreamRef.current;
|
|
@@ -44564,7 +44611,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
44564
44611
|
break;
|
|
44565
44612
|
}
|
|
44566
44613
|
case "dialog_closed":
|
|
44567
|
-
_optionalChain([callbacks, 'access',
|
|
44614
|
+
_optionalChain([callbacks, 'access', _1049 => _1049.onDialogClosed, 'optionalCall', _1050 => _1050()]);
|
|
44568
44615
|
break;
|
|
44569
44616
|
default:
|
|
44570
44617
|
break;
|
|
@@ -44611,7 +44658,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
44611
44658
|
const data = await res.json();
|
|
44612
44659
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
44613
44660
|
} catch (err) {
|
|
44614
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
44661
|
+
if (_optionalChain([err, 'optionalAccess', _1051 => _1051.name]) === "AbortError") throw err;
|
|
44615
44662
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
44616
44663
|
return [];
|
|
44617
44664
|
}
|
|
@@ -44632,7 +44679,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
44632
44679
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
44633
44680
|
if (!cancelled) setCommands(next);
|
|
44634
44681
|
} catch (err) {
|
|
44635
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
44682
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _1052 => _1052.name]) !== "AbortError") {
|
|
44636
44683
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
44637
44684
|
}
|
|
44638
44685
|
} finally {
|
|
@@ -44651,7 +44698,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
44651
44698
|
const query = _reactquery.useQuery.call(void 0, {
|
|
44652
44699
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
44653
44700
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
44654
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
44701
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1053 => _1053.enabled]), () => ( true)),
|
|
44655
44702
|
staleTime: Infinity,
|
|
44656
44703
|
gcTime: Infinity,
|
|
44657
44704
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -44687,18 +44734,18 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
44687
44734
|
}
|
|
44688
44735
|
const data = await res.json();
|
|
44689
44736
|
return {
|
|
44690
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
44691
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
44692
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
44737
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1054 => _1054.greeting]), () => ( null)),
|
|
44738
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1055 => _1055.enabledRagTableIds]), () => ( [])),
|
|
44739
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1056 => _1056.suggestedQueries]), () => ( []))
|
|
44693
44740
|
};
|
|
44694
44741
|
} catch (err) {
|
|
44695
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
44742
|
+
if (_optionalChain([err, 'optionalAccess', _1057 => _1057.name]) === "AbortError") throw err;
|
|
44696
44743
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
44697
44744
|
return EMPTY_STATE_FALLBACK;
|
|
44698
44745
|
}
|
|
44699
44746
|
}
|
|
44700
44747
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
44701
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
44748
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1058 => _1058.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
44702
44749
|
const query = _reactquery.useQuery.call(void 0, {
|
|
44703
44750
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
44704
44751
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -44727,7 +44774,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
44727
44774
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
44728
44775
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
44729
44776
|
return new Promise((resolve, reject) => {
|
|
44730
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
44777
|
+
if (_optionalChain([signal, 'optionalAccess', _1059 => _1059.aborted])) {
|
|
44731
44778
|
reject(new Error("Upload cancelled"));
|
|
44732
44779
|
return;
|
|
44733
44780
|
}
|
|
@@ -44741,7 +44788,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
44741
44788
|
xhr.removeEventListener("error", handleError);
|
|
44742
44789
|
xhr.removeEventListener("abort", handleAbort);
|
|
44743
44790
|
xhr.removeEventListener("timeout", handleTimeout);
|
|
44744
|
-
_optionalChain([signal, 'optionalAccess',
|
|
44791
|
+
_optionalChain([signal, 'optionalAccess', _1060 => _1060.removeEventListener, 'call', _1061 => _1061("abort", handleSignalAbort)]);
|
|
44745
44792
|
if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
|
|
44746
44793
|
};
|
|
44747
44794
|
const handleProgress = (event) => {
|
|
@@ -44777,7 +44824,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
44777
44824
|
const handleSignalAbort = () => {
|
|
44778
44825
|
xhr.abort();
|
|
44779
44826
|
};
|
|
44780
|
-
_optionalChain([signal, 'optionalAccess',
|
|
44827
|
+
_optionalChain([signal, 'optionalAccess', _1062 => _1062.addEventListener, 'call', _1063 => _1063("abort", handleSignalAbort, { once: true })]);
|
|
44781
44828
|
xhr.upload.addEventListener("progress", handleProgress);
|
|
44782
44829
|
xhr.addEventListener("load", handleLoad);
|
|
44783
44830
|
xhr.addEventListener("error", handleError);
|
|
@@ -44821,12 +44868,12 @@ function useChatAttachments() {
|
|
|
44821
44868
|
try {
|
|
44822
44869
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
44823
44870
|
} catch (err) {
|
|
44824
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
44871
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1064 => _1064.signal, 'access', _1065 => _1065.aborted])) return;
|
|
44825
44872
|
throw new Error(
|
|
44826
44873
|
`Could not read file content: ${err instanceof Error ? err.message : String(err)}`
|
|
44827
44874
|
);
|
|
44828
44875
|
}
|
|
44829
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
44876
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1066 => _1066.signal, 'access', _1067 => _1067.aborted])) return;
|
|
44830
44877
|
if (!sniffed) {
|
|
44831
44878
|
throw new Error("Unrecognized file format");
|
|
44832
44879
|
}
|
|
@@ -44840,7 +44887,7 @@ function useChatAttachments() {
|
|
|
44840
44887
|
const urlResp = await _chunk27IO7V3Pcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
44841
44888
|
method: "POST",
|
|
44842
44889
|
headers: { "Content-Type": "application/json" },
|
|
44843
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
44890
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _1068 => _1068.signal]),
|
|
44844
44891
|
body: JSON.stringify({
|
|
44845
44892
|
fileName: att.file.name,
|
|
44846
44893
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -44866,9 +44913,9 @@ function useChatAttachments() {
|
|
|
44866
44913
|
(pct) => {
|
|
44867
44914
|
updateOne(att.id, { progress: pct });
|
|
44868
44915
|
},
|
|
44869
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
44916
|
+
_optionalChain([ctrl, 'optionalAccess', _1069 => _1069.signal])
|
|
44870
44917
|
);
|
|
44871
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
44918
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1070 => _1070.signal, 'access', _1071 => _1071.aborted])) return;
|
|
44872
44919
|
updateOne(att.id, {
|
|
44873
44920
|
status: "ready",
|
|
44874
44921
|
progress: 100,
|
|
@@ -44876,7 +44923,7 @@ function useChatAttachments() {
|
|
|
44876
44923
|
viewToken: mintData.viewToken
|
|
44877
44924
|
});
|
|
44878
44925
|
} catch (err) {
|
|
44879
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
44926
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal, 'access', _1073 => _1073.aborted])) return;
|
|
44880
44927
|
const message2 = err instanceof Error ? err.message : String(err);
|
|
44881
44928
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
|
|
44882
44929
|
} finally {
|
|
@@ -45027,7 +45074,7 @@ var ANON_DEFAULTS = {
|
|
|
45027
45074
|
function useResolveChatIdentity(enabled) {
|
|
45028
45075
|
const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
|
|
45029
45076
|
const url = runtime.endpoints.identityUrl;
|
|
45030
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
45077
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1074 => _1074.email]), () => ( null));
|
|
45031
45078
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
45032
45079
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
45033
45080
|
_react.useEffect.call(void 0, () => {
|
|
@@ -45118,7 +45165,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
|
|
|
45118
45165
|
yield chunk;
|
|
45119
45166
|
}
|
|
45120
45167
|
} catch (err) {
|
|
45121
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
45168
|
+
if (_optionalChain([err, 'optionalAccess', _1075 => _1075.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
45122
45169
|
return;
|
|
45123
45170
|
}
|
|
45124
45171
|
const errorMessage = err instanceof Error ? err.message : "An error occurred";
|
|
@@ -45169,7 +45216,7 @@ function useChat({
|
|
|
45169
45216
|
const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
|
|
45170
45217
|
onMessagesChangeRef.current = onMessagesChange;
|
|
45171
45218
|
_react.useEffect.call(void 0, () => {
|
|
45172
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
45219
|
+
_optionalChain([onMessagesChangeRef, 'access', _1076 => _1076.current, 'optionalCall', _1077 => _1077(messages)]);
|
|
45173
45220
|
}, [messages]);
|
|
45174
45221
|
const {
|
|
45175
45222
|
streamMessage,
|
|
@@ -45206,7 +45253,7 @@ function useChat({
|
|
|
45206
45253
|
name: "You",
|
|
45207
45254
|
content: text,
|
|
45208
45255
|
timestamp: /* @__PURE__ */ new Date(),
|
|
45209
|
-
..._optionalChain([options, 'optionalAccess',
|
|
45256
|
+
..._optionalChain([options, 'optionalAccess', _1078 => _1078.hidden]) ? { hidden: true } : {}
|
|
45210
45257
|
};
|
|
45211
45258
|
addMessage(userMessage);
|
|
45212
45259
|
setIsTyping(true);
|
|
@@ -45268,7 +45315,7 @@ function useChat({
|
|
|
45268
45315
|
currentTextSegment = "";
|
|
45269
45316
|
}
|
|
45270
45317
|
const seg = segment;
|
|
45271
|
-
const proposalId = _optionalChain([seg, 'access',
|
|
45318
|
+
const proposalId = _optionalChain([seg, 'access', _1079 => _1079.data, 'optionalAccess', _1080 => _1080.requestId]);
|
|
45272
45319
|
const updateApprovalMessage = (transform) => {
|
|
45273
45320
|
setMessages((prev) => {
|
|
45274
45321
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
@@ -45277,7 +45324,7 @@ function useChat({
|
|
|
45277
45324
|
if (!Array.isArray(m.content)) continue;
|
|
45278
45325
|
const segments = m.content;
|
|
45279
45326
|
const hasMatch = segments.some(
|
|
45280
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
45327
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1081 => _1081.data, 'optionalAccess', _1082 => _1082.requestId]) === proposalId
|
|
45281
45328
|
);
|
|
45282
45329
|
if (!hasMatch) continue;
|
|
45283
45330
|
const next = [...prev];
|
|
@@ -45319,11 +45366,11 @@ function useChat({
|
|
|
45319
45366
|
if (!Array.isArray(m.content)) continue;
|
|
45320
45367
|
const segments = m.content;
|
|
45321
45368
|
const hasMatch = segments.some(
|
|
45322
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
45369
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1083 => _1083.data, 'optionalAccess', _1084 => _1084.requestId]) === decision.proposalId
|
|
45323
45370
|
);
|
|
45324
45371
|
if (!hasMatch) continue;
|
|
45325
45372
|
const flipped = segments.map(
|
|
45326
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
45373
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1085 => _1085.data, 'optionalAccess', _1086 => _1086.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
|
|
45327
45374
|
);
|
|
45328
45375
|
const next = [...prev];
|
|
45329
45376
|
next[i] = { ...m, content: flipped };
|
|
@@ -45485,8 +45532,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
45485
45532
|
})),
|
|
45486
45533
|
{ role: "user", content: message2 }
|
|
45487
45534
|
];
|
|
45488
|
-
const targetPath = _optionalChain([extra, 'optionalAccess',
|
|
45489
|
-
const requestBody = _optionalChain([extra, 'optionalAccess',
|
|
45535
|
+
const targetPath = _optionalChain([extra, 'optionalAccess', _1087 => _1087.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
|
|
45536
|
+
const requestBody = _optionalChain([extra, 'optionalAccess', _1088 => _1088.approvalAction]) ? {
|
|
45490
45537
|
proposal_id: extra.approvalAction.proposalId,
|
|
45491
45538
|
action: extra.approvalAction.action,
|
|
45492
45539
|
messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
|
|
@@ -45495,8 +45542,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
45495
45542
|
}))
|
|
45496
45543
|
} : {
|
|
45497
45544
|
messages: apiMessages,
|
|
45498
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
45499
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
45545
|
+
..._optionalChain([extra, 'optionalAccess', _1089 => _1089.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
|
|
45546
|
+
..._optionalChain([extra, 'optionalAccess', _1090 => _1090.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
|
|
45500
45547
|
};
|
|
45501
45548
|
const response = await _chunk27IO7V3Pcjs.embedAuthedFetch.call(void 0, targetPath, {
|
|
45502
45549
|
method: "POST",
|
|
@@ -45506,7 +45553,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
45506
45553
|
if (!response.ok) {
|
|
45507
45554
|
throw new Error(`Chat request failed: ${response.status}`);
|
|
45508
45555
|
}
|
|
45509
|
-
const reader = _optionalChain([response, 'access',
|
|
45556
|
+
const reader = _optionalChain([response, 'access', _1091 => _1091.body, 'optionalAccess', _1092 => _1092.getReader, 'call', _1093 => _1093()]);
|
|
45510
45557
|
if (!reader) throw new Error("No response body");
|
|
45511
45558
|
const decoder = new TextDecoder();
|
|
45512
45559
|
let buffer = "";
|
|
@@ -45589,7 +45636,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
45589
45636
|
const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
|
|
45590
45637
|
const result = _nullishCoalesce(meta.result, () => ( null));
|
|
45591
45638
|
const card = _nullishCoalesce(meta.card, () => ( null));
|
|
45592
|
-
if (_optionalChain([card, 'optionalAccess',
|
|
45639
|
+
if (_optionalChain([card, 'optionalAccess', _1094 => _1094.ref, 'optionalAccess', _1095 => _1095.id]) && _optionalChain([card, 'optionalAccess', _1096 => _1096.type])) {
|
|
45593
45640
|
const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
|
|
45594
45641
|
const key = buildChatRefKey(card.type, card.ref.id);
|
|
45595
45642
|
refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
|
|
@@ -45602,8 +45649,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
45602
45649
|
willAutoContinue: meta.willAutoContinue === true,
|
|
45603
45650
|
...toolName ? { toolName } : {},
|
|
45604
45651
|
...result ? { result } : {},
|
|
45605
|
-
..._optionalChain([card, 'optionalAccess',
|
|
45606
|
-
..._optionalChain([card, 'optionalAccess',
|
|
45652
|
+
..._optionalChain([card, 'optionalAccess', _1097 => _1097.marker]) ? { marker: card.marker } : {},
|
|
45653
|
+
..._optionalChain([card, 'optionalAccess', _1098 => _1098.ref]) ? { cardRef: card.ref } : {},
|
|
45607
45654
|
...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
|
|
45608
45655
|
proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
|
|
45609
45656
|
};
|
|
@@ -45722,7 +45769,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
|
|
|
45722
45769
|
var chatStorageKey = (source) => {
|
|
45723
45770
|
const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
|
|
45724
45771
|
const auth = _chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, );
|
|
45725
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
45772
|
+
if (_optionalChain([auth, 'optionalAccess', _1099 => _1099.email])) {
|
|
45726
45773
|
return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
|
|
45727
45774
|
}
|
|
45728
45775
|
return base;
|
|
@@ -45777,7 +45824,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
45777
45824
|
const { active = true } = runtimeOptions;
|
|
45778
45825
|
const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
|
|
45779
45826
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
45780
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
45827
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1100 => _1100.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
45781
45828
|
const persistedRef = _react.useRef.call(void 0, null);
|
|
45782
45829
|
if (persistedRef.current === null) {
|
|
45783
45830
|
pruneStaleChatStorage(source);
|
|
@@ -45882,7 +45929,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
45882
45929
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
45883
45930
|
sources = sourcesMapRef.current.get(lookupIdx);
|
|
45884
45931
|
chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
|
|
45885
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access',
|
|
45932
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1101 => _1101.current, 'access', _1102 => _1102.get, 'call', _1103 => _1103(lookupIdx), 'optionalAccess', _1104 => _1104.scrollAnchor]), () => ( void 0));
|
|
45886
45933
|
}
|
|
45887
45934
|
return {
|
|
45888
45935
|
id: m.id,
|
|
@@ -45930,7 +45977,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
45930
45977
|
);
|
|
45931
45978
|
return;
|
|
45932
45979
|
}
|
|
45933
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
45980
|
+
const refSlug = typeof _optionalChain([reference, 'access', _1105 => _1105.metadata, 'optionalAccess', _1106 => _1106.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
45934
45981
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
45935
45982
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
45936
45983
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -46002,18 +46049,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
46002
46049
|
clearMessages,
|
|
46003
46050
|
streamingPhase,
|
|
46004
46051
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
46005
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
46006
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
46007
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
46052
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1107 => _1107.provider]), () => ( null)),
|
|
46053
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1108 => _1108.modelLabel]), () => ( null)),
|
|
46054
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1109 => _1109.contextWindowMaxTokens]), () => ( null)),
|
|
46008
46055
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
46009
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
46056
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1110 => _1110.inputTokens]), () => ( null)),
|
|
46010
46057
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
46011
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
46058
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1111 => _1111.outputTokens]), () => ( null)),
|
|
46012
46059
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
46013
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
46060
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1112 => _1112.cacheHitRatePct]), () => ( null)),
|
|
46014
46061
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
46015
46062
|
* token counts). null until the trailing usage frame lands. */
|
|
46016
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
46063
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1113 => _1113.breakdown]), () => ( null)),
|
|
46017
46064
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
46018
46065
|
// Guide mode currently keeps its history in `localStorage` opaquely
|
|
46019
46066
|
// under the hood (`runtime.source` namespaced key). Surfacing that
|
|
@@ -46071,15 +46118,15 @@ var noopRejectRequest = async (_id, _reason) => {
|
|
|
46071
46118
|
|
|
46072
46119
|
// src/components/chat/utils/process-historical-messages.ts
|
|
46073
46120
|
function getOwnerDisplayName(owner) {
|
|
46074
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
46121
|
+
if (_optionalChain([owner, 'optionalAccess', _1114 => _1114.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
46075
46122
|
const { firstName, lastName } = owner.user;
|
|
46076
46123
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
46077
46124
|
if (name) return name;
|
|
46078
46125
|
}
|
|
46079
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
46126
|
+
return _optionalChain([owner, 'optionalAccess', _1115 => _1115.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
46080
46127
|
}
|
|
46081
46128
|
function getOwnerAvatar(owner) {
|
|
46082
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
46129
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1116 => _1116.user, 'optionalAccess', _1117 => _1117.image, 'optionalAccess', _1118 => _1118.imageUrl]), () => ( void 0));
|
|
46083
46130
|
}
|
|
46084
46131
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
46085
46132
|
messageDataArray.forEach((data) => {
|
|
@@ -46142,14 +46189,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
46142
46189
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
46143
46190
|
return;
|
|
46144
46191
|
}
|
|
46145
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
46192
|
+
const isUserMessage = _optionalChain([msg, 'access', _1119 => _1119.owner, 'optionalAccess', _1120 => _1120.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1121 => _1121.owner, 'optionalAccess', _1122 => _1122.type]) === OWNER_TYPE.ADMIN;
|
|
46146
46193
|
if (isUserMessage) {
|
|
46147
46194
|
flushAssistantMessage();
|
|
46148
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
46195
|
+
const userAuthorType = _optionalChain([msg, 'access', _1123 => _1123.owner, 'optionalAccess', _1124 => _1124.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
46149
46196
|
messageDataArray.forEach((data) => {
|
|
46150
46197
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
46151
46198
|
const rawContext = data.contextItems;
|
|
46152
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
46199
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1125 => _1125.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1126 => _1126.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
46153
46200
|
processedMessages.push({
|
|
46154
46201
|
id: msg.id,
|
|
46155
46202
|
role: "user",
|
|
@@ -46173,7 +46220,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
46173
46220
|
});
|
|
46174
46221
|
const nextMsg = messages[index + 1];
|
|
46175
46222
|
const isLastMessage = index === messages.length - 1;
|
|
46176
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
46223
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1127 => _1127.owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1129 => _1129.owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.ADMIN);
|
|
46177
46224
|
if (isLastMessage || nextIsFromUser) {
|
|
46178
46225
|
flushAssistantMessage();
|
|
46179
46226
|
}
|
|
@@ -46283,7 +46330,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
46283
46330
|
}
|
|
46284
46331
|
}
|
|
46285
46332
|
} else {
|
|
46286
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
46333
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1131 => _1131.set, 'call', _1132 => _1132(data.approvalRequestId, {
|
|
46287
46334
|
command: data.command || "",
|
|
46288
46335
|
explanation: data.explanation,
|
|
46289
46336
|
approvalType,
|
|
@@ -46297,8 +46344,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
46297
46344
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
46298
46345
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
46299
46346
|
const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
|
|
46300
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
46301
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
46347
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1133 => _1133.get, 'call', _1134 => _1134(data.approvalRequestId)]);
|
|
46348
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _1135 => _1135.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
46302
46349
|
if (batchApprovalsEnabled) {
|
|
46303
46350
|
accumulator.addApprovalBatch(
|
|
46304
46351
|
data.approvalRequestId,
|
|
@@ -46320,7 +46367,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
46320
46367
|
);
|
|
46321
46368
|
}
|
|
46322
46369
|
}
|
|
46323
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
46370
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1136 => _1136.delete, 'call', _1137 => _1137(data.approvalRequestId)]);
|
|
46324
46371
|
break;
|
|
46325
46372
|
}
|
|
46326
46373
|
if (escalatedData) {
|
|
@@ -46329,7 +46376,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
46329
46376
|
explanation: escalatedData.explanation,
|
|
46330
46377
|
approvalType: escalatedData.approvalType
|
|
46331
46378
|
});
|
|
46332
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
46379
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1138 => _1138.delete, 'call', _1139 => _1139(data.approvalRequestId)]);
|
|
46333
46380
|
}
|
|
46334
46381
|
const before = accumulator.getSegments();
|
|
46335
46382
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
|
|
@@ -46345,9 +46392,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
46345
46392
|
case MESSAGE_TYPE.ERROR:
|
|
46346
46393
|
if ("error" in data) {
|
|
46347
46394
|
let message2;
|
|
46348
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
46395
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _1140 => _1140.details])) {
|
|
46349
46396
|
try {
|
|
46350
|
-
message2 = _optionalChain([JSON, 'access',
|
|
46397
|
+
message2 = _optionalChain([JSON, 'access', _1141 => _1141.parse, 'call', _1142 => _1142(data.details), 'optionalAccess', _1143 => _1143.error, 'optionalAccess', _1144 => _1144.message]);
|
|
46351
46398
|
} catch (e59) {
|
|
46352
46399
|
message2 = data.details;
|
|
46353
46400
|
}
|
|
@@ -46430,14 +46477,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
46430
46477
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
46431
46478
|
return;
|
|
46432
46479
|
}
|
|
46433
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
46480
|
+
const isUserMessage = _optionalChain([msg, 'access', _1145 => _1145.owner, 'optionalAccess', _1146 => _1146.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1147 => _1147.owner, 'optionalAccess', _1148 => _1148.type]) === OWNER_TYPE.ADMIN;
|
|
46434
46481
|
if (isUserMessage) {
|
|
46435
46482
|
flushAssistantMessage();
|
|
46436
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
46483
|
+
const userAuthorType = _optionalChain([msg, 'access', _1149 => _1149.owner, 'optionalAccess', _1150 => _1150.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
46437
46484
|
messageDataArray.forEach((data) => {
|
|
46438
46485
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
46439
46486
|
const rawContext = data.contextItems;
|
|
46440
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
46487
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1151 => _1151.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1152 => _1152.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
46441
46488
|
processedMessages.push({
|
|
46442
46489
|
id: msg.id,
|
|
46443
46490
|
role: "user",
|
|
@@ -46461,7 +46508,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
46461
46508
|
});
|
|
46462
46509
|
const nextMsg = messages[index + 1];
|
|
46463
46510
|
const isLastMessage = index === messages.length - 1;
|
|
46464
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
46511
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1155 => _1155.owner, 'optionalAccess', _1156 => _1156.type]) === OWNER_TYPE.ADMIN);
|
|
46465
46512
|
if (isLastMessage || nextIsFromUser) {
|
|
46466
46513
|
flushAssistantMessage();
|
|
46467
46514
|
}
|
|
@@ -46797,7 +46844,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
46797
46844
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
46798
46845
|
const sendMessage = _react.useCallback.call(void 0,
|
|
46799
46846
|
async (text, sendOptions) => {
|
|
46800
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
46847
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1157 => _1157.hidden]), () => ( false));
|
|
46801
46848
|
setMessages((prev) => [
|
|
46802
46849
|
...prev,
|
|
46803
46850
|
{
|
|
@@ -46961,11 +47008,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
46961
47008
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
46962
47009
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
46963
47010
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
46964
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
46965
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
46966
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
46967
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
46968
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
47011
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1158 => _1158.provider]), () => ( modelProvider)), () => ( null)),
|
|
47012
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1159 => _1159.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
47013
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1160 => _1160.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1161 => _1161.contextWindowMaxTokens]))), () => ( null)),
|
|
47014
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1162 => _1162.inputTokensSize]), () => ( null)),
|
|
47015
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1163 => _1163.outputTokensSize]), () => ( null)),
|
|
46969
47016
|
currentCacheHitRatePct: null,
|
|
46970
47017
|
currentUsageBreakdown: null,
|
|
46971
47018
|
// Dialog management
|
|
@@ -47213,7 +47260,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
47213
47260
|
break;
|
|
47214
47261
|
case "approval_batch": {
|
|
47215
47262
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
47216
|
-
(c) => _optionalChain([segment, 'access',
|
|
47263
|
+
(c) => _optionalChain([segment, 'access', _1164 => _1164.data, 'access', _1165 => _1165.executions, 'optionalAccess', _1166 => _1166[c.toolExecutionRequestId], 'optionalAccess', _1167 => _1167.status]) === "done"
|
|
47217
47264
|
);
|
|
47218
47265
|
if (segment.status !== "rejected" && !allDone) {
|
|
47219
47266
|
hasIncompleteState = true;
|
|
@@ -47281,20 +47328,20 @@ function mergeHistoryWithRealtime(input) {
|
|
|
47281
47328
|
const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
|
|
47282
47329
|
const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
|
|
47283
47330
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
47284
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
47285
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
47331
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1168 => _1168.role]) === "assistant" ? trailing : null;
|
|
47332
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1169 => _1169.content, 'access', _1170 => _1170.find, 'call', _1171 => _1171((s) => s.type === "approval_batch"), 'optionalAccess', _1172 => _1172.data, 'optionalAccess', _1173 => _1173.approvalRequestId]), () => ( null)) : null;
|
|
47286
47333
|
let processedToUse = processedHistory;
|
|
47287
47334
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
47288
47335
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
47289
47336
|
if (historyBatchId) {
|
|
47290
47337
|
const batchTwins = existingMessages.filter(
|
|
47291
47338
|
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
|
|
47292
|
-
(s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
47339
|
+
(s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1174 => _1174.data, 'optionalAccess', _1175 => _1175.approvalRequestId]) === historyBatchId
|
|
47293
47340
|
)
|
|
47294
47341
|
);
|
|
47295
47342
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
47296
47343
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
47297
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
47344
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1176 => _1176.content])) ? historyTrailingAssistant.content.length : 0;
|
|
47298
47345
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
47299
47346
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
47300
47347
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -47310,16 +47357,16 @@ function mergeHistoryWithRealtime(input) {
|
|
|
47310
47357
|
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
47311
47358
|
if (droppedSyntheticIds.has(m.id)) return false;
|
|
47312
47359
|
if (processedIds.has(m.id)) return false;
|
|
47313
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
47360
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _1177 => _1177.has, 'call', _1178 => _1178(m.id)])) return false;
|
|
47314
47361
|
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
47315
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
47362
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1179 => _1179.timestamp, 'optionalAccess', _1180 => _1180.getTime, 'call', _1181 => _1181()]), () => ( 0))) <= historyFetchedAt;
|
|
47316
47363
|
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
47317
47364
|
}
|
|
47318
47365
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
47319
47366
|
if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
|
|
47320
47367
|
return false;
|
|
47321
47368
|
}
|
|
47322
|
-
const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
47369
|
+
const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1182 => _1182.timestamp, 'optionalAccess', _1183 => _1183.getTime, 'call', _1184 => _1184()]), () => ( 0))) <= historyFetchedAt;
|
|
47323
47370
|
if (covered) return false;
|
|
47324
47371
|
}
|
|
47325
47372
|
return true;
|
|
@@ -47539,7 +47586,7 @@ function useChatDialogManager({
|
|
|
47539
47586
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
47540
47587
|
if (restoreTarget) {
|
|
47541
47588
|
try {
|
|
47542
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
47589
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _1185 => _1185(restoreTarget.id)]);
|
|
47543
47590
|
} catch (err) {
|
|
47544
47591
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
47545
47592
|
return;
|
|
@@ -47948,7 +47995,7 @@ function EmbeddableChatInner({
|
|
|
47948
47995
|
}),
|
|
47949
47996
|
[commandsUrl]
|
|
47950
47997
|
);
|
|
47951
|
-
const userName = _optionalChain([identityUser, 'optionalAccess',
|
|
47998
|
+
const userName = _optionalChain([identityUser, 'optionalAccess', _1186 => _1186.firstName, 'optionalAccess', _1187 => _1187.trim, 'call', _1188 => _1188()]) || _optionalChain([identityUser, 'optionalAccess', _1189 => _1189.name, 'optionalAccess', _1190 => _1190.split, 'call', _1191 => _1191(" "), 'access', _1192 => _1192[0], 'optionalAccess', _1193 => _1193.trim, 'call', _1194 => _1194()]) || void 0;
|
|
47952
47999
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
47953
48000
|
if (modes) return modes;
|
|
47954
48001
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -47957,17 +48004,21 @@ function EmbeddableChatInner({
|
|
|
47957
48004
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
47958
48005
|
if (mingoState) {
|
|
47959
48006
|
return {
|
|
47960
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
47961
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
47962
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
47963
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
48007
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1195 => _1195.canRename]), () => ( false)),
|
|
48008
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1196 => _1196.canArchive]), () => ( false)),
|
|
48009
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1197 => _1197.fetchArchivedDialogs]),
|
|
48010
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1198 => _1198.unarchiveDialog]),
|
|
48011
|
+
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1199 => _1199.searchQuery]),
|
|
48012
|
+
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1200 => _1200.onSearchChange])
|
|
47964
48013
|
};
|
|
47965
48014
|
}
|
|
47966
48015
|
return {
|
|
47967
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
47968
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
47969
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
47970
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
48016
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _1201 => _1201.mingo, 'optionalAccess', _1202 => _1202.renameDialog]),
|
|
48017
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _1203 => _1203.mingo, 'optionalAccess', _1204 => _1204.archiveDialog]),
|
|
48018
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1205 => _1205.mingo, 'optionalAccess', _1206 => _1206.fetchArchivedDialogs]),
|
|
48019
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _1207 => _1207.mingo, 'optionalAccess', _1208 => _1208.unarchiveDialog]),
|
|
48020
|
+
searchQuery: void 0,
|
|
48021
|
+
onSearchChange: void 0
|
|
47971
48022
|
};
|
|
47972
48023
|
}, [mingoState, mingoDialogCapabilities, effectiveModes]);
|
|
47973
48024
|
const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
|
|
@@ -47979,7 +48030,7 @@ function EmbeddableChatInner({
|
|
|
47979
48030
|
if (controlledActiveMode === void 0) {
|
|
47980
48031
|
setUncontrolledActiveMode(next);
|
|
47981
48032
|
}
|
|
47982
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
48033
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _1209 => _1209(next)]);
|
|
47983
48034
|
},
|
|
47984
48035
|
[controlledActiveMode, onActiveModeChange]
|
|
47985
48036
|
);
|
|
@@ -48033,7 +48084,7 @@ function EmbeddableChatInner({
|
|
|
48033
48084
|
clear: clearAttachments
|
|
48034
48085
|
} = useChatAttachments();
|
|
48035
48086
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
48036
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
48087
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1210 => _1210.maxItems]), () => ( 10));
|
|
48037
48088
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
48038
48089
|
const [contextItems, setContextItems] = _react.useState.call(void 0, []);
|
|
48039
48090
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -48050,10 +48101,10 @@ function EmbeddableChatInner({
|
|
|
48050
48101
|
}, [activeDialogId, activeMode]);
|
|
48051
48102
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
48052
48103
|
const m = /* @__PURE__ */ new Map();
|
|
48053
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
48104
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1211 => _1211.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
48054
48105
|
return m;
|
|
48055
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
48056
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
48106
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _1212 => _1212.entityTypes])]);
|
|
48107
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1213 => _1213.entityTypes]);
|
|
48057
48108
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
48058
48109
|
const byType = /* @__PURE__ */ new Map();
|
|
48059
48110
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -48065,7 +48116,7 @@ function EmbeddableChatInner({
|
|
|
48065
48116
|
if (mentionActiveRef.current) {
|
|
48066
48117
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
48067
48118
|
if (contextItems.length >= contextMaxItems) return;
|
|
48068
|
-
_optionalChain([chatInputRef, 'access',
|
|
48119
|
+
_optionalChain([chatInputRef, 'access', _1214 => _1214.current, 'optionalAccess', _1215 => _1215.commitMention, 'call', _1216 => _1216(mentionTokenOf(key, mentionMarkerByType), {
|
|
48069
48120
|
label: item.label,
|
|
48070
48121
|
icon: resolveContextIcon(item)
|
|
48071
48122
|
})]);
|
|
@@ -48087,9 +48138,9 @@ function EmbeddableChatInner({
|
|
|
48087
48138
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
48088
48139
|
if (mentionKeysRef.current.has(key)) {
|
|
48089
48140
|
mentionKeysRef.current.delete(key);
|
|
48090
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
48141
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1217 => _1217.current, 'optionalAccess', _1218 => _1218.getValue, 'call', _1219 => _1219()]), () => ( ""));
|
|
48091
48142
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
48092
|
-
_optionalChain([chatInputRef, 'access',
|
|
48143
|
+
_optionalChain([chatInputRef, 'access', _1220 => _1220.current, 'optionalAccess', _1221 => _1221.setValue, 'call', _1222 => _1222(next)]);
|
|
48093
48144
|
}
|
|
48094
48145
|
}, [mentionMarkerByType]);
|
|
48095
48146
|
const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
|
|
@@ -48106,7 +48157,7 @@ function EmbeddableChatInner({
|
|
|
48106
48157
|
}, []);
|
|
48107
48158
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
48108
48159
|
if (mentionActiveRef.current) {
|
|
48109
|
-
_optionalChain([chatInputRef, 'access',
|
|
48160
|
+
_optionalChain([chatInputRef, 'access', _1223 => _1223.current, 'optionalAccess', _1224 => _1224.removeMentionTrigger, 'call', _1225 => _1225()]);
|
|
48110
48161
|
}
|
|
48111
48162
|
setContextPickerOpen(false);
|
|
48112
48163
|
setMentionQuery(null);
|
|
@@ -48140,8 +48191,8 @@ function EmbeddableChatInner({
|
|
|
48140
48191
|
[]
|
|
48141
48192
|
);
|
|
48142
48193
|
const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
48143
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
48144
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
48194
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1226 => _1226.firstName]), _optionalChain([identityUser, 'optionalAccess', _1227 => _1227.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1228 => _1228.name, 'optionalAccess', _1229 => _1229.trim, 'call', _1230 => _1230()]) || void 0 : void 0;
|
|
48195
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1231 => _1231.avatarUrl, 'optionalAccess', _1232 => _1232.trim, 'call', _1233 => _1233()]) || void 0 : void 0;
|
|
48145
48196
|
const messages = _react.useMemo.call(void 0, () => {
|
|
48146
48197
|
const cache = timestampCacheRef.current;
|
|
48147
48198
|
const seenIds = /* @__PURE__ */ new Set();
|
|
@@ -48289,9 +48340,9 @@ function EmbeddableChatInner({
|
|
|
48289
48340
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
48290
48341
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
48291
48342
|
if (chatLoading) return void 0;
|
|
48292
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
48343
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1234 => _1234.sources]);
|
|
48293
48344
|
if (!sources || sources.length === 0) return void 0;
|
|
48294
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
48345
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1235 => _1235.content]) || "";
|
|
48295
48346
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
|
|
48296
48347
|
(m) => parseInt(m[1], 10)
|
|
48297
48348
|
);
|
|
@@ -48338,7 +48389,7 @@ function EmbeddableChatInner({
|
|
|
48338
48389
|
ChatPanelHeader,
|
|
48339
48390
|
{
|
|
48340
48391
|
showBack: hasConversation || guideCanReturnToMingo,
|
|
48341
|
-
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
48392
|
+
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1236 => _1236.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
|
|
48342
48393
|
backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
|
|
48343
48394
|
isArchivedView: isViewingArchived,
|
|
48344
48395
|
onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
|
|
@@ -48420,20 +48471,30 @@ function EmbeddableChatInner({
|
|
|
48420
48471
|
isLoadingHistory: dialogsInitialLoading,
|
|
48421
48472
|
loadError: dialogsLoadError,
|
|
48422
48473
|
onRetry: reloadDialogs,
|
|
48423
|
-
|
|
48424
|
-
|
|
48425
|
-
|
|
48426
|
-
|
|
48427
|
-
|
|
48428
|
-
|
|
48429
|
-
|
|
48430
|
-
|
|
48431
|
-
|
|
48432
|
-
|
|
48433
|
-
|
|
48474
|
+
historySearchable: !!mingoCaps.onSearchChange,
|
|
48475
|
+
dialogHistory: (
|
|
48476
|
+
// Keep the history (and its search bar) mounted during an
|
|
48477
|
+
// active search even at 0 results — otherwise a no-match
|
|
48478
|
+
// query would unmount the bar and flash the new-user
|
|
48479
|
+
// greeting. `MingoWelcome` renders `dialogHistory` with top
|
|
48480
|
+
// priority, so this wins over the greeting.
|
|
48481
|
+
dialogs.length > 0 || !!mingoCaps.searchQuery ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
48482
|
+
MingoChatHistory,
|
|
48483
|
+
{
|
|
48484
|
+
dialogs,
|
|
48485
|
+
onSelectDialog: handleSelectDialog,
|
|
48486
|
+
onRequestRename: mingoCaps.canRename ? setRenameTarget : void 0,
|
|
48487
|
+
onRequestArchive: mingoCaps.canArchive ? setArchiveTarget : void 0,
|
|
48488
|
+
searchQuery: mingoCaps.searchQuery,
|
|
48489
|
+
onSearchChange: mingoCaps.onSearchChange,
|
|
48490
|
+
hasMore: hasMoreDialogs,
|
|
48491
|
+
isLoadingMore: isDialogsLoading && dialogs.length > 0,
|
|
48492
|
+
onLoadMore: () => {
|
|
48493
|
+
void loadMoreDialogs();
|
|
48494
|
+
}
|
|
48434
48495
|
}
|
|
48435
|
-
|
|
48436
|
-
)
|
|
48496
|
+
) : void 0
|
|
48497
|
+
)
|
|
48437
48498
|
}
|
|
48438
48499
|
)
|
|
48439
48500
|
) : (
|
|
@@ -48446,7 +48507,7 @@ function EmbeddableChatInner({
|
|
|
48446
48507
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
48447
48508
|
subtitleLoading: emptyStateLoading,
|
|
48448
48509
|
...guideWelcome,
|
|
48449
|
-
quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
48510
|
+
quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1237 => _1237.quickActions]), () => ( guideSuggestedActions)),
|
|
48450
48511
|
onQuickAction: (action) => {
|
|
48451
48512
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
48452
48513
|
},
|
|
@@ -49516,4 +49577,4 @@ function EmbeddableChatInner({
|
|
|
49516
49577
|
|
|
49517
49578
|
|
|
49518
49579
|
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ONBOARDING_ICONS = ONBOARDING_ICONS; exports.resolveOnboardingIcon = resolveOnboardingIcon; exports.ONBOARDING_ICON_OPTIONS = ONBOARDING_ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
49519
|
-
//# sourceMappingURL=chunk-
|
|
49580
|
+
//# sourceMappingURL=chunk-GLKQDTCI.cjs.map
|