@flamingo-stack/openframe-frontend-core 0.0.780 → 0.0.782

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 (1549) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/case-study-card-WYZPBDDM.cjs +23 -0
  3. package/dist/{chunk-4BBOHZM3.cjs → chunk-2EXD2RSC.cjs} +65 -75
  4. package/dist/{chunk-2W3VDE4D.cjs → chunk-3INHO6GP.cjs} +24 -25
  5. package/dist/chunk-4DKPNN2A.cjs +385 -0
  6. package/dist/{chunk-XIFEZ2JT.cjs → chunk-4DQ4CNAG.cjs} +10 -10
  7. package/dist/{chunk-SETFUCZA.cjs → chunk-4MQASMIU.cjs} +7 -7
  8. package/dist/{chunk-E76ONBKF.cjs → chunk-5WMRVMXH.cjs} +5 -5
  9. package/dist/{chunk-YG72MEHY.cjs → chunk-5XAWVXNI.cjs} +808 -422
  10. package/dist/{chunk-AQXEM7GI.cjs → chunk-7DKDVJMR.cjs} +13 -13
  11. package/dist/{chunk-OWQVDWTK.cjs → chunk-7OJMOG34.cjs} +1306 -1487
  12. package/dist/{chunk-WEANWBJH.cjs → chunk-A3UZFFR3.cjs} +5 -4
  13. package/dist/{chunk-UPAE4IV5.cjs → chunk-A4YUTS6Q.cjs} +4774 -5205
  14. package/dist/{chunk-LBGAHB6X.cjs → chunk-BE4OUWTA.cjs} +104 -104
  15. package/dist/{chunk-TVDQMG7I.cjs → chunk-C42BXIY7.cjs} +44 -44
  16. package/dist/{chunk-KA3VQ6X2.cjs → chunk-C5UUWXHE.cjs} +207 -230
  17. package/dist/{chunk-5PK22JP7.cjs → chunk-CBKXU77H.cjs} +59 -61
  18. package/dist/{chunk-TUAATMUE.cjs → chunk-CS5SZJFV.cjs} +2 -2
  19. package/dist/{chunk-3ZLPYEL5.cjs → chunk-DYF6XB27.cjs} +4 -4
  20. package/dist/{chunk-XEYL6AFZ.cjs → chunk-E2ZZOYSM.cjs} +362 -79
  21. package/dist/{chunk-QIQYD75I.cjs → chunk-EFCWHAYC.cjs} +8 -10
  22. package/dist/{chunk-YXDHVHB2.cjs → chunk-EHQ2UGT4.cjs} +34 -17
  23. package/dist/{chunk-3LW5TD54.cjs → chunk-F2FFJWOQ.cjs} +4 -4
  24. package/dist/{chunk-TF5D5MNO.cjs → chunk-FLS6DZEN.cjs} +87 -127
  25. package/dist/{chunk-LELS4XMX.cjs → chunk-FS7CBRF4.cjs} +54 -56
  26. package/dist/{chunk-WR7KJML6.cjs → chunk-GFRKNUJZ.cjs} +53 -66
  27. package/dist/{chunk-ZGWS3NJR.cjs → chunk-I7LRZR4Q.cjs} +59 -57
  28. package/dist/{chunk-PQBGSVZE.cjs → chunk-ISB7LW3D.cjs} +218 -275
  29. package/dist/{chunk-YNECNYQF.cjs → chunk-IZKEWQJN.cjs} +4 -4
  30. package/dist/{chunk-I4IC3BRC.cjs → chunk-JGKPEGZN.cjs} +64 -67
  31. package/dist/{chunk-DQALLDTZ.cjs → chunk-LTF6UDGO.cjs} +6 -6
  32. package/dist/{chunk-64KBI5MI.cjs → chunk-LUWYWYNC.cjs} +2 -2
  33. package/dist/{chunk-OMHQZXCD.cjs → chunk-MDGDL3C7.cjs} +44 -44
  34. package/dist/chunk-MGEUZRNQ.cjs +344 -0
  35. package/dist/{chunk-KLTUTZBO.cjs → chunk-MKF6XX5A.cjs} +206 -207
  36. package/dist/{chunk-JB2SEF6Q.cjs → chunk-N2SVJJLU.cjs} +5 -5
  37. package/dist/{chunk-ILRQXZBA.cjs → chunk-N5TPRCSS.cjs} +69 -88
  38. package/dist/{chunk-YWQ3VXPL.cjs → chunk-N7QNWHJA.cjs} +600 -646
  39. package/dist/{chunk-XFRBEXQN.cjs → chunk-NNNRN4OF.cjs} +21 -48
  40. package/dist/{chunk-OH5LAH3X.cjs → chunk-ODDUGLYF.cjs} +160 -128
  41. package/dist/{chunk-FL2RMEDX.cjs → chunk-OMTH355I.cjs} +10 -7
  42. package/dist/{chunk-F3BASIMT.cjs → chunk-QV4GHAWN.cjs} +161 -167
  43. package/dist/{chunk-MLX6Z7TU.cjs → chunk-RT6QATX4.cjs} +20 -30
  44. package/dist/{chunk-SIDDZZKL.cjs → chunk-TS6TISIF.cjs} +349 -373
  45. package/dist/chunk-UPQMFK5B.cjs +49 -0
  46. package/dist/{chunk-4NRVV3KO.cjs → chunk-VH3KQSI2.cjs} +3 -3
  47. package/dist/{chunk-IE3QCYBT.cjs → chunk-VZUV2FCP.cjs} +13 -13
  48. package/dist/{chunk-KKAY6GPU.cjs → chunk-WSBWP7IW.cjs} +3 -3
  49. package/dist/{chunk-BEMGJDXI.cjs → chunk-XAA5LUHC.cjs} +23 -20
  50. package/dist/{chunk-2JO5HNEF.cjs → chunk-YX7X5QQN.cjs} +55 -85
  51. package/dist/{chunk-HUPDPANN.cjs → chunk-YXZOP726.cjs} +10 -10
  52. package/dist/{chunk-R6BKQKIF.cjs → chunk-ZFOMRALU.cjs} +23 -17
  53. package/dist/{chunk-BNUZKBNV.cjs → chunk-ZJS45HQZ.cjs} +61 -33
  54. package/dist/{cloud-tenants-2ZLGCSGK.cjs → cloud-tenants-LXKEG5N4.cjs} +32 -33
  55. package/dist/components/agent-mark.d.ts +4 -6
  56. package/dist/components/agent-mark.d.ts.map +1 -1
  57. package/dist/components/agent-mark.js +3 -2
  58. package/dist/components/authors/author-detail-view.js +3 -5
  59. package/dist/components/calendar.cjs +11 -11
  60. package/dist/components/case-studies/entity-quotes-panel.d.ts +0 -7
  61. package/dist/components/case-studies/entity-quotes-panel.d.ts.map +1 -1
  62. package/dist/components/case-studies/entity-quotes-panel.js +1 -25
  63. package/dist/components/case-studies/index.cjs +57 -84
  64. package/dist/components/case-studies/index.d.ts +2 -2
  65. package/dist/components/case-studies/index.d.ts.map +1 -1
  66. package/dist/components/case-studies/index.js +1 -4
  67. package/dist/components/case-studies/quote-cards-strip.d.ts +13 -9
  68. package/dist/components/case-studies/quote-cards-strip.d.ts.map +1 -1
  69. package/dist/components/case-studies/quote-cards-strip.js +7 -7
  70. package/dist/components/categories-cart.d.ts +0 -9
  71. package/dist/components/categories-cart.d.ts.map +1 -1
  72. package/dist/components/categories-cart.js +24 -9
  73. package/dist/components/category-card.d.ts.map +1 -1
  74. package/dist/components/category-card.js +58 -11
  75. package/dist/components/chat/approval-batch-message.d.ts.map +1 -1
  76. package/dist/components/chat/approval-batch-message.js +14 -22
  77. package/dist/components/chat/ask-display.d.ts.map +1 -1
  78. package/dist/components/chat/ask-display.js +9 -10
  79. package/dist/components/chat/ask-prompts.d.ts +3 -3
  80. package/dist/components/chat/ask-prompts.d.ts.map +1 -1
  81. package/dist/components/chat/ask-prompts.js +20 -20
  82. package/dist/components/chat/chat-archive-page.d.ts +5 -4
  83. package/dist/components/chat/chat-archive-page.d.ts.map +1 -1
  84. package/dist/components/chat/chat-archive-page.js +33 -22
  85. package/dist/components/chat/chat-container.d.ts.map +1 -1
  86. package/dist/components/chat/chat-container.js +18 -15
  87. package/dist/components/chat/chat-context-memory-bar.d.ts.map +1 -1
  88. package/dist/components/chat/chat-context-memory-bar.js +10 -9
  89. package/dist/components/chat/chat-context-picker.d.ts.map +1 -1
  90. package/dist/components/chat/chat-context-picker.js +42 -35
  91. package/dist/components/chat/chat-input.d.ts.map +1 -1
  92. package/dist/components/chat/chat-input.js +6 -13
  93. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  94. package/dist/components/chat/chat-message-enhanced.js +26 -13
  95. package/dist/components/chat/chat-message-layout.d.ts +35 -0
  96. package/dist/components/chat/chat-message-layout.d.ts.map +1 -0
  97. package/dist/components/chat/chat-message-layout.js +34 -0
  98. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  99. package/dist/components/chat/chat-message-list.js +28 -16
  100. package/dist/components/chat/chat-message-row.d.ts +9 -8
  101. package/dist/components/chat/chat-message-row.d.ts.map +1 -1
  102. package/dist/components/chat/chat-message-row.js +40 -19
  103. package/dist/components/chat/chat-message-skeleton.d.ts +34 -13
  104. package/dist/components/chat/chat-message-skeleton.d.ts.map +1 -1
  105. package/dist/components/chat/chat-message-skeleton.js +57 -29
  106. package/dist/components/chat/chat-nav-sidebar.d.ts +20 -2
  107. package/dist/components/chat/chat-nav-sidebar.d.ts.map +1 -1
  108. package/dist/components/chat/chat-nav-sidebar.js +77 -34
  109. package/dist/components/chat/chat-panel-header.d.ts.map +1 -1
  110. package/dist/components/chat/chat-panel-header.js +18 -8
  111. package/dist/components/chat/chat-sidebar.d.ts +4 -0
  112. package/dist/components/chat/chat-sidebar.d.ts.map +1 -1
  113. package/dist/components/chat/chat-sidebar.js +34 -26
  114. package/dist/components/chat/chat-ticket-list.d.ts +4 -1
  115. package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
  116. package/dist/components/chat/chat-ticket-list.js +18 -13
  117. package/dist/components/chat/chat-top-navigation.d.ts +2 -1
  118. package/dist/components/chat/chat-top-navigation.d.ts.map +1 -1
  119. package/dist/components/chat/chat-top-navigation.js +55 -47
  120. package/dist/components/chat/chat-turn.d.ts +11 -11
  121. package/dist/components/chat/chat-turn.d.ts.map +1 -1
  122. package/dist/components/chat/chat-turn.js +9 -13
  123. package/dist/components/chat/context-items-list.d.ts +11 -7
  124. package/dist/components/chat/context-items-list.d.ts.map +1 -1
  125. package/dist/components/chat/context-items-list.js +53 -51
  126. package/dist/components/chat/embeddable-chat.d.ts +8 -0
  127. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  128. package/dist/components/chat/embeddable-chat.js +81 -81
  129. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts +8 -29
  130. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts.map +1 -1
  131. package/dist/components/chat/entity-cards/admin-content-card-grid.js +27 -22
  132. package/dist/components/chat/entity-cards/admin-content-card.d.ts +6 -15
  133. package/dist/components/chat/entity-cards/admin-content-card.d.ts.map +1 -1
  134. package/dist/components/chat/entity-cards/admin-content-card.js +9 -8
  135. package/dist/components/chat/entity-cards/ai-prompt-card.d.ts +10 -5
  136. package/dist/components/chat/entity-cards/ai-prompt-card.d.ts.map +1 -1
  137. package/dist/components/chat/entity-cards/ai-prompt-card.js +5 -9
  138. package/dist/components/chat/entity-cards/blog-card.d.ts +11 -11
  139. package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
  140. package/dist/components/chat/entity-cards/blog-card.js +20 -6
  141. package/dist/components/chat/entity-cards/campaign-card-admin.d.ts +0 -3
  142. package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -1
  143. package/dist/components/chat/entity-cards/campaign-card-admin.js +1 -2
  144. package/dist/components/chat/entity-cards/case-study-card.d.ts +0 -10
  145. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  146. package/dist/components/chat/entity-cards/case-study-card.js +13 -4
  147. package/dist/components/chat/entity-cards/chat-ticket-item.d.ts +6 -8
  148. package/dist/components/chat/entity-cards/chat-ticket-item.d.ts.map +1 -1
  149. package/dist/components/chat/entity-cards/chat-ticket-item.js +69 -85
  150. package/dist/components/chat/entity-cards/customer-interview-card.d.ts +11 -11
  151. package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -1
  152. package/dist/components/chat/entity-cards/customer-interview-card.js +48 -21
  153. package/dist/components/chat/entity-cards/data-room-doc-card.d.ts +0 -3
  154. package/dist/components/chat/entity-cards/data-room-doc-card.d.ts.map +1 -1
  155. package/dist/components/chat/entity-cards/data-room-doc-card.js +1 -2
  156. package/dist/components/chat/entity-cards/design-doc-card.d.ts +0 -8
  157. package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -1
  158. package/dist/components/chat/entity-cards/design-doc-card.js +5 -6
  159. package/dist/components/chat/entity-cards/dispatch.d.ts +2 -2
  160. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  161. package/dist/components/chat/entity-cards/dispatch.js +23 -26
  162. package/dist/components/chat/entity-cards/employee-entry-card.d.ts +14 -21
  163. package/dist/components/chat/entity-cards/employee-entry-card.d.ts.map +1 -1
  164. package/dist/components/chat/entity-cards/employee-entry-card.js +19 -7
  165. package/dist/components/chat/entity-cards/entity-author-card.d.ts +13 -29
  166. package/dist/components/chat/entity-cards/entity-author-card.d.ts.map +1 -1
  167. package/dist/components/chat/entity-cards/entity-author-card.js +7 -8
  168. package/dist/components/chat/entity-cards/entity-portrait-card.d.ts +4 -10
  169. package/dist/components/chat/entity-cards/entity-portrait-card.d.ts.map +1 -1
  170. package/dist/components/chat/entity-cards/entity-portrait-card.js +22 -13
  171. package/dist/components/chat/entity-cards/generic-entity-card.d.ts +0 -3
  172. package/dist/components/chat/entity-cards/generic-entity-card.d.ts.map +1 -1
  173. package/dist/components/chat/entity-cards/generic-entity-card.js +1 -2
  174. package/dist/components/chat/entity-cards/github-activity-card.d.ts +0 -4
  175. package/dist/components/chat/entity-cards/github-activity-card.d.ts.map +1 -1
  176. package/dist/components/chat/entity-cards/github-activity-card.js +0 -1
  177. package/dist/components/chat/entity-cards/how-i-work-card.d.ts +10 -6
  178. package/dist/components/chat/entity-cards/how-i-work-card.d.ts.map +1 -1
  179. package/dist/components/chat/entity-cards/how-i-work-card.js +5 -9
  180. package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts +0 -4
  181. package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts.map +1 -1
  182. package/dist/components/chat/entity-cards/hubspot-ticket-card.js +1 -2
  183. package/dist/components/chat/entity-cards/index.d.ts +23 -24
  184. package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
  185. package/dist/components/chat/entity-cards/index.js +26 -78
  186. package/dist/components/chat/entity-cards/investor-update-card.d.ts +11 -10
  187. package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
  188. package/dist/components/chat/entity-cards/investor-update-card.js +16 -10
  189. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts +14 -14
  190. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  191. package/dist/components/chat/entity-cards/onboarding-guide-card.js +34 -12
  192. package/dist/components/chat/entity-cards/program-card.d.ts +18 -17
  193. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
  194. package/dist/components/chat/entity-cards/program-card.js +47 -36
  195. package/dist/components/chat/entity-cards/roadmap-card.d.ts +12 -14
  196. package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -1
  197. package/dist/components/chat/entity-cards/roadmap-card.js +19 -9
  198. package/dist/components/chat/entity-cards/slack-message-card.d.ts +0 -4
  199. package/dist/components/chat/entity-cards/slack-message-card.d.ts.map +1 -1
  200. package/dist/components/chat/entity-cards/slack-message-card.js +1 -2
  201. package/dist/components/chat/entity-cards/what-i-shipped-card.d.ts +10 -6
  202. package/dist/components/chat/entity-cards/what-i-shipped-card.d.ts.map +1 -1
  203. package/dist/components/chat/entity-cards/what-i-shipped-card.js +5 -5
  204. package/dist/components/chat/error-message-display.d.ts.map +1 -1
  205. package/dist/components/chat/error-message-display.js +3 -5
  206. package/dist/components/chat/guide-mode-banner.d.ts.map +1 -1
  207. package/dist/components/chat/guide-mode-banner.js +2 -9
  208. package/dist/components/chat/guide-welcome.d.ts +1 -1
  209. package/dist/components/chat/guide-welcome.d.ts.map +1 -1
  210. package/dist/components/chat/guide-welcome.js +4 -2
  211. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
  212. package/dist/components/chat/hooks/use-chat-dialog-manager.js +2 -1
  213. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  214. package/dist/components/chat/hooks/use-nats-chat-adapter.js +2 -1
  215. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
  216. package/dist/components/chat/hooks/use-sse-chat-adapter.js +2 -1
  217. package/dist/components/chat/index.cjs +26 -88
  218. package/dist/components/chat/index.d.ts +1 -4
  219. package/dist/components/chat/index.d.ts.map +1 -1
  220. package/dist/components/chat/index.js +2 -4
  221. package/dist/components/chat/mingo-archive-list.d.ts +4 -2
  222. package/dist/components/chat/mingo-archive-list.d.ts.map +1 -1
  223. package/dist/components/chat/mingo-archive-list.js +8 -4
  224. package/dist/components/chat/mingo-chat-header.d.ts.map +1 -1
  225. package/dist/components/chat/mingo-chat-header.js +9 -8
  226. package/dist/components/chat/mingo-chat-history.d.ts +15 -14
  227. package/dist/components/chat/mingo-chat-history.d.ts.map +1 -1
  228. package/dist/components/chat/mingo-chat-history.js +63 -46
  229. package/dist/components/chat/mingo-chat-modals.d.ts.map +1 -1
  230. package/dist/components/chat/mingo-chat-modals.js +10 -12
  231. package/dist/components/chat/mingo-chat-rail.d.ts +4 -2
  232. package/dist/components/chat/mingo-chat-rail.d.ts.map +1 -1
  233. package/dist/components/chat/mingo-chat-rail.js +10 -6
  234. package/dist/components/chat/mingo-history-rail.d.ts +6 -3
  235. package/dist/components/chat/mingo-history-rail.d.ts.map +1 -1
  236. package/dist/components/chat/mingo-history-rail.js +7 -2
  237. package/dist/components/chat/mingo-info-card.d.ts +6 -7
  238. package/dist/components/chat/mingo-info-card.d.ts.map +1 -1
  239. package/dist/components/chat/mingo-info-card.js +21 -16
  240. package/dist/components/chat/mingo-onboarding-card.d.ts +8 -1
  241. package/dist/components/chat/mingo-onboarding-card.d.ts.map +1 -1
  242. package/dist/components/chat/mingo-onboarding-card.js +70 -32
  243. package/dist/components/chat/mingo-welcome.d.ts +4 -1
  244. package/dist/components/chat/mingo-welcome.d.ts.map +1 -1
  245. package/dist/components/chat/mingo-welcome.js +15 -5
  246. package/dist/components/chat/model-display.d.ts +1 -15
  247. package/dist/components/chat/model-display.d.ts.map +1 -1
  248. package/dist/components/chat/model-display.js +16 -13
  249. package/dist/components/chat/msp-organization-card.d.ts +8 -1
  250. package/dist/components/chat/msp-organization-card.d.ts.map +1 -1
  251. package/dist/components/chat/msp-organization-card.js +34 -39
  252. package/dist/components/chat/quick-action-chip.d.ts +10 -24
  253. package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
  254. package/dist/components/chat/quick-action-chip.js +42 -8
  255. package/dist/components/chat/quick-action-wall.d.ts +3 -3
  256. package/dist/components/chat/quick-action-wall.d.ts.map +1 -1
  257. package/dist/components/chat/quick-action-wall.js +17 -10
  258. package/dist/components/chat/tool-execution-display.d.ts.map +1 -1
  259. package/dist/components/chat/tool-execution-display.js +2 -9
  260. package/dist/components/chat/types/component.types.d.ts +17 -0
  261. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  262. package/dist/components/chat/types/entities/program-types.d.ts +3 -0
  263. package/dist/components/chat/types/entities/program-types.d.ts.map +1 -1
  264. package/dist/components/chat/utils/compact-card-skeleton.d.ts +1 -1
  265. package/dist/components/chat/utils/compact-card-skeleton.js +2 -2
  266. package/dist/components/command.d.ts +7 -7
  267. package/dist/components/comment-card.d.ts +15 -16
  268. package/dist/components/comment-card.d.ts.map +1 -1
  269. package/dist/components/comment-card.js +121 -127
  270. package/dist/components/comment-thread.d.ts +9 -27
  271. package/dist/components/comment-thread.d.ts.map +1 -1
  272. package/dist/components/comment-thread.js +36 -24
  273. package/dist/components/contact/index.cjs +33 -34
  274. package/dist/components/docs/docs-hub-page.d.ts +1 -4
  275. package/dist/components/docs/docs-hub-page.d.ts.map +1 -1
  276. package/dist/components/docs/docs-hub-page.js +2 -3
  277. package/dist/components/docs/index.cjs +36 -41
  278. package/dist/components/docs/index.d.ts +0 -1
  279. package/dist/components/docs/index.d.ts.map +1 -1
  280. package/dist/components/docs/index.js +0 -3
  281. package/dist/components/embeds/embed-viewer-frame.d.ts +1 -1
  282. package/dist/components/embeds/embed-viewer-frame.d.ts.map +1 -1
  283. package/dist/components/embeds/embed-viewer-frame.js +3 -1
  284. package/dist/components/embeds/index.cjs +33 -38
  285. package/dist/components/embeds/index.d.ts +1 -1
  286. package/dist/components/embeds/index.d.ts.map +1 -1
  287. package/dist/components/embeds/index.js +1 -3
  288. package/dist/components/embeds/og-link-preview.d.ts +0 -10
  289. package/dist/components/embeds/og-link-preview.d.ts.map +1 -1
  290. package/dist/components/embeds/og-link-preview.js +1 -3
  291. package/dist/components/faq/faq-section.d.ts +0 -7
  292. package/dist/components/faq/faq-section.d.ts.map +1 -1
  293. package/dist/components/faq/faq-section.js +13 -9
  294. package/dist/components/faq/index.cjs +34 -37
  295. package/dist/components/faq/index.d.ts +1 -1
  296. package/dist/components/faq/index.d.ts.map +1 -1
  297. package/dist/components/faq/index.js +0 -2
  298. package/dist/components/faq-accordion.d.ts +6 -9
  299. package/dist/components/faq-accordion.d.ts.map +1 -1
  300. package/dist/components/faq-accordion.js +14 -17
  301. package/dist/components/features/ai-enrich/AIEnrichSection.d.ts.map +1 -1
  302. package/dist/components/features/ai-enrich/AIEnrichSection.js +2 -1
  303. package/dist/components/features/approval-level.d.ts +0 -12
  304. package/dist/components/features/approval-level.d.ts.map +1 -1
  305. package/dist/components/features/approval-level.js +0 -1
  306. package/dist/components/features/auth/back-to-login-link.js +2 -2
  307. package/dist/components/features/auth/complete-account-form.d.ts +4 -1
  308. package/dist/components/features/auth/complete-account-form.d.ts.map +1 -1
  309. package/dist/components/features/auth/complete-account-form.js +5 -3
  310. package/dist/components/features/auth/create-organization-form.d.ts +5 -3
  311. package/dist/components/features/auth/create-organization-form.d.ts.map +1 -1
  312. package/dist/components/features/auth/create-organization-form.js +12 -2
  313. package/dist/components/features/auth/invite-link-invalid-modal.d.ts.map +1 -1
  314. package/dist/components/features/auth/invite-link-invalid-modal.js +5 -3
  315. package/dist/components/features/auth/login-form.d.ts +6 -1
  316. package/dist/components/features/auth/login-form.d.ts.map +1 -1
  317. package/dist/components/features/auth/login-form.js +5 -3
  318. package/dist/components/features/auth/sso-join-form.d.ts +7 -10
  319. package/dist/components/features/auth/sso-join-form.d.ts.map +1 -1
  320. package/dist/components/features/auth/sso-join-form.js +16 -6
  321. package/dist/components/features/auth/sso-providers.d.ts +9 -1
  322. package/dist/components/features/auth/sso-providers.d.ts.map +1 -1
  323. package/dist/components/features/auth/sso-providers.js +14 -2
  324. package/dist/components/features/board/board-column.d.ts +1 -1
  325. package/dist/components/features/board/board-column.d.ts.map +1 -1
  326. package/dist/components/features/board/board-column.js +9 -7
  327. package/dist/components/features/board/board-ticket-approval.d.ts.map +1 -1
  328. package/dist/components/features/board/board-ticket-approval.js +16 -24
  329. package/dist/components/features/board/board.d.ts +5 -3
  330. package/dist/components/features/board/board.d.ts.map +1 -1
  331. package/dist/components/features/board/board.js +17 -8
  332. package/dist/components/features/board/index.d.ts +1 -3
  333. package/dist/components/features/board/index.d.ts.map +1 -1
  334. package/dist/components/features/board/index.js +2 -3
  335. package/dist/components/features/board/ticket-card.d.ts +9 -6
  336. package/dist/components/features/board/ticket-card.d.ts.map +1 -1
  337. package/dist/components/features/board/ticket-card.js +41 -8
  338. package/dist/components/features/board/types.d.ts +5 -0
  339. package/dist/components/features/board/types.d.ts.map +1 -1
  340. package/dist/components/features/board/types.js +2 -0
  341. package/dist/components/features/capability-explorer.d.ts +2 -16
  342. package/dist/components/features/capability-explorer.d.ts.map +1 -1
  343. package/dist/components/features/capability-explorer.js +113 -118
  344. package/dist/components/features/card-hit-layer.d.ts.map +1 -1
  345. package/dist/components/features/card-hit-layer.js +4 -2
  346. package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts.map +1 -1
  347. package/dist/components/features/cloud-tenants/tenant-access-cell.js +4 -2
  348. package/dist/components/features/cloud-tenants/tenant-cell.d.ts.map +1 -1
  349. package/dist/components/features/cloud-tenants/tenant-cell.js +5 -2
  350. package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts.map +1 -1
  351. package/dist/components/features/cloud-tenants/tenant-customer-cell.js +3 -1
  352. package/dist/components/features/cloud-tenants/tenants-table-view.d.ts.map +1 -1
  353. package/dist/components/features/cloud-tenants/tenants-table-view.js +39 -20
  354. package/dist/components/features/command-box.d.ts +4 -20
  355. package/dist/components/features/command-box.d.ts.map +1 -1
  356. package/dist/components/features/command-box.js +28 -8
  357. package/dist/components/features/conversation-card.d.ts +3 -28
  358. package/dist/components/features/conversation-card.d.ts.map +1 -1
  359. package/dist/components/features/conversation-card.js +73 -30
  360. package/dist/components/features/devices/device-selector/device-selector.d.ts +1 -1
  361. package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -1
  362. package/dist/components/features/devices/device-selector/device-selector.js +45 -45
  363. package/dist/components/features/devices/device-selector/device-selector.types.d.ts +5 -0
  364. package/dist/components/features/devices/device-selector/device-selector.types.d.ts.map +1 -1
  365. package/dist/components/features/devices/device-type-tile.d.ts.map +1 -1
  366. package/dist/components/features/devices/device-type-tile.js +4 -1
  367. package/dist/components/features/devices/devices-grid-filters.d.ts.map +1 -1
  368. package/dist/components/features/devices/devices-grid-filters.js +8 -12
  369. package/dist/components/features/devices/devices-grid.d.ts +8 -1
  370. package/dist/components/features/devices/devices-grid.d.ts.map +1 -1
  371. package/dist/components/features/devices/devices-grid.js +22 -12
  372. package/dist/components/features/devices/devices-list.d.ts +1 -1
  373. package/dist/components/features/devices/devices-list.d.ts.map +1 -1
  374. package/dist/components/features/devices/devices-list.js +5 -2
  375. package/dist/components/features/devices/devices-panel-view.d.ts +7 -1
  376. package/dist/components/features/devices/devices-panel-view.d.ts.map +1 -1
  377. package/dist/components/features/devices/devices-panel-view.js +11 -6
  378. package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -1
  379. package/dist/components/features/devices/devices-table-columns.js +29 -8
  380. package/dist/components/features/devices/index.d.ts +0 -1
  381. package/dist/components/features/devices/index.d.ts.map +1 -1
  382. package/dist/components/features/devices/index.js +0 -2
  383. package/dist/components/features/entity-tag-badges.d.ts +3 -20
  384. package/dist/components/features/entity-tag-badges.d.ts.map +1 -1
  385. package/dist/components/features/entity-tag-badges.js +12 -27
  386. package/dist/components/features/entity-video-section.d.ts +0 -8
  387. package/dist/components/features/entity-video-section.d.ts.map +1 -1
  388. package/dist/components/features/entity-video-section.js +4 -5
  389. package/dist/components/features/filters-dropdown.js +19 -21
  390. package/dist/components/features/highlight-video-section.d.ts.map +1 -1
  391. package/dist/components/features/highlight-video-section.js +7 -7
  392. package/dist/components/features/index.cjs +32 -65
  393. package/dist/components/features/knowledge-base/knowledge-base-table.d.ts.map +1 -1
  394. package/dist/components/features/knowledge-base/knowledge-base-table.js +78 -47
  395. package/dist/components/features/logs/index.d.ts +2 -2
  396. package/dist/components/features/logs/index.d.ts.map +1 -1
  397. package/dist/components/features/logs/index.js +1 -2
  398. package/dist/components/features/logs/logs-page-view.d.ts.map +1 -1
  399. package/dist/components/features/logs/logs-page-view.js +1 -0
  400. package/dist/components/features/logs/logs-table-columns.d.ts +2 -3
  401. package/dist/components/features/logs/logs-table-columns.d.ts.map +1 -1
  402. package/dist/components/features/logs/logs-table-view.d.ts +6 -12
  403. package/dist/components/features/logs/logs-table-view.d.ts.map +1 -1
  404. package/dist/components/features/logs/logs-table-view.js +75 -98
  405. package/dist/components/features/model-token-rates.d.ts +0 -5
  406. package/dist/components/features/model-token-rates.d.ts.map +1 -1
  407. package/dist/components/features/model-token-rates.js +18 -20
  408. package/dist/components/features/notifications/index.d.ts +2 -2
  409. package/dist/components/features/notifications/index.d.ts.map +1 -1
  410. package/dist/components/features/notifications/index.js +1 -2
  411. package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
  412. package/dist/components/features/notifications/notification-drawer.js +7 -3
  413. package/dist/components/features/notifications/notification-tile.d.ts +21 -20
  414. package/dist/components/features/notifications/notification-tile.d.ts.map +1 -1
  415. package/dist/components/features/notifications/notification-tile.js +24 -6
  416. package/dist/components/features/os-type-badge-group.d.ts +3 -1
  417. package/dist/components/features/os-type-badge-group.d.ts.map +1 -1
  418. package/dist/components/features/os-type-badge-group.js +12 -1
  419. package/dist/components/features/os-type-badge.d.ts.map +1 -1
  420. package/dist/components/features/os-type-badge.js +10 -0
  421. package/dist/components/features/paths-display.d.ts +0 -7
  422. package/dist/components/features/paths-display.d.ts.map +1 -1
  423. package/dist/components/features/paths-display.js +17 -9
  424. package/dist/components/features/platform-badge.d.ts +4 -3
  425. package/dist/components/features/platform-badge.d.ts.map +1 -1
  426. package/dist/components/features/platform-badge.js +4 -4
  427. package/dist/components/features/policies/policies-table.d.ts.map +1 -1
  428. package/dist/components/features/policies/policies-table.js +49 -27
  429. package/dist/components/features/policy-configuration-panel.d.ts +2 -0
  430. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  431. package/dist/components/features/policy-configuration-panel.js +56 -34
  432. package/dist/components/features/push-button-selector.d.ts +0 -19
  433. package/dist/components/features/push-button-selector.d.ts.map +1 -1
  434. package/dist/components/features/push-button-selector.js +13 -11
  435. package/dist/components/features/remote-session/index.d.ts +1 -1
  436. package/dist/components/features/remote-session/index.d.ts.map +1 -1
  437. package/dist/components/features/remote-session/index.js +1 -2
  438. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts +9 -3
  439. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -1
  440. package/dist/components/features/remote-session/remote-desktop-chat-message-row.js +31 -17
  441. package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts +1 -1
  442. package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts.map +1 -1
  443. package/dist/components/features/remote-session/remote-desktop-chat-panel.js +20 -7
  444. package/dist/components/features/remote-session/remote-desktop-fullscreen-toolbar.d.ts.map +1 -1
  445. package/dist/components/features/remote-session/remote-desktop-fullscreen-toolbar.js +5 -13
  446. package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
  447. package/dist/components/features/remote-session/remote-desktop-view.js +7 -15
  448. package/dist/components/features/remote-session/remote-session-block.d.ts.map +1 -1
  449. package/dist/components/features/remote-session/remote-session-block.js +18 -28
  450. package/dist/components/features/remote-session/remote-session-chat-panel.d.ts.map +1 -1
  451. package/dist/components/features/remote-session/remote-session-chat-panel.js +5 -3
  452. package/dist/components/features/remote-session/remote-session-events.d.ts.map +1 -1
  453. package/dist/components/features/remote-session/remote-session-events.js +10 -8
  454. package/dist/components/features/remote-session/remote-session-overlay.d.ts.map +1 -1
  455. package/dist/components/features/remote-session/remote-session-overlay.js +5 -12
  456. package/dist/components/features/scripts/execution-cells.d.ts +4 -1
  457. package/dist/components/features/scripts/execution-cells.d.ts.map +1 -1
  458. package/dist/components/features/scripts/execution-cells.js +9 -3
  459. package/dist/components/features/scripts/schedule-form/schedule-script-picker-card.js +4 -2
  460. package/dist/components/features/scripts/schedule-form/schedule-timing-fields.d.ts.map +1 -1
  461. package/dist/components/features/scripts/schedule-form/schedule-timing-fields.js +5 -2
  462. package/dist/components/features/scripts/script-executions-table.d.ts.map +1 -1
  463. package/dist/components/features/scripts/script-executions-table.js +24 -7
  464. package/dist/components/features/scripts/script-schedules-table.d.ts.map +1 -1
  465. package/dist/components/features/scripts/script-schedules-table.js +36 -9
  466. package/dist/components/features/scripts/script-shell-badge.d.ts.map +1 -1
  467. package/dist/components/features/scripts/script-shell-badge.js +8 -0
  468. package/dist/components/features/scripts/scripts-table-shared.d.ts +4 -1
  469. package/dist/components/features/scripts/scripts-table-shared.d.ts.map +1 -1
  470. package/dist/components/features/scripts/scripts-table-shared.js +4 -1
  471. package/dist/components/features/scripts/scripts-table.d.ts.map +1 -1
  472. package/dist/components/features/scripts/scripts-table.js +23 -7
  473. package/dist/components/features/select-button.d.ts.map +1 -1
  474. package/dist/components/features/select-button.js +4 -12
  475. package/dist/components/features/status-filter-component.d.ts +0 -14
  476. package/dist/components/features/status-filter-component.d.ts.map +1 -1
  477. package/dist/components/features/status-filter-component.js +1 -2
  478. package/dist/components/features/tags-selector.d.ts.map +1 -1
  479. package/dist/components/features/tags-selector.js +4 -3
  480. package/dist/components/features/ticket-status-config-list/ticket-status-config-list.d.ts +10 -1
  481. package/dist/components/features/ticket-status-config-list/ticket-status-config-list.d.ts.map +1 -1
  482. package/dist/components/features/ticket-status-config-list/ticket-status-config-list.js +34 -9
  483. package/dist/components/features/video-bites-strip.d.ts +0 -31
  484. package/dist/components/features/video-bites-strip.d.ts.map +1 -1
  485. package/dist/components/features/video-bites-strip.js +2 -9
  486. package/dist/components/features/video-shared.d.ts +3 -0
  487. package/dist/components/features/video-shared.d.ts.map +1 -1
  488. package/dist/components/features/video-source-selector.d.ts.map +1 -1
  489. package/dist/components/features/video-source-selector.js +5 -3
  490. package/dist/components/features/video.d.ts +1 -9
  491. package/dist/components/features/video.d.ts.map +1 -1
  492. package/dist/components/features/video.js +5 -4
  493. package/dist/components/features/walkthrough-video.d.ts +0 -7
  494. package/dist/components/features/walkthrough-video.d.ts.map +1 -1
  495. package/dist/components/features/walkthrough-video.js +1 -2
  496. package/dist/components/filter-chip.d.ts.map +1 -1
  497. package/dist/components/filter-chip.js +5 -9
  498. package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -1
  499. package/dist/components/help-center-pages/download-apps-page.js +19 -13
  500. package/dist/components/help-center-pages/index.cjs +187 -191
  501. package/dist/components/help-center-pages/index.d.ts +1 -1
  502. package/dist/components/help-center-pages/index.d.ts.map +1 -1
  503. package/dist/components/help-center-pages/index.js +2 -3
  504. package/dist/components/help-center-pages/trust-center-page.d.ts +0 -9
  505. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  506. package/dist/components/help-center-pages/trust-center-page.js +4 -11
  507. package/dist/components/help-center-pages/trust-center-sections.js +10 -10
  508. package/dist/components/index.cjs +494 -1298
  509. package/dist/components/index.d.ts +2 -3
  510. package/dist/components/index.d.ts.map +1 -1
  511. package/dist/components/index.js +1 -9
  512. package/dist/components/interactive-wrapper.d.ts +0 -4
  513. package/dist/components/interactive-wrapper.d.ts.map +1 -1
  514. package/dist/components/interactive-wrapper.js +0 -21
  515. package/dist/components/layout/back-button.d.ts +5 -2
  516. package/dist/components/layout/back-button.d.ts.map +1 -1
  517. package/dist/components/layout/back-button.js +5 -18
  518. package/dist/components/layout/list-page-layout.d.ts +3 -3
  519. package/dist/components/layout/list-page-layout.d.ts.map +1 -1
  520. package/dist/components/layout/list-page-layout.js +1 -0
  521. package/dist/components/layout/page-container.d.ts +0 -8
  522. package/dist/components/layout/page-container.d.ts.map +1 -1
  523. package/dist/components/layout/page-container.js +0 -2
  524. package/dist/components/layout/page-heading.d.ts +11 -21
  525. package/dist/components/layout/page-heading.d.ts.map +1 -1
  526. package/dist/components/layout/page-heading.js +18 -2
  527. package/dist/components/loading/index.d.ts +2 -13
  528. package/dist/components/loading/index.d.ts.map +1 -1
  529. package/dist/components/loading/index.js +5 -42
  530. package/dist/components/loading/loading-fallback.d.ts +46 -0
  531. package/dist/components/loading/loading-fallback.d.ts.map +1 -0
  532. package/dist/components/loading/loading-fallback.js +33 -0
  533. package/dist/components/loading/loading-region.d.ts.map +1 -1
  534. package/dist/components/loading/loading-region.js +3 -3
  535. package/dist/components/log-severity-dot.d.ts +0 -2
  536. package/dist/components/log-severity-dot.d.ts.map +1 -1
  537. package/dist/components/log-severity-dot.js +4 -3
  538. package/dist/components/logs-list.d.ts.map +1 -1
  539. package/dist/components/logs-list.js +6 -8
  540. package/dist/components/meeting-scheduler/booking-form.d.ts +1 -28
  541. package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
  542. package/dist/components/meeting-scheduler/booking-form.js +4 -6
  543. package/dist/components/meeting-scheduler/context-panel.d.ts +1 -24
  544. package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
  545. package/dist/components/meeting-scheduler/context-panel.js +8 -39
  546. package/dist/components/meeting-scheduler/directory.d.ts +0 -10
  547. package/dist/components/meeting-scheduler/directory.d.ts.map +1 -1
  548. package/dist/components/meeting-scheduler/directory.js +6 -7
  549. package/dist/components/meeting-scheduler/host-identity.d.ts +12 -0
  550. package/dist/components/meeting-scheduler/host-identity.d.ts.map +1 -0
  551. package/dist/components/meeting-scheduler/host-identity.js +51 -0
  552. package/dist/components/meeting-scheduler/index.cjs +278 -306
  553. package/dist/components/meeting-scheduler/index.d.ts +3 -3
  554. package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
  555. package/dist/components/meeting-scheduler/index.js +4 -11
  556. package/dist/components/meeting-scheduler/modal-header.d.ts +1 -4
  557. package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -1
  558. package/dist/components/meeting-scheduler/modal-header.js +6 -45
  559. package/dist/components/meeting-scheduler/slot-picker.d.ts +0 -16
  560. package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
  561. package/dist/components/meeting-scheduler/slot-picker.js +7 -14
  562. package/dist/components/metric-value.d.ts +0 -5
  563. package/dist/components/metric-value.d.ts.map +1 -1
  564. package/dist/components/metric-value.js +1 -2
  565. package/dist/components/msp-display.d.ts +0 -5
  566. package/dist/components/msp-display.d.ts.map +1 -1
  567. package/dist/components/msp-display.js +3 -4
  568. package/dist/components/navigation/app-header.d.ts.map +1 -1
  569. package/dist/components/navigation/app-header.js +3 -1
  570. package/dist/components/navigation/header-button.d.ts.map +1 -1
  571. package/dist/components/navigation/header-button.js +5 -9
  572. package/dist/components/navigation/header-mingo-button.d.ts.map +1 -1
  573. package/dist/components/navigation/header-mingo-button.js +4 -8
  574. package/dist/components/navigation/header-organization-filter.d.ts.map +1 -1
  575. package/dist/components/navigation/header-organization-filter.js +11 -23
  576. package/dist/components/navigation/index.cjs +35 -36
  577. package/dist/components/navigation/mobile-burger-menu.d.ts.map +1 -1
  578. package/dist/components/navigation/mobile-burger-menu.js +9 -29
  579. package/dist/components/navigation/multi-level-navigation.d.ts +0 -10
  580. package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
  581. package/dist/components/navigation/multi-level-navigation.js +28 -37
  582. package/dist/components/navigation/navigation-sidebar-item.d.ts +12 -14
  583. package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
  584. package/dist/components/navigation/navigation-sidebar-item.js +29 -44
  585. package/dist/components/navigation/navigation-sidebar-toggle.d.ts.map +1 -1
  586. package/dist/components/navigation/navigation-sidebar-toggle.js +4 -8
  587. package/dist/components/navigation/navigation-sidebar.d.ts.map +1 -1
  588. package/dist/components/navigation/navigation-sidebar.js +3 -3
  589. package/dist/components/navigation/sticky-section-nav.d.ts +0 -7
  590. package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
  591. package/dist/components/navigation/sticky-section-nav.js +9 -15
  592. package/dist/components/onboarding-guides/index.cjs +35 -36
  593. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  594. package/dist/components/onboarding-guides/onboarding-guide-detail-view.js +3 -5
  595. package/dist/components/onboarding-guides/onboarding-guides-catalog-view.d.ts.map +1 -1
  596. package/dist/components/onboarding-guides/onboarding-guides-catalog-view.js +22 -14
  597. package/dist/components/pagination.d.ts.map +1 -1
  598. package/dist/components/pagination.js +1 -11
  599. package/dist/components/platform/ToolBadge.d.ts +0 -8
  600. package/dist/components/platform/ToolBadge.d.ts.map +1 -1
  601. package/dist/components/platform/ToolBadge.js +1 -2
  602. package/dist/components/platform/index.d.ts +2 -2
  603. package/dist/components/platform/index.d.ts.map +1 -1
  604. package/dist/components/platform/index.js +2 -3
  605. package/dist/components/product-demo/index.cjs +66 -54
  606. package/dist/components/product-demo/product-screen.d.ts.map +1 -1
  607. package/dist/components/product-demo/product-screen.js +22 -9
  608. package/dist/components/product-demo/screen-loading.d.ts.map +1 -1
  609. package/dist/components/product-demo/screen-loading.js +2 -4
  610. package/dist/components/related-content/card-registry.d.ts.map +1 -1
  611. package/dist/components/related-content/card-registry.js +23 -36
  612. package/dist/components/related-content/index.cjs +17 -19
  613. package/dist/components/related-content/index.d.ts +1 -1
  614. package/dist/components/related-content/index.d.ts.map +1 -1
  615. package/dist/components/related-content/index.js +2 -4
  616. package/dist/components/related-content/related-content-section.d.ts +0 -14
  617. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  618. package/dist/components/related-content/related-content-section.js +1 -2
  619. package/dist/components/resizable.d.ts +1 -1
  620. package/dist/components/results-count.d.ts +0 -5
  621. package/dist/components/results-count.d.ts.map +1 -1
  622. package/dist/components/results-count.js +1 -2
  623. package/dist/components/shared/article-author-byline.d.ts +0 -8
  624. package/dist/components/shared/article-author-byline.d.ts.map +1 -1
  625. package/dist/components/shared/article-author-byline.js +1 -2
  626. package/dist/components/shared/delivery/delivery-row.d.ts +12 -8
  627. package/dist/components/shared/delivery/delivery-row.d.ts.map +1 -1
  628. package/dist/components/shared/delivery/delivery-row.js +7 -7
  629. package/dist/components/shared/delivery/delivery-table.d.ts +1 -3
  630. package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -1
  631. package/dist/components/shared/delivery/delivery-table.js +6 -6
  632. package/dist/components/shared/dev-section/dev-card-row.d.ts +10 -22
  633. package/dist/components/shared/dev-section/dev-card-row.d.ts.map +1 -1
  634. package/dist/components/shared/dev-section/dev-card-row.js +10 -39
  635. package/dist/components/shared/dev-section/index.d.ts +1 -1
  636. package/dist/components/shared/dev-section/index.d.ts.map +1 -1
  637. package/dist/components/shared/dev-section/index.js +1 -7
  638. package/dist/components/shared/legal-document/index.d.ts +1 -1
  639. package/dist/components/shared/legal-document/index.d.ts.map +1 -1
  640. package/dist/components/shared/legal-document/index.js +0 -2
  641. package/dist/components/shared/legal-document/legal-document-page.d.ts +0 -7
  642. package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
  643. package/dist/components/shared/legal-document/legal-document-page.js +2 -3
  644. package/dist/components/shared/media-gallery-strip.d.ts +0 -5
  645. package/dist/components/shared/media-gallery-strip.d.ts.map +1 -1
  646. package/dist/components/shared/media-gallery-strip.js +15 -14
  647. package/dist/components/shared/onboarding/onboarding-walkthrough.d.ts +1 -1
  648. package/dist/components/shared/onboarding/onboarding-walkthrough.d.ts.map +1 -1
  649. package/dist/components/shared/onboarding/onboarding-walkthrough.js +3 -1
  650. package/dist/components/shared/product-release/index.d.ts +0 -1
  651. package/dist/components/shared/product-release/index.d.ts.map +1 -1
  652. package/dist/components/shared/product-release/index.js +0 -2
  653. package/dist/components/shared/product-release/product-release-card-skeleton.js +4 -4
  654. package/dist/components/shared/product-release/product-release-card.d.ts +9 -4
  655. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  656. package/dist/components/shared/product-release/product-release-card.js +8 -4
  657. package/dist/components/shared/product-release/product-releases-view.d.ts +3 -3
  658. package/dist/components/shared/product-release/product-releases-view.d.ts.map +1 -1
  659. package/dist/components/shared/product-release/product-releases-view.js +8 -8
  660. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  661. package/dist/components/shared/product-release/release-detail-page.js +3 -5
  662. package/dist/components/shared/roadmap/index.d.ts +0 -1
  663. package/dist/components/shared/roadmap/index.d.ts.map +1 -1
  664. package/dist/components/shared/roadmap/index.js +0 -2
  665. package/dist/components/shared/roadmap/roadmap-grid.d.ts +2 -12
  666. package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -1
  667. package/dist/components/shared/roadmap/roadmap-grid.js +16 -7
  668. package/dist/components/shared/roadmap/roadmap-view.d.ts.map +1 -1
  669. package/dist/components/shared/roadmap/roadmap-view.js +3 -2
  670. package/dist/components/smooth-accordion.d.ts.map +1 -1
  671. package/dist/components/smooth-accordion.js +0 -2
  672. package/dist/components/social-icon-row.d.ts +6 -1
  673. package/dist/components/social-icon-row.d.ts.map +1 -1
  674. package/dist/components/social-icon-row.js +5 -1
  675. package/dist/components/tickets/help-center-card.d.ts +16 -2
  676. package/dist/components/tickets/help-center-card.d.ts.map +1 -1
  677. package/dist/components/tickets/help-center-card.js +28 -9
  678. package/dist/components/tickets/help-center-create-form.d.ts +15 -37
  679. package/dist/components/tickets/help-center-create-form.d.ts.map +1 -1
  680. package/dist/components/tickets/help-center-create-form.js +10 -41
  681. package/dist/components/tickets/help-center-list.d.ts.map +1 -1
  682. package/dist/components/tickets/help-center-list.js +27 -40
  683. package/dist/components/tickets/index.cjs +39 -41
  684. package/dist/components/tickets/index.d.ts +1 -1
  685. package/dist/components/tickets/index.d.ts.map +1 -1
  686. package/dist/components/tickets/index.js +1 -5
  687. package/dist/components/tickets/ticket-center.d.ts.map +1 -1
  688. package/dist/components/tickets/ticket-center.js +6 -14
  689. package/dist/components/tickets/ticket-detail-drawer.d.ts.map +1 -1
  690. package/dist/components/tickets/ticket-detail-drawer.js +5 -2
  691. package/dist/components/tickets/ticket-open-form.d.ts.map +1 -1
  692. package/dist/components/tickets/ticket-open-form.js +3 -2
  693. package/dist/components/tickets/ticket-row.d.ts +17 -2
  694. package/dist/components/tickets/ticket-row.d.ts.map +1 -1
  695. package/dist/components/tickets/ticket-row.js +13 -3
  696. package/dist/components/ui/actions-menu.d.ts +3 -0
  697. package/dist/components/ui/actions-menu.d.ts.map +1 -1
  698. package/dist/components/ui/actions-menu.js +36 -39
  699. package/dist/components/ui/alert.d.ts +1 -1
  700. package/dist/components/ui/allowed-domains-input.js +8 -10
  701. package/dist/components/ui/assignee-dropdown.d.ts.map +1 -1
  702. package/dist/components/ui/assignee-dropdown.js +23 -23
  703. package/dist/components/ui/autocomplete.d.ts +0 -8
  704. package/dist/components/ui/autocomplete.d.ts.map +1 -1
  705. package/dist/components/ui/autocomplete.js +16 -20
  706. package/dist/components/ui/avatar-stack.d.ts +4 -8
  707. package/dist/components/ui/avatar-stack.d.ts.map +1 -1
  708. package/dist/components/ui/avatar-stack.js +13 -11
  709. package/dist/components/ui/badge.d.ts +5 -10
  710. package/dist/components/ui/badge.d.ts.map +1 -1
  711. package/dist/components/ui/badge.js +3 -2
  712. package/dist/components/ui/breadcrumb.d.ts +2 -0
  713. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  714. package/dist/components/ui/breadcrumb.js +5 -1
  715. package/dist/components/ui/button/button-styles.d.ts +31 -2
  716. package/dist/components/ui/button/button-styles.d.ts.map +1 -1
  717. package/dist/components/ui/button/button-styles.js +157 -2
  718. package/dist/components/ui/button/button.d.ts +1 -1
  719. package/dist/components/ui/button/button.d.ts.map +1 -1
  720. package/dist/components/ui/button/button.js +36 -3
  721. package/dist/components/ui/button/index.d.ts +1 -1
  722. package/dist/components/ui/button/index.d.ts.map +1 -1
  723. package/dist/components/ui/button/index.js +2 -1
  724. package/dist/components/ui/button/split-button.d.ts +2 -9
  725. package/dist/components/ui/button/split-button.d.ts.map +1 -1
  726. package/dist/components/ui/button/split-button.js +18 -91
  727. package/dist/components/ui/checkbox-block.d.ts +9 -1
  728. package/dist/components/ui/checkbox-block.d.ts.map +1 -1
  729. package/dist/components/ui/checkbox-block.js +110 -93
  730. package/dist/components/ui/checkbox-with-description.d.ts +5 -0
  731. package/dist/components/ui/checkbox-with-description.d.ts.map +1 -1
  732. package/dist/components/ui/checkbox-with-description.js +36 -36
  733. package/dist/components/ui/checkbox.d.ts +10 -0
  734. package/dist/components/ui/checkbox.d.ts.map +1 -1
  735. package/dist/components/ui/checkbox.js +21 -14
  736. package/dist/components/ui/chevron-button.d.ts +2 -2
  737. package/dist/components/ui/chevron-button.d.ts.map +1 -1
  738. package/dist/components/ui/chevron-button.js +13 -20
  739. package/dist/components/ui/color-preset-select.d.ts +4 -1
  740. package/dist/components/ui/color-preset-select.d.ts.map +1 -1
  741. package/dist/components/ui/color-preset-select.js +24 -12
  742. package/dist/components/ui/color-swatch.d.ts +2 -1
  743. package/dist/components/ui/color-swatch.d.ts.map +1 -1
  744. package/dist/components/ui/color-swatch.js +5 -8
  745. package/dist/components/ui/content-loader.d.ts.map +1 -1
  746. package/dist/components/ui/content-loader.js +12 -9
  747. package/dist/components/ui/cursor-pagination.d.ts +5 -8
  748. package/dist/components/ui/cursor-pagination.d.ts.map +1 -1
  749. package/dist/components/ui/cursor-pagination.js +6 -8
  750. package/dist/components/ui/dashboard-info-card.d.ts +13 -7
  751. package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
  752. package/dist/components/ui/dashboard-info-card.js +19 -10
  753. package/dist/components/ui/data-attribution.d.ts +0 -6
  754. package/dist/components/ui/data-attribution.d.ts.map +1 -1
  755. package/dist/components/ui/data-attribution.js +0 -1
  756. package/dist/components/ui/data-table/data-table-body.d.ts +7 -1
  757. package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
  758. package/dist/components/ui/data-table/data-table-body.js +47 -15
  759. package/dist/components/ui/data-table/data-table-cursor-footer.d.ts +1 -1
  760. package/dist/components/ui/data-table/data-table-header.d.ts.map +1 -1
  761. package/dist/components/ui/data-table/data-table-header.js +5 -0
  762. package/dist/components/ui/data-table/data-table-infinite-footer.d.ts.map +1 -1
  763. package/dist/components/ui/data-table/data-table-infinite-footer.js +7 -5
  764. package/dist/components/ui/data-table/data-table-reserved-rows.d.ts +27 -0
  765. package/dist/components/ui/data-table/data-table-reserved-rows.d.ts.map +1 -0
  766. package/dist/components/ui/data-table/data-table-reserved-rows.js +73 -0
  767. package/dist/components/ui/data-table/data-table-row-classes.d.ts +34 -0
  768. package/dist/components/ui/data-table/data-table-row-classes.d.ts.map +1 -0
  769. package/dist/components/ui/data-table/data-table-row-classes.js +20 -0
  770. package/dist/components/ui/data-table/data-table-row-count.d.ts +3 -6
  771. package/dist/components/ui/data-table/data-table-row-count.d.ts.map +1 -1
  772. package/dist/components/ui/data-table/data-table-row-count.js +3 -3
  773. package/dist/components/ui/data-table/data-table-row.d.ts +18 -38
  774. package/dist/components/ui/data-table/data-table-row.d.ts.map +1 -1
  775. package/dist/components/ui/data-table/data-table-row.js +109 -9
  776. package/dist/components/ui/data-table/index.d.ts +6 -9
  777. package/dist/components/ui/data-table/index.d.ts.map +1 -1
  778. package/dist/components/ui/data-table/index.js +12 -7
  779. package/dist/components/ui/data-table/types.d.ts +13 -0
  780. package/dist/components/ui/data-table/types.d.ts.map +1 -1
  781. package/dist/components/ui/data-table/utils.d.ts +8 -0
  782. package/dist/components/ui/data-table/utils.d.ts.map +1 -1
  783. package/dist/components/ui/data-table/utils.js +6 -0
  784. package/dist/components/ui/date-picker.d.ts.map +1 -1
  785. package/dist/components/ui/date-picker.js +12 -47
  786. package/dist/components/ui/device-card.d.ts +7 -1
  787. package/dist/components/ui/device-card.d.ts.map +1 -1
  788. package/dist/components/ui/device-card.js +40 -27
  789. package/dist/components/ui/entity-image.d.ts +0 -2
  790. package/dist/components/ui/entity-image.d.ts.map +1 -1
  791. package/dist/components/ui/entity-image.js +2 -6
  792. package/dist/components/ui/feature-card.d.ts +0 -5
  793. package/dist/components/ui/feature-card.d.ts.map +1 -1
  794. package/dist/components/ui/feature-card.js +12 -9
  795. package/dist/components/ui/feature-list.d.ts +0 -10
  796. package/dist/components/ui/feature-list.d.ts.map +1 -1
  797. package/dist/components/ui/feature-list.js +3 -4
  798. package/dist/components/ui/field-value-skeleton.d.ts +7 -0
  799. package/dist/components/ui/field-value-skeleton.d.ts.map +1 -0
  800. package/dist/components/ui/field-value-skeleton.js +10 -0
  801. package/dist/components/ui/file-manager/file-manager-breadcrumb.d.ts.map +1 -1
  802. package/dist/components/ui/file-manager/file-manager-breadcrumb.js +9 -6
  803. package/dist/components/ui/file-manager/file-manager-table-row.d.ts +12 -1
  804. package/dist/components/ui/file-manager/file-manager-table-row.d.ts.map +1 -1
  805. package/dist/components/ui/file-manager/file-manager-table-row.js +100 -31
  806. package/dist/components/ui/file-manager/file-manager-table.d.ts +1 -1
  807. package/dist/components/ui/file-manager/file-manager-table.d.ts.map +1 -1
  808. package/dist/components/ui/file-manager/file-manager-table.js +41 -39
  809. package/dist/components/ui/file-manager/file-manager.d.ts +1 -1
  810. package/dist/components/ui/file-manager/file-manager.d.ts.map +1 -1
  811. package/dist/components/ui/file-manager/file-manager.js +62 -44
  812. package/dist/components/ui/file-manager/index.cjs +241 -217
  813. package/dist/components/ui/file-manager/index.d.ts +0 -1
  814. package/dist/components/ui/file-manager/index.d.ts.map +1 -1
  815. package/dist/components/ui/file-manager/index.js +0 -2
  816. package/dist/components/ui/file-manager/types.d.ts +12 -1
  817. package/dist/components/ui/file-manager/types.d.ts.map +1 -1
  818. package/dist/components/ui/file-upload.d.ts.map +1 -1
  819. package/dist/components/ui/file-upload.js +40 -26
  820. package/dist/components/ui/filter-checkbox-item.d.ts +1 -10
  821. package/dist/components/ui/filter-checkbox-item.d.ts.map +1 -1
  822. package/dist/components/ui/filter-checkbox-item.js +11 -7
  823. package/dist/components/ui/filter-modal.d.ts +3 -3
  824. package/dist/components/ui/filter-modal.d.ts.map +1 -1
  825. package/dist/components/ui/filter-modal.js +74 -67
  826. package/dist/components/ui/filter-pill-row.d.ts +0 -13
  827. package/dist/components/ui/filter-pill-row.d.ts.map +1 -1
  828. package/dist/components/ui/filter-pill-row.js +3 -3
  829. package/dist/components/ui/hidden-tags-popup.d.ts.map +1 -1
  830. package/dist/components/ui/hidden-tags-popup.js +6 -3
  831. package/dist/components/ui/hover-dropdown.d.ts.map +1 -1
  832. package/dist/components/ui/hover-dropdown.js +7 -3
  833. package/dist/components/ui/image-uploader.d.ts.map +1 -1
  834. package/dist/components/ui/image-uploader.js +7 -12
  835. package/dist/components/ui/index.cjs +35 -160
  836. package/dist/components/ui/index.d.ts +5 -6
  837. package/dist/components/ui/index.d.ts.map +1 -1
  838. package/dist/components/ui/index.js +3 -23
  839. package/dist/components/ui/info-card-row.d.ts +0 -12
  840. package/dist/components/ui/info-card-row.d.ts.map +1 -1
  841. package/dist/components/ui/info-card-row.js +1 -2
  842. package/dist/components/ui/info-card.d.ts +32 -21
  843. package/dist/components/ui/info-card.d.ts.map +1 -1
  844. package/dist/components/ui/info-card.js +91 -76
  845. package/dist/components/ui/info-section.d.ts +8 -1
  846. package/dist/components/ui/info-section.d.ts.map +1 -1
  847. package/dist/components/ui/info-section.js +40 -18
  848. package/dist/components/ui/input-styles.d.ts +3 -0
  849. package/dist/components/ui/input-styles.d.ts.map +1 -1
  850. package/dist/components/ui/input-styles.js +2 -0
  851. package/dist/components/ui/input-trigger.d.ts +3 -0
  852. package/dist/components/ui/input-trigger.d.ts.map +1 -1
  853. package/dist/components/ui/input-trigger.js +13 -21
  854. package/dist/components/ui/input.d.ts +7 -1
  855. package/dist/components/ui/input.d.ts.map +1 -1
  856. package/dist/components/ui/input.js +14 -4
  857. package/dist/components/ui/label.d.ts +2 -2
  858. package/dist/components/ui/label.d.ts.map +1 -1
  859. package/dist/components/ui/label.js +8 -5
  860. package/dist/components/ui/leader-row.d.ts +17 -13
  861. package/dist/components/ui/leader-row.d.ts.map +1 -1
  862. package/dist/components/ui/leader-row.js +34 -25
  863. package/dist/components/ui/loading-scope.d.ts +82 -3
  864. package/dist/components/ui/loading-scope.d.ts.map +1 -1
  865. package/dist/components/ui/loading-scope.js +56 -4
  866. package/dist/components/ui/markdown/engine.d.ts +5 -0
  867. package/dist/components/ui/markdown/engine.d.ts.map +1 -1
  868. package/dist/components/ui/markdown/engine.js +10 -6
  869. package/dist/components/ui/markdown/index.d.ts +1 -1
  870. package/dist/components/ui/markdown/index.d.ts.map +1 -1
  871. package/dist/components/ui/markdown/index.js +1 -5
  872. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +0 -10
  873. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +1 -1
  874. package/dist/components/ui/markdown/rich/rich-markdown-renderer.js +2 -10
  875. package/dist/components/ui/modal-v2.d.ts.map +1 -1
  876. package/dist/components/ui/modal-v2.js +7 -3
  877. package/dist/components/ui/numbered-step.d.ts +9 -11
  878. package/dist/components/ui/numbered-step.d.ts.map +1 -1
  879. package/dist/components/ui/numbered-step.js +12 -2
  880. package/dist/components/ui/organization-card.d.ts +14 -1
  881. package/dist/components/ui/organization-card.d.ts.map +1 -1
  882. package/dist/components/ui/organization-card.js +71 -29
  883. package/dist/components/ui/page-actions.d.ts +6 -6
  884. package/dist/components/ui/page-actions.d.ts.map +1 -1
  885. package/dist/components/ui/page-actions.js +45 -50
  886. package/dist/components/ui/password-input.d.ts.map +1 -1
  887. package/dist/components/ui/password-input.js +5 -3
  888. package/dist/components/ui/people-cell.d.ts +3 -5
  889. package/dist/components/ui/people-cell.d.ts.map +1 -1
  890. package/dist/components/ui/people-cell.js +6 -6
  891. package/dist/components/ui/product-screen-frame.d.ts.map +1 -1
  892. package/dist/components/ui/product-screen-frame.js +19 -6
  893. package/dist/components/ui/progress-bar.d.ts +3 -4
  894. package/dist/components/ui/progress-bar.d.ts.map +1 -1
  895. package/dist/components/ui/progress-bar.js +7 -4
  896. package/dist/components/ui/query-report-table/index.d.ts +1 -2
  897. package/dist/components/ui/query-report-table/index.d.ts.map +1 -1
  898. package/dist/components/ui/query-report-table/index.js +0 -2
  899. package/dist/components/ui/query-report-table/query-report-table-header.d.ts.map +1 -1
  900. package/dist/components/ui/query-report-table/query-report-table-header.js +3 -2
  901. package/dist/components/ui/query-report-table/query-report-table-row.d.ts +15 -1
  902. package/dist/components/ui/query-report-table/query-report-table-row.d.ts.map +1 -1
  903. package/dist/components/ui/query-report-table/query-report-table-row.js +30 -21
  904. package/dist/components/ui/query-report-table/query-report-table-skeleton.d.ts.map +1 -1
  905. package/dist/components/ui/query-report-table/query-report-table-skeleton.js +20 -28
  906. package/dist/components/ui/query-report-table/query-report-table.d.ts +1 -1
  907. package/dist/components/ui/query-report-table/query-report-table.d.ts.map +1 -1
  908. package/dist/components/ui/query-report-table/query-report-table.js +19 -14
  909. package/dist/components/ui/query-report-table/types.d.ts +5 -1
  910. package/dist/components/ui/query-report-table/types.d.ts.map +1 -1
  911. package/dist/components/ui/radio-group.d.ts +14 -0
  912. package/dist/components/ui/radio-group.d.ts.map +1 -1
  913. package/dist/components/ui/radio-group.js +51 -33
  914. package/dist/components/ui/release-changelog-section.d.ts +0 -19
  915. package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
  916. package/dist/components/ui/release-changelog-section.js +11 -16
  917. package/dist/components/ui/search-input.d.ts.map +1 -1
  918. package/dist/components/ui/search-input.js +11 -14
  919. package/dist/components/ui/searchable-select.d.ts.map +1 -1
  920. package/dist/components/ui/searchable-select.js +30 -33
  921. package/dist/components/ui/select.d.ts.map +1 -1
  922. package/dist/components/ui/select.js +4 -1
  923. package/dist/components/ui/service-card.d.ts +9 -1
  924. package/dist/components/ui/service-card.d.ts.map +1 -1
  925. package/dist/components/ui/service-card.js +89 -66
  926. package/dist/components/ui/slack-channel-chip.d.ts +0 -4
  927. package/dist/components/ui/slack-channel-chip.d.ts.map +1 -1
  928. package/dist/components/ui/slack-channel-chip.js +1 -2
  929. package/dist/components/ui/snap-carousel.d.ts +38 -6
  930. package/dist/components/ui/snap-carousel.d.ts.map +1 -1
  931. package/dist/components/ui/snap-carousel.js +122 -63
  932. package/dist/components/ui/square-avatar.d.ts +3 -2
  933. package/dist/components/ui/square-avatar.d.ts.map +1 -1
  934. package/dist/components/ui/square-avatar.js +18 -6
  935. package/dist/components/ui/stacked-rows-panel.d.ts +21 -23
  936. package/dist/components/ui/stacked-rows-panel.d.ts.map +1 -1
  937. package/dist/components/ui/stacked-rows-panel.js +36 -38
  938. package/dist/components/ui/status-badge.d.ts +9 -11
  939. package/dist/components/ui/status-badge.d.ts.map +1 -1
  940. package/dist/components/ui/status-badge.js +14 -3
  941. package/dist/components/ui/status-indicator.d.ts +0 -4
  942. package/dist/components/ui/status-indicator.d.ts.map +1 -1
  943. package/dist/components/ui/status-indicator.js +1 -2
  944. package/dist/components/ui/strip-card.d.ts +0 -9
  945. package/dist/components/ui/strip-card.d.ts.map +1 -1
  946. package/dist/components/ui/strip-card.js +1 -2
  947. package/dist/components/ui/super-user-banner-view.d.ts +4 -1
  948. package/dist/components/ui/super-user-banner-view.d.ts.map +1 -1
  949. package/dist/components/ui/super-user-banner-view.js +10 -2
  950. package/dist/components/ui/switch.d.ts +3 -0
  951. package/dist/components/ui/switch.d.ts.map +1 -1
  952. package/dist/components/ui/switch.js +15 -10
  953. package/dist/components/ui/tab-navigation.d.ts +11 -17
  954. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  955. package/dist/components/ui/tab-navigation.js +28 -33
  956. package/dist/components/ui/tab-selector.d.ts.map +1 -1
  957. package/dist/components/ui/tab-selector.js +7 -11
  958. package/dist/components/ui/tabs.d.ts +1 -22
  959. package/dist/components/ui/tabs.d.ts.map +1 -1
  960. package/dist/components/ui/tabs.js +1 -16
  961. package/dist/components/ui/tag-search-input.d.ts.map +1 -1
  962. package/dist/components/ui/tag-search-input.js +9 -10
  963. package/dist/components/ui/tag-select-dropdown.d.ts.map +1 -1
  964. package/dist/components/ui/tag-select-dropdown.js +14 -26
  965. package/dist/components/ui/tag.d.ts +6 -10
  966. package/dist/components/ui/tag.d.ts.map +1 -1
  967. package/dist/components/ui/tag.js +23 -9
  968. package/dist/components/ui/tags-input.d.ts +5 -7
  969. package/dist/components/ui/tags-input.d.ts.map +1 -1
  970. package/dist/components/ui/tags-input.js +14 -11
  971. package/dist/components/ui/tags-manager.d.ts.map +1 -1
  972. package/dist/components/ui/tags-manager.js +8 -3
  973. package/dist/components/ui/test-run.d.ts +1 -8
  974. package/dist/components/ui/test-run.d.ts.map +1 -1
  975. package/dist/components/ui/test-run.js +18 -11
  976. package/dist/components/ui/textarea.d.ts +1 -10
  977. package/dist/components/ui/textarea.d.ts.map +1 -1
  978. package/dist/components/ui/textarea.js +39 -35
  979. package/dist/components/ui/ticket-attachments-list.d.ts.map +1 -1
  980. package/dist/components/ui/ticket-attachments-list.js +12 -6
  981. package/dist/components/ui/ticket-info-section.d.ts.map +1 -1
  982. package/dist/components/ui/ticket-info-section.js +14 -18
  983. package/dist/components/ui/ticket-note-card.d.ts.map +1 -1
  984. package/dist/components/ui/ticket-note-card.js +21 -12
  985. package/dist/components/ui/ticket-notes-section.d.ts.map +1 -1
  986. package/dist/components/ui/ticket-notes-section.js +6 -8
  987. package/dist/components/ui/ticket-status-config-row.d.ts +6 -1
  988. package/dist/components/ui/ticket-status-config-row.d.ts.map +1 -1
  989. package/dist/components/ui/ticket-status-config-row.js +38 -29
  990. package/dist/components/ui/ticket-status-tag.d.ts +3 -1
  991. package/dist/components/ui/ticket-status-tag.d.ts.map +1 -1
  992. package/dist/components/ui/ticket-status-tag.js +42 -28
  993. package/dist/components/ui/timezone-select.d.ts +3 -2
  994. package/dist/components/ui/timezone-select.d.ts.map +1 -1
  995. package/dist/components/ui/timezone-select.js +3 -1
  996. package/dist/components/ui/toaster.d.ts.map +1 -1
  997. package/dist/components/ui/toaster.js +18 -20
  998. package/dist/components/ui/truncate-text.d.ts +6 -1
  999. package/dist/components/ui/truncate-text.d.ts.map +1 -1
  1000. package/dist/components/ui/truncate-text.js +7 -1
  1001. package/dist/components/user-display.d.ts +0 -11
  1002. package/dist/components/user-display.d.ts.map +1 -1
  1003. package/dist/components/user-display.js +3 -4
  1004. package/dist/components/vendor-display-button.d.ts +4 -4
  1005. package/dist/components/vendor-display-button.d.ts.map +1 -1
  1006. package/dist/components/vendor-display-button.js +21 -34
  1007. package/dist/components/vendor-icon.d.ts +3 -6
  1008. package/dist/components/vendor-icon.d.ts.map +1 -1
  1009. package/dist/components/vendor-icon.js +21 -9
  1010. package/dist/components/vendor-tag.d.ts +0 -5
  1011. package/dist/components/vendor-tag.d.ts.map +1 -1
  1012. package/dist/components/vendor-tag.js +4 -2
  1013. package/dist/{devices-UOBQFPV3.cjs → devices-PYJRYIQN.cjs} +33 -34
  1014. package/dist/embed-shims/index.cjs +4 -4
  1015. package/dist/embed-shims/next-image.cjs +4 -4
  1016. package/dist/embed-shims/next-image.d.ts +1 -1
  1017. package/dist/{embeddable-chat-SFQWRUIV.cjs → embeddable-chat-7MSM62UC.cjs} +185 -183
  1018. package/dist/hooks/index.cjs +11 -9
  1019. package/dist/hooks/use-toast.d.ts +1 -1
  1020. package/dist/index.cjs +65 -226
  1021. package/dist/{knowledge-5K3LTHGB.cjs → knowledge-R4H2ZDX2.cjs} +33 -34
  1022. package/dist/loading-standard/engine.d.mts +131 -0
  1023. package/dist/loading-standard/engine.d.mts.map +1 -0
  1024. package/dist/loading-standard/rule-examples.d.mts +13 -0
  1025. package/dist/loading-standard/rule-examples.d.mts.map +1 -0
  1026. package/dist/{logs-WU3N6ESS.cjs → logs-YWL6NK24.cjs} +41 -42
  1027. package/dist/{policies-2IYASCQO.cjs → policies-3COFYSKB.cjs} +36 -37
  1028. package/dist/{remote-session-TGM2OTTV.cjs → remote-session-IEOWFBF7.cjs} +17 -17
  1029. package/dist/{scripts-IQBKOQEY.cjs → scripts-72EJDICT.cjs} +39 -40
  1030. package/dist/{software-update-GJLDO5X5.cjs → software-update-PPUVCLPO.cjs} +36 -37
  1031. package/dist/{tickets-board-FB5AGLJD.cjs → tickets-board-EYKLSB36.cjs} +17 -17
  1032. package/dist/types/logs.types.d.ts +9 -3
  1033. package/dist/types/logs.types.d.ts.map +1 -1
  1034. package/dist/types/permissions.d.ts +10 -0
  1035. package/dist/types/permissions.d.ts.map +1 -1
  1036. package/dist/{video-file-player-SIJW5UWU.cjs → video-file-player-ZU666VUY.cjs} +14 -14
  1037. package/package.json +1 -1
  1038. package/src/components/agent-mark.tsx +9 -2
  1039. package/src/components/authors/author-detail-view.tsx +5 -5
  1040. package/src/components/case-studies/entity-quotes-panel.tsx +0 -34
  1041. package/src/components/case-studies/index.ts +1 -2
  1042. package/src/components/case-studies/quote-cards-strip.tsx +15 -12
  1043. package/src/components/categories-cart.tsx +23 -8
  1044. package/src/components/category-card.tsx +82 -14
  1045. package/src/components/chat/approval-batch-message.tsx +2 -6
  1046. package/src/components/chat/ask-display.tsx +12 -13
  1047. package/src/components/chat/ask-prompts.tsx +26 -22
  1048. package/src/components/chat/chat-archive-page.tsx +33 -30
  1049. package/src/components/chat/chat-container.tsx +39 -41
  1050. package/src/components/chat/chat-context-memory-bar.tsx +12 -11
  1051. package/src/components/chat/chat-context-picker.tsx +52 -41
  1052. package/src/components/chat/chat-input.tsx +8 -14
  1053. package/src/components/chat/chat-message-enhanced.tsx +23 -14
  1054. package/src/components/chat/chat-message-layout.ts +39 -0
  1055. package/src/components/chat/chat-message-list.tsx +33 -18
  1056. package/src/components/chat/chat-message-row.tsx +57 -25
  1057. package/src/components/chat/chat-message-skeleton.tsx +109 -56
  1058. package/src/components/chat/chat-nav-sidebar.tsx +125 -39
  1059. package/src/components/chat/chat-panel-header.tsx +21 -15
  1060. package/src/components/chat/chat-sidebar.tsx +80 -48
  1061. package/src/components/chat/chat-ticket-list.tsx +32 -23
  1062. package/src/components/chat/chat-top-navigation.tsx +57 -49
  1063. package/src/components/chat/chat-turn.tsx +20 -17
  1064. package/src/components/chat/context-items-list.tsx +64 -33
  1065. package/src/components/chat/embeddable-chat.tsx +133 -138
  1066. package/src/components/chat/entity-cards/admin-content-card-grid.tsx +64 -34
  1067. package/src/components/chat/entity-cards/admin-content-card.tsx +14 -8
  1068. package/src/components/chat/entity-cards/ai-prompt-card.tsx +9 -11
  1069. package/src/components/chat/entity-cards/blog-card.tsx +28 -7
  1070. package/src/components/chat/entity-cards/campaign-card-admin.tsx +1 -1
  1071. package/src/components/chat/entity-cards/case-study-card.tsx +10 -3
  1072. package/src/components/chat/entity-cards/chat-ticket-item.tsx +86 -79
  1073. package/src/components/chat/entity-cards/customer-interview-card.tsx +47 -13
  1074. package/src/components/chat/entity-cards/data-room-doc-card.tsx +1 -1
  1075. package/src/components/chat/entity-cards/design-doc-card.tsx +6 -6
  1076. package/src/components/chat/entity-cards/dispatch.tsx +25 -30
  1077. package/src/components/chat/entity-cards/employee-entry-card.tsx +30 -15
  1078. package/src/components/chat/entity-cards/entity-author-card.tsx +16 -8
  1079. package/src/components/chat/entity-cards/entity-portrait-card.tsx +12 -3
  1080. package/src/components/chat/entity-cards/generic-entity-card.tsx +1 -1
  1081. package/src/components/chat/entity-cards/github-activity-card.tsx +1 -1
  1082. package/src/components/chat/entity-cards/how-i-work-card.tsx +9 -12
  1083. package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +1 -1
  1084. package/src/components/chat/entity-cards/index.ts +21 -61
  1085. package/src/components/chat/entity-cards/investor-update-card.tsx +30 -11
  1086. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +45 -13
  1087. package/src/components/chat/entity-cards/program-card.tsx +69 -41
  1088. package/src/components/chat/entity-cards/roadmap-card.tsx +27 -10
  1089. package/src/components/chat/entity-cards/slack-message-card.tsx +1 -1
  1090. package/src/components/chat/entity-cards/what-i-shipped-card.tsx +9 -7
  1091. package/src/components/chat/error-message-display.tsx +4 -6
  1092. package/src/components/chat/guide-mode-banner.tsx +4 -7
  1093. package/src/components/chat/guide-welcome.tsx +9 -6
  1094. package/src/components/chat/hooks/use-chat-dialog-manager.ts +2 -1
  1095. package/src/components/chat/hooks/use-nats-chat-adapter.ts +2 -1
  1096. package/src/components/chat/hooks/use-sse-chat-adapter.ts +2 -1
  1097. package/src/components/chat/index.ts +1 -4
  1098. package/src/components/chat/mingo-archive-list.tsx +14 -8
  1099. package/src/components/chat/mingo-chat-header.tsx +14 -13
  1100. package/src/components/chat/mingo-chat-history.tsx +122 -78
  1101. package/src/components/chat/mingo-chat-modals.tsx +18 -22
  1102. package/src/components/chat/mingo-chat-rail.tsx +16 -9
  1103. package/src/components/chat/mingo-history-rail.tsx +12 -6
  1104. package/src/components/chat/mingo-info-card.tsx +26 -18
  1105. package/src/components/chat/mingo-onboarding-card.tsx +117 -36
  1106. package/src/components/chat/mingo-welcome.tsx +22 -7
  1107. package/src/components/chat/model-display.tsx +29 -33
  1108. package/src/components/chat/msp-organization-card.tsx +64 -46
  1109. package/src/components/chat/quick-action-chip.tsx +52 -7
  1110. package/src/components/chat/quick-action-wall.tsx +29 -13
  1111. package/src/components/chat/tool-execution-display.tsx +3 -6
  1112. package/src/components/chat/types/component.types.ts +17 -0
  1113. package/src/components/chat/types/entities/program-types.ts +3 -0
  1114. package/src/components/chat/utils/compact-card-skeleton.tsx +3 -3
  1115. package/src/components/comment-card.tsx +79 -49
  1116. package/src/components/comment-thread.tsx +56 -47
  1117. package/src/components/docs/docs-hub-page.tsx +3 -7
  1118. package/src/components/docs/index.ts +0 -2
  1119. package/src/components/embeds/embed-viewer-frame.tsx +4 -1
  1120. package/src/components/embeds/index.ts +1 -1
  1121. package/src/components/embeds/og-link-preview.tsx +2 -2
  1122. package/src/components/faq/faq-section.tsx +20 -12
  1123. package/src/components/faq/index.ts +0 -2
  1124. package/src/components/faq-accordion.tsx +33 -23
  1125. package/src/components/features/ai-enrich/AIEnrichSection.tsx +2 -3
  1126. package/src/components/features/approval-level.tsx +2 -2
  1127. package/src/components/features/auth/back-to-login-link.tsx +3 -3
  1128. package/src/components/features/auth/complete-account-form.tsx +8 -3
  1129. package/src/components/features/auth/create-organization-form.tsx +27 -6
  1130. package/src/components/features/auth/invite-link-invalid-modal.tsx +6 -4
  1131. package/src/components/features/auth/login-form.tsx +9 -2
  1132. package/src/components/features/auth/sso-join-form.tsx +35 -7
  1133. package/src/components/features/auth/sso-providers.tsx +30 -1
  1134. package/src/components/features/board/board-column.tsx +9 -17
  1135. package/src/components/features/board/board-ticket-approval.tsx +4 -8
  1136. package/src/components/features/board/board.tsx +41 -11
  1137. package/src/components/features/board/index.ts +1 -3
  1138. package/src/components/features/board/ticket-card.tsx +60 -8
  1139. package/src/components/features/board/types.ts +6 -0
  1140. package/src/components/features/capability-explorer.tsx +95 -71
  1141. package/src/components/features/card-hit-layer.tsx +4 -2
  1142. package/src/components/features/cloud-tenants/tenant-access-cell.tsx +5 -2
  1143. package/src/components/features/cloud-tenants/tenant-cell.tsx +10 -2
  1144. package/src/components/features/cloud-tenants/tenant-customer-cell.tsx +4 -1
  1145. package/src/components/features/cloud-tenants/tenants-table-view.tsx +44 -16
  1146. package/src/components/features/command-box.tsx +25 -10
  1147. package/src/components/features/conversation-card.tsx +101 -48
  1148. package/src/components/features/devices/device-selector/device-selector.tsx +135 -105
  1149. package/src/components/features/devices/device-selector/device-selector.types.ts +5 -0
  1150. package/src/components/features/devices/device-type-tile.tsx +11 -1
  1151. package/src/components/features/devices/devices-grid-filters.tsx +9 -12
  1152. package/src/components/features/devices/devices-grid.tsx +40 -10
  1153. package/src/components/features/devices/devices-list.tsx +9 -2
  1154. package/src/components/features/devices/devices-panel-view.tsx +17 -4
  1155. package/src/components/features/devices/devices-table-columns.tsx +42 -8
  1156. package/src/components/features/devices/index.ts +0 -1
  1157. package/src/components/features/entity-tag-badges.tsx +24 -37
  1158. package/src/components/features/entity-video-section.tsx +5 -5
  1159. package/src/components/features/filters-dropdown.tsx +23 -23
  1160. package/src/components/features/highlight-video-section.tsx +7 -5
  1161. package/src/components/features/knowledge-base/knowledge-base-table.tsx +101 -60
  1162. package/src/components/features/logs/index.ts +2 -2
  1163. package/src/components/features/logs/logs-page-view.tsx +1 -0
  1164. package/src/components/features/logs/logs-table-columns.ts +2 -3
  1165. package/src/components/features/logs/logs-table-view.tsx +98 -135
  1166. package/src/components/features/model-token-rates.tsx +31 -28
  1167. package/src/components/features/notifications/index.ts +2 -2
  1168. package/src/components/features/notifications/notification-drawer.tsx +8 -4
  1169. package/src/components/features/notifications/notification-tile.tsx +53 -12
  1170. package/src/components/features/os-type-badge-group.tsx +19 -1
  1171. package/src/components/features/os-type-badge.tsx +13 -0
  1172. package/src/components/features/paths-display.tsx +26 -20
  1173. package/src/components/features/platform-badge.tsx +7 -3
  1174. package/src/components/features/policies/policies-table.tsx +62 -27
  1175. package/src/components/features/policy-configuration-panel.tsx +94 -32
  1176. package/src/components/features/push-button-selector.tsx +21 -10
  1177. package/src/components/features/remote-session/index.ts +1 -1
  1178. package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +41 -25
  1179. package/src/components/features/remote-session/remote-desktop-chat-panel.tsx +21 -7
  1180. package/src/components/features/remote-session/remote-desktop-fullscreen-toolbar.tsx +5 -13
  1181. package/src/components/features/remote-session/remote-desktop-view.tsx +13 -15
  1182. package/src/components/features/remote-session/remote-session-block.tsx +34 -36
  1183. package/src/components/features/remote-session/remote-session-chat-panel.tsx +6 -4
  1184. package/src/components/features/remote-session/remote-session-events.tsx +14 -10
  1185. package/src/components/features/remote-session/remote-session-overlay.tsx +4 -7
  1186. package/src/components/features/scripts/execution-cells.tsx +18 -4
  1187. package/src/components/features/scripts/schedule-form/schedule-script-picker-card.tsx +5 -5
  1188. package/src/components/features/scripts/schedule-form/schedule-timing-fields.tsx +6 -3
  1189. package/src/components/features/scripts/script-executions-table.tsx +29 -7
  1190. package/src/components/features/scripts/script-schedules-table.tsx +42 -9
  1191. package/src/components/features/scripts/script-shell-badge.tsx +11 -0
  1192. package/src/components/features/scripts/scripts-table-shared.tsx +8 -2
  1193. package/src/components/features/scripts/scripts-table.tsx +28 -7
  1194. package/src/components/features/select-button.tsx +7 -15
  1195. package/src/components/features/status-filter-component.tsx +1 -1
  1196. package/src/components/features/tags-selector.tsx +5 -4
  1197. package/src/components/features/ticket-status-config-list/ticket-status-config-list.tsx +52 -5
  1198. package/src/components/features/video-bites-strip.tsx +4 -9
  1199. package/src/components/features/video-shared.tsx +3 -0
  1200. package/src/components/features/video-source-selector.tsx +6 -4
  1201. package/src/components/features/video.tsx +7 -5
  1202. package/src/components/features/walkthrough-video.tsx +1 -1
  1203. package/src/components/filter-chip.tsx +6 -16
  1204. package/src/components/help-center-pages/download-apps-page.tsx +21 -13
  1205. package/src/components/help-center-pages/index.ts +1 -1
  1206. package/src/components/help-center-pages/trust-center-page.tsx +5 -25
  1207. package/src/components/help-center-pages/trust-center-sections.tsx +14 -11
  1208. package/src/components/index.ts +1 -9
  1209. package/src/components/interactive-wrapper.tsx +0 -21
  1210. package/src/components/layout/back-button.tsx +15 -18
  1211. package/src/components/layout/list-page-layout.tsx +4 -3
  1212. package/src/components/layout/page-container.tsx +2 -2
  1213. package/src/components/layout/page-heading.tsx +26 -2
  1214. package/src/components/loading/index.ts +4 -34
  1215. package/src/components/loading/loading-fallback.tsx +81 -0
  1216. package/src/components/loading/loading-region.tsx +5 -6
  1217. package/src/components/log-severity-dot.tsx +7 -2
  1218. package/src/components/logs-list.tsx +6 -8
  1219. package/src/components/meeting-scheduler/booking-form.tsx +5 -5
  1220. package/src/components/meeting-scheduler/context-panel.tsx +13 -47
  1221. package/src/components/meeting-scheduler/directory.tsx +6 -7
  1222. package/src/components/meeting-scheduler/host-identity.tsx +68 -0
  1223. package/src/components/meeting-scheduler/index.tsx +5 -9
  1224. package/src/components/meeting-scheduler/modal-header.tsx +8 -50
  1225. package/src/components/meeting-scheduler/slot-picker.tsx +13 -16
  1226. package/src/components/metric-value.tsx +1 -1
  1227. package/src/components/msp-display.tsx +3 -3
  1228. package/src/components/navigation/app-header.tsx +4 -2
  1229. package/src/components/navigation/header-button.tsx +6 -10
  1230. package/src/components/navigation/header-mingo-button.tsx +5 -9
  1231. package/src/components/navigation/header-organization-filter.tsx +3 -11
  1232. package/src/components/navigation/mobile-burger-menu.tsx +9 -24
  1233. package/src/components/navigation/multi-level-navigation.tsx +37 -44
  1234. package/src/components/navigation/navigation-sidebar-item.tsx +47 -50
  1235. package/src/components/navigation/navigation-sidebar-toggle.tsx +6 -9
  1236. package/src/components/navigation/navigation-sidebar.tsx +7 -3
  1237. package/src/components/navigation/sticky-section-nav.tsx +12 -16
  1238. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +3 -11
  1239. package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +52 -18
  1240. package/src/components/pagination.tsx +1 -10
  1241. package/src/components/platform/ToolBadge.tsx +2 -2
  1242. package/src/components/platform/index.ts +2 -2
  1243. package/src/components/product-demo/product-screen.tsx +36 -16
  1244. package/src/components/product-demo/screen-loading.tsx +2 -6
  1245. package/src/components/related-content/card-registry.tsx +23 -35
  1246. package/src/components/related-content/index.ts +0 -2
  1247. package/src/components/related-content/related-content-section.tsx +2 -2
  1248. package/src/components/results-count.tsx +1 -1
  1249. package/src/components/shared/article-author-byline.tsx +1 -1
  1250. package/src/components/shared/delivery/delivery-row.tsx +14 -9
  1251. package/src/components/shared/delivery/delivery-table.tsx +14 -11
  1252. package/src/components/shared/dev-section/dev-card-row.tsx +22 -59
  1253. package/src/components/shared/dev-section/index.ts +1 -6
  1254. package/src/components/shared/legal-document/index.ts +0 -1
  1255. package/src/components/shared/legal-document/legal-document-page.tsx +4 -4
  1256. package/src/components/shared/media-gallery-strip.tsx +28 -20
  1257. package/src/components/shared/onboarding/onboarding-walkthrough.tsx +4 -1
  1258. package/src/components/shared/product-release/index.ts +0 -1
  1259. package/src/components/shared/product-release/product-release-card-skeleton.tsx +4 -4
  1260. package/src/components/shared/product-release/product-release-card.tsx +16 -8
  1261. package/src/components/shared/product-release/product-releases-view.tsx +27 -22
  1262. package/src/components/shared/product-release/release-detail-page.tsx +3 -11
  1263. package/src/components/shared/roadmap/index.ts +0 -1
  1264. package/src/components/shared/roadmap/roadmap-grid.tsx +56 -7
  1265. package/src/components/shared/roadmap/roadmap-view.tsx +5 -3
  1266. package/src/components/smooth-accordion.tsx +0 -2
  1267. package/src/components/social-icon-row.tsx +9 -0
  1268. package/src/components/tickets/help-center-card.tsx +62 -14
  1269. package/src/components/tickets/help-center-create-form.tsx +29 -112
  1270. package/src/components/tickets/help-center-list.tsx +26 -24
  1271. package/src/components/tickets/index.ts +1 -5
  1272. package/src/components/tickets/ticket-center.tsx +16 -27
  1273. package/src/components/tickets/ticket-detail-drawer.tsx +8 -5
  1274. package/src/components/tickets/ticket-open-form.tsx +5 -4
  1275. package/src/components/tickets/ticket-row.tsx +42 -5
  1276. package/src/components/ui/actions-menu.tsx +45 -44
  1277. package/src/components/ui/allowed-domains-input.tsx +8 -8
  1278. package/src/components/ui/assignee-dropdown.tsx +26 -24
  1279. package/src/components/ui/autocomplete.tsx +26 -25
  1280. package/src/components/ui/avatar-stack.tsx +24 -15
  1281. package/src/components/ui/badge.tsx +9 -3
  1282. package/src/components/ui/breadcrumb.tsx +8 -1
  1283. package/src/components/ui/button/button-styles.ts +178 -2
  1284. package/src/components/ui/button/button.tsx +39 -2
  1285. package/src/components/ui/button/index.ts +1 -1
  1286. package/src/components/ui/button/split-button.tsx +21 -102
  1287. package/src/components/ui/checkbox-block.tsx +118 -88
  1288. package/src/components/ui/checkbox-with-description.tsx +39 -33
  1289. package/src/components/ui/checkbox.tsx +34 -16
  1290. package/src/components/ui/chevron-button.tsx +16 -23
  1291. package/src/components/ui/color-preset-select.tsx +34 -11
  1292. package/src/components/ui/color-swatch.tsx +9 -8
  1293. package/src/components/ui/content-loader.tsx +42 -29
  1294. package/src/components/ui/cursor-pagination.tsx +10 -24
  1295. package/src/components/ui/dashboard-info-card.tsx +35 -16
  1296. package/src/components/ui/data-attribution.tsx +1 -1
  1297. package/src/components/ui/data-table/data-table-body.tsx +62 -15
  1298. package/src/components/ui/data-table/data-table-cursor-footer.tsx +1 -1
  1299. package/src/components/ui/data-table/data-table-header.tsx +13 -1
  1300. package/src/components/ui/data-table/data-table-infinite-footer.tsx +10 -5
  1301. package/src/components/ui/data-table/data-table-reserved-rows.tsx +111 -0
  1302. package/src/components/ui/data-table/data-table-row-classes.ts +48 -0
  1303. package/src/components/ui/data-table/data-table-row-count.tsx +5 -2
  1304. package/src/components/ui/data-table/data-table-row.tsx +136 -10
  1305. package/src/components/ui/data-table/index.ts +10 -9
  1306. package/src/components/ui/data-table/types.ts +14 -0
  1307. package/src/components/ui/data-table/utils.ts +12 -0
  1308. package/src/components/ui/date-picker.tsx +23 -55
  1309. package/src/components/ui/device-card.tsx +99 -43
  1310. package/src/components/ui/entity-image.tsx +1 -4
  1311. package/src/components/ui/feature-card.tsx +15 -8
  1312. package/src/components/ui/feature-list.tsx +3 -3
  1313. package/src/components/ui/field-value-skeleton.tsx +11 -0
  1314. package/src/components/ui/file-manager/file-manager-breadcrumb.tsx +10 -7
  1315. package/src/components/ui/file-manager/file-manager-table-row.tsx +126 -32
  1316. package/src/components/ui/file-manager/file-manager-table.tsx +69 -96
  1317. package/src/components/ui/file-manager/file-manager.tsx +19 -5
  1318. package/src/components/ui/file-manager/index.ts +0 -1
  1319. package/src/components/ui/file-manager/types.ts +12 -1
  1320. package/src/components/ui/file-upload.tsx +42 -29
  1321. package/src/components/ui/filter-checkbox-item.tsx +9 -3
  1322. package/src/components/ui/filter-modal.tsx +66 -51
  1323. package/src/components/ui/filter-pill-row.tsx +5 -2
  1324. package/src/components/ui/hidden-tags-popup.tsx +7 -4
  1325. package/src/components/ui/hover-dropdown.tsx +9 -5
  1326. package/src/components/ui/image-uploader.tsx +8 -13
  1327. package/src/components/ui/index.ts +4 -31
  1328. package/src/components/ui/info-card-row.tsx +1 -1
  1329. package/src/components/ui/info-card.tsx +193 -134
  1330. package/src/components/ui/info-section.tsx +63 -24
  1331. package/src/components/ui/input-styles.ts +3 -0
  1332. package/src/components/ui/input-trigger.tsx +26 -26
  1333. package/src/components/ui/input.tsx +24 -6
  1334. package/src/components/ui/label.tsx +13 -8
  1335. package/src/components/ui/leader-row.tsx +61 -46
  1336. package/src/components/ui/loading-scope.tsx +148 -4
  1337. package/src/components/ui/markdown/engine.tsx +21 -12
  1338. package/src/components/ui/markdown/index.ts +1 -5
  1339. package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +1 -18
  1340. package/src/components/ui/modal-v2.tsx +8 -4
  1341. package/src/components/ui/numbered-step.tsx +18 -1
  1342. package/src/components/ui/organization-card.tsx +117 -32
  1343. package/src/components/ui/page-actions.tsx +95 -128
  1344. package/src/components/ui/password-input.tsx +6 -4
  1345. package/src/components/ui/people-cell.tsx +8 -5
  1346. package/src/components/ui/product-screen-frame.tsx +20 -10
  1347. package/src/components/ui/progress-bar.tsx +12 -2
  1348. package/src/components/ui/query-report-table/index.ts +0 -2
  1349. package/src/components/ui/query-report-table/query-report-table-header.tsx +3 -2
  1350. package/src/components/ui/query-report-table/query-report-table-row.tsx +31 -12
  1351. package/src/components/ui/query-report-table/query-report-table-skeleton.tsx +41 -34
  1352. package/src/components/ui/query-report-table/query-report-table.tsx +42 -26
  1353. package/src/components/ui/query-report-table/types.ts +5 -1
  1354. package/src/components/ui/radio-group.tsx +111 -50
  1355. package/src/components/ui/release-changelog-section.tsx +23 -24
  1356. package/src/components/ui/search-input.tsx +19 -18
  1357. package/src/components/ui/searchable-select.tsx +36 -39
  1358. package/src/components/ui/select.tsx +6 -1
  1359. package/src/components/ui/service-card.tsx +118 -55
  1360. package/src/components/ui/slack-channel-chip.tsx +1 -1
  1361. package/src/components/ui/snap-carousel.tsx +146 -61
  1362. package/src/components/ui/square-avatar.tsx +25 -6
  1363. package/src/components/ui/stacked-rows-panel.tsx +94 -70
  1364. package/src/components/ui/status-badge.tsx +21 -3
  1365. package/src/components/ui/status-indicator.tsx +1 -1
  1366. package/src/components/ui/strip-card.tsx +1 -1
  1367. package/src/components/ui/super-user-banner-view.tsx +18 -2
  1368. package/src/components/ui/switch.tsx +25 -13
  1369. package/src/components/ui/tab-navigation.tsx +63 -55
  1370. package/src/components/ui/tab-selector.tsx +12 -20
  1371. package/src/components/ui/tabs.tsx +1 -30
  1372. package/src/components/ui/tag-search-input.tsx +11 -12
  1373. package/src/components/ui/tag-select-dropdown.tsx +9 -17
  1374. package/src/components/ui/tag.tsx +32 -10
  1375. package/src/components/ui/tags-input.tsx +19 -11
  1376. package/src/components/ui/tags-manager.tsx +10 -5
  1377. package/src/components/ui/test-run.tsx +41 -28
  1378. package/src/components/ui/textarea.tsx +29 -20
  1379. package/src/components/ui/ticket-attachments-list.tsx +14 -8
  1380. package/src/components/ui/ticket-info-section.tsx +16 -17
  1381. package/src/components/ui/ticket-note-card.tsx +25 -16
  1382. package/src/components/ui/ticket-notes-section.tsx +7 -9
  1383. package/src/components/ui/ticket-status-config-row.tsx +63 -37
  1384. package/src/components/ui/ticket-status-tag.tsx +35 -22
  1385. package/src/components/ui/timezone-select.tsx +6 -2
  1386. package/src/components/ui/toaster.tsx +19 -17
  1387. package/src/components/ui/truncate-text.tsx +12 -0
  1388. package/src/components/user-display.tsx +4 -4
  1389. package/src/components/vendor-display-button.tsx +12 -17
  1390. package/src/components/vendor-icon.tsx +25 -7
  1391. package/src/components/vendor-tag.tsx +5 -1
  1392. package/src/loading-standard/engine.mjs +3124 -0
  1393. package/src/loading-standard/rule-examples.mjs +580 -0
  1394. package/src/styles/index.css +1 -0
  1395. package/src/styles/product-screen-frame.css +33 -0
  1396. package/src/types/logs.types.ts +3 -3
  1397. package/src/types/permissions.ts +10 -0
  1398. package/dist/case-study-card-WXMWYGSW.cjs +0 -25
  1399. package/dist/chunk-65VVJSQZ.cjs +0 -109
  1400. package/dist/chunk-C42WIUH6.cjs +0 -42
  1401. package/dist/chunk-QEFDGI3Z.cjs +0 -699
  1402. package/dist/components/chat/chat-header-icon-button.d.ts +0 -18
  1403. package/dist/components/chat/chat-header-icon-button.d.ts.map +0 -1
  1404. package/dist/components/chat/chat-header-icon-button.js +0 -27
  1405. package/dist/components/chat/chat-sidebar-skeleton.d.ts +0 -12
  1406. package/dist/components/chat/chat-sidebar-skeleton.d.ts.map +0 -1
  1407. package/dist/components/chat/chat-sidebar-skeleton.js +0 -63
  1408. package/dist/components/chat/mingo-onboarding-card-skeleton.d.ts +0 -45
  1409. package/dist/components/chat/mingo-onboarding-card-skeleton.d.ts.map +0 -1
  1410. package/dist/components/chat/mingo-onboarding-card-skeleton.js +0 -70
  1411. package/dist/components/chat/msp-organization-card-skeleton.d.ts +0 -12
  1412. package/dist/components/chat/msp-organization-card-skeleton.d.ts.map +0 -1
  1413. package/dist/components/chat/msp-organization-card-skeleton.js +0 -26
  1414. package/dist/components/features/board/ticket-card-skeleton.d.ts +0 -5
  1415. package/dist/components/features/board/ticket-card-skeleton.d.ts.map +0 -1
  1416. package/dist/components/features/board/ticket-card-skeleton.js +0 -41
  1417. package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts +0 -28
  1418. package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts.map +0 -1
  1419. package/dist/components/features/devices/device-selector/device-selector-skeleton.js +0 -10
  1420. package/dist/components/loading/card-skeleton.d.ts +0 -41
  1421. package/dist/components/loading/card-skeleton.d.ts.map +0 -1
  1422. package/dist/components/loading/card-skeleton.js +0 -141
  1423. package/dist/components/loading/category-card-skeleton.d.ts +0 -6
  1424. package/dist/components/loading/category-card-skeleton.d.ts.map +0 -1
  1425. package/dist/components/loading/category-card-skeleton.js +0 -27
  1426. package/dist/components/loading/category-vendor-selector-skeleton.d.ts +0 -13
  1427. package/dist/components/loading/category-vendor-selector-skeleton.d.ts.map +0 -1
  1428. package/dist/components/loading/category-vendor-selector-skeleton.js +0 -32
  1429. package/dist/components/loading/deprecated-layout-skeletons.d.ts +0 -25
  1430. package/dist/components/loading/deprecated-layout-skeletons.d.ts.map +0 -1
  1431. package/dist/components/loading/deprecated-layout-skeletons.js +0 -78
  1432. package/dist/components/loading/device-card-skeleton.d.ts +0 -40
  1433. package/dist/components/loading/device-card-skeleton.d.ts.map +0 -1
  1434. package/dist/components/loading/device-card-skeleton.js +0 -54
  1435. package/dist/components/loading/margin-report-skeleton.d.ts +0 -14
  1436. package/dist/components/loading/margin-report-skeleton.d.ts.map +0 -1
  1437. package/dist/components/loading/margin-report-skeleton.js +0 -99
  1438. package/dist/components/loading/msp-profile-form-skeleton.d.ts +0 -28
  1439. package/dist/components/loading/msp-profile-form-skeleton.d.ts.map +0 -1
  1440. package/dist/components/loading/msp-profile-form-skeleton.js +0 -28
  1441. package/dist/components/loading/organization-card-skeleton.d.ts +0 -51
  1442. package/dist/components/loading/organization-card-skeleton.d.ts.map +0 -1
  1443. package/dist/components/loading/organization-card-skeleton.js +0 -88
  1444. package/dist/components/loading/organization-icon-skeleton.d.ts +0 -49
  1445. package/dist/components/loading/organization-icon-skeleton.d.ts.map +0 -1
  1446. package/dist/components/loading/organization-icon-skeleton.js +0 -35
  1447. package/dist/components/loading/page-layout-skeleton.d.ts +0 -45
  1448. package/dist/components/loading/page-layout-skeleton.d.ts.map +0 -1
  1449. package/dist/components/loading/page-layout-skeleton.js +0 -124
  1450. package/dist/components/loading/settings-form-skeleton.d.ts +0 -19
  1451. package/dist/components/loading/settings-form-skeleton.d.ts.map +0 -1
  1452. package/dist/components/loading/settings-form-skeleton.js +0 -42
  1453. package/dist/components/loading/wizard-layout-skeleton.d.ts +0 -9
  1454. package/dist/components/loading/wizard-layout-skeleton.d.ts.map +0 -1
  1455. package/dist/components/loading/wizard-layout-skeleton.js +0 -21
  1456. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +0 -21
  1457. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +0 -1
  1458. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.js +0 -35
  1459. package/dist/components/profile/ProfileLoadingSkeleton.d.ts +0 -8
  1460. package/dist/components/profile/ProfileLoadingSkeleton.d.ts.map +0 -1
  1461. package/dist/components/profile/ProfileLoadingSkeleton.js +0 -24
  1462. package/dist/components/shared/detail-page-skeleton.d.ts +0 -18
  1463. package/dist/components/shared/detail-page-skeleton.d.ts.map +0 -1
  1464. package/dist/components/shared/detail-page-skeleton.js +0 -68
  1465. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +0 -30
  1466. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +0 -1
  1467. package/dist/components/shared/roadmap/roadmap-grid-skeleton.js +0 -21
  1468. package/dist/components/ui/data-table/data-table-skeleton.d.ts +0 -74
  1469. package/dist/components/ui/data-table/data-table-skeleton.d.ts.map +0 -1
  1470. package/dist/components/ui/data-table/data-table-skeleton.js +0 -150
  1471. package/dist/components/ui/file-manager/file-manager-skeleton.d.ts +0 -10
  1472. package/dist/components/ui/file-manager/file-manager-skeleton.d.ts.map +0 -1
  1473. package/dist/components/ui/file-manager/file-manager-skeleton.js +0 -55
  1474. package/dist/components/ui/table/index.d.ts +0 -17
  1475. package/dist/components/ui/table/index.d.ts.map +0 -1
  1476. package/dist/components/ui/table/index.js +0 -25
  1477. package/dist/components/ui/table/table-cell.d.ts +0 -4
  1478. package/dist/components/ui/table/table-cell.d.ts.map +0 -1
  1479. package/dist/components/ui/table/table-cell.js +0 -19
  1480. package/dist/components/ui/table/table-column-filter-dropdown.d.ts +0 -21
  1481. package/dist/components/ui/table/table-column-filter-dropdown.d.ts.map +0 -1
  1482. package/dist/components/ui/table/table-column-filter-dropdown.js +0 -63
  1483. package/dist/components/ui/table/table-description-cell.d.ts +0 -21
  1484. package/dist/components/ui/table/table-description-cell.d.ts.map +0 -1
  1485. package/dist/components/ui/table/table-description-cell.js +0 -24
  1486. package/dist/components/ui/table/table-empty-state.d.ts +0 -4
  1487. package/dist/components/ui/table/table-empty-state.d.ts.map +0 -1
  1488. package/dist/components/ui/table/table-empty-state.js +0 -22
  1489. package/dist/components/ui/table/table-header.d.ts +0 -4
  1490. package/dist/components/ui/table/table-header.d.ts.map +0 -1
  1491. package/dist/components/ui/table/table-header.js +0 -158
  1492. package/dist/components/ui/table/table-row.d.ts +0 -5
  1493. package/dist/components/ui/table/table-row.d.ts.map +0 -1
  1494. package/dist/components/ui/table/table-row.js +0 -112
  1495. package/dist/components/ui/table/table-skeleton.d.ts +0 -22
  1496. package/dist/components/ui/table/table-skeleton.d.ts.map +0 -1
  1497. package/dist/components/ui/table/table-skeleton.js +0 -64
  1498. package/dist/components/ui/table/table-timestamp-cell.d.ts +0 -28
  1499. package/dist/components/ui/table/table-timestamp-cell.d.ts.map +0 -1
  1500. package/dist/components/ui/table/table-timestamp-cell.js +0 -36
  1501. package/dist/components/ui/table/table.d.ts +0 -4
  1502. package/dist/components/ui/table/table.d.ts.map +0 -1
  1503. package/dist/components/ui/table/table.js +0 -326
  1504. package/dist/components/ui/table/types.d.ts +0 -289
  1505. package/dist/components/ui/table/types.d.ts.map +0 -1
  1506. package/dist/components/ui/table/types.js +0 -1
  1507. package/dist/components/ui/table/use-table-motion.d.ts +0 -24
  1508. package/dist/components/ui/table/use-table-motion.d.ts.map +0 -1
  1509. package/dist/components/ui/table/use-table-motion.js +0 -20
  1510. package/dist/components/ui/table/utils.d.ts +0 -10
  1511. package/dist/components/ui/table/utils.d.ts.map +0 -1
  1512. package/dist/components/ui/table/utils.js +0 -34
  1513. package/src/components/chat/chat-header-icon-button.tsx +0 -41
  1514. package/src/components/chat/chat-sidebar-skeleton.tsx +0 -89
  1515. package/src/components/chat/mingo-onboarding-card-skeleton.tsx +0 -146
  1516. package/src/components/chat/msp-organization-card-skeleton.tsx +0 -33
  1517. package/src/components/features/board/ticket-card-skeleton.tsx +0 -41
  1518. package/src/components/features/devices/device-selector/device-selector-skeleton.tsx +0 -38
  1519. package/src/components/loading/card-skeleton.tsx +0 -259
  1520. package/src/components/loading/category-card-skeleton.tsx +0 -36
  1521. package/src/components/loading/category-vendor-selector-skeleton.tsx +0 -51
  1522. package/src/components/loading/deprecated-layout-skeletons.tsx +0 -133
  1523. package/src/components/loading/device-card-skeleton.tsx +0 -100
  1524. package/src/components/loading/margin-report-skeleton.tsx +0 -153
  1525. package/src/components/loading/msp-profile-form-skeleton.tsx +0 -59
  1526. package/src/components/loading/organization-card-skeleton.tsx +0 -130
  1527. package/src/components/loading/organization-icon-skeleton.tsx +0 -95
  1528. package/src/components/loading/page-layout-skeleton.tsx +0 -192
  1529. package/src/components/loading/settings-form-skeleton.tsx +0 -55
  1530. package/src/components/loading/wizard-layout-skeleton.tsx +0 -35
  1531. package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +0 -48
  1532. package/src/components/profile/ProfileLoadingSkeleton.tsx +0 -31
  1533. package/src/components/shared/detail-page-skeleton.tsx +0 -105
  1534. package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +0 -54
  1535. package/src/components/ui/data-table/data-table-skeleton.tsx +0 -229
  1536. package/src/components/ui/file-manager/file-manager-skeleton.tsx +0 -110
  1537. package/src/components/ui/table/index.ts +0 -34
  1538. package/src/components/ui/table/table-cell.tsx +0 -28
  1539. package/src/components/ui/table/table-column-filter-dropdown.tsx +0 -76
  1540. package/src/components/ui/table/table-description-cell.tsx +0 -46
  1541. package/src/components/ui/table/table-empty-state.tsx +0 -24
  1542. package/src/components/ui/table/table-header.tsx +0 -182
  1543. package/src/components/ui/table/table-row.tsx +0 -133
  1544. package/src/components/ui/table/table-skeleton.tsx +0 -102
  1545. package/src/components/ui/table/table-timestamp-cell.tsx +0 -81
  1546. package/src/components/ui/table/table.tsx +0 -410
  1547. package/src/components/ui/table/types.ts +0 -335
  1548. package/src/components/ui/table/use-table-motion.ts +0 -48
  1549. package/src/components/ui/table/utils.ts +0 -55
