@flamingo-stack/openframe-frontend-core 0.0.841 → 0.0.843
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/export-map.json +1 -1
- package/dist/{case-study-card-TK7ZCNLM.cjs → case-study-card-VN3JBNF5.cjs} +3 -3
- package/dist/{chunk-RSJYTQEA.cjs → chunk-23DVVS4I.cjs} +104 -104
- package/dist/{chunk-IELPVUPR.cjs → chunk-2H5D2PUC.cjs} +23 -23
- package/dist/{chunk-275AQ6LC.cjs → chunk-2JZFXGHE.cjs} +4 -4
- package/dist/{chunk-DYDQLS2R.cjs → chunk-2WGA2IRN.cjs} +370 -298
- package/dist/{chunk-VBH2RCFM.cjs → chunk-3IXW2EKO.cjs} +78 -78
- package/dist/{chunk-DGY5KEPY.cjs → chunk-4ASUUB3A.cjs} +83 -83
- package/dist/{chunk-WCOSGDGA.cjs → chunk-4R4HAFXI.cjs} +2 -2
- package/dist/{chunk-INBFKUZA.cjs → chunk-5CPEMPNP.cjs} +15 -15
- package/dist/{chunk-CCRXBFNL.cjs → chunk-6HFTSVVC.cjs} +8 -8
- package/dist/{chunk-FHI4I3TQ.cjs → chunk-6M764K5Z.cjs} +12 -12
- package/dist/{chunk-SOCCHWDK.cjs → chunk-BHOVF4KP.cjs} +2 -2
- package/dist/{chunk-WVNUCKB7.cjs → chunk-CNMXP77I.cjs} +4 -4
- package/dist/{chunk-HXTZZE3R.cjs → chunk-DUB2UVYS.cjs} +61 -72
- package/dist/{chunk-TD4CC4KV.cjs → chunk-EUEPGHY4.cjs} +6 -6
- package/dist/{chunk-Q6WUHYOG.cjs → chunk-HLMA6CDT.cjs} +85 -85
- package/dist/{chunk-ZAO5SYBJ.cjs → chunk-MWQOM2EI.cjs} +4 -4
- package/dist/{chunk-WI7EXAZT.cjs → chunk-NMLNZCK2.cjs} +2 -2
- package/dist/{chunk-GUKFMMDZ.cjs → chunk-OGINOWMT.cjs} +3 -3
- package/dist/{chunk-APNONOHY.cjs → chunk-PZNWIJRZ.cjs} +13 -10
- package/dist/{chunk-GMK4JGC2.cjs → chunk-QBZ73IK7.cjs} +44 -44
- package/dist/{chunk-Z35PL3UR.cjs → chunk-QJRZVIQP.cjs} +34 -34
- package/dist/{chunk-SMZWXY4X.cjs → chunk-QKZQ5Q6E.cjs} +6 -1
- package/dist/{chunk-MYAPG3FQ.cjs → chunk-QPJUQ5YU.cjs} +21 -21
- package/dist/{chunk-JUEAZCD6.cjs → chunk-RSZZTB5T.cjs} +54 -54
- package/dist/{chunk-7WKRMJI6.cjs → chunk-SC36S7DJ.cjs} +2 -2
- package/dist/{chunk-AT6D7BAZ.cjs → chunk-SOQVKIWM.cjs} +3 -3
- package/dist/{chunk-UZPYYHF5.cjs → chunk-SOTTMZ6U.cjs} +19 -19
- package/dist/{chunk-E7M54JWW.cjs → chunk-SSSI2RBV.cjs} +14 -14
- package/dist/{chunk-EV6BPF47.cjs → chunk-WPMJUYW3.cjs} +143 -143
- package/dist/{chunk-FRL2ZN4O.cjs → chunk-XCVH5BCZ.cjs} +6 -6
- package/dist/{chunk-JM2XA7VY.cjs → chunk-ZXEWBJUE.cjs} +15 -15
- package/dist/{cloud-tenants-PV63RZ73.cjs → cloud-tenants-VPYROTKH.cjs} +11 -11
- package/dist/components/case-studies/index.cjs +26 -26
- package/dist/components/chat/index.cjs +8 -8
- package/dist/components/contact/index.cjs +12 -12
- package/dist/components/docs/index.cjs +15 -15
- package/dist/components/embeds/index.cjs +12 -12
- package/dist/components/faq/index.cjs +13 -13
- package/dist/components/features/devices/device-unread-indicator.d.ts +6 -0
- package/dist/components/features/devices/device-unread-indicator.d.ts.map +1 -0
- package/dist/components/features/devices/device-unread-indicator.js +12 -0
- package/dist/components/features/devices/devices-grid.d.ts.map +1 -1
- package/dist/components/features/devices/devices-grid.js +5 -1
- package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -1
- package/dist/components/features/devices/devices-table-columns.js +3 -1
- package/dist/components/features/devices/devices-view-config.d.ts +6 -4
- package/dist/components/features/devices/devices-view-config.d.ts.map +1 -1
- package/dist/components/features/devices/index.d.ts +1 -0
- package/dist/components/features/devices/index.d.ts.map +1 -1
- package/dist/components/features/devices/index.js +2 -0
- package/dist/components/features/devices/types.d.ts +2 -0
- package/dist/components/features/devices/types.d.ts.map +1 -1
- package/dist/components/features/index.cjs +13 -11
- package/dist/components/help-center-pages/index.cjs +105 -105
- package/dist/components/index.cjs +73 -65
- package/dist/components/meeting-scheduler/index.cjs +50 -50
- package/dist/components/navigation/count-pill.d.ts +10 -0
- package/dist/components/navigation/count-pill.d.ts.map +1 -0
- package/dist/components/navigation/count-pill.js +18 -0
- package/dist/components/navigation/index.cjs +20 -14
- package/dist/components/navigation/index.d.ts +4 -0
- package/dist/components/navigation/index.d.ts.map +1 -1
- package/dist/components/navigation/index.js +5 -0
- package/dist/components/navigation/navigation-sidebar-grouped.d.ts.map +1 -1
- package/dist/components/navigation/navigation-sidebar-grouped.js +1 -12
- package/dist/components/navigation/unread-notifications-indicator.d.ts +19 -0
- package/dist/components/navigation/unread-notifications-indicator.d.ts.map +1 -0
- package/dist/components/navigation/unread-notifications-indicator.js +45 -0
- package/dist/components/onboarding-guides/index.cjs +14 -14
- package/dist/components/product-demo/fixtures/devices.d.ts.map +1 -1
- package/dist/components/product-demo/fixtures/devices.js +6 -1
- package/dist/components/product-demo/index.cjs +20 -20
- package/dist/components/related-content/index.cjs +7 -7
- package/dist/components/tickets/index.cjs +18 -18
- package/dist/components/ui/index.cjs +11 -11
- package/dist/{devices-VECG5JNC.cjs → devices-W76BAABE.cjs} +14 -14
- package/dist/{embeddable-chat-VRYAQQF6.cjs → embeddable-chat-C6DUH2JL.cjs} +78 -78
- package/dist/hooks/index.cjs +4 -4
- package/dist/index.cjs +23 -15
- package/dist/{knowledge-YJSDJIXT.cjs → knowledge-ILAIWOSY.cjs} +12 -12
- package/dist/{logs-42JG3NZ5.cjs → logs-VCPRFJGB.cjs} +18 -18
- package/dist/platform-domains.cjs +14 -10
- package/dist/platform-domains.d.ts +12 -7
- package/dist/platform-domains.d.ts.map +1 -1
- package/dist/platform-domains.js +14 -10
- package/dist/{policies-D4QNVJ26.cjs → policies-3BNAW4M5.cjs} +15 -15
- package/dist/{scripts-4VFYBXBE.cjs → scripts-VFFSJDYV.cjs} +16 -16
- package/dist/{software-update-OSDZQ5CP.cjs → software-update-VTBTLCZO.cjs} +16 -16
- package/dist/utils/index.cjs +13 -10
- package/package.json +1 -1
- package/src/components/features/devices/device-unread-indicator.tsx +14 -0
- package/src/components/features/devices/devices-grid.tsx +9 -1
- package/src/components/features/devices/devices-table-columns.tsx +3 -0
- package/src/components/features/devices/devices-view-config.tsx +6 -4
- package/src/components/features/devices/index.ts +1 -0
- package/src/components/features/devices/types.ts +2 -0
- package/src/components/navigation/count-pill.tsx +25 -0
- package/src/components/navigation/index.ts +4 -0
- package/src/components/navigation/navigation-sidebar-grouped.tsx +1 -14
- package/src/components/navigation/unread-notifications-indicator.tsx +69 -0
- package/src/components/product-demo/fixtures/devices.ts +7 -0
- package/src/platform-domains.ts +28 -20
|
@@ -5,12 +5,12 @@ var _chunkFDZOE5TLcjs = require('./chunk-FDZOE5TL.cjs');
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunk2WGA2IRNcjs = require('./chunk-2WGA2IRN.cjs');
|
|
9
9
|
|
|
10
10
|
// src/components/product-demo/screens/devices-view.tsx
|
|
11
11
|
var _jsxruntime = require('react/jsx-runtime');
|
|
12
12
|
var DEVICES_SEARCH_QUERY = "Windows";
|
|
13
|
-
var TOOLBAR = { ...
|
|
13
|
+
var TOOLBAR = { ..._chunk2WGA2IRNcjs.IDLE_DEVICES_TOOLBAR, searchValue: DEVICES_SEARCH_QUERY };
|
|
14
14
|
var NO_HEADER = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, {});
|
|
15
15
|
var HIDDEN_WHEN_COMPACT = ["organization"];
|
|
16
16
|
var NO_DEVICES = [];
|
|
@@ -22,7 +22,7 @@ function DevicesScreenView({
|
|
|
22
22
|
loading = false
|
|
23
23
|
}) {
|
|
24
24
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25
|
-
|
|
25
|
+
_chunk2WGA2IRNcjs.DevicesPanelView,
|
|
26
26
|
{
|
|
27
27
|
className: "p-[var(--spacing-system-l)]",
|
|
28
28
|
headerSlot: NO_HEADER,
|
|
@@ -251,16 +251,7 @@ function getPlatformByHostname(hostname) {
|
|
|
251
251
|
function isPreviewHost(hostname) {
|
|
252
252
|
return hostname.endsWith(".vercel.app");
|
|
253
253
|
}
|
|
254
|
-
function
|
|
255
|
-
if (typeof window === "undefined") return [];
|
|
256
|
-
const hostname = window.location.hostname;
|
|
257
|
-
if (hostname === "localhost" || hostname === "127.0.0.1" || hostname.startsWith("127.")) {
|
|
258
|
-
return [];
|
|
259
|
-
}
|
|
260
|
-
const previewEnv = process.env.VERCEL_ENV === "preview" || process.env.NEXT_PUBLIC_VERCEL_ENV === "preview" || isPreviewHost(hostname);
|
|
261
|
-
if (previewEnv) {
|
|
262
|
-
return [".vercel.app", "vercel.app"];
|
|
263
|
-
}
|
|
254
|
+
function getPlatformBaseDomains() {
|
|
264
255
|
const baseDomains = /* @__PURE__ */ new Set();
|
|
265
256
|
for (const entry of PLATFORM_DOMAINS) {
|
|
266
257
|
if (entry.pseudo) continue;
|
|
@@ -274,6 +265,18 @@ function getAllPlatformBaseDomains() {
|
|
|
274
265
|
}
|
|
275
266
|
return Array.from(baseDomains);
|
|
276
267
|
}
|
|
268
|
+
function getAllPlatformBaseDomains() {
|
|
269
|
+
if (typeof window === "undefined") return [];
|
|
270
|
+
const hostname = window.location.hostname;
|
|
271
|
+
if (hostname === "localhost" || hostname === "127.0.0.1" || hostname.startsWith("127.")) {
|
|
272
|
+
return [];
|
|
273
|
+
}
|
|
274
|
+
const previewEnv = process.env.VERCEL_ENV === "preview" || process.env.NEXT_PUBLIC_VERCEL_ENV === "preview" || isPreviewHost(hostname);
|
|
275
|
+
if (previewEnv) {
|
|
276
|
+
return [".vercel.app", "vercel.app"];
|
|
277
|
+
}
|
|
278
|
+
return getPlatformBaseDomains();
|
|
279
|
+
}
|
|
277
280
|
var _orderIdx = (k) => PLATFORM_DOMAINS.findIndex((e) => e.key === k);
|
|
278
281
|
if (_orderIdx("flamingo") > _orderIdx("universal") || getPlatformByHostname("flamingo.cx") !== "flamingo" || getPlatformByHostname("hub.openframe.ai") !== "openframe") {
|
|
279
282
|
console.error(
|
|
@@ -3,24 +3,24 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkSOQVKIWMcjs = require('./chunk-SOQVKIWM.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunk5CPEMPNPcjs = require('./chunk-5CPEMPNP.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunk6M764K5Zcjs = require('./chunk-6M764K5Z.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunk2WGA2IRNcjs = require('./chunk-2WGA2IRN.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
var _chunkWCK5T3UDcjs = require('./chunk-WCK5T3UD.cjs');
|
|
@@ -29,18 +29,18 @@ var _chunkWCK5T3UDcjs = require('./chunk-WCK5T3UD.cjs');
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chunk4ASUUB3Acjs = require('./chunk-4ASUUB3A.cjs');
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _chunkWPMJUYW3cjs = require('./chunk-WPMJUYW3.cjs');
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
|
-
var
|
|
43
|
+
var _chunkXCVH5BCZcjs = require('./chunk-XCVH5BCZ.cjs');
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
@@ -251,9 +251,9 @@ function useDocsResolveLink(sourceId, resolveLinkEndpoint) {
|
|
|
251
251
|
function scrollToContent() {
|
|
252
252
|
const article = document.querySelector("article");
|
|
253
253
|
if (article) {
|
|
254
|
-
|
|
254
|
+
_chunkXCVH5BCZcjs.scrollElementIntoView.call(void 0, article, { headerOffset: _chunkXCVH5BCZcjs.HUB_HEADER_OFFSET_PX });
|
|
255
255
|
} else {
|
|
256
|
-
|
|
256
|
+
_chunkXCVH5BCZcjs.scrollElementIntoView.call(void 0, document.documentElement);
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
259
|
function findFirstDocPath(folder) {
|
|
@@ -354,13 +354,13 @@ function toDocContent(value, requestedPath) {
|
|
|
354
354
|
function toDataSync(value) {
|
|
355
355
|
if (!isRecord(value)) return void 0;
|
|
356
356
|
const source = readString(value, "source");
|
|
357
|
-
if (!
|
|
357
|
+
if (!_chunk2WGA2IRNcjs.isDataSyncSource.call(void 0, source)) return void 0;
|
|
358
358
|
return { source, syncedAt: _nullishCoalesce(readString(value, "syncedAt"), () => ( null)) };
|
|
359
359
|
}
|
|
360
360
|
function useDocumentTree(config, initialPath) {
|
|
361
361
|
const { structureEndpoint, contentEndpoint, baseRoute } = config;
|
|
362
|
-
const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => (
|
|
363
|
-
const cleanInitialPath =
|
|
362
|
+
const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunk4ASUUB3Acjs.DEFAULT_FOLDER_INDEX_FILE));
|
|
363
|
+
const cleanInitialPath = _chunk4ASUUB3Acjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
|
|
364
364
|
const [structure, setStructure] = _react.useState.call(void 0, []);
|
|
365
365
|
const [selectedPath, setSelectedPath] = _react.useState.call(void 0, cleanInitialPath);
|
|
366
366
|
const [content, setContent] = _react.useState.call(void 0, null);
|
|
@@ -386,12 +386,12 @@ function useDocumentTree(config, initialPath) {
|
|
|
386
386
|
} else if (pathname.startsWith(`${normalizedBaseRoute}/`)) {
|
|
387
387
|
pathFromUrl = pathname.substring(`${normalizedBaseRoute}/`.length);
|
|
388
388
|
}
|
|
389
|
-
pathFromUrl =
|
|
389
|
+
pathFromUrl = _chunk4ASUUB3Acjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
|
|
390
390
|
if (pathFromUrl !== selectedPathRef.current) {
|
|
391
391
|
setSelectedPath(pathFromUrl);
|
|
392
392
|
if (pathFromUrl) {
|
|
393
393
|
const parentPath = pathFromUrl.includes("/") ? pathFromUrl.substring(0, pathFromUrl.lastIndexOf("/")) : pathFromUrl;
|
|
394
|
-
setExpandedNodes(new Set(
|
|
394
|
+
setExpandedNodes(new Set(_chunk4ASUUB3Acjs.getDocAncestorNodeIds.call(void 0, parentPath)));
|
|
395
395
|
}
|
|
396
396
|
setTimeout(() => {
|
|
397
397
|
scrollToContent();
|
|
@@ -409,7 +409,7 @@ function useDocumentTree(config, initialPath) {
|
|
|
409
409
|
setSelectedPath(cleanInitialPath);
|
|
410
410
|
if (cleanInitialPath) {
|
|
411
411
|
const parentPath = cleanInitialPath.includes("/") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
|
|
412
|
-
setExpandedNodes(new Set(
|
|
412
|
+
setExpandedNodes(new Set(_chunk4ASUUB3Acjs.getDocAncestorNodeIds.call(void 0, parentPath)));
|
|
413
413
|
}
|
|
414
414
|
setExternalNavCount((n) => n + 1);
|
|
415
415
|
}
|
|
@@ -434,7 +434,7 @@ function useDocumentTree(config, initialPath) {
|
|
|
434
434
|
if (cleanInitialPath) {
|
|
435
435
|
const pathForExpansion = cleanInitialPath.includes(".") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
|
|
436
436
|
if (pathForExpansion) {
|
|
437
|
-
setExpandedNodes(new Set(
|
|
437
|
+
setExpandedNodes(new Set(_chunk4ASUUB3Acjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
|
|
438
438
|
}
|
|
439
439
|
} else if (nodes.length > 0) {
|
|
440
440
|
const hasRootReadme = nodes.some((node) => node.type === "file" && node.path === folderIndexFile);
|
|
@@ -474,7 +474,7 @@ function useDocumentTree(config, initialPath) {
|
|
|
474
474
|
setContent(null);
|
|
475
475
|
return;
|
|
476
476
|
}
|
|
477
|
-
const probe =
|
|
477
|
+
const probe = _chunk4ASUUB3Acjs.findDocNodeByPath.call(void 0, _chunk4ASUUB3Acjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
|
|
478
478
|
const probeIsNoReadmeFolder = !!probe && probe.type === "folder" && !probe.hasReadme;
|
|
479
479
|
const preStructureFolderLike = structure.length === 0 && !path.endsWith(".md");
|
|
480
480
|
if (probeIsNoReadmeFolder || preStructureFolderLike) {
|
|
@@ -533,7 +533,7 @@ function useDocumentTree(config, initialPath) {
|
|
|
533
533
|
if (selectedPath === "") {
|
|
534
534
|
pathToFetch = folderIndexFile;
|
|
535
535
|
} else {
|
|
536
|
-
const node =
|
|
536
|
+
const node = _chunk4ASUUB3Acjs.findDocNodeByPath.call(void 0, selectedPath, structure);
|
|
537
537
|
if (node && node.type === "folder" && !node.hasReadme) {
|
|
538
538
|
const firstDocPath = findFirstDocPath(node);
|
|
539
539
|
if (!firstDocPath) {
|
|
@@ -574,16 +574,16 @@ function useDocumentTree(config, initialPath) {
|
|
|
574
574
|
if (node.type === "folder") {
|
|
575
575
|
setExpandedNodes((prev) => {
|
|
576
576
|
if (prev.has(node.id)) {
|
|
577
|
-
const ancestorIds =
|
|
577
|
+
const ancestorIds = _chunk4ASUUB3Acjs.getDocAncestorNodeIds.call(void 0, node.path);
|
|
578
578
|
ancestorIds.pop();
|
|
579
579
|
return new Set(ancestorIds);
|
|
580
580
|
}
|
|
581
|
-
return new Set(
|
|
581
|
+
return new Set(_chunk4ASUUB3Acjs.getDocAncestorNodeIds.call(void 0, node.path));
|
|
582
582
|
});
|
|
583
583
|
} else {
|
|
584
584
|
const lastSlash = node.path.lastIndexOf("/");
|
|
585
585
|
if (lastSlash > 0) {
|
|
586
|
-
setExpandedNodes(new Set(
|
|
586
|
+
setExpandedNodes(new Set(_chunk4ASUUB3Acjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
|
|
587
587
|
}
|
|
588
588
|
}
|
|
589
589
|
lastFetchedPath.current = null;
|
|
@@ -598,9 +598,9 @@ function useDocumentTree(config, initialPath) {
|
|
|
598
598
|
const hashIndex = path.indexOf("#");
|
|
599
599
|
const anchor = hashIndex !== -1 ? path.substring(hashIndex) : "";
|
|
600
600
|
const cleanPath = path.replace(/\/$/, "").split("#")[0];
|
|
601
|
-
const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current :
|
|
601
|
+
const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunk4ASUUB3Acjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
|
|
602
602
|
if (anchor && _optionalChain([options, 'optionalAccess', _7 => _7.fromInternalLink]) && pathForSelection === selectedPathRef.current) {
|
|
603
|
-
|
|
603
|
+
_chunkXCVH5BCZcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkXCVH5BCZcjs.HUB_HEADER_OFFSET_PX });
|
|
604
604
|
return;
|
|
605
605
|
}
|
|
606
606
|
const scrollAfterNav = () => {
|
|
@@ -608,7 +608,7 @@ function useDocumentTree(config, initialPath) {
|
|
|
608
608
|
setTimeout(() => {
|
|
609
609
|
const el = document.getElementById(anchor.substring(1));
|
|
610
610
|
if (el) {
|
|
611
|
-
|
|
611
|
+
_chunkXCVH5BCZcjs.scrollElementIntoView.call(void 0, el, { headerOffset: _chunkXCVH5BCZcjs.HUB_HEADER_OFFSET_PX });
|
|
612
612
|
} else {
|
|
613
613
|
scrollToContent();
|
|
614
614
|
}
|
|
@@ -662,15 +662,15 @@ function useDocumentTree(config, initialPath) {
|
|
|
662
662
|
return docNavigation.register({
|
|
663
663
|
baseRoute: normalizedBaseRoute,
|
|
664
664
|
findNodeByPath: (path) => {
|
|
665
|
-
const clean =
|
|
666
|
-
return _nullishCoalesce(
|
|
665
|
+
const clean = _chunk4ASUUB3Acjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
|
|
666
|
+
return _nullishCoalesce(_chunk4ASUUB3Acjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
|
|
667
667
|
},
|
|
668
668
|
selectNode
|
|
669
669
|
});
|
|
670
670
|
}, [docNavigation, normalizedBaseRoute, structure, selectNode, folderIndexFile]);
|
|
671
671
|
const isEmptyFolder = _react.useMemo.call(void 0, () => {
|
|
672
672
|
if (!selectedPath || structure.length === 0) return false;
|
|
673
|
-
const node =
|
|
673
|
+
const node = _chunk4ASUUB3Acjs.findDocNodeByPath.call(void 0, selectedPath, structure);
|
|
674
674
|
return !!node && node.type === "folder" && !node.hasReadme && !findFirstDocPath(node);
|
|
675
675
|
}, [selectedPath, structure]);
|
|
676
676
|
return {
|
|
@@ -753,14 +753,14 @@ function DocViewerContent({
|
|
|
753
753
|
},
|
|
754
754
|
docPath
|
|
755
755
|
);
|
|
756
|
-
const { activeSection, handleSectionClick } =
|
|
756
|
+
const { activeSection, handleSectionClick } = _chunk5CPEMPNPcjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
|
|
757
757
|
const docNav = useDocNavigation();
|
|
758
758
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
759
759
|
const backCfg = backButton === false ? null : {
|
|
760
760
|
label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _12 => _12.label]), () => ( "Back to home")),
|
|
761
761
|
onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _13 => _13.href]), () => ( "/")))
|
|
762
762
|
};
|
|
763
|
-
const docSearch =
|
|
763
|
+
const docSearch = _chunk6M764K5Zcjs.useDocSearch.call(void 0, {
|
|
764
764
|
source: chatSource,
|
|
765
765
|
baseRoute,
|
|
766
766
|
searchEndpoint,
|
|
@@ -784,7 +784,7 @@ function DocViewerContent({
|
|
|
784
784
|
onResolveLink: resolveLink
|
|
785
785
|
});
|
|
786
786
|
}, [content, renderContent, navigateToDoc, sourceId, resolveLink]);
|
|
787
|
-
const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([
|
|
787
|
+
const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunk4ASUUB3Acjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
|
|
788
788
|
const activeDocType = _nullishCoalesce(_optionalChain([content, 'optionalAccess', _15 => _15.documentType]), () => ( selectedNodeDocType));
|
|
789
789
|
const isMarkdownContent = !activeDocType || activeDocType === "markdown";
|
|
790
790
|
const showStickyNav = isMarkdownContent;
|
|
@@ -796,9 +796,9 @@ function DocViewerContent({
|
|
|
796
796
|
const defaultEmptyText = structure.length > 0 ? "Select a document from the sidebar to view" : "No documents yet. Add content from the admin panel.";
|
|
797
797
|
const resolvedEmptyText = emptyStateText || defaultEmptyText;
|
|
798
798
|
const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.PageLayout, { title, subtitle, titleSize: "h1", titleWrap: true, backButton: _nullishCoalesce(backCfg, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-10", children: [
|
|
799
|
-
synced && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
799
|
+
synced && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2WGA2IRNcjs.DataSyncLine, { sync: _optionalChain([content, 'optionalAccess', _19 => _19.sync]), loading: !content && (isLoadingContent || isLoadingStructure) }),
|
|
800
800
|
showAIChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
801
|
-
|
|
801
|
+
_chunk6M764K5Zcjs.DocSearchBar,
|
|
802
802
|
{
|
|
803
803
|
placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _20 => _20.toLowerCase, 'call', _21 => _21()]) || "documents"}...`,
|
|
804
804
|
query: docSearch.query,
|
|
@@ -819,7 +819,7 @@ function DocViewerContent({
|
|
|
819
819
|
!error && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-start gap-6 content-lg:flex-row content-lg:gap-10", children: [
|
|
820
820
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full content-lg:w-[320px] content-lg:shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "content-lg:sticky content-lg:top-20", children: [
|
|
821
821
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentMobileDropdown, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
822
|
-
|
|
822
|
+
_chunk5CPEMPNPcjs.MobileNavigationDropdown,
|
|
823
823
|
{
|
|
824
824
|
nodes: structure,
|
|
825
825
|
selectedPath,
|
|
@@ -833,7 +833,7 @@ function DocViewerContent({
|
|
|
833
833
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentSidebar, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden content-lg:block", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
834
834
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: sidebarLabel }),
|
|
835
835
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
836
|
-
|
|
836
|
+
_chunk5CPEMPNPcjs.MultiLevelNavigation,
|
|
837
837
|
{
|
|
838
838
|
nodes: structure,
|
|
839
839
|
selectedPath,
|
|
@@ -872,7 +872,7 @@ function DocViewerContent({
|
|
|
872
872
|
showStickyNav && content && stickyNavSections.length > 0 && !isLoadingContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden content-lg:block", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "sticky top-24", children: [
|
|
873
873
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: ON_THIS_PAGE_HEADING_CLASS, children: ON_THIS_PAGE_LABEL }),
|
|
874
874
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
875
|
-
|
|
875
|
+
_chunk5CPEMPNPcjs.StickySectionNav,
|
|
876
876
|
{
|
|
877
877
|
sections: stickyNavSections,
|
|
878
878
|
activeSection,
|
|
@@ -887,7 +887,7 @@ function DocViewerContent({
|
|
|
887
887
|
) })
|
|
888
888
|
] })
|
|
889
889
|
] }) }) });
|
|
890
|
-
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
890
|
+
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2WGA2IRNcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
|
|
891
891
|
}
|
|
892
892
|
|
|
893
893
|
// src/components/docs/skeletons.tsx
|
|
@@ -903,14 +903,14 @@ var MARKDOWN_SKELETON_BLOCKS = [
|
|
|
903
903
|
{ kind: "p", lines: 3 },
|
|
904
904
|
{ kind: "p", lines: 4 }
|
|
905
905
|
];
|
|
906
|
-
var MARKDOWN_SKELETON_H2_CLASS = _chunk63A4GZMBcjs.cn.call(void 0,
|
|
907
|
-
var MARKDOWN_SKELETON_P_CLASS = _chunk63A4GZMBcjs.cn.call(void 0,
|
|
906
|
+
var MARKDOWN_SKELETON_H2_CLASS = _chunk63A4GZMBcjs.cn.call(void 0, _chunkWPMJUYW3cjs.MARKDOWN_H2_CLASS, _chunkWPMJUYW3cjs.TEXT_SIZE_PRESETS.default.h2);
|
|
907
|
+
var MARKDOWN_SKELETON_P_CLASS = _chunk63A4GZMBcjs.cn.call(void 0, _chunkWPMJUYW3cjs.MARKDOWN_PARAGRAPH_CLASS, _chunkWPMJUYW3cjs.TEXT_SIZE_PRESETS.default.p);
|
|
908
908
|
function MarkdownSkeleton({
|
|
909
909
|
region = true
|
|
910
910
|
} = {}) {
|
|
911
911
|
return (
|
|
912
912
|
// The renderer's root class, and its box (no margin of its own, like the rendered body): the document's first fold.
|
|
913
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading the document", announce: region, className:
|
|
913
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading the document", announce: region, className: _chunkWPMJUYW3cjs.MARKDOWN_RENDERER_CLASS, children: MARKDOWN_SKELETON_BLOCKS.map(
|
|
914
914
|
(block, i) => block.kind === "h2" ? (
|
|
915
915
|
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton blocks never reorder
|
|
916
916
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: MARKDOWN_SKELETON_H2_CLASS, "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-1/3" }) }, i)
|
|
@@ -959,7 +959,7 @@ function EmbedSkeleton({ documentType, region = true } = {}) {
|
|
|
959
959
|
] }),
|
|
960
960
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-center gap-2 content-sm:w-auto", children: Array.from({ length: buttonCount }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.UnifiedSkeleton, { className: "h-10 w-full flex-1 rounded content-sm:w-32 content-sm:flex-initial" }, i)) })
|
|
961
961
|
] }),
|
|
962
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
962
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2WGA2IRNcjs.EmbedLoadingSkeleton, { region: false })
|
|
963
963
|
] });
|
|
964
964
|
}
|
|
965
965
|
|
|
@@ -967,11 +967,11 @@ function EmbedSkeleton({ documentType, region = true } = {}) {
|
|
|
967
967
|
|
|
968
968
|
var DEFAULT_TITLE = "Documents";
|
|
969
969
|
var defaultFallbackRenderer = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-16 text-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: "Unsupported document type" }) });
|
|
970
|
-
var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
971
|
-
var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
972
|
-
var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
970
|
+
var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSOQVKIWMcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
|
|
971
|
+
var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSOQVKIWMcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
|
|
972
|
+
var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2WGA2IRNcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
|
|
973
973
|
var defaultFileRenderer = (content) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
974
|
-
|
|
974
|
+
_chunkSOQVKIWMcjs.FileDownloadCard,
|
|
975
975
|
{
|
|
976
976
|
fileName: content.fileName,
|
|
977
977
|
mimeType: content.mimeType,
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkSC36S7DJcjs = require('./chunk-SC36S7DJ.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunk6M764K5Zcjs = require('./chunk-6M764K5Z.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunk2WGA2IRNcjs = require('./chunk-2WGA2IRN.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
var _chunkWCK5T3UDcjs = require('./chunk-WCK5T3UD.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunk4ASUUB3Acjs = require('./chunk-4ASUUB3A.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _chunkWPMJUYW3cjs = require('./chunk-WPMJUYW3.cjs');
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
var _chunk6CZVQ72Ccjs = require('./chunk-6CZVQ72C.cjs');
|
|
@@ -34,17 +34,17 @@ var _chunk6CZVQ72Ccjs = require('./chunk-6CZVQ72C.cjs');
|
|
|
34
34
|
var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
var
|
|
37
|
+
var _chunk6HFTSVVCcjs = require('./chunk-6HFTSVVC.cjs');
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
var
|
|
41
|
+
var _chunk23DVVS4Icjs = require('./chunk-23DVVS4I.cjs');
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
var
|
|
44
|
+
var _chunkEUEPGHY4cjs = require('./chunk-EUEPGHY4.cjs');
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
var
|
|
47
|
+
var _chunkPZNWIJRZcjs = require('./chunk-PZNWIJRZ.cjs');
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
|
|
@@ -75,7 +75,7 @@ function OnboardingCatalogSectionsSkeleton() {
|
|
|
75
75
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }),
|
|
76
76
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: CATALOG_SECTION_COUNT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-3" }) })
|
|
77
77
|
] }),
|
|
78
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: CATALOG_LIST_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count: ONBOARDING_CATALOG_SKELETON_CARDS, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
78
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: CATALOG_LIST_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count: ONBOARDING_CATALOG_SKELETON_CARDS, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23DVVS4Icjs.OnboardingGuideCard, { loading: true, size: "catalog" }) }) }) })
|
|
79
79
|
] }) });
|
|
80
80
|
}
|
|
81
81
|
function OnboardingGuidesCatalogView({
|
|
@@ -96,10 +96,10 @@ function OnboardingGuidesCatalogView({
|
|
|
96
96
|
const sectionValue = selfFetch ? _nullishCoalesce(searchParams.get("section"), () => ( "")) : initialSection;
|
|
97
97
|
const activeSection = sectionValue || "all";
|
|
98
98
|
const guidesQs = sectionValue ? `?section=${encodeURIComponent(sectionValue)}` : "";
|
|
99
|
-
const guidesRes =
|
|
99
|
+
const guidesRes = _chunk6HFTSVVCcjs.useSelfFetch.call(void 0,
|
|
100
100
|
selfFetch && guidesEndpoint ? `${guidesEndpoint}${guidesQs}` : null
|
|
101
101
|
);
|
|
102
|
-
const sectionsRes =
|
|
102
|
+
const sectionsRes = _chunk6HFTSVVCcjs.useSelfFetch.call(void 0, selfFetch && sectionsEndpoint ? sectionsEndpoint : null);
|
|
103
103
|
const guides = _react.useMemo.call(void 0, () => _nullishCoalesce(_nullishCoalesce(initialGuides, () => ( _optionalChain([guidesRes, 'access', _2 => _2.data, 'optionalAccess', _3 => _3.data]))), () => ( [])), [initialGuides, _optionalChain([guidesRes, 'access', _4 => _4.data, 'optionalAccess', _5 => _5.data])]);
|
|
104
104
|
const sections = _react.useMemo.call(void 0,
|
|
105
105
|
() => _nullishCoalesce(initialSections, () => ( (Array.isArray(sectionsRes.data) ? sectionsRes.data : []))),
|
|
@@ -143,25 +143,25 @@ function OnboardingGuidesCatalogView({
|
|
|
143
143
|
});
|
|
144
144
|
};
|
|
145
145
|
const source = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _6 => _6.source]), () => ( "openframe"));
|
|
146
|
-
const docSearch =
|
|
146
|
+
const docSearch = _chunk6M764K5Zcjs.useDocSearch.call(void 0, {
|
|
147
147
|
source,
|
|
148
148
|
baseRoute: basePath,
|
|
149
149
|
onNavigate: (path) => router.push(path),
|
|
150
150
|
tableIds: ["onboarding-guides"]
|
|
151
151
|
});
|
|
152
152
|
const defaultRenderCard = (guide) => {
|
|
153
|
-
const cta =
|
|
153
|
+
const cta = _chunk4ASUUB3Acjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
|
|
154
154
|
type: "onboarding_guide",
|
|
155
155
|
slug: guide.slug,
|
|
156
156
|
basePath,
|
|
157
157
|
platforms: guide.onboarding_guide_platforms
|
|
158
158
|
});
|
|
159
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
159
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23DVVS4Icjs.OnboardingGuideCard, { guide, href: cta.href, targetPlatform: cta.targetPlatform, size: "catalog" });
|
|
160
160
|
};
|
|
161
161
|
const renderCardFn = _nullishCoalesce(renderCard, () => ( defaultRenderCard));
|
|
162
162
|
const preControls = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CATALOG_CONTROLS_CLASS, children: [
|
|
163
163
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
164
|
-
|
|
164
|
+
_chunk6M764K5Zcjs.DocSearchBar,
|
|
165
165
|
{
|
|
166
166
|
placeholder: "Search onboarding guides, releases, case studies\u2026",
|
|
167
167
|
query: docSearch.query,
|
|
@@ -173,7 +173,7 @@ function OnboardingGuidesCatalogView({
|
|
|
173
173
|
}
|
|
174
174
|
),
|
|
175
175
|
(loading || sections.length > 0) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
176
|
-
|
|
176
|
+
_chunk2WGA2IRNcjs.FilterPillRow,
|
|
177
177
|
{
|
|
178
178
|
label: "Section",
|
|
179
179
|
selectedValue: activeSection,
|
|
@@ -184,7 +184,7 @@ function OnboardingGuidesCatalogView({
|
|
|
184
184
|
)
|
|
185
185
|
] });
|
|
186
186
|
if (!loading && selfFetch && guidesRes.error) {
|
|
187
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
187
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2WGA2IRNcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
|
|
188
188
|
}
|
|
189
189
|
const view = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CATALOG_VIEW_CLASS, children: [
|
|
190
190
|
preControls,
|
|
@@ -200,7 +200,7 @@ function OnboardingGuidesCatalogView({
|
|
|
200
200
|
)
|
|
201
201
|
] });
|
|
202
202
|
if (!loading) return view;
|
|
203
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
203
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWPMJUYW3cjs.LoadingFallback, { label: "Loading onboarding guides", children: view });
|
|
204
204
|
}
|
|
205
205
|
function OnboardingCatalogSections({
|
|
206
206
|
grouped,
|
|
@@ -304,7 +304,7 @@ function OnboardingGuideDetailView({
|
|
|
304
304
|
slug,
|
|
305
305
|
guideEndpoint,
|
|
306
306
|
related = [],
|
|
307
|
-
MarkdownRenderer =
|
|
307
|
+
MarkdownRenderer = _chunk2WGA2IRNcjs.RichMarkdownRenderer,
|
|
308
308
|
renderRelatedCard,
|
|
309
309
|
backHref,
|
|
310
310
|
backLabel = "Back to Getting Started",
|
|
@@ -314,9 +314,9 @@ function OnboardingGuideDetailView({
|
|
|
314
314
|
}) {
|
|
315
315
|
const resolvedBackHref = _nullishCoalesce(backHref, () => ( basePath));
|
|
316
316
|
const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
|
|
317
|
-
const captions =
|
|
317
|
+
const captions = _chunkWPMJUYW3cjs.useCaptions.call(void 0, );
|
|
318
318
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
319
|
-
const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
319
|
+
const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2WGA2IRNcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
|
|
320
320
|
const url = initialData ? null : slug && guideEndpoint ? guideEndpoint(slug) : null;
|
|
321
321
|
const scoped = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
322
322
|
const {
|
|
@@ -324,7 +324,7 @@ function OnboardingGuideDetailView({
|
|
|
324
324
|
isLoading,
|
|
325
325
|
error,
|
|
326
326
|
reload
|
|
327
|
-
} =
|
|
327
|
+
} = _chunk6HFTSVVCcjs.useSelfFetch.call(void 0, scoped ? null : url, {
|
|
328
328
|
initialData
|
|
329
329
|
});
|
|
330
330
|
const { ref: videoWarmupRef } = _chunk6CZVQ72Ccjs.useVideoWarmup.call(void 0, {
|
|
@@ -334,27 +334,27 @@ function OnboardingGuideDetailView({
|
|
|
334
334
|
const backCfg = { label: backLabel, onClick: () => router.push(resolvedBackHref) };
|
|
335
335
|
const loading = scoped || !guide && isLoading;
|
|
336
336
|
if (!loading && (error || !guide)) {
|
|
337
|
-
return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
337
|
+
return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2WGA2IRNcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
|
|
338
338
|
}
|
|
339
339
|
const view = _nullishCoalesce(guide, () => ( EMPTY_ONBOARDING_GUIDE));
|
|
340
340
|
const { captionsUrl, highlightCaptionsUrl } = captions.forEntity("onboarding_guide", view);
|
|
341
341
|
const videoPoster = view.main_video_thumbnail || view.featured_image || view.og_image_url || // `buildOgPlaceholderUrl` always returns a usable string (relative route at
|
|
342
342
|
// worst), so it's the terminal fallback — no trailing `|| undefined` needed.
|
|
343
|
-
|
|
343
|
+
_chunkPZNWIJRZcjs.buildOgPlaceholderUrl.call(void 0, _optionalChain([runtime, 'optionalAccess', _11 => _11.endpoints]), view.title, { aspect: "wide" });
|
|
344
344
|
const defaultRenderRelatedCard = (g) => {
|
|
345
|
-
const cta =
|
|
345
|
+
const cta = _chunk4ASUUB3Acjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
|
|
346
346
|
type: "onboarding_guide",
|
|
347
347
|
slug: g.slug,
|
|
348
348
|
basePath,
|
|
349
349
|
platforms: g.onboarding_guide_platforms
|
|
350
350
|
});
|
|
351
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
351
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23DVVS4Icjs.OnboardingGuideCard, { guide: g, href: cta.href, targetPlatform: cta.targetPlatform });
|
|
352
352
|
};
|
|
353
353
|
const renderRelatedCardFn = _nullishCoalesce(renderRelatedCard, () => ( defaultRenderRelatedCard));
|
|
354
354
|
const page = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWCK5T3UDcjs.PageLayout, { title: view.title, loading, titleSize: "h1", titleWrap: true, backButton: backCfg, children: [
|
|
355
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
355
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2WGA2IRNcjs.EntityTagBadges, { tags: view.onboarding_guide_tags }),
|
|
356
356
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
357
|
-
|
|
357
|
+
_chunk23DVVS4Icjs.EntityAuthorCard,
|
|
358
358
|
{
|
|
359
359
|
author: view.author,
|
|
360
360
|
authorHref,
|
|
@@ -370,7 +370,7 @@ function OnboardingGuideDetailView({
|
|
|
370
370
|
),
|
|
371
371
|
!loading && (view.main_video_url || view.youtube_url) && // A guide's video is optional: the loading state leaves it out.
|
|
372
372
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: videoWarmupRef, "data-loading-optional": "", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
373
|
-
|
|
373
|
+
_chunkWPMJUYW3cjs.EntityVideoSection,
|
|
374
374
|
{
|
|
375
375
|
mainVideoUrl: view.main_video_url,
|
|
376
376
|
youtubeUrl: view.youtube_url || void 0,
|
|
@@ -387,17 +387,17 @@ function OnboardingGuideDetailView({
|
|
|
387
387
|
) }),
|
|
388
388
|
(loading || view.content) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: BODY_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: _nullishCoalesce(view.content, () => ( "")) }) }),
|
|
389
389
|
loading ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "contents", "data-loading-optional": "", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
390
|
-
|
|
390
|
+
_chunkWPMJUYW3cjs.VideoBitesStrip,
|
|
391
391
|
{
|
|
392
392
|
bites: _nullishCoalesce(view.video_bites, () => ( [])),
|
|
393
393
|
filterPublished: true,
|
|
394
394
|
showTitle: false,
|
|
395
|
-
profile:
|
|
395
|
+
profile: _chunkEUEPGHY4cjs.toStripProfile.call(void 0, view.author),
|
|
396
396
|
href: `/onboarding-guides/${view.slug}`
|
|
397
397
|
}
|
|
398
398
|
) }),
|
|
399
399
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
400
|
-
|
|
400
|
+
_chunkSC36S7DJcjs.ArticleAuthorByline,
|
|
401
401
|
{
|
|
402
402
|
author: _nullishCoalesce(_optionalChain([view, 'access', _13 => _13.author, 'optionalAccess', _14 => _14.full_name]), () => ( null)),
|
|
403
403
|
avatar: _optionalChain([view, 'access', _15 => _15.author, 'optionalAccess', _16 => _16.avatar_url]),
|
|
@@ -410,7 +410,7 @@ function OnboardingGuideDetailView({
|
|
|
410
410
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RelatedGuides, { section: view.section, related, renderCard: renderRelatedCardFn }),
|
|
411
411
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Fragment, { children: relatedContent }, "related-content")
|
|
412
412
|
] });
|
|
413
|
-
return renderShell(loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
413
|
+
return renderShell(loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWPMJUYW3cjs.LoadingFallback, { label: "Loading the guide", children: page }) : page);
|
|
414
414
|
}
|
|
415
415
|
|
|
416
416
|
// src/components/onboarding-guides/hooks/use-onboarding-guides.ts
|
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
var _chunkFDZOE5TLcjs = require('./chunk-FDZOE5TL.cjs');
|
|
7
7
|
|
|
8
8
|
// src/components/product-demo/fixtures/devices.ts
|
|
9
|
+
var DEMO_UNREAD_NOTIFICATIONS = {
|
|
10
|
+
"device-reception": 2,
|
|
11
|
+
"device-leo": 1
|
|
12
|
+
};
|
|
9
13
|
function device(cast, demo, type, status, lastSeenMinutesAgo) {
|
|
10
14
|
const organization = cast.organization(demo.organization);
|
|
11
15
|
return {
|
|
@@ -19,7 +23,8 @@ function device(cast, demo, type, status, lastSeenMinutesAgo) {
|
|
|
19
23
|
last_seen: _chunkFDZOE5TLcjs.demoMinutesAgo.call(void 0, lastSeenMinutesAgo),
|
|
20
24
|
organizationId: organization.id,
|
|
21
25
|
organization: organization.name,
|
|
22
|
-
organizationImageUrl: organization.logoUrl
|
|
26
|
+
organizationImageUrl: organization.logoUrl,
|
|
27
|
+
unreadNotificationCount: DEMO_UNREAD_NOTIFICATIONS[demo.id]
|
|
23
28
|
};
|
|
24
29
|
}
|
|
25
30
|
function countBy(devices, pick) {
|