@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.
Files changed (164) hide show
  1. package/dist/assets/index.cjs +6 -0
  2. package/dist/assets/index.d.ts +1 -0
  3. package/dist/assets/index.d.ts.map +1 -1
  4. package/dist/assets/index.js +5 -1
  5. package/dist/assets/mobile-app-qr.d.ts +17 -0
  6. package/dist/assets/mobile-app-qr.d.ts.map +1 -0
  7. package/dist/{chunk-7IOU6BJE.js → chunk-2P2M27EW.js} +2393 -2367
  8. package/dist/{chunk-3HZ6XSZC.js → chunk-2TXGR7IK.js} +136 -59
  9. package/dist/{chunk-LO3KCLEF.js → chunk-3LY7V3RF.js} +3 -3
  10. package/dist/{chunk-6BLN5WDS.cjs → chunk-3R32ZNA2.cjs} +40 -40
  11. package/dist/{chunk-WSDT7LYL.js → chunk-3UBWDR65.js} +1 -1
  12. package/dist/{chunk-XW3Q623Q.js → chunk-44Q6MV7C.js} +2 -2
  13. package/dist/{chunk-CMZ3QTFQ.js → chunk-4I3K6LEH.js} +24 -0
  14. package/dist/{chunk-4SIZCHVZ.cjs → chunk-4LY6R4TN.cjs} +126 -49
  15. package/dist/{chunk-TORERAXD.js → chunk-57UTI7ZH.js} +6 -6
  16. package/dist/{chunk-K2BYVPGR.js → chunk-5QXE5HMV.js} +4 -4
  17. package/dist/{chunk-QF464PPL.cjs → chunk-6AJIOW3S.cjs} +57 -57
  18. package/dist/{chunk-B2N4YX66.js → chunk-6YBUQAOH.js} +1 -1
  19. package/dist/{chunk-6W46LVK4.js → chunk-74N742ZG.js} +6 -6
  20. package/dist/{chunk-4HJRHEXD.cjs → chunk-7Z5FMQYR.cjs} +22 -22
  21. package/dist/{chunk-WBNAEYTQ.cjs → chunk-BYUIFT7Q.cjs} +6 -6
  22. package/dist/{chunk-VF2CJXZ2.cjs → chunk-BYVVE7HP.cjs} +58 -58
  23. package/dist/{chunk-AZRI4XBP.js → chunk-CO3FOZIH.js} +1 -1
  24. package/dist/{chunk-XSM46FHD.cjs → chunk-D2DH6VZL.cjs} +3 -3
  25. package/dist/{chunk-KSGMZHVV.cjs → chunk-DFM572VH.cjs} +2 -2
  26. package/dist/{chunk-YDPKUAP4.js → chunk-DJ4IFQNQ.js} +2 -0
  27. package/dist/{chunk-VBHGJFA3.js → chunk-E6SMMMKV.js} +12 -12
  28. package/dist/{chunk-DHNJSQGX.cjs → chunk-F7ORKKEF.cjs} +103 -103
  29. package/dist/{chunk-RFUOIQSG.cjs → chunk-GCK75D7F.cjs} +9 -9
  30. package/dist/{chunk-ZHD3F2TH.cjs → chunk-GGBYZKMS.cjs} +11 -11
  31. package/dist/{chunk-YK3X74SF.js → chunk-GYAXV3MZ.js} +3 -3
  32. package/dist/{chunk-RDP5UZXQ.cjs → chunk-HJMSNOBT.cjs} +344 -323
  33. package/dist/{chunk-DFQYAYBH.cjs → chunk-HQIOMFJH.cjs} +2 -0
  34. package/dist/{chunk-PXAKSPLZ.js → chunk-HXB7SEYG.js} +27 -6
  35. package/dist/{chunk-HTS46FFY.cjs → chunk-I2254QN6.cjs} +16 -16
  36. package/dist/{chunk-ILNN6QRW.js → chunk-JDBZ4ZHU.js} +3 -3
  37. package/dist/{chunk-GQ7JJUIT.cjs → chunk-K2JUJ37D.cjs} +25 -1
  38. package/dist/{chunk-URW23QUM.js → chunk-K76ACBR3.js} +2 -2
  39. package/dist/{chunk-2NASBO7O.js → chunk-KFOAV77K.js} +2 -2
  40. package/dist/{chunk-Q5327DXK.js → chunk-LAXKEBDD.js} +10 -10
  41. package/dist/{chunk-O3MKJU6A.js → chunk-LGKMR7NZ.js} +4 -4
  42. package/dist/{chunk-5XDCCQ4A.cjs → chunk-LODMNSQY.cjs} +13 -13
  43. package/dist/{chunk-V6B2FBZK.js → chunk-NJ5TBTJG.js} +7 -7
  44. package/dist/{chunk-HFEYEPOG.cjs → chunk-NMPVK53I.cjs} +29 -29
  45. package/dist/{chunk-GANIUMRU.js → chunk-NPSJE7J3.js} +1 -1
  46. package/dist/{chunk-IL3ZWNM2.cjs → chunk-O5EHOJZD.cjs} +4 -4
  47. package/dist/{chunk-KT3U3ZRP.cjs → chunk-OKE5BIQH.cjs} +8 -8
  48. package/dist/{chunk-RZQGIWK3.cjs → chunk-QLTXT562.cjs} +2 -2
  49. package/dist/{chunk-PSMJYZMV.js → chunk-QQCFPMAA.js} +2 -2
  50. package/dist/{chunk-7LPR4RZ3.cjs → chunk-QYS4YVEP.cjs} +31 -31
  51. package/dist/{chunk-VYVPII4W.js → chunk-RCI3PALX.js} +6 -6
  52. package/dist/{chunk-P3JMAMHP.js → chunk-REETLEL5.js} +1 -1
  53. package/dist/{chunk-2C72EWQR.cjs → chunk-RJMWJAJO.cjs} +26 -26
  54. package/dist/{chunk-ISCZ6UNF.cjs → chunk-RQZQHLNS.cjs} +73 -73
  55. package/dist/{chunk-FFT56TYB.cjs → chunk-RUZIICXT.cjs} +2 -2
  56. package/dist/{chunk-7HYEQKN6.js → chunk-S63QBBT7.js} +5 -5
  57. package/dist/{chunk-B5LNX4GZ.js → chunk-UXU7Y5BH.js} +2 -2
  58. package/dist/{chunk-DYDDAA6O.cjs → chunk-UZTOI6FJ.cjs} +766 -740
  59. package/dist/{chunk-EVMM3JE6.cjs → chunk-VFICDEYJ.cjs} +43 -43
  60. package/dist/{chunk-DOPOHO6H.cjs → chunk-XE2K53GH.cjs} +18 -18
  61. package/dist/{chunk-UWJMDFDO.cjs → chunk-XXO52RZR.cjs} +26 -26
  62. package/dist/{chunk-VYZCKY5K.js → chunk-ZLUFEWZZ.js} +7 -7
  63. package/dist/{chunk-NYSMDM4J.cjs → chunk-ZSOFLPQN.cjs} +7 -7
  64. package/dist/{chunk-ZPHOQDAE.js → chunk-ZZEKXGFS.js} +1 -1
  65. package/dist/{cloud-tenants-UQZASXUB.cjs → cloud-tenants-HZHKRUIW.cjs} +13 -13
  66. package/dist/{cloud-tenants-RKQRSDNE.js → cloud-tenants-Q4TCJS5Y.js} +12 -12
  67. package/dist/components/calendar.cjs +4 -4
  68. package/dist/components/calendar.js +1 -1
  69. package/dist/components/case-studies/index.cjs +27 -27
  70. package/dist/components/case-studies/index.js +13 -13
  71. package/dist/components/chat/index.cjs +8 -8
  72. package/dist/components/chat/index.js +7 -7
  73. package/dist/components/contact/index.cjs +14 -14
  74. package/dist/components/contact/index.js +13 -13
  75. package/dist/components/docs/index.cjs +17 -17
  76. package/dist/components/docs/index.js +16 -16
  77. package/dist/components/embeds/index.cjs +14 -14
  78. package/dist/components/embeds/index.js +13 -13
  79. package/dist/components/faq/index.cjs +14 -14
  80. package/dist/components/faq/index.js +13 -13
  81. package/dist/components/features/index.cjs +13 -13
  82. package/dist/components/features/index.js +12 -12
  83. package/dist/components/help-center-pages/download-apps-page.d.ts +55 -0
  84. package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -0
  85. package/dist/components/help-center-pages/index.cjs +329 -114
  86. package/dist/components/help-center-pages/index.d.ts +1 -0
  87. package/dist/components/help-center-pages/index.d.ts.map +1 -1
  88. package/dist/components/help-center-pages/index.js +243 -28
  89. package/dist/components/index.cjs +81 -79
  90. package/dist/components/index.js +28 -26
  91. package/dist/components/meeting-scheduler/index.cjs +51 -51
  92. package/dist/components/meeting-scheduler/index.js +14 -14
  93. package/dist/components/navigation/index.cjs +16 -16
  94. package/dist/components/navigation/index.js +15 -15
  95. package/dist/components/onboarding-guides/index.cjs +16 -16
  96. package/dist/components/onboarding-guides/index.js +15 -15
  97. package/dist/components/product-demo/index.cjs +8 -8
  98. package/dist/components/product-demo/index.js +8 -8
  99. package/dist/components/related-content/index.cjs +5 -5
  100. package/dist/components/related-content/index.js +4 -4
  101. package/dist/components/tickets/index.cjs +18 -18
  102. package/dist/components/tickets/index.js +17 -17
  103. package/dist/components/ui/button/button.d.ts.map +1 -1
  104. package/dist/components/ui/file-manager/index.cjs +11 -11
  105. package/dist/components/ui/file-manager/index.js +1 -1
  106. package/dist/components/ui/index.cjs +15 -13
  107. package/dist/components/ui/index.d.ts +1 -0
  108. package/dist/components/ui/index.d.ts.map +1 -1
  109. package/dist/components/ui/index.js +14 -12
  110. package/dist/components/ui/mobile-app-qr.d.ts +23 -0
  111. package/dist/components/ui/mobile-app-qr.d.ts.map +1 -0
  112. package/dist/components/ui/store-badges.d.ts +7 -4
  113. package/dist/components/ui/store-badges.d.ts.map +1 -1
  114. package/dist/{devices-7Q2EUM7B.cjs → devices-6XHUFIC6.cjs} +14 -14
  115. package/dist/{devices-U3Y4IIW4.js → devices-NOUGVTES.js} +12 -12
  116. package/dist/hooks/index.cjs +9 -3
  117. package/dist/hooks/index.d.ts +1 -0
  118. package/dist/hooks/index.d.ts.map +1 -1
  119. package/dist/hooks/index.js +8 -2
  120. package/dist/hooks/use-downloads.d.ts +41 -0
  121. package/dist/hooks/use-downloads.d.ts.map +1 -0
  122. package/dist/index.cjs +57 -17
  123. package/dist/index.js +56 -16
  124. package/dist/{knowledge-NST53EXE.js → knowledge-2YTUXQ2Z.js} +12 -12
  125. package/dist/{knowledge-UYIZ74MA.cjs → knowledge-ANEKPMO2.cjs} +14 -14
  126. package/dist/{logs-HTH7X7KV.cjs → logs-U3IB3HUM.cjs} +22 -22
  127. package/dist/{logs-JVTRG232.js → logs-WVQIONUT.js} +12 -12
  128. package/dist/{policies-DTXTRK56.js → policies-66EGDW2H.js} +12 -12
  129. package/dist/{policies-MXK2HB4W.cjs → policies-UFRN2EQF.cjs} +17 -17
  130. package/dist/{remote-session-LAJZKQBN.js → remote-session-6WEUJZDC.js} +4 -4
  131. package/dist/{remote-session-SKKF4PBV.cjs → remote-session-A75X5NPC.cjs} +6 -6
  132. package/dist/{software-update-P6BSM6HX.cjs → software-update-2MHKL76D.cjs} +17 -17
  133. package/dist/{software-update-6RHMPM3W.js → software-update-3ZD3MXF3.js} +12 -12
  134. package/dist/{tickets-board-BHLPAVNJ.cjs → tickets-board-IFWMIZ35.cjs} +9 -9
  135. package/dist/{tickets-board-PYDNELSK.js → tickets-board-MYXG3V72.js} +4 -4
  136. package/dist/types/downloads.d.ts +67 -0
  137. package/dist/types/downloads.d.ts.map +1 -0
  138. package/dist/types/index.cjs +24 -0
  139. package/dist/types/index.d.ts +1 -0
  140. package/dist/types/index.d.ts.map +1 -1
  141. package/dist/types/index.js +16 -1
  142. package/dist/utils/index.cjs +20 -0
  143. package/dist/utils/index.d.ts +1 -0
  144. package/dist/utils/index.d.ts.map +1 -1
  145. package/dist/utils/index.js +16 -1
  146. package/dist/utils/mobile-app.cjs +46 -0
  147. package/dist/utils/mobile-app.d.ts +40 -0
  148. package/dist/utils/mobile-app.d.ts.map +1 -0
  149. package/dist/utils/mobile-app.js +40 -0
  150. package/package.json +7 -1
  151. package/src/assets/index.ts +1 -0
  152. package/src/assets/mobile-app-qr.ts +19 -0
  153. package/src/components/help-center-pages/download-apps-page.tsx +364 -0
  154. package/src/components/help-center-pages/index.ts +1 -0
  155. package/src/components/ui/button/button.tsx +3 -0
  156. package/src/components/ui/index.ts +1 -0
  157. package/src/components/ui/mobile-app-qr.tsx +40 -0
  158. package/src/components/ui/store-badges.tsx +17 -9
  159. package/src/hooks/index.ts +1 -0
  160. package/src/hooks/use-downloads.ts +138 -0
  161. package/src/types/downloads.ts +82 -0
  162. package/src/types/index.ts +1 -0
  163. package/src/utils/index.ts +2 -0
  164. package/src/utils/mobile-app.ts +57 -0
