@flamingo-stack/openframe-frontend-core 0.0.720 → 0.0.721
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/assets/index.cjs +6 -0
- package/dist/assets/index.d.ts +1 -0
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +5 -1
- package/dist/assets/mobile-app-qr.d.ts +17 -0
- package/dist/assets/mobile-app-qr.d.ts.map +1 -0
- package/dist/{chunk-7IOU6BJE.js → chunk-2P2M27EW.js} +2393 -2367
- package/dist/{chunk-3HZ6XSZC.js → chunk-2TXGR7IK.js} +136 -59
- package/dist/{chunk-LO3KCLEF.js → chunk-3LY7V3RF.js} +3 -3
- package/dist/{chunk-6BLN5WDS.cjs → chunk-3R32ZNA2.cjs} +40 -40
- package/dist/{chunk-WSDT7LYL.js → chunk-3UBWDR65.js} +1 -1
- package/dist/{chunk-XW3Q623Q.js → chunk-44Q6MV7C.js} +2 -2
- package/dist/{chunk-CMZ3QTFQ.js → chunk-4I3K6LEH.js} +24 -0
- package/dist/{chunk-4SIZCHVZ.cjs → chunk-4LY6R4TN.cjs} +126 -49
- package/dist/{chunk-TORERAXD.js → chunk-57UTI7ZH.js} +6 -6
- package/dist/{chunk-K2BYVPGR.js → chunk-5QXE5HMV.js} +4 -4
- package/dist/{chunk-QF464PPL.cjs → chunk-6AJIOW3S.cjs} +57 -57
- package/dist/{chunk-B2N4YX66.js → chunk-6YBUQAOH.js} +1 -1
- package/dist/{chunk-6W46LVK4.js → chunk-74N742ZG.js} +6 -6
- package/dist/{chunk-4HJRHEXD.cjs → chunk-7Z5FMQYR.cjs} +22 -22
- package/dist/{chunk-WBNAEYTQ.cjs → chunk-BYUIFT7Q.cjs} +6 -6
- package/dist/{chunk-VF2CJXZ2.cjs → chunk-BYVVE7HP.cjs} +58 -58
- package/dist/{chunk-AZRI4XBP.js → chunk-CO3FOZIH.js} +1 -1
- package/dist/{chunk-XSM46FHD.cjs → chunk-D2DH6VZL.cjs} +3 -3
- package/dist/{chunk-KSGMZHVV.cjs → chunk-DFM572VH.cjs} +2 -2
- package/dist/{chunk-YDPKUAP4.js → chunk-DJ4IFQNQ.js} +2 -0
- package/dist/{chunk-VBHGJFA3.js → chunk-E6SMMMKV.js} +12 -12
- package/dist/{chunk-DHNJSQGX.cjs → chunk-F7ORKKEF.cjs} +103 -103
- package/dist/{chunk-RFUOIQSG.cjs → chunk-GCK75D7F.cjs} +9 -9
- package/dist/{chunk-ZHD3F2TH.cjs → chunk-GGBYZKMS.cjs} +11 -11
- package/dist/{chunk-YK3X74SF.js → chunk-GYAXV3MZ.js} +3 -3
- package/dist/{chunk-RDP5UZXQ.cjs → chunk-HJMSNOBT.cjs} +344 -323
- package/dist/{chunk-DFQYAYBH.cjs → chunk-HQIOMFJH.cjs} +2 -0
- package/dist/{chunk-PXAKSPLZ.js → chunk-HXB7SEYG.js} +27 -6
- package/dist/{chunk-HTS46FFY.cjs → chunk-I2254QN6.cjs} +16 -16
- package/dist/{chunk-ILNN6QRW.js → chunk-JDBZ4ZHU.js} +3 -3
- package/dist/{chunk-GQ7JJUIT.cjs → chunk-K2JUJ37D.cjs} +25 -1
- package/dist/{chunk-URW23QUM.js → chunk-K76ACBR3.js} +2 -2
- package/dist/{chunk-2NASBO7O.js → chunk-KFOAV77K.js} +2 -2
- package/dist/{chunk-Q5327DXK.js → chunk-LAXKEBDD.js} +10 -10
- package/dist/{chunk-O3MKJU6A.js → chunk-LGKMR7NZ.js} +4 -4
- package/dist/{chunk-5XDCCQ4A.cjs → chunk-LODMNSQY.cjs} +13 -13
- package/dist/{chunk-V6B2FBZK.js → chunk-NJ5TBTJG.js} +7 -7
- package/dist/{chunk-HFEYEPOG.cjs → chunk-NMPVK53I.cjs} +29 -29
- package/dist/{chunk-GANIUMRU.js → chunk-NPSJE7J3.js} +1 -1
- package/dist/{chunk-IL3ZWNM2.cjs → chunk-O5EHOJZD.cjs} +4 -4
- package/dist/{chunk-KT3U3ZRP.cjs → chunk-OKE5BIQH.cjs} +8 -8
- package/dist/{chunk-RZQGIWK3.cjs → chunk-QLTXT562.cjs} +2 -2
- package/dist/{chunk-PSMJYZMV.js → chunk-QQCFPMAA.js} +2 -2
- package/dist/{chunk-7LPR4RZ3.cjs → chunk-QYS4YVEP.cjs} +31 -31
- package/dist/{chunk-VYVPII4W.js → chunk-RCI3PALX.js} +6 -6
- package/dist/{chunk-P3JMAMHP.js → chunk-REETLEL5.js} +1 -1
- package/dist/{chunk-2C72EWQR.cjs → chunk-RJMWJAJO.cjs} +26 -26
- package/dist/{chunk-ISCZ6UNF.cjs → chunk-RQZQHLNS.cjs} +73 -73
- package/dist/{chunk-FFT56TYB.cjs → chunk-RUZIICXT.cjs} +2 -2
- package/dist/{chunk-7HYEQKN6.js → chunk-S63QBBT7.js} +5 -5
- package/dist/{chunk-B5LNX4GZ.js → chunk-UXU7Y5BH.js} +2 -2
- package/dist/{chunk-DYDDAA6O.cjs → chunk-UZTOI6FJ.cjs} +766 -740
- package/dist/{chunk-EVMM3JE6.cjs → chunk-VFICDEYJ.cjs} +43 -43
- package/dist/{chunk-DOPOHO6H.cjs → chunk-XE2K53GH.cjs} +18 -18
- package/dist/{chunk-UWJMDFDO.cjs → chunk-XXO52RZR.cjs} +26 -26
- package/dist/{chunk-VYZCKY5K.js → chunk-ZLUFEWZZ.js} +7 -7
- package/dist/{chunk-NYSMDM4J.cjs → chunk-ZSOFLPQN.cjs} +7 -7
- package/dist/{chunk-ZPHOQDAE.js → chunk-ZZEKXGFS.js} +1 -1
- package/dist/{cloud-tenants-UQZASXUB.cjs → cloud-tenants-HZHKRUIW.cjs} +13 -13
- package/dist/{cloud-tenants-RKQRSDNE.js → cloud-tenants-Q4TCJS5Y.js} +12 -12
- package/dist/components/calendar.cjs +4 -4
- package/dist/components/calendar.js +1 -1
- package/dist/components/case-studies/index.cjs +27 -27
- package/dist/components/case-studies/index.js +13 -13
- package/dist/components/chat/index.cjs +8 -8
- package/dist/components/chat/index.js +7 -7
- package/dist/components/contact/index.cjs +14 -14
- package/dist/components/contact/index.js +13 -13
- package/dist/components/docs/index.cjs +17 -17
- package/dist/components/docs/index.js +16 -16
- package/dist/components/embeds/index.cjs +14 -14
- package/dist/components/embeds/index.js +13 -13
- package/dist/components/faq/index.cjs +14 -14
- package/dist/components/faq/index.js +13 -13
- package/dist/components/features/index.cjs +13 -13
- package/dist/components/features/index.js +12 -12
- package/dist/components/help-center-pages/download-apps-page.d.ts +55 -0
- package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -0
- package/dist/components/help-center-pages/index.cjs +329 -114
- package/dist/components/help-center-pages/index.d.ts +1 -0
- package/dist/components/help-center-pages/index.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.js +243 -28
- package/dist/components/index.cjs +81 -79
- package/dist/components/index.js +28 -26
- package/dist/components/meeting-scheduler/index.cjs +51 -51
- package/dist/components/meeting-scheduler/index.js +14 -14
- package/dist/components/navigation/index.cjs +16 -16
- package/dist/components/navigation/index.js +15 -15
- package/dist/components/onboarding-guides/index.cjs +16 -16
- package/dist/components/onboarding-guides/index.js +15 -15
- package/dist/components/product-demo/index.cjs +8 -8
- package/dist/components/product-demo/index.js +8 -8
- package/dist/components/related-content/index.cjs +5 -5
- package/dist/components/related-content/index.js +4 -4
- package/dist/components/tickets/index.cjs +18 -18
- package/dist/components/tickets/index.js +17 -17
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +11 -11
- package/dist/components/ui/file-manager/index.js +1 -1
- package/dist/components/ui/index.cjs +15 -13
- 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 +14 -12
- package/dist/components/ui/mobile-app-qr.d.ts +23 -0
- package/dist/components/ui/mobile-app-qr.d.ts.map +1 -0
- package/dist/components/ui/store-badges.d.ts +7 -4
- package/dist/components/ui/store-badges.d.ts.map +1 -1
- package/dist/{devices-7Q2EUM7B.cjs → devices-6XHUFIC6.cjs} +14 -14
- package/dist/{devices-U3Y4IIW4.js → devices-NOUGVTES.js} +12 -12
- package/dist/hooks/index.cjs +9 -3
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +8 -2
- package/dist/hooks/use-downloads.d.ts +41 -0
- package/dist/hooks/use-downloads.d.ts.map +1 -0
- package/dist/index.cjs +57 -17
- package/dist/index.js +56 -16
- package/dist/{knowledge-NST53EXE.js → knowledge-2YTUXQ2Z.js} +12 -12
- package/dist/{knowledge-UYIZ74MA.cjs → knowledge-ANEKPMO2.cjs} +14 -14
- package/dist/{logs-HTH7X7KV.cjs → logs-U3IB3HUM.cjs} +22 -22
- package/dist/{logs-JVTRG232.js → logs-WVQIONUT.js} +12 -12
- package/dist/{policies-DTXTRK56.js → policies-66EGDW2H.js} +12 -12
- package/dist/{policies-MXK2HB4W.cjs → policies-UFRN2EQF.cjs} +17 -17
- package/dist/{remote-session-LAJZKQBN.js → remote-session-6WEUJZDC.js} +4 -4
- package/dist/{remote-session-SKKF4PBV.cjs → remote-session-A75X5NPC.cjs} +6 -6
- package/dist/{software-update-P6BSM6HX.cjs → software-update-2MHKL76D.cjs} +17 -17
- package/dist/{software-update-6RHMPM3W.js → software-update-3ZD3MXF3.js} +12 -12
- package/dist/{tickets-board-BHLPAVNJ.cjs → tickets-board-IFWMIZ35.cjs} +9 -9
- package/dist/{tickets-board-PYDNELSK.js → tickets-board-MYXG3V72.js} +4 -4
- package/dist/types/downloads.d.ts +67 -0
- package/dist/types/downloads.d.ts.map +1 -0
- package/dist/types/index.cjs +24 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +16 -1
- package/dist/utils/index.cjs +20 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +16 -1
- package/dist/utils/mobile-app.cjs +46 -0
- package/dist/utils/mobile-app.d.ts +40 -0
- package/dist/utils/mobile-app.d.ts.map +1 -0
- package/dist/utils/mobile-app.js +40 -0
- package/package.json +7 -1
- package/src/assets/index.ts +1 -0
- package/src/assets/mobile-app-qr.ts +19 -0
- package/src/components/help-center-pages/download-apps-page.tsx +364 -0
- package/src/components/help-center-pages/index.ts +1 -0
- package/src/components/ui/button/button.tsx +3 -0
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/mobile-app-qr.tsx +40 -0
- package/src/components/ui/store-badges.tsx +17 -9
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-downloads.ts +138 -0
- package/src/types/downloads.ts +82 -0
- package/src/types/index.ts +1 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/mobile-app.ts +57 -0
|
@@ -6,38 +6,38 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkRQZQHLNScjs = require('../../chunk-RQZQHLNS.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
require('../../chunk-
|
|
14
|
-
require('../../chunk-
|
|
12
|
+
var _chunk3R32ZNA2cjs = require('../../chunk-3R32ZNA2.cjs');
|
|
13
|
+
require('../../chunk-GGBYZKMS.cjs');
|
|
14
|
+
require('../../chunk-DFM572VH.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkRJMWJAJOcjs = require('../../chunk-RJMWJAJO.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _chunkI2254QN6cjs = require('../../chunk-I2254QN6.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _chunkF7ORKKEFcjs = require('../../chunk-F7ORKKEF.cjs');
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _chunkNMPVK53Icjs = require('../../chunk-NMPVK53I.cjs');
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
33
|
-
require('../../chunk-
|
|
34
|
-
require('../../chunk-
|
|
32
|
+
var _chunkXE2K53GHcjs = require('../../chunk-XE2K53GH.cjs');
|
|
33
|
+
require('../../chunk-ZSOFLPQN.cjs');
|
|
34
|
+
require('../../chunk-D2DH6VZL.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
var
|
|
39
|
-
require('../../chunk-
|
|
40
|
-
require('../../chunk-
|
|
38
|
+
var _chunkQYS4YVEPcjs = require('../../chunk-QYS4YVEP.cjs');
|
|
39
|
+
require('../../chunk-O5EHOJZD.cjs');
|
|
40
|
+
require('../../chunk-LODMNSQY.cjs');
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
|
|
@@ -47,21 +47,26 @@ require('../../chunk-5XDCCQ4A.cjs');
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
var _chunkUZTOI6FJcjs = require('../../chunk-UZTOI6FJ.cjs');
|
|
54
|
+
require('../../chunk-7Z5FMQYR.cjs');
|
|
52
55
|
require('../../chunk-HQQE74RO.cjs');
|
|
53
56
|
require('../../chunk-DEY6XXGO.cjs');
|
|
54
57
|
|
|
55
58
|
|
|
56
59
|
|
|
57
|
-
var
|
|
60
|
+
var _chunkBYVVE7HPcjs = require('../../chunk-BYVVE7HP.cjs');
|
|
58
61
|
|
|
59
62
|
|
|
60
|
-
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
var _chunk4LY6R4TNcjs = require('../../chunk-4LY6R4TN.cjs');
|
|
61
66
|
require('../../chunk-B4NCVYEQ.cjs');
|
|
62
67
|
require('../../chunk-MZ4KBSH7.cjs');
|
|
63
68
|
require('../../chunk-A6P6DHEZ.cjs');
|
|
64
|
-
require('../../chunk-
|
|
69
|
+
require('../../chunk-BYUIFT7Q.cjs');
|
|
65
70
|
require('../../chunk-LX22Y43B.cjs');
|
|
66
71
|
|
|
67
72
|
|
|
@@ -69,21 +74,32 @@ require('../../chunk-LX22Y43B.cjs');
|
|
|
69
74
|
|
|
70
75
|
|
|
71
76
|
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
var _chunkHJMSNOBTcjs = require('../../chunk-HJMSNOBT.cjs');
|
|
81
|
+
require('../../chunk-OKE5BIQH.cjs');
|
|
74
82
|
require('../../chunk-EWPR7662.cjs');
|
|
75
83
|
|
|
76
84
|
|
|
77
85
|
|
|
78
86
|
|
|
79
87
|
|
|
80
|
-
var
|
|
81
|
-
require('../../chunk-
|
|
88
|
+
var _chunkQLTXT562cjs = require('../../chunk-QLTXT562.cjs');
|
|
89
|
+
require('../../chunk-RUZIICXT.cjs');
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
82
93
|
|
|
83
94
|
|
|
84
95
|
|
|
85
96
|
|
|
86
|
-
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
var _chunkK2JUJ37Dcjs = require('../../chunk-K2JUJ37D.cjs');
|
|
87
103
|
require('../../chunk-WVOTC7HW.cjs');
|
|
88
104
|
|
|
89
105
|
|
|
@@ -104,7 +120,7 @@ var _chunk7DNL734Scjs = require('../../chunk-7DNL734S.cjs');
|
|
|
104
120
|
|
|
105
121
|
|
|
106
122
|
|
|
107
|
-
var
|
|
123
|
+
var _chunkGCK75D7Fcjs = require('../../chunk-GCK75D7F.cjs');
|
|
108
124
|
require('../../chunk-AL2GUHAJ.cjs');
|
|
109
125
|
|
|
110
126
|
|
|
@@ -123,6 +139,9 @@ require('../../chunk-LLSUVPQC.cjs');
|
|
|
123
139
|
|
|
124
140
|
|
|
125
141
|
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
126
145
|
var _chunkVX4E6YSBcjs = require('../../chunk-VX4E6YSB.cjs');
|
|
127
146
|
require('../../chunk-RDW5JAME.cjs');
|
|
128
147
|
require('../../chunk-XXBLN4BP.cjs');
|
|
@@ -130,13 +149,15 @@ require('../../chunk-2Y7QZAB2.cjs');
|
|
|
130
149
|
require('../../chunk-4GFNWALL.cjs');
|
|
131
150
|
|
|
132
151
|
|
|
133
|
-
var
|
|
152
|
+
var _chunkHQIOMFJHcjs = require('../../chunk-HQIOMFJH.cjs');
|
|
134
153
|
require('../../chunk-LLRGR4I5.cjs');
|
|
135
154
|
require('../../chunk-G7SBHMRR.cjs');
|
|
136
155
|
require('../../chunk-G6OHIX5C.cjs');
|
|
137
156
|
require('../../chunk-3LU4UFPS.cjs');
|
|
138
157
|
require('../../chunk-CPA2CKRZ.cjs');
|
|
139
|
-
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
var _chunk3ATAYP36cjs = require('../../chunk-3ATAYP36.cjs');
|
|
140
161
|
require('../../chunk-QBJ4SE23.cjs');
|
|
141
162
|
|
|
142
163
|
// src/components/help-center-pages/roadmap-page.tsx
|
|
@@ -154,9 +175,9 @@ function RoadmapPage({
|
|
|
154
175
|
belowContent,
|
|
155
176
|
shell
|
|
156
177
|
}) {
|
|
157
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
178
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXE2K53GHcjs.DevSectionPage, { sectionKey: "roadmap", backButton, title, subtitle, shell, children: [
|
|
158
179
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
159
|
-
|
|
180
|
+
_chunkRQZQHLNScjs.RoadmapView,
|
|
160
181
|
{
|
|
161
182
|
endpoint: roadmapEndpoint,
|
|
162
183
|
initialItems,
|
|
@@ -182,9 +203,9 @@ function ProductReleasesListPage({
|
|
|
182
203
|
belowContent,
|
|
183
204
|
shell
|
|
184
205
|
}) {
|
|
185
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
206
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXE2K53GHcjs.DevSectionPage, { sectionKey: "releases", backButton, title, subtitle, shell, children: [
|
|
186
207
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
187
|
-
|
|
208
|
+
_chunkRQZQHLNScjs.ProductReleasesView,
|
|
188
209
|
{
|
|
189
210
|
endpoint: releasesEndpoint,
|
|
190
211
|
basePath,
|
|
@@ -207,8 +228,8 @@ function DeliveryPage({
|
|
|
207
228
|
belowContent,
|
|
208
229
|
shell
|
|
209
230
|
}) {
|
|
210
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
211
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
231
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXE2K53GHcjs.DevSectionPage, { sectionKey: "delivery", backButton, title, subtitle, shell, children: [
|
|
232
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRQZQHLNScjs.DeliveryLists, { completedApiEndpoint: completedEndpoint, inProgressApiEndpoint: inProgressEndpoint }),
|
|
212
233
|
belowContent
|
|
213
234
|
] });
|
|
214
235
|
}
|
|
@@ -228,9 +249,9 @@ function OnboardingGuidesCatalogPage({
|
|
|
228
249
|
belowContent,
|
|
229
250
|
shell
|
|
230
251
|
}) {
|
|
231
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
252
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXE2K53GHcjs.DevSectionPage, { sectionKey: "onboarding", backButton, title, subtitle, shell, children: [
|
|
232
253
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
233
|
-
|
|
254
|
+
_chunkQYS4YVEPcjs.OnboardingGuidesCatalogView,
|
|
234
255
|
{
|
|
235
256
|
guidesEndpoint,
|
|
236
257
|
sectionsEndpoint,
|
|
@@ -279,10 +300,10 @@ function TrustSection({
|
|
|
279
300
|
id,
|
|
280
301
|
"aria-labelledby": headingId,
|
|
281
302
|
className: "flex flex-col gap-[var(--spacing-system-m)]",
|
|
282
|
-
style: { scrollMarginTop:
|
|
303
|
+
style: { scrollMarginTop: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX },
|
|
283
304
|
children: [
|
|
284
305
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
285
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { id: headingId, className:
|
|
306
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { id: headingId, className: _chunkGCK75D7Fcjs.SECTION_HEADING_CLASS, children: title }),
|
|
286
307
|
lead ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: BODY_TEXT, children: lead }) : null
|
|
287
308
|
] }),
|
|
288
309
|
children
|
|
@@ -303,18 +324,18 @@ function AiSection({ practices }) {
|
|
|
303
324
|
}
|
|
304
325
|
]
|
|
305
326
|
}));
|
|
306
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
327
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.StackedRowsPanel, { rows });
|
|
307
328
|
}
|
|
308
329
|
function ComplianceSection({ frameworks }) {
|
|
309
330
|
const rows = frameworks.map((framework) => {
|
|
310
|
-
const entry =
|
|
331
|
+
const entry = _chunkGCK75D7Fcjs.trustFrameworkMonitoringEntry.call(void 0, framework.monitoring);
|
|
311
332
|
const Icon = FRAMEWORK_ICONS[entry.icon];
|
|
312
333
|
return {
|
|
313
334
|
id: framework.id,
|
|
314
335
|
columns: [
|
|
315
336
|
{
|
|
316
337
|
key: "framework",
|
|
317
|
-
leadingIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
338
|
+
leadingIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.ComplianceLogo, { names: [framework.standard, framework.label], fallback: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { "aria-hidden": "true" }) }),
|
|
318
339
|
value: framework.label,
|
|
319
340
|
label: _nullishCoalesce(framework.description, () => ( void 0)),
|
|
320
341
|
wrap: true
|
|
@@ -323,12 +344,12 @@ function ComplianceSection({ frameworks }) {
|
|
|
323
344
|
key: "monitoring",
|
|
324
345
|
width: ACTION_COLUMN,
|
|
325
346
|
align: "right",
|
|
326
|
-
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
347
|
+
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGCK75D7Fcjs.StatusBadge, { text: _chunkGCK75D7Fcjs.trustFrameworkBadge.call(void 0, framework), colorScheme: entry.color, singleLine: true })
|
|
327
348
|
}
|
|
328
349
|
]
|
|
329
350
|
};
|
|
330
351
|
});
|
|
331
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
352
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.StackedRowsPanel, { rows });
|
|
332
353
|
}
|
|
333
354
|
var CONTROL_ROW_CLASS = "h-14 content-md:h-20 overflow-hidden";
|
|
334
355
|
function controlRows(controls) {
|
|
@@ -361,22 +382,22 @@ function ControlsListSkeleton() {
|
|
|
361
382
|
{
|
|
362
383
|
key: "control",
|
|
363
384
|
content: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
364
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
365
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
385
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.TextSkeleton.Body, { className: "w-2/3" }),
|
|
386
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.TextSkeleton.Caption, { className: "w-full" })
|
|
366
387
|
] })
|
|
367
388
|
}
|
|
368
389
|
]
|
|
369
390
|
}));
|
|
370
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
391
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.StackedRowsPanel, { rows });
|
|
371
392
|
}
|
|
372
393
|
function ControlsSection({ endpoint, seed }) {
|
|
373
394
|
const [domain, setDomain] = _react.useState.call(void 0, seed.domain);
|
|
374
395
|
const [typed, setTyped] = _react.useState.call(void 0, "");
|
|
375
|
-
const query =
|
|
376
|
-
const url =
|
|
377
|
-
const seedUrl =
|
|
378
|
-
const answer =
|
|
379
|
-
const typedQuery =
|
|
396
|
+
const query = _chunkK2JUJ37Dcjs.useDebounce.call(void 0, _chunkGCK75D7Fcjs.normalizeTrustControlQuery.call(void 0, typed), _chunkGCK75D7Fcjs.TRUST_CENTER_SEARCH_DEBOUNCE_MS);
|
|
397
|
+
const url = _chunkGCK75D7Fcjs.trustCenterControlsUrl.call(void 0, endpoint, { domain, query });
|
|
398
|
+
const seedUrl = _chunkGCK75D7Fcjs.trustCenterControlsUrl.call(void 0, endpoint, { domain: seed.domain, query: "" });
|
|
399
|
+
const answer = _chunkGCK75D7Fcjs.useSelfFetch.call(void 0, url, url === seedUrl ? { initialData: seed } : void 0);
|
|
400
|
+
const typedQuery = _chunkGCK75D7Fcjs.normalizeTrustControlQuery.call(void 0, typed);
|
|
380
401
|
const current = answer.data && !answer.isLoading && typedQuery === query && answer.data.query === query ? answer.data : null;
|
|
381
402
|
const [categories, setCategories] = _react.useState.call(void 0, seed.categories);
|
|
382
403
|
if (current && current.categories !== categories) setCategories(current.categories);
|
|
@@ -395,12 +416,12 @@ function ControlsSection({ endpoint, seed }) {
|
|
|
395
416
|
else summary = `${countLabel(current.controls.length, "passing control")} in ${current.domain}`;
|
|
396
417
|
let body;
|
|
397
418
|
if (answer.error && !current) {
|
|
398
|
-
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
419
|
+
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.LoadError, { message: "Could not load the controls", onRetry: answer.reload });
|
|
399
420
|
} else if (!current) {
|
|
400
421
|
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ControlsListSkeleton, {});
|
|
401
422
|
} else if (current.controls.length === 0) {
|
|
402
423
|
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
403
|
-
|
|
424
|
+
_chunkXE2K53GHcjs.ListEmptyState,
|
|
404
425
|
{
|
|
405
426
|
isFiltered: true,
|
|
406
427
|
filtered: {
|
|
@@ -413,11 +434,11 @@ function ControlsSection({ endpoint, seed }) {
|
|
|
413
434
|
}
|
|
414
435
|
);
|
|
415
436
|
} else {
|
|
416
|
-
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
437
|
+
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.StackedRowsPanel, { rows: controlRows(current.controls) });
|
|
417
438
|
}
|
|
418
439
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
419
440
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
420
|
-
|
|
441
|
+
_chunkUZTOI6FJcjs.TabNavigation,
|
|
421
442
|
{
|
|
422
443
|
tabs,
|
|
423
444
|
activeTab,
|
|
@@ -427,7 +448,7 @@ function ControlsSection({ endpoint, seed }) {
|
|
|
427
448
|
/* @__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: [
|
|
428
449
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: BODY_TEXT, "aria-live": "polite", children: summary }),
|
|
429
450
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full content-md:w-80", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
430
|
-
|
|
451
|
+
_chunkUZTOI6FJcjs.SearchInput,
|
|
431
452
|
{
|
|
432
453
|
placeholder: "Search controls",
|
|
433
454
|
value: typed,
|
|
@@ -437,7 +458,7 @@ function ControlsSection({ endpoint, seed }) {
|
|
|
437
458
|
}
|
|
438
459
|
) })
|
|
439
460
|
] }),
|
|
440
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
461
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.ScrollShadow, { className: CONTROLS_LIST_HEIGHT, scrollClassName: "h-full", "data-testid": "controls-list", children: body })
|
|
441
462
|
] });
|
|
442
463
|
}
|
|
443
464
|
function DocumentsSection({
|
|
@@ -463,7 +484,7 @@ function DocumentsSection({
|
|
|
463
484
|
width: ACTION_COLUMN,
|
|
464
485
|
align: "right",
|
|
465
486
|
content: href === null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
466
|
-
|
|
487
|
+
_chunkHQIOMFJHcjs.Button,
|
|
467
488
|
{
|
|
468
489
|
variant: "outline",
|
|
469
490
|
size: "small",
|
|
@@ -471,12 +492,12 @@ function DocumentsSection({
|
|
|
471
492
|
"aria-label": `Request ${document.title}`,
|
|
472
493
|
children: "Request"
|
|
473
494
|
}
|
|
474
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
495
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHQIOMFJHcjs.Button, { variant: "outline", size: "small", href, openInNewTab: true, "aria-label": `View ${document.title}`, children: "View" })
|
|
475
496
|
}
|
|
476
497
|
]
|
|
477
498
|
};
|
|
478
499
|
});
|
|
479
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
500
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.StackedRowsPanel, { rows });
|
|
480
501
|
}
|
|
481
502
|
function DocumentRequestModal({
|
|
482
503
|
open,
|
|
@@ -485,14 +506,14 @@ function DocumentRequestModal({
|
|
|
485
506
|
onClose
|
|
486
507
|
}) {
|
|
487
508
|
const message = documentTitle ? `I'd like access to: ${documentTitle}.` : "I'd like access to your gated security documentation.";
|
|
488
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
489
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
490
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
509
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQLTXT562cjs.Modal, { isOpen: open, onClose, size: "medium", children: [
|
|
510
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQLTXT562cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQLTXT562cjs.ModalTitle, { children: "Request access" }) }),
|
|
511
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQLTXT562cjs.ModalContent, { children: open ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
491
512
|
/* @__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." }),
|
|
492
513
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
493
|
-
|
|
514
|
+
_chunkNMPVK53Icjs.ContactForm,
|
|
494
515
|
{
|
|
495
|
-
rescue:
|
|
516
|
+
rescue: _chunkK2JUJ37Dcjs.RESCUE_FORMS.trustCenterRequest,
|
|
496
517
|
title: "",
|
|
497
518
|
noBorder: true,
|
|
498
519
|
noPadding: true,
|
|
@@ -508,12 +529,12 @@ function DocumentRequestModal({
|
|
|
508
529
|
] });
|
|
509
530
|
}
|
|
510
531
|
function subprocessorMark({ name, logoUrl }) {
|
|
511
|
-
if (logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
532
|
+
if (logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBYVVE7HPcjs.EntityImage, { src: logoUrl, alt: name, fallbackText: name, sizeClassName: "size-6" });
|
|
512
533
|
const logo = _chunkIMTY3GRRcjs.brandLogoForName.call(void 0, name);
|
|
513
|
-
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
|
+
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, _chunkBYVVE7HPcjs.EntityImage, { alt: name, fallbackText: name, sizeClassName: "size-6" });
|
|
514
535
|
}
|
|
515
536
|
function countryWithFlag(country) {
|
|
516
|
-
const flag =
|
|
537
|
+
const flag = _chunkHJMSNOBTcjs.getFlagFromCountryName.call(void 0, country);
|
|
517
538
|
return flag ? `${flag} ${country}` : country;
|
|
518
539
|
}
|
|
519
540
|
function SubprocessorsSection({ subprocessors }) {
|
|
@@ -540,11 +561,11 @@ function SubprocessorsSection({ subprocessors }) {
|
|
|
540
561
|
] : []
|
|
541
562
|
]
|
|
542
563
|
}));
|
|
543
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
564
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.StackedRowsPanel, { rows });
|
|
544
565
|
}
|
|
545
566
|
function ContactSection({ onContact }) {
|
|
546
567
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
547
|
-
|
|
568
|
+
_chunkUZTOI6FJcjs.StackedRowsPanel,
|
|
548
569
|
{
|
|
549
570
|
rows: [
|
|
550
571
|
{
|
|
@@ -561,7 +582,7 @@ function ContactSection({ onContact }) {
|
|
|
561
582
|
key: "action",
|
|
562
583
|
width: ACTION_COLUMN,
|
|
563
584
|
align: "right",
|
|
564
|
-
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
585
|
+
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHQIOMFJHcjs.Button, { variant: "outline", size: "small", onClick: onContact, children: "Get in touch" })
|
|
565
586
|
}
|
|
566
587
|
]
|
|
567
588
|
}
|
|
@@ -570,11 +591,11 @@ function ContactSection({ onContact }) {
|
|
|
570
591
|
);
|
|
571
592
|
}
|
|
572
593
|
function SkeletonSection({ id, children }) {
|
|
573
|
-
const label = _nullishCoalesce(_optionalChain([
|
|
594
|
+
const label = _nullishCoalesce(_optionalChain([_chunkGCK75D7Fcjs.TRUST_CENTER_SECTIONS, 'access', _7 => _7.find, 'call', _8 => _8((section) => section.id === id), 'optionalAccess', _9 => _9.label]), () => ( id));
|
|
574
595
|
const lead = TRUST_SECTION_LEADS[id];
|
|
575
596
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { "aria-hidden": "true", className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
576
597
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
577
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className:
|
|
598
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: _chunkGCK75D7Fcjs.SECTION_HEADING_CLASS, children: label }),
|
|
578
599
|
lead ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: BODY_TEXT, children: lead }) : null
|
|
579
600
|
] }),
|
|
580
601
|
children
|
|
@@ -588,14 +609,14 @@ function skeletonRows(count, shape) {
|
|
|
588
609
|
key: "item",
|
|
589
610
|
content: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-s)]", children: [
|
|
590
611
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
591
|
-
|
|
612
|
+
_chunkHJMSNOBTcjs.UnifiedSkeleton,
|
|
592
613
|
{
|
|
593
614
|
className: shape.mark === "logo" ? "size-10 shrink-0 rounded-full" : "size-6 shrink-0 rounded"
|
|
594
615
|
}
|
|
595
616
|
),
|
|
596
617
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
597
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
598
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
618
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.UnifiedSkeleton, { variant: "text", className: "h-5 w-1/3 content-md:h-6" }),
|
|
619
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
599
620
|
] })
|
|
600
621
|
] })
|
|
601
622
|
},
|
|
@@ -603,53 +624,53 @@ function skeletonRows(count, shape) {
|
|
|
603
624
|
key: "action",
|
|
604
625
|
width: ACTION_COLUMN,
|
|
605
626
|
align: "right",
|
|
606
|
-
content: shape.action === "badge" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
627
|
+
content: shape.action === "badge" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.UnifiedSkeleton, { className: "h-4 w-28 rounded" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.UnifiedSkeleton, { className: "h-6 w-16 rounded content-md:h-8" })
|
|
607
628
|
}
|
|
608
629
|
]
|
|
609
630
|
}));
|
|
610
631
|
}
|
|
611
632
|
function ControlsSectionSkeleton() {
|
|
612
633
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
613
|
-
/* @__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,
|
|
634
|
+
/* @__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, _chunkHJMSNOBTcjs.UnifiedSkeleton, { variant: "text", className: "h-5 w-36 content-md:h-6" }) }, index)) }),
|
|
614
635
|
/* @__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: [
|
|
615
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
616
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
636
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.TextSkeleton.Body, { className: "w-48" }),
|
|
637
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.UnifiedSkeleton, { className: "h-11 w-full rounded-[6px] content-md:h-12 content-md:w-80" })
|
|
617
638
|
] }),
|
|
618
639
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CONTROLS_LIST_HEIGHT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ControlsListSkeleton, {}) })
|
|
619
640
|
] });
|
|
620
641
|
}
|
|
621
642
|
function SectionRailSkeleton() {
|
|
622
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky", style: { top:
|
|
643
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky", style: { top: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", children: [
|
|
623
644
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
624
645
|
"div",
|
|
625
646
|
{
|
|
626
647
|
className: "absolute -left-0.5 top-0 w-px bg-ods-border",
|
|
627
|
-
style: { height:
|
|
648
|
+
style: { height: _chunkGCK75D7Fcjs.TRUST_CENTER_SECTIONS.length * 40 }
|
|
628
649
|
}
|
|
629
650
|
),
|
|
630
|
-
|
|
651
|
+
_chunkGCK75D7Fcjs.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, _chunkHJMSNOBTcjs.TextSkeleton.Body, { className: "w-24" }) }, section.id))
|
|
631
652
|
] }) });
|
|
632
653
|
}
|
|
633
654
|
function TrustCenterSkeleton() {
|
|
634
655
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
635
656
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TRUST_STATUS_ROW_CLASS, "aria-hidden": "true", children: [
|
|
636
657
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5", children: [
|
|
637
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
638
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
658
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.UnifiedSkeleton, { className: "size-3 rounded-full" }),
|
|
659
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.TextSkeleton.Body, { className: "w-44" })
|
|
639
660
|
] }),
|
|
640
661
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-xxs)] content-sm:flex-row content-sm:items-center content-sm:gap-[var(--spacing-system-sf)]", children: [
|
|
641
662
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
642
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
643
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
663
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.UnifiedSkeleton, { className: "size-4 rounded" }),
|
|
664
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.TextSkeleton.Body, { className: "w-36" })
|
|
644
665
|
] }),
|
|
645
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
666
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.TextSkeleton.Body, { className: "w-44" })
|
|
646
667
|
] })
|
|
647
668
|
] }),
|
|
648
669
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TRUST_BODY_GRID_CLASS, "aria-busy": "true", "aria-label": "Loading the trust center", children: [
|
|
649
670
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TRUST_SECTIONS_COLUMN_CLASS, children: [
|
|
650
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "compliance", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
671
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "compliance", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.StackedRowsPanel, { rows: skeletonRows(3, { mark: "logo", action: "badge" }) }) }),
|
|
651
672
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "controls", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ControlsSectionSkeleton, {}) }),
|
|
652
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "documents", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
673
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonSection, { id: "documents", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.StackedRowsPanel, { rows: skeletonRows(2, { mark: "glyph", action: "button" }) }) })
|
|
653
674
|
] }),
|
|
654
675
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "aside", { className: "hidden content-lg:block", "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionRailSkeleton, {}) })
|
|
655
676
|
] })
|
|
@@ -668,7 +689,7 @@ function visibleSections(data) {
|
|
|
668
689
|
faq: data.faqs.length > 0,
|
|
669
690
|
contact: true
|
|
670
691
|
};
|
|
671
|
-
return
|
|
692
|
+
return _chunkGCK75D7Fcjs.TRUST_CENTER_SECTIONS.filter((section) => hasContent[section.id]);
|
|
672
693
|
}
|
|
673
694
|
function controlsSeed(data) {
|
|
674
695
|
const first = _nullishCoalesce(data.controlDomains[0], () => ( null));
|
|
@@ -684,22 +705,22 @@ var MONITORING_CLOCK_TICK_MS = 6e4;
|
|
|
684
705
|
function monitoringStatus(data, hydrated, nowMs) {
|
|
685
706
|
if (!data.connected) return { status: "missing", label: "Live control monitoring is not enabled yet" };
|
|
686
707
|
if (!hydrated) return { status: "missing", label: "Checking monitoring status" };
|
|
687
|
-
return
|
|
708
|
+
return _chunkGCK75D7Fcjs.isTrustCenterMonitored.call(void 0, data, nowMs) ? { status: "success", label: "Controls continuously monitored" } : { status: "pending", label: "Monitoring paused" };
|
|
688
709
|
}
|
|
689
710
|
function TrustCenterPage({
|
|
690
|
-
endpoint =
|
|
711
|
+
endpoint = _chunkGCK75D7Fcjs.TRUST_CENTER_API_PATH,
|
|
691
712
|
initialData,
|
|
692
713
|
shell = true,
|
|
693
714
|
backButton = false,
|
|
694
|
-
title =
|
|
695
|
-
subtitle =
|
|
715
|
+
title = _chunkGCK75D7Fcjs.TRUST_CENTER_TITLE,
|
|
716
|
+
subtitle = _chunkGCK75D7Fcjs.TRUST_CENTER_TAGLINE,
|
|
696
717
|
ask
|
|
697
718
|
}) {
|
|
698
|
-
const { data, isLoading, error, reload } =
|
|
719
|
+
const { data, isLoading, error, reload } = _chunkGCK75D7Fcjs.useSelfFetch.call(void 0, endpoint, {
|
|
699
720
|
initialData,
|
|
700
|
-
revalidateOnVisibleAfterMs:
|
|
721
|
+
revalidateOnVisibleAfterMs: _chunkGCK75D7Fcjs.TRUST_CENTER_CACHE_SECONDS * 1e3
|
|
701
722
|
});
|
|
702
|
-
const hydrated =
|
|
723
|
+
const hydrated = _chunkHJMSNOBTcjs.useIsHydrated.call(void 0, );
|
|
703
724
|
const [clock, setClock] = _react.useState.call(void 0, () => ({ data, nowMs: Date.now() }));
|
|
704
725
|
if (clock.data !== data) {
|
|
705
726
|
setClock(() => ({ data, nowMs: Date.now() }));
|
|
@@ -715,12 +736,12 @@ function TrustCenterPage({
|
|
|
715
736
|
documentTitle: null
|
|
716
737
|
});
|
|
717
738
|
const sections = _react.useMemo.call(void 0, () => data ? visibleSections(data) : [], [data]);
|
|
718
|
-
const { activeSection, handleSectionClick } =
|
|
739
|
+
const { activeSection, handleSectionClick } = _chunkI2254QN6cjs.useScrollSpy.call(void 0, sections, {
|
|
719
740
|
syncHash: true,
|
|
720
|
-
headerOffset:
|
|
741
|
+
headerOffset: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX
|
|
721
742
|
});
|
|
722
|
-
|
|
723
|
-
headerOffset:
|
|
743
|
+
_chunk4LY6R4TNcjs.useScrollToHash.call(void 0, sections.length > 0 ? sections.map((section) => section.id).join("|") : null, {
|
|
744
|
+
headerOffset: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX
|
|
724
745
|
});
|
|
725
746
|
const openRequest = _react.useCallback.call(void 0, (documentTitle) => setRequest({ open: true, documentTitle }), []);
|
|
726
747
|
const closeRequest = _react.useCallback.call(void 0, () => setRequest((current) => ({ ...current, open: false })), []);
|
|
@@ -745,7 +766,7 @@ function TrustCenterPage({
|
|
|
745
766
|
DocumentsSection,
|
|
746
767
|
{
|
|
747
768
|
documents: d.documents,
|
|
748
|
-
documentUrl: (document) =>
|
|
769
|
+
documentUrl: (document) => _chunkGCK75D7Fcjs.trustCenterDocumentUrl.call(void 0, endpoint, document),
|
|
749
770
|
onRequest: openRequest
|
|
750
771
|
}
|
|
751
772
|
)
|
|
@@ -754,24 +775,24 @@ function TrustCenterPage({
|
|
|
754
775
|
lead: TRUST_SECTION_LEADS.subprocessors,
|
|
755
776
|
render: (d) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SubprocessorsSection, { subprocessors: d.subprocessors })
|
|
756
777
|
},
|
|
757
|
-
faq: { render: (d) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
778
|
+
faq: { render: (d) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRJMWJAJOcjs.FaqSection, { initialFaqs: d.faqs, heading: null, ask }) },
|
|
758
779
|
contact: { render: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContactSection, { onContact: () => openRequest(null) }) }
|
|
759
780
|
};
|
|
760
781
|
let body;
|
|
761
782
|
if (error && !data) {
|
|
762
|
-
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
783
|
+
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.LoadError, { message: "Could not load the trust center", onRetry: reload });
|
|
763
784
|
} else if (!data) {
|
|
764
785
|
body = isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterSkeleton, {}) : null;
|
|
765
786
|
} else {
|
|
766
787
|
const status = monitoringStatus(data, hydrated, nowMs);
|
|
767
788
|
body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
768
789
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TRUST_STATUS_ROW_CLASS, children: [
|
|
769
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
790
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.StatusIndicator, { status: status.status, label: status.label }),
|
|
770
791
|
data.connected ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
771
|
-
|
|
792
|
+
_chunkUZTOI6FJcjs.DataAttribution,
|
|
772
793
|
{
|
|
773
794
|
icon: data.dataSource.logoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
774
|
-
|
|
795
|
+
_chunkBYVVE7HPcjs.EntityImage,
|
|
775
796
|
{
|
|
776
797
|
src: data.dataSource.logoUrl,
|
|
777
798
|
alt: data.dataSource.name,
|
|
@@ -789,8 +810,8 @@ function TrustCenterPage({
|
|
|
789
810
|
const view = views[section.id];
|
|
790
811
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustSection, { id: section.id, title: section.label, lead: view.lead, children: view.render(data) }, section.id);
|
|
791
812
|
}) }),
|
|
792
|
-
/* @__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:
|
|
793
|
-
|
|
813
|
+
/* @__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,
|
|
814
|
+
_chunkI2254QN6cjs.StickySectionNav,
|
|
794
815
|
{
|
|
795
816
|
sections: sections.map((section) => ({ id: section.id, label: section.label })),
|
|
796
817
|
activeSection,
|
|
@@ -822,7 +843,7 @@ function TrustCenterChrome({
|
|
|
822
843
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
823
844
|
const backCfg = backButton === false ? void 0 : { label: _nullishCoalesce(backButton.label, () => ( "Back to home")), onClick: () => router.push(_nullishCoalesce(backButton.href, () => ( "/"))) };
|
|
824
845
|
const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
825
|
-
|
|
846
|
+
_chunkBYVVE7HPcjs.PageLayout,
|
|
826
847
|
{
|
|
827
848
|
title,
|
|
828
849
|
subtitle,
|
|
@@ -834,17 +855,211 @@ function TrustCenterChrome({
|
|
|
834
855
|
children
|
|
835
856
|
}
|
|
836
857
|
);
|
|
837
|
-
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
858
|
+
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
|
|
838
859
|
}
|
|
839
860
|
function TrustCenterPageSkeleton({
|
|
840
861
|
shell = true,
|
|
841
862
|
backButton = false,
|
|
842
|
-
title =
|
|
843
|
-
subtitle =
|
|
863
|
+
title = _chunkGCK75D7Fcjs.TRUST_CENTER_TITLE,
|
|
864
|
+
subtitle = _chunkGCK75D7Fcjs.TRUST_CENTER_TAGLINE
|
|
844
865
|
}) {
|
|
845
866
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChrome, { shell, title, subtitle, backButton, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterSkeleton, {}) });
|
|
846
867
|
}
|
|
847
868
|
|
|
869
|
+
// src/components/help-center-pages/download-apps-page.tsx
|
|
870
|
+
|
|
871
|
+
|
|
872
|
+
var SECTIONS_CLASS = "flex flex-col gap-[var(--spacing-system-xlf)]";
|
|
873
|
+
var SECTION_CLASS = "flex flex-col gap-[var(--spacing-system-lf)]";
|
|
874
|
+
var CARDS_GRID_CLASS = "grid grid-cols-1 gap-[var(--spacing-system-lf)] content-md:grid-cols-2";
|
|
875
|
+
var cardsGridClass = (cards) => cards > 1 ? CARDS_GRID_CLASS : "grid grid-cols-1";
|
|
876
|
+
var CARD_CLASS = "flex flex-col gap-[var(--spacing-system-lf)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-lf)]";
|
|
877
|
+
var CARD_HEADER_CLASS = "flex items-center gap-[var(--spacing-system-sf)]";
|
|
878
|
+
var BUTTONS_CLASS = "flex flex-wrap gap-[var(--spacing-system-sf)]";
|
|
879
|
+
var COMMANDS_CLASS = "flex flex-col gap-[var(--spacing-system-mf)]";
|
|
880
|
+
var OS_ICONS = {
|
|
881
|
+
mac: _chunkVX4E6YSBcjs.AppleLogoIcon,
|
|
882
|
+
windows: _chunkVX4E6YSBcjs.WindowsLogoGreyIcon
|
|
883
|
+
};
|
|
884
|
+
function CardHeader({
|
|
885
|
+
icon: Icon,
|
|
886
|
+
title,
|
|
887
|
+
detail
|
|
888
|
+
}) {
|
|
889
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CARD_HEADER_CLASS, children: [
|
|
890
|
+
Icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-6 w-6 shrink-0 text-ods-text-secondary" }),
|
|
891
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "m-0 text-ods-text-primary text-h3", children: title }),
|
|
892
|
+
detail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "m-0 ml-auto text-right text-ods-text-secondary text-h6", children: detail })
|
|
893
|
+
] });
|
|
894
|
+
}
|
|
895
|
+
function rowsBySystem(downloads) {
|
|
896
|
+
return _chunkK2JUJ37Dcjs.DESKTOP_OSES.map((os) => ({
|
|
897
|
+
os,
|
|
898
|
+
installers: downloads.filter((d) => d.os === os && d.kind === "binary" && d.url),
|
|
899
|
+
commands: downloads.filter((d) => d.os === os && d.kind === "command" && d.command)
|
|
900
|
+
})).filter((system) => system.installers.length > 0 || system.commands.length > 0);
|
|
901
|
+
}
|
|
902
|
+
function installerLabel(download, siblings) {
|
|
903
|
+
if (download.label) return download.label;
|
|
904
|
+
const label = `Download for ${_chunkK2JUJ37Dcjs.DESKTOP_OS_LABELS[download.os]}`;
|
|
905
|
+
const architecture = download.architecture ? _chunkK2JUJ37Dcjs.DOWNLOAD_ARCHITECTURE_LABELS[download.architecture] : null;
|
|
906
|
+
return siblings > 1 && architecture ? `${label} (${architecture})` : label;
|
|
907
|
+
}
|
|
908
|
+
function SystemCard({
|
|
909
|
+
system,
|
|
910
|
+
onDownloadAction
|
|
911
|
+
}) {
|
|
912
|
+
const { copy } = _chunk4LY6R4TNcjs.useCopyToClipboard.call(void 0, {
|
|
913
|
+
successTitle: "Copied",
|
|
914
|
+
successDescription: "Paste it into your terminal and press Return."
|
|
915
|
+
});
|
|
916
|
+
const requirements = [...new Set(system.installers.map((d) => d.minOsLabel).filter((l) => !!l))];
|
|
917
|
+
const report = (action, row) => _optionalChain([onDownloadAction, 'optionalCall', _15 => _15({ action, id: row.id, os: row.os, architecture: row.architecture })]);
|
|
918
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CARD_CLASS, children: [
|
|
919
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
920
|
+
CardHeader,
|
|
921
|
+
{
|
|
922
|
+
icon: OS_ICONS[system.os],
|
|
923
|
+
title: _chunkK2JUJ37Dcjs.DESKTOP_OS_LABELS[system.os],
|
|
924
|
+
detail: requirements.length > 0 ? `Requires ${requirements.join(" or ")}` : void 0
|
|
925
|
+
}
|
|
926
|
+
),
|
|
927
|
+
system.installers.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: BUTTONS_CLASS, children: system.installers.map((download, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
928
|
+
_chunkHQIOMFJHcjs.Button,
|
|
929
|
+
{
|
|
930
|
+
variant: index === 0 ? "accent" : "outline",
|
|
931
|
+
href: _nullishCoalesce(download.url, () => ( void 0)),
|
|
932
|
+
download: true,
|
|
933
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Download01Icon, { className: "h-5 w-5" }),
|
|
934
|
+
onClick: () => report("installer", download),
|
|
935
|
+
children: installerLabel(download, system.installers.length)
|
|
936
|
+
},
|
|
937
|
+
download.id
|
|
938
|
+
)) }),
|
|
939
|
+
system.commands.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: COMMANDS_CLASS, children: system.commands.map(
|
|
940
|
+
(row) => row.command ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
941
|
+
_chunkUZTOI6FJcjs.CommandBox,
|
|
942
|
+
{
|
|
943
|
+
title: _nullishCoalesce(row.label, () => ( void 0)),
|
|
944
|
+
command: row.command,
|
|
945
|
+
maxLines: 1,
|
|
946
|
+
commandClassName: "text-ods-accent",
|
|
947
|
+
copyAriaLabel: `Copy the ${_nullishCoalesce(row.label, () => ( "install"))} command`,
|
|
948
|
+
onCopy: () => {
|
|
949
|
+
void copy(row.command);
|
|
950
|
+
report("command", row);
|
|
951
|
+
}
|
|
952
|
+
},
|
|
953
|
+
row.id
|
|
954
|
+
) : null
|
|
955
|
+
) })
|
|
956
|
+
] });
|
|
957
|
+
}
|
|
958
|
+
function CardsSkeleton({ label }) {
|
|
959
|
+
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: [
|
|
960
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.UnifiedSkeleton, { className: "h-6 w-32 rounded" }),
|
|
961
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.UnifiedSkeleton, { className: "h-12 w-56 rounded-md" }),
|
|
962
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJMSNOBTcjs.UnifiedSkeleton, { className: "h-14 w-full rounded-md" })
|
|
963
|
+
] }, card)) });
|
|
964
|
+
}
|
|
965
|
+
function Section({ id, title, children }) {
|
|
966
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { "aria-labelledby": id, className: SECTION_CLASS, children: [
|
|
967
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { id, className: "m-0 text-ods-text-primary text-h2", children: title }),
|
|
968
|
+
children
|
|
969
|
+
] });
|
|
970
|
+
}
|
|
971
|
+
function storeCardTitle(links) {
|
|
972
|
+
if (links.appStoreUrl && links.googlePlayUrl) return "iPhone, iPad and Android";
|
|
973
|
+
return links.appStoreUrl ? "iPhone and iPad" : "Android";
|
|
974
|
+
}
|
|
975
|
+
function DownloadAppsPage({
|
|
976
|
+
endpoint = _chunkK2JUJ37Dcjs.DOWNLOADS_API_PATH,
|
|
977
|
+
initialData,
|
|
978
|
+
shell = true,
|
|
979
|
+
backButton = false,
|
|
980
|
+
title,
|
|
981
|
+
subtitle,
|
|
982
|
+
showDesktop = true,
|
|
983
|
+
openStoresInNewTab = true,
|
|
984
|
+
onDownloadAction,
|
|
985
|
+
footer
|
|
986
|
+
}) {
|
|
987
|
+
const { data, isLoading, error, reload } = _chunk4LY6R4TNcjs.useDownloads.call(void 0, { endpoint, initialData });
|
|
988
|
+
const systems = showDesktop && data ? rowsBySystem(data.desktop) : [];
|
|
989
|
+
const mobile = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _16 => _16.mobile]), () => ( null));
|
|
990
|
+
const hasMobile = !!mobile && (!!mobile.appStoreUrl || !!mobile.googlePlayUrl);
|
|
991
|
+
const offersDesktop = showDesktop && (!data || systems.length > 0);
|
|
992
|
+
_react.useEffect.call(void 0, () => {
|
|
993
|
+
if (!mobile || !new URLSearchParams(window.location.search).has(_chunkHJMSNOBTcjs.DOWNLOAD_PAGE_STORE_PARAM)) return;
|
|
994
|
+
const storeUrl = _chunkHJMSNOBTcjs.resolveMobileStoreUrl.call(void 0, mobile, navigator.userAgent, navigator.maxTouchPoints);
|
|
995
|
+
if (storeUrl) window.location.replace(storeUrl);
|
|
996
|
+
}, [mobile]);
|
|
997
|
+
let body;
|
|
998
|
+
if (error && !data) {
|
|
999
|
+
body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.LoadError, { message: "Could not load the downloads", onRetry: reload });
|
|
1000
|
+
} else if (!data) {
|
|
1001
|
+
body = isLoading ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1002
|
+
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" }) }),
|
|
1003
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Section, { id: "download-mobile", title: "Mobile app", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardsSkeleton, { label: "Loading the mobile app" }) })
|
|
1004
|
+
] }) : null;
|
|
1005
|
+
} else {
|
|
1006
|
+
body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1007
|
+
systems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Section, { id: "download-desktop", title: "Desktop app", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: cardsGridClass(systems.length), children: systems.map((system) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SystemCard, { system, onDownloadAction }, system.os)) }) }),
|
|
1008
|
+
mobile && hasMobile && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Section, { id: "download-mobile", title: "Mobile app", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CARDS_GRID_CLASS, children: [
|
|
1009
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CARD_CLASS, children: [
|
|
1010
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardHeader, { title: storeCardTitle(mobile) }),
|
|
1011
|
+
/* @__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." }),
|
|
1012
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1013
|
+
_chunkUZTOI6FJcjs.StoreBadgeLinks,
|
|
1014
|
+
{
|
|
1015
|
+
appStoreUrl: mobile.appStoreUrl,
|
|
1016
|
+
googlePlayUrl: mobile.googlePlayUrl,
|
|
1017
|
+
openInNewTab: openStoresInNewTab
|
|
1018
|
+
}
|
|
1019
|
+
)
|
|
1020
|
+
] }),
|
|
1021
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, CARD_CLASS, "content-md:flex-row content-md:items-center content-md:justify-between"), children: [
|
|
1022
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-sf)]", children: [
|
|
1023
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardHeader, { title: "Scan with your phone" }),
|
|
1024
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "m-0 text-ods-text-secondary text-h4", children: [
|
|
1025
|
+
"Point your camera at the code, or open ",
|
|
1026
|
+
_chunkHJMSNOBTcjs.MOBILE_APP_INSTALL_HOST_PATH,
|
|
1027
|
+
" on your phone."
|
|
1028
|
+
] })
|
|
1029
|
+
] }),
|
|
1030
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-fit shrink-0 rounded-md bg-ods-bg-inverted p-[var(--spacing-system-sf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.MobileAppQr, { className: "h-[120px] w-[120px]" }) })
|
|
1031
|
+
] })
|
|
1032
|
+
] }) })
|
|
1033
|
+
] });
|
|
1034
|
+
}
|
|
1035
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1036
|
+
DownloadAppsChrome,
|
|
1037
|
+
{
|
|
1038
|
+
shell,
|
|
1039
|
+
backButton,
|
|
1040
|
+
title: _nullishCoalesce(title, () => ( (offersDesktop ? _chunkK2JUJ37Dcjs.DOWNLOADS_TITLE : _chunkK2JUJ37Dcjs.DOWNLOADS_MOBILE_TITLE))),
|
|
1041
|
+
subtitle: _nullishCoalesce(subtitle, () => ( (offersDesktop ? _chunkK2JUJ37Dcjs.DOWNLOADS_TAGLINE : _chunkK2JUJ37Dcjs.DOWNLOADS_MOBILE_TAGLINE))),
|
|
1042
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SECTIONS_CLASS, children: [
|
|
1043
|
+
body,
|
|
1044
|
+
footer
|
|
1045
|
+
] })
|
|
1046
|
+
}
|
|
1047
|
+
);
|
|
1048
|
+
}
|
|
1049
|
+
function DownloadAppsChrome({
|
|
1050
|
+
shell,
|
|
1051
|
+
title,
|
|
1052
|
+
subtitle,
|
|
1053
|
+
backButton,
|
|
1054
|
+
children
|
|
1055
|
+
}) {
|
|
1056
|
+
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
1057
|
+
const backCfg = backButton === false ? void 0 : { label: _nullishCoalesce(backButton.label, () => ( "Back to home")), onClick: () => router.push(_nullishCoalesce(backButton.href, () => ( "/"))) };
|
|
1058
|
+
const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBYVVE7HPcjs.PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children });
|
|
1059
|
+
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUZTOI6FJcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
|
|
848
1063
|
|
|
849
1064
|
|
|
850
1065
|
|
|
@@ -857,4 +1072,4 @@ function TrustCenterPageSkeleton({
|
|
|
857
1072
|
|
|
858
1073
|
|
|
859
1074
|
|
|
860
|
-
exports.DeliveryPage = DeliveryPage; exports.DocsHubPage =
|
|
1075
|
+
exports.DeliveryPage = DeliveryPage; exports.DocsHubPage = _chunk3R32ZNA2cjs.DocsHubPage; exports.DownloadAppsPage = DownloadAppsPage; exports.FaqDocumentPage = _chunkRJMWJAJOcjs.FaqDocumentPage; exports.HelpCenterList = _chunkF7ORKKEFcjs.HelpCenterList; exports.LegalDocumentPage = _chunkRQZQHLNScjs.LegalDocumentPage; exports.OnboardingGuideDetailView = _chunkQYS4YVEPcjs.OnboardingGuideDetailView; exports.OnboardingGuidesCatalogPage = OnboardingGuidesCatalogPage; exports.ProductReleasesListPage = ProductReleasesListPage; exports.ReleaseDetailPage = _chunkRQZQHLNScjs.ReleaseDetailPage; exports.RoadmapPage = RoadmapPage; exports.TrustCenterPage = TrustCenterPage; exports.TrustCenterPageSkeleton = TrustCenterPageSkeleton;
|