@@ -1,4 +1,4 @@
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";
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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
4
 
@@ -24,15 +24,15 @@
24
24
 
25
25
 
26
26
 
27
+ var _chunkODDUGLYFcjs = require('./chunk-ODDUGLYF.cjs');
27
28
 
28
29
 
29
- var _chunkOH5LAH3Xcjs = require('./chunk-OH5LAH3X.cjs');
30
+ var _chunk4MQASMIUcjs = require('./chunk-4MQASMIU.cjs');
30
31
 
31
32
 
32
- var _chunkSETFUCZAcjs = require('./chunk-SETFUCZA.cjs');
33
+ var _chunkXAA5LUHCcjs = require('./chunk-XAA5LUHC.cjs');
33
34
 
34
35
 
35
- var _chunkBEMGJDXIcjs = require('./chunk-BEMGJDXI.cjs');
36
36
 
37
37
 
38
38
 
@@ -42,11 +42,7 @@ var _chunkBEMGJDXIcjs = require('./chunk-BEMGJDXI.cjs');
42
42
 
43
43
 
44
44
 
45
-
46
-
47
-
48
-
49
- var _chunkBNUZKBNVcjs = require('./chunk-BNUZKBNV.cjs');
45
+ var _chunkZJS45HQZcjs = require('./chunk-ZJS45HQZ.cjs');
50
46
 