@@ -17,6 +17,7 @@ export { ProductReleasesListPage, type ProductReleasesListPageProps } from './pr
17
17
  export { DeliveryPage, type DeliveryPageProps } from './delivery-page';
18
18
  export { OnboardingGuidesCatalogPage, type OnboardingGuidesCatalogPageProps } from './onboarding-guides-catalog-page';
19
19
  export { TrustCenterPage, TrustCenterPageSkeleton, type TrustCenterPageProps } from './trust-center-page';
20
+ export { DownloadAppsPage, type DownloadAppsPageProps } from './download-apps-page';
20
21
  export { FaqDocumentPage, type FaqDocumentPageProps } from '../faq';
21
22
  export { LegalDocumentPage, type LegalDocumentPageProps } from '../shared/legal-document';
22
23
  export { ReleaseDetailPage, type ReleaseDetailPageProps, type VideoDisplaySectionProps, } from '../shared/product-release';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/help-center-pages/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,KAAK,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,KAAK,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACtH,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG1G,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,KAAK,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/help-center-pages/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,KAAK,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,KAAK,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACtH,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,KAAK,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -6,84 +6,100 @@ import {
6
6
  ProductReleasesView,
7
7
  ReleaseDetailPage,
8
8
  RoadmapView
9
- } from "../../chunk-Q5327DXK.js";
9
+ } from "../../chunk-LAXKEBDD.js";
10
10
  import {
11
11
  DocsHubPage
12
- } from "../../chunk-VYZCKY5K.js";
13
- import "../../chunk-LO3KCLEF.js";
14
- import "../../chunk-B2N4YX66.js";
12
+ } from "../../chunk-ZLUFEWZZ.js";
13
+ import "../../chunk-3LY7V3RF.js";
14
+ import "../../chunk-6YBUQAOH.js";
15
15
  import {
16
16
  FaqDocumentPage,
17
17
  FaqSection
18
- } from "../../chunk-TORERAXD.js";
18
+ } from "../../chunk-57UTI7ZH.js";
19
19
  import {
20
20
  StickySectionNav,
21
21
  useScrollSpy
22
- } from "../../chunk-XW3Q623Q.js";
22
+ } from "../../chunk-44Q6MV7C.js";
23
23
  import {
24
24
  HelpCenterList
25
- } from "../../chunk-VBHGJFA3.js";
25
+ } from "../../chunk-E6SMMMKV.js";
26
26
  import {
27
27
  ContactForm
28
- } from "../../chunk-6W46LVK4.js";
28
+ } from "../../chunk-74N742ZG.js";
29
29
  import {
30
30
  DevSectionPage,
31
31
  ListEmptyState
32
- } from "../../chunk-7HYEQKN6.js";
33
- import "../../chunk-URW23QUM.js";
34
- import "../../chunk-AZRI4XBP.js";
32
+ } from "../../chunk-S63QBBT7.js";
33
+ import "../../chunk-K76ACBR3.js";
34
+ import "../../chunk-CO3FOZIH.js";
35
35
  import {
36
36
  OnboardingGuideDetailView,
37
37
  OnboardingGuidesCatalogView
38
- } from "../../chunk-VYVPII4W.js";
39
- import "../../chunk-B5LNX4GZ.js";
40
- import "../../chunk-O3MKJU6A.js";
38
+ } from "../../chunk-RCI3PALX.js";
39
+ import "../../chunk-UXU7Y5BH.js";
40
+ import "../../chunk-LGKMR7NZ.js";
41
41
  import {
42
+ CommandBox,
42
43
  ComplianceLogo,
43
44
  DataAttribution,
44
45
  LoadError,
46
+ MobileAppQr,
45
47
  PageShell,
46
48
  SearchInput,
47
49
  StackedRowsPanel,
48
50
  StatusIndicator,
51
+ StoreBadgeLinks,
49
52
  TabNavigation
50
- } from "../../chunk-7IOU6BJE.js";
51
- import "../../chunk-ILNN6QRW.js";
53
+ } from "../../chunk-2P2M27EW.js";
54
+ import "../../chunk-JDBZ4ZHU.js";
52
55
  import "../../chunk-LQYXMEYF.js";
