@flamingo-stack/openframe-frontend-core 0.0.711 → 0.0.713

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 (528) hide show
  1. package/dist/chunk-2NASBO7O.js +1137 -0
  2. package/dist/{chunk-RQRX4YC3.cjs → chunk-2RKFMUNW.cjs} +46 -46
  3. package/dist/chunk-2Y7QZAB2.cjs +158 -0
  4. package/dist/chunk-34I6XI3N.js +136 -0
  5. package/dist/{chunk-VWFZRMQR.js → chunk-3BB3IEJI.js} +13 -7
  6. package/dist/chunk-3K5ZLZE7.js +292 -0
  7. package/dist/chunk-3LU4UFPS.cjs +14 -0
  8. package/dist/{chunk-G47AP6LX.cjs → chunk-3QGUDPIH.cjs} +35 -33
  9. package/dist/{chunk-3UNL26CD.cjs → chunk-3RKBJT6K.cjs} +8 -6
  10. package/dist/chunk-4HJRHEXD.cjs +1612 -0
  11. package/dist/{chunk-JPG7OHEG.js → chunk-4QFWGLZO.js} +1 -1
  12. package/dist/chunk-4R2L3DSA.js +14 -0
  13. package/dist/{chunk-VMMHJFHG.js → chunk-6F4QOCGB.js} +10 -8
  14. package/dist/{chunk-Q6B35Y7O.js → chunk-6MNAIQNR.js} +22 -113
  15. package/dist/{chunk-KUC673HM.js → chunk-6T3BTD6Q.js} +204 -982
  16. package/dist/{chunk-F57ECE2I.js → chunk-6YPTUHM7.js} +4 -4
  17. package/dist/chunk-AAYNCJMW.cjs +48 -0
  18. package/dist/{chunk-FXJ3WWUB.js → chunk-ADBE7QF3.js} +5 -252
  19. package/dist/chunk-AECTRMGQ.cjs +334 -0
  20. package/dist/chunk-AGVXKD4K.js +334 -0
  21. package/dist/chunk-AL2GUHAJ.cjs +18 -0
  22. package/dist/{chunk-WMX26HB5.js → chunk-APJZBDQN.js} +12 -12
  23. package/dist/chunk-AUMKE74M.cjs +16 -0
  24. package/dist/chunk-B4NCVYEQ.cjs +292 -0
  25. package/dist/{chunk-WJUIXU6Y.js → chunk-CGHOH3GN.js} +28 -22
  26. package/dist/chunk-CMGFZHCN.js +233 -0
  27. package/dist/chunk-CMZ3QTFQ.js +1207 -0
  28. package/dist/chunk-CPA2CKRZ.cjs +125 -0
  29. package/dist/chunk-CYUUHFXL.js +41 -0
  30. package/dist/chunk-DC4RTYWK.cjs +1122 -0
  31. package/dist/{chunk-NF7GNGYG.js → chunk-DDWFCWOE.js} +5 -7
  32. package/dist/{chunk-QA6TROME.cjs → chunk-EOKSKJSS.cjs} +25 -83
  33. package/dist/{chunk-6NTPY5QA.cjs → chunk-ETYLOZOB.cjs} +978 -2413
  34. package/dist/{chunk-6AMIRXKM.cjs → chunk-F2EACDOR.cjs} +93 -87
  35. package/dist/chunk-F5BPGWGT.cjs +931 -0
  36. package/dist/chunk-FFT56TYB.cjs +401 -0
  37. package/dist/chunk-FYEJTF5Y.js +125 -0
  38. package/dist/chunk-G3GRYDMS.js +16 -0
  39. package/dist/chunk-G6OHIX5C.cjs +100 -0
  40. package/dist/{chunk-UDFRUKLC.cjs → chunk-GEDY7HQI.cjs} +2 -2
  41. package/dist/chunk-GQ7JJUIT.cjs +1207 -0
  42. package/dist/chunk-H3PKYE4N.js +18 -0
  43. package/dist/{chunk-EQWD4IJE.js → chunk-H4J72PRA.js} +74 -46
  44. package/dist/{chunk-AGDVEUVL.js → chunk-H5R7U2D2.js} +206 -5
  45. package/dist/{chunk-7AM6C6XH.cjs → chunk-HETQETPV.cjs} +9641 -9678
  46. package/dist/{chunk-Y2GSOUCS.cjs → chunk-HWVUR735.cjs} +2 -2
  47. package/dist/chunk-II4QMH26.cjs +35 -0
  48. package/dist/{chunk-XWEBHS7O.cjs → chunk-IJKMILMG.cjs} +82 -54
  49. package/dist/chunk-ILNN6QRW.js +1612 -0
  50. package/dist/{chunk-6GLQLTJI.js → chunk-IU4IO3CG.js} +35 -27
  51. package/dist/chunk-IYVFSLWJ.js +931 -0
  52. package/dist/{chunk-EX6GGCAC.cjs → chunk-J7YIQJPS.cjs} +15 -15
  53. package/dist/chunk-JHQ334WS.js +655 -0
  54. package/dist/{chunk-WCVZCGK5.cjs → chunk-JO5TLJPM.cjs} +129 -907
  55. package/dist/{chunk-PRX7HVLE.cjs → chunk-JVCAK4W3.cjs} +210 -9
  56. package/dist/chunk-KBJJQFYU.js +1122 -0
  57. package/dist/chunk-KEKCQENI.js +48 -0
  58. package/dist/{chunk-P6G3JZNC.cjs → chunk-KGAFUXGZ.cjs} +57 -148
  59. package/dist/chunk-KHXZFLIN.cjs +41 -0
  60. package/dist/{chunk-C4HRRB3V.cjs → chunk-KMB7JHGG.cjs} +23 -17
  61. package/dist/{chunk-K4PTDK34.js → chunk-KPUHSVJU.js} +322 -428
  62. package/dist/chunk-KT3U3ZRP.cjs +1137 -0
  63. package/dist/chunk-L2VUINHN.js +35 -0
  64. package/dist/{chunk-PLYEKV3N.cjs → chunk-MA4Q5RBP.cjs} +6 -6
  65. package/dist/chunk-NPAQSMRY.js +2087 -0
  66. package/dist/{chunk-IFWLJ66M.js → chunk-NQWJAOHO.js} +6 -4
  67. package/dist/{chunk-FYOKS5RI.cjs → chunk-OQKRXLTZ.cjs} +4719 -6351
  68. package/dist/chunk-P3JMAMHP.js +401 -0
  69. package/dist/{chunk-62KNLDXK.js → chunk-P6QCJXLD.js} +3 -3
  70. package/dist/chunk-PPXR22YC.cjs +2087 -0
  71. package/dist/chunk-PSVSEN4J.cjs +655 -0
  72. package/dist/{chunk-CDM7OSFB.cjs → chunk-QQQ46DFT.cjs} +125 -117
  73. package/dist/{chunk-FEMAJES4.cjs → chunk-QU4AHNRL.cjs} +41 -39
  74. package/dist/{chunk-2JTGK64G.js → chunk-RBVUIOIM.js} +12 -10
  75. package/dist/{chunk-SMAAV3HL.js → chunk-ROBQ5TR7.js} +10541 -10578
  76. package/dist/{chunk-TKZXHVBG.js → chunk-RRYNHAEL.js} +5 -5
  77. package/dist/{chunk-5HB7FLCV.js → chunk-STPC2AQU.js} +8338 -9970
  78. package/dist/{chunk-6K7QZDA6.cjs → chunk-TC4W7QDC.cjs} +8 -8
  79. package/dist/{chunk-FI6GMDO7.js → chunk-TTVOLEUS.js} +3605 -5040
  80. package/dist/{chunk-LM7TXMLU.cjs → chunk-ULWVKHSI.cjs} +8 -255
  81. package/dist/chunk-WANCBTUE.js +71 -0
  82. package/dist/{chunk-BIZNSF3U.cjs → chunk-WBNAEYTQ.cjs} +2 -51
  83. package/dist/chunk-WFPCCBOM.cjs +71 -0
  84. package/dist/chunk-WI6FHKD7.js +158 -0
  85. package/dist/chunk-WMNCVLES.js +100 -0
  86. package/dist/{chunk-UT4YHQZW.js → chunk-WSDT7LYL.js} +0 -49
  87. package/dist/chunk-WVOTC7HW.cjs +136 -0
  88. package/dist/chunk-XXBLN4BP.cjs +233 -0
  89. package/dist/{chunk-4IBPRIQH.js → chunk-YBQQNDC7.js} +1 -1
  90. package/dist/{chunk-QGZPZ3RL.js → chunk-YBS5QGON.js} +70 -128
  91. package/dist/{chunk-K6Y5NX6L.cjs → chunk-YIUSW4DB.cjs} +114 -220
  92. package/dist/{chunk-YD4LJZV4.cjs → chunk-ZX7SCPLO.cjs} +6 -8
  93. package/dist/cloud-tenants-HRJYNUJM.cjs +117 -0
  94. package/dist/cloud-tenants-SM7WLEGG.js +117 -0
  95. package/dist/components/case-studies/index.cjs +45 -29
  96. package/dist/components/case-studies/index.js +32 -16
  97. package/dist/components/chat/ask-prompts.d.ts +64 -0
  98. package/dist/components/chat/ask-prompts.d.ts.map +1 -0
  99. package/dist/components/chat/entity-cards/case-study-card.d.ts +6 -3
  100. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  101. package/dist/components/chat/index.cjs +27 -8
  102. package/dist/components/chat/index.d.ts +1 -0
  103. package/dist/components/chat/index.d.ts.map +1 -1
  104. package/dist/components/chat/index.js +57 -38
  105. package/dist/components/chat/quick-action-chip.d.ts +7 -3
  106. package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
  107. package/dist/components/contact/index.cjs +29 -13
  108. package/dist/components/contact/index.js +28 -12
  109. package/dist/components/docs/index.cjs +33 -16
  110. package/dist/components/docs/index.js +33 -16
  111. package/dist/components/docs/use-scroll-spy.d.ts +23 -1
  112. package/dist/components/docs/use-scroll-spy.d.ts.map +1 -1
  113. package/dist/components/embeds/index.cjs +29 -13
  114. package/dist/components/embeds/index.js +28 -12
  115. package/dist/components/faq/faq-section.d.ts +8 -1
  116. package/dist/components/faq/faq-section.d.ts.map +1 -1
  117. package/dist/components/faq/index.cjs +30 -14
  118. package/dist/components/faq/index.js +29 -13
  119. package/dist/components/features/approval-level.d.ts +49 -0
  120. package/dist/components/features/approval-level.d.ts.map +1 -0
  121. package/dist/components/features/array-entry-manager.d.ts +5 -1
  122. package/dist/components/features/array-entry-manager.d.ts.map +1 -1
  123. package/dist/components/features/board/board.d.ts +2 -0
  124. package/dist/components/features/board/board.d.ts.map +1 -1
  125. package/dist/components/features/board/ticket-card.d.ts.map +1 -1
  126. package/dist/components/features/board/touch-board.d.ts +1 -1
  127. package/dist/components/features/board/touch-board.d.ts.map +1 -1
  128. package/dist/components/features/board/types.d.ts +3 -0
  129. package/dist/components/features/board/types.d.ts.map +1 -1
  130. package/dist/components/features/board/use-board-collapse.d.ts +6 -1
  131. package/dist/components/features/board/use-board-collapse.d.ts.map +1 -1
  132. package/dist/components/features/capability-explorer.d.ts +94 -0
  133. package/dist/components/features/capability-explorer.d.ts.map +1 -0
  134. package/dist/components/features/cloud-tenants/index.d.ts +14 -0
  135. package/dist/components/features/cloud-tenants/index.d.ts.map +1 -0
  136. package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts +9 -0
  137. package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts.map +1 -0
  138. package/dist/components/features/cloud-tenants/tenant-cell.d.ts +8 -0
  139. package/dist/components/features/cloud-tenants/tenant-cell.d.ts.map +1 -0
  140. package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts +9 -0
  141. package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts.map +1 -0
  142. package/dist/components/features/cloud-tenants/tenant-presentation.d.ts +42 -0
  143. package/dist/components/features/cloud-tenants/tenant-presentation.d.ts.map +1 -0
  144. package/dist/components/features/cloud-tenants/tenant-row.d.ts +22 -0
  145. package/dist/components/features/cloud-tenants/tenant-row.d.ts.map +1 -0
  146. package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts +42 -0
  147. package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts.map +1 -0
  148. package/dist/components/features/cloud-tenants/tenants-table-view.d.ts +26 -0
  149. package/dist/components/features/cloud-tenants/tenants-table-view.d.ts.map +1 -0
  150. package/dist/components/features/devices/device-last-online.d.ts +3 -0
  151. package/dist/components/features/devices/device-last-online.d.ts.map +1 -0
  152. package/dist/components/features/devices/device-name.d.ts +42 -0
  153. package/dist/components/features/devices/device-name.d.ts.map +1 -0
  154. package/dist/components/features/devices/device-selector/device-selection-mode-radio.d.ts +26 -0
  155. package/dist/components/features/devices/device-selector/device-selection-mode-radio.d.ts.map +1 -0
  156. package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts +25 -0
  157. package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts.map +1 -0
  158. package/dist/components/features/devices/device-selector/device-selector.d.ts +38 -0
  159. package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -0
  160. package/dist/components/features/devices/device-selector/device-selector.types.d.ts +133 -0
  161. package/dist/components/features/devices/device-selector/device-selector.types.d.ts.map +1 -0
  162. package/dist/components/features/devices/device-selector/narrowing.d.ts +13 -0
  163. package/dist/components/features/devices/device-selector/narrowing.d.ts.map +1 -0
  164. package/dist/components/features/devices/device-selector/use-device-selector.d.ts +17 -0
  165. package/dist/components/features/devices/device-selector/use-device-selector.d.ts.map +1 -0
  166. package/dist/components/features/devices/device-status.d.ts +23 -0
  167. package/dist/components/features/devices/device-status.d.ts.map +1 -0
  168. package/dist/components/features/devices/device-statuses.d.ts +40 -0
  169. package/dist/components/features/devices/device-statuses.d.ts.map +1 -0
  170. package/dist/components/features/devices/device-tags-filter-button.d.ts +22 -0
  171. package/dist/components/features/devices/device-tags-filter-button.d.ts.map +1 -0
  172. package/dist/components/features/devices/device-type-icon.d.ts +11 -0
  173. package/dist/components/features/devices/device-type-icon.d.ts.map +1 -0
  174. package/dist/components/features/devices/device-type-tile.d.ts +9 -0
  175. package/dist/components/features/devices/device-type-tile.d.ts.map +1 -0
  176. package/dist/components/features/devices/devices-filter-toolbar.d.ts +46 -0
  177. package/dist/components/features/devices/devices-filter-toolbar.d.ts.map +1 -0
  178. package/dist/components/features/devices/devices-grid-filters.d.ts +25 -0
  179. package/dist/components/features/devices/devices-grid-filters.d.ts.map +1 -0
  180. package/dist/components/features/devices/devices-grid.d.ts +12 -0
  181. package/dist/components/features/devices/devices-grid.d.ts.map +1 -0
  182. package/dist/components/features/devices/devices-list.d.ts +131 -0
  183. package/dist/components/features/devices/devices-list.d.ts.map +1 -0
  184. package/dist/components/features/devices/devices-panel-header.d.ts +46 -0
  185. package/dist/components/features/devices/devices-panel-header.d.ts.map +1 -0
  186. package/dist/components/features/devices/devices-panel-view.d.ts +79 -0
  187. package/dist/components/features/devices/devices-panel-view.d.ts.map +1 -0
  188. package/dist/components/features/devices/devices-table-columns.d.ts +76 -0
  189. package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -0
  190. package/dist/components/features/devices/devices-view-config.d.ts +25 -0
  191. package/dist/components/features/devices/devices-view-config.d.ts.map +1 -0
  192. package/dist/components/features/devices/index.d.ts +24 -0
  193. package/dist/components/features/devices/index.d.ts.map +1 -0
  194. package/dist/components/features/devices/types.d.ts +68 -0
  195. package/dist/components/features/devices/types.d.ts.map +1 -0
  196. package/dist/components/features/devices/use-tag-filter-modal.d.ts +50 -0
  197. package/dist/components/features/devices/use-tag-filter-modal.d.ts.map +1 -0
  198. package/dist/components/features/index.cjs +235 -12
  199. package/dist/components/features/index.d.ts +8 -0
  200. package/dist/components/features/index.d.ts.map +1 -1
  201. package/dist/components/features/index.js +274 -51
  202. package/dist/components/features/knowledge-base/index.d.ts +7 -0
  203. package/dist/components/features/knowledge-base/index.d.ts.map +1 -0
  204. package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts +44 -0
  205. package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts.map +1 -0
  206. package/dist/components/features/knowledge-base/knowledge-base-item-icon.d.ts +13 -0
  207. package/dist/components/features/knowledge-base/knowledge-base-item-icon.d.ts.map +1 -0
  208. package/dist/components/features/knowledge-base/knowledge-base-status.d.ts +8 -0
  209. package/dist/components/features/knowledge-base/knowledge-base-status.d.ts.map +1 -0
  210. package/dist/components/features/knowledge-base/knowledge-base-table.d.ts +52 -0
  211. package/dist/components/features/knowledge-base/knowledge-base-table.d.ts.map +1 -0
  212. package/dist/components/features/logs/index.d.ts +12 -0
  213. package/dist/components/features/logs/index.d.ts.map +1 -0
  214. package/dist/components/features/logs/log-drawer.d.ts +29 -0
  215. package/dist/components/features/logs/log-drawer.d.ts.map +1 -0
  216. package/dist/components/features/logs/log-source-labels.d.ts +11 -0
  217. package/dist/components/features/logs/log-source-labels.d.ts.map +1 -0
  218. package/dist/components/features/logs/logs-page-view.d.ts +32 -0
  219. package/dist/components/features/logs/logs-page-view.d.ts.map +1 -0
  220. package/dist/components/features/logs/logs-table-columns.d.ts +15 -0
  221. package/dist/components/features/logs/logs-table-columns.d.ts.map +1 -0
  222. package/dist/components/features/logs/logs-table-view.d.ts +64 -0
  223. package/dist/components/features/logs/logs-table-view.d.ts.map +1 -0
  224. package/dist/components/features/logs/types.d.ts +52 -0
  225. package/dist/components/features/logs/types.d.ts.map +1 -0
  226. package/dist/components/features/policies/compute-policy-summary.d.ts +37 -0
  227. package/dist/components/features/policies/compute-policy-summary.d.ts.map +1 -0
  228. package/dist/components/features/policies/index.d.ts +8 -0
  229. package/dist/components/features/policies/index.d.ts.map +1 -0
  230. package/dist/components/features/policies/policies-table.d.ts +34 -0
  231. package/dist/components/features/policies/policies-table.d.ts.map +1 -0
  232. package/dist/components/features/policies/policy-summary-cards.d.ts +17 -0
  233. package/dist/components/features/policies/policy-summary-cards.d.ts.map +1 -0
  234. package/dist/components/features/policies/policy-table-row.d.ts +37 -0
  235. package/dist/components/features/policies/policy-table-row.d.ts.map +1 -0
  236. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  237. package/dist/components/features/remote-session/index.d.ts +8 -0
  238. package/dist/components/features/remote-session/index.d.ts.map +1 -1
  239. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts +21 -0
  240. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -0
  241. package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts +31 -0
  242. package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts.map +1 -0
  243. package/dist/components/features/remote-session/remote-desktop-fullscreen-toolbar.d.ts +21 -0
  244. package/dist/components/features/remote-session/remote-desktop-fullscreen-toolbar.d.ts.map +1 -0
  245. package/dist/components/features/remote-session/remote-desktop-view.d.ts +50 -0
  246. package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -0
  247. package/dist/components/features/software/index.d.ts +8 -0
  248. package/dist/components/features/software/index.d.ts.map +1 -0
  249. package/dist/components/features/software/package-managers.d.ts +30 -0
  250. package/dist/components/features/software/package-managers.d.ts.map +1 -0
  251. package/dist/components/features/software/package-search-field-placeholder.d.ts +7 -0
  252. package/dist/components/features/software/package-search-field-placeholder.d.ts.map +1 -0
  253. package/dist/components/features/software/schedule-fields.d.ts +34 -0
  254. package/dist/components/features/software/schedule-fields.d.ts.map +1 -0
  255. package/dist/components/features/software/software-action-copy.d.ts +25 -0
  256. package/dist/components/features/software/software-action-copy.d.ts.map +1 -0
  257. package/dist/components/features/software/software-action-form.d.ts +71 -0
  258. package/dist/components/features/software/software-action-form.d.ts.map +1 -0
  259. package/dist/components/features/software/software-row-fields.d.ts +23 -0
  260. package/dist/components/features/software/software-row-fields.d.ts.map +1 -0
  261. package/dist/components/features/software/software-row.d.ts +18 -0
  262. package/dist/components/features/software/software-row.d.ts.map +1 -0
  263. package/dist/components/features/sortable-list/index.d.ts +1 -0
  264. package/dist/components/features/sortable-list/index.d.ts.map +1 -1
  265. package/dist/components/features/sortable-list/sortable-drag-handle.d.ts +21 -0
  266. package/dist/components/features/sortable-list/sortable-drag-handle.d.ts.map +1 -0
  267. package/dist/components/help-center-pages/index.cjs +133 -114
  268. package/dist/components/help-center-pages/index.js +58 -39
  269. package/dist/components/index.cjs +328 -82
  270. package/dist/components/index.js +459 -213
  271. package/dist/components/layout/page-heading.d.ts +12 -3
  272. package/dist/components/layout/page-heading.d.ts.map +1 -1
  273. package/dist/components/meeting-scheduler/index.cjs +120 -98
  274. package/dist/components/meeting-scheduler/index.js +50 -28
  275. package/dist/components/navigation/index.cjs +36 -17
  276. package/dist/components/navigation/index.d.ts +3 -0
  277. package/dist/components/navigation/index.d.ts.map +1 -1
  278. package/dist/components/navigation/index.js +36 -17
  279. package/dist/components/navigation/mingo-ai-button.d.ts +23 -10
  280. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  281. package/dist/components/navigation/sticky-section-nav.d.ts +14 -1
  282. package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
  283. package/dist/components/onboarding-guides/index.cjs +32 -16
  284. package/dist/components/onboarding-guides/index.js +31 -15
  285. package/dist/components/product-demo/cast.d.ts +58 -0
  286. package/dist/components/product-demo/cast.d.ts.map +1 -0
  287. package/dist/components/product-demo/fixtures/cloud-tenants.d.ts +10 -0
  288. package/dist/components/product-demo/fixtures/cloud-tenants.d.ts.map +1 -0
  289. package/dist/components/product-demo/fixtures/devices.d.ts +14 -0
  290. package/dist/components/product-demo/fixtures/devices.d.ts.map +1 -0
  291. package/dist/components/product-demo/fixtures/knowledge.d.ts +14 -0
  292. package/dist/components/product-demo/fixtures/knowledge.d.ts.map +1 -0
  293. package/dist/components/product-demo/fixtures/logs.d.ts +15 -0
  294. package/dist/components/product-demo/fixtures/logs.d.ts.map +1 -0
  295. package/dist/components/product-demo/fixtures/policies.d.ts +13 -0
  296. package/dist/components/product-demo/fixtures/policies.d.ts.map +1 -0
  297. package/dist/components/product-demo/fixtures/remote-session.d.ts +20 -0
  298. package/dist/components/product-demo/fixtures/remote-session.d.ts.map +1 -0
  299. package/dist/components/product-demo/fixtures/shared.d.ts +156 -0
  300. package/dist/components/product-demo/fixtures/shared.d.ts.map +1 -0
  301. package/dist/components/product-demo/fixtures/software-update.d.ts +19 -0
  302. package/dist/components/product-demo/fixtures/software-update.d.ts.map +1 -0
  303. package/dist/components/product-demo/fixtures/tickets-board.d.ts +8 -0
  304. package/dist/components/product-demo/fixtures/tickets-board.d.ts.map +1 -0
  305. package/dist/components/product-demo/index.cjs +112 -0
  306. package/dist/components/product-demo/index.d.ts +6 -0
  307. package/dist/components/product-demo/index.d.ts.map +1 -0
  308. package/dist/components/product-demo/index.js +112 -0
  309. package/dist/components/product-demo/product-screen.d.ts +22 -0
  310. package/dist/components/product-demo/product-screen.d.ts.map +1 -0
  311. package/dist/components/product-demo/registry.d.ts +13 -0
  312. package/dist/components/product-demo/registry.d.ts.map +1 -0
  313. package/dist/components/product-demo/screen-keys.cjs +25 -0
  314. package/dist/components/product-demo/screen-keys.d.ts +27 -0
  315. package/dist/components/product-demo/screen-keys.d.ts.map +1 -0
  316. package/dist/components/product-demo/screen-keys.js +20 -0
  317. package/dist/components/product-demo/screens/cloud-tenants.d.ts +8 -0
  318. package/dist/components/product-demo/screens/cloud-tenants.d.ts.map +1 -0
  319. package/dist/components/product-demo/screens/devices.d.ts +10 -0
  320. package/dist/components/product-demo/screens/devices.d.ts.map +1 -0
  321. package/dist/components/product-demo/screens/knowledge.d.ts +9 -0
  322. package/dist/components/product-demo/screens/knowledge.d.ts.map +1 -0
  323. package/dist/components/product-demo/screens/logs.d.ts +4 -0
  324. package/dist/components/product-demo/screens/logs.d.ts.map +1 -0
  325. package/dist/components/product-demo/screens/policies.d.ts +8 -0
  326. package/dist/components/product-demo/screens/policies.d.ts.map +1 -0
  327. package/dist/components/product-demo/screens/remote-desktop-picture.d.ts +11 -0
  328. package/dist/components/product-demo/screens/remote-desktop-picture.d.ts.map +1 -0
  329. package/dist/components/product-demo/screens/remote-session.d.ts +8 -0
  330. package/dist/components/product-demo/screens/remote-session.d.ts.map +1 -0
  331. package/dist/components/product-demo/screens/software-update.d.ts +12 -0
  332. package/dist/components/product-demo/screens/software-update.d.ts.map +1 -0
  333. package/dist/components/product-demo/screens/tickets-board.d.ts +4 -0
  334. package/dist/components/product-demo/screens/tickets-board.d.ts.map +1 -0
  335. package/dist/components/product-demo/types.d.ts +9 -0
  336. package/dist/components/product-demo/types.d.ts.map +1 -0
  337. package/dist/components/related-content/index.cjs +14 -8
  338. package/dist/components/related-content/index.js +13 -7
  339. package/dist/components/tickets/index.cjs +36 -20
  340. package/dist/components/tickets/index.js +35 -19
  341. package/dist/components/ui/file-manager/index.cjs +38 -34
  342. package/dist/components/ui/file-manager/index.js +8 -4
  343. package/dist/components/ui/index.cjs +57 -17
  344. package/dist/components/ui/index.d.ts +1 -0
  345. package/dist/components/ui/index.d.ts.map +1 -1
  346. package/dist/components/ui/index.js +141 -101
  347. package/dist/components/ui/product-screen-frame.d.ts +45 -0
  348. package/dist/components/ui/product-screen-frame.d.ts.map +1 -0
  349. package/dist/components/ui/radio-group.d.ts +5 -0
  350. package/dist/components/ui/radio-group.d.ts.map +1 -1
  351. package/dist/components/ui/snap-carousel.d.ts +11 -1
  352. package/dist/components/ui/snap-carousel.d.ts.map +1 -1
  353. package/dist/components/ui/tag.d.ts +1 -1
  354. package/dist/components/ui/tag.d.ts.map +1 -1
  355. package/dist/devices-6XKQTQM5.cjs +81 -0
  356. package/dist/devices-LXSFGGEZ.js +81 -0
  357. package/dist/hooks/index.cjs +17 -8
  358. package/dist/hooks/index.js +32 -23
  359. package/dist/hooks/ui/index.d.ts +1 -0
  360. package/dist/hooks/ui/index.d.ts.map +1 -1
  361. package/dist/hooks/ui/use-header-height.d.ts +12 -0
  362. package/dist/hooks/ui/use-header-height.d.ts.map +1 -1
  363. package/dist/hooks/ui/use-sticky-toolbar.d.ts +29 -0
  364. package/dist/hooks/ui/use-sticky-toolbar.d.ts.map +1 -0
  365. package/dist/hooks/use-location-hash.d.ts +2 -2
  366. package/dist/hooks/use-location-hash.d.ts.map +1 -1
  367. package/dist/hooks/use-scroll-to-hash.d.ts +7 -0
  368. package/dist/hooks/use-scroll-to-hash.d.ts.map +1 -1
  369. package/dist/index.cjs +284 -25
  370. package/dist/index.js +737 -478
  371. package/dist/knowledge-7PDZLXPO.cjs +108 -0
  372. package/dist/knowledge-Q4SPFOTN.js +108 -0
  373. package/dist/logs-SZ4VB4FE.js +216 -0
  374. package/dist/logs-TO3NELGJ.cjs +216 -0
  375. package/dist/policies-533GQVFM.cjs +121 -0
  376. package/dist/policies-LB7VW2UB.js +121 -0
  377. package/dist/remote-session-GSGZOFDX.js +196 -0
  378. package/dist/remote-session-R6VAFESR.cjs +196 -0
  379. package/dist/software-update-DT2XSG7M.cjs +179 -0
  380. package/dist/software-update-ENZNVGKP.js +179 -0
  381. package/dist/tickets-board-BHLPAVNJ.cjs +137 -0
  382. package/dist/tickets-board-PYDNELSK.js +137 -0
  383. package/dist/types/case-study.d.ts +15 -1
  384. package/dist/types/case-study.d.ts.map +1 -1
  385. package/dist/utils/date-utils.d.ts +5 -0
  386. package/dist/utils/date-utils.d.ts.map +1 -1
  387. package/dist/utils/index.cjs +45 -2
  388. package/dist/utils/index.d.ts +2 -1
  389. package/dist/utils/index.d.ts.map +1 -1
  390. package/dist/utils/index.js +41 -3
  391. package/dist/utils/open-in-new-tab.d.ts +7 -0
  392. package/dist/utils/open-in-new-tab.d.ts.map +1 -0
  393. package/dist/utils/same-page-hash-nav.d.ts +31 -0
  394. package/dist/utils/same-page-hash-nav.d.ts.map +1 -1
  395. package/dist/utils/scroll-into-view.d.ts +14 -1
  396. package/dist/utils/scroll-into-view.d.ts.map +1 -1
  397. package/package.json +13 -1
  398. package/src/components/chat/ask-prompts.tsx +226 -0
  399. package/src/components/chat/embeddable-chat.tsx +36 -2
  400. package/src/components/chat/entity-cards/case-study-card.tsx +122 -46
  401. package/src/components/chat/index.ts +1 -0
  402. package/src/components/chat/quick-action-chip.tsx +33 -9
  403. package/src/components/docs/use-scroll-spy.ts +93 -18
  404. package/src/components/faq/faq-section.tsx +82 -43
  405. package/src/components/features/approval-level.tsx +149 -0
  406. package/src/components/features/array-entry-manager.tsx +10 -1
  407. package/src/components/features/board/board.tsx +4 -1
  408. package/src/components/features/board/ticket-card.tsx +11 -1
  409. package/src/components/features/board/touch-board.tsx +2 -1
  410. package/src/components/features/board/types.ts +3 -0
  411. package/src/components/features/board/use-board-collapse.ts +7 -2
  412. package/src/components/features/capability-explorer.tsx +412 -0
  413. package/src/components/features/cloud-tenants/index.ts +28 -0
  414. package/src/components/features/cloud-tenants/tenant-access-cell.tsx +24 -0
  415. package/src/components/features/cloud-tenants/tenant-cell.tsx +26 -0
  416. package/src/components/features/cloud-tenants/tenant-customer-cell.tsx +27 -0
  417. package/src/components/features/cloud-tenants/tenant-presentation.ts +111 -0
  418. package/src/components/features/cloud-tenants/tenant-row.ts +21 -0
  419. package/src/components/features/cloud-tenants/tenants-table-columns.ts +30 -0
  420. package/src/components/features/cloud-tenants/tenants-table-view.tsx +142 -0
  421. package/src/components/features/devices/device-last-online.ts +6 -0
  422. package/src/components/features/devices/device-name.ts +51 -0
  423. package/src/components/features/devices/device-selector/device-selection-mode-radio.tsx +107 -0
  424. package/src/components/features/devices/device-selector/device-selector-skeleton.tsx +32 -0
  425. package/src/components/features/devices/device-selector/device-selector.tsx +799 -0
  426. package/src/components/features/devices/device-selector/device-selector.types.ts +138 -0
  427. package/src/components/features/devices/device-selector/narrowing.ts +33 -0
  428. package/src/components/features/devices/device-selector/use-device-selector.ts +51 -0
  429. package/src/components/features/devices/device-status.ts +102 -0
  430. package/src/components/features/devices/device-statuses.ts +88 -0
  431. package/src/components/features/devices/device-tags-filter-button.tsx +49 -0
  432. package/src/components/features/devices/device-type-icon.tsx +29 -0
  433. package/src/components/features/devices/device-type-tile.tsx +17 -0
  434. package/src/components/features/devices/devices-filter-toolbar.tsx +114 -0
  435. package/src/components/features/devices/devices-grid-filters.tsx +99 -0
  436. package/src/components/features/devices/devices-grid.tsx +86 -0
  437. package/src/components/features/devices/devices-list.tsx +357 -0
  438. package/src/components/features/devices/devices-panel-header.tsx +97 -0
  439. package/src/components/features/devices/devices-panel-view.tsx +261 -0
  440. package/src/components/features/devices/devices-table-columns.tsx +356 -0
  441. package/src/components/features/devices/devices-view-config.tsx +38 -0
  442. package/src/components/features/devices/index.ts +89 -0
  443. package/src/components/features/devices/types.ts +74 -0
  444. package/src/components/features/devices/use-tag-filter-modal.ts +109 -0
  445. package/src/components/features/index.ts +10 -0
  446. package/src/components/features/knowledge-base/index.ts +19 -0
  447. package/src/components/features/knowledge-base/knowledge-base-article-view.tsx +134 -0
  448. package/src/components/features/knowledge-base/knowledge-base-item-icon.ts +14 -0
  449. package/src/components/features/knowledge-base/knowledge-base-status.ts +12 -0
  450. package/src/components/features/knowledge-base/knowledge-base-table.tsx +180 -0
  451. package/src/components/features/logs/index.ts +20 -0
  452. package/src/components/features/logs/log-drawer.tsx +138 -0
  453. package/src/components/features/logs/log-source-labels.ts +25 -0
  454. package/src/components/features/logs/logs-page-view.tsx +100 -0
  455. package/src/components/features/logs/logs-table-columns.ts +16 -0
  456. package/src/components/features/logs/logs-table-view.tsx +509 -0
  457. package/src/components/features/logs/types.ts +71 -0
  458. package/src/components/features/policies/compute-policy-summary.ts +115 -0
  459. package/src/components/features/policies/index.ts +14 -0
  460. package/src/components/features/policies/policies-table.tsx +235 -0
  461. package/src/components/features/policies/policy-summary-cards.tsx +69 -0
  462. package/src/components/features/policies/policy-table-row.ts +37 -0
  463. package/src/components/features/policy-configuration-panel.tsx +3 -12
  464. package/src/components/features/remote-session/index.ts +8 -0
  465. package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +56 -0
  466. package/src/components/features/remote-session/remote-desktop-chat-panel.tsx +102 -0
  467. package/src/components/features/remote-session/remote-desktop-fullscreen-toolbar.tsx +119 -0
  468. package/src/components/features/remote-session/remote-desktop-view.tsx +209 -0
  469. package/src/components/features/software/index.ts +39 -0
  470. package/src/components/features/software/package-managers.ts +54 -0
  471. package/src/components/features/software/package-search-field-placeholder.tsx +23 -0
  472. package/src/components/features/software/schedule-fields.tsx +105 -0
  473. package/src/components/features/software/software-action-copy.ts +70 -0
  474. package/src/components/features/software/software-action-form.tsx +199 -0
  475. package/src/components/features/software/software-row-fields.tsx +105 -0
  476. package/src/components/features/software/software-row.ts +22 -0
  477. package/src/components/features/sortable-list/index.ts +1 -0
  478. package/src/components/features/sortable-list/sortable-drag-handle.tsx +41 -0
  479. package/src/components/layout/page-heading.tsx +23 -6
  480. package/src/components/navigation/index.ts +5 -0
  481. package/src/components/navigation/mingo-ai-button.tsx +37 -13
  482. package/src/components/navigation/sticky-section-nav.tsx +99 -1
  483. package/src/components/product-demo/cast.tsx +78 -0
  484. package/src/components/product-demo/fixtures/cloud-tenants.ts +63 -0
  485. package/src/components/product-demo/fixtures/devices.ts +87 -0
  486. package/src/components/product-demo/fixtures/knowledge.ts +48 -0
  487. package/src/components/product-demo/fixtures/logs.ts +103 -0
  488. package/src/components/product-demo/fixtures/policies.ts +77 -0
  489. package/src/components/product-demo/fixtures/remote-session.ts +65 -0
  490. package/src/components/product-demo/fixtures/shared.ts +53 -0
  491. package/src/components/product-demo/fixtures/software-update.ts +63 -0
  492. package/src/components/product-demo/fixtures/tickets-board.ts +100 -0
  493. package/src/components/product-demo/index.ts +7 -0
  494. package/src/components/product-demo/product-screen.tsx +94 -0
  495. package/src/components/product-demo/registry.ts +20 -0
  496. package/src/components/product-demo/screen-keys.ts +31 -0
  497. package/src/components/product-demo/screens/cloud-tenants.tsx +23 -0
  498. package/src/components/product-demo/screens/devices.tsx +41 -0
  499. package/src/components/product-demo/screens/knowledge.tsx +27 -0
  500. package/src/components/product-demo/screens/logs.tsx +113 -0
  501. package/src/components/product-demo/screens/policies.tsx +29 -0
  502. package/src/components/product-demo/screens/remote-desktop-picture.tsx +118 -0
  503. package/src/components/product-demo/screens/remote-session.tsx +46 -0
  504. package/src/components/product-demo/screens/software-update.tsx +97 -0
  505. package/src/components/product-demo/screens/tickets-board.tsx +28 -0
  506. package/src/components/product-demo/types.ts +10 -0
  507. package/src/components/ui/index.ts +1 -0
  508. package/src/components/ui/product-screen-frame.tsx +136 -0
  509. package/src/components/ui/radio-group.tsx +16 -4
  510. package/src/components/ui/snap-carousel.tsx +26 -1
  511. package/src/components/ui/tag.tsx +5 -0
  512. package/src/hooks/ui/index.ts +1 -0
  513. package/src/hooks/ui/use-header-height.ts +51 -2
  514. package/src/hooks/ui/use-sticky-toolbar.ts +60 -0
  515. package/src/hooks/use-location-hash.ts +9 -5
  516. package/src/hooks/use-scroll-to-hash.ts +9 -1
  517. package/src/types/case-study.ts +21 -1
  518. package/src/utils/date-utils.ts +8 -1
  519. package/src/utils/index.ts +5 -0
  520. package/src/utils/open-in-new-tab.ts +12 -0
  521. package/src/utils/same-page-hash-nav.ts +57 -0
  522. package/src/utils/scroll-into-view.ts +21 -5
  523. package/dist/chunk-BM5MVGH3.cjs +0 -499
  524. package/dist/chunk-CUME3VTQ.js +0 -144
  525. package/dist/chunk-CZ7Y7UG4.js +0 -732
  526. package/dist/chunk-FLKJYMVB.js +0 -499
  527. package/dist/chunk-OF6GEI5A.cjs +0 -144
  528. package/dist/chunk-UVTD52MD.cjs +0 -732