51
47
 
52
48
  var _chunk32ASZMTVcjs = require('./chunk-32ASZMTV.cjs');
@@ -61,17 +57,17 @@ var _chunk6VOOPMP5cjs = require('./chunk-6VOOPMP5.cjs');
61
57
  var _chunkORO54HDFcjs = require('./chunk-ORO54HDF.cjs');
62
58
 
63
59
 
64
- var _chunk3LW5TD54cjs = require('./chunk-3LW5TD54.cjs');
60
+ var _chunkF2FFJWOQcjs = require('./chunk-F2FFJWOQ.cjs');
65
61
 
66
62
 
67
63
  var _chunkAQXKXZWBcjs = require('./chunk-AQXKXZWB.cjs');
68
64
 
69
65
 
70
66
 
71
- var _chunkTUAATMUEcjs = require('./chunk-TUAATMUE.cjs');
67
+ var _chunkCS5SZJFVcjs = require('./chunk-CS5SZJFV.cjs');
72
68
 
73
69
 
74
- var _chunkE76ONBKFcjs = require('./chunk-E76ONBKF.cjs');
70
+ var _chunk5WMRVMXHcjs = require('./chunk-5WMRVMXH.cjs');
75
71
 
76
72
 
77
73
  var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
@@ -84,22 +80,97 @@ var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
84
80
 