53
56
  import "../../chunk-4JPLYOS6.js";
54
57
  import {
55
58
  EntityImage,
56
59
  PageLayout
57
- } from "../../chunk-YK3X74SF.js";
60
+ } from "../../chunk-GYAXV3MZ.js";
58
61
  import {
62
+ useCopyToClipboard,
63
+ useDownloads,
59
64
  useScrollToHash
60
- } from "../../chunk-3HZ6XSZC.js";
65
+ } from "../../chunk-2TXGR7IK.js";
61
66
  import "../../chunk-3K5ZLZE7.js";
62
67
  import "../../chunk-HFL2F4RM.js";
63
68
  import "../../chunk-YYYVS7CX.js";
64
- import "../../chunk-WSDT7LYL.js";
69
+ import "../../chunk-3UBWDR65.js";
65
70
  import "../../chunk-PLWMIU72.js";
66
71
  import {
72
+ DOWNLOAD_PAGE_STORE_PARAM,
73
+ MOBILE_APP_INSTALL_HOST_PATH,
67
74
  ScrollShadow,
68
75
  TextSkeleton,
69
76
  UnifiedSkeleton,
70
77
  getFlagFromCountryName,
78
+ resolveMobileStoreUrl,
71
79
  useIsHydrated
72
- } from "../../chunk-PXAKSPLZ.js";
73
- import "../../chunk-2NASBO7O.js";
80
+ } from "../../chunk-HXB7SEYG.js";
81
+ import "../../chunk-KFOAV77K.js";
74
82
  import "../../chunk-AFTRPEXO.js";