@@ -0,0 +1,292 @@
1
+ "use client";
2
+ import {
3
+ breakpoints,
4
+ createLocalStorageAdapter,
5
+ useMediaQuery
6
+ } from "./chunk-ADBE7QF3.js";
7
+
8
+ // src/hooks/ui/use-drag-and-drop-enabled.ts
9
+ var DRAG_AND_DROP_MEDIA_QUERY = `(pointer: fine) and (hover: hover) and ${breakpoints.md}`;
10
+ function useDragAndDropEnabled() {
11
+ return useMediaQuery(DRAG_AND_DROP_MEDIA_QUERY) ?? false;
12
+ }
13
+
14
+ // src/hooks/ui/use-horizontal-scrollbar.ts
15
+ import { useRef, useState, useCallback } from "react";
16
+ function useHorizontalScrollbar() {
17
+ const scrollElRef = useRef(null);
18
+ const trackRef = useRef(null);
19
+ const thumbRef = useRef(null);
20
+ const roRef = useRef(null);
21
+ const moRef = useRef(null);
22
+ const [thumbRatio, setThumbRatio] = useState(0);
23
+ const [canScrollLeft, setCanScrollLeft] = useState(false);
24
+ const [canScrollRight, setCanScrollRight] = useState(false);
25
+ const prevCanScrollLeftRef = useRef(false);
26
+ const prevCanScrollRightRef = useRef(false);
27
+ const isDraggingRef = useRef(false);
28
+ const dragStartRef = useRef({ mouseX: 0, scrollLeft: 0 });
29
+ const rafIdRef = useRef(0);
30
+ const syncThumbToDOM = useCallback(() => {
31
+ const el = scrollElRef.current;
32
+ const thumb = thumbRef.current;
33
+ if (!el || !thumb) return;
34
+ const maxScroll = el.scrollWidth - el.clientWidth;
35
+ if (maxScroll <= 0) {
36
+ thumb.style.left = "0%";
37
+ return;
38
+ }
39
+ const ratio = el.clientWidth / el.scrollWidth;
40
+ const fraction = Math.min(Math.max(el.scrollLeft, 0), maxScroll) / maxScroll;
41
+ thumb.style.left = `${fraction * (1 - ratio) * 100}%`;
42
+ }, []);
43
+ const syncEdgeFades = useCallback(() => {
44
+ const el = scrollElRef.current;
45
+ if (!el) return;
46
+ const maxScroll = el.scrollWidth - el.clientWidth;
47
+ const ratio = el.clientWidth / el.scrollWidth;
48
+ if (ratio >= 1 || maxScroll <= 0) {
49
+ if (prevCanScrollLeftRef.current) {
50
+ prevCanScrollLeftRef.current = false;
51
+ setCanScrollLeft(false);
52
+ }
53
+ if (prevCanScrollRightRef.current) {
54
+ prevCanScrollRightRef.current = false;
55
+ setCanScrollRight(false);
56
+ }
57
+ return;
58
+ }
59
+ const fraction = Math.min(Math.max(el.scrollLeft, 0), maxScroll) / maxScroll;
60
+ const left = fraction > 1e-3;
61
+ const right = fraction < 0.999;
62
+ if (left !== prevCanScrollLeftRef.current) {
63
+ prevCanScrollLeftRef.current = left;
64
+ setCanScrollLeft(left);
65
+ }
66
+ if (right !== prevCanScrollRightRef.current) {
67
+ prevCanScrollRightRef.current = right;
68
+ setCanScrollRight(right);
69
+ }
70
+ }, []);
71
+ const measure = useCallback(() => {
72
+ const el = scrollElRef.current;
73
+ if (!el) return;
74
+ const ratio = el.clientWidth / el.scrollWidth;
75
+ setThumbRatio(ratio >= 1 ? 0 : ratio);
76
+ syncThumbToDOM();
77
+ syncEdgeFades();
78
+ }, [syncThumbToDOM, syncEdgeFades]);
79
+ const scrollRef = useCallback(
80
+ (node) => {
81
+ if (roRef.current) {
82
+ roRef.current.disconnect();
83
+ roRef.current = null;
84
+ }
85
+ if (moRef.current) {
86
+ moRef.current.disconnect();
87
+ moRef.current = null;
88
+ }
89
+ if (rafIdRef.current) {
90
+ cancelAnimationFrame(rafIdRef.current);
91
+ rafIdRef.current = 0;
92
+ }
93
+ scrollElRef.current = node;
94
+ if (node) {
95
+ const ratio = node.clientWidth / node.scrollWidth;
96
+ setThumbRatio(ratio >= 1 ? 0 : ratio);
97
+ const ro = new ResizeObserver(measure);
98
+ roRef.current = ro;
99
+ const observeAll = () => {
100
+ ro.disconnect();
101
+ ro.observe(node);
102
+ for (const child of Array.from(node.children)) ro.observe(child);
103
+ };
104
+ observeAll();
105
+ moRef.current = new MutationObserver(() => {
106
+ observeAll();
107
+ measure();
108
+ });
109
+ moRef.current.observe(node, { childList: true });
110
+ requestAnimationFrame(() => {
111
+ syncThumbToDOM();
112
+ syncEdgeFades();
113
+ });
114
+ } else {
115
+ setThumbRatio(0);
116
+ prevCanScrollLeftRef.current = false;
117
+ prevCanScrollRightRef.current = false;
118
+ setCanScrollLeft(false);
119
+ setCanScrollRight(false);
120
+ }
121
+ },
122
+ [measure, syncThumbToDOM, syncEdgeFades]
123
+ );
124
+ const onScroll = useCallback(() => {
125
+ if (isDraggingRef.current) return;
126
+ if (rafIdRef.current) cancelAnimationFrame(rafIdRef.current);
127
+ rafIdRef.current = requestAnimationFrame(() => {
128
+ syncThumbToDOM();
129
+ syncEdgeFades();
130
+ });
131
+ }, [syncThumbToDOM, syncEdgeFades]);
132
+ const onTrackClick = useCallback((e) => {
133
+ if (e.target.closest("[data-scrollbar-thumb]")) return;
134
+ const track = trackRef.current;
135
+ const el = scrollElRef.current;
136
+ if (!track || !el) return;
137
+ const ratio = el.clientWidth / el.scrollWidth;
138
+ if (ratio >= 1) return;
139
+ const rect = track.getBoundingClientRect();
140
+ const thumbWidth = rect.width * ratio;
141
+ const maxThumbOffset = rect.width - thumbWidth;
142
+ if (maxThumbOffset <= 0) return;
143
+ const targetFraction = Math.max(0, Math.min(1, (e.clientX - rect.left - thumbWidth / 2) / maxThumbOffset));
144
+ const targetScrollLeft = targetFraction * (el.scrollWidth - el.clientWidth);
145
+ el.scrollTo({ left: targetScrollLeft, behavior: "smooth" });
146
+ }, []);
147
+ const onTrackWheel = useCallback((e) => {
148
+ const el = scrollElRef.current;
149
+ if (!el) return;
150
+ e.preventDefault();
151
+ el.scrollLeft += e.deltaX || e.deltaY;
152
+ }, []);
153
+ const onThumbPointerDown = useCallback((e) => {
154
+ e.preventDefault();
155
+ e.stopPropagation();
156
+ const el = scrollElRef.current;
157
+ if (!el) return;
158
+ isDraggingRef.current = true;
159
+ dragStartRef.current = { mouseX: e.clientX, scrollLeft: el.scrollLeft };
160
+ const target = e.currentTarget;
161
+ target.setPointerCapture(e.pointerId);
162
+ target.style.cursor = "grabbing";
163
+ }, []);
164
+ const onThumbPointerMove = useCallback(
165
+ (e) => {
166
+ if (!isDraggingRef.current) return;
167
+ const el = scrollElRef.current;
168
+ const track = trackRef.current;
169
+ if (!el || !track) return;
170
+ const currentThumbRatio = el.clientWidth / el.scrollWidth;
171
+ if (currentThumbRatio >= 1) return;
172
+ const trackWidth = track.clientWidth;
173
+ const thumbWidth = trackWidth * currentThumbRatio;
174
+ const maxThumbTravel = trackWidth - thumbWidth;
175
+ if (maxThumbTravel <= 0) return;
176
+ const mouseDelta = e.clientX - dragStartRef.current.mouseX;
177
+ const scrollRange = el.scrollWidth - el.clientWidth;
178
+ el.scrollLeft = Math.min(
179
+ Math.max(dragStartRef.current.scrollLeft + mouseDelta / maxThumbTravel * scrollRange, 0),
180
+ scrollRange
181
+ );
182
+ syncThumbToDOM();
183
+ syncEdgeFades();
184
+ },
185
+ [syncThumbToDOM, syncEdgeFades]
186
+ );
187
+ const onThumbPointerUp = useCallback((e) => {
188
+ isDraggingRef.current = false;
189
+ const target = e.currentTarget;
190
+ target.releasePointerCapture(e.pointerId);
191
+ target.style.cursor = "grab";
192
+ }, []);
193
+ const onThumbPointerCancel = useCallback((e) => {
194
+ isDraggingRef.current = false;
195
+ const target = e.currentTarget;
196
+ target.style.cursor = "grab";
197
+ }, []);
198
+ return {
199
+ scrollRef,
200
+ trackRef,
201
+ thumbRef,
202
+ thumbRatio,
203
+ canScrollLeft,
204
+ canScrollRight,
205
+ onScroll,
206
+ onTrackClick,
207
+ onTrackWheel,
208
+ onThumbPointerDown,
209
+ onThumbPointerMove,
210
+ onThumbPointerUp,
211
+ onThumbPointerCancel
212
+ };
213
+ }
214
+
215
+ // src/hooks/ui/use-local-storage.ts
216
+ import { useEffect, useMemo, useRef as useRef2, useState as useState2 } from "react";
217
+
218
+ // src/utils/storage-event.ts
219
+ function readLocalStorageUpdateDetail(event) {
220
+ if (!("detail" in event)) return null;
221
+ const detail = event.detail;
222
+ if (typeof detail !== "object" || detail === null) return null;
223
+ if (!("key" in detail) || typeof detail.key !== "string") return null;
224
+ const newValue = "newValue" in detail ? detail.newValue : null;
225
+ if (newValue !== null && newValue !== void 0 && typeof newValue !== "string") return null;
226
+ return { key: detail.key, newValue: newValue ?? null };
227
+ }
228
+
229
+ // src/hooks/ui/use-local-storage.ts
230
+ function useLocalStorage(key, initialValue, options) {
231
+ const initialValueRef = useRef2(initialValue);
232
+ useEffect(() => {
233
+ initialValueRef.current = initialValue;
234
+ });
235
+ const validate = options?.validate;
236
+ const storage = useMemo(
237
+ () => createLocalStorageAdapter({ key, validate, logTag: `[useLocalStorage:${key}]` }),
238
+ [key, validate]
239
+ );
240
+ const [storedValue, setStoredValue] = useState2(() => storage.load() ?? initialValue);
241
+ const isInitialized = useRef2(true);
242
+ const isFromStorageEvent = useRef2(false);
243
+ useEffect(() => {
244
+ if (!isInitialized.current) return void 0;
245
+ const syncFromStorage = (source) => {
246
+ const next = storage.load();
247
+ isFromStorageEvent.current = true;
248
+ setStoredValue(next ?? initialValueRef.current);
249
+ console.log(`\u{1F504} ${next === null ? "Cleared" : "Updated"} localStorage key "${key}" from ${source}`);
250
+ };
251
+ const handleStorageChange = (e) => {
252
+ if (e.key !== key) return;
253
+ syncFromStorage("storage event");
254
+ };
255
+ const handleCustomStorageUpdate = (event) => {
256
+ const detail = readLocalStorageUpdateDetail(event);
257
+ if (detail?.key !== key) return;
258
+ syncFromStorage("custom storage event");
259
+ };
260
+ window.addEventListener("storage", handleStorageChange);
261
+ window.addEventListener("localStorageUpdate", handleCustomStorageUpdate);
262
+ return () => {
263
+ window.removeEventListener("storage", handleStorageChange);
264
+ window.removeEventListener("localStorageUpdate", handleCustomStorageUpdate);
265
+ };
266
+ }, [key, storage]);
267
+ useEffect(() => {
268
+ if (!isInitialized.current) return;
269
+ if (isFromStorageEvent.current) {
270
+ isFromStorageEvent.current = false;
271
+ return;
272
+ }
273
+ storage.save(storedValue);
274
+ }, [storage, storedValue]);
275
+ const setValue = (value) => {
276
+ try {
277
+ const valueToStore = value instanceof Function ? value(storedValue) : value;
278
+ setStoredValue(valueToStore);
279
+ } catch (error) {
280
+ console.error(`Error setting value for localStorage key "${key}":`, error);
281
+ }
282
+ };
283
+ return [storedValue, setValue];
284
+ }
285
+
286
+ export {
287
+ DRAG_AND_DROP_MEDIA_QUERY,
288
+ useDragAndDropEnabled,
289
+ useHorizontalScrollbar,
290
+ readLocalStorageUpdateDetail,
291
+ useLocalStorage
292
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+ // src/styles/layout-steps.ts
4
+ var LAYOUT_STEPS = {
5
+ sm: { viewport: 640, content: 640 },
6
+ md: { viewport: 800, content: 720 },
7
+ lg: { viewport: 1280, content: 1024 },
8
+ xl: { viewport: 1440, content: 1216 },
9
+ "2xl": { viewport: 1536, content: 1312 }
10
+ };
11
+
12
+
13
+
14
+ exports.LAYOUT_STEPS = LAYOUT_STEPS;
@@ -2,28 +2,30 @@
2
2
 
3
3
 
4
4
 
5
- var _chunk3UNL26CDcjs = require('./chunk-3UNL26CD.cjs');
5
+ var _chunk3RKBJT6Kcjs = require('./chunk-3RKBJT6K.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkEX6GGCACcjs = require('./chunk-EX6GGCAC.cjs');
9
+ var _chunkJ7YIQJPScjs = require('./chunk-J7YIQJPS.cjs');
10
10
 
11
11
 
12
- var _chunkUDFRUKLCcjs = require('./chunk-UDFRUKLC.cjs');
12
+ var _chunkGEDY7HQIcjs = require('./chunk-GEDY7HQI.cjs');
13
13
 
14
14
 
15
15
 
16
16
 
17
17
 
18
18
 
19
+ var _chunkOQKRXLTZcjs = require('./chunk-OQKRXLTZ.cjs');
19
20
 
20
21
 
21
- var _chunkFYOKS5RIcjs = require('./chunk-FYOKS5RI.cjs');
22
+ var _chunkPPXR22YCcjs = require('./chunk-PPXR22YC.cjs');
22
23
 
23
24
 
24
25
 
25
26
 
26
- var _chunk7AM6C6XHcjs = require('./chunk-7AM6C6XH.cjs');
27
+
28
+ var _chunkHETQETPVcjs = require('./chunk-HETQETPV.cjs');
27
29
 
28
30
 
29
31
 
@@ -34,10 +36,10 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
34
36
 
35
37
 
36
38
 
37
- var _chunk6NTPY5QAcjs = require('./chunk-6NTPY5QA.cjs');
39
+ var _chunkETYLOZOBcjs = require('./chunk-ETYLOZOB.cjs');
38
40
 
39
41
 
40
- var _chunkLM7TXMLUcjs = require('./chunk-LM7TXMLU.cjs');
42
+ var _chunkAECTRMGQcjs = require('./chunk-AECTRMGQ.cjs');
41
43
 
42
44
 
43
45
  var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
@@ -62,7 +64,7 @@ function OnboardingGuidesCatalogSkeleton() {
62
64
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-6 w-40 rounded bg-ods-border/70" }),
63
65
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-8 rounded-full bg-ods-text-secondary/20" })
64
66
  ] }),