85
81
 
86
82
 
83
+ var _chunkNNNRN4OFcjs = require('./chunk-NNNRN4OF.cjs');
87
84
 
88
- var _chunkXFRBEXQNcjs = require('./chunk-XFRBEXQN.cjs');
89
85
 
86
+ var _chunkFLS6DZENcjs = require('./chunk-FLS6DZEN.cjs');
90
87
 
91
- var _chunkTF5D5MNOcjs = require('./chunk-TF5D5MNO.cjs');
92
88
 
93
89
 
94
- var _chunkV45KLJQPcjs = require('./chunk-V45KLJQP.cjs');
90
+
91
+ var _chunkMGEUZRNQcjs = require('./chunk-MGEUZRNQ.cjs');
95
92
 
96
93
 
97
- var _chunk65VVJSQZcjs = require('./chunk-65VVJSQZ.cjs');
94
+ var _chunkV45KLJQPcjs = require('./chunk-V45KLJQP.cjs');
95
+
96
+ // src/components/ui/interactive-card.tsx
97
+ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
98
+ var _jsxruntime = require('react/jsx-runtime');
99
+ var InteractiveCard = _react2.default.forwardRef(
100
+ ({ children, onClick, clickable, hoverAccentColor, className, ...props }, ref) => {
101
+ const isClickable = clickable !== void 0 ? clickable : !!onClick;
102
+ const handleClick = (e) => {
103
+ if (isClickable && onClick) {
104
+ onClick(e);
105
+ }
106
+ };
107
+ const handleMouseEnter = (e) => {
108
+ if (hoverAccentColor && isClickable) {
109
+ const card = e.currentTarget;
110
+ card.style.borderColor = hoverAccentColor;
111
+ const title = card.querySelector("h3");
112
+ if (title) {
113
+ title.style.color = hoverAccentColor;
114
+ }
115
+ const primaryTexts = card.querySelectorAll(".text-ods-text-primary:not(button):not(button *)");
116
+ for (const text of primaryTexts) {
117
+ text.style.color = hoverAccentColor;
118
+ }
119
+ }
120
+ };
121
+ const handleMouseLeave = (e) => {
122
+ if (hoverAccentColor && isClickable) {
123
+ const card = e.currentTarget;
124
+ card.style.borderColor = "";
125
+ const title = card.querySelector("h3");
126
+ if (title) {
127
+ title.style.color = "";
128
+ }
129
+ const primaryTexts = card.querySelectorAll(".text-ods-text-primary:not(button):not(button *)");
130
+ for (const text of primaryTexts) {
131
+ text.style.color = "";
132
+ }
133
+ }
134
+ };
135
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
136
+ "div",
137
+ {
138
+ ref,
139
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
140
+ "transition-all",
141
+ isClickable && [
142
+ "cursor-pointer",
143
+ "group",
144
+ !hoverAccentColor && [
145
+ "hover:border-ods-accent",
146
+ // H3 titles turn accent on hover
147
+ "[&:hover_h3]:text-ods-accent",
148
+ // Primary text turns accent on hover (but not inside buttons)
149
+ "[&:hover_.text-ods-text-primary:not(button):not(button_*)]:text-ods-accent"
150
+ ]
151
+ ],
152
+ className
153
+ ),
154
+ onClick: handleClick,
155
+ onMouseEnter: handleMouseEnter,
156
+ onMouseLeave: handleMouseLeave,
157
+ style: hoverAccentColor ? (
158
+ // A CSS custom property — React accepts it at runtime but
159
+ // `CSSProperties` has no index signature for `--*`.
160
+ { "--hover-accent": hoverAccentColor }
161
+ ) : void 0,
162
+ ...props,
163
+ children
164
+ }
165
+ );
166
+ }
167
+ );
168
+ InteractiveCard.displayName = "InteractiveCard";
98
169
 
99
170
  // src/components/ui/modal.tsx
100
171
  var _overlays = require('@react-aria/overlays');
101
- var _react = require('react');
102
- var _jsxruntime = require('react/jsx-runtime');
172
+
173
+
103
174
  var Modal = _react.forwardRef.call(void 0, ({ isOpen, onClose, children, className }, ref) => {
104
175
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
105
176
  _react.useEffect.call(void 0, () => {
@@ -119,7 +190,7 @@ var Modal = _react.forwardRef.call(void 0, ({ isOpen, onClose, children, classNa
119
190
  "div",
120
191
  {
121
192
  ref,
122
- className: _chunk65VVJSQZcjs.cn.call(void 0,
193
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
123
194
  "relative z-10 mx-4 flex max-h-[90vh] w-full max-w-md flex-col overflow-hidden rounded-lg border border-ods-border bg-ods-card shadow-xl",
124
195
  className
125
196
  ),
@@ -131,13 +202,13 @@ var Modal = _react.forwardRef.call(void 0, ({ isOpen, onClose, children, classNa
131
202
  ] });
132
203
  });
133
204
  Modal.displayName = "Modal";
134
- var ModalContent = _react.forwardRef.call(void 0, ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunk65VVJSQZcjs.cn.call(void 0, "min-h-0 flex-1 overflow-y-auto", className), children }));
205
+ var ModalContent = _react.forwardRef.call(void 0, ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "min-h-0 flex-1 overflow-y-auto", className), children }));
135
206
  ModalContent.displayName = "ModalContent";
136
- var ModalHeader = _react.forwardRef.call(void 0, ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0 border-b border-ods-border px-6 py-4", className), children }));
207
+ var ModalHeader = _react.forwardRef.call(void 0, ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "shrink-0 border-b border-ods-border px-6 py-4", className), children }));
137
208
  ModalHeader.displayName = "ModalHeader";
138
- var ModalTitle = _react.forwardRef.call(void 0, ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { ref, className: _chunk65VVJSQZcjs.cn.call(void 0, "font-semibold text-ods-text-primary", className), children }));
209
+ var ModalTitle = _react.forwardRef.call(void 0, ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "font-semibold text-ods-text-primary", className), children }));
139
210
  ModalTitle.displayName = "ModalTitle";
140
- var ModalFooter = _react.forwardRef.call(void 0, ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunk65VVJSQZcjs.cn.call(void 0, "flex shrink-0 justify-end gap-3 px-6 py-4", className), children }));
211
+ var ModalFooter = _react.forwardRef.call(void 0, ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex shrink-0 justify-end gap-3 px-6 py-4", className), children }));
141
212
  ModalFooter.displayName = "ModalFooter";
142
213
 
143
214
  // src/components/ui/image-gallery-modal.tsx
@@ -190,7 +261,7 @@ function ImageGalleryModal({ images, isOpen, onClose, initialIndex = 0 }) {
190
261
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Modal, { isOpen, onClose, className: "max-w-[95vw]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex items-center justify-center rounded-lg bg-black", children: [
191
262
  images.length > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
192
263
  selectedImageIndex > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute left-4 top-1/2 z-[10000] -translate-y-1/2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
193
- _chunkTF5D5MNOcjs.Button,
264
+ _chunkFLS6DZENcjs.Button,
194
265
  {
195
266
  variant: "transparent",
196
267
  size: "small-legacy",
@@ -200,7 +271,7 @@ function ImageGalleryModal({ images, isOpen, onClose, initialIndex = 0 }) {
200
271
  }
201
272
  ) }),
202
273
  selectedImageIndex < images.length - 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute right-4 top-1/2 z-[10000] -translate-y-1/2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
203
- _chunkTF5D5MNOcjs.Button,
274
+ _chunkFLS6DZENcjs.Button,
204
275
  {
205
276
  variant: "transparent",
206
277
  size: "small-legacy",
@@ -211,7 +282,7 @@ function ImageGalleryModal({ images, isOpen, onClose, initialIndex = 0 }) {
211
282
  ) })
212
283
  ] }),
213
284
  images[selectedImageIndex] && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative flex h-[90vh] w-[90vw] max-w-none items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
214
- _chunkE76ONBKFcjs.next_image_default,
285
+ _chunk5WMRVMXHcjs.next_image_default,
215
286
  {
216
287
  src: images[selectedImageIndex],
217
288
  alt: `Screenshot ${selectedImageIndex + 1}`,
@@ -321,7 +392,7 @@ function escapeRegExp(value) {
321
392
  function formatDayHead(dateString, style) {
322
393
  const ymd = splitYmd(dateString);
323
394
  if (!ymd) return dateString;
324
- return _chunkBNUZKBNVcjs.formatDateWithTimezone.call(void 0, ymd.join("-"), null, style) || dateString;
395
+ return _chunkZJS45HQZcjs.formatDateWithTimezone.call(void 0, ymd.join("-"), null, style) || dateString;
325
396
  }
326
397
  function splitYmd(dateString) {
327
398
  const head = dateString.split("T")[0];
@@ -768,9 +839,9 @@ function programMetaFormatters(fmt, opts = {}) {
768
839
 
769
840
  // src/utils/program-meta-renderers.ts
770
841
  var PROGRAM_META_RENDERERS = {
771
- date: _chunkBNUZKBNVcjs.formatProgramDate,
772
- duration: _chunkBNUZKBNVcjs.formatDurationCompact,
773
- webinarMeta: _chunkBNUZKBNVcjs.formatWebinarTimeMeta
842
+ date: _chunkZJS45HQZcjs.formatProgramDate,
843
+ duration: _chunkZJS45HQZcjs.formatDurationCompact,
844
+ webinarMeta: _chunkZJS45HQZcjs.formatWebinarTimeMeta
774
845
  };
775
846
 
776
847
  // src/components/chat/utils/chat-nav-resolution.ts
@@ -848,15 +919,15 @@ function EntityMetadataValueCell({
848
919
  uppercase = true,
849
920
  optional = false
850
921
  }) {
851
- if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataValueCellSkeleton, { label, className });
852
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, VALUE_CELL_CLASS, className), "data-loading-optional": optional || void 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CELL_STACK_CLASS, children: [
922
+ if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataValueCellSkeleton, { label, className });
923
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, VALUE_CELL_CLASS, className), "data-loading-optional": optional || void 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CELL_STACK_CLASS, children: [
853
924
  typeof value === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: VALUE_TEXT_CLASS, children: uppercase ? value.toLocaleUpperCase() : value }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: VALUE_NODE_CLASS, children: value }),
854
925
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: LABEL_TEXT_CLASS, children: label })
855
926
  ] }) });
856
927
  }
857
928
  function EntityMetadataValueCellSkeleton({ label, className }) {
858
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, VALUE_CELL_CLASS, className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CELL_STACK_CLASS, children: [
859
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: VALUE_TEXT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-24" }) }),
929
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, VALUE_CELL_CLASS, className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CELL_STACK_CLASS, children: [
930
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: VALUE_TEXT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-24" }) }),
860
931
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: LABEL_TEXT_CLASS, children: label })
861
932
  ] }) });
862
933
  }
@@ -864,19 +935,20 @@ function EntityMetadataAuthorCell({
864
935
  author,
865
936
  roleLabel = "Author",
866
937
  authorHref,
867
- className
938
+ className,
939
+ loading: loadingProp
868
940
  }) {
869
- const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
941
+ const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp || !author;
870
942
  if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataAuthorCellSkeleton, { className });
871
943
  const trimmedName = typeof author.full_name === "string" ? author.full_name.trim() : "";
872
944
  const fullName = trimmedName || "Unknown Author";
873
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, AUTHOR_CELL_CLASS, className), children: [
945
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, AUTHOR_CELL_CLASS, className), children: [
874
946
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
875
- _chunkBNUZKBNVcjs.SquareAvatar,
947
+ _chunkZJS45HQZcjs.SquareAvatar,
876
948
  {
877
949
  src: author.avatar_url || "",
878
950
  alt: fullName,
879
- fallback: _chunkBNUZKBNVcjs.nameInitials.call(void 0, fullName, ""),
951
+ fallback: _chunkZJS45HQZcjs.nameInitials.call(void 0, fullName, ""),
880
952
  size: AUTHOR_AVATAR_SIZE,
881
953
  variant: "round"
882
954
  }
@@ -888,11 +960,11 @@ function EntityMetadataAuthorCell({
888
960
  ] });
889
961
  }
890
962
  function EntityMetadataAuthorCellSkeleton({ className }) {
891
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, AUTHOR_CELL_CLASS, className), children: [
892
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { variant: "circular", className: _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0", _chunkXFRBEXQNcjs.AVATAR_SIZE[AUTHOR_AVATAR_SIZE]) }),
963
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, AUTHOR_CELL_CLASS, className), children: [
964
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { variant: "circular", className: _chunkMGEUZRNQcjs.cn.call(void 0, "shrink-0", _chunkNNNRN4OFcjs.AVATAR_SIZE[AUTHOR_AVATAR_SIZE]) }),
893
965
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: AUTHOR_TEXT_CLASS, children: [
894
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h3", className: "w-32" }),
895
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-20" })
966
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h3", className: "w-32" }),
967
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-20" })
896
968
  ] })
897
969
  ] });
898
970
  }
@@ -903,7 +975,7 @@ function EntityAuthorCardSkeleton({
903
975
  className
904
976
  }) {
905
977
  const totalCells = extraCellLabels.length + optionalCells + (publishedLabel === null ? 0 : 1) + 1;
906
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, GRID_FRAME_CLASS, gridColsClass(totalCells), className), children: [
978
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, GRID_FRAME_CLASS, gridColsClass(totalCells), className), children: [
907
979
  extraCellLabels.map((label, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataValueCellSkeleton, { label, className: CELL_DIVIDER_CLASS }, `${label}-${i}`)),
908
980
  publishedLabel !== null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataValueCellSkeleton, { label: publishedLabel, className: CELL_DIVIDER_CLASS }),