75
83
  import {
76
84
  Modal,
77
85
  ModalContent,
78
86
  ModalHeader,
79
87
  ModalTitle
80
- } from "../../chunk-ZPHOQDAE.js";
81
- import "../../chunk-P3JMAMHP.js";
88
+ } from "../../chunk-ZZEKXGFS.js";
89
+ import "../../chunk-REETLEL5.js";
82
90
  import {
91
+ DESKTOP_OSES,
92
+ DESKTOP_OS_LABELS,
93
+ DOWNLOADS_API_PATH,
94
+ DOWNLOADS_MOBILE_TAGLINE,
95
+ DOWNLOADS_MOBILE_TITLE,
96
+ DOWNLOADS_TAGLINE,
97
+ DOWNLOADS_TITLE,
98
+ DOWNLOAD_ARCHITECTURE_LABELS,
83
99
  RESCUE_FORMS,
84
100
  STICKY_HEADER_OFFSET_PX,
85
101
  useDebounce
86
- } from "../../chunk-CMZ3QTFQ.js";
102
+ } from "../../chunk-4I3K6LEH.js";
87
103
  import "../../chunk-34I6XI3N.js";
88
104
  import {
89
105
  useRouter
@@ -104,7 +120,7 @@ import {
104
120
  trustFrameworkBadge,
105
121
  trustFrameworkMonitoringEntry,
106
122
  useSelfFetch
107
- } from "../../chunk-GANIUMRU.js";
123
+ } from "../../chunk-NPSJE7J3.js";
108
124
  import "../../chunk-H3PKYE4N.js";