65
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "flex flex-col gap-4", children: Array.from({ length: cardCount }).map((_, cardIdx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.OnboardingGuideCardSkeleton, { size: "catalog" }) }, cardIdx)) })
67
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "flex flex-col gap-4", children: Array.from({ length: cardCount }).map((_, cardIdx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.OnboardingGuideCardSkeleton, { size: "catalog" }) }, cardIdx)) })
66
68
  ] }, sectionIdx)) })
67
69
  ] });
68
70
  }
@@ -86,10 +88,10 @@ function OnboardingGuidesCatalogView({
86
88
  const sectionValue = selfFetch ? _nullishCoalesce(searchParams.get("section"), () => ( "")) : initialSection;
87
89
  const activeSection = sectionValue || "all";
88
90
  const guidesQs = sectionValue ? `?section=${encodeURIComponent(sectionValue)}` : "";
89
- const guidesRes = _chunkUDFRUKLCcjs.useSelfFetch.call(void 0,
91
+ const guidesRes = _chunkGEDY7HQIcjs.useSelfFetch.call(void 0,
90
92
  selfFetch && guidesEndpoint ? `${guidesEndpoint}${guidesQs}` : null
91
93
  );
92
- const sectionsRes = _chunkUDFRUKLCcjs.useSelfFetch.call(void 0, selfFetch && sectionsEndpoint ? sectionsEndpoint : null);
94
+ const sectionsRes = _chunkGEDY7HQIcjs.useSelfFetch.call(void 0, selfFetch && sectionsEndpoint ? sectionsEndpoint : null);
93
95
  const guides = _react.useMemo.call(void 0, () => _nullishCoalesce(_nullishCoalesce(initialGuides, () => ( _optionalChain([guidesRes, 'access', _2 => _2.data, 'optionalAccess', _3 => _3.data]))), () => ( [])), [initialGuides, _optionalChain([guidesRes, 'access', _4 => _4.data, 'optionalAccess', _5 => _5.data])]);
94
96
  const sections = _react.useMemo.call(void 0,
95
97
  () => _nullishCoalesce(initialSections, () => ( (Array.isArray(sectionsRes.data) ? sectionsRes.data : []))),
@@ -132,25 +134,25 @@ function OnboardingGuidesCatalogView({
132
134
  });
133
135
  };
134
136
  const source = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _6 => _6.source]), () => ( "openframe"));
