@flamingo-stack/openframe-frontend-core 0.0.722 → 0.0.724
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-XJYAUIOL.cjs → chunk-2A4AGW7Z.cjs} +11 -11
- package/dist/{chunk-65C4WHG4.js → chunk-2HLGX6JF.js} +5 -5
- package/dist/{chunk-5K6YKRP5.cjs → chunk-3MMKIVWZ.cjs} +23 -23
- package/dist/{chunk-P7Y626YJ.cjs → chunk-3NVSC3BU.cjs} +687 -611
- package/dist/{chunk-VSYQJCNR.js → chunk-4N5DLIEC.js} +1 -1
- package/dist/{chunk-GYSTZD6X.cjs → chunk-5CJGNPTT.cjs} +35 -35
- package/dist/{chunk-AWWLEYAU.js → chunk-6BKDXUOQ.js} +6 -6
- package/dist/{chunk-BUDZWXRG.js → chunk-6QO6BIX7.js} +1 -1
- package/dist/{chunk-FDWYBJYD.cjs → chunk-7AXOAA5T.cjs} +3 -3
- package/dist/{chunk-SZF7ENIW.js → chunk-7CNGNPBI.js} +3 -3
- package/dist/{chunk-6HRQLM6T.cjs → chunk-A4WHVIYZ.cjs} +17 -17
- package/dist/{chunk-VV5INIQB.cjs → chunk-BIWG3CYN.cjs} +3 -3
- package/dist/{chunk-I3UUMRO7.js → chunk-BWMEQ7IZ.js} +1 -1
- package/dist/{chunk-7UZ2JZJY.js → chunk-CJENFR5T.js} +29 -3
- package/dist/{chunk-IITZ6JSC.cjs → chunk-DGNGABNG.cjs} +33 -7
- package/dist/{chunk-KWBH63GV.cjs → chunk-FR4MFSH5.cjs} +19 -19
- package/dist/{chunk-DWSBTGKT.cjs → chunk-GRB5HVEV.cjs} +2610 -2125
- package/dist/{chunk-JQ55FFIK.cjs → chunk-IPUDFAU5.cjs} +31 -31
- package/dist/{chunk-F33RMJOL.js → chunk-IUQKIU5A.js} +6 -6
- package/dist/{chunk-LV6UJD2K.cjs → chunk-JKWQWHNV.cjs} +6 -1
- package/dist/{chunk-VC7COEWF.cjs → chunk-JQ7A7PO5.cjs} +76 -76
- package/dist/{chunk-BCU6UUNQ.js → chunk-KKO4GRM3.js} +4 -4
- package/dist/{chunk-RVQV6J5K.cjs → chunk-L5CAET76.cjs} +64 -64
- package/dist/{chunk-WY4SLTMZ.js → chunk-MRBPJ4NB.js} +1 -1
- package/dist/{chunk-IF72N4PE.js → chunk-MU5F5QXJ.js} +6 -6
- package/dist/{chunk-NMGWNUKB.js → chunk-N2PX26BZ.js} +2 -2
- package/dist/{chunk-NFABAOMD.cjs → chunk-N4NGKXUU.cjs} +15 -15
- package/dist/{chunk-ETQVXIYW.js → chunk-NLZZUWR6.js} +4 -4
- package/dist/{chunk-ZMHP4Y6M.js → chunk-OFOBVPDV.js} +2 -2
- package/dist/{chunk-DX3W7DPC.js → chunk-OWFDXYEO.js} +1 -1
- package/dist/{chunk-HA2ASGJM.js → chunk-PF4WAKCS.js} +4 -4
- package/dist/{chunk-GAFK3WNT.cjs → chunk-QJ67GFF3.cjs} +32 -32
- package/dist/{chunk-KBPGSPXQ.js → chunk-QN3OXRTM.js} +4492 -4007
- package/dist/{chunk-ZHC6MDGF.cjs → chunk-QUI7DKBW.cjs} +41 -41
- package/dist/{chunk-E7NIZXDT.js → chunk-S4SVKXHN.js} +88 -12
- package/dist/{chunk-VYHCN5NU.cjs → chunk-SOTXV3T5.cjs} +3 -3
- package/dist/{chunk-MJ4SXOG2.cjs → chunk-SVDXNMBL.cjs} +16 -16
- package/dist/{chunk-UYMTAFHG.js → chunk-VLPGV5WH.js} +1 -1
- package/dist/{chunk-SZ3CBFSH.js → chunk-XDTD6YGG.js} +7 -7
- package/dist/{chunk-VU7RU3LL.cjs → chunk-YKV45BSJ.cjs} +4 -4
- package/dist/{chunk-XR7NVJXS.cjs → chunk-ZKL52ALL.cjs} +3 -3
- package/dist/{chunk-EWED6ISQ.js → chunk-ZQKN2Z6W.js} +5 -0
- package/dist/{cloud-tenants-4Z36KWSX.js → cloud-tenants-5MINXS5J.js} +6 -6
- package/dist/{cloud-tenants-5NIC5VXK.cjs → cloud-tenants-UMZJZTMB.cjs} +7 -7
- package/dist/components/case-studies/index.cjs +20 -20
- package/dist/components/case-studies/index.js +7 -7
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +5 -5
- package/dist/components/chat/index.js +4 -4
- package/dist/components/chat/utils/icon-library.d.ts +2 -0
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +8 -8
- package/dist/components/contact/index.js +7 -7
- package/dist/components/docs/index.cjs +11 -11
- package/dist/components/docs/index.js +10 -10
- package/dist/components/embeds/index.cjs +8 -8
- package/dist/components/embeds/index.js +7 -7
- package/dist/components/faq/index.cjs +8 -8
- package/dist/components/faq/index.js +7 -7
- package/dist/components/features/index.cjs +23 -7
- package/dist/components/features/index.d.ts +1 -0
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +22 -6
- package/dist/components/features/model-token-rates.d.ts +179 -0
- package/dist/components/features/model-token-rates.d.ts.map +1 -0
- package/dist/components/help-center-pages/index.cjs +130 -126
- package/dist/components/help-center-pages/index.js +47 -43
- package/dist/components/help-center-pages/trust-center-page.d.ts +34 -1
- package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/trust-center-sections.d.ts +1 -1
- package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
- package/dist/components/index.cjs +73 -55
- package/dist/components/index.js +36 -18
- package/dist/components/meeting-scheduler/index.cjs +32 -32
- package/dist/components/meeting-scheduler/index.js +6 -6
- package/dist/components/navigation/index.cjs +10 -10
- package/dist/components/navigation/index.js +9 -9
- package/dist/components/onboarding-guides/index.cjs +10 -10
- package/dist/components/onboarding-guides/index.js +9 -9
- package/dist/components/product-demo/index.cjs +7 -7
- package/dist/components/product-demo/index.js +7 -7
- package/dist/components/related-content/index.cjs +4 -4
- package/dist/components/related-content/index.js +3 -3
- package/dist/components/tickets/index.cjs +11 -11
- package/dist/components/tickets/index.js +10 -10
- package/dist/components/ui/data-attribution.d.ts +3 -1
- package/dist/components/ui/data-attribution.d.ts.map +1 -1
- package/dist/components/ui/download-button.d.ts +19 -0
- package/dist/components/ui/download-button.d.ts.map +1 -0
- package/dist/components/ui/index.cjs +9 -7
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +8 -6
- package/dist/{devices-2TK3LAKM.js → devices-FSSUAUQN.js} +6 -6
- package/dist/{devices-7IKT72DK.cjs → devices-HOT7YSDN.cjs} +8 -8
- package/dist/index.cjs +53 -11
- package/dist/index.js +52 -10
- package/dist/{knowledge-HYSEV35H.cjs → knowledge-3N6HCFLU.cjs} +8 -8
- package/dist/{knowledge-3GJ4MU3V.js → knowledge-7HRUJX26.js} +6 -6
- package/dist/{logs-ZX3NADQC.cjs → logs-75M5YP6V.cjs} +15 -15
- package/dist/{logs-TATVM62H.js → logs-T25OE2QW.js} +6 -6
- package/dist/{policies-MRRKLF4Q.js → policies-4OK4XTD4.js} +6 -6
- package/dist/{policies-J4FSDKPI.cjs → policies-BTG7UJJC.cjs} +11 -11
- package/dist/{remote-session-Z2YCUPHU.cjs → remote-session-4DTOM3QD.cjs} +5 -5
- package/dist/{remote-session-WCLR47RN.js → remote-session-AZJXG7ZF.js} +3 -3
- package/dist/{software-update-KM46WUVQ.js → software-update-5SOV4FIR.js} +6 -6
- package/dist/{software-update-CXUBWYD2.cjs → software-update-OZURO4VK.cjs} +11 -11
- package/dist/types/index.cjs +27 -2
- package/dist/types/index.js +25 -3
- package/dist/types/trust-center.d.ts +19 -2
- package/dist/types/trust-center.d.ts.map +1 -1
- package/dist/utils/ai-providers.d.ts +29 -0
- package/dist/utils/ai-providers.d.ts.map +1 -0
- package/dist/utils/index.cjs +76 -2
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +68 -3
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/model-token-rates.d.ts +55 -0
- package/dist/utils/model-token-rates.d.ts.map +1 -0
- package/dist/utils/source-icons.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/entity-cards/dispatch.tsx +3 -0
- package/src/components/chat/utils/icon-library.tsx +6 -0
- package/src/components/features/index.ts +1 -0
- package/src/components/features/model-token-rates.tsx +696 -0
- package/src/components/help-center-pages/trust-center-page.tsx +50 -29
- package/src/components/help-center-pages/trust-center-sections.tsx +2 -2
- package/src/components/ui/data-attribution.tsx +19 -6
- package/src/components/ui/download-button.tsx +34 -0
- package/src/components/ui/index.ts +1 -0
- package/src/types/trust-center.ts +52 -4
- package/src/utils/ai-providers.ts +46 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/list-url.ts +1 -0
- package/src/utils/model-token-rates.ts +103 -0
- package/src/utils/source-icons.ts +3 -0
|
@@ -6,38 +6,38 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkL5CAET76cjs = require('../../chunk-L5CAET76.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
require('../../chunk-
|
|
12
|
+
var _chunk5CJGNPTTcjs = require('../../chunk-5CJGNPTT.cjs');
|
|
13
|
+
require('../../chunk-ZKL52ALL.cjs');
|
|
14
14
|
require('../../chunk-DFM572VH.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkFR4MFSH5cjs = require('../../chunk-FR4MFSH5.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _chunkSOTXV3T5cjs = require('../../chunk-SOTXV3T5.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _chunkJQ7A7PO5cjs = require('../../chunk-JQ7A7PO5.cjs');
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _chunk3MMKIVWZcjs = require('../../chunk-3MMKIVWZ.cjs');
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chunkA4WHVIYZcjs = require('../../chunk-A4WHVIYZ.cjs');
|
|
33
33
|
require('../../chunk-ZSOFLPQN.cjs');
|
|
34
|
-
require('../../chunk-
|
|
34
|
+
require('../../chunk-BIWG3CYN.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
var
|
|
39
|
-
require('../../chunk-
|
|
40
|
-
require('../../chunk-
|
|
38
|
+
var _chunkIPUDFAU5cjs = require('../../chunk-IPUDFAU5.cjs');
|
|
39
|
+
require('../../chunk-YKV45BSJ.cjs');
|
|
40
|
+
require('../../chunk-2A4AGW7Z.cjs');
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
|
|
@@ -50,14 +50,15 @@ require('../../chunk-XJYAUIOL.cjs');
|
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
|
|
54
|
+
var _chunkGRB5HVEVcjs = require('../../chunk-GRB5HVEV.cjs');
|
|
54
55
|
require('../../chunk-ABSWD4PQ.cjs');
|
|
55
56
|
require('../../chunk-HQQE74RO.cjs');
|
|
56
57
|
require('../../chunk-DEY6XXGO.cjs');
|
|
57
58
|
|
|
58
59
|
|
|
59
60
|
|
|
60
|
-
var
|
|
61
|
+
var _chunkN4NGKXUUcjs = require('../../chunk-N4NGKXUU.cjs');
|
|
61
62
|
|
|
62
63
|
|
|
63
64
|
|
|
@@ -74,7 +75,7 @@ require('../../chunk-LX22Y43B.cjs');
|
|
|
74
75
|
|
|
75
76
|
|
|
76
77
|
|
|
77
|
-
var
|
|
78
|
+
var _chunk3NVSC3BUcjs = require('../../chunk-3NVSC3BU.cjs');
|
|
78
79
|
require('../../chunk-HP4UUBJC.cjs');
|
|
79
80
|
require('../../chunk-EWPR7662.cjs');
|
|
80
81
|
|
|
@@ -82,7 +83,7 @@ require('../../chunk-EWPR7662.cjs');
|
|
|
82
83
|
|
|
83
84
|
|
|
84
85
|
|
|
85
|
-
var
|
|
86
|
+
var _chunk7AXOAA5Tcjs = require('../../chunk-7AXOAA5T.cjs');
|
|
86
87
|
require('../../chunk-RUZIICXT.cjs');
|
|
87
88
|
|
|
88
89
|
|
|
@@ -117,11 +118,13 @@ var _chunk7DNL734Scjs = require('../../chunk-7DNL734S.cjs');
|
|
|
117
118
|
|
|
118
119
|
|
|
119
120
|
|
|
120
|
-
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
var _chunkDGNGABNGcjs = require('../../chunk-DGNGABNG.cjs');
|
|
121
124
|
require('../../chunk-AL2GUHAJ.cjs');
|
|
122
125
|
|
|
123
126
|
|
|
124
|
-
var
|
|
127
|
+
var _chunkJKWQWHNVcjs = require('../../chunk-JKWQWHNV.cjs');
|
|
125
128
|
|
|
126
129
|
|
|
127
130
|
var _chunkTKFTWM3Vcjs = require('../../chunk-TKFTWM3V.cjs');
|
|
@@ -174,9 +177,9 @@ function RoadmapPage({
|
|
|
174
177
|
belowContent,
|
|
175
178
|
shell
|
|
176
179
|
}) {
|
|
177
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
180
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkA4WHVIYZcjs.DevSectionPage, { sectionKey: "roadmap", backButton, title, subtitle, shell, children: [
|
|
178
181
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
179
|
-
|
|
182
|
+
_chunkL5CAET76cjs.RoadmapView,
|
|
180
183
|
{
|
|
181
184
|
endpoint: roadmapEndpoint,
|
|
182
185
|
initialItems,
|
|
@@ -202,9 +205,9 @@ function ProductReleasesListPage({
|
|
|
202
205
|
belowContent,
|
|
203
206
|
shell
|
|
204
207
|
}) {
|
|
205
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
208
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkA4WHVIYZcjs.DevSectionPage, { sectionKey: "releases", backButton, title, subtitle, shell, children: [
|
|
206
209
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
207
|
-
|
|
210
|
+
_chunkL5CAET76cjs.ProductReleasesView,
|
|
208
211
|
{
|
|
209
212
|
endpoint: releasesEndpoint,
|
|
210
213
|
basePath,
|
|
@@ -227,8 +230,8 @@ function DeliveryPage({
|
|
|
227
230
|
belowContent,
|
|
228
231
|
shell
|
|
229
232
|
}) {
|
|
230
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
231
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
233
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkA4WHVIYZcjs.DevSectionPage, { sectionKey: "delivery", backButton, title, subtitle, shell, children: [
|
|
234
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkL5CAET76cjs.DeliveryLists, { completedApiEndpoint: completedEndpoint, inProgressApiEndpoint: inProgressEndpoint }),
|
|
232
235
|
belowContent
|
|
233
236
|
] });
|
|
234
237
|
}
|
|
@@ -248,9 +251,9 @@ function OnboardingGuidesCatalogPage({
|
|
|
248
251
|
belowContent,
|
|
249
252
|
shell
|
|
250
253
|
}) {
|
|
251
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
254
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkA4WHVIYZcjs.DevSectionPage, { sectionKey: "onboarding", backButton, title, subtitle, shell, children: [
|
|
252
255
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
253
|
-
|
|
256
|
+
_chunkIPUDFAU5cjs.OnboardingGuidesCatalogView,
|
|
254
257
|
{
|
|
255
258
|
guidesEndpoint,
|
|
256
259
|
sectionsEndpoint,
|
|
@@ -275,7 +278,7 @@ var FRAMEWORK_ICONS = {
|
|
|
275
278
|
"file-shield": _chunkVX4E6YSBcjs.FileShieldIcon
|
|
276
279
|
};
|
|
277
280
|
var BODY_TEXT = "text-h6 text-ods-text-secondary";
|
|
278
|
-
var TRUST_STATUS_ROW_CLASS = "flex flex-col gap-[var(--spacing-system-
|
|
281
|
+
var TRUST_STATUS_ROW_CLASS = "flex flex-col gap-[var(--spacing-system-xsf)] content-md:flex-row content-md:items-center content-md:justify-between";
|
|
279
282
|
var TRUST_BODY_GRID_CLASS = "grid grid-cols-1 gap-[var(--spacing-system-xl)] content-lg:grid-cols-[minmax(0,1fr)_12rem]";
|
|
280
283
|
var TRUST_SECTIONS_COLUMN_CLASS = "flex min-w-0 flex-col gap-[var(--spacing-system-xxl)]";
|
|
281
284
|
var TRUST_SECTION_LEADS = {
|
|
@@ -302,7 +305,7 @@ function TrustSection({
|
|
|
302
305
|
style: { scrollMarginTop: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX },
|
|
303
306
|
children: [
|
|
304
307
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
305
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { id: headingId, className:
|
|
308
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { id: headingId, className: _chunkDGNGABNGcjs.SECTION_HEADING_CLASS, children: title }),
|
|
306
309
|
lead ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: BODY_TEXT, children: lead }) : null
|
|
307
310
|
] }),
|
|
308
311
|
children
|
|
@@ -323,18 +326,18 @@ function AiSection({ practices }) {
|
|
|
323
326
|
}
|
|
324
327
|
]
|
|
325
328
|
}));
|
|
326
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
329
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.StackedRowsPanel, { rows });
|
|
327
330
|
}
|
|
328
331
|
function ComplianceSection({ frameworks }) {
|
|
329
332
|
const rows = frameworks.map((framework) => {
|
|
330
|
-
const entry =
|
|
333
|
+
const entry = _chunkDGNGABNGcjs.trustFrameworkMonitoringEntry.call(void 0, framework.monitoring);
|
|
331
334
|
const Icon = FRAMEWORK_ICONS[entry.icon];
|
|
332
335
|
return {
|
|
333
336
|
id: framework.id,
|
|
334
337
|
columns: [
|
|
335
338
|
{
|
|
336
339
|
key: "framework",
|
|
337
|
-
leadingIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
340
|
+
leadingIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.ComplianceLogo, { names: [framework.standard, framework.label], fallback: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { "aria-hidden": "true" }) }),
|
|
338
341
|
value: framework.label,
|
|
339
342
|
label: _nullishCoalesce(framework.description, () => ( void 0)),
|
|
340
343
|
wrap: true
|
|
@@ -343,12 +346,12 @@ function ComplianceSection({ frameworks }) {
|
|
|
343
346
|
key: "monitoring",
|
|
344
347
|
width: ACTION_COLUMN,
|
|
345
348
|
align: "right",
|
|
346
|
-
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
349
|
+
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.StatusBadge, { text: _chunkDGNGABNGcjs.trustFrameworkBadge.call(void 0, framework), colorScheme: entry.color, singleLine: true })
|
|
347
350
|
}
|
|
348
351
|
]
|
|
349
352
|
};
|
|
350
353
|
});
|
|
351
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
354
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.StackedRowsPanel, { rows });
|
|
352
355
|
}
|
|
353
356
|
var CONTROL_ROW_CLASS = "h-14 content-md:h-20 overflow-hidden";
|
|
354
357
|
function controlRows(controls) {
|
|
@@ -381,22 +384,22 @@ function ControlsListSkeleton() {
|
|
|
381
384
|
{
|
|
382
385
|
key: "control",
|
|
383
386
|
content: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
384
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
385
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
387
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.TextSkeleton.Body, { className: "w-2/3" }),
|
|
388
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.TextSkeleton.Caption, { className: "w-full" })
|
|
386
389
|
] })
|
|
387
390
|
}
|
|
388
391
|
]
|
|
389
392
|
}));
|
|
390
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
393
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.StackedRowsPanel, { rows });
|
|
391
394
|
}
|
|
392
395
|
function ControlsSection({ endpoint, seed }) {
|
|
393
396
|
const [domain, setDomain] = _react.useState.call(void 0, seed.domain);
|
|
394
397
|
const [typed, setTyped] = _react.useState.call(void 0, "");
|
|
395
|
-
const query = _chunkK2JUJ37Dcjs.useDebounce.call(void 0,
|
|
396
|
-
const url =
|
|
397
|
-
const seedUrl =
|
|
398
|
-
const answer =
|
|
399
|
-
const typedQuery =
|
|
398
|
+
const query = _chunkK2JUJ37Dcjs.useDebounce.call(void 0, _chunkDGNGABNGcjs.normalizeTrustControlQuery.call(void 0, typed), _chunkDGNGABNGcjs.TRUST_CENTER_SEARCH_DEBOUNCE_MS);
|
|
399
|
+
const url = _chunkDGNGABNGcjs.trustCenterControlsUrl.call(void 0, endpoint, { domain, query });
|
|
400
|
+
const seedUrl = _chunkDGNGABNGcjs.trustCenterControlsUrl.call(void 0, endpoint, { domain: seed.domain, query: "" });
|
|
401
|
+
const answer = _chunkDGNGABNGcjs.useSelfFetch.call(void 0, url, url === seedUrl ? { initialData: seed } : void 0);
|
|
402
|
+
const typedQuery = _chunkDGNGABNGcjs.normalizeTrustControlQuery.call(void 0, typed);
|
|
400
403
|
const current = answer.data && !answer.isLoading && typedQuery === query && answer.data.query === query ? answer.data : null;
|
|
401
404
|
const [categories, setCategories] = _react.useState.call(void 0, seed.categories);
|
|
402
405
|
if (current && current.categories !== categories) setCategories(current.categories);
|
|
@@ -415,12 +418,12 @@ function ControlsSection({ endpoint, seed }) {
|
|
|
415
418
|
else summary = `${countLabel(current.controls.length, "passing control")} in ${current.domain}`;
|
|
416
419
|
let body;
|
|
417
420
|
if (answer.error && !current) {
|
|
418
|
-
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
421
|
+
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.LoadError, { message: "Could not load the controls", onRetry: answer.reload });
|
|
419
422
|
} else if (!current) {
|
|
420
423
|
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ControlsListSkeleton, {});
|
|
421
424
|
} else if (current.controls.length === 0) {
|
|
422
425
|
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
423
|
-
|
|
426
|
+
_chunkA4WHVIYZcjs.ListEmptyState,
|
|
424
427
|
{
|
|
425
428
|
isFiltered: true,
|
|
426
429
|
filtered: {
|
|
@@ -433,11 +436,11 @@ function ControlsSection({ endpoint, seed }) {
|
|
|
433
436
|
}
|
|
434
437
|
);
|
|
435
438
|
} else {
|
|
436
|
-
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
439
|
+
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.StackedRowsPanel, { rows: controlRows(current.controls) });
|
|
437
440
|
}
|
|
438
441
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
439
442
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
440
|
-
|
|
443
|
+
_chunkGRB5HVEVcjs.TabNavigation,
|
|
441
444
|
{
|
|
442
445
|
tabs,
|
|
443
446
|
activeTab,
|
|
@@ -447,7 +450,7 @@ function ControlsSection({ endpoint, seed }) {
|
|
|
447
450
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-s)] content-md:flex-row content-md:items-center content-md:justify-between", children: [
|
|
448
451
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: BODY_TEXT, "aria-live": "polite", children: summary }),
|
|
449
452
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full content-md:w-80", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
450
|
-
|
|
453
|
+
_chunkGRB5HVEVcjs.SearchInput,
|
|
451
454
|
{
|
|
452
455
|
placeholder: "Search controls",
|
|
453
456
|
value: typed,
|
|
@@ -457,7 +460,7 @@ function ControlsSection({ endpoint, seed }) {
|
|
|
457
460
|
}
|
|
458
461
|
) })
|
|
459
462
|
] }),
|
|
460
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
463
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.ScrollShadow, { className: CONTROLS_LIST_HEIGHT, scrollClassName: "h-full", "data-testid": "controls-list", children: body })
|
|
461
464
|
] });
|
|
462
465
|
}
|
|
463
466
|
function DocumentsSection({
|
|
@@ -496,7 +499,7 @@ function DocumentsSection({
|
|
|
496
499
|
]
|
|
497
500
|
};
|
|
498
501
|
});
|
|
499
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
502
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.StackedRowsPanel, { rows });
|
|
500
503
|
}
|
|
501
504
|
function DocumentRequestModal({
|
|
502
505
|
open,
|
|
@@ -505,12 +508,12 @@ function DocumentRequestModal({
|
|
|
505
508
|
onClose
|
|
506
509
|
}) {
|
|
507
510
|
const message = documentTitle ? `I'd like access to: ${documentTitle}.` : "I'd like access to your gated security documentation.";
|
|
508
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
509
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
510
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
511
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7AXOAA5Tcjs.Modal, { isOpen: open, onClose, size: "medium", children: [
|
|
512
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7AXOAA5Tcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7AXOAA5Tcjs.ModalTitle, { children: "Request access" }) }),
|
|
513
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7AXOAA5Tcjs.ModalContent, { children: open ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
511
514
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: BODY_TEXT, children: "We share gated security documents under NDA. Leave your work email and our security team will follow up with access, usually within one business day." }),
|
|
512
515
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
513
|
-
|
|
516
|
+
_chunk3MMKIVWZcjs.ContactForm,
|
|
514
517
|
{
|
|
515
518
|
rescue: _chunkK2JUJ37Dcjs.RESCUE_FORMS.trustCenterRequest,
|
|
516
519
|
title: "",
|
|
@@ -528,12 +531,12 @@ function DocumentRequestModal({
|
|
|
528
531
|
] });
|
|
529
532
|
}
|
|
530
533
|
function subprocessorMark({ name, logoUrl }) {
|
|
531
|
-
if (logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
532
|
-
const logo =
|
|
533
|
-
return logo ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": name, className: "flex", children: _react.createElement.call(void 0, logo, { className: "size-6" }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
534
|
+
if (logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN4NGKXUUcjs.EntityImage, { src: logoUrl, alt: name, fallbackText: name, sizeClassName: "size-6" });
|
|
535
|
+
const logo = _chunkJKWQWHNVcjs.brandLogoForName.call(void 0, name);
|
|
536
|
+
return logo ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": name, className: "flex", children: _react.createElement.call(void 0, logo, { className: "size-6" }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN4NGKXUUcjs.EntityImage, { alt: name, fallbackText: name, sizeClassName: "size-6" });
|
|
534
537
|
}
|
|
535
538
|
function countryWithFlag(country) {
|
|
536
|
-
const flag =
|
|
539
|
+
const flag = _chunk3NVSC3BUcjs.getFlagFromCountryName.call(void 0, country);
|
|
537
540
|
return flag ? `${flag} ${country}` : country;
|
|
538
541
|
}
|
|
539
542
|
function SubprocessorsSection({ subprocessors }) {
|
|
@@ -560,11 +563,11 @@ function SubprocessorsSection({ subprocessors }) {
|
|
|
560
563
|
] : []
|
|
561
564
|
]
|
|
562
565
|
}));
|
|
563
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
566
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.StackedRowsPanel, { rows });
|
|
564
567
|
}
|
|
565
568
|
function ContactSection({ onContact }) {
|
|
566
569
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
567
|
-
|
|
570
|
+
_chunkGRB5HVEVcjs.StackedRowsPanel,
|
|
568
571
|
{
|
|
569
572
|
rows: [
|
|
570
573
|
{
|
|
@@ -590,11 +593,11 @@ function ContactSection({ onContact }) {
|
|
|
590
593
|
);
|
|
591
594
|
}
|
|
592
595
|
function SkeletonSection({ id, children }) {
|
|
593
|
-
const label = _nullishCoalesce(_optionalChain([
|
|
596
|
+
const label = _nullishCoalesce(_optionalChain([_chunkDGNGABNGcjs.TRUST_CENTER_SECTIONS, 'access', _7 => _7.find, 'call', _8 => _8((section) => section.id === id), 'optionalAccess', _9 => _9.label]), () => ( id));
|
|
594
597
|
const lead = TRUST_SECTION_LEADS[id];
|
|
595
598
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { "aria-hidden": "true", className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
596
599
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
597
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className:
|
|
600
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: _chunkDGNGABNGcjs.SECTION_HEADING_CLASS, children: label }),
|
|
598
601
|
lead ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: BODY_TEXT, children: lead }) : null
|
|
599
602
|
] }),
|
|
600
603
|
children
|
|
@@ -608,14 +611,14 @@ function skeletonRows(count, shape) {
|
|
|
608
611
|
key: "item",
|
|
609
612
|
content: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-s)]", children: [
|
|
610
613
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
611
|
-
|
|
614
|
+
_chunk3NVSC3BUcjs.UnifiedSkeleton,
|
|
612
615
|
{
|
|
613
616
|
className: shape.mark === "logo" ? "size-10 shrink-0 rounded-full" : "size-6 shrink-0 rounded"
|
|
614
617
|
}
|
|
615
618
|
),
|
|
616
619
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
617
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
618
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
620
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { variant: "text", className: "h-5 w-1/3 content-md:h-6" }),
|
|
621
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
619
622
|
] })
|
|
620
623
|
] })
|
|
621
624
|
},
|
|
@@ -623,17 +626,17 @@ function skeletonRows(count, shape) {
|
|
|
623
626
|
key: "action",
|
|
624
627
|
width: ACTION_COLUMN,
|
|
625
628
|
align: "right",
|
|
626
|
-
content: shape.action === "badge" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
629
|
+
content: shape.action === "badge" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { className: "h-4 w-28 rounded" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { className: "h-6 w-16 rounded content-md:h-8" })
|
|
627
630
|
}
|
|
628
631
|
]
|
|
629
632
|
}));
|
|
630
633
|
}
|
|
631
634
|
function ControlsSectionSkeleton() {
|
|
632
635
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
633
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] overflow-hidden", children: [0, 1, 2, 3].map((index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 p-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
636
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] overflow-hidden", children: [0, 1, 2, 3].map((index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 p-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { variant: "text", className: "h-5 w-36 content-md:h-6" }) }, index)) }),
|
|
634
637
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-s)] content-md:flex-row content-md:items-center content-md:justify-between", children: [
|
|
635
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
636
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
638
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.TextSkeleton.Body, { className: "w-48" }),
|
|
639
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { className: "h-11 w-full rounded-[6px] content-md:h-12 content-md:w-80" })
|
|
637
640
|
] }),
|
|
638
641
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CONTROLS_LIST_HEIGHT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ControlsListSkeleton, {}) })
|
|
639
642
|
] });
|
|
@@ -644,32 +647,32 @@ function SectionRailSkeleton() {
|
|
|
644
647
|
"div",
|
|
645
648
|
{
|
|
646
649
|
className: "absolute -left-0.5 top-0 w-px bg-ods-border",
|
|
647
|
-
style: { height:
|
|
650
|
+
style: { height: _chunkDGNGABNGcjs.TRUST_CENTER_SECTIONS.length * 40 }
|
|
648
651
|
}
|
|
649
652
|
),
|
|
650
|
-
|
|
653
|
+
_chunkDGNGABNGcjs.TRUST_CENTER_SECTIONS.map((section) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-10 items-center px-3 py-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.TextSkeleton.Body, { className: "w-24" }) }, section.id))
|
|
651
654
|
] }) });
|
|
652
655
|
}
|
|
653
656
|
function TrustCenterSkeleton() {
|
|
654
657
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
655
658
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TRUST_STATUS_ROW_CLASS, "aria-hidden": "true", children: [
|
|
656
659
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5", children: [
|
|
657
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
658
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
660
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { className: "size-3 rounded-full" }),
|
|
661
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.TextSkeleton.Body, { className: "w-44" })
|
|
659
662
|
] }),
|
|
660
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-
|
|
663
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-xsf)] content-sm:flex-row content-sm:items-center content-sm:gap-[var(--spacing-system-sf)]", children: [
|
|
661
664
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
662
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
663
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
665
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { className: "size-4 rounded" }),
|
|
666
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.TextSkeleton.Body, { className: "w-36" })
|
|
664
667
|
] }),
|
|
665
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
668
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.TextSkeleton.Body, { className: "w-44" })
|
|
666
669
|
] })
|
|
667
670
|
] }),
|
|
668
671
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TRUST_BODY_GRID_CLASS, "aria-busy": "true", "aria-label": "Loading the trust center", children: [
|
|
669
672
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TRUST_SECTIONS_COLUMN_CLASS, children: [
|
|
670
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "compliance", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
673
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "compliance", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.StackedRowsPanel, { rows: skeletonRows(3, { mark: "logo", action: "badge" }) }) }),
|
|
671
674
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "controls", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ControlsSectionSkeleton, {}) }),
|
|
672
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "documents", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
675
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "documents", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.StackedRowsPanel, { rows: skeletonRows(2, { mark: "glyph", action: "button" }) }) })
|
|
673
676
|
] }),
|
|
674
677
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "aside", { className: "hidden content-lg:block", "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionRailSkeleton, {}) })
|
|
675
678
|
] })
|
|
@@ -678,18 +681,6 @@ function TrustCenterSkeleton() {
|
|
|
678
681
|
|
|
679
682
|
// src/components/help-center-pages/trust-center-page.tsx
|
|
680
683
|
|
|
681
|
-
function visibleSections(data) {
|
|
682
|
-
const hasContent = {
|
|
683
|
-
ai: data.aiPractices.length > 0,
|
|
684
|
-
compliance: data.frameworks.length > 0,
|
|
685
|
-
controls: data.controlDomains.length > 0,
|
|
686
|
-
documents: data.documents.length > 0,
|
|
687
|
-
subprocessors: data.subprocessors.length > 0,
|
|
688
|
-
faq: data.faqs.length > 0,
|
|
689
|
-
contact: true
|
|
690
|
-
};
|
|
691
|
-
return _chunkIITZ6JSCcjs.TRUST_CENTER_SECTIONS.filter((section) => hasContent[section.id]);
|
|
692
|
-
}
|
|
693
684
|
function controlsSeed(data) {
|
|
694
685
|
const first = _nullishCoalesce(data.controlDomains[0], () => ( null));
|
|
695
686
|
return {
|
|
@@ -702,24 +693,24 @@ function controlsSeed(data) {
|
|
|
702
693
|
}
|
|
703
694
|
var MONITORING_CLOCK_TICK_MS = 6e4;
|
|
704
695
|
function monitoringStatus(data, hydrated, nowMs) {
|
|
705
|
-
if (
|
|
706
|
-
|
|
707
|
-
return _chunkIITZ6JSCcjs.isTrustCenterMonitored.call(void 0, data, nowMs) ? { status: "success", label: "Controls continuously monitored" } : { status: "pending", label: "Monitoring paused" };
|
|
696
|
+
if (data.connected && !hydrated) return { status: "missing", label: "Checking monitoring status" };
|
|
697
|
+
return _chunkDGNGABNGcjs.trustCenterMonitoringStatus.call(void 0, data, nowMs);
|
|
708
698
|
}
|
|
709
699
|
function TrustCenterPage({
|
|
710
|
-
endpoint =
|
|
700
|
+
endpoint = _chunkDGNGABNGcjs.TRUST_CENTER_API_PATH,
|
|
711
701
|
initialData,
|
|
712
702
|
shell = true,
|
|
713
703
|
backButton = false,
|
|
714
|
-
title =
|
|
715
|
-
subtitle =
|
|
716
|
-
ask
|
|
704
|
+
title = _chunkDGNGABNGcjs.TRUST_CENTER_TITLE,
|
|
705
|
+
subtitle = _chunkDGNGABNGcjs.TRUST_CENTER_TAGLINE,
|
|
706
|
+
ask,
|
|
707
|
+
beforeFaq
|
|
717
708
|
}) {
|
|
718
|
-
const { data, isLoading, error, reload } =
|
|
709
|
+
const { data, isLoading, error, reload } = _chunkDGNGABNGcjs.useSelfFetch.call(void 0, endpoint, {
|
|
719
710
|
initialData,
|
|
720
|
-
revalidateOnVisibleAfterMs:
|
|
711
|
+
revalidateOnVisibleAfterMs: _chunkDGNGABNGcjs.TRUST_CENTER_CACHE_SECONDS * 1e3
|
|
721
712
|
});
|
|
722
|
-
const hydrated =
|
|
713
|
+
const hydrated = _chunk3NVSC3BUcjs.useIsHydrated.call(void 0, );
|
|
723
714
|
const [clock, setClock] = _react.useState.call(void 0, () => ({ data, nowMs: Date.now() }));
|
|
724
715
|
if (clock.data !== data) {
|
|
725
716
|
setClock(() => ({ data, nowMs: Date.now() }));
|
|
@@ -734,8 +725,8 @@ function TrustCenterPage({
|
|
|
734
725
|
open: false,
|
|
735
726
|
documentTitle: null
|
|
736
727
|
});
|
|
737
|
-
const sections = _react.useMemo.call(void 0, () => data ?
|
|
738
|
-
const { activeSection, handleSectionClick } =
|
|
728
|
+
const sections = _react.useMemo.call(void 0, () => data ? _chunkDGNGABNGcjs.visibleTrustCenterSections.call(void 0, data) : [], [data]);
|
|
729
|
+
const { activeSection, handleSectionClick } = _chunkSOTXV3T5cjs.useScrollSpy.call(void 0, sections, {
|
|
739
730
|
syncHash: true,
|
|
740
731
|
headerOffset: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX
|
|
741
732
|
});
|
|
@@ -746,6 +737,7 @@ function TrustCenterPage({
|
|
|
746
737
|
const closeRequest = _react.useCallback.call(void 0, () => setRequest((current) => ({ ...current, open: false })), []);
|
|
747
738
|
const hasGatedDocuments = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _12 => _12.documents, 'access', _13 => _13.some, 'call', _14 => _14((document) => document.access === "request")]), () => ( false));
|
|
748
739
|
const actions = hasGatedDocuments ? [{ label: "Request access", variant: "accent", onClick: () => openRequest(null) }] : void 0;
|
|
740
|
+
const download = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.DownloadButton, { label: "Download PDF", href: _chunkDGNGABNGcjs.trustCenterPdfUrl.call(void 0, endpoint) });
|
|
749
741
|
const views = {
|
|
750
742
|
ai: {
|
|
751
743
|
lead: TRUST_SECTION_LEADS.ai,
|
|
@@ -765,7 +757,7 @@ function TrustCenterPage({
|
|
|
765
757
|
DocumentsSection,
|
|
766
758
|
{
|
|
767
759
|
documents: d.documents,
|
|
768
|
-
documentUrl: (document) =>
|
|
760
|
+
documentUrl: (document) => _chunkDGNGABNGcjs.trustCenterDocumentUrl.call(void 0, endpoint, document),
|
|
769
761
|
onRequest: openRequest
|
|
770
762
|
}
|
|
771
763
|
)
|
|
@@ -774,24 +766,27 @@ function TrustCenterPage({
|
|
|
774
766
|
lead: TRUST_SECTION_LEADS.subprocessors,
|
|
775
767
|
render: (d) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SubprocessorsSection, { subprocessors: d.subprocessors })
|
|
776
768
|
},
|
|
777
|
-
faq: { render: (d) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
769
|
+
faq: { render: (d) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFR4MFSH5cjs.FaqSection, { initialFaqs: d.faqs, heading: null, ask }) },
|
|
778
770
|
contact: { render: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContactSection, { onContact: () => openRequest(null) }) }
|
|
779
771
|
};
|
|
772
|
+
const faqSection = sections.find((section) => section.id === "faq");
|
|
773
|
+
const faqLast = Boolean(beforeFaq) && Boolean(faqSection);
|
|
774
|
+
const columnSections = faqLast ? sections.filter((section) => section.id !== "faq") : sections;
|
|
780
775
|
let body;
|
|
781
776
|
if (error && !data) {
|
|
782
|
-
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
777
|
+
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.LoadError, { message: "Could not load the trust center", onRetry: reload });
|
|
783
778
|
} else if (!data) {
|
|
784
779
|
body = isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterSkeleton, {}) : null;
|
|
785
780
|
} else {
|
|
786
781
|
const status = monitoringStatus(data, hydrated, nowMs);
|
|
787
782
|
body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
788
783
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TRUST_STATUS_ROW_CLASS, children: [
|
|
789
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
784
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.StatusIndicator, { status: status.status, label: status.label }),
|
|
790
785
|
data.connected ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
791
|
-
|
|
786
|
+
_chunkGRB5HVEVcjs.DataAttribution,
|
|
792
787
|
{
|
|
793
788
|
icon: data.dataSource.logoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
794
|
-
|
|
789
|
+
_chunkN4NGKXUUcjs.EntityImage,
|
|
795
790
|
{
|
|
796
791
|
src: data.dataSource.logoUrl,
|
|
797
792
|
alt: data.dataSource.name,
|
|
@@ -800,17 +795,18 @@ function TrustCenterPage({
|
|
|
800
795
|
}
|
|
801
796
|
) : void 0,
|
|
802
797
|
source: data.dataSource.name,
|
|
803
|
-
lastUpdated: data.syncedAt
|
|
798
|
+
lastUpdated: data.syncedAt,
|
|
799
|
+
action: download
|
|
804
800
|
}
|
|
805
|
-
) :
|
|
801
|
+
) : download
|
|
806
802
|
] }),
|
|
807
803
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TRUST_BODY_GRID_CLASS, children: [
|
|
808
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TRUST_SECTIONS_COLUMN_CLASS, children:
|
|
804
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TRUST_SECTIONS_COLUMN_CLASS, children: columnSections.map((section) => {
|
|
809
805
|
const view = views[section.id];
|
|
810
806
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustSection, { id: section.id, title: section.label, lead: view.lead, children: view.render(data) }, section.id);
|
|
811
807
|
}) }),
|
|
812
808
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "aside", { className: "hidden content-lg:block", "aria-label": "Trust center sections", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky", style: { top: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
813
|
-
|
|
809
|
+
_chunkSOTXV3T5cjs.StickySectionNav,
|
|
814
810
|
{
|
|
815
811
|
sections: sections.map((section) => ({ id: section.id, label: section.label })),
|
|
816
812
|
activeSection,
|
|
@@ -829,7 +825,15 @@ function TrustCenterPage({
|
|
|
829
825
|
)
|
|
830
826
|
] });
|
|
831
827
|
}
|
|
832
|
-
return /* @__PURE__ */ _jsxruntime.
|
|
828
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
829
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChrome, { shell, title, subtitle, backButton, actions, children: body }),
|
|
830
|
+
beforeFaq,
|
|
831
|
+
faqLast && faqSection && data ? (
|
|
832
|
+
// The page's own content box at its FULL width (no section-rail column): a closing FAQ takes the
|
|
833
|
+
// same space the FAQ block takes at the foot of every other page.
|
|
834
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: shell ? "bg-ods-bg" : void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: shell ? "page-shell-content mx-auto max-w-[1920px]" : "page-shell-content", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustSection, { id: faqSection.id, title: faqSection.label, lead: views.faq.lead, children: views.faq.render(data) }) }) })
|
|
835
|
+
) : null
|
|
836
|
+
] });
|
|
833
837
|
}
|
|
834
838
|
function TrustCenterChrome({
|
|
835
839
|
shell,
|
|
@@ -842,7 +846,7 @@ function TrustCenterChrome({
|
|
|
842
846
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
843
847
|
const backCfg = backButton === false ? void 0 : { label: _nullishCoalesce(backButton.label, () => ( "Back to home")), onClick: () => router.push(_nullishCoalesce(backButton.href, () => ( "/"))) };
|
|
844
848
|
const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
845
|
-
|
|
849
|
+
_chunkN4NGKXUUcjs.PageLayout,
|
|
846
850
|
{
|
|
847
851
|
title,
|
|
848
852
|
subtitle,
|
|
@@ -854,13 +858,13 @@ function TrustCenterChrome({
|
|
|
854
858
|
children
|
|
855
859
|
}
|
|
856
860
|
);
|
|
857
|
-
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
861
|
+
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
|
|
858
862
|
}
|
|
859
863
|
function TrustCenterPageSkeleton({
|
|
860
864
|
shell = true,
|
|
861
865
|
backButton = false,
|
|
862
|
-
title =
|
|
863
|
-
subtitle =
|
|
866
|
+
title = _chunkDGNGABNGcjs.TRUST_CENTER_TITLE,
|
|
867
|
+
subtitle = _chunkDGNGABNGcjs.TRUST_CENTER_TAGLINE
|
|
864
868
|
}) {
|
|
865
869
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChrome, { shell, title, subtitle, backButton, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterSkeleton, {}) });
|
|
866
870
|
}
|
|
@@ -936,7 +940,7 @@ function SystemCard({
|
|
|
936
940
|
)) }),
|
|
937
941
|
system.commands.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: COMMANDS_CLASS, children: system.commands.map(
|
|
938
942
|
(row) => row.command ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
939
|
-
|
|
943
|
+
_chunkGRB5HVEVcjs.CommandBox,
|
|
940
944
|
{
|
|
941
945
|
title: _nullishCoalesce(row.label, () => ( void 0)),
|
|
942
946
|
command: row.command,
|
|
@@ -971,9 +975,9 @@ function WebCard({ web }) {
|
|
|
971
975
|
}
|
|
972
976
|
function CardsSkeleton({ label }) {
|
|
973
977
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CARDS_GRID_CLASS, "aria-busy": "true", "aria-label": label, children: [0, 1].map((card) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CARD_CLASS, children: [
|
|
974
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
975
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
976
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
978
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { className: "h-6 w-32 rounded" }),
|
|
979
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { className: "h-12 w-56 rounded-md" }),
|
|
980
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NVSC3BUcjs.UnifiedSkeleton, { className: "h-14 w-full rounded-md" })
|
|
977
981
|
] }, card)) });
|
|
978
982
|
}
|
|
979
983
|
function Section({ id, title, children }) {
|
|
@@ -1005,7 +1009,7 @@ function DownloadAppsPage({
|
|
|
1005
1009
|
const offersDesktop = showDesktop && (!data || systems.length > 0);
|
|
1006
1010
|
let body;
|
|
1007
1011
|
if (error && !data) {
|
|
1008
|
-
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1012
|
+
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.LoadError, { message: "Could not load the downloads", onRetry: reload });
|
|
1009
1013
|
} else if (!data) {
|
|
1010
1014
|
body = isLoading ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1011
1015
|
showDesktop && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Section, { id: "download-desktop", title: "Desktop app", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardsSkeleton, { label: "Loading the installers" }) }),
|
|
@@ -1019,7 +1023,7 @@ function DownloadAppsPage({
|
|
|
1019
1023
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardHeader, { title: storeCardTitle(mobile) }),
|
|
1020
1024
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "m-0 text-ods-text-secondary text-h4", children: "Get alerts and respond to tickets on the go." }),
|
|
1021
1025
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1022
|
-
|
|
1026
|
+
_chunkGRB5HVEVcjs.StoreBadgeLinks,
|
|
1023
1027
|
{
|
|
1024
1028
|
appStoreUrl: mobile.appStoreUrl,
|
|
1025
1029
|
googlePlayUrl: mobile.googlePlayUrl,
|
|
@@ -1040,7 +1044,7 @@ function DownloadAppsPage({
|
|
|
1040
1044
|
" on your phone."
|
|
1041
1045
|
] })
|
|
1042
1046
|
] }),
|
|
1043
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1047
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.MobileAppQr, { install: mobile.install, className: "h-[144px] w-[144px] shrink-0" })
|
|
1044
1048
|
]
|
|
1045
1049
|
}
|
|
1046
1050
|
)
|
|
@@ -1070,8 +1074,8 @@ function DownloadAppsChrome({
|
|
|
1070
1074
|
}) {
|
|
1071
1075
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
1072
1076
|
const backCfg = backButton === false ? void 0 : { label: _nullishCoalesce(backButton.label, () => ( "Back to home")), onClick: () => router.push(_nullishCoalesce(backButton.href, () => ( "/"))) };
|
|
1073
|
-
const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1074
|
-
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1077
|
+
const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN4NGKXUUcjs.PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children });
|
|
1078
|
+
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
|
|
1075
1079
|
}
|
|
1076
1080
|
|
|
1077
1081
|
|
|
@@ -1087,4 +1091,4 @@ function DownloadAppsChrome({
|
|
|
1087
1091
|
|
|
1088
1092
|
|
|
1089
1093
|
|
|
1090
|
-
exports.DeliveryPage = DeliveryPage; exports.DocsHubPage =
|
|
1094
|
+
exports.DeliveryPage = DeliveryPage; exports.DocsHubPage = _chunk5CJGNPTTcjs.DocsHubPage; exports.DownloadAppsPage = DownloadAppsPage; exports.FaqDocumentPage = _chunkFR4MFSH5cjs.FaqDocumentPage; exports.HelpCenterList = _chunkJQ7A7PO5cjs.HelpCenterList; exports.LegalDocumentPage = _chunkL5CAET76cjs.LegalDocumentPage; exports.OnboardingGuideDetailView = _chunkIPUDFAU5cjs.OnboardingGuideDetailView; exports.OnboardingGuidesCatalogPage = OnboardingGuidesCatalogPage; exports.ProductReleasesListPage = ProductReleasesListPage; exports.ReleaseDetailPage = _chunkL5CAET76cjs.ReleaseDetailPage; exports.RoadmapPage = RoadmapPage; exports.TrustCenterPage = TrustCenterPage; exports.TrustCenterPageSkeleton = TrustCenterPageSkeleton;
|