109
125
  import {
110
126
  brandLogoForName
@@ -117,12 +133,15 @@ import "../../chunk-KEKCQENI.js";
117
133
  import "../../chunk-ADBE7QF3.js";
118
134
  import "../../chunk-N45D4ZXQ.js";
119
135
  import {
136
+ AppleLogoIcon,
120
137
  BrainAIIcon,
121
138
  CheckIcon,
139
+ Download01Icon,
122
140
  FileIcon,
123
141
  FileShieldIcon,
124
142
  LockIcon,
125
- ShieldCheckIcon
143
+ ShieldCheckIcon,
144
+ WindowsLogoGreyIcon
126
145
  } from "../../chunk-NCPTID44.js";
127
146
  import "../../chunk-OSIKGEBU.js";
128
147
  import "../../chunk-CMGFZHCN.js";
@@ -130,13 +149,15 @@ import "../../chunk-WI6FHKD7.js";
130
149
  import "../../chunk-INS7KZJB.js";
131
150
  import {
132
151
  Button
133
- } from "../../chunk-YDPKUAP4.js";
152
+ } from "../../chunk-DJ4IFQNQ.js";
134
153
  import "../../chunk-DAAVMYUT.js";
135
154
  import "../../chunk-V3JFVKHV.js";
136
155
  import "../../chunk-WMNCVLES.js";