135
- const docSearch = _chunkEX6GGCACcjs.useDocSearch.call(void 0, {
137
+ const docSearch = _chunkJ7YIQJPScjs.useDocSearch.call(void 0, {
136
138
  source,
137
139
  baseRoute: basePath,
138
140
  onNavigate: (path) => router.push(path),
139
141
  tableIds: ["onboarding-guides"]
140
142
  });
141
143
  const defaultRenderCard = (guide) => {
142
- const cta = _chunkFYOKS5RIcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
144
+ const cta = _chunkHETQETPVcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
143
145
  type: "onboarding_guide",
144
146
  slug: guide.slug,
145
147
  basePath,
146
148
  platforms: guide.onboarding_guide_platforms
147
149
  });
148
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.OnboardingGuideCard, { guide, href: cta.href, targetPlatform: cta.targetPlatform, size: "catalog" });
150
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.OnboardingGuideCard, { guide, href: cta.href, targetPlatform: cta.targetPlatform, size: "catalog" });
149
151
  };
150
152
  const renderCardFn = _nullishCoalesce(renderCard, () => ( defaultRenderCard));
151
153
  const preControls = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
152
154
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
153
- _chunkEX6GGCACcjs.DocSearchBar,
155
+ _chunkJ7YIQJPScjs.DocSearchBar,
154
156
  {
155
157
  placeholder: "Search onboarding guides, releases, case studies\u2026",
156
158
  query: docSearch.query,
@@ -162,7 +164,7 @@ function OnboardingGuidesCatalogView({
162
164
  }
163
165
  ),
164
166
  sections.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
165
- _chunkFYOKS5RIcjs.FilterPillRow,
167
+ _chunkOQKRXLTZcjs.FilterPillRow,
166
168
  {
167
169
  label: "Section",
168
170
  selectedValue: activeSection,
@@ -172,7 +174,7 @@ function OnboardingGuidesCatalogView({
172
174
  )
173
175
  ] });