909
981
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataAuthorCellSkeleton, {})
@@ -917,9 +989,10 @@ function EntityAuthorCard({
917
989
  publishedLabel = "Published",
918
990
  extraCells,
919
991
  renderEmptyAuthor = false,
920
- className
992
+ className,
993
+ loading: loadingProp
921
994
  }) {
922
- const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
995
+ const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || !!loadingProp;
923
996
  if (loading) {
924
997
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
925
998
  EntityAuthorCardSkeleton,
@@ -934,12 +1007,12 @@ function EntityAuthorCard({
934
1007
  const hasAuthor = !!_optionalChain([author, 'optionalAccess', _15 => _15.full_name]);
935
1008
  if (!hasAuthor && !renderEmptyAuthor) return null;
936
1009
  const effectiveAuthor = hasAuthor ? author : EMPTY_AUTHOR_PLACEHOLDER;
937
- const formatted = publishedAt ? _chunkBNUZKBNVcjs.formatDate.call(void 0, publishedAt) : "";
1010
+ const formatted = publishedAt ? _chunkZJS45HQZcjs.formatDate.call(void 0, publishedAt) : "";
938
1011
  const dateLabel = formatted === "Invalid Date" ? "" : formatted;
939
1012
  const showDateCell = !!dateLabel;
940
1013
  const extras = _nullishCoalesce(extraCells, () => ( []));
941
1014
  const totalCells = extras.length + (showDateCell ? 1 : 0) + 1;
942
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, GRID_FRAME_CLASS, gridColsClass(totalCells), className), children: [
1015
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, GRID_FRAME_CLASS, gridColsClass(totalCells), className), children: [
943
1016
  extras.map((cell, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
944
1017
  EntityMetadataValueCell,
945
1018
  {
@@ -969,7 +1042,7 @@ function EntityAuthorCard({
969
1042
  function BlogImagePlaceholder({ imageUrl, title, className = "" }) {
970
1043
  if (!imageUrl) return null;
971
1044
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `relative block h-full w-full overflow-hidden bg-ods-bg ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
972
- _chunkE76ONBKFcjs.next_image_default,
1045
+ _chunk5WMRVMXHcjs.next_image_default,
973
1046
  {
974
1047
  src: imageUrl,
975
1048
  alt: `Cover image for ${title}`,
@@ -1006,19 +1079,20 @@ var sizeClasses = {
1006
1079
  }
1007
1080
  };
1008
1081
  var PLATFORM_BADGE_FRAME_CLASS = "inline-flex items-center rounded-full border";
1009
- function PlatformBadge({ platform, size = "sm", showLabel = true, className }) {
1010
- if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, ) && !platform) {
1082
+ function PlatformBadge({ platform, size = "sm", showLabel = true, className, loading }) {
1083
+ const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
1084
+ if (loading || inScope && !platform) {
1011
1085
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PlatformBadgeSkeleton, { size, showLabel, className });
1012
1086
  }
1013
1087
  if (!platform) {
1014
1088
  return null;
1015
1089
  }
1016
1090
  const sizes = sizeClasses[size];
1017
- const colors = _chunkTUAATMUEcjs.getPlatformBrandClasses.call(void 0, platform.name);
1091
+ const colors = _chunkCS5SZJFVcjs.getPlatformBrandClasses.call(void 0, platform.name);
1018
1092
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1019
1093
  "div",
1020
1094
  {
1021
- className: _chunk65VVJSQZcjs.cn.call(void 0,
1095
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
1022
1096
  PLATFORM_BADGE_FRAME_CLASS,
1023
1097
  sizes.container,
1024
1098
  colors.accentBgSoft,
@@ -1028,7 +1102,7 @@ function PlatformBadge({ platform, size = "sm", showLabel = true, className }) {
1028
1102
  className
1029
1103
  ),
1030
1104
  children: [
1031
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTUAATMUEcjs.PlatformMark, { platform: platform.name, className: sizes.icon }),
1105
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCS5SZJFVcjs.PlatformMark, { platform: platform.name, className: sizes.icon }),
1032
1106
  showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: sizes.text, children: platform.display_name || platform.name })
1033
1107
  ]
1034
1108
  }
@@ -1046,10 +1120,10 @@ function PlatformBadgeSkeleton({
1046
1120
  }) {
1047
1121
  const box = PLATFORM_BADGE_SKELETON_SIZE[size];
1048
1122
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1049
- _chunkXFRBEXQNcjs.UnifiedSkeleton,
1123
+ _chunkNNNRN4OFcjs.UnifiedSkeleton,
1050
1124
  {
1051
1125
  as: "span",
1052
- className: _chunk65VVJSQZcjs.cn.call(void 0,
1126
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
1053
1127
  "inline-block rounded-full align-middle text-h6",
1054
1128
  box.height,
1055
1129
  showLabel ? box.width : box.iconOnly,
@@ -1063,7 +1137,7 @@ function PlatformBadgeSkeleton({
1063
1137
 
1064
1138
 
1065
1139
  var ADMIN_CARD_FRAME = "flex h-full flex-col";
1066
- var ADMIN_CARD_COVER = `relative ${_chunkXFRBEXQNcjs.MEDIA_ASPECT.photo} w-full shrink-0 overflow-hidden`;
1140
+ var ADMIN_CARD_COVER = `relative ${_chunkNNNRN4OFcjs.MEDIA_ASPECT.photo} w-full shrink-0 overflow-hidden`;
1067
1141
  var ADMIN_CARD_BODY = "flex flex-1 flex-col gap-3 p-5";
1068
1142
  var ADMIN_CARD_BADGES = "flex flex-wrap items-center gap-2";
1069
1143
  var ADMIN_CARD_BADGES_RESERVED = "min-h-7";
@@ -1081,27 +1155,29 @@ function AdminContentCard({
1081
1155
  actions,
1082
1156
  reserveRows = false,
1083
1157
  subtitleRow = true,
1084
- className
1158
+ className,
1159
+ loading
1085
1160
  }) {
1086
1161
  const [imageError, setImageError] = _react.useState.call(void 0, false);
1087
1162
  const [loadedUrl, setLoadedUrl] = _react.useState.call(void 0, null);
1088
1163
  const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
1089
1164
  const imageLoaded = Boolean(displayUrl) && loadedUrl === displayUrl;
1090
- const imageBgColor = _chunk3LW5TD54cjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
1091
- if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) {
1092
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AdminContentCardSkeleton, { className, subtitleRow, actions: actions ? actions : false });
1165
+ const imageBgColor = _chunkF2FFJWOQcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
1166
+ const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
1167
+ if (inScope || loading) {
1168
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AdminContentCardSkeleton, { className, subtitleRow, actions: actions || false });
1093
1169
  }
1094
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_FRAME_CLASS, ADMIN_CARD_FRAME, className), children: [
1170
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_FRAME_CLASS, ADMIN_CARD_FRAME, className), children: [
1095
1171
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ADMIN_CARD_COVER, style: { backgroundColor: imageBgColor }, children: displayUrl ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1096
- !imageLoaded && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "absolute inset-0 h-full rounded-none" }),
1172
+ !imageLoaded && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: "absolute inset-0 h-full rounded-none" }),
1097
1173
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1098
- _chunkE76ONBKFcjs.next_image_default,
1174
+ _chunk5WMRVMXHcjs.next_image_default,
1099
1175
  {
1100
1176
  src: displayUrl,
1101
1177
  alt: title,
1102
1178
  fill: true,
1103
1179
  sizes: "(min-width: 1280px) 33vw, (min-width: 768px) 50vw, 100vw",
1104
- className: _chunk65VVJSQZcjs.cn.call(void 0,
1180
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
1105
1181
  "object-contain object-center",
1106
1182
  "transition-transform duration-500 ease-out",
1107
1183
  "group-hover:scale-[1.03]",
@@ -1114,10 +1190,10 @@ function AdminContentCard({
1114
1190
  )
1115
1191
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 bg-ods-bg" }) }),
1116
1192
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ADMIN_CARD_BODY, children: [
1117
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: _chunk65VVJSQZcjs.cn.call(void 0, "line-clamp-2 break-words text-ods-text-primary text-h3", reserveRows && "min-h-[2lh]"), children: title }),
1118
- (subtitle || reserveRows && subtitleRow) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk65VVJSQZcjs.cn.call(void 0, "truncate text-ods-text-secondary text-h6", reserveRows && "min-h-[1lh]"), children: subtitle }),
1119
- (summary || reserveRows) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk65VVJSQZcjs.cn.call(void 0, "line-clamp-2 text-ods-text-secondary text-h6", reserveRows && "min-h-[2lh]"), children: summary }),
1120
- (Number(_optionalChain([platforms, 'optionalAccess', _16 => _16.length])) > 0 || badges || reserveRows) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, ADMIN_CARD_BADGES, reserveRows && ADMIN_CARD_BADGES_RESERVED), children: [
1193
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "line-clamp-2 break-words text-ods-text-primary text-h3", reserveRows && "min-h-[2lh]"), children: title }),
1194
+ (subtitle || reserveRows && subtitleRow) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "truncate text-ods-text-secondary text-h6", reserveRows && "min-h-[1lh]"), children: subtitle }),
1195
+ (summary || reserveRows) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "line-clamp-2 text-ods-text-secondary text-h6", reserveRows && "min-h-[2lh]"), children: summary }),
1196
+ (Number(_optionalChain([platforms, 'optionalAccess', _16 => _16.length])) > 0 || badges || reserveRows) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, ADMIN_CARD_BADGES, reserveRows && ADMIN_CARD_BADGES_RESERVED), children: [
1121
1197
  _optionalChain([platforms, 'optionalAccess', _17 => _17.map, 'call', _18 => _18((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1122
1198
  PlatformBadge,
1123
1199
  {
@@ -1128,7 +1204,7 @@ function AdminContentCard({
1128
1204
  ))]),
1129
1205
  badges
1130
1206
  ] }),
1131
- (meta || reserveRows) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, ADMIN_CARD_META, reserveRows && "min-h-[1lh]"), children: meta }),
1207
+ (meta || reserveRows) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, ADMIN_CARD_META, reserveRows && "min-h-[1lh]"), children: meta }),
1132
1208
  actions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ADMIN_CARD_ACTIONS, children: actions })
1133
1209
  ] })
1134
1210
  ] });
@@ -1138,22 +1214,22 @@ function AdminContentCardSkeleton({
1138
1214
  actions = true,
1139
1215
  subtitleRow = true
1140
1216
  }) {
1141
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, ADMIN_CARD_FRAME, className), "aria-hidden": true, children: [
1142
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: _chunk65VVJSQZcjs.cn.call(void 0, ADMIN_CARD_COVER, "rounded-none") }),
1217
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, ADMIN_CARD_FRAME, className), "aria-hidden": true, children: [
1218
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: _chunkMGEUZRNQcjs.cn.call(void 0, ADMIN_CARD_COVER, "rounded-none") }),
1143
1219
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ADMIN_CARD_BODY, children: [
1144
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-full" }),
1145
- subtitleRow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" }),
1146
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", lines: 2, className: "w-full" }),
1147
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, ADMIN_CARD_BADGES, ADMIN_CARD_BADGES_RESERVED), children: [
1148
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PlatformBadgeSkeleton, { size: "xs" }),
1149
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PlatformBadgeSkeleton, { size: "xs" })
1220
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-full" }),
1221
+ subtitleRow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" }),
1222
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", lines: 2, className: "w-full" }),
1223
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, ADMIN_CARD_BADGES, ADMIN_CARD_BADGES_RESERVED), children: [
1224
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PlatformBadge, { loading: true, size: "xs" }),
1225
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PlatformBadge, { loading: true, size: "xs" })
1150
1226
  ] }),
1151
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ADMIN_CARD_META, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-32" }) }),
1227
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ADMIN_CARD_META, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-32" }) }),
1152
1228
  actions === true ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ADMIN_CARD_ACTIONS, children: [
1153
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.InteractiveSkeleton.Button, { size: "small-legacy" }),
1229
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.InteractiveSkeleton.Button, { size: "small-legacy" }),
1154
1230
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-[var(--spacing-system-xsf)]", children: [
1155
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.InteractiveSkeleton.Button, { size: "small-legacy", className: "w-20" }),
1156
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.InteractiveSkeleton.Button, { size: "small-legacy", className: "w-20" })
1231
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.InteractiveSkeleton.Button, { size: "small-legacy", className: "w-20" }),
1232
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.InteractiveSkeleton.Button, { size: "small-legacy", className: "w-20" })
1157
1233
  ] })
1158
1234
  ] }) : actions ? (
1159
1235
  // The caller's own controls, drawn as they are but never focused while the card is a skeleton.
@@ -1200,7 +1276,7 @@ var SENTENCE_MARK = /([.:?!]+)(?=\s|$)/g;
1200
1276
  var ONLY_MARKS = /^\s*[.:?!]+\s*$/;
1201
1277
  function headingAccentClass(platform, tone = "accent") {
1202
1278
  if (!platform) return "text-ods-accent";
1203
- const classes = _chunkTUAATMUEcjs.getPlatformBrandClasses.call(void 0, platform);
1279
+ const classes = _chunkCS5SZJFVcjs.getPlatformBrandClasses.call(void 0, platform);
1204
1280
  return tone === "secondary" ? classes.secondaryText : classes.accentText;
1205
1281
  }
1206
1282
  function accentSentenceMarks(node, platform, tone = "accent") {
@@ -1264,8 +1340,25 @@ function SectionHeading({
1264
1340
  presentational = false,
1265
1341
  platform,
1266
1342
  tone = "accent",
1267
- className
1343
+ className,
1344
+ loading
1268
1345
  }) {
1346
+ if (loading) {
1347
+ const shape = loading === true ? {} : loading;
1348
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1349
+ SectionHeadingSkeleton,
1350
+ {
1351
+ level,
1352
+ eyebrow,
1353
+ titleWidth: shape.titleWidth,
1354
+ intro: shape.intro,
1355
+ action,
1356
+ platform,
1357
+ tone,
1358
+ className
1359
+ }
1360
+ );
1361
+ }
1269
1362
  const accentClassName = headingAccentClass(platform, tone);
1270
1363
  const layout = SECTION_HEADING_LAYOUT[level];
1271
1364
  const Tag2 = presentational ? "div" : level === "page" ? "h1" : "h2";
@@ -1314,11 +1407,11 @@ function SectionHeadingSkeleton({
1314
1407
  const introLines = intro === true ? 2 : intro || 0;
1315
1408
  const stack = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: layout.stack, "aria-hidden": true, children: [
1316
1409
  eyebrow ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionEyebrow, { platform, tone, children: eyebrow }) : null,
1317
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: layout.heading, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", className: titleWidth }) }),
1410
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: layout.heading, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", className: titleWidth }) }),
1318
1411
  introLines > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: layout.intro, children: Array.from({ length: introLines }, (_, i) => (
1319
1412
  // biome-ignore lint/suspicious/noArrayIndexKey: skeleton lines never reorder
1320
1413
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1321
- _chunkXFRBEXQNcjs.TextLineSkeleton,
1414
+ _chunkNNNRN4OFcjs.TextLineSkeleton,
1322
1415
  {
1323
1416
  type: "inherit",
1324
1417
  className: i === introLines - 1 && introLines > 1 ? "w-2/3" : "w-full"
@@ -1340,11 +1433,14 @@ function SectionHeadingSkeleton({
1340
1433
  );
1341
1434
  }
1342
1435
 
1436
+ // src/components/shared/product-release/product-release-card.tsx
1437
+
1438
+
1343
1439
  // src/components/shared/product-release/product-release-card-classes.ts
1344
1440
  var RELEASE_CARD_LG_FRAME_CLASS = "flex flex-col gap-4 p-6";
1345
1441
  var RELEASE_CARD_HERO_CLASS = "flex flex-col gap-4 content-md:flex-row content-md:gap-6";
1346
1442
  var RELEASE_CARD_COVER_COLUMN_CLASS = "w-full flex-shrink-0 content-md:w-[256px]";
1347
- var RELEASE_CARD_COVER_BOX_CLASS = `relative ${_chunkXFRBEXQNcjs.MEDIA_ASPECT.og} w-full overflow-hidden rounded-lg`;
1443
+ var RELEASE_CARD_COVER_BOX_CLASS = `relative ${_chunkNNNRN4OFcjs.MEDIA_ASPECT.og} w-full overflow-hidden rounded-lg`;
1348
1444
  var RELEASE_CARD_TEXT_COLUMN_CLASS = "flex min-w-0 flex-1 flex-col";
1349
1445
  var RELEASE_CARD_VERSION_ROW_CLASS = "mb-3 flex items-center gap-3";
1350
1446
  var RELEASE_CARD_VERSION_CLASS = "truncate font-semibold text-ods-text-primary text-code";
@@ -1364,22 +1460,22 @@ var RELEASE_CARD_CELL_LABELS = ["Type", "Status", "Released"];
1364
1460
 
1365
1461
  function ProductReleaseCardSkeleton({ className, size = "lg" }) {
1366
1462
  if (size === "lg") {
1367
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, RELEASE_CARD_LG_FRAME_CLASS, className), "aria-hidden": true, children: [
1463
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, RELEASE_CARD_LG_FRAME_CLASS, className), "aria-hidden": true, children: [
1368
1464
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: RELEASE_CARD_HERO_CLASS, children: [
1369
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_COVER_COLUMN_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: RELEASE_CARD_COVER_BOX_CLASS }) }),
1465
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_COVER_COLUMN_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: RELEASE_CARD_COVER_BOX_CLASS }) }),
1370
1466
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: RELEASE_CARD_TEXT_COLUMN_CLASS, children: [
1371
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_VERSION_ROW_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: RELEASE_CARD_VERSION_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-16" }) }) }),
1372
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_TITLE_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: _chunk65VVJSQZcjs.cn.call(void 0, RELEASE_CARD_TITLE_CLASS, "w-full"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", lines: 2, className: "w-3/4" }) }) }),
1373
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_SUMMARY_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: RELEASE_CARD_SUMMARY_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", lines: 3, className: "w-full" }) }) })
1467
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_VERSION_ROW_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: RELEASE_CARD_VERSION_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-16" }) }) }),
1468
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_TITLE_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: _chunkMGEUZRNQcjs.cn.call(void 0, RELEASE_CARD_TITLE_CLASS, "w-full"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as: "span", lines: 2, className: "w-3/4" }) }) }),
1469
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_SUMMARY_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: RELEASE_CARD_SUMMARY_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as: "span", lines: 3, className: "w-full" }) }) })
1374
1470
  ] })
1375
1471
  ] }),
1376
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_CHANGELOG_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-loading-item": true, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-24" }) }) }),
1472
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_CHANGELOG_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-loading-item": true, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-24" }) }) }),
1377
1473
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: RELEASE_CARD_GRID_CLASS, children: [
1378
- RELEASE_CARD_CELL_LABELS.map((label, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, RELEASE_CARD_CELL_CLASS, RELEASE_CARD_CELL_DIVIDER_CLASS), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: RELEASE_CARD_CELL_STACK_CLASS, children: [
1379
- i === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadgeSkeleton, { variant: "card", className: "justify-self-start" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-24" }) }),
1474
+ RELEASE_CARD_CELL_LABELS.map((label, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, RELEASE_CARD_CELL_CLASS, RELEASE_CARD_CELL_DIVIDER_CLASS), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: RELEASE_CARD_CELL_STACK_CLASS, children: [
1475
+ i === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.StatusBadge, { loading: true, text: "", variant: "card", className: "justify-self-start" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-24" }) }),
1380
1476
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: RELEASE_CARD_CELL_LABEL_CLASS, children: label })
1381
1477
  ] }) }, label)),
1382
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataAuthorCellSkeleton, {})
1478
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataAuthorCell, { loading: true })
1383
1479
  ] })
1384
1480
  ] });
1385
1481
  }
@@ -1387,20 +1483,20 @@ function ProductReleaseCardSkeleton({ className, size = "lg" }) {
1387
1483
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1388
1484
  "span",
1389
1485
  {
1390
- className: _chunk65VVJSQZcjs.cn.call(void 0,
1486
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
1391
1487
  "my-1.5 flex w-full items-start gap-3",
1392
1488
  "rounded-lg border border-ods-border bg-ods-card p-2",
1393
1489
  className
1394
1490
  ),
1395
1491
  children: [
1396
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: "block aspect-square h-14 w-14 shrink-0 self-start rounded-md" }),
1492
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "block aspect-square h-14 w-14 shrink-0 self-start rounded-md" }),
1397
1493
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-h-14 min-w-0 flex-1 flex-col gap-0.5", children: [
1398
1494
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex h-5 min-w-0 items-center gap-2", children: [
1399
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-3/5 rounded" }),
1400
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-12 shrink-0 rounded" })
1495
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-3/5 rounded" }),
1496
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-12 shrink-0 rounded" })
1401
1497
  ] }),
1402
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-1/3 rounded" }) }),
1403
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-11/12 rounded" }) })
1498
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-1/3 rounded" }) }),
1499
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-11/12 rounded" }) })
1404
1500
  ] })
1405
1501
  ]
1406
1502
  }
@@ -1409,6 +1505,229 @@ function ProductReleaseCardSkeleton({ className, size = "lg" }) {
1409
1505
  throw new Error(`ProductReleaseCardSkeleton: unsupported size '${size}'`);
1410
1506
  }
1411
1507
 
1508
+ // src/components/shared/product-release/product-release-card.tsx
1509
+
1510
+ function ProductReleaseCard(props) {
1511
+ if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || props.loading) {
1512
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: _nullishCoalesce(props.size, () => ( "lg")), className: props.className });
1513
+ }
1514
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadedProductReleaseCard, { ...props });
1515
+ }
1516
+ function LoadedProductReleaseCard({
1517
+ title,
1518
+ summary,
1519
+ version,
1520
+ formattedDate,
1521
+ onClick,
1522
+ anchorProps,
1523
+ className,
1524
+ size = "lg",
1525
+ coverImage,
1526
+ hasVideoCover,
1527
+ releaseType,
1528
+ releaseStatus,
1529
+ releaseTypeBadgeColor,
1530
+ viewCount,
1531
+ author,
1532
+ changelogCounts
1533
+ }) {
1534
+ if (size === "lg") {
1535
+ const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _19 => _19.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _20 => _20.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _21 => _21.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _22 => _22.breaking]), () => ( 0)));
1536
+ const valueCells = [
1537
+ releaseType && releaseTypeBadgeColor ? {
1538
+ value: releaseType.toUpperCase(),
1539
+ label: RELEASE_CARD_CELL_LABELS[0],
1540
+ uppercase: true,
1541
+ colorScheme: releaseTypeBadgeColor
1542
+ } : { value: "\u2014", label: RELEASE_CARD_CELL_LABELS[0], uppercase: false },
1543
+ releaseStatus ? {
1544
+ value: releaseStatus.toUpperCase(),
1545
+ label: RELEASE_CARD_CELL_LABELS[1],
1546
+ uppercase: true
1547
+ } : { value: "\u2014", label: RELEASE_CARD_CELL_LABELS[1], uppercase: false },
1548
+ formattedDate ? {
1549
+ value: formattedDate,
1550
+ label: RELEASE_CARD_CELL_LABELS[2],
1551
+ uppercase: false
1552
+ } : { value: "\u2014", label: RELEASE_CARD_CELL_LABELS[2], uppercase: false }
1553
+ ];
1554
+ const effectiveAuthor = _optionalChain([author, 'optionalAccess', _23 => _23.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
1555
+ const dividerClass = RELEASE_CARD_CELL_DIVIDER_CLASS;
1556
+ const interactive = !!anchorProps || !!onClick;
1557
+ const frameClass = _chunkMGEUZRNQcjs.cn.call(void 0,
1558
+ interactive ? _chunkODDUGLYFcjs.CONTENT_CARD_FRAME_CLASS : _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS,
1559
+ RELEASE_CARD_LG_FRAME_CLASS,
1560
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-offset-2 focus-visible:ring-offset-ods-bg",
1561
+ "no-underline",
1562
+ className
1563
+ );
1564
+ const innerLayout = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1565
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: RELEASE_CARD_HERO_CLASS, children: [
1566
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_COVER_COLUMN_CLASS, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, RELEASE_CARD_COVER_BOX_CLASS, "bg-ods-bg"), children: [
1567
+ coverImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1568
+ _chunk5WMRVMXHcjs.next_image_default,
1569
+ {
1570
+ src: coverImage,
1571
+ alt: title,
1572
+ fill: true,
1573
+ sizes: "(max-width: 768px) 100vw, 256px",
1574
+ className: "object-cover",
1575
+ unoptimized: true
1576
+ }
1577
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Package, { className: "h-8 w-8" }) }),
1578
+ hasVideoCover && coverImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MQASMIUcjs.CardHoverPlay, { size: "md" })
1579
+ ] }) }),
1580
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: RELEASE_CARD_TEXT_COLUMN_CLASS, children: [
1581
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_VERSION_ROW_CLASS, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: RELEASE_CARD_VERSION_CLASS, children: [
1582
+ "v",
1583
+ version
1584
+ ] }) }),
1585
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_TITLE_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: RELEASE_CARD_TITLE_CLASS, children: title }) }),
1586
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_SUMMARY_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: RELEASE_CARD_SUMMARY_CLASS, children: _nullishCoalesce(summary, () => ( "")) }) })
1587
+ ] })
1588
+ ] }),
1589
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: RELEASE_CARD_CHANGELOG_CLASS, children: totalChangelog > 0 && changelogCounts ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1590
+ changelogCounts.features > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "data-loading-item": true, className: "inline-flex items-center gap-1.5", children: [
1591
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Sparkles, { className: "h-3.5 w-3.5" }),
1592
+ changelogCounts.features,
1593
+ " ",
1594
+ changelogCounts.features === 1 ? "feature" : "features"
1595
+ ] }),
1596
+ changelogCounts.fixes > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "data-loading-item": true, className: "inline-flex items-center gap-1.5", children: [
1597
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Wrench, { className: "h-3.5 w-3.5" }),
1598
+ changelogCounts.fixes,
1599
+ " ",
1600
+ changelogCounts.fixes === 1 ? "fix" : "fixes"
1601
+ ] }),
1602
+ changelogCounts.improvements > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "data-loading-item": true, className: "inline-flex items-center gap-1.5", children: [
1603
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.TrendingUp, { className: "h-3.5 w-3.5" }),
1604
+ changelogCounts.improvements,
1605
+ " ",
1606
+ changelogCounts.improvements === 1 ? "improvement" : "improvements"
1607
+ ] }),
1608
+ changelogCounts.breaking > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "data-loading-item": true, className: "inline-flex items-center gap-1.5 text-ods-warning", children: [
1609
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertTriangle, { className: "h-3.5 w-3.5" }),
1610
+ changelogCounts.breaking,
1611
+ " breaking"
1612
+ ] })
1613
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-loading-item": true, className: "text-ods-text-secondary", children: "No changelog entries yet" }) }),
1614
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: RELEASE_CARD_GRID_CLASS, children: [
1615
+ valueCells.map((cell, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, RELEASE_CARD_CELL_CLASS, dividerClass), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: RELEASE_CARD_CELL_STACK_CLASS, children: [
1616
+ cell.colorScheme ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1617
+ _chunkODDUGLYFcjs.StatusBadge,
1618
+ {
1619
+ text: cell.value,
1620
+ variant: "card",
1621
+ colorScheme: cell.colorScheme,
1622
+ singleLine: true,
1623
+ className: "justify-self-start"
1624
+ }
1625
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1626
+ "p",
1627
+ {
1628
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
1629
+ "text-h4",
1630
+ // Em-dash placeholder reads as secondary text;
1631
+ // populated values stay primary.
1632
+ cell.value === "\u2014" ? "text-ods-text-secondary" : "text-ods-text-primary"
1633
+ ),
1634
+ children: cell.uppercase ? cell.value.toLocaleUpperCase() : cell.value
1635
+ }
1636
+ ),
1637
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: RELEASE_CARD_CELL_LABEL_CLASS, children: cell.label })
1638
+ ] }) }, `${cell.label}-${i}`)),
1639
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 p-4", children: [
1640
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1641
+ _chunkZJS45HQZcjs.SquareAvatar,
1642
+ {
1643
+ src: _nullishCoalesce(effectiveAuthor.avatar_url, () => ( void 0)),
1644
+ alt: effectiveAuthor.full_name,
1645
+ fallback: effectiveAuthor.full_name.charAt(0).toUpperCase(),
1646
+ size: "md",
1647
+ variant: "round"
1648
+ }
1649
+ ),
1650
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-0", children: [
1651
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate tracking-[-0.36px] text-ods-text-primary text-h3", children: effectiveAuthor.full_name }),
1652
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: effectiveAuthor.job_title || "Author" })
1653
+ ] })
1654
+ ] })
1655
+ ] }),
1656
+ typeof viewCount === "number" && viewCount > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 text-ods-text-secondary text-h6", children: [
1657
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Eye, { className: "h-3.5 w-3.5" }),
1658
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
1659
+ viewCount.toLocaleString(),
1660
+ " views"
1661
+ ] })
1662
+ ] })
1663
+ ] });
1664
+ if (anchorProps) {
1665
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: frameClass, children: innerLayout });
1666
+ }
1667
+ if (onClick) {
1668
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InteractiveCard, { clickable: true, onClick, className: frameClass, children: innerLayout });
1669
+ }
1670
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: frameClass, children: innerLayout });
1671
+ }
1672
+ if (size === "sm") {
1673
+ const handleKey = (e) => {
1674
+ if (!onClick) return;
1675
+ if (e.key === "Enter" || e.key === " ") {
1676
+ e.preventDefault();
1677
+ onClick();
1678
+ }
1679
+ };
1680
+ const isInteractive = !!anchorProps || !!onClick;
1681
+ const outerClassName = _chunkMGEUZRNQcjs.cn.call(void 0,
1682
+ // The base frame (`my-1.5 flex … no-underline`) mirrors the
1683
+ // hub's `COMPACT_CARD_OUTER` in `components/shared/compact-
1684
+ // card/compact-card-classes.ts` byte-for-byte. The OSS lib
1685
+ // can't import from the consumer, so the two strings are
1686
+ // kept identical by hand — if you edit one, edit the other.
1687
+ //
1688
+ // The interactive branch ADDS `cursor-pointer` + a focus-
1689
+ // visible ring. The `<Link>` form would normally get focus styling
1690
+ // from the browser, but `no-underline` strips the default
1691
+ // affordance, so explicit ring styles match the `<span role>` form.
1692
+ "my-1.5 flex w-full items-start gap-3 p-2",
1693
+ "rounded-lg border border-ods-border bg-ods-card no-underline",
1694
+ // The play mark on a video cover shows on the card's hover.
1695
+ "group",
1696
+ isInteractive ? "cursor-pointer transition-colors hover:border-ods-text-secondary/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-offset-1 focus-visible:ring-offset-ods-card" : "cursor-default",
1697
+ className
1698
+ );
1699
+ const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1700
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative flex aspect-square h-14 w-14 shrink-0 items-center justify-center self-start overflow-hidden rounded-md bg-ods-bg text-ods-accent", children: [
1701
+ coverImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5WMRVMXHcjs.next_image_default, { src: coverImage, alt: title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Package, { className: "h-5 w-5" }),
1702
+ hasVideoCover && coverImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MQASMIUcjs.CardHoverPlay, { size: "sm" })
1703
+ ] }),
1704
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-h-14 min-w-0 flex-1 flex-col gap-0.5", children: [
1705
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex h-5 min-w-0 items-center gap-2", children: [
1706
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate font-semibold text-ods-text-primary text-h6", title, children: title }),
1707
+ version ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 rounded bg-ods-accent/10 px-1.5 py-0.5 text-ods-accent text-code", children: version }) : null
1708
+ ] }),
1709
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: formattedDate || "Product release" }) }),
1710
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary/80 text-h6", title: summary || void 0, children: summary || "\xA0" }) })
1711
+ ] })
1712
+ ] });
1713
+ if (anchorProps) {
1714
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: outerClassName, children: innerChildren });
1715
+ }
1716
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1717
+ "span",
1718
+ {
1719
+ role: onClick ? "button" : void 0,
1720
+ tabIndex: onClick ? 0 : void 0,
1721
+ onClick,
1722
+ onKeyDown: onClick ? handleKey : void 0,
1723
+ className: outerClassName,
1724
+ children: innerChildren
1725
+ }
1726
+ );
1727
+ }
1728
+ throw new Error(`ProductReleaseCard: unsupported size '${size}'`);
1729
+ }
1730
+
1412
1731
  // src/components/chat/entity-cards/product-release-card-defaults.ts
1413
1732
  function pickCover(item) {
1414
1733
  const hasVideo = Boolean(item.main_video_url || item.youtube_url);
@@ -1451,10 +1770,10 @@ function buildProductReleaseCardProps(item) {
1451
1770
  job_title: release.author.job_title
1452
1771
  } : void 0,
1453
1772
  changelogCounts: {
1454
- features: _nullishCoalesce(_optionalChain([release, 'access', _19 => _19.features_added, 'optionalAccess', _20 => _20.length]), () => ( 0)),
1455
- fixes: _nullishCoalesce(_optionalChain([release, 'access', _21 => _21.bugs_fixed, 'optionalAccess', _22 => _22.length]), () => ( 0)),
1456
- improvements: _nullishCoalesce(_optionalChain([release, 'access', _23 => _23.improvements, 'optionalAccess', _24 => _24.length]), () => ( 0)),
1457
- breaking: _nullishCoalesce(_optionalChain([release, 'access', _25 => _25.breaking_changes, 'optionalAccess', _26 => _26.length]), () => ( 0))
1773
+ features: _nullishCoalesce(_optionalChain([release, 'access', _24 => _24.features_added, 'optionalAccess', _25 => _25.length]), () => ( 0)),
1774
+ fixes: _nullishCoalesce(_optionalChain([release, 'access', _26 => _26.bugs_fixed, 'optionalAccess', _27 => _27.length]), () => ( 0)),
1775
+ improvements: _nullishCoalesce(_optionalChain([release, 'access', _28 => _28.improvements, 'optionalAccess', _29 => _29.length]), () => ( 0)),
1776
+ breaking: _nullishCoalesce(_optionalChain([release, 'access', _30 => _30.breaking_changes, 'optionalAccess', _31 => _31.length]), () => ( 0))
1458
1777
  }
1459
1778
  };
1460
1779
  }
@@ -1463,14 +1782,14 @@ function buildProductReleaseCardProps(item) {
1463
1782
 
1464
1783
 
1465
1784
  var BLOG_CARD_FRAME = "flex h-full flex-col";
1466
- var BLOG_CARD_COVER = `relative ${_chunkXFRBEXQNcjs.MEDIA_ASPECT.og} w-full overflow-hidden`;
1785
+ var BLOG_CARD_COVER = `relative ${_chunkNNNRN4OFcjs.MEDIA_ASPECT.og} w-full overflow-hidden`;
1467
1786
  var BLOG_CARD_BODY = "flex flex-grow flex-col p-4";
1468
- var BLOG_CARD_TITLE_ROW = `mb-3 flex items-center text-h3 ${_chunkXFRBEXQNcjs.TEXT_LINES_MIN[2]}`;
1469
- var BLOG_CARD_SUMMARY_ROW = `mb-3 flex items-center text-h6 ${_chunkXFRBEXQNcjs.TEXT_LINES_MIN[2]}`;
1787
+ var BLOG_CARD_TITLE_ROW = `mb-3 flex items-center text-h3 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[2]}`;
1788
+ var BLOG_CARD_SUMMARY_ROW = `mb-3 flex items-center text-h6 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[2]}`;
1470
1789
  var BLOG_CARD_BYLINE = "mt-auto flex items-center justify-between gap-2 text-ods-text-secondary text-h6";
1471
1790
  var BLOG_CARD_BYLINE_PERSON = "flex min-w-0 items-center gap-2";
1472
1791
  var BLOG_CARD_VIEWS = "flex shrink-0 items-center gap-1";
1473
- var BLOG_CARD_AVATAR = `${_chunkXFRBEXQNcjs.AVATAR_SIZE.sm} shrink-0 rounded-full object-cover`;
1792
+ var BLOG_CARD_AVATAR = `${_chunkNNNRN4OFcjs.AVATAR_SIZE.sm} shrink-0 rounded-full object-cover`;
1474
1793
  var BLOG_POST_TYPE_LABEL = "Blog Post";
1475
1794
  function BlogCardSkeleton({
1476
1795
  size = "default",
@@ -1478,30 +1797,46 @@ function BlogCardSkeleton({
1478
1797
  className
1479
1798
  }) {
1480
1799
  if (size === "portrait") {
1481
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.EntityPortraitCardSkeleton, { typeLabel: showTypeBadge ? BLOG_POST_TYPE_LABEL : void 0, className });
1800
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1801
+ _chunkODDUGLYFcjs.EntityPortraitCard,
1802
+ {
1803
+ loading: true,
1804
+ href: "",
1805
+ imageAlt: "",
1806
+ title: "",
1807
+ typeLabel: showTypeBadge ? BLOG_POST_TYPE_LABEL : void 0,
1808
+ className
1809
+ }
1810
+ );
1482
1811
  }
1483
1812
  if (size === "sm") {
1484
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.CompactCardSkeleton, { className });
1813
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.CompactCardSkeleton, { className });
1485
1814
  }
1486
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, BLOG_CARD_FRAME, className), "aria-hidden": true, children: [
1487
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: _chunk65VVJSQZcjs.cn.call(void 0, BLOG_CARD_COVER, "rounded-none") }),
1815
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, BLOG_CARD_FRAME, className), "aria-hidden": true, children: [
1816
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: _chunkMGEUZRNQcjs.cn.call(void 0, BLOG_CARD_COVER, "rounded-none") }),
1488
1817
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: BLOG_CARD_BODY, children: [
1489
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: BLOG_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-full" }) }),
1490
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: BLOG_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", lines: 2, className: "w-full" }) }),
1818
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: BLOG_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-full" }) }),
1819
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: BLOG_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", lines: 2, className: "w-full" }) }),
1491
1820
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: BLOG_CARD_BYLINE, children: [
1492
1821
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: BLOG_CARD_BYLINE_PERSON, children: [
1493
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.MediaSkeleton.Avatar, { size: "sm", className: BLOG_CARD_AVATAR }),
1494
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-40" })
1822
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.MediaSkeleton.Avatar, { size: "sm", className: BLOG_CARD_AVATAR }),
1823
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-40" })
1495
1824
  ] }),