137
156
  import "../../chunk-4R2L3DSA.js";
138
157
  import "../../chunk-FYEJTF5Y.js";
139
- import "../../chunk-7RXWKTAP.js";
158
+ import {
159
+ cn
160
+ } from "../../chunk-7RXWKTAP.js";
140
161
  import "../../chunk-62GWEYJ5.js";
141
162
 
142
163
  // src/components/help-center-pages/roadmap-page.tsx
@@ -844,9 +865,203 @@ function TrustCenterPageSkeleton({
844
865
  }) {
845
866
  return /* @__PURE__ */ jsx6(TrustCenterChrome, { shell, title, subtitle, backButton, children: /* @__PURE__ */ jsx6(TrustCenterSkeleton, {}) });
846
867
  }
868
+
869
+ // src/components/help-center-pages/download-apps-page.tsx
870
+ import { useEffect as useEffect2 } from "react";
871
+ import { Fragment as Fragment3, jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
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: AppleLogoIcon,
882
+ windows: WindowsLogoGreyIcon
883
+ };
884
+ function CardHeader({
885
+ icon: Icon,
886
+ title,
887
+ detail
888
+ }) {
889
+ return /* @__PURE__ */ jsxs7("div", { className: CARD_HEADER_CLASS, children: [
890
+ Icon && /* @__PURE__ */ jsx7(Icon, { className: "h-6 w-6 shrink-0 text-ods-text-secondary" }),
891
+ /* @__PURE__ */ jsx7("h3", { className: "m-0 text-ods-text-primary text-h3", children: title }),
892
+ detail && /* @__PURE__ */ jsx7("p", { className: "m-0 ml-auto text-right text-ods-text-secondary text-h6", children: detail })
893
+ ] });
894
+ }
895
+ function rowsBySystem(downloads) {
896
+ return 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 ${DESKTOP_OS_LABELS[download.os]}`;
905
+ const architecture = download.architecture ? 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 } = useCopyToClipboard({
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) => onDownloadAction?.({ action, id: row.id, os: row.os, architecture: row.architecture });
918
+ return /* @__PURE__ */ jsxs7("div", { className: CARD_CLASS, children: [
919
+ /* @__PURE__ */ jsx7(
920
+ CardHeader,
921
+ {
922
+ icon: OS_ICONS[system.os],
923
+ title: DESKTOP_OS_LABELS[system.os],
924
+ detail: requirements.length > 0 ? `Requires ${requirements.join(" or ")}` : void 0
925
+ }
926
+ ),
927
+ system.installers.length > 0 && /* @__PURE__ */ jsx7("div", { className: BUTTONS_CLASS, children: system.installers.map((download, index) => /* @__PURE__ */ jsx7(
928
+ Button,
929
+ {
930
+ variant: index === 0 ? "accent" : "outline",
931
+ href: download.url ?? void 0,
932
+ download: true,
933
+ leftIcon: /* @__PURE__ */ jsx7(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__ */ jsx7("div", { className: COMMANDS_CLASS, children: system.commands.map(
940
+ (row) => row.command ? /* @__PURE__ */ jsx7(
941
+ CommandBox,
942
+ {
943
+ title: row.label ?? void 0,
944
+ command: row.command,
945
+ maxLines: 1,
946
+ commandClassName: "text-ods-accent",
947
+ copyAriaLabel: `Copy the ${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__ */ jsx7("div", { className: CARDS_GRID_CLASS, "aria-busy": "true", "aria-label": label, children: [0, 1].map((card) => /* @__PURE__ */ jsxs7("div", { className: CARD_CLASS, children: [
960
+ /* @__PURE__ */ jsx7(UnifiedSkeleton, { className: "h-6 w-32 rounded" }),
961
+ /* @__PURE__ */ jsx7(UnifiedSkeleton, { className: "h-12 w-56 rounded-md" }),
962
+ /* @__PURE__ */ jsx7(UnifiedSkeleton, { className: "h-14 w-full rounded-md" })
963
+ ] }, card)) });
964
+ }
965
+ function Section({ id, title, children }) {
966
+ return /* @__PURE__ */ jsxs7("section", { "aria-labelledby": id, className: SECTION_CLASS, children: [
967
+ /* @__PURE__ */ jsx7("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 = 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 } = useDownloads({ endpoint, initialData });
988
+ const systems = showDesktop && data ? rowsBySystem(data.desktop) : [];
989
+ const mobile = data?.mobile ?? null;
990
+ const hasMobile = !!mobile && (!!mobile.appStoreUrl || !!mobile.googlePlayUrl);
991
+ const offersDesktop = showDesktop && (!data || systems.length > 0);
992
+ useEffect2(() => {
993
+ if (!mobile || !new URLSearchParams(window.location.search).has(DOWNLOAD_PAGE_STORE_PARAM)) return;
994
+ const storeUrl = resolveMobileStoreUrl(mobile, navigator.userAgent, navigator.maxTouchPoints);
995
+ if (storeUrl) window.location.replace(storeUrl);
996
+ }, [mobile]);
997
+ let body;
998
+ if (error && !data) {
999
+ body = /* @__PURE__ */ jsx7(LoadError, { message: "Could not load the downloads", onRetry: reload });
1000
+ } else if (!data) {
1001
+ body = isLoading ? /* @__PURE__ */ jsxs7(Fragment3, { children: [
1002
+ showDesktop && /* @__PURE__ */ jsx7(Section, { id: "download-desktop", title: "Desktop app", children: /* @__PURE__ */ jsx7(CardsSkeleton, { label: "Loading the installers" }) }),
1003
+ /* @__PURE__ */ jsx7(Section, { id: "download-mobile", title: "Mobile app", children: /* @__PURE__ */ jsx7(CardsSkeleton, { label: "Loading the mobile app" }) })
1004
+ ] }) : null;
1005
+ } else {
1006
+ body = /* @__PURE__ */ jsxs7(Fragment3, { children: [
1007
+ systems.length > 0 && /* @__PURE__ */ jsx7(Section, { id: "download-desktop", title: "Desktop app", children: /* @__PURE__ */ jsx7("div", { className: cardsGridClass(systems.length), children: systems.map((system) => /* @__PURE__ */ jsx7(SystemCard, { system, onDownloadAction }, system.os)) }) }),
1008
+ mobile && hasMobile && /* @__PURE__ */ jsx7(Section, { id: "download-mobile", title: "Mobile app", children: /* @__PURE__ */ jsxs7("div", { className: CARDS_GRID_CLASS, children: [
1009
+ /* @__PURE__ */ jsxs7("div", { className: CARD_CLASS, children: [
1010
+ /* @__PURE__ */ jsx7(CardHeader, { title: storeCardTitle(mobile) }),
1011
+ /* @__PURE__ */ jsx7("p", { className: "m-0 text-ods-text-secondary text-h4", children: "Get alerts and respond to tickets on the go." }),
1012
+ /* @__PURE__ */ jsx7(
1013
+ StoreBadgeLinks,
1014
+ {
1015
+ appStoreUrl: mobile.appStoreUrl,
1016
+ googlePlayUrl: mobile.googlePlayUrl,
1017
+ openInNewTab: openStoresInNewTab
1018
+ }
1019
+ )
1020
+ ] }),
1021
+ /* @__PURE__ */ jsxs7("div", { className: cn(CARD_CLASS, "content-md:flex-row content-md:items-center content-md:justify-between"), children: [
1022
+ /* @__PURE__ */ jsxs7("div", { className: "flex flex-col gap-[var(--spacing-system-sf)]", children: [
1023
+ /* @__PURE__ */ jsx7(CardHeader, { title: "Scan with your phone" }),
1024
+ /* @__PURE__ */ jsxs7("p", { className: "m-0 text-ods-text-secondary text-h4", children: [
1025
+ "Point your camera at the code, or open ",
1026
+ MOBILE_APP_INSTALL_HOST_PATH,
1027
+ " on your phone."
1028
+ ] })
1029
+ ] }),
1030
+ /* @__PURE__ */ jsx7("div", { className: "w-fit shrink-0 rounded-md bg-ods-bg-inverted p-[var(--spacing-system-sf)]", children: /* @__PURE__ */ jsx7(MobileAppQr, { className: "h-[120px] w-[120px]" }) })
1031
+ ] })
1032
+ ] }) })
1033
+ ] });
1034
+ }
1035
+ return /* @__PURE__ */ jsx7(
1036
+ DownloadAppsChrome,
1037
+ {
1038
+ shell,
1039
+ backButton,
1040
+ title: title ?? (offersDesktop ? DOWNLOADS_TITLE : DOWNLOADS_MOBILE_TITLE),
1041
+ subtitle: subtitle ?? (offersDesktop ? DOWNLOADS_TAGLINE : DOWNLOADS_MOBILE_TAGLINE),
1042
+ children: /* @__PURE__ */ jsxs7("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 = useRouter();
1057
+ const backCfg = backButton === false ? void 0 : { label: backButton.label ?? "Back to home", onClick: () => router.push(backButton.href ?? "/") };
1058
+ const inner = /* @__PURE__ */ jsx7(PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children });
1059
+ return shell ? /* @__PURE__ */ jsx7(PageShell, { children: inner }) : /* @__PURE__ */ jsx7("div", { className: "page-shell-content", children: inner });
1060
+ }
847
1061
  export {
848
1062
  DeliveryPage,
849
1063
  DocsHubPage,
1064
+ DownloadAppsPage,
850
1065
  FaqDocumentPage,
851
1066
  HelpCenterList,
852
1067
  LegalDocumentPage,