174
176
  if (selfFetch && guidesRes.error) {
175
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
177
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOQKRXLTZcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
176
178
  }
177
179
  if (selfFetch && guidesRes.data == null && isLoading) {
178
180
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OnboardingGuidesCatalogSkeleton, {});
@@ -204,7 +206,7 @@ function OnboardingGuideDetailView({
204
206
  slug,
205
207
  guideEndpoint,
206
208
  related = [],
207
- MarkdownRenderer = _chunkFYOKS5RIcjs.RichMarkdownRenderer,
209
+ MarkdownRenderer = _chunkOQKRXLTZcjs.RichMarkdownRenderer,
208
210
  renderRelatedCard,
209
211
  backHref,
210
212
  backLabel = "Back to Getting Started",
@@ -214,51 +216,51 @@ function OnboardingGuideDetailView({
214
216
  }) {
215
217
  const resolvedBackHref = _nullishCoalesce(backHref, () => ( basePath));
216
218
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
217
- const captions = _chunk7AM6C6XHcjs.useCaptions.call(void 0, );
219
+ const captions = _chunkHETQETPVcjs.useCaptions.call(void 0, );
218
220
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
219
- const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
221
+ const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOQKRXLTZcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
220
222
  const url = initialData ? null : slug && guideEndpoint ? guideEndpoint(slug) : null;
221
- const { data: guide, isLoading, error, reload } = _chunkUDFRUKLCcjs.useSelfFetch.call(void 0, url, { initialData });
222
- const { ref: videoWarmupRef } = _chunk6NTPY5QAcjs.useVideoWarmup.call(void 0, {
223
+ const { data: guide, isLoading, error, reload } = _chunkGEDY7HQIcjs.useSelfFetch.call(void 0, url, { initialData });
224
+ const { ref: videoWarmupRef } = _chunkETYLOZOBcjs.useVideoWarmup.call(void 0, {
223
225
  videoUrl: _optionalChain([guide, 'optionalAccess', _8 => _8.main_video_url]),
224
226
  supabaseStorageOrigin: _optionalChain([runtime, 'optionalAccess', _9 => _9.endpoints, 'access', _10 => _10.supabaseStorageOrigin])
225
227
  });
226
228
  if (error || !guide && !isLoading) {
227
- return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
229
+ return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOQKRXLTZcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
228
230
  }
229
231
  if (!guide) {
230
232
  return renderShell(
231
233
  // Match the loaded page's top offset (TitleBlock's
232
234
  // `pt-[var(--spacing-system-l)]`) so content doesn't jump on load.
233
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UNL26CDcjs.DetailPageSkeleton, { bare: true, showImageGallery: false }) })
235
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3RKBJT6Kcjs.DetailPageSkeleton, { bare: true, showImageGallery: false }) })
234
236
  );