1496
1825
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: BLOG_CARD_VIEWS, children: [
1497
1826
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Eye, { className: "h-4 w-4 shrink-0" }),
1498
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-8" })
1827
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-8" })
1499
1828
  ] })
1500
1829
  ] })
1501
1830
  ] })
1502
1831
  ] });
1503
1832
  }
1504
- function BlogCard({
1833
+ function BlogCard(props) {
1834
+ if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || props.loading) {
1835
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlogCardSkeleton, { size: props.size, showTypeBadge: props.showTypeBadge, className: props.className });
1836
+ }
1837
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadedBlogCard, { ...props });
1838
+ }
1839
+ function LoadedBlogCard({
1505
1840
  post,
1506
1841
  href,
1507
1842
  target: targetProp,
@@ -1514,25 +1849,24 @@ function BlogCard({
1514
1849
  hasEmbeddedVideo = false,
1515
1850
  priority = false
1516
1851
  }) {
1517
- const { target, rel } = _chunkOH5LAH3Xcjs.useEntityCardLink.call(void 0, {
1852
+ const { target, rel } = _chunkODDUGLYFcjs.useEntityCardLink.call(void 0, {
1518
1853
  href,
1519
1854
  targetPlatform,
1520
1855
  target: targetProp,
1521
1856
  rel: relProp
1522
1857
  });
1523
- const placeholderUrl = _chunkOH5LAH3Xcjs.useEntityCardPlaceholder.call(void 0, {
1858
+ const placeholderUrl = _chunkODDUGLYFcjs.useEntityCardPlaceholder.call(void 0, {
1524
1859
  title: post.title,
1525
1860
  placeholderUrl: placeholderUrlProp,
1526
1861
  aspect: size === "sm" ? "square" : "wide"
1527
1862
  });
1528
- const { src: displayImage, onError: onImageError } = _chunkOH5LAH3Xcjs.useCoverImageFallback.call(void 0, post.featured_image, placeholderUrl);
1529
- if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlogCardSkeleton, { size, showTypeBadge, className });
1863
+ const { src: displayImage, onError: onImageError } = _chunkODDUGLYFcjs.useCoverImageFallback.call(void 0, post.featured_image, placeholderUrl);
1530
1864
  if (size === "sm") {
1531
- const dateStr2 = post.published_at ? _chunkBNUZKBNVcjs.formatDateWithTimezone.call(void 0, post.published_at, null, "medium") : "";
1532
- const firstCategory = _optionalChain([post, 'access', _27 => _27.categories, 'optionalAccess', _28 => _28.find, 'call', _29 => _29((c) => c && c.name), 'optionalAccess', _30 => _30.name]);
1533
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.COMPACT_CARD_OUTER, className), children: [
1534
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_IMAGE_SLOT, children: displayImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1535
- _chunkE76ONBKFcjs.next_image_default,
1865
+ const dateStr2 = post.published_at ? _chunkZJS45HQZcjs.formatDateWithTimezone.call(void 0, post.published_at, null, "medium") : "";
1866
+ const firstCategory = _optionalChain([post, 'access', _32 => _32.categories, 'optionalAccess', _33 => _33.find, 'call', _34 => _34((c) => c && c.name), 'optionalAccess', _35 => _35.name]);
1867
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.COMPACT_CARD_OUTER, className), children: [
1868
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_IMAGE_SLOT, children: displayImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1869
+ _chunk5WMRVMXHcjs.next_image_default,
1536
1870
  {
1537
1871
  src: displayImage,
1538
1872
  alt: post.title,
@@ -1543,24 +1877,24 @@ function BlogCard({
1543
1877
  onError: onImageError
1544
1878
  }
1545
1879
  ) : null }),
1546
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TEXT_COL, children: [
1547
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE_ROW, "gap-1.5"), children: [
1548
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE, "font-body"), children: post.title }),
1549
- hasEmbeddedVideo ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadge, { text: "Video", variant: "button", colorScheme: "cyan", className: "shrink-0" }) : null
1880
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TEXT_COL, children: [
1881
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.COMPACT_CARD_TITLE_ROW, "gap-1.5"), children: [
1882
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.COMPACT_CARD_TITLE, "font-body"), children: post.title }),
1883
+ hasEmbeddedVideo ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.StatusBadge, { text: "Video", variant: "button", colorScheme: "cyan", className: "shrink-0" }) : null
1550
1884
  ] }),
1551
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_SUBTITLE, children: [
1885
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUBTITLE, children: [
1552
1886
  dateStr2,
1553
1887
  dateStr2 && firstCategory ? " \xB7 " : "",
1554
1888
  _nullishCoalesce(firstCategory, () => ( "Blog Post"))
1555
1889
  ] }) }),
1556
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_SUMMARY, children: post.summary || _chunkOH5LAH3Xcjs.COMPACT_CARD_ROW_FILLER }) })
1890
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUMMARY, children: post.summary || _chunkODDUGLYFcjs.COMPACT_CARD_ROW_FILLER }) })
1557
1891
  ] })
1558
1892
  ] });
1559
1893
  }
1560
1894
  if (size === "portrait") {
1561
- const dateStr2 = post.published_at ? _chunkBNUZKBNVcjs.formatDateWithTimezone.call(void 0, post.published_at, null, "medium") : "";
1895
+ const dateStr2 = post.published_at ? _chunkZJS45HQZcjs.formatDateWithTimezone.call(void 0, post.published_at, null, "medium") : "";
1562
1896
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1563
- _chunkOH5LAH3Xcjs.EntityPortraitCard,
1897
+ _chunkODDUGLYFcjs.EntityPortraitCard,
1564
1898
  {
1565
1899
  href,
1566
1900
  target,
@@ -1579,17 +1913,17 @@ function BlogCard({
1579
1913
  }
1580
1914
  );
1581
1915
  }
1582
- const dateStr = post.published_at ? _chunkBNUZKBNVcjs.formatDateWithTimezone.call(void 0, post.published_at, null, "medium") : "";
1583
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "article", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_FRAME_CLASS, BLOG_CARD_FRAME, className), role: "article", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: "flex h-full flex-col focus:outline-none", children: [
1584
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, BLOG_CARD_COVER, "bg-ods-bg"), children: displayImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1585
- _chunkE76ONBKFcjs.next_image_default,
1916
+ const dateStr = post.published_at ? _chunkZJS45HQZcjs.formatDateWithTimezone.call(void 0, post.published_at, null, "medium") : "";
1917
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "article", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_FRAME_CLASS, BLOG_CARD_FRAME, className), role: "article", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: "flex h-full flex-col focus:outline-none", children: [
1918
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, BLOG_CARD_COVER, "bg-ods-bg"), children: displayImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1919
+ _chunk5WMRVMXHcjs.next_image_default,
1586
1920
  {
1587
1921
  src: displayImage,
1588
1922
  alt: post.title,
1589
1923
  fill: true,
1590
1924
  priority,
1591
1925
  quality: priority ? 85 : 75,
1592
- className: _chunk65VVJSQZcjs.cn.call(void 0, "object-cover object-center", "duration-400 transition-all ease-out", "hover:scale-[1.02]"),
1926
+ className: _chunkMGEUZRNQcjs.cn.call(void 0, "object-cover object-center", "duration-400 transition-all ease-out", "hover:scale-[1.02]"),
1593
1927
  sizes: "(max-width: 768px) 100vw, (max-width: 1519px) 50vw, 33vw",
1594
1928
  unoptimized: true,
1595
1929
  onError: onImageError
@@ -1599,7 +1933,7 @@ function BlogCard({
1599
1933
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: BLOG_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1600
1934
  "h3",
1601
1935
  {
1602
- className: _chunk65VVJSQZcjs.cn.call(void 0,
1936
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
1603
1937
  "text-ods-text-primary text-h3",
1604
1938
  "line-clamp-2",
1605
1939
  "transition-colors duration-300 ease-out",
@@ -1608,11 +1942,11 @@ function BlogCard({
1608
1942
  children: post.title
1609
1943
  }
1610
1944
  ) }),
1611
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: BLOG_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk65VVJSQZcjs.cn.call(void 0, "text-ods-text-primary text-h6", "line-clamp-2"), children: post.summary || "" }) }),
1945
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: BLOG_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "text-ods-text-primary text-h6", "line-clamp-2"), children: post.summary || "" }) }),
1612
1946
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: BLOG_CARD_BYLINE, children: [
1613
1947
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: BLOG_CARD_BYLINE_PERSON, children: [
1614
1948
  post.author_avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1615
- _chunkE76ONBKFcjs.next_image_default,
1949
+ _chunk5WMRVMXHcjs.next_image_default,
1616
1950
  {
1617
1951
  src: post.author_avatar,
1618
1952
  alt: post.author_name || "",
@@ -1650,7 +1984,7 @@ function BlogCard({
1650
1984
 
1651
1985
 
1652
1986
  var INTERVIEW_CARD_BODY = "flex flex-col gap-6 p-6";
1653
- var INTERVIEW_CARD_COVER = `relative ${_chunkXFRBEXQNcjs.MEDIA_ASPECT.og} w-full shrink-0 overflow-hidden rounded-sm`;
1987
+ var INTERVIEW_CARD_COVER = `relative ${_chunkNNNRN4OFcjs.MEDIA_ASPECT.og} w-full shrink-0 overflow-hidden rounded-sm`;
1654
1988
  var INTERVIEW_CARD_PERSON_ZONE = "mt-auto flex h-[60px] shrink-0 items-center";
1655
1989
  var INTERVIEW_CARD_PERSON_ROW = "flex w-full min-w-0 items-center gap-3";
1656
1990
  var INTERVIEW_CARD_PERSON_TEXT = "min-w-0 flex-1";
@@ -1661,25 +1995,48 @@ function CustomerInterviewCardSkeleton({
1661
1995
  className
1662
1996
  }) {
1663
1997
  if (size === "portrait") {
1664
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.EntityPortraitCardSkeleton, { typeLabel: showTypeBadge ? INTERVIEW_TYPE_LABEL : void 0, className });
1998
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1999
+ _chunkODDUGLYFcjs.EntityPortraitCard,
2000
+ {
2001
+ loading: true,
2002
+ href: "",
2003
+ imageAlt: "",
2004
+ title: "",
2005
+ typeLabel: showTypeBadge ? INTERVIEW_TYPE_LABEL : void 0,
2006
+ className
2007
+ }
2008
+ );
1665
2009
  }
1666
2010
  if (size === "sm") {
1667
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.CompactCardSkeleton, { className });
2011
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.CompactCardSkeleton, { className });
1668
2012
  }
1669
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "block h-full", className), "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOH5LAH3Xcjs.Card, { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, INTERVIEW_CARD_BODY), children: [
1670
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: _chunk65VVJSQZcjs.cn.call(void 0, INTERVIEW_CARD_COVER, "rounded-sm") }),
1671
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-full" }) }),
1672
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", lines: 3, className: "w-full" }) }),
2013
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "block h-full", className), "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkODDUGLYFcjs.Card, { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, INTERVIEW_CARD_BODY), children: [
2014
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: _chunkMGEUZRNQcjs.cn.call(void 0, INTERVIEW_CARD_COVER, "rounded-sm") }),
2015
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-full" }) }),
2016
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", lines: 3, className: "w-full" }) }),
1673
2017
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: INTERVIEW_CARD_PERSON_ZONE, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: INTERVIEW_CARD_PERSON_ROW, children: [
1674
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.MediaSkeleton.Avatar, { size: "md", className: "shrink-0" }),
2018
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.MediaSkeleton.Avatar, { size: "md", className: "shrink-0" }),
1675
2019
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: INTERVIEW_CARD_PERSON_TEXT, children: [
1676
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-2/3" }),
1677
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" })
2020
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-2/3" }),
2021
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-1/2" })
1678
2022
  ] })
1679
2023
  ] }) })
1680
2024
  ] }) });
1681
2025
  }
1682
- function CustomerInterviewCard({
2026
+ function CustomerInterviewCard(props) {
2027
+ if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || props.loading) {
2028
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2029
+ CustomerInterviewCardSkeleton,
2030
+ {
2031
+ size: props.size,
2032
+ showTypeBadge: props.showTypeBadge,
2033
+ className: props.className
2034
+ }
2035
+ );
2036
+ }
2037
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadedCustomerInterviewCard, { ...props });
2038
+ }
2039
+ function LoadedCustomerInterviewCard({
1683
2040
  interview,
1684
2041
  href,
1685
2042
  target: targetProp,
@@ -1690,26 +2047,23 @@ function CustomerInterviewCard({
1690
2047
  showTypeBadge = true,
1691
2048
  className
1692
2049
  }) {
1693
- const { target, rel } = _chunkOH5LAH3Xcjs.useEntityCardLink.call(void 0, {
2050
+ const { target, rel } = _chunkODDUGLYFcjs.useEntityCardLink.call(void 0, {
1694
2051
  href,
1695
2052
  targetPlatform,
1696
2053
  target: targetProp,
1697
2054
  rel: relProp
1698
2055
  });
1699
- const placeholderUrl = _chunkOH5LAH3Xcjs.useEntityCardPlaceholder.call(void 0, {
2056
+ const placeholderUrl = _chunkODDUGLYFcjs.useEntityCardPlaceholder.call(void 0, {
1700
2057
  title: interview.title,
1701
2058
  placeholderUrl: placeholderUrlProp,
1702
2059
  aspect: size === "sm" ? "square" : "wide"
1703
2060
  });
1704
2061
  const thumbnailUrl = interview.featured_image || placeholderUrl || null;
1705
- if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) {
1706
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CustomerInterviewCardSkeleton, { size, showTypeBadge, className });
1707
- }
1708
2062
  if (size === "sm") {
1709
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.COMPACT_CARD_OUTER, className), children: [
1710
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_IMAGE_SLOT, children: [
2063
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.COMPACT_CARD_OUTER, className), children: [
2064
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_IMAGE_SLOT, children: [
1711
2065
  thumbnailUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1712
- _chunkE76ONBKFcjs.next_image_default,
2066
+ _chunk5WMRVMXHcjs.next_image_default,
1713
2067
  {
1714
2068
  src: thumbnailUrl,
1715
2069
  alt: interview.title,
@@ -1717,21 +2071,21 @@ function CustomerInterviewCard({
1717
2071
  fill: true,
1718
2072
  sizes: "56px",
1719
2073
  unoptimized: true,
1720
- onError: _chunkOH5LAH3Xcjs.hideOnError
2074
+ onError: _chunkODDUGLYFcjs.hideOnError
1721
2075
  }
1722
2076
  ) : null,
1723
- interview.main_video_url ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4 text-ods-text-on-dark" }) }) : null
2077
+ interview.main_video_url ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-loading-optional": true, className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4 text-ods-text-on-dark" }) }) : null
1724
2078
  ] }),
1725
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TEXT_COL, children: [
1726
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE, children: interview.title }) }),
1727
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _31 => _31.user, 'optionalAccess', _32 => _32.full_name]), _optionalChain([interview, 'access', _33 => _33.msp, 'optionalAccess', _34 => _34.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
1728
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_SUMMARY, children: interview.video_summary || _chunkOH5LAH3Xcjs.COMPACT_CARD_ROW_FILLER }) })
2079
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TEXT_COL, children: [
2080
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TITLE, children: interview.title }) }),
2081
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _36 => _36.user, 'optionalAccess', _37 => _37.full_name]), _optionalChain([interview, 'access', _38 => _38.msp, 'optionalAccess', _39 => _39.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
2082
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUMMARY, children: interview.video_summary || _chunkODDUGLYFcjs.COMPACT_CARD_ROW_FILLER }) })
1729
2083
  ] })
1730
2084
  ] });
1731
2085
  }
1732
2086
  if (size === "portrait") {
1733
2087
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1734
- _chunkOH5LAH3Xcjs.EntityPortraitCard,
2088
+ _chunkODDUGLYFcjs.EntityPortraitCard,
1735
2089
  {
1736
2090
  href,
1737
2091
  target,
@@ -1742,19 +2096,19 @@ function CustomerInterviewCard({
1742
2096
  imageAlt: interview.title,
1743
2097
  title: interview.title,
1744
2098
  person: {
1745
- name: _optionalChain([interview, 'access', _35 => _35.user, 'optionalAccess', _36 => _36.full_name]) || "Customer",
1746
- avatarUrl: _optionalChain([interview, 'access', _37 => _37.user, 'optionalAccess', _38 => _38.avatar_url]),
1747
- subtitle: _nullishCoalesce(_optionalChain([interview, 'access', _39 => _39.msp, 'optionalAccess', _40 => _40.name]), () => ( null)),
1748
- iconOverlayUrl: _nullishCoalesce(_optionalChain([interview, 'access', _41 => _41.msp, 'optionalAccess', _42 => _42.icon_url]), () => ( null))
2099
+ name: _optionalChain([interview, 'access', _40 => _40.user, 'optionalAccess', _41 => _41.full_name]) || "Customer",
2100
+ avatarUrl: _optionalChain([interview, 'access', _42 => _42.user, 'optionalAccess', _43 => _43.avatar_url]),
2101
+ subtitle: _nullishCoalesce(_optionalChain([interview, 'access', _44 => _44.msp, 'optionalAccess', _45 => _45.name]), () => ( null)),
2102
+ iconOverlayUrl: _nullishCoalesce(_optionalChain([interview, 'access', _46 => _46.msp, 'optionalAccess', _47 => _47.icon_url]), () => ( null))
1749
2103
  },
1750
2104
  className
1751
2105
  }
1752
2106
  );
1753
2107
  }
1754
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunk65VVJSQZcjs.cn.call(void 0, "block h-full", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOH5LAH3Xcjs.Card, { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_FRAME_CLASS, INTERVIEW_CARD_BODY), children: [
1755
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, INTERVIEW_CARD_COVER, "bg-ods-bg"), children: thumbnailUrl ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2108
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunkMGEUZRNQcjs.cn.call(void 0, "block h-full", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkODDUGLYFcjs.Card, { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_FRAME_CLASS, INTERVIEW_CARD_BODY), children: [
2109
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, INTERVIEW_CARD_COVER, "bg-ods-bg"), children: thumbnailUrl ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1756
2110
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1757
- _chunkE76ONBKFcjs.next_image_default,
2111
+ _chunk5WMRVMXHcjs.next_image_default,
1758
2112
  {
1759
2113
  src: thumbnailUrl,
1760
2114
  alt: interview.title,
@@ -1762,47 +2116,55 @@ function CustomerInterviewCard({
1762
2116
  fill: true,
1763
2117
  sizes: "(max-width: 768px) 100vw, 50vw",
1764
2118
  unoptimized: true,
1765
- onError: _chunkOH5LAH3Xcjs.hideOnError
2119
+ onError: _chunkODDUGLYFcjs.hideOnError
1766
2120
  }
1767
2121
  ),
1768
- interview.main_video_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-black/40", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-ods-accent/90", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-8 w-8 text-ods-text-on-accent" }) }) })
2122
+ interview.main_video_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-loading-optional": true, className: "absolute inset-0 flex items-center justify-center bg-black/40", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-ods-accent/90", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-8 w-8 text-ods-text-on-accent" }) }) })
1769
2123
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-full items-center justify-center bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-12 w-12 text-ods-text-secondary" }) }) }),
1770
2124
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "line-clamp-2 break-words text-ods-text-primary text-h3", children: interview.title }) }),
1771
2125
  interview.video_summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "line-clamp-3 text-ods-text-secondary text-h6", children: interview.video_summary }) }),
1772
2126
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: INTERVIEW_CARD_PERSON_ZONE, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: INTERVIEW_CARD_PERSON_ROW, children: [
1773
2127
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-12 w-12 shrink-0", children: [
1774
- _optionalChain([interview, 'access', _43 => _43.user, 'optionalAccess', _44 => _44.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1775
- _chunkE76ONBKFcjs.next_image_default,
2128
+ _optionalChain([interview, 'access', _48 => _48.user, 'optionalAccess', _49 => _49.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2129
+ _chunk5WMRVMXHcjs.next_image_default,
1776
2130
  {
1777
2131
  src: interview.user.avatar_url,
1778
- alt: _optionalChain([interview, 'access', _45 => _45.user, 'optionalAccess', _46 => _46.full_name]) || "Customer",
2132
+ alt: _optionalChain([interview, 'access', _50 => _50.user, 'optionalAccess', _51 => _51.full_name]) || "Customer",
1779
2133
  className: "h-12 w-12 rounded-full border border-ods-border bg-ods-bg object-cover",
1780
2134
  width: 48,
1781
2135
  height: 48,
1782
2136
  unoptimized: true
1783
2137
  }
1784
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-full border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h4", children: (_optionalChain([interview, 'access', _47 => _47.user, 'optionalAccess', _48 => _48.full_name]) || "A").charAt(0).toUpperCase() }) }),
1785
- _optionalChain([interview, 'access', _49 => _49.msp, 'optionalAccess', _50 => _50.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1786
- _chunkE76ONBKFcjs.next_image_default,
2138
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-full border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h4", children: (_optionalChain([interview, 'access', _52 => _52.user, 'optionalAccess', _53 => _53.full_name]) || "A").charAt(0).toUpperCase() }) }),
2139
+ _optionalChain([interview, 'access', _54 => _54.msp, 'optionalAccess', _55 => _55.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2140
+ "div",
1787
2141
  {
1788
- src: interview.msp.icon_url,
1789
- alt: interview.msp.name || "MSP",
1790
- className: "h-full w-full object-cover",
1791
- width: 24,
1792
- height: 24,
1793
- unoptimized: true
2142
+ "data-loading-optional": true,
2143
+ className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg",
2144
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2145
+ _chunk5WMRVMXHcjs.next_image_default,
2146
+ {
2147
+ src: interview.msp.icon_url,
2148
+ alt: interview.msp.name || "MSP",
2149
+ className: "h-full w-full object-cover",
2150
+ width: 24,
2151
+ height: 24,
2152
+ unoptimized: true
2153
+ }
2154
+ )
1794
2155
  }
1795
- ) })
2156
+ )
1796
2157
  ] }),
1797
2158
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: INTERVIEW_CARD_PERSON_TEXT, children: [
1798
2159
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "truncate text-ods-text-primary text-h6", children: [
1799
- _optionalChain([interview, 'access', _51 => _51.user, 'optionalAccess', _52 => _52.full_name]) || "Anonymous",
1800
- _optionalChain([interview, 'access', _53 => _53.msp, 'optionalAccess', _54 => _54.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
1801
- " \u2022 ",
2160
+ _optionalChain([interview, 'access', _56 => _56.user, 'optionalAccess', _57 => _57.full_name]) || "Anonymous",
2161
+ _optionalChain([interview, 'access', _58 => _58.msp, 'optionalAccess', _59 => _59.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "data-loading-optional": true, className: "text-ods-text-secondary", children: [
2162
+ " ",
2163
+ "\u2022 ",
1802
2164
  interview.msp.name
1803
2165
  ] })
1804
2166
  ] }),
1805
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: _optionalChain([interview, 'access', _55 => _55.user, 'optionalAccess', _56 => _56.job_title]) || " " })
2167
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: _optionalChain([interview, 'access', _60 => _60.user, 'optionalAccess', _61 => _61.job_title]) || " " })
1806
2168
  ] })
1807
2169
  ] }) })
1808
2170
  ] }) });
@@ -1811,7 +2173,7 @@ function CustomerInterviewCard({
1811
2173
  // src/components/chat/types/entities/investor-update.ts
1812
2174
  function formatInvestorUpdatePeriod(start, end, options) {
1813
2175
  if (!start && !end) return "";
1814
- const fmt = (d) => _chunkBNUZKBNVcjs.formatDateWithTimezone.call(void 0, d, null, _optionalChain([options, 'optionalAccess', _57 => _57.monthFormat]) === "long" ? "monthYear" : "monthYearShort") || "?";
2176
+ const fmt = (d) => _chunkZJS45HQZcjs.formatDateWithTimezone.call(void 0, d, null, _optionalChain([options, 'optionalAccess', _62 => _62.monthFormat]) === "long" ? "monthYear" : "monthYearShort") || "?";
1815
2177
  const s = start ? fmt(start) : "?";
1816
2178
  const e = end ? fmt(end) : "?";
1817
2179
  return `${s} - ${e}`;
@@ -1828,19 +2190,23 @@ function InvestorUpdateCardSkeleton({
1828
2190
  }) {
1829
2191
  if (size === "portrait") {
1830
2192
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1831
- _chunkOH5LAH3Xcjs.EntityPortraitCardSkeleton,
2193
+ _chunkODDUGLYFcjs.EntityPortraitCard,
1832
2194
  {
2195
+ loading: true,
2196
+ href: "",
2197
+ imageAlt: "",
2198
+ title: "",
1833
2199
  typeLabel: showTypeBadge ? INVESTOR_UPDATE_TYPE_LABEL : void 0,
1834
2200
  className
1835
2201
  }
1836
2202
  );
1837
2203
  }
1838
2204
  if (size === "default") {
1839
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `block h-full ${_nullishCoalesce(className, () => ( ""))}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AdminContentCardSkeleton, { actions: false, subtitleRow: false }) });
2205
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `block h-full ${_nullishCoalesce(className, () => ( ""))}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AdminContentCard, { loading: true, title: "", subtitleRow: false }) });
1840
2206
  }
1841
2207
  if (size === "sm") {
1842
2208
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1843
- _chunkOH5LAH3Xcjs.CompactCardSkeleton,
2209
+ _chunkODDUGLYFcjs.CompactCardSkeleton,
1844
2210
  {
1845
2211
  titleWidth: "w-1/2",
1846
2212
  titleBadges: ["w-8"],
@@ -1851,7 +2217,13 @@ function InvestorUpdateCardSkeleton({
1851
2217
  }
1852
2218
  return null;
1853
2219
  }
1854
- function InvestorUpdateCard({
2220
+ function InvestorUpdateCard(props) {
2221
+ if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || props.loading) {
2222
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InvestorUpdateCardSkeleton, { size: props.size, showTypeBadge: props.showTypeBadge, className: props.className });
2223
+ }
2224
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadedInvestorUpdateCard, { ...props });
2225
+ }
2226
+ function LoadedInvestorUpdateCard({
1855
2227
  update,
1856
2228
  href,
1857
2229
  target: targetProp,
@@ -1862,26 +2234,23 @@ function InvestorUpdateCard({
1862
2234
  showTypeBadge = true,
1863
2235
  className
1864
2236
  }) {
1865
- const { target, rel } = _chunkOH5LAH3Xcjs.useEntityCardLink.call(void 0, {
2237
+ const { target, rel } = _chunkODDUGLYFcjs.useEntityCardLink.call(void 0, {
1866
2238
  href,
1867
2239
  targetPlatform,
1868
2240
  target: targetProp,
1869
2241
  rel: relProp
1870
2242
  });
1871
- const placeholderUrl = _chunkOH5LAH3Xcjs.useEntityCardPlaceholder.call(void 0, {
2243
+ const placeholderUrl = _chunkODDUGLYFcjs.useEntityCardPlaceholder.call(void 0, {
1872
2244
  title: _nullishCoalesce(update.title, () => ( `Update #${_nullishCoalesce(update.update_number, () => ( ""))}`)),
1873
2245
  placeholderUrl: placeholderUrlProp,
1874
2246
  aspect: size === "sm" ? "square" : "wide"
1875
2247
  });
1876
2248
  const coverImage = update.featured_image || placeholderUrl || null;
1877
- if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) {
1878
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InvestorUpdateCardSkeleton, { size, showTypeBadge, className });
1879
- }
1880
2249
  if (size === "sm") {
1881
2250
  const periodText = formatInvestorUpdatePeriod(update.period_start, update.period_end);
1882
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: `${_chunkOH5LAH3Xcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
1883
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_IMAGE_SLOT, children: coverImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1884
- _chunkE76ONBKFcjs.next_image_default,
2251
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: `${_chunkODDUGLYFcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
2252
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_IMAGE_SLOT, children: coverImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2253
+ _chunk5WMRVMXHcjs.next_image_default,
1885
2254
  {
1886
2255
  src: coverImage,
1887
2256
  alt: _nullishCoalesce(update.title, () => ( "Investor update")),
@@ -1895,23 +2264,23 @@ function InvestorUpdateCard({
1895
2264
  }
1896
2265
  }
1897
2266
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Calendar, { className: "h-4 w-4" }) }) }),
1898
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TEXT_COL, children: [
1899
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE_ROW} gap-2`, children: [
1900
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE} min-w-0`, children: update.title || `Update #${_nullishCoalesce(update.update_number, () => ( "?"))}` }),
2267
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TEXT_COL, children: [
2268
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_TITLE_ROW} gap-2`, children: [
2269
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_TITLE} min-w-0`, children: update.title || `Update #${_nullishCoalesce(update.update_number, () => ( "?"))}` }),
1901
2270
  update.update_number ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "shrink-0 rounded bg-ods-accent/10 px-1.5 py-0.5 text-ods-accent text-h6", children: [
1902
2271
  "#",
1903
2272
  update.update_number
1904
2273
  ] }) : null
1905
2274
  ] }),
1906
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_SUBTITLE, children: periodText || "Investor update" }) }),
1907
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_SUMMARY, children: (update.strategic_update || update.content || "").slice(0, 120) || _chunkOH5LAH3Xcjs.COMPACT_CARD_ROW_FILLER }) })
2275
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUBTITLE, children: periodText || "Investor update" }) }),
2276
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUMMARY, children: (update.strategic_update || update.content || "").slice(0, 120) || _chunkODDUGLYFcjs.COMPACT_CARD_ROW_FILLER }) })
1908
2277
  ] })
1909
2278
  ] });
1910
2279
  }
1911
2280
  if (size === "portrait") {
1912
2281
  const periodText = formatInvestorUpdatePeriod(update.period_start, update.period_end);
1913
2282
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1914
- _chunkOH5LAH3Xcjs.EntityPortraitCard,
2283
+ _chunkODDUGLYFcjs.EntityPortraitCard,
1915
2284
  {
1916
2285
  href,
1917
2286
  target,
@@ -1932,7 +2301,7 @@ function InvestorUpdateCard({
1932
2301
  imageUrl: update.featured_image,
1933
2302
  placeholderUrl,
1934
2303
  title: update.title || `Update #${update.update_number || "?"}`,
1935
- summary: _optionalChain([update, 'access', _58 => _58.strategic_update, 'optionalAccess', _59 => _59.slice, 'call', _60 => _60(0, 120)]) || _optionalChain([update, 'access', _61 => _61.content, 'optionalAccess', _62 => _62.slice, 'call', _63 => _63(0, 120)]) || "No description",
2304
+ summary: _optionalChain([update, 'access', _63 => _63.strategic_update, 'optionalAccess', _64 => _64.slice, 'call', _65 => _65(0, 120)]) || _optionalChain([update, 'access', _66 => _66.content, 'optionalAccess', _67 => _67.slice, 'call', _68 => _68(0, 120)]) || "No description",
1936
2305
  badges: update.update_number ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rounded bg-ods-accent/10 px-2 py-0.5 text-xs font-medium text-ods-accent", children: [
1937
2306
  "#",
1938
2307
  update.update_number
@@ -1955,10 +2324,10 @@ function stripMarkdownPreview(text) {
1955
2324
  var CATALOG_BODY = "flex flex-col gap-4 p-6";
1956
2325
  var CATALOG_ROW = "flex flex-col gap-4 md:flex-row md:gap-6";
1957
2326
  var CATALOG_COVER_COL = "w-full flex-shrink-0 md:w-[256px]";
1958
- var CATALOG_COVER = `relative ${_chunkXFRBEXQNcjs.MEDIA_ASPECT.og} w-full overflow-hidden rounded-lg`;
2327
+ var CATALOG_COVER = `relative ${_chunkNNNRN4OFcjs.MEDIA_ASPECT.og} w-full overflow-hidden rounded-lg`;
1959
2328
  var CATALOG_TEXT = "flex min-w-0 flex-1 flex-col";
1960
- var CATALOG_TITLE_ROW = `mb-3 flex items-start text-h2 ${_chunkXFRBEXQNcjs.TEXT_LINES_MIN[2]}`;
1961
- var CATALOG_SUMMARY_ROW = `text-h6 ${_chunkXFRBEXQNcjs.TEXT_LINES_MIN[2]}`;
2329
+ var CATALOG_TITLE_ROW = `mb-3 flex items-start text-h2 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[2]}`;
2330
+ var CATALOG_SUMMARY_ROW = `text-h6 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[2]}`;
1962
2331
  var CATALOG_EXTRA_CELL_LABELS = ["Section"];
1963
2332
  var HORIZONTAL_SIZE_TOKENS = {
1964
2333
  default: {
@@ -1975,49 +2344,75 @@ function OnboardingGuideCardSkeleton({
1975
2344
  className
1976
2345
  }) {
1977
2346
  if (size === "portrait") {
1978
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.EntityPortraitCardSkeleton, { typeLabel: showTypeBadge ? GUIDE_TYPE_LABEL : void 0, className });
2347
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2348
+ _chunkODDUGLYFcjs.EntityPortraitCard,
2349
+ {
2350
+ loading: true,
2351
+ href: "",
2352
+ imageAlt: "",
2353
+ title: "",
2354
+ typeLabel: showTypeBadge ? GUIDE_TYPE_LABEL : void 0,
2355
+ className
2356
+ }
2357
+ );
1979
2358
  }
1980
2359
  if (size === "catalog") {
1981
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, "block", className), "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CATALOG_BODY, children: [
2360
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, "block", className), "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CATALOG_BODY, children: [
1982
2361
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CATALOG_ROW, children: [
1983
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CATALOG_COVER_COL, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: CATALOG_COVER }) }),
2362
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CATALOG_COVER_COL, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: CATALOG_COVER }) }),
1984
2363
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CATALOG_TEXT, children: [
1985
2364
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CATALOG_TITLE_ROW, children: [
1986
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h2", lines: 2, className: "w-3/4 lg:hidden" }),
1987
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h2", className: "hidden w-3/4 lg:flex" })
2365
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h2", lines: 2, className: "w-3/4 lg:hidden" }),
2366
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h2", className: "hidden w-3/4 lg:flex" })
1988
2367
  ] }),
1989
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CATALOG_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", lines: 2, className: "w-full" }) })
2368
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CATALOG_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", lines: 2, className: "w-full" }) })
1990
2369
  ] })
1991
2370
  ] }),
1992
2371
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1993
- EntityAuthorCardSkeleton,
2372
+ EntityAuthorCard,
1994
2373
  {
1995
- extraCellLabels: CATALOG_EXTRA_CELL_LABELS,
1996
- publishedLabel: published ? void 0 : null
2374
+ loading: true,
2375
+ author: null,
2376
+ extraCells: CATALOG_EXTRA_CELL_LABELS.map((label) => ({ value: "", label })),
2377
+ publishedAt: published ? null : void 0
1997
2378
  }
1998
2379
  )
1999
2380
  ] }) });
2000
2381
  }
2001
2382
  if (size === "sm") {
2002
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.CompactCardSkeleton, { trailingIcon: true, className });
2383
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.CompactCardSkeleton, { trailingIcon: true, className });
2003
2384
  }
2004
2385
  const t = HORIZONTAL_SIZE_TOKENS.default;
2005
2386
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2006
2387
  "span",
2007
2388
  {
2008
- className: _chunk65VVJSQZcjs.cn.call(void 0, `flex items-start gap-3 rounded-md border border-ods-border bg-ods-card ${t.padding}`, className),
2389
+ className: _chunkMGEUZRNQcjs.cn.call(void 0, `flex items-start gap-3 rounded-md border border-ods-border bg-ods-card ${t.padding}`, className),
2009
2390
  children: [
2010
2391
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `inline-flex shrink-0 items-center justify-center rounded-full bg-ods-bg ${t.step}` }),
2011
2392
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
2012
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: "block h-4 w-2/3 rounded" }),
2013
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: "block h-3 w-1/3 rounded" }),
2014
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: "block h-3 w-full rounded" })
2393
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "block h-4 w-2/3 rounded" }),
2394
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "block h-3 w-1/3 rounded" }),
2395
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "block h-3 w-full rounded" })
2015
2396
  ] })
2016
2397
  ]
2017
2398
  }
2018
2399
  );
2019
2400
  }
2020
- function OnboardingGuideCard({
2401
+ function OnboardingGuideCard(props) {
2402
+ if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || props.loading) {
2403
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2404
+ OnboardingGuideCardSkeleton,
2405
+ {
2406
+ size: props.size,
2407
+ showTypeBadge: props.showTypeBadge !== false,
2408
+ published: "published" in props ? props.published : props.guide ? props.guide.published_at != null : true,
2409
+ className: props.className
2410
+ }
2411
+ );
2412
+ }
2413
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadedOnboardingGuideCard, { ...props });
2414
+ }
2415
+ function LoadedOnboardingGuideCard({
2021
2416
  guide,
2022
2417
  href,
2023
2418
  target: targetProp,
@@ -2028,24 +2423,21 @@ function OnboardingGuideCard({
2028
2423
  showTypeBadge = true,
2029
2424
  className
2030
2425
  }) {
2031
- const { target, rel } = _chunkOH5LAH3Xcjs.useEntityCardLink.call(void 0, {
2426
+ const { target, rel } = _chunkODDUGLYFcjs.useEntityCardLink.call(void 0, {
2032
2427
  href,
2033
2428
  targetPlatform,
2034
2429
  target: targetProp,
2035
2430
  rel: relProp
2036
2431
  });
2037
- const placeholderUrl = _chunkOH5LAH3Xcjs.useEntityCardPlaceholder.call(void 0, {
2432
+ const placeholderUrl = _chunkODDUGLYFcjs.useEntityCardPlaceholder.call(void 0, {
2038
2433
  title: guide.title,
2039
2434
  placeholderUrl: placeholderUrlProp,
2040
2435
  aspect: size === "sm" ? "square" : "wide"
2041
2436
  });
2042
- if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) {
2043
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OnboardingGuideCardSkeleton, { size, showTypeBadge: showTypeBadge !== false, className });
2044
- }
2045
2437
  if (size === "portrait") {
2046
2438
  const coverImage = guide.featured_image || guide.main_video_thumbnail || guide.og_image_url || null;
2047
2439
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2048
- _chunkOH5LAH3Xcjs.EntityPortraitCard,
2440
+ _chunkODDUGLYFcjs.EntityPortraitCard,
2049
2441
  {
2050
2442
  href,
2051
2443
  target,
@@ -2064,7 +2456,7 @@ function OnboardingGuideCard({
2064
2456
  const coverImage = guide.featured_image || guide.main_video_thumbnail || guide.og_image_url || null;
2065
2457
  const hasVideoCover = !!(guide.main_video_thumbnail || guide.highlight_video_thumbnail);
2066
2458
  const stepLabel = typeof guide.step_order === "number" ? String(guide.step_order).padStart(2, "0") : "\u2014";
2067
- const durationLabel = typeof guide.highlight_video_duration_ms === "number" && guide.highlight_video_duration_ms > 0 ? _chunkBNUZKBNVcjs.formatDurationMMSS.call(void 0, Math.floor(guide.highlight_video_duration_ms / 1e3)) : "";
2459
+ const durationLabel = typeof guide.highlight_video_duration_ms === "number" && guide.highlight_video_duration_ms > 0 ? _chunkZJS45HQZcjs.formatDurationMMSS.call(void 0, Math.floor(guide.highlight_video_duration_ms / 1e3)) : "";
2068
2460
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2069
2461
  _chunkV45KLJQPcjs.next_link_default,
2070
2462
  {
@@ -2072,12 +2464,12 @@ function OnboardingGuideCard({
2072
2464
  target,
2073
2465
  rel,
2074
2466
  prefetch: false,
2075
- className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_FRAME_CLASS, "block no-underline", className),
2467
+ className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_FRAME_CLASS, "block no-underline", className),
2076
2468
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CATALOG_BODY, children: [
2077
2469
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CATALOG_ROW, children: [
2078
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CATALOG_COVER_COL, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, CATALOG_COVER, "bg-ods-bg"), children: [
2470
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CATALOG_COVER_COL, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, CATALOG_COVER, "bg-ods-bg"), children: [
2079
2471
  coverImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2080
- _chunkE76ONBKFcjs.next_image_default,
2472
+ _chunk5WMRVMXHcjs.next_image_default,
2081
2473
  {
2082
2474
  src: coverImage,
2083
2475
  alt: guide.title,
@@ -2094,7 +2486,7 @@ function OnboardingGuideCard({
2094
2486
  className: "absolute inset-0"
2095
2487
  }
2096
2488
  ),
2097
- hasVideoCover && coverImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.CardHoverPlay, { size: "md" }),
2489
+ hasVideoCover && coverImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MQASMIUcjs.CardHoverPlay, { size: "md" }),
2098
2490
  durationLabel && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "absolute bottom-2 right-2 inline-flex items-center gap-1 rounded bg-black/60 px-2 py-1 text-ods-text-on-dark text-code", children: [
2099
2491
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Clock, { className: "h-3 w-3" }),
2100
2492
  durationLabel
@@ -2129,7 +2521,7 @@ function OnboardingGuideCard({
2129
2521
  const compactCover = coverImage || placeholderUrl || null;
2130
2522
  const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
2131
2523
  const summary2 = stripMarkdownPreview(guide.video_summary || guide.content || "");
2132
- const author = _optionalChain([guide, 'access', _64 => _64.author, 'optionalAccess', _65 => _65.full_name, 'optionalAccess', _66 => _66.trim, 'call', _67 => _67()]) || "";
2524
+ const author = _optionalChain([guide, 'access', _69 => _69.author, 'optionalAccess', _70 => _70.full_name, 'optionalAccess', _71 => _71.trim, 'call', _72 => _72()]) || "";
2133
2525
  const subtitleParts = [`Step ${guide.step_order}`, guide.section, author].filter(
2134
2526
  (s) => typeof s === "string" && s.length > 0
2135
2527
  );
@@ -2140,16 +2532,16 @@ function OnboardingGuideCard({
2140
2532
  target,
2141
2533
  rel,
2142
2534
  prefetch: false,
2143
- className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.COMPACT_CARD_OUTER, "group", className),
2535
+ className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.COMPACT_CARD_OUTER, "group", className),
2144
2536
  children: [
2145
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_IMAGE_SLOT, children: [
2146
- compactCover ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE76ONBKFcjs.next_image_default, { src: compactCover, alt: guide.title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.GraduationCap, { className: "h-4 w-4" }) }),
2147
- hasVideoCover && compactCover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.CardHoverPlay, { size: "sm" })
2537
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_IMAGE_SLOT, children: [
2538
+ compactCover ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5WMRVMXHcjs.next_image_default, { src: compactCover, alt: guide.title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.GraduationCap, { className: "h-4 w-4" }) }),
2539
+ hasVideoCover && compactCover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MQASMIUcjs.CardHoverPlay, { size: "sm" })
2148
2540
  ] }),
2149
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TEXT_COL, children: [
2150
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE, "font-heading"), children: guide.title }) }),
2151
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-accent text-h6", children: subtitleParts.join(" \xB7 ") }) }),
2152
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_SUMMARY, children: summary2 || _chunkOH5LAH3Xcjs.COMPACT_CARD_ROW_FILLER }) })
2541
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TEXT_COL, children: [
2542
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.COMPACT_CARD_TITLE, "font-heading"), children: guide.title }) }),
2543
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-accent text-h6", children: subtitleParts.join(" \xB7 ") }) }),
2544
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUMMARY, children: summary2 || _chunkODDUGLYFcjs.COMPACT_CARD_ROW_FILLER }) })
2153
2545
  ] }),
2154
2546
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) })
2155
2547
  ]
@@ -2165,7 +2557,7 @@ function OnboardingGuideCard({
2165
2557
  target,
2166
2558
  rel,
2167
2559
  prefetch: false,
2168
- className: _chunk65VVJSQZcjs.cn.call(void 0,
2560
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
2169
2561
  `flex items-start gap-3 rounded-md border border-ods-border bg-ods-card transition-colors hover:border-ods-accent ${t.padding}`,
2170
2562
  className
2171
2563
  ),
@@ -2204,23 +2596,23 @@ function RoadmapVoteButton({
2204
2596
  className
2205
2597
  }) {
2206
2598
  const Icon = voteType === "up" ? _chunkOOYBIS7Dcjs.ThumbsUpClassicIcon : _chunk32ASZMTVcjs.ThumbsDownClassicIcon;
2207
- const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
2599
+ const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
2208
2600
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2209
- _chunkTF5D5MNOcjs.Button,
2601
+ _chunkFLS6DZENcjs.Button,
2210
2602
  {
2211
2603
  variant: "outline",
2212
2604
  onClick,
2213
2605
  disabled,
2214
2606
  ...loading ? { tabIndex: -1, "aria-hidden": true } : {},
2215
2607
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-5 w-5", color }),
2216
- className: _chunk65VVJSQZcjs.cn.call(void 0,
2608
+ className: _chunkMGEUZRNQcjs.cn.call(void 0,
2217
2609
  className,
2218
2610
  "flex h-full items-center justify-center gap-[2px] border-0 border-ods-border bg-ods-bg p-[12px]",
2219
2611
  "disabled:cursor-not-allowed disabled:opacity-50",
2220
2612
  "transition-all hover:bg-ods-border",
2221
2613
  isActive && "bg-ods-border"
2222
2614
  ),
2223
- children: showCount && (loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "h6", className: "inline-block w-4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6", children: count }))
2615
+ children: showCount && (loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "h6", className: "inline-block w-4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6", children: count }))
2224
2616
  }
2225
2617
  );
2226
2618
  }
@@ -2284,14 +2676,14 @@ function TaskTypeIcon({ customItemId, className = "h-5 w-5" }) {
2284
2676
 
2285
2677
 
2286
2678
 
2287
- var ROADMAP_COMPACT_SLOT = `${_chunkXFRBEXQNcjs.MEDIA_ASPECT.square} ${_chunkXFRBEXQNcjs.TILE_SIZE.xl} shrink-0 self-start overflow-hidden rounded-md border border-ods-border p-1.5`;
2679
+ var ROADMAP_COMPACT_SLOT = `${_chunkNNNRN4OFcjs.MEDIA_ASPECT.square} ${_chunkNNNRN4OFcjs.TILE_SIZE.xl} shrink-0 self-start overflow-hidden rounded-md border border-ods-border p-1.5`;
2288
2680
  var ROADMAP_CARD_BODY = "flex h-full scroll-mt-24 flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]";
2289
2681
  var ROADMAP_CARD_HEADER = "flex w-full items-center gap-[16px]";
2290
- var ROADMAP_CARD_ICON_BOX = `flex ${_chunkXFRBEXQNcjs.TILE_SIZE.feature} flex-shrink-0 items-center justify-center rounded-lg`;
2682
+ var ROADMAP_CARD_ICON_BOX = `flex ${_chunkNNNRN4OFcjs.TILE_SIZE.feature} flex-shrink-0 items-center justify-center rounded-lg`;
2291
2683
  var ROADMAP_CARD_HEADING = "flex min-w-0 flex-1 flex-col";
2292
- var ROADMAP_CARD_TITLE_ROW = `flex items-center text-h3 ${_chunkXFRBEXQNcjs.TEXT_LINES_MIN[2]}`;
2293
- var ROADMAP_CARD_META_ROW = `flex items-center text-h5 ${_chunkXFRBEXQNcjs.TEXT_LINES_MIN[1]}`;
2294
- var ROADMAP_CARD_SUMMARY_ROW = `flex items-center text-h4 ${_chunkXFRBEXQNcjs.TEXT_LINES_MIN[3]}`;
2684
+ var ROADMAP_CARD_TITLE_ROW = `flex items-center text-h3 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[2]}`;
2685
+ var ROADMAP_CARD_META_ROW = `flex items-center text-h5 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[1]}`;
2686
+ var ROADMAP_CARD_SUMMARY_ROW = `flex items-center text-h4 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[3]}`;
2295
2687
  var ROADMAP_CARD_FOOTER = "flex w-full items-center justify-between";
2296
2688
  var ROADMAP_CARD_VOTES = "flex h-[48px] overflow-hidden rounded-[6px]";
2297
2689
  var ROADMAP_CARD_FOOTER_END = "flex min-w-0 items-center gap-2";
@@ -2302,7 +2694,7 @@ function RoadmapCardSkeleton({
2302
2694
  }) {
2303
2695
  if (size === "sm") {
2304
2696
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2305
- _chunkOH5LAH3Xcjs.CompactCardSkeleton,
2697
+ _chunkODDUGLYFcjs.CompactCardSkeleton,
2306
2698
  {
2307
2699
  slotClassName: ROADMAP_COMPACT_SLOT,
2308
2700
  titleWidth: "w-1/2",
@@ -2316,19 +2708,19 @@ function RoadmapCardSkeleton({
2316
2708
  }
2317
2709
  );
2318
2710
  }
2319
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, ROADMAP_CARD_BODY, className), "aria-hidden": true, children: [
2711
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, ROADMAP_CARD_BODY, className), "aria-hidden": true, children: [
2320
2712
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROADMAP_CARD_HEADER, children: [
2321
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: ROADMAP_CARD_ICON_BOX }),
2713
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: ROADMAP_CARD_ICON_BOX }),
2322
2714
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROADMAP_CARD_HEADING, children: [
2323
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-3/4" }) }),
2324
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h5", className: "w-1/3" }) })
2715
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-3/4" }) }),
2716
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h5", className: "w-1/3" }) })
2325
2717
  ] }),
2326
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:block", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadgeSkeleton, {}) })
2718
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:block", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.StatusBadge, { loading: true, text: "" }) })
2327
2719
  ] }),
2328
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadgeSkeleton, {}) }),
2329
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h4", lines: 3, className: "w-full" }) }),
2720
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.StatusBadge, { loading: true, text: "" }) }),
2721
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h4", lines: 3, className: "w-full" }) }),
2330
2722
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
2331
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_FOOTER, children: votes && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: _chunk65VVJSQZcjs.cn.call(void 0, ROADMAP_CARD_VOTES, "w-32") }) })
2723
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_FOOTER, children: votes && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: _chunkMGEUZRNQcjs.cn.call(void 0, ROADMAP_CARD_VOTES, "w-32") }) })
2332
2724
  ] });
2333
2725
  }
2334
2726
  function assigneePeople(assignees) {
@@ -2338,7 +2730,13 @@ function assigneePeople(assignees) {
2338
2730
  avatarUrl: a.avatarUrl
2339
2731
  }));
2340
2732
  }
2341
- function RoadmapCard({
2733
+ function RoadmapCard(props) {
2734
+ if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || props.loading) {
2735
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RoadmapCardSkeleton, { size: props.size, votes: !!props.onVote, className: props.className });
2736
+ }
2737
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadedRoadmapCard, { ...props });
2738
+ }
2739
+ function LoadedRoadmapCard({
2342
2740
  item,
2343
2741
  href,
2344
2742
  target,
@@ -2352,25 +2750,23 @@ function RoadmapCard({
2352
2750
  isVoting = false
2353
2751
  }) {
2354
2752
  const [showScreenshots, setShowScreenshots] = _react.useState.call(void 0, false);
2355
- const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
2356
2753
  const logoUrl = item.icon && item.icon.startsWith("http") ? item.icon : null;
2357
2754
  const iconSrc = useProxiedImageUrl(logoUrl) || null;
2358
- if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RoadmapCardSkeleton, { size, votes: !!onVote, className });
2359
2755
  if (size === "sm") {
2360
- const compactHref = _chunkOH5LAH3Xcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
2756
+ const compactHref = _chunkODDUGLYFcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
2361
2757
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
2362
2758
  const hasFigma = !!item.figmaUrl;
2363
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _68 => _68.screenshots, 'optionalAccess', _69 => _69.length]), () => ( 0))) > 0;
2759
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _73 => _73.screenshots, 'optionalAccess', _74 => _74.length]), () => ( 0))) > 0;
2364
2760
  const typeLabel = getTaskTypeLabel(item.customItemId);
2365
2761
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
2366
2762
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2367
2763
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2368
2764
  "span",
2369
2765
  {
2370
- className: _chunk65VVJSQZcjs.cn.call(void 0, ROADMAP_COMPACT_SLOT, "flex items-center justify-center bg-ods-bg text-ods-accent"),
2766
+ className: _chunkMGEUZRNQcjs.cn.call(void 0, ROADMAP_COMPACT_SLOT, "flex items-center justify-center bg-ods-bg text-ods-accent"),
2371
2767
  title: _nullishCoalesce(typeLabel, () => ( void 0)),
2372
2768
  children: useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: item.customItemId, className: "h-6 w-6" }) : iconSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2373
- _chunkE76ONBKFcjs.next_image_default,
2769
+ _chunk5WMRVMXHcjs.next_image_default,
2374
2770
  {
2375
2771
  src: iconSrc,
2376
2772
  alt: `${item.title} logo`,
@@ -2379,14 +2775,14 @@ function RoadmapCard({
2379
2775
  unoptimized: true,
2380
2776
  className: "h-8 w-8 object-contain"
2381
2777
  }
2382
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase text-ods-text-secondary text-h6", children: _optionalChain([item, 'access', _70 => _70.title, 'optionalAccess', _71 => _71.substring, 'call', _72 => _72(0, 2)]) || "??" })
2778
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase text-ods-text-secondary text-h6", children: _optionalChain([item, 'access', _75 => _75.title, 'optionalAccess', _76 => _76.substring, 'call', _77 => _77(0, 2)]) || "??" })
2383
2779
  }
2384
2780
  ),
2385
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TEXT_COL, children: [
2386
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE_ROW} gap-2`, children: [
2387
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE} min-w-0`, children: item.title }),
2781
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TEXT_COL, children: [
2782
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_TITLE_ROW} gap-2`, children: [
2783
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_TITLE} min-w-0`, children: item.title }),
2388
2784
  item.status && item.status.trim().length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2389
- _chunkOH5LAH3Xcjs.StatusBadge,
2785
+ _chunkODDUGLYFcjs.StatusBadge,
2390
2786
  {
2391
2787
  text: item.status.toUpperCase(),
2392
2788
  colorScheme: getStatusColorScheme(item.status),
@@ -2396,7 +2792,7 @@ function RoadmapCard({
2396
2792
  }
2397
2793
  ) : null
2398
2794
  ] }),
2399
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX} gap-2 text-ods-text-secondary`, children: [
2795
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX} gap-2 text-ods-text-secondary`, children: [
2400
2796
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-h6", children: (() => {
2401
2797
  const parts = [item.quarter, item.targetVersion ? `${item.targetVersion} version` : null].filter(
2402
2798
  Boolean
@@ -2432,20 +2828,20 @@ function RoadmapCard({
2432
2828
  ]
2433
2829
  }
2434
2830
  ) : null,
2435
- item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBEMGJDXIcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
2831
+ item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXAA5LUHCcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
2436
2832
  ] }),
2437
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_SUMMARY, children: item.description || _chunkOH5LAH3Xcjs.COMPACT_CARD_ROW_FILLER }) })
2833
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUMMARY, children: item.description || _chunkODDUGLYFcjs.COMPACT_CARD_ROW_FILLER }) })
2438
2834
  ] })
2439
2835
  ] });
2440
2836
  if (!compactHref) {
2441
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkOH5LAH3Xcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
2837
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
2442
2838
  }
2443
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href: compactHref, target, rel, className: `${_chunkOH5LAH3Xcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
2839
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href: compactHref, target, rel, className: `${_chunkODDUGLYFcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
2444
2840
  }
2445
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { id, className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_FRAME_CLASS, ROADMAP_CARD_BODY, className), children: [
2841
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { id, className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_FRAME_CLASS, ROADMAP_CARD_BODY, className), children: [
2446
2842
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROADMAP_CARD_HEADER, children: [
2447
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, ROADMAP_CARD_ICON_BOX, "border border-ods-border bg-ods-bg"), children: iconSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2448
- _chunkE76ONBKFcjs.next_image_default,
2843
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, ROADMAP_CARD_ICON_BOX, "border border-ods-border bg-ods-bg"), children: iconSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2844
+ _chunk5WMRVMXHcjs.next_image_default,
2449
2845
  {
2450
2846
  src: iconSrc,
2451
2847
  alt: `${item.title} logo`,
@@ -2454,7 +2850,7 @@ function RoadmapCard({
2454
2850
  unoptimized: true,
2455
2851
  className: "object-contain p-1"
2456
2852
  }
2457
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _73 => _73.title, 'optionalAccess', _74 => _74.substring, 'call', _75 => _75(0, 2)]) || "??" }) }),
2853
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _78 => _78.title, 'optionalAccess', _79 => _79.substring, 'call', _80 => _80(0, 2)]) || "??" }) }),
2458
2854
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROADMAP_CARD_HEADING, children: [
2459
2855
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "line-clamp-2 flex-1 text-ods-text-primary text-h3", children: item.title }) }),
2460
2856
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h5", children: [
@@ -2464,7 +2860,7 @@ function RoadmapCard({
2464
2860
  ] }) })
2465
2861
  ] }),
2466
2862
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:block", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2467
- _chunkOH5LAH3Xcjs.StatusBadge,
2863
+ _chunkODDUGLYFcjs.StatusBadge,
2468
2864
  {
2469
2865
  text: item.status.toUpperCase(),
2470
2866
  colorScheme: getStatusColorScheme(item.status),
@@ -2473,7 +2869,7 @@ function RoadmapCard({
2473
2869
  ) })
2474
2870
  ] }),
2475
2871
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2476
- _chunkOH5LAH3Xcjs.StatusBadge,
2872
+ _chunkODDUGLYFcjs.StatusBadge,
2477
2873
  {
2478
2874
  text: item.status.toUpperCase(),
2479
2875
  colorScheme: getStatusColorScheme(item.status),
@@ -2483,7 +2879,7 @@ function RoadmapCard({
2483
2879
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROADMAP_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "line-clamp-3 text-ods-text-secondary text-h4", children: item.description || "" }) }),
2484
2880
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
2485
2881
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROADMAP_CARD_FOOTER, children: [
2486
- onVote && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, ROADMAP_CARD_VOTES, "border border-ods-border bg-ods-card"), children: [
2882
+ onVote && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, ROADMAP_CARD_VOTES, "border border-ods-border bg-ods-card"), children: [
2487
2883
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2488
2884
  RoadmapVoteButton,
2489
2885
  {
@@ -2510,9 +2906,9 @@ function RoadmapCard({
2510
2906
  )
2511
2907
  ] }),
2512
2908
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROADMAP_CARD_FOOTER_END, children: [
2513
- item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBEMGJDXIcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
2909
+ item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXAA5LUHCcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
2514
2910
  item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2515
- _chunkTF5D5MNOcjs.Button,
2911
+ _chunkFLS6DZENcjs.Button,
2516
2912
  {
2517
2913
  variant: "outline",
2518
2914
  size: "small-legacy",
@@ -2521,9 +2917,9 @@ function RoadmapCard({
2521
2917
  }
2522
2918
  ),
2523
2919
  (() => {
2524
- const figmaSafe = _chunkOH5LAH3Xcjs.safeHref.call(void 0, item.figmaUrl);
2920
+ const figmaSafe = _chunkODDUGLYFcjs.safeHref.call(void 0, item.figmaUrl);
2525
2921
  return figmaSafe ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2526
- _chunkTF5D5MNOcjs.Button,
2922
+ _chunkFLS6DZENcjs.Button,
2527
2923
  {
2528
2924
  variant: "outline",
2529
2925
  size: "small-legacy",
@@ -2533,7 +2929,14 @@ function RoadmapCard({
2533
2929
  }
2534
2930
  ) : null;
2535
2931
  })(),
2536
- item.targetVersion && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.StatusBadge, { gen: _chunkOH5LAH3Xcjs.generationTierFromLabel.call(void 0, item.targetVersion), text: item.targetVersion })
2932
+ item.targetVersion && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2933
+ _chunkODDUGLYFcjs.StatusBadge,
2934
+ {
2935
+ "data-loading-optional": true,
2936
+ gen: _chunkODDUGLYFcjs.generationTierFromLabel.call(void 0, item.targetVersion),
2937
+ text: item.targetVersion
2938
+ }
2939
+ )
2537
2940
  ] })
2538
2941
  ] }),
2539
2942
  item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2551,11 +2954,11 @@ function RoadmapCard({
2551
2954
 
2552
2955
 
2553
2956
 
2554
- var EDITORIAL_FRAME = _chunkOH5LAH3Xcjs.CONTENT_CARD_SKELETON_FRAME_CLASS;
2957
+ var EDITORIAL_FRAME = _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS;
2555
2958
  var EDITORIAL_ROW_GRID = "grid grid-cols-[88px_minmax(0,1fr)] items-center gap-[var(--spacing-system-m)] p-[var(--spacing-system-m)] sm:grid-cols-[120px_minmax(0,1fr)] sm:gap-[var(--spacing-system-l)]";
2556
- var EDITORIAL_ROW_THUMB = `relative block ${_chunkXFRBEXQNcjs.MEDIA_ASPECT.square} w-full overflow-hidden rounded-md`;
2959
+ var EDITORIAL_ROW_THUMB = `relative block ${_chunkNNNRN4OFcjs.MEDIA_ASPECT.square} w-full overflow-hidden rounded-md`;
2557
2960
  var EDITORIAL_ROW_TEXT = "flex min-w-0 flex-col gap-[var(--spacing-system-xs)]";
2558
- var EDITORIAL_FEATURE_COVER = `relative block ${_chunkXFRBEXQNcjs.MEDIA_ASPECT.video} w-full overflow-hidden`;
2961
+ var EDITORIAL_FEATURE_COVER = `relative block ${_chunkNNNRN4OFcjs.MEDIA_ASPECT.video} w-full overflow-hidden`;
2559
2962
  var EDITORIAL_FEATURE_BODY = "flex flex-col gap-[var(--spacing-system-s)] p-[var(--spacing-system-l)]";
2560
2963
  var EDITORIAL_META_ROW = "flex h-[1lh] min-w-0 items-center gap-x-[var(--spacing-system-s)] overflow-hidden whitespace-nowrap text-h6";
2561
2964
  var EDITORIAL_PERSON_ROW = "flex h-8 min-w-0 items-center gap-[var(--spacing-system-s)]";
@@ -2572,71 +2975,92 @@ var DEFAULT_GALLERY_THUMB = "relative h-24 w-24 flex-shrink-0 overflow-hidden ro
2572
2975
  var DEFAULT_FOOTER = "flex justify-end border-t border-ods-border pt-[var(--spacing-system-lf)]";
2573
2976
  var DEFAULT_HOSTS_ROW = "flex flex-wrap gap-2 md:justify-end";
2574
2977
  var DEFAULT_SKELETON_TAGS = 2;
2978
+ var PROGRAM_CARD_SKELETON_HOSTS = 1;
2979
+ var PROGRAM_CARD_SKELETON_MEDIA = 4;
2575
2980
  var EDITORIAL_PERSON_AVATAR = { variant: "round", size: "sm" };
2576
2981
  var programActionLabel = (singular) => `View ${singular.toLowerCase()}`;
2577
2982
  function ProgramActionButton({ label, href, newTab }) {
2578
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "outline", href, openInNewTab: newTab, rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ArrowRight, { className: "h-5 w-5" }), children: label });
2983
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", href, openInNewTab: newTab, rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ArrowRight, { className: "h-5 w-5" }), children: label });
2579
2984
  }
2580
2985
  function ProgramCardSkeleton({
2581
2986
  size = "default",
2582
2987
  eyebrow = true,
2583
2988
  media = 0,
2584
2989
  tags = false,
2585
- hosts = 1,
2990
+ hosts = PROGRAM_CARD_SKELETON_HOSTS,
2586
2991
  typeLabel,
2587
2992
  actionLabel,
2588
2993
  className
2589
2994
  }) {
2590
- if (size === "portrait") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.EntityPortraitCardSkeleton, { typeLabel, className });
2995
+ if (size === "portrait")
2996
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.EntityPortraitCard, { loading: true, href: "", imageAlt: "", title: "", typeLabel, className });
2591
2997
  if (size === "row") {
2592
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, EDITORIAL_FRAME, EDITORIAL_ROW_GRID, className), children: [
2593
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: EDITORIAL_ROW_THUMB }),
2998
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, EDITORIAL_FRAME, EDITORIAL_ROW_GRID, className), children: [
2999
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: EDITORIAL_ROW_THUMB }),
2594
3000
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: EDITORIAL_ROW_TEXT, children: [
2595
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "h3", lines: 2, className: "w-full" }),
2596
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: EDITORIAL_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-40" }) }),
2597
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "h6", lines: 2, className: "w-full" })
3001
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "h3", lines: 2, className: "w-full" }),
3002
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: EDITORIAL_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-40" }) }),
3003
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "h6", lines: 2, className: "w-full" })
2598
3004
  ] })
2599
3005
  ] });
2600
3006
  }
2601
3007
  if (size === "feature") {
2602
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, EDITORIAL_FRAME, "flex flex-col", className), children: [
2603
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { as: "span", className: _chunk65VVJSQZcjs.cn.call(void 0, EDITORIAL_FEATURE_COVER, "rounded-none") }),
3008
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, EDITORIAL_FRAME, "flex flex-col", className), children: [
3009
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: _chunkMGEUZRNQcjs.cn.call(void 0, EDITORIAL_FEATURE_COVER, "rounded-none") }),
2604
3010
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: EDITORIAL_FEATURE_BODY, children: [
2605
- eyebrow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "h5", className: "w-28" }),
2606
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "h3", lines: 2, className: "w-full" }),
2607
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: EDITORIAL_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-40" }) }),
2608
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "h4", lines: 3, className: "w-full" }),
3011
+ eyebrow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "h5", className: "w-28" }),
3012
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "h3", lines: 2, className: "w-full" }),
3013
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: EDITORIAL_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-40" }) }),
3014
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "h4", lines: 3, className: "w-full" }),
2609
3015
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: EDITORIAL_PERSON_ROW, children: [
2610
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatarSkeleton, { ...EDITORIAL_PERSON_AVATAR, className: "shrink-0" }),
2611
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "h6", className: "w-40" })
3016
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.SquareAvatar, { loading: true, ...EDITORIAL_PERSON_AVATAR, className: "shrink-0" }),
3017
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "h6", className: "w-40" })
2612
3018
  ] })
2613
3019
  ] })
2614
3020
  ] });
2615
3021
  }
2616
3022
  if (size === "sm") {
2617
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOH5LAH3Xcjs.CompactCardSkeleton, { trailingIcon: true, className });
3023
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.CompactCardSkeleton, { trailingIcon: true, className });
2618
3024
  }
2619
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, DEFAULT_BODY, className), children: [
3025
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, DEFAULT_BODY, className), children: [
2620
3026
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DEFAULT_HEADER, children: [
2621
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: DEFAULT_COVER_FRAME }),
3027
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: DEFAULT_COVER_FRAME }),
2622
3028
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DEFAULT_TEXT, children: [
2623
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_TITLE, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "inherit", lines: 2, className: "w-3/4" }) }),
3029
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_TITLE, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "inherit", lines: 2, className: "w-3/4" }) }),
2624
3030
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DEFAULT_META_ROW, children: [
2625
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-32" }),
2626
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-40" })
3031
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-32" }),
3032
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "inherit", className: "w-40" })
2627
3033
  ] }),
2628
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_DESCRIPTION, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { as: "span", type: "inherit", lines: 3, className: "w-full" }) }),
2629
- tags && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_TAG_ROW, children: Array.from({ length: DEFAULT_SKELETON_TAGS }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.TagSkeleton, {}, i)) })
3034
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_DESCRIPTION, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { as: "span", type: "inherit", lines: 3, className: "w-full" }) }),
3035
+ tags && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_TAG_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count: DEFAULT_SKELETON_TAGS, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.Tag, { loading: true, as: "span", label: "", variant: "outline", "data-loading-item": true }) }) })
2630
3036
  ] }),
2631
- hosts > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_HOSTS_ROW, children: Array.from({ length: hosts }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.SquareAvatarSkeleton, { variant: "round", size: "sm" }, i)) })
3037
+ hosts > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_HOSTS_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count: hosts, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.SquareAvatar, { loading: true, variant: "round", size: "sm", "data-loading-item": true }) }) })
2632
3038
  ] }),
2633
- media > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_GALLERY_ROW, children: Array.from({ length: media }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: DEFAULT_GALLERY_THUMB }, i)) }),
3039
+ media > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_GALLERY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count: media, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: DEFAULT_GALLERY_THUMB, "data-loading-item": true }) }) }),
2634
3040
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_FOOTER, children: actionLabel ? (
2635
3041
  // The action's words are copy: the real button, not a control while it loads.
2636
3042
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { inert: true, "aria-hidden": true, className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProgramActionButton, { label: actionLabel }) })
2637
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.InteractiveSkeleton.Button, { size: "default", className: "w-40" }) })
3043
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.InteractiveSkeleton.Button, { size: "default", className: "w-40" }) })
2638
3044
  ] });
2639
3045
  }
3046
+ function ProgramCard(props) {
3047
+ if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || props.loading) {
3048
+ const { config, size = "default", showTypeBadge = true, eyebrow, className } = props;
3049
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3050
+ ProgramCardSkeleton,
3051
+ {
3052
+ size,
3053
+ eyebrow: !!eyebrow,
3054
+ media: _optionalChain([config, 'optionalAccess', _81 => _81.cardShowsGallery]) ? PROGRAM_CARD_SKELETON_MEDIA : 0,
3055
+ hosts: _optionalChain([config, 'optionalAccess', _82 => _82.cardShowsHosts]) ? PROGRAM_CARD_SKELETON_HOSTS : 0,
3056
+ typeLabel: config && size === "portrait" && showTypeBadge ? config.labels.singular : void 0,
3057
+ actionLabel: config ? programActionLabel(config.labels.singular) : void 0,
3058
+ className
3059
+ }
3060
+ );
3061
+ }
3062
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadedProgramCard, { ...props });
3063
+ }
2640
3064
  function getHosts(hosts) {
2641
3065
  if (!hosts) return [];
2642
3066
  try {
@@ -2665,7 +3089,7 @@ function getHosts(hosts) {
2665
3089
  }
2666
3090
  return [];
2667
3091
  }
2668
- function MediaGallery({ images, title }) {
3092
+ function MediaGallery({ images, title, optional }) {
2669
3093
  const [selectedImageIndex, setSelectedImageIndex] = _react.useState.call(void 0, null);
2670
3094
  const [isModalOpen, setIsModalOpen] = _react.useState.call(void 0, false);
2671
3095
  const openImageModal = (index, event) => {
@@ -2678,13 +3102,14 @@ function MediaGallery({ images, title }) {
2678
3102
  setSelectedImageIndex(null);
2679
3103
  };
2680
3104
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2681
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_GALLERY_ROW, style: { width: "max-content" }, children: images.map((mediaItem, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3105
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto", "data-loading-optional": optional || void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_GALLERY_ROW, style: { width: "max-content" }, children: images.map((mediaItem, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2682
3106
  "div",
2683
3107
  {
2684
- className: _chunk65VVJSQZcjs.cn.call(void 0, DEFAULT_GALLERY_THUMB, "group/thumb cursor-pointer"),
3108
+ className: _chunkMGEUZRNQcjs.cn.call(void 0, DEFAULT_GALLERY_THUMB, "group/thumb cursor-pointer"),
2685
3109
  onClick: (e) => openImageModal(index, e),
3110
+ "data-loading-item": true,
2686
3111
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2687
- _chunkE76ONBKFcjs.next_image_default,
3112
+ _chunk5WMRVMXHcjs.next_image_default,
2688
3113
  {
2689
3114
  src: mediaItem.media_url,
2690
3115
  alt: `${title} photo ${index + 1}`,
@@ -2725,19 +3150,19 @@ function ProgramEditorialCard({
2725
3150
  priority,
2726
3151
  className
2727
3152
  }) {
2728
- const edgeColor = _chunk3LW5TD54cjs.useImageEdgeColor.call(void 0, feature ? cover : null, "transparent");
3153
+ const edgeColor = _chunkF2FFJWOQcjs.useImageEdgeColor.call(void 0, feature ? cover : null, "transparent");
2729
3154
  const meta = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: EDITORIAL_META_ROW, children: [
2730
3155
  date && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-flamingo-pink", children: date }),
2731
- [typeMeta, feature ? null : _optionalChain([profile, 'optionalAccess', _76 => _76.name])].filter((part) => !!part).map((part) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-s)] text-ods-text-secondary", children: [
3156
+ [typeMeta, feature ? null : _optionalChain([profile, 'optionalAccess', _83 => _83.name])].filter((part) => !!part).map((part) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-s)] text-ods-text-secondary", children: [
2732
3157
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", children: "\u2022" }),
2733
3158
  part
2734
3159
  ] }, part))
2735
3160
  ] });
2736
3161
  if (!feature) {
2737
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOH5LAH3Xcjs.ContentCardFrame, { as: "a", href, target, rel, className: _chunk65VVJSQZcjs.cn.call(void 0, EDITORIAL_ROW_GRID, className), children: [
2738
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, EDITORIAL_ROW_THUMB, "bg-ods-bg"), children: [
2739
- cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE76ONBKFcjs.next_image_default, { src: cover, alt: "", fill: true, sizes: "120px", className: "object-cover", priority, unoptimized: true }),
2740
- playable && cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.CardHoverPlay, { size: "md" })
3162
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkODDUGLYFcjs.ContentCardFrame, { as: "a", href, target, rel, className: _chunkMGEUZRNQcjs.cn.call(void 0, EDITORIAL_ROW_GRID, className), children: [
3163
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, EDITORIAL_ROW_THUMB, "bg-ods-bg"), children: [
3164
+ cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5WMRVMXHcjs.next_image_default, { src: cover, alt: "", fill: true, sizes: "120px", className: "object-cover", priority, unoptimized: true }),
3165
+ playable && cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MQASMIUcjs.CardHoverPlay, { size: "md" })
2741
3166
  ] }),
2742
3167
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: EDITORIAL_ROW_TEXT, children: [
2743
3168
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 min-h-[2lh] text-ods-text-primary text-h3", children: title }),
@@ -2746,15 +3171,15 @@ function ProgramEditorialCard({
2746
3171
  ] })
2747
3172
  ] });
2748
3173
  }
2749
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOH5LAH3Xcjs.ContentCardFrame, { as: "a", href, target, rel, className: _chunk65VVJSQZcjs.cn.call(void 0, "flex flex-col", className), children: [
3174
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkODDUGLYFcjs.ContentCardFrame, { as: "a", href, target, rel, className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex flex-col", className), children: [
2750
3175
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2751
3176
  "span",
2752
3177
  {
2753
- className: _chunk65VVJSQZcjs.cn.call(void 0, EDITORIAL_FEATURE_COVER, "transition-colors duration-300"),
3178
+ className: _chunkMGEUZRNQcjs.cn.call(void 0, EDITORIAL_FEATURE_COVER, "transition-colors duration-300"),
2754
3179
  style: { backgroundColor: edgeColor },
2755
3180
  children: [
2756
3181
  cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2757
- _chunkE76ONBKFcjs.next_image_default,
3182
+ _chunk5WMRVMXHcjs.next_image_default,
2758
3183
  {
2759
3184
  src: cover,
2760
3185
  alt: "",
@@ -2765,7 +3190,7 @@ function ProgramEditorialCard({
2765
3190
  unoptimized: true
2766
3191
  }
2767
3192
  ),
2768
- playable && cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.CardHoverPlay, { size: "lg" })
3193
+ playable && cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MQASMIUcjs.CardHoverPlay, { size: "lg" })
2769
3194
  ]
2770
3195
  }
2771
3196
  ),
@@ -2776,7 +3201,7 @@ function ProgramEditorialCard({
2776
3201
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-3 min-h-[3lh] text-ods-text-secondary text-h4", children: description }),
2777
3202
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: EDITORIAL_PERSON_ROW, children: profile && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2778
3203
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2779
- _chunkBNUZKBNVcjs.SquareAvatar,
3204
+ _chunkZJS45HQZcjs.SquareAvatar,
2780
3205
  {
2781
3206
  ...EDITORIAL_PERSON_AVATAR,
2782
3207
  src: profile.avatarUrl || void 0,
@@ -2786,8 +3211,9 @@ function ProgramEditorialCard({
2786
3211
  ),
2787
3212
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-h6", children: [
2788
3213
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary", children: profile.name }),
2789
- profile.subtitle && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
2790
- " \xB7 ",
3214
+ profile.subtitle && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "data-loading-optional": true, className: "text-ods-text-secondary", children: [
3215
+ " ",
3216
+ "\xB7 ",
2791
3217
  profile.subtitle
2792
3218
  ] })
2793
3219
  ] })
@@ -2795,7 +3221,7 @@ function ProgramEditorialCard({
2795
3221
  ] })
2796
3222
  ] });
2797
3223
  }
2798
- function ProgramCard({
3224
+ function LoadedProgramCard({
2799
3225
  config,
2800
3226
  item,
2801
3227
  media = [],
@@ -2813,32 +3239,17 @@ function ProgramCard({
2813
3239
  priority,
2814
3240
  className
2815
3241
  }) {
2816
- const { target, rel } = _chunkOH5LAH3Xcjs.useEntityCardLink.call(void 0, {
3242
+ const { target, rel } = _chunkODDUGLYFcjs.useEntityCardLink.call(void 0, {
2817
3243
  href,
2818
3244
  targetPlatform,
2819
3245
  target: targetProp,
2820
3246
  rel: relProp
2821
3247
  });
2822
- const placeholderUrl = _chunkOH5LAH3Xcjs.useEntityCardPlaceholder.call(void 0, {
3248
+ const placeholderUrl = _chunkODDUGLYFcjs.useEntityCardPlaceholder.call(void 0, {
2823
3249
  title: item.title,
2824
3250
  placeholderUrl: placeholderUrlProp,
2825
3251
  aspect: size === "sm" || size === "row" ? "square" : "wide"
2826
3252
  });
2827
- if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) {
2828
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2829
- ProgramCardSkeleton,
2830
- {
2831
- size,
2832
- eyebrow: !!eyebrow,
2833
- media: media.filter((m) => isImageMedia(m)).length,
2834
- tags: tags.length > 0,
2835
- hosts: getHosts(item.hosts).length,
2836
- typeLabel: size === "portrait" && showTypeBadge ? config.labels.singular : void 0,
2837
- actionLabel: programActionLabel(config.labels.singular),
2838
- className
2839
- }
2840
- );
2841
- }
2842
3253
  const coverImage = item.cover_url;
2843
3254
  const images = media.filter((m) => isImageMedia(m));
2844
3255
  const hosts = getHosts(item.hosts);
@@ -2851,12 +3262,12 @@ function ProgramCard({
2851
3262
  // Compact densities join plain strings, so the zone rides inline here; the
2852
3263
  // default density below renders it as its own styled span instead.
2853
3264
  } = programMetaLine(item, config.type, programMetaFormatters(PROGRAM_META_RENDERERS));
2854
- const compactDate = _chunkBNUZKBNVcjs.formatProgramDate.call(void 0, zonedDate, "medium");
3265
+ const compactDate = _chunkZJS45HQZcjs.formatProgramDate.call(void 0, zonedDate, "medium");
2855
3266
  if (size === "portrait") {
2856
- const profile = _chunkOH5LAH3Xcjs.programItemToStripProfile.call(void 0, item);
3267
+ const profile = _chunkODDUGLYFcjs.programItemToStripProfile.call(void 0, item);
2857
3268
  const dateMeta = compactMetaLine;
2858
3269
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2859
- _chunkOH5LAH3Xcjs.EntityPortraitCard,
3270
+ _chunkODDUGLYFcjs.EntityPortraitCard,
2860
3271
  {
2861
3272
  href,
2862
3273
  target,
@@ -2885,9 +3296,9 @@ function ProgramCard({
2885
3296
  description: item.description,
2886
3297
  cover: coverImage || placeholderUrl || null,
2887
3298
  eyebrow,
2888
- date: _chunkBNUZKBNVcjs.formatProgramDate.call(void 0, zonedDate, "weekday"),
3299
+ date: _chunkZJS45HQZcjs.formatProgramDate.call(void 0, zonedDate, "weekday"),
2889
3300
  typeMeta: compactTypeMetaValue,
2890
- profile: _chunkOH5LAH3Xcjs.programItemToStripProfile.call(void 0, item),
3301
+ profile: _chunkODDUGLYFcjs.programItemToStripProfile.call(void 0, item),
2891
3302
  playable: isPlayable,
2892
3303
  priority,
2893
3304
  className
@@ -2898,13 +3309,13 @@ function ProgramCard({
2898
3309
  const itemDate = compactDate;
2899
3310
  const compactCover = coverImage || placeholderUrl || null;
2900
3311
  const typeMeta = compactTypeMetaValue;
2901
- const subtitleParts = [itemDate, typeMeta, _optionalChain([config, 'access', _77 => _77.labels, 'optionalAccess', _78 => _78.singular])].filter(
3312
+ const subtitleParts = [itemDate, typeMeta, _optionalChain([config, 'access', _84 => _84.labels, 'optionalAccess', _85 => _85.singular])].filter(
2902
3313
  (s) => typeof s === "string" && s.length > 0
2903
3314
  );
2904
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.COMPACT_CARD_OUTER, "group", className), children: [
2905
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_IMAGE_SLOT, children: [
3315
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.COMPACT_CARD_OUTER, "group", className), children: [
3316
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_IMAGE_SLOT, children: [
2906
3317
  compactCover ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2907
- _chunkE76ONBKFcjs.next_image_default,
3318
+ _chunk5WMRVMXHcjs.next_image_default,
2908
3319
  {
2909
3320
  src: compactCover,
2910
3321
  alt: item.title,
@@ -2915,17 +3326,17 @@ function ProgramCard({
2915
3326
  unoptimized: true
2916
3327
  }
2917
3328
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: config.type === "podcast" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Play, { className: "h-4 w-4" }) : config.type === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Clock, { className: "h-4 w-4" }) }),
2918
- isPlayable && compactCover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.CardHoverPlay, { size: "sm" })
3329
+ isPlayable && compactCover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MQASMIUcjs.CardHoverPlay, { size: "sm" })
2919
3330
  ] }),
2920
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TEXT_COL, children: [
2921
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkOH5LAH3Xcjs.COMPACT_CARD_TITLE, "font-heading"), children: item.title }) }),
2922
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-accent text-h6", children: subtitleParts.join(" \xB7 ") }) }),
2923
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOH5LAH3Xcjs.COMPACT_CARD_SUMMARY, children: item.description || _chunkOH5LAH3Xcjs.COMPACT_CARD_ROW_FILLER }) })
3331
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TEXT_COL, children: [
3332
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.COMPACT_CARD_TITLE, "font-heading"), children: item.title }) }),
3333
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-accent text-h6", children: subtitleParts.join(" \xB7 ") }) }),
3334
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUMMARY, children: item.description || _chunkODDUGLYFcjs.COMPACT_CARD_ROW_FILLER }) })
2924
3335
  ] }),
2925
3336
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) })
2926
3337
  ] });
2927
3338
  }
2928
- const dateFormat = _chunkBNUZKBNVcjs.formatProgramDate.call(void 0, zonedDate, "weekday");
3339
+ const dateFormat = _chunkZJS45HQZcjs.formatProgramDate.call(void 0, zonedDate, "weekday");
2929
3340
  const { typeMeta: defaultTypeMeta, audience: defaultAudience } = programMetaLine(
2930
3341
  item,
2931
3342
  config.type,
@@ -2956,11 +3367,11 @@ function ProgramCard({
2956
3367
  return null;
2957
3368
  };
2958
3369
  const endAt = "end_at" in item && typeof item.end_at === "string" ? item.end_at : null;
2959
- const dateLabel = _nullishCoalesce(_chunkBNUZKBNVcjs.formatProgramDateRange.call(void 0, zonedDate, endAt), () => ( dateFormat));
3370
+ const dateLabel = _nullishCoalesce(_chunkZJS45HQZcjs.formatProgramDateRange.call(void 0, zonedDate, endAt), () => ( dateFormat));
2960
3371
  const cardHeader = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DEFAULT_HEADER, children: [
2961
3372
  coverImage && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DEFAULT_COVER_FRAME, children: [
2962
3373
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2963
- _chunkE76ONBKFcjs.next_image_default,
3374
+ _chunk5WMRVMXHcjs.next_image_default,
2964
3375
  {
2965
3376
  src: coverImage,
2966
3377
  alt: item.title,
@@ -2971,7 +3382,7 @@ function ProgramCard({
2971
3382
  unoptimized: true
2972
3383
  }
2973
3384
  ),
2974
- isPlayable && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.CardHoverPlay, { size: "md" })
3385
+ isPlayable && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MQASMIUcjs.CardHoverPlay, { size: "md" })
2975
3386
  ] }),
2976
3387
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DEFAULT_TEXT, children: [
2977
3388
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: DEFAULT_TITLE, children: item.title }),
@@ -2986,28 +3397,30 @@ function ProgramCard({
2986
3397
  ] })
2987
3398
  ] }),
2988
3399
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: DEFAULT_DESCRIPTION, children: item.description }),
2989
- tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_TAG_ROW, children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBNUZKBNVcjs.Tag, { as: "span", label: tag, variant: "outline" }, tag)) })
3400
+ tags.length > 0 && // Only some records carry tags: the loading card leaves the row out.
3401
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_TAG_ROW, "data-loading-optional": true, children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.Tag, { as: "span", label: tag, variant: "outline", "data-loading-item": true }, tag)) })
2990
3402
  ] }),
2991
3403
  hosts.length > 0 && // A type whose cards always show hosts (`cardShowsHosts`) draws them while loading; elsewhere only some
2992
3404
  // records have hosts, so the row is record-dependent.
2993
3405
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_HOSTS_ROW, "data-loading-optional": config.cardShowsHosts ? void 0 : true, children: hosts.map((host, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2994
- _chunkBNUZKBNVcjs.SquareAvatar,
3406
+ _chunkZJS45HQZcjs.SquareAvatar,
2995
3407
  {
2996
3408
  variant: "round",
2997
3409
  src: host.avatar || void 0,
2998
3410
  alt: host.name,
2999
3411
  fallback: host.name.charAt(0).toUpperCase(),
3000
- size: "sm"
3412
+ size: "sm",
3413
+ "data-loading-item": true
3001
3414
  },
3002
3415
  `${item.id}-host-${index}`
3003
3416
  )) })
3004
3417
  ] });
3005
- const cardFrameClass = _chunk65VVJSQZcjs.cn.call(void 0, DEFAULT_BODY, className);
3418
+ const cardFrameClass = _chunkMGEUZRNQcjs.cn.call(void 0, DEFAULT_BODY, className);
3006
3419
  const actionLabel = programActionLabel(config.labels.singular);
3007
3420
  if (wholeCardClickable) {
3008
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOH5LAH3Xcjs.ContentCardFrame, { as: "a", href, target, rel, className: cardFrameClass, children: [
3421
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkODDUGLYFcjs.ContentCardFrame, { as: "a", href, target, rel, className: cardFrameClass, children: [
3009
3422
  cardHeader,
3010
- images.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaGallery, { images, title: item.title }),
3423
+ images.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaGallery, { images, title: item.title, optional: !config.cardShowsGallery }),
3011
3424
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_FOOTER, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3012
3425
  "span",
3013
3426
  {
@@ -3021,9 +3434,9 @@ function ProgramCard({
3021
3434
  ) })
3022
3435
  ] });
3023
3436
  }
3024
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOH5LAH3Xcjs.ContentCardFrame, { as: "div", className: cardFrameClass, children: [
3437
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkODDUGLYFcjs.ContentCardFrame, { as: "div", className: cardFrameClass, children: [
3025
3438
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: "block", children: cardHeader }),
3026
- images.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaGallery, { images, title: item.title }),
3439
+ images.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MediaGallery, { images, title: item.title, optional: !config.cardShowsGallery }),
3027
3440
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DEFAULT_FOOTER, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProgramActionButton, { label: actionLabel, href, newTab: target === "_blank" }) })
3028
3441
  ] });
3029
3442
  }
@@ -3133,31 +3546,4 @@ function ProgramCard({
3133
3546
 
3134
3547
 
3135
3548
 
3136
-
3137
-
3138
-
3139
-
3140
-
3141
-
3142
-
3143
-
3144
-
3145
-
3146
-
3147
-
3148
-
3149
-
3150
-
3151
-
3152
-
3153
-
3154
-
3155
-
3156
-
3157
-
3158
-
3159
-
3160
-
3161
-
3162
-
3163
- exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.ImageGalleryModal = ImageGalleryModal; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.skipsImageOptimizer = skipsImageOptimizer; exports.useProxiedImageUrl = useProxiedImageUrl; exports.escapeRegExp = escapeRegExp; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.resolveReleaseCover = resolveReleaseCover; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.getStatusColorScheme = getStatusColorScheme; exports.TRUST_FRAMEWORK_MONITORING = TRUST_FRAMEWORK_MONITORING; exports.trustFrameworkMonitoringEntry = trustFrameworkMonitoringEntry; exports.trustFrameworkBadge = trustFrameworkBadge; exports.TRUST_CENTER_SECTIONS = TRUST_CENTER_SECTIONS; exports.TRUST_CENTER_TITLE = TRUST_CENTER_TITLE; exports.TRUST_CENTER_TAGLINE = TRUST_CENTER_TAGLINE; exports.TRUST_CENTER_API_PATH = TRUST_CENTER_API_PATH; exports.TRUST_CENTER_CACHE_SECONDS = TRUST_CENTER_CACHE_SECONDS; exports.TRUST_CENTER_DOCUMENT_CACHE_SECONDS = TRUST_CENTER_DOCUMENT_CACHE_SECONDS; exports.TRUST_CENTER_CARD_ID = TRUST_CENTER_CARD_ID; exports.TRUST_CENTER_DOCUMENT_TYPE = TRUST_CENTER_DOCUMENT_TYPE; exports.TRUST_CENTER_PAGE_PATH = TRUST_CENTER_PAGE_PATH; exports.isTrustCenterMonitored = isTrustCenterMonitored; exports.trustCenterMonitoringStatus = trustCenterMonitoringStatus; exports.trustFrameworksSummary = trustFrameworksSummary; exports.trustCenterDocumentUrl = trustCenterDocumentUrl; exports.trustCenterPdfUrl = trustCenterPdfUrl; exports.visibleTrustCenterSections = visibleTrustCenterSections; exports.TRUST_CENTER_SEARCH_PARAM = TRUST_CENTER_SEARCH_PARAM; exports.TRUST_CENTER_SEARCH_MAX_CHARS = TRUST_CENTER_SEARCH_MAX_CHARS; exports.TRUST_CENTER_SEARCH_DEBOUNCE_MS = TRUST_CENTER_SEARCH_DEBOUNCE_MS; exports.TRUST_CENTER_DOMAIN_PARAM = TRUST_CENTER_DOMAIN_PARAM; exports.normalizeTrustControlQuery = normalizeTrustControlQuery; exports.trustControlQueryMatcher = trustControlQueryMatcher; exports.filterTrustControlDomains = filterTrustControlDomains; exports.trustCenterControlsUrl = trustCenterControlsUrl; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.extractCardItems = extractCardItems; exports.MEDIA_TYPE = MEDIA_TYPE; exports.isVideoMedia = isVideoMedia; exports.isImageMedia = isImageMedia; exports.isPublishableMediaType = isPublishableMediaType; exports.partitionMediaByType = partitionMediaByType; exports.IMAGE_FILE_ACCEPT = IMAGE_FILE_ACCEPT; exports.MEDIA_FILE_ACCEPT = MEDIA_FILE_ACCEPT; exports.fileMediaType = fileMediaType; exports.mediaNameKey = mediaNameKey; exports.fileContentKey = fileContentKey; exports.programStr = programStr; exports.programDateInstant = programDateInstant; exports.webinarTiming = webinarTiming; exports.programMetaLine = programMetaLine; exports.eventAudience = eventAudience; exports.programMetaFormatters = programMetaFormatters; exports.PROGRAM_META_RENDERERS = PROGRAM_META_RENDERERS; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveHrefForRuntime = resolveHrefForRuntime; exports.resolveExternalNavigation = resolveExternalNavigation; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataValueCellSkeleton = EntityMetadataValueCellSkeleton; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityMetadataAuthorCellSkeleton = EntityMetadataAuthorCellSkeleton; exports.EntityAuthorCardSkeleton = EntityAuthorCardSkeleton; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.PlatformBadge = PlatformBadge; exports.PlatformBadgeSkeleton = PlatformBadgeSkeleton; exports.AdminContentCard = AdminContentCard; exports.AdminContentCardSkeleton = AdminContentCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.HeadingLines = HeadingLines; exports.headingAccentClass = headingAccentClass; exports.accentSentenceMarks = accentSentenceMarks; exports.SectionEyebrow = SectionEyebrow; exports.SectionHeading = SectionHeading; exports.SectionHeadingSkeleton = SectionHeadingSkeleton; exports.RELEASE_CARD_LG_FRAME_CLASS = RELEASE_CARD_LG_FRAME_CLASS; exports.RELEASE_CARD_HERO_CLASS = RELEASE_CARD_HERO_CLASS; exports.RELEASE_CARD_COVER_COLUMN_CLASS = RELEASE_CARD_COVER_COLUMN_CLASS; exports.RELEASE_CARD_COVER_BOX_CLASS = RELEASE_CARD_COVER_BOX_CLASS; exports.RELEASE_CARD_TEXT_COLUMN_CLASS = RELEASE_CARD_TEXT_COLUMN_CLASS; exports.RELEASE_CARD_VERSION_ROW_CLASS = RELEASE_CARD_VERSION_ROW_CLASS; exports.RELEASE_CARD_VERSION_CLASS = RELEASE_CARD_VERSION_CLASS; exports.RELEASE_CARD_TITLE_BOX_CLASS = RELEASE_CARD_TITLE_BOX_CLASS; exports.RELEASE_CARD_TITLE_CLASS = RELEASE_CARD_TITLE_CLASS; exports.RELEASE_CARD_SUMMARY_BOX_CLASS = RELEASE_CARD_SUMMARY_BOX_CLASS; exports.RELEASE_CARD_SUMMARY_CLASS = RELEASE_CARD_SUMMARY_CLASS; exports.RELEASE_CARD_CHANGELOG_CLASS = RELEASE_CARD_CHANGELOG_CLASS; exports.RELEASE_CARD_GRID_CLASS = RELEASE_CARD_GRID_CLASS; exports.RELEASE_CARD_CELL_DIVIDER_CLASS = RELEASE_CARD_CELL_DIVIDER_CLASS; exports.RELEASE_CARD_CELL_CLASS = RELEASE_CARD_CELL_CLASS; exports.RELEASE_CARD_CELL_STACK_CLASS = RELEASE_CARD_CELL_STACK_CLASS; exports.RELEASE_CARD_CELL_LABEL_CLASS = RELEASE_CARD_CELL_LABEL_CLASS; exports.RELEASE_CARD_CELL_LABELS = RELEASE_CARD_CELL_LABELS; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard;
3549
+ exports.InteractiveCard = InteractiveCard; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.ImageGalleryModal = ImageGalleryModal; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.skipsImageOptimizer = skipsImageOptimizer; exports.useProxiedImageUrl = useProxiedImageUrl; exports.escapeRegExp = escapeRegExp; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.resolveReleaseCover = resolveReleaseCover; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.getStatusColorScheme = getStatusColorScheme; exports.TRUST_FRAMEWORK_MONITORING = TRUST_FRAMEWORK_MONITORING; exports.trustFrameworkMonitoringEntry = trustFrameworkMonitoringEntry; exports.trustFrameworkBadge = trustFrameworkBadge; exports.TRUST_CENTER_SECTIONS = TRUST_CENTER_SECTIONS; exports.TRUST_CENTER_TITLE = TRUST_CENTER_TITLE; exports.TRUST_CENTER_TAGLINE = TRUST_CENTER_TAGLINE; exports.TRUST_CENTER_API_PATH = TRUST_CENTER_API_PATH; exports.TRUST_CENTER_CACHE_SECONDS = TRUST_CENTER_CACHE_SECONDS; exports.TRUST_CENTER_DOCUMENT_CACHE_SECONDS = TRUST_CENTER_DOCUMENT_CACHE_SECONDS; exports.TRUST_CENTER_CARD_ID = TRUST_CENTER_CARD_ID; exports.TRUST_CENTER_DOCUMENT_TYPE = TRUST_CENTER_DOCUMENT_TYPE; exports.TRUST_CENTER_PAGE_PATH = TRUST_CENTER_PAGE_PATH; exports.isTrustCenterMonitored = isTrustCenterMonitored; exports.trustCenterMonitoringStatus = trustCenterMonitoringStatus; exports.trustFrameworksSummary = trustFrameworksSummary; exports.trustCenterDocumentUrl = trustCenterDocumentUrl; exports.trustCenterPdfUrl = trustCenterPdfUrl; exports.visibleTrustCenterSections = visibleTrustCenterSections; exports.TRUST_CENTER_SEARCH_PARAM = TRUST_CENTER_SEARCH_PARAM; exports.TRUST_CENTER_SEARCH_MAX_CHARS = TRUST_CENTER_SEARCH_MAX_CHARS; exports.TRUST_CENTER_SEARCH_DEBOUNCE_MS = TRUST_CENTER_SEARCH_DEBOUNCE_MS; exports.TRUST_CENTER_DOMAIN_PARAM = TRUST_CENTER_DOMAIN_PARAM; exports.normalizeTrustControlQuery = normalizeTrustControlQuery; exports.trustControlQueryMatcher = trustControlQueryMatcher; exports.filterTrustControlDomains = filterTrustControlDomains; exports.trustCenterControlsUrl = trustCenterControlsUrl; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.extractCardItems = extractCardItems; exports.MEDIA_TYPE = MEDIA_TYPE; exports.isVideoMedia = isVideoMedia; exports.isImageMedia = isImageMedia; exports.isPublishableMediaType = isPublishableMediaType; exports.partitionMediaByType = partitionMediaByType; exports.IMAGE_FILE_ACCEPT = IMAGE_FILE_ACCEPT; exports.MEDIA_FILE_ACCEPT = MEDIA_FILE_ACCEPT; exports.fileMediaType = fileMediaType; exports.mediaNameKey = mediaNameKey; exports.fileContentKey = fileContentKey; exports.programStr = programStr; exports.programDateInstant = programDateInstant; exports.webinarTiming = webinarTiming; exports.programMetaLine = programMetaLine; exports.eventAudience = eventAudience; exports.programMetaFormatters = programMetaFormatters; exports.PROGRAM_META_RENDERERS = PROGRAM_META_RENDERERS; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveHrefForRuntime = resolveHrefForRuntime; exports.resolveExternalNavigation = resolveExternalNavigation; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.HeadingLines = HeadingLines; exports.headingAccentClass = headingAccentClass; exports.accentSentenceMarks = accentSentenceMarks; exports.SectionEyebrow = SectionEyebrow; exports.SectionHeading = SectionHeading; exports.ProductReleaseCard = ProductReleaseCard; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.BlogCard = BlogCard; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCard = RoadmapCard; exports.PROGRAM_CARD_SKELETON_HOSTS = PROGRAM_CARD_SKELETON_HOSTS; exports.PROGRAM_CARD_SKELETON_MEDIA = PROGRAM_CARD_SKELETON_MEDIA; exports.ProgramCard = ProgramCard;