235
237
  }
236
238
  const { captionsUrl, highlightCaptionsUrl } = captions.forEntity("onboarding_guide", guide);
237
239
  const videoPoster = guide.main_video_thumbnail || guide.featured_image || guide.og_image_url || // `buildOgPlaceholderUrl` always returns a usable string (relative route at
238
240
  // worst), so it's the terminal fallback — no trailing `|| undefined` needed.
239
- _chunkLM7TXMLUcjs.buildOgPlaceholderUrl.call(void 0, _optionalChain([runtime, 'optionalAccess', _11 => _11.endpoints]), guide.title, { aspect: "wide" });
241
+ _chunkAECTRMGQcjs.buildOgPlaceholderUrl.call(void 0, _optionalChain([runtime, 'optionalAccess', _11 => _11.endpoints]), guide.title, { aspect: "wide" });
240
242
  const defaultRenderRelatedCard = (g) => {
241
- const cta = _chunkFYOKS5RIcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
243
+ const cta = _chunkHETQETPVcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
242
244
  type: "onboarding_guide",
243
245
  slug: g.slug,
244
246
  basePath,
245
247
  platforms: g.onboarding_guide_platforms
246
248
  });
247
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.OnboardingGuideCard, { guide: g, href: cta.href, targetPlatform: cta.targetPlatform });
249
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.OnboardingGuideCard, { guide: g, href: cta.href, targetPlatform: cta.targetPlatform });
248
250
  };
249
251
  const renderRelatedCardFn = _nullishCoalesce(renderRelatedCard, () => ( defaultRenderRelatedCard));
250
252
  return renderShell(
251
253
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
252
- _chunkFYOKS5RIcjs.PageLayout,
254
+ _chunkPPXR22YCcjs.PageLayout,
253
255
  {
254
256
  title: guide.title,
255
257
  titleSize: "h1",
256
258
  titleWrap: true,
257
259
  backButton: { label: backLabel, onClick: () => router.push(resolvedBackHref) },
258
260
  children: [
259
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
261
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOQKRXLTZcjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
260
262
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
261
- _chunk6NTPY5QAcjs.EntityAuthorCard,
263
+ _chunkETYLOZOBcjs.EntityAuthorCard,
262
264
  {
263
265
  author: guide.author,
264
266
  authorHref,
@@ -273,7 +275,7 @@ function OnboardingGuideDetailView({
273
275
  }
274
276
  ),
275
277
  (guide.main_video_url || guide.youtube_url) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: videoWarmupRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
276
- _chunk7AM6C6XHcjs.EntityVideoSection,
278
+ _chunkHETQETPVcjs.EntityVideoSection,
277
279
  {
278
280
  mainVideoUrl: guide.main_video_url,
279
281
  youtubeUrl: guide.youtube_url || void 0,
@@ -291,17 +293,17 @@ function OnboardingGuideDetailView({
291
293
  ) }),
292
294
  guide.content && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: guide.content }) }),
293
295
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
294
- _chunk7AM6C6XHcjs.VideoBitesStrip,
296
+ _chunkHETQETPVcjs.VideoBitesStrip,
295
297
  {
296
298
  bites: _nullishCoalesce(guide.video_bites, () => ( [])),
297
299
  filterPublished: true,
298
300
  showTitle: false,
299
- profile: _chunk6NTPY5QAcjs.toStripProfile.call(void 0, guide.author),
301
+ profile: _chunkETYLOZOBcjs.toStripProfile.call(void 0, guide.author),
300
302
  href: `/onboarding-guides/${guide.slug}`
301
303
  }
302
304
  ),
303
305
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
304
- _chunk3UNL26CDcjs.ArticleAuthorByline,
306
+ _chunk3RKBJT6Kcjs.ArticleAuthorByline,
305
307
  {
306
308
  author: _nullishCoalesce(_optionalChain([guide, 'access', _13 => _13.author, 'optionalAccess', _14 => _14.full_name]), () => ( null)),
307
309
  avatar: _optionalChain([guide, 'access', _15 => _15.author, 'optionalAccess', _16 => _16.avatar_url]),
@@ -1,12 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkFYOKS5RIcjs = require('./chunk-FYOKS5RI.cjs');
4
+ var _chunkPPXR22YCcjs = require('./chunk-PPXR22YC.cjs');
5
5
 
6
6
 
7
+ var _chunkETYLOZOBcjs = require('./chunk-ETYLOZOB.cjs');
7
8
 
8
9
 
9
- var _chunk6NTPY5QAcjs = require('./chunk-6NTPY5QA.cjs');
10
+
11
+ var _chunkF5BPGWGTcjs = require('./chunk-F5BPGWGT.cjs');
10
12
 
11
13
 
12
14
  var _chunkMGHIV4L6cjs = require('./chunk-MGHIV4L6.cjs');
@@ -64,7 +66,7 @@ function DetailPageSkeleton({
64
66
  ] });
65
67
  if (bare) return content;
66
68
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
67
- _chunkFYOKS5RIcjs.PageLayout,
69
+ _chunkPPXR22YCcjs.PageLayout,
68
70
  {
69
71
  showHeader: false,
70
72
  className: "mx-auto max-w-[1280px] bg-ods-bg px-6 py-6 content-md:px-20 content-md:py-10",
@@ -77,7 +79,7 @@ function DetailPageSkeleton({
77
79
  var _lucidereact = require('lucide-react');
78
80
 
79
81
  function formatDate(value) {
80
- return _chunk6NTPY5QAcjs.formatDateWithTimezone.call(void 0, value, null, "long");
82
+ return _chunkF5BPGWGTcjs.formatDateWithTimezone.call(void 0, value, null, "long");
81
83
  }
82
84
  function ArticleAuthorByline({
83
85
  author,
@@ -93,7 +95,7 @@ function ArticleAuthorByline({
93
95
  }) {
94
96
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
95
97
  if (!author) return null;
96
- const proxiedAvatar = avatar ? proxyImageUrl ? proxyImageUrl(avatar) : _nullishCoalesce(_chunk6NTPY5QAcjs.getProxiedImageUrl.call(void 0, avatar, {
98
+ const proxiedAvatar = avatar ? proxyImageUrl ? proxyImageUrl(avatar) : _nullishCoalesce(_chunkETYLOZOBcjs.getProxiedImageUrl.call(void 0, avatar, {
97
99
  proxyPrefix: _optionalChain([runtime, 'optionalAccess', _2 => _2.endpoints, 'access', _3 => _3.imageProxyUrlPrefix]),
98
100
  skipDomains: _optionalChain([runtime, 'optionalAccess', _4 => _4.endpoints, 'access', _5 => _5.imageProxySkipDomains]),
99
101
  directHttps: true
@@ -101,7 +103,7 @@ function ArticleAuthorByline({
101
103
  const avatarSizeClass = size === "lg" ? "w-16 h-16" : "w-14 h-14";
102
104
  const avatarIconClass = size === "lg" ? "w-8 h-8" : "w-7 h-7";
103
105
  const avatarDim = size === "lg" ? 64 : 56;
104
- const formattedBio = _chunk6NTPY5QAcjs.formatBioText.call(void 0, _nullishCoalesce(bio, () => ( null)));
106
+ const formattedBio = _chunkF5BPGWGTcjs.formatBioText.call(void 0, _nullishCoalesce(bio, () => ( null)));
105
107
  const dateLabel = publishedAt ? formatDate(publishedAt) : "";
106
108
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
107
109
  "div",