@flamingo-stack/openframe-frontend-core 0.0.765 → 0.0.767

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 (1288) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/chat-protocol/decode.d.ts +0 -1
  3. package/dist/chat-protocol/decode.d.ts.map +1 -1
  4. package/dist/chat-protocol/decode.js +1 -3
  5. package/dist/chat-protocol/index.d.ts +1 -0
  6. package/dist/chat-protocol/index.d.ts.map +1 -1
  7. package/dist/chat-protocol/index.js +2 -0
  8. package/dist/{chunk-FQSXZC2K.cjs → chunk-2JRSYWFP.cjs} +3 -3
  9. package/dist/{chunk-I5MSCD57.cjs → chunk-3LW5TD54.cjs} +7 -3
  10. package/dist/{chunk-7AM3AFM4.cjs → chunk-4YIDZCTL.cjs} +1 -3
  11. package/dist/{chunk-SVP6DJFL.cjs → chunk-57B5RUYD.cjs} +2 -2
  12. package/dist/{chunk-R3TWQ3ZJ.cjs → chunk-5P4TDV7V.cjs} +16 -7
  13. package/dist/chunk-65VVJSQZ.cjs +109 -0
  14. package/dist/{chunk-BVA7YX4P.cjs → chunk-7TJVYRHR.cjs} +44 -44
  15. package/dist/{chunk-L2V7K7RR.cjs → chunk-7ZU3AVEX.cjs} +43 -41
  16. package/dist/{chunk-M7YZGRAV.cjs → chunk-AAECWUNV.cjs} +35 -8
  17. package/dist/{chunk-PERN37KO.cjs → chunk-BXMDLQUA.cjs} +5 -25
  18. package/dist/{chunk-YUMFVQIN.cjs → chunk-C42WIUH6.cjs} +11 -5
  19. package/dist/{chunk-22XAPV6N.cjs → chunk-DGNBXZXT.cjs} +1069 -1020
  20. package/dist/{chunk-HOTM4UM6.cjs → chunk-E76ONBKF.cjs} +28 -0
  21. package/dist/{chunk-K6VWTUCH.cjs → chunk-FL2RMEDX.cjs} +2 -2
  22. package/dist/{chunk-FMH2DYBC.cjs → chunk-FVH53QZJ.cjs} +4238 -3915
  23. package/dist/chunk-FZB4RMRK.cjs +695 -0
  24. package/dist/{chunk-PYK4ZSEZ.cjs → chunk-GJ5DHDFQ.cjs} +14 -14
  25. package/dist/{chunk-2OPYWMAV.cjs → chunk-GQ7RGD4Y.cjs} +258 -179
  26. package/dist/{chunk-BIA77I6B.cjs → chunk-GTONIRJU.cjs} +56 -54
  27. package/dist/chunk-I7A5MPXA.cjs +40 -0
  28. package/dist/{chunk-NJS7FQRW.cjs → chunk-IKXUJUXC.cjs} +207 -74
  29. package/dist/{chunk-T5FRANE6.cjs → chunk-JBJVUQVH.cjs} +546 -352
  30. package/dist/{chunk-EQZXJUYV.cjs → chunk-JTSUAHDL.cjs} +73 -51
  31. package/dist/{chunk-2Y36SQSZ.cjs → chunk-KHISVNNH.cjs} +11 -7
  32. package/dist/{chunk-EFTUFJS2.cjs → chunk-LELS4XMX.cjs} +20 -22
  33. package/dist/{chunk-QQ7LKNNP.cjs → chunk-M2UU3CWX.cjs} +13 -13
  34. package/dist/chunk-MNIMYGFR.cjs +495 -0
  35. package/dist/{chunk-ZCU2PYCW.cjs → chunk-MPTMT773.cjs} +62 -62
  36. package/dist/{chunk-LVKUMVUJ.cjs → chunk-NBVZIHGS.cjs} +12 -8
  37. package/dist/{chunk-RQQVN7LC.cjs → chunk-NO2DEFAP.cjs} +521 -413
  38. package/dist/{chunk-OJJ4RL2T.cjs → chunk-R3JX4MXD.cjs} +4 -4
  39. package/dist/{chunk-GY2JESOC.cjs → chunk-RB7VLVMD.cjs} +15 -15
  40. package/dist/{chunk-47GZ33ND.cjs → chunk-REJMFXGD.cjs} +198 -73
  41. package/dist/chunk-RMUSPTJN.cjs +102 -0
  42. package/dist/{chunk-3RFQPQ7Z.cjs → chunk-RNLRS4ID.cjs} +3 -3
  43. package/dist/{chunk-63N4FN5V.cjs → chunk-SETFUCZA.cjs} +7 -7
  44. package/dist/{chunk-2QMBXGMQ.cjs → chunk-TF5D5MNO.cjs} +222 -120
  45. package/dist/{chunk-B3W7RCQF.cjs → chunk-TPOLNGOW.cjs} +105 -117
  46. package/dist/{chunk-NET74KSQ.cjs → chunk-TZ4GKUO2.cjs} +5 -5
  47. package/dist/{chunk-3FC6AKEJ.cjs → chunk-UHDBMKJB.cjs} +200 -87
  48. package/dist/{chunk-MWLD6NXV.cjs → chunk-VFZFCRAL.cjs} +4 -6
  49. package/dist/{chunk-NO5UJLLQ.cjs → chunk-WEANWBJH.cjs} +6 -1
  50. package/dist/{chunk-VLJFAGMR.cjs → chunk-WEPIWJGR.cjs} +103 -61
  51. package/dist/chunk-XFRBEXQN.cjs +304 -0
  52. package/dist/{chunk-AKK3EO37.cjs → chunk-XIFEZ2JT.cjs} +35 -23
  53. package/dist/{chunk-MDB65HQC.cjs → chunk-XIXR6BHI.cjs} +286 -201
  54. package/dist/{chunk-XCH7SPGI.cjs → chunk-XVFM6SJA.cjs} +61 -52
  55. package/dist/{chunk-3RYIF4OW.cjs → chunk-XXJL5GY3.cjs} +3 -3
  56. package/dist/{chunk-GZKWF6NH.cjs → chunk-XZ6DKGT4.cjs} +34 -34
  57. package/dist/{chunk-74ALTXXC.cjs → chunk-YL6ZB2SR.cjs} +1624 -1440
  58. package/dist/{chunk-TSJUL6IH.cjs → chunk-YRFWOJF4.cjs} +16 -8
  59. package/dist/{chunk-HTRILBJD.cjs → chunk-YXDHVHB2.cjs} +30 -13
  60. package/dist/{chunk-RO72PRQI.cjs → chunk-ZRDMGMY7.cjs} +75 -50
  61. package/dist/{chunk-WA4X55XY.cjs → chunk-ZV45VS6K.cjs} +359 -432
  62. package/dist/{cloud-tenants-6PSTDE3F.cjs → cloud-tenants-WXK5RDSY.cjs} +35 -39
  63. package/dist/components/agent-identity.d.ts +1 -2
  64. package/dist/components/agent-identity.d.ts.map +1 -1
  65. package/dist/components/agent-identity.js +0 -1
  66. package/dist/components/agent-mark.d.ts +4 -6
  67. package/dist/components/agent-mark.d.ts.map +1 -1
  68. package/dist/components/agent-mark.js +7 -8
  69. package/dist/components/authors/author-detail-view.d.ts.map +1 -1
  70. package/dist/components/authors/author-detail-view.js +51 -18
  71. package/dist/components/calendar.cjs +10 -10
  72. package/dist/components/case-studies/entity-quotes-panel.d.ts +6 -4
  73. package/dist/components/case-studies/entity-quotes-panel.d.ts.map +1 -1
  74. package/dist/components/case-studies/entity-quotes-panel.js +44 -11
  75. package/dist/components/case-studies/index.cjs +140 -70
  76. package/dist/components/case-studies/index.d.ts +2 -2
  77. package/dist/components/case-studies/index.d.ts.map +1 -1
  78. package/dist/components/case-studies/index.js +5 -2
  79. package/dist/components/case-studies/quote-cards-strip.d.ts +23 -2
  80. package/dist/components/case-studies/quote-cards-strip.d.ts.map +1 -1
  81. package/dist/components/case-studies/quote-cards-strip.js +48 -10
  82. package/dist/components/categories-cart.d.ts +7 -0
  83. package/dist/components/categories-cart.d.ts.map +1 -1
  84. package/dist/components/categories-cart.js +58 -36
  85. package/dist/components/category-card.js +1 -1
  86. package/dist/components/chat/chat-attachment-bar.js +1 -1
  87. package/dist/components/chat/chat-container.d.ts.map +1 -1
  88. package/dist/components/chat/chat-container.js +2 -1
  89. package/dist/components/chat/chat-ticket-list.d.ts +0 -1
  90. package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
  91. package/dist/components/chat/chat-turn.d.ts +31 -1
  92. package/dist/components/chat/chat-turn.d.ts.map +1 -1
  93. package/dist/components/chat/chat-turn.js +85 -19
  94. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  95. package/dist/components/chat/embeddable-chat.js +1 -1
  96. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts +0 -15
  97. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts.map +1 -1
  98. package/dist/components/chat/entity-cards/admin-content-card-grid.js +2 -38
  99. package/dist/components/chat/entity-cards/admin-content-card.d.ts +15 -0
  100. package/dist/components/chat/entity-cards/admin-content-card.d.ts.map +1 -1
  101. package/dist/components/chat/entity-cards/admin-content-card.js +52 -10
  102. package/dist/components/chat/entity-cards/blog-card.d.ts +9 -2
  103. package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
  104. package/dist/components/chat/entity-cards/blog-card.js +49 -33
  105. package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -1
  106. package/dist/components/chat/entity-cards/campaign-card-admin.js +4 -11
  107. package/dist/components/chat/entity-cards/case-study-card.d.ts +27 -9
  108. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  109. package/dist/components/chat/entity-cards/case-study-card.js +80 -54
  110. package/dist/components/chat/entity-cards/chat-ticket-item.d.ts +7 -0
  111. package/dist/components/chat/entity-cards/chat-ticket-item.d.ts.map +1 -1
  112. package/dist/components/chat/entity-cards/chat-ticket-item.js +24 -28
  113. package/dist/components/chat/entity-cards/customer-interview-card.d.ts +9 -2
  114. package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -1
  115. package/dist/components/chat/entity-cards/customer-interview-card.js +39 -36
  116. package/dist/components/chat/entity-cards/data-room-doc-card.d.ts.map +1 -1
  117. package/dist/components/chat/entity-cards/data-room-doc-card.js +14 -16
  118. package/dist/components/chat/entity-cards/design-doc-card.d.ts +8 -2
  119. package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -1
  120. package/dist/components/chat/entity-cards/design-doc-card.js +37 -43
  121. package/dist/components/chat/entity-cards/dispatch.d.ts +2 -5
  122. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  123. package/dist/components/chat/entity-cards/dispatch.js +6 -6
  124. package/dist/components/chat/entity-cards/employee-entry-card.d.ts.map +1 -1
  125. package/dist/components/chat/entity-cards/employee-entry-card.js +5 -5
  126. package/dist/components/chat/entity-cards/entity-author-card.d.ts +33 -6
  127. package/dist/components/chat/entity-cards/entity-author-card.d.ts.map +1 -1
  128. package/dist/components/chat/entity-cards/entity-author-card.js +98 -32
  129. package/dist/components/chat/entity-cards/entity-portrait-card.d.ts +9 -0
  130. package/dist/components/chat/entity-cards/entity-portrait-card.d.ts.map +1 -1
  131. package/dist/components/chat/entity-cards/entity-portrait-card.js +46 -18
  132. package/dist/components/chat/entity-cards/generic-entity-card.d.ts.map +1 -1
  133. package/dist/components/chat/entity-cards/generic-entity-card.js +14 -17
  134. package/dist/components/chat/entity-cards/github-activity-card.d.ts.map +1 -1
  135. package/dist/components/chat/entity-cards/github-activity-card.js +15 -20
  136. package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts.map +1 -1
  137. package/dist/components/chat/entity-cards/hubspot-ticket-card.js +14 -19
  138. package/dist/components/chat/entity-cards/index.d.ts +8 -7
  139. package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
  140. package/dist/components/chat/entity-cards/index.js +21 -8
  141. package/dist/components/chat/entity-cards/investor-update-card.d.ts +9 -3
  142. package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
  143. package/dist/components/chat/entity-cards/investor-update-card.js +28 -28
  144. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts +11 -2
  145. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  146. package/dist/components/chat/entity-cards/onboarding-guide-card.js +66 -63
  147. package/dist/components/chat/entity-cards/program-card.d.ts +9 -2
  148. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
  149. package/dist/components/chat/entity-cards/program-card.js +69 -58
  150. package/dist/components/chat/entity-cards/roadmap-card.d.ts +10 -1
  151. package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -1
  152. package/dist/components/chat/entity-cards/roadmap-card.js +148 -156
  153. package/dist/components/chat/entity-cards/roadmap-vote-button.d.ts.map +1 -1
  154. package/dist/components/chat/entity-cards/roadmap-vote-button.js +5 -1
  155. package/dist/components/chat/entity-cards/slack-message-card.d.ts.map +1 -1
  156. package/dist/components/chat/entity-cards/slack-message-card.js +23 -18
  157. package/dist/components/chat/hooks/index.d.ts +7 -1
  158. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  159. package/dist/components/chat/hooks/index.js +8 -1
  160. package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -1
  161. package/dist/components/chat/hooks/use-ask-prompts.js +3 -1
  162. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +1 -1
  163. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
  164. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts +1 -1
  165. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts.map +1 -1
  166. package/dist/components/chat/hooks/use-chat.d.ts +1 -2
  167. package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
  168. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +0 -2
  169. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  170. package/dist/components/chat/hooks/use-nats-chat-adapter.js +0 -8
  171. package/dist/components/chat/hooks/use-proxied-image-url.d.ts +17 -13
  172. package/dist/components/chat/hooks/use-proxied-image-url.d.ts.map +1 -1
  173. package/dist/components/chat/hooks/use-proxied-image-url.js +10 -8
  174. package/dist/components/chat/hooks/use-slash-commands.d.ts +1 -2
  175. package/dist/components/chat/hooks/use-slash-commands.d.ts.map +1 -1
  176. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +1 -8
  177. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
  178. package/dist/components/chat/hooks/use-sse-chat-adapter.js +1 -1
  179. package/dist/components/chat/index.cjs +44 -29
  180. package/dist/components/chat/index.d.ts.map +1 -1
  181. package/dist/components/chat/index.js +18 -4
  182. package/dist/components/chat/stream/chat-stream-reducer.d.ts +1 -1
  183. package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -1
  184. package/dist/components/chat/stream/chat-stream-reducer.js +1 -1
  185. package/dist/components/chat/types/entities/index.d.ts +6 -4
  186. package/dist/components/chat/types/entities/index.d.ts.map +1 -1
  187. package/dist/components/chat/types/entities/index.js +4 -4
  188. package/dist/components/chat/types/entities/investor-update.d.ts +1 -1
  189. package/dist/components/chat/types/entities/investor-update.d.ts.map +1 -1
  190. package/dist/components/chat/types/entities/program-types.d.ts +2 -1
  191. package/dist/components/chat/types/entities/program-types.d.ts.map +1 -1
  192. package/dist/components/chat/types/entities/program-types.js +1 -4
  193. package/dist/components/chat/utils/compact-card-classes.d.ts +9 -1
  194. package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
  195. package/dist/components/chat/utils/compact-card-classes.js +11 -2
  196. package/dist/components/chat/utils/compact-card-skeleton.d.ts +40 -0
  197. package/dist/components/chat/utils/compact-card-skeleton.d.ts.map +1 -0
  198. package/dist/components/chat/utils/compact-card-skeleton.js +61 -0
  199. package/dist/components/chat/utils/icon-library.d.ts +0 -1
  200. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  201. package/dist/components/chat/utils/index.d.ts +5 -3
  202. package/dist/components/chat/utils/index.d.ts.map +1 -1
  203. package/dist/components/chat/utils/index.js +3 -2
  204. package/dist/components/chat/utils/scroll-anchor.d.ts +1 -2
  205. package/dist/components/chat/utils/scroll-anchor.d.ts.map +1 -1
  206. package/dist/components/chat/utils/scroll-anchor.js +0 -1
  207. package/dist/components/chat/utils/source-row-cta.d.ts +0 -2
  208. package/dist/components/chat/utils/source-row-cta.d.ts.map +1 -1
  209. package/dist/components/chat/utils/source-row-cta.js +1 -2
  210. package/dist/components/comment-card.d.ts +15 -0
  211. package/dist/components/comment-card.d.ts.map +1 -1
  212. package/dist/components/comment-card.js +178 -119
  213. package/dist/components/comment-thread.d.ts +29 -0
  214. package/dist/components/comment-thread.d.ts.map +1 -1
  215. package/dist/components/comment-thread.js +76 -18
  216. package/dist/components/contact/index.cjs +36 -40
  217. package/dist/components/content-loading-container.d.ts +1 -1
  218. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  219. package/dist/components/docs/doc-viewer.js +10 -9
  220. package/dist/components/docs/index.cjs +39 -43
  221. package/dist/components/docs/skeletons.d.ts +0 -5
  222. package/dist/components/docs/skeletons.d.ts.map +1 -1
  223. package/dist/components/docs/skeletons.js +30 -50
  224. package/dist/components/docs/use-document-tree.d.ts +0 -1
  225. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  226. package/dist/components/docs/use-document-tree.js +6 -1
  227. package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
  228. package/dist/components/embeds/embed-iframe.js +3 -0
  229. package/dist/components/embeds/index.cjs +38 -40
  230. package/dist/components/embeds/index.d.ts +1 -1
  231. package/dist/components/embeds/index.d.ts.map +1 -1
  232. package/dist/components/embeds/index.js +2 -1
  233. package/dist/components/embeds/markdown-image.d.ts.map +1 -1
  234. package/dist/components/embeds/markdown-image.js +5 -2
  235. package/dist/components/embeds/og-link-preview.d.ts +7 -3
  236. package/dist/components/embeds/og-link-preview.d.ts.map +1 -1
  237. package/dist/components/embeds/og-link-preview.js +106 -62
  238. package/dist/components/embeds/rich-markdown-runtime.d.ts +4 -1
  239. package/dist/components/embeds/rich-markdown-runtime.d.ts.map +1 -1
  240. package/dist/components/embeds/rich-markdown-runtime.js +6 -5
  241. package/dist/components/faq/faq-document-page.d.ts +5 -1
  242. package/dist/components/faq/faq-document-page.d.ts.map +1 -1
  243. package/dist/components/faq/faq-document-page.js +5 -1
  244. package/dist/components/faq/faq-section.d.ts +34 -1
  245. package/dist/components/faq/faq-section.d.ts.map +1 -1
  246. package/dist/components/faq/faq-section.js +146 -59
  247. package/dist/components/faq/index.cjs +41 -41
  248. package/dist/components/faq/index.d.ts +1 -1
  249. package/dist/components/faq/index.d.ts.map +1 -1
  250. package/dist/components/faq/index.js +9 -1
  251. package/dist/components/faq-accordion.d.ts +15 -0
  252. package/dist/components/faq-accordion.d.ts.map +1 -1
  253. package/dist/components/faq-accordion.js +37 -9
  254. package/dist/components/features/ai-enrich/AIStatusIndicator.d.ts.map +1 -1
  255. package/dist/components/features/ai-enrich/AIStatusIndicator.js +2 -1
  256. package/dist/components/features/approval-level.d.ts +15 -1
  257. package/dist/components/features/approval-level.d.ts.map +1 -1
  258. package/dist/components/features/approval-level.js +42 -6
  259. package/dist/components/features/capability-explorer.d.ts +5 -1
  260. package/dist/components/features/capability-explorer.d.ts.map +1 -1
  261. package/dist/components/features/capability-explorer.js +42 -37
  262. package/dist/components/features/cards-strip.d.ts +9 -0
  263. package/dist/components/features/cards-strip.d.ts.map +1 -1
  264. package/dist/components/features/cards-strip.js +35 -11
  265. package/dist/components/features/command-box.d.ts +19 -0
  266. package/dist/components/features/command-box.d.ts.map +1 -1
  267. package/dist/components/features/command-box.js +103 -11
  268. package/dist/components/features/conversation-card.d.ts +70 -5
  269. package/dist/components/features/conversation-card.d.ts.map +1 -1
  270. package/dist/components/features/conversation-card.js +146 -13
  271. package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -1
  272. package/dist/components/features/devices/device-selector/device-selector.js +1 -0
  273. package/dist/components/features/devices/devices-panel-view.d.ts +1 -1
  274. package/dist/components/features/devices/devices-panel-view.js +1 -1
  275. package/dist/components/features/entity-tag-badges.d.ts +32 -7
  276. package/dist/components/features/entity-tag-badges.d.ts.map +1 -1
  277. package/dist/components/features/entity-tag-badges.js +73 -9
  278. package/dist/components/features/entity-video-section.d.ts +14 -14
  279. package/dist/components/features/entity-video-section.d.ts.map +1 -1
  280. package/dist/components/features/entity-video-section.js +29 -22
  281. package/dist/components/features/figma-prototype-viewer.d.ts.map +1 -1
  282. package/dist/components/features/figma-prototype-viewer.js +3 -10
  283. package/dist/components/features/index.cjs +77 -39
  284. package/dist/components/features/index.d.ts +3 -0
  285. package/dist/components/features/index.d.ts.map +1 -1
  286. package/dist/components/features/index.js +5 -0
  287. package/dist/components/features/knowledge-base/index.d.ts +2 -1
  288. package/dist/components/features/knowledge-base/index.d.ts.map +1 -1
  289. package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts +0 -1
  290. package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts.map +1 -1
  291. package/dist/components/features/model-token-rates.d.ts.map +1 -1
  292. package/dist/components/features/model-token-rates.js +50 -78
  293. package/dist/components/features/notifications/approval-request-notification-tile.d.ts.map +1 -1
  294. package/dist/components/features/notifications/approval-request-notification-tile.js +9 -5
  295. package/dist/components/features/notifications/notification-tile.d.ts +22 -7
  296. package/dist/components/features/notifications/notification-tile.d.ts.map +1 -1
  297. package/dist/components/features/notifications/notification-tile.js +42 -15
  298. package/dist/components/features/paths-display.d.ts +9 -0
  299. package/dist/components/features/paths-display.d.ts.map +1 -1
  300. package/dist/components/features/paths-display.js +50 -5
  301. package/dist/components/features/platform-badge.d.ts +2 -0
  302. package/dist/components/features/platform-badge.d.ts.map +1 -1
  303. package/dist/components/features/platform-badge.js +33 -2
  304. package/dist/components/features/push-button-selector.d.ts +23 -1
  305. package/dist/components/features/push-button-selector.d.ts.map +1 -1
  306. package/dist/components/features/push-button-selector.js +114 -41
  307. package/dist/components/features/remote-session/index.d.ts +2 -2
  308. package/dist/components/features/remote-session/index.d.ts.map +1 -1
  309. package/dist/components/features/remote-session/index.js +3 -3
  310. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts +2 -0
  311. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -1
  312. package/dist/components/features/remote-session/remote-desktop-chat-message-row.js +18 -4
  313. package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts.map +1 -1
  314. package/dist/components/features/remote-session/remote-desktop-chat-panel.js +11 -2
  315. package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -6
  316. package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
  317. package/dist/components/features/remote-session/remote-desktop-view.js +27 -27
  318. package/dist/components/features/remote-session/remote-session-chat-panel.js +1 -1
  319. package/dist/components/features/status-filter-component.d.ts +19 -1
  320. package/dist/components/features/status-filter-component.d.ts.map +1 -1
  321. package/dist/components/features/status-filter-component.js +106 -43
  322. package/dist/components/features/use-video-warmup.d.ts +1 -1
  323. package/dist/components/features/use-video-warmup.d.ts.map +1 -1
  324. package/dist/components/features/use-video-warmup.js +2 -5
  325. package/dist/components/features/use-walkthrough-video.d.ts.map +1 -1
  326. package/dist/components/features/use-walkthrough-video.js +4 -1
  327. package/dist/components/features/video-bites-strip.d.ts +42 -1
  328. package/dist/components/features/video-bites-strip.d.ts.map +1 -1
  329. package/dist/components/features/video-bites-strip.js +100 -21
  330. package/dist/components/features/video-hover-preview.d.ts +1 -1
  331. package/dist/components/features/video-hover-preview.d.ts.map +1 -1
  332. package/dist/components/features/video.d.ts +9 -2
  333. package/dist/components/features/video.d.ts.map +1 -1
  334. package/dist/components/features/video.js +10 -5
  335. package/dist/components/features/walkthrough-video.d.ts.map +1 -1
  336. package/dist/components/features/walkthrough-video.js +8 -2
  337. package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -1
  338. package/dist/components/help-center-pages/download-apps-page.js +65 -33
  339. package/dist/components/help-center-pages/index.cjs +410 -316
  340. package/dist/components/help-center-pages/trust-center-page.d.ts +21 -9
  341. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  342. package/dist/components/help-center-pages/trust-center-page.js +100 -67
  343. package/dist/components/help-center-pages/trust-center-sections.d.ts +19 -14
  344. package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
  345. package/dist/components/help-center-pages/trust-center-sections.js +124 -97
  346. package/dist/components/icon-display.d.ts.map +1 -1
  347. package/dist/components/icon-display.js +6 -0
  348. package/dist/components/index.cjs +1505 -380
  349. package/dist/components/index.d.ts +5 -2
  350. package/dist/components/index.d.ts.map +1 -1
  351. package/dist/components/index.js +12 -2
  352. package/dist/components/interactive-wrapper.d.ts.map +1 -1
  353. package/dist/components/interactive-wrapper.js +2 -1
  354. package/dist/components/layout/list-page-layout.d.ts +3 -3
  355. package/dist/components/layout/list-page-layout.d.ts.map +1 -1
  356. package/dist/components/layout/page-container.d.ts +8 -1
  357. package/dist/components/layout/page-container.d.ts.map +1 -1
  358. package/dist/components/layout/page-container.js +25 -10
  359. package/dist/components/layout/page-data-sync.d.ts +7 -1
  360. package/dist/components/layout/page-data-sync.d.ts.map +1 -1
  361. package/dist/components/layout/page-data-sync.js +13 -4
  362. package/dist/components/layout/page-heading.d.ts +31 -0
  363. package/dist/components/layout/page-heading.d.ts.map +1 -1
  364. package/dist/components/layout/page-heading.js +44 -1
  365. package/dist/components/layout/page-layout.d.ts +4 -4
  366. package/dist/components/layout/page-layout.d.ts.map +1 -1
  367. package/dist/components/layout/page-layout.js +4 -5
  368. package/dist/components/layout/title-block.d.ts +12 -1
  369. package/dist/components/layout/title-block.d.ts.map +1 -1
  370. package/dist/components/layout/title-block.js +50 -12
  371. package/dist/components/loading/category-vendor-selector-skeleton.d.ts +3 -0
  372. package/dist/components/loading/category-vendor-selector-skeleton.d.ts.map +1 -1
  373. package/dist/components/loading/deprecated-layout-skeletons.d.ts +25 -0
  374. package/dist/components/loading/deprecated-layout-skeletons.d.ts.map +1 -0
  375. package/dist/components/loading/deprecated-layout-skeletons.js +78 -0
  376. package/dist/components/loading/device-card-skeleton.js +4 -4
  377. package/dist/components/loading/index.d.ts +4 -3
  378. package/dist/components/loading/index.d.ts.map +1 -1
  379. package/dist/components/loading/index.js +10 -16
  380. package/dist/components/loading/loading-region.d.ts +10 -9
  381. package/dist/components/loading/loading-region.d.ts.map +1 -1
  382. package/dist/components/loading/loading-region.js +4 -1
  383. package/dist/components/loading/msp-profile-form-skeleton.d.ts +2 -0
  384. package/dist/components/loading/msp-profile-form-skeleton.d.ts.map +1 -1
  385. package/dist/components/loading/organization-card-skeleton.d.ts +14 -10
  386. package/dist/components/loading/organization-card-skeleton.d.ts.map +1 -1
  387. package/dist/components/loading/organization-card-skeleton.js +38 -40
  388. package/dist/components/loading/page-layout-skeleton.d.ts +7 -51
  389. package/dist/components/loading/page-layout-skeleton.d.ts.map +1 -1
  390. package/dist/components/loading/page-layout-skeleton.js +2 -411
  391. package/dist/components/loading/settings-form-skeleton.d.ts +2 -0
  392. package/dist/components/loading/settings-form-skeleton.d.ts.map +1 -1
  393. package/dist/components/loading/unified-skeleton.d.ts +57 -9
  394. package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
  395. package/dist/components/loading/unified-skeleton.js +57 -8
  396. package/dist/components/log-severity-dot.d.ts +2 -0
  397. package/dist/components/log-severity-dot.d.ts.map +1 -1
  398. package/dist/components/log-severity-dot.js +11 -13
  399. package/dist/components/logs-list.d.ts.map +1 -1
  400. package/dist/components/logs-list.js +34 -43
  401. package/dist/components/media-carousel.d.ts +0 -1
  402. package/dist/components/media-carousel.d.ts.map +1 -1
  403. package/dist/components/meeting-scheduler/booking-form.d.ts +52 -8
  404. package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
  405. package/dist/components/meeting-scheduler/booking-form.js +150 -30
  406. package/dist/components/meeting-scheduler/context-panel.d.ts +18 -2
  407. package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
  408. package/dist/components/meeting-scheduler/context-panel.js +61 -23
  409. package/dist/components/meeting-scheduler/directory.d.ts +11 -1
  410. package/dist/components/meeting-scheduler/directory.d.ts.map +1 -1
  411. package/dist/components/meeting-scheduler/directory.js +47 -27
  412. package/dist/components/meeting-scheduler/index.cjs +556 -344
  413. package/dist/components/meeting-scheduler/index.d.ts +5 -4
  414. package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
  415. package/dist/components/meeting-scheduler/index.js +127 -102
  416. package/dist/components/meeting-scheduler/modal-header.d.ts +7 -3
  417. package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -1
  418. package/dist/components/meeting-scheduler/modal-header.js +29 -18
  419. package/dist/components/meeting-scheduler/slot-picker.d.ts +11 -4
  420. package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
  421. package/dist/components/meeting-scheduler/slot-picker.js +12 -7
  422. package/dist/components/metric-value.d.ts +5 -0
  423. package/dist/components/metric-value.d.ts.map +1 -1
  424. package/dist/components/metric-value.js +15 -3
  425. package/dist/components/msp-display.d.ts +5 -0
  426. package/dist/components/msp-display.d.ts.map +1 -1
  427. package/dist/components/msp-display.js +19 -14
  428. package/dist/components/navigation/app-layout.d.ts +0 -2
  429. package/dist/components/navigation/app-layout.d.ts.map +1 -1
  430. package/dist/components/navigation/app-layout.js +1 -4
  431. package/dist/components/navigation/index.cjs +48 -42
  432. package/dist/components/navigation/index.d.ts +8 -3
  433. package/dist/components/navigation/index.d.ts.map +1 -1
  434. package/dist/components/navigation/index.js +18 -3
  435. package/dist/components/navigation/mingo-ai-button.d.ts +0 -2
  436. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  437. package/dist/components/navigation/mingo-ai-button.js +2 -4
  438. package/dist/components/navigation/mobile-nav-sheet.d.ts +0 -1
  439. package/dist/components/navigation/mobile-nav-sheet.d.ts.map +1 -1
  440. package/dist/components/navigation/mobile-nav-sheet.js +0 -2
  441. package/dist/components/navigation/multi-level-navigation.d.ts +21 -0
  442. package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
  443. package/dist/components/navigation/multi-level-navigation.js +98 -24
  444. package/dist/components/navigation/page-section-bar.d.ts +50 -0
  445. package/dist/components/navigation/page-section-bar.d.ts.map +1 -0
  446. package/dist/components/navigation/page-section-bar.js +85 -0
  447. package/dist/components/navigation/sticky-section-nav.d.ts +12 -0
  448. package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
  449. package/dist/components/navigation/sticky-section-nav.js +87 -20
  450. package/dist/components/navigation/ticket-alerts-button.js +1 -1
  451. package/dist/components/onboarding-guides/hooks/use-onboarding-guides.d.ts.map +1 -1
  452. package/dist/components/onboarding-guides/hooks/use-onboarding-guides.js +7 -1
  453. package/dist/components/onboarding-guides/index.cjs +38 -42
  454. package/dist/components/onboarding-guides/index.d.ts +1 -2
  455. package/dist/components/onboarding-guides/index.d.ts.map +1 -1
  456. package/dist/components/onboarding-guides/index.js +5 -3
  457. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts +8 -0
  458. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  459. package/dist/components/onboarding-guides/onboarding-guide-detail-view.js +142 -84
  460. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +18 -17
  461. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -1
  462. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.js +28 -21
  463. package/dist/components/onboarding-guides/onboarding-guides-catalog-view.d.ts.map +1 -1
  464. package/dist/components/onboarding-guides/onboarding-guides-catalog-view.js +57 -18
  465. package/dist/components/pagination.d.ts +26 -2
  466. package/dist/components/pagination.d.ts.map +1 -1
  467. package/dist/components/pagination.js +61 -38
  468. package/dist/components/persistent-filter-controls.d.ts.map +1 -1
  469. package/dist/components/persistent-filter-controls.js +1 -2
  470. package/dist/components/persistent-pagination.d.ts.map +1 -1
  471. package/dist/components/persistent-pagination.js +3 -1
  472. package/dist/components/platform/ToolBadge.d.ts +13 -1
  473. package/dist/components/platform/ToolBadge.d.ts.map +1 -1
  474. package/dist/components/platform/ToolBadge.js +38 -9
  475. package/dist/components/platform/index.d.ts +2 -2
  476. package/dist/components/platform/index.d.ts.map +1 -1
  477. package/dist/components/platform/index.js +4 -2
  478. package/dist/components/platform/tool-badge-mark.d.ts +6 -0
  479. package/dist/components/platform/tool-badge-mark.d.ts.map +1 -0
  480. package/dist/components/platform/tool-badge-mark.js +6 -0
  481. package/dist/components/product-demo/fixtures/devices.d.ts +0 -2
  482. package/dist/components/product-demo/fixtures/devices.d.ts.map +1 -1
  483. package/dist/components/product-demo/fixtures/devices.js +0 -2
  484. package/dist/components/product-demo/index.cjs +1889 -32
  485. package/dist/components/product-demo/product-screen.d.ts +5 -5
  486. package/dist/components/product-demo/product-screen.d.ts.map +1 -1
  487. package/dist/components/product-demo/product-screen.js +19 -15
  488. package/dist/components/product-demo/screen-loading.d.ts +10 -0
  489. package/dist/components/product-demo/screen-loading.d.ts.map +1 -0
  490. package/dist/components/product-demo/screen-loading.js +12 -0
  491. package/dist/components/product-demo/screens/devices-view.d.ts +22 -0
  492. package/dist/components/product-demo/screens/devices-view.d.ts.map +1 -0
  493. package/dist/components/product-demo/screens/devices-view.js +35 -0
  494. package/dist/components/product-demo/screens/devices.d.ts +1 -7
  495. package/dist/components/product-demo/screens/devices.d.ts.map +1 -1
  496. package/dist/components/product-demo/screens/devices.js +8 -15
  497. package/dist/components/related-content/card-registry.d.ts +3 -2
  498. package/dist/components/related-content/card-registry.d.ts.map +1 -1
  499. package/dist/components/related-content/card-registry.js +15 -3
  500. package/dist/components/related-content/index.cjs +19 -18
  501. package/dist/components/related-content/index.d.ts +2 -1
  502. package/dist/components/related-content/index.d.ts.map +1 -1
  503. package/dist/components/related-content/index.js +3 -1
  504. package/dist/components/related-content/related-content-section.d.ts +14 -1
  505. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  506. package/dist/components/related-content/related-content-section.js +144 -32
  507. package/dist/components/results-count.d.ts +5 -0
  508. package/dist/components/results-count.d.ts.map +1 -1
  509. package/dist/components/results-count.js +30 -6
  510. package/dist/components/shared/article-author-byline.d.ts +8 -0
  511. package/dist/components/shared/article-author-byline.d.ts.map +1 -1
  512. package/dist/components/shared/article-author-byline.js +54 -52
  513. package/dist/components/shared/delivery/delivery-lists.d.ts.map +1 -1
  514. package/dist/components/shared/delivery/delivery-lists.js +14 -2
  515. package/dist/components/shared/delivery/delivery-row.d.ts +5 -0
  516. package/dist/components/shared/delivery/delivery-row.d.ts.map +1 -1
  517. package/dist/components/shared/delivery/delivery-row.js +37 -10
  518. package/dist/components/shared/delivery/delivery-table.d.ts +4 -0
  519. package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -1
  520. package/dist/components/shared/delivery/delivery-table.js +14 -26
  521. package/dist/components/shared/detail-page-skeleton.d.ts +3 -0
  522. package/dist/components/shared/detail-page-skeleton.d.ts.map +1 -1
  523. package/dist/components/shared/detail-page-skeleton.js +9 -1
  524. package/dist/components/shared/dev-section/dev-card-row.d.ts +2 -0
  525. package/dist/components/shared/dev-section/dev-card-row.d.ts.map +1 -1
  526. package/dist/components/shared/dev-section/dev-card-row.js +31 -21
  527. package/dist/components/shared/dev-section/dev-section-view.js +1 -1
  528. package/dist/components/shared/legal-document/index.d.ts +1 -1
  529. package/dist/components/shared/legal-document/index.d.ts.map +1 -1
  530. package/dist/components/shared/legal-document/index.js +5 -1
  531. package/dist/components/shared/legal-document/legal-document-page.d.ts +14 -0
  532. package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
  533. package/dist/components/shared/legal-document/legal-document-page.js +47 -42
  534. package/dist/components/shared/legal-document/use-legal-docs.d.ts.map +1 -1
  535. package/dist/components/shared/legal-document/use-legal-docs.js +4 -1
  536. package/dist/components/shared/legal-document/use-legal-documents.d.ts.map +1 -1
  537. package/dist/components/shared/legal-document/use-legal-documents.js +3 -1
  538. package/dist/components/shared/media-gallery-strip.d.ts +7 -0
  539. package/dist/components/shared/media-gallery-strip.d.ts.map +1 -1
  540. package/dist/components/shared/media-gallery-strip.js +22 -3
  541. package/dist/components/shared/onboarding/index.d.ts +2 -1
  542. package/dist/components/shared/onboarding/index.d.ts.map +1 -1
  543. package/dist/components/shared/onboarding/index.js +1 -3
  544. package/dist/components/shared/product-release/index.d.ts +2 -1
  545. package/dist/components/shared/product-release/index.d.ts.map +1 -1
  546. package/dist/components/shared/product-release/product-release-card-classes.d.ts +26 -0
  547. package/dist/components/shared/product-release/product-release-card-classes.d.ts.map +1 -0
  548. package/dist/components/shared/product-release/product-release-card-classes.js +40 -0
  549. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
  550. package/dist/components/shared/product-release/product-release-card-skeleton.js +37 -35
  551. package/dist/components/shared/product-release/product-release-card.d.ts +3 -1
  552. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  553. package/dist/components/shared/product-release/product-release-card.js +86 -73
  554. package/dist/components/shared/product-release/product-releases-view.d.ts.map +1 -1
  555. package/dist/components/shared/product-release/product-releases-view.js +26 -13
  556. package/dist/components/shared/product-release/release-detail-page.d.ts +0 -1
  557. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  558. package/dist/components/shared/product-release/release-detail-page.js +281 -215
  559. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +9 -1
  560. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -1
  561. package/dist/components/shared/roadmap/roadmap-grid-skeleton.js +12 -11
  562. package/dist/components/shared/roadmap/roadmap-grid.d.ts +13 -1
  563. package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -1
  564. package/dist/components/shared/roadmap/roadmap-grid.js +45 -29
  565. package/dist/components/shared/roadmap/roadmap-view.d.ts.map +1 -1
  566. package/dist/components/shared/roadmap/roadmap-view.js +2 -3
  567. package/dist/components/social-icon-row.d.ts +9 -2
  568. package/dist/components/social-icon-row.d.ts.map +1 -1
  569. package/dist/components/social-icon-row.js +12 -6
  570. package/dist/components/tickets/help-center-list.d.ts.map +1 -1
  571. package/dist/components/tickets/help-center-list.js +6 -2
  572. package/dist/components/tickets/hooks/use-ticket-actions.d.ts +2 -2
  573. package/dist/components/tickets/hooks/use-ticket-actions.d.ts.map +1 -1
  574. package/dist/components/tickets/index.cjs +42 -46
  575. package/dist/components/tickets/index.d.ts +2 -1
  576. package/dist/components/tickets/index.d.ts.map +1 -1
  577. package/dist/components/tickets/index.js +2 -3
  578. package/dist/components/tickets/ticket-center.d.ts.map +1 -1
  579. package/dist/components/tickets/ticket-center.js +117 -58
  580. package/dist/components/tickets/types.d.ts +0 -8
  581. package/dist/components/tickets/types.d.ts.map +1 -1
  582. package/dist/components/tickets/types.js +0 -3
  583. package/dist/components/toggle-group.d.ts +4 -2
  584. package/dist/components/toggle-group.d.ts.map +1 -1
  585. package/dist/components/toggle-group.js +3 -1
  586. package/dist/components/tool-icon.d.ts.map +1 -1
  587. package/dist/components/ui/analyzing-state.d.ts +3 -2
  588. package/dist/components/ui/analyzing-state.d.ts.map +1 -1
  589. package/dist/components/ui/analyzing-state.js +7 -4
  590. package/dist/components/ui/announcement-bar-view.d.ts +5 -0
  591. package/dist/components/ui/announcement-bar-view.d.ts.map +1 -1
  592. package/dist/components/ui/announcement-bar-view.js +3 -1
  593. package/dist/components/ui/autocomplete.d.ts +13 -0
  594. package/dist/components/ui/autocomplete.d.ts.map +1 -1
  595. package/dist/components/ui/autocomplete.js +30 -6
  596. package/dist/components/ui/avatar-stack.d.ts +7 -0
  597. package/dist/components/ui/avatar-stack.d.ts.map +1 -1
  598. package/dist/components/ui/avatar-stack.js +29 -4
  599. package/dist/components/ui/badge.d.ts +9 -1
  600. package/dist/components/ui/badge.d.ts.map +1 -1
  601. package/dist/components/ui/badge.js +11 -0
  602. package/dist/components/ui/benefit-list.d.ts +8 -0
  603. package/dist/components/ui/benefit-list.d.ts.map +1 -1
  604. package/dist/components/ui/benefit-list.js +20 -11
  605. package/dist/components/ui/button/button-styles.d.ts +16 -0
  606. package/dist/components/ui/button/button-styles.d.ts.map +1 -1
  607. package/dist/components/ui/button/button-styles.js +42 -0
  608. package/dist/components/ui/button/button.d.ts +3 -1
  609. package/dist/components/ui/button/button.d.ts.map +1 -1
  610. package/dist/components/ui/button/button.js +4 -40
  611. package/dist/components/ui/button/index.d.ts +1 -0
  612. package/dist/components/ui/button/index.d.ts.map +1 -1
  613. package/dist/components/ui/button/index.js +4 -0
  614. package/dist/components/ui/card.d.ts +13 -1
  615. package/dist/components/ui/card.d.ts.map +1 -1
  616. package/dist/components/ui/card.js +21 -14
  617. package/dist/components/ui/checkbox.d.ts +2 -0
  618. package/dist/components/ui/checkbox.d.ts.map +1 -1
  619. package/dist/components/ui/checkbox.js +5 -1
  620. package/dist/components/ui/compliance-badge.d.ts +2 -0
  621. package/dist/components/ui/compliance-badge.d.ts.map +1 -1
  622. package/dist/components/ui/compliance-badge.js +5 -2
  623. package/dist/components/ui/cursor-pagination.d.ts +8 -1
  624. package/dist/components/ui/cursor-pagination.d.ts.map +1 -1
  625. package/dist/components/ui/cursor-pagination.js +10 -4
  626. package/dist/components/ui/dashboard-info-card.d.ts +6 -1
  627. package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
  628. package/dist/components/ui/dashboard-info-card.js +19 -10
  629. package/dist/components/ui/data-attribution.d.ts +10 -5
  630. package/dist/components/ui/data-attribution.d.ts.map +1 -1
  631. package/dist/components/ui/data-attribution.js +27 -9
  632. package/dist/components/ui/data-table/data-table-body.d.ts +1 -1
  633. package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
  634. package/dist/components/ui/data-table/data-table-body.js +18 -7
  635. package/dist/components/ui/data-table/data-table-row-count.d.ts +5 -0
  636. package/dist/components/ui/data-table/data-table-row-count.d.ts.map +1 -1
  637. package/dist/components/ui/data-table/data-table-row-count.js +18 -3
  638. package/dist/components/ui/data-table/data-table-row.d.ts.map +1 -1
  639. package/dist/components/ui/data-table/data-table-row.js +2 -6
  640. package/dist/components/ui/data-table/data-table-skeleton.js +5 -5
  641. package/dist/components/ui/data-table/index.d.ts +2 -2
  642. package/dist/components/ui/data-table/index.d.ts.map +1 -1
  643. package/dist/components/ui/data-table/index.js +2 -1
  644. package/dist/components/ui/date-picker.d.ts +0 -1
  645. package/dist/components/ui/date-picker.d.ts.map +1 -1
  646. package/dist/components/ui/entity-image.d.ts +4 -0
  647. package/dist/components/ui/entity-image.d.ts.map +1 -1
  648. package/dist/components/ui/entity-image.js +27 -5
  649. package/dist/components/ui/error-state.d.ts.map +1 -1
  650. package/dist/components/ui/error-state.js +4 -1
  651. package/dist/components/ui/feature-card.d.ts +31 -1
  652. package/dist/components/ui/feature-card.d.ts.map +1 -1
  653. package/dist/components/ui/feature-card.js +40 -11
  654. package/dist/components/ui/feature-list.d.ts +15 -1
  655. package/dist/components/ui/feature-list.d.ts.map +1 -1
  656. package/dist/components/ui/feature-list.js +43 -8
  657. package/dist/components/ui/field-wrapper.d.ts +6 -0
  658. package/dist/components/ui/field-wrapper.d.ts.map +1 -1
  659. package/dist/components/ui/field-wrapper.js +16 -5
  660. package/dist/components/ui/file-manager/index.cjs +63 -64
  661. package/dist/components/ui/filter-checkbox-item.d.ts +9 -0
  662. package/dist/components/ui/filter-checkbox-item.d.ts.map +1 -1
  663. package/dist/components/ui/filter-checkbox-item.js +36 -6
  664. package/dist/components/ui/filter-modal.d.ts +2 -3
  665. package/dist/components/ui/filter-modal.d.ts.map +1 -1
  666. package/dist/components/ui/filter-pill-row.d.ts +10 -5
  667. package/dist/components/ui/filter-pill-row.d.ts.map +1 -1
  668. package/dist/components/ui/filter-pill-row.js +56 -19
  669. package/dist/components/ui/incident-feed.d.ts +1 -1
  670. package/dist/components/ui/incident-feed.d.ts.map +1 -1
  671. package/dist/components/ui/incident-feed.js +57 -56
  672. package/dist/components/ui/index.cjs +219 -39
  673. package/dist/components/ui/index.d.ts +10 -1
  674. package/dist/components/ui/index.d.ts.map +1 -1
  675. package/dist/components/ui/index.js +29 -1
  676. package/dist/components/ui/info-card-row.d.ts +12 -0
  677. package/dist/components/ui/info-card-row.d.ts.map +1 -1
  678. package/dist/components/ui/info-card-row.js +56 -30
  679. package/dist/components/ui/info-card.d.ts +24 -1
  680. package/dist/components/ui/info-card.d.ts.map +1 -1
  681. package/dist/components/ui/info-card.js +87 -52
  682. package/dist/components/ui/input-styles.d.ts +7 -0
  683. package/dist/components/ui/input-styles.d.ts.map +1 -0
  684. package/dist/components/ui/input-styles.js +7 -0
  685. package/dist/components/ui/input.d.ts.map +1 -1
  686. package/dist/components/ui/input.js +4 -1
  687. package/dist/components/ui/layout-hold.d.ts +9 -7
  688. package/dist/components/ui/layout-hold.d.ts.map +1 -1
  689. package/dist/components/ui/leader-row.d.ts +11 -4
  690. package/dist/components/ui/leader-row.d.ts.map +1 -1
  691. package/dist/components/ui/leader-row.js +29 -5
  692. package/dist/components/ui/loading-scope.d.ts +26 -0
  693. package/dist/components/ui/loading-scope.d.ts.map +1 -0
  694. package/dist/components/ui/loading-scope.js +31 -0
  695. package/dist/components/ui/markdown/base-components.d.ts +25 -0
  696. package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
  697. package/dist/components/ui/markdown/base-components.js +13 -7
  698. package/dist/components/ui/markdown/engine.d.ts +26 -1
  699. package/dist/components/ui/markdown/engine.d.ts.map +1 -1
  700. package/dist/components/ui/markdown/engine.js +63 -4
  701. package/dist/components/ui/markdown/index.d.ts +5 -3
  702. package/dist/components/ui/markdown/index.d.ts.map +1 -1
  703. package/dist/components/ui/markdown/index.js +12 -4
  704. package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +1 -1
  705. package/dist/components/ui/markdown/mermaid-diagram.js +8 -2
  706. package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +1 -1
  707. package/dist/components/ui/markdown/rich/embed-overrides.js +10 -1
  708. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +10 -0
  709. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +1 -1
  710. package/dist/components/ui/markdown/rich/rich-markdown-renderer.js +21 -5
  711. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +0 -2
  712. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +1 -1
  713. package/dist/components/ui/markdown-editor.d.ts +10 -0
  714. package/dist/components/ui/markdown-editor.d.ts.map +1 -1
  715. package/dist/components/ui/markdown-editor.js +23 -7
  716. package/dist/components/ui/numbered-step.d.ts +10 -0
  717. package/dist/components/ui/numbered-step.d.ts.map +1 -1
  718. package/dist/components/ui/numbered-step.js +19 -2
  719. package/dist/components/ui/organization-card.d.ts.map +1 -1
  720. package/dist/components/ui/organization-card.js +30 -5
  721. package/dist/components/ui/page-actions.d.ts.map +1 -1
  722. package/dist/components/ui/page-actions.js +16 -20
  723. package/dist/components/ui/page-loader.d.ts.map +1 -1
  724. package/dist/components/ui/page-loader.js +2 -1
  725. package/dist/components/ui/people-cell.d.ts +4 -0
  726. package/dist/components/ui/people-cell.d.ts.map +1 -1
  727. package/dist/components/ui/people-cell.js +19 -3
  728. package/dist/components/ui/photo-wall.d.ts +1 -1
  729. package/dist/components/ui/photo-wall.d.ts.map +1 -1
  730. package/dist/components/ui/photo-wall.js +13 -3
  731. package/dist/components/ui/product-screen-frame.d.ts.map +1 -1
  732. package/dist/components/ui/product-screen-frame.js +3 -2
  733. package/dist/components/ui/progress-bar.d.ts +9 -0
  734. package/dist/components/ui/progress-bar.d.ts.map +1 -1
  735. package/dist/components/ui/progress-bar.js +34 -14
  736. package/dist/components/ui/progress.d.ts +15 -0
  737. package/dist/components/ui/progress.d.ts.map +1 -1
  738. package/dist/components/ui/progress.js +8 -3
  739. package/dist/components/ui/release-changelog-section.d.ts +22 -1
  740. package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
  741. package/dist/components/ui/release-changelog-section.js +96 -28
  742. package/dist/components/ui/search-input.d.ts.map +1 -1
  743. package/dist/components/ui/search-input.js +11 -3
  744. package/dist/components/ui/searchable-select.d.ts.map +1 -1
  745. package/dist/components/ui/searchable-select.js +17 -4
  746. package/dist/components/ui/skeleton-surface.d.ts +12 -4
  747. package/dist/components/ui/skeleton-surface.d.ts.map +1 -1
  748. package/dist/components/ui/skeleton-surface.js +6 -2
  749. package/dist/components/ui/slack-channel-chip.d.ts +5 -1
  750. package/dist/components/ui/slack-channel-chip.d.ts.map +1 -1
  751. package/dist/components/ui/slack-channel-chip.js +16 -3
  752. package/dist/components/ui/snap-carousel.d.ts +4 -1
  753. package/dist/components/ui/snap-carousel.d.ts.map +1 -1
  754. package/dist/components/ui/snap-carousel.js +2 -0
  755. package/dist/components/ui/square-avatar.d.ts +3 -0
  756. package/dist/components/ui/square-avatar.d.ts.map +1 -1
  757. package/dist/components/ui/square-avatar.js +38 -23
  758. package/dist/components/ui/stacked-rows-panel.d.ts +24 -1
  759. package/dist/components/ui/stacked-rows-panel.d.ts.map +1 -1
  760. package/dist/components/ui/stacked-rows-panel.js +50 -13
  761. package/dist/components/ui/status-badge.d.ts +10 -2
  762. package/dist/components/ui/status-badge.d.ts.map +1 -1
  763. package/dist/components/ui/status-badge.js +14 -0
  764. package/dist/components/ui/status-indicator.d.ts +4 -0
  765. package/dist/components/ui/status-indicator.d.ts.map +1 -1
  766. package/dist/components/ui/status-indicator.js +16 -3
  767. package/dist/components/ui/status-line.d.ts.map +1 -1
  768. package/dist/components/ui/status-line.js +2 -1
  769. package/dist/components/ui/strip-card.d.ts +9 -0
  770. package/dist/components/ui/strip-card.d.ts.map +1 -1
  771. package/dist/components/ui/strip-card.js +57 -39
  772. package/dist/components/ui/tab-navigation.d.ts +26 -2
  773. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  774. package/dist/components/ui/tab-navigation.js +182 -115
  775. package/dist/components/ui/table/table-header.js +2 -2
  776. package/dist/components/ui/table/table-row.d.ts.map +1 -1
  777. package/dist/components/ui/table/table-row.js +2 -4
  778. package/dist/components/ui/table/table-skeleton.d.ts +6 -1
  779. package/dist/components/ui/table/table-skeleton.d.ts.map +1 -1
  780. package/dist/components/ui/table/table-skeleton.js +38 -50
  781. package/dist/components/ui/table/table.d.ts +1 -1
  782. package/dist/components/ui/table/table.d.ts.map +1 -1
  783. package/dist/components/ui/table/table.js +30 -25
  784. package/dist/components/ui/table/types.d.ts +14 -4
  785. package/dist/components/ui/table/types.d.ts.map +1 -1
  786. package/dist/components/ui/table/utils.d.ts +4 -0
  787. package/dist/components/ui/table/utils.d.ts.map +1 -1
  788. package/dist/components/ui/table/utils.js +4 -0
  789. package/dist/components/ui/tabs.d.ts +22 -1
  790. package/dist/components/ui/tabs.d.ts.map +1 -1
  791. package/dist/components/ui/tabs.js +33 -2
  792. package/dist/components/ui/tag.d.ts +21 -1
  793. package/dist/components/ui/tag.d.ts.map +1 -1
  794. package/dist/components/ui/tag.js +17 -12
  795. package/dist/components/ui/tags-input.d.ts +9 -0
  796. package/dist/components/ui/tags-input.d.ts.map +1 -1
  797. package/dist/components/ui/tags-input.js +41 -10
  798. package/dist/components/ui/textarea.d.ts +17 -1
  799. package/dist/components/ui/textarea.d.ts.map +1 -1
  800. package/dist/components/ui/textarea.js +22 -3
  801. package/dist/components/ui/ticket-info-section.d.ts +0 -1
  802. package/dist/components/ui/ticket-info-section.d.ts.map +1 -1
  803. package/dist/components/ui/timezone-select.d.ts +3 -1
  804. package/dist/components/ui/timezone-select.d.ts.map +1 -1
  805. package/dist/components/ui/timezone-select.js +3 -1
  806. package/dist/components/ui/toggle.d.ts +8 -2
  807. package/dist/components/ui/toggle.d.ts.map +1 -1
  808. package/dist/components/ui/toggle.js +10 -6
  809. package/dist/components/unified-pagination.d.ts +3 -1
  810. package/dist/components/unified-pagination.d.ts.map +1 -1
  811. package/dist/components/unified-pagination.js +7 -1
  812. package/dist/components/user-display.d.ts +11 -0
  813. package/dist/components/user-display.d.ts.map +1 -1
  814. package/dist/components/user-display.js +38 -14
  815. package/dist/components/user-summary-stub.d.ts.map +1 -1
  816. package/dist/components/user-summary-stub.js +7 -14
  817. package/dist/components/vendor-display-button.d.ts +4 -0
  818. package/dist/components/vendor-display-button.d.ts.map +1 -1
  819. package/dist/components/vendor-display-button.js +11 -13
  820. package/dist/components/vendor-icon.d.ts +5 -0
  821. package/dist/components/vendor-icon.d.ts.map +1 -1
  822. package/dist/components/vendor-icon.js +12 -3
  823. package/dist/components/vendor-tag.d.ts +5 -0
  824. package/dist/components/vendor-tag.d.ts.map +1 -1
  825. package/dist/components/vendor-tag.js +13 -5
  826. package/dist/{devices-O5PZ4IR6.cjs → devices-UHHHTCJF.cjs} +43 -55
  827. package/dist/embed-shims/index.cjs +4 -2
  828. package/dist/embed-shims/next-image.cjs +4 -2
  829. package/dist/embed-shims/next-image.d.ts.map +1 -1
  830. package/dist/embed-shims/next-image.js +24 -0
  831. package/dist/{embeddable-chat-YFUCVDMV.cjs → embeddable-chat-YL6ZSTDJ.cjs} +117 -119
  832. package/dist/hooks/index.cjs +12 -12
  833. package/dist/hooks/state/flatten-schema.d.ts +0 -1
  834. package/dist/hooks/state/flatten-schema.d.ts.map +1 -1
  835. package/dist/hooks/state/flatten-schema.js +0 -2
  836. package/dist/hooks/state/index.d.ts +6 -3
  837. package/dist/hooks/state/index.d.ts.map +1 -1
  838. package/dist/hooks/state/index.js +4 -3
  839. package/dist/hooks/state/url-converter.d.ts +1 -1
  840. package/dist/hooks/state/url-converter.d.ts.map +1 -1
  841. package/dist/hooks/state/url-converter.js +1 -2
  842. package/dist/hooks/state/use-api-params.d.ts +1 -3
  843. package/dist/hooks/state/use-api-params.d.ts.map +1 -1
  844. package/dist/hooks/state/use-api-params.js +1 -5
  845. package/dist/hooks/ui/index.d.ts +1 -0
  846. package/dist/hooks/ui/index.d.ts.map +1 -1
  847. package/dist/hooks/ui/use-image-edge-color.d.ts +1 -1
  848. package/dist/hooks/ui/use-image-edge-color.d.ts.map +1 -1
  849. package/dist/hooks/ui/use-image-edge-color.js +3 -1
  850. package/dist/hooks/ui/use-onboarding-state.d.ts +0 -1
  851. package/dist/hooks/ui/use-onboarding-state.d.ts.map +1 -1
  852. package/dist/hooks/use-downloads.d.ts +1 -1
  853. package/dist/hooks/use-downloads.d.ts.map +1 -1
  854. package/dist/hooks/use-downloads.js +8 -1
  855. package/dist/hooks/use-meeting-booking.d.ts.map +1 -1
  856. package/dist/hooks/use-meeting-booking.js +3 -0
  857. package/dist/hooks/use-self-fetch.d.ts +1 -1
  858. package/dist/hooks/use-self-fetch.d.ts.map +1 -1
  859. package/dist/hooks/use-self-fetch.js +7 -4
  860. package/dist/hooks/use-toast.d.ts +1 -1
  861. package/dist/index.cjs +331 -103
  862. package/dist/{knowledge-4OU73KTO.cjs → knowledge-TJKHM7W4.cjs} +36 -40
  863. package/dist/{logs-R6ZH32UU.cjs → logs-B3KCCMPE.cjs} +44 -48
  864. package/dist/nats/index.d.ts +1 -0
  865. package/dist/nats/index.d.ts.map +1 -1
  866. package/dist/nats/nats-provider.d.ts +0 -1
  867. package/dist/nats/nats-provider.d.ts.map +1 -1
  868. package/dist/nats/nats.d.ts +0 -1
  869. package/dist/nats/nats.d.ts.map +1 -1
  870. package/dist/nats/use-nats-subscription.d.ts +2 -1
  871. package/dist/nats/use-nats-subscription.d.ts.map +1 -1
  872. package/dist/{policies-XN4TDX3G.cjs → policies-ZTUIXSYZ.cjs} +39 -43
  873. package/dist/{remote-session-7NSC7DI5.cjs → remote-session-PPA5SXX7.cjs} +18 -21
  874. package/dist/schemas/meeting-booking-schema.cjs +4 -0
  875. package/dist/schemas/meeting-booking-schema.d.ts +8 -0
  876. package/dist/schemas/meeting-booking-schema.d.ts.map +1 -1
  877. package/dist/schemas/meeting-booking-schema.js +4 -0
  878. package/dist/{scripts-53VHKMY3.cjs → scripts-FIFAHBS6.cjs} +42 -46
  879. package/dist/{software-update-KLJSMAUM.cjs → software-update-62PLASQU.cjs} +41 -45
  880. package/dist/styles/component-sizes.d.ts +96 -0
  881. package/dist/styles/component-sizes.d.ts.map +1 -0
  882. package/dist/styles/component-sizes.js +77 -0
  883. package/dist/{tickets-board-DXMF7IKL.cjs → tickets-board-G3WBH4SV.cjs} +18 -20
  884. package/dist/types/announcement.d.ts +0 -1
  885. package/dist/types/announcement.d.ts.map +1 -1
  886. package/dist/types/blog.d.ts +0 -1
  887. package/dist/types/blog.d.ts.map +1 -1
  888. package/dist/types/case-study.d.ts +2 -2
  889. package/dist/types/case-study.d.ts.map +1 -1
  890. package/dist/types/customer-interview-ai.types.d.ts +1 -2
  891. package/dist/types/customer-interview-ai.types.d.ts.map +1 -1
  892. package/dist/types/customer-interview.d.ts +0 -1
  893. package/dist/types/customer-interview.d.ts.map +1 -1
  894. package/dist/types/index.d.ts +2 -0
  895. package/dist/types/index.d.ts.map +1 -1
  896. package/dist/types/product-release.d.ts +3 -0
  897. package/dist/types/product-release.d.ts.map +1 -1
  898. package/dist/types/stack.d.ts +0 -2
  899. package/dist/types/stack.d.ts.map +1 -1
  900. package/dist/utils/after-page-load.d.ts +8 -0
  901. package/dist/utils/after-page-load.d.ts.map +1 -0
  902. package/dist/utils/after-page-load.js +24 -0
  903. package/dist/utils/announcement-storage.d.ts +0 -3
  904. package/dist/utils/announcement-storage.d.ts.map +1 -1
  905. package/dist/utils/announcement-storage.js +1 -3
  906. package/dist/utils/dev-sections/openframe-dev-sections.d.ts +11 -0
  907. package/dist/utils/dev-sections/openframe-dev-sections.d.ts.map +1 -1
  908. package/dist/utils/dev-sections/openframe-dev-sections.js +5 -0
  909. package/dist/utils/index.cjs +43 -0
  910. package/dist/utils/index.d.ts +8 -2
  911. package/dist/utils/index.d.ts.map +1 -1
  912. package/dist/utils/index.js +9 -6
  913. package/dist/utils/markdown-heading-id.d.ts +0 -19
  914. package/dist/utils/markdown-heading-id.d.ts.map +1 -1
  915. package/dist/utils/markdown-heading-id.js +2 -5
  916. package/dist/utils/ods-color-utils.d.ts +0 -1
  917. package/dist/utils/ods-color-utils.d.ts.map +1 -1
  918. package/dist/utils/ods-color-utils.js +0 -2
  919. package/dist/utils/own-click.d.ts +4 -0
  920. package/dist/utils/own-click.d.ts.map +1 -0
  921. package/dist/utils/own-click.js +14 -0
  922. package/dist/utils/platform-config.d.ts +0 -1
  923. package/dist/utils/platform-config.d.ts.map +1 -1
  924. package/dist/utils/platform-config.js +0 -26
  925. package/dist/utils/source-icons.d.ts +2 -2
  926. package/dist/{video-file-player-QZ3YOLHO.cjs → video-file-player-COXRF4M5.cjs} +13 -13
  927. package/eslint-config/base.js +2 -0
  928. package/eslint-config/re-exports.js +56 -0
  929. package/package.json +1 -1
  930. package/src/ODS_TOKEN_RULES.md +2 -2
  931. package/src/chat-protocol/decode.ts +0 -5
  932. package/src/chat-protocol/index.ts +1 -0
  933. package/src/components/agent-identity.tsx +0 -2
  934. package/src/components/agent-mark.tsx +13 -4
  935. package/src/components/authors/author-detail-view.tsx +90 -44
  936. package/src/components/case-studies/entity-quotes-panel.tsx +50 -3
  937. package/src/components/case-studies/index.ts +2 -2
  938. package/src/components/case-studies/quote-cards-strip.tsx +75 -10
  939. package/src/components/categories-cart.tsx +82 -38
  940. package/src/components/category-card.tsx +1 -1
  941. package/src/components/chat/chat-attachment-bar.tsx +1 -1
  942. package/src/components/chat/chat-container.tsx +2 -1
  943. package/src/components/chat/chat-ticket-list.tsx +0 -1
  944. package/src/components/chat/chat-turn.tsx +124 -18
  945. package/src/components/chat/embeddable-chat.tsx +5 -5
  946. package/src/components/chat/entity-cards/admin-content-card-grid.tsx +1 -51
  947. package/src/components/chat/entity-cards/admin-content-card.tsx +80 -15
  948. package/src/components/chat/entity-cards/blog-card.tsx +71 -41
  949. package/src/components/chat/entity-cards/campaign-card-admin.tsx +4 -17
  950. package/src/components/chat/entity-cards/case-study-card.tsx +129 -68
  951. package/src/components/chat/entity-cards/chat-ticket-item.tsx +34 -29
  952. package/src/components/chat/entity-cards/customer-interview-card.tsx +61 -45
  953. package/src/components/chat/entity-cards/data-room-doc-card.tsx +11 -18
  954. package/src/components/chat/entity-cards/design-doc-card.tsx +48 -34
  955. package/src/components/chat/entity-cards/dispatch.tsx +9 -13
  956. package/src/components/chat/entity-cards/employee-entry-card.tsx +5 -5
  957. package/src/components/chat/entity-cards/entity-author-card.tsx +138 -32
  958. package/src/components/chat/entity-cards/entity-portrait-card.tsx +61 -16
  959. package/src/components/chat/entity-cards/generic-entity-card.tsx +11 -19
  960. package/src/components/chat/entity-cards/github-activity-card.tsx +14 -30
  961. package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +11 -23
  962. package/src/components/chat/entity-cards/index.ts +20 -7
  963. package/src/components/chat/entity-cards/investor-update-card.tsx +42 -35
  964. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +78 -64
  965. package/src/components/chat/entity-cards/program-card.tsx +96 -66
  966. package/src/components/chat/entity-cards/roadmap-card.tsx +85 -65
  967. package/src/components/chat/entity-cards/roadmap-vote-button.tsx +12 -1
  968. package/src/components/chat/entity-cards/slack-message-card.tsx +19 -26
  969. package/src/components/chat/hooks/index.ts +12 -2
  970. package/src/components/chat/hooks/use-ask-prompts.ts +5 -1
  971. package/src/components/chat/hooks/use-chat-dialog-manager.ts +1 -1
  972. package/src/components/chat/hooks/use-chat-history-hydration.ts +1 -1
  973. package/src/components/chat/hooks/use-chat.ts +0 -3
  974. package/src/components/chat/hooks/use-nats-chat-adapter.ts +0 -20
  975. package/src/components/chat/hooks/use-proxied-image-url.ts +27 -20
  976. package/src/components/chat/hooks/use-slash-commands.ts +1 -7
  977. package/src/components/chat/hooks/use-sse-chat-adapter.ts +4 -18
  978. package/src/components/chat/index.ts +22 -5
  979. package/src/components/chat/stream/chat-stream-reducer.ts +3 -2
  980. package/src/components/chat/types/entities/index.ts +24 -4
  981. package/src/components/chat/types/entities/investor-update.ts +1 -1
  982. package/src/components/chat/types/entities/program-types.ts +2 -5
  983. package/src/components/chat/utils/compact-card-classes.ts +15 -2
  984. package/src/components/chat/utils/compact-card-skeleton.tsx +111 -0
  985. package/src/components/chat/utils/icon-library.tsx +0 -2
  986. package/src/components/chat/utils/index.ts +5 -3
  987. package/src/components/chat/utils/scroll-anchor.ts +0 -2
  988. package/src/components/chat/utils/source-row-cta.ts +1 -5
  989. package/src/components/comment-card.tsx +118 -19
  990. package/src/components/comment-thread.tsx +130 -17
  991. package/src/components/docs/doc-viewer.tsx +33 -31
  992. package/src/components/docs/skeletons.tsx +37 -49
  993. package/src/components/docs/use-document-tree.ts +11 -7
  994. package/src/components/embeds/embed-iframe.tsx +5 -0
  995. package/src/components/embeds/index.ts +1 -1
  996. package/src/components/embeds/markdown-image.tsx +6 -2
  997. package/src/components/embeds/og-link-preview.tsx +155 -81
  998. package/src/components/embeds/rich-markdown-runtime.tsx +10 -6
  999. package/src/components/faq/faq-document-page.tsx +8 -0
  1000. package/src/components/faq/faq-section.tsx +249 -70
  1001. package/src/components/faq/index.ts +12 -1
  1002. package/src/components/faq-accordion.tsx +67 -7
  1003. package/src/components/features/ai-enrich/AIStatusIndicator.tsx +2 -1
  1004. package/src/components/features/approval-level.tsx +71 -8
  1005. package/src/components/features/capability-explorer.tsx +59 -61
  1006. package/src/components/features/cards-strip.tsx +54 -12
  1007. package/src/components/features/command-box.tsx +139 -10
  1008. package/src/components/features/conversation-card.tsx +242 -16
  1009. package/src/components/features/devices/device-selector/device-selector.tsx +1 -0
  1010. package/src/components/features/devices/devices-panel-view.tsx +2 -2
  1011. package/src/components/features/entity-tag-badges.tsx +143 -10
  1012. package/src/components/features/entity-video-section.tsx +52 -14
  1013. package/src/components/features/figma-prototype-viewer.tsx +4 -8
  1014. package/src/components/features/index.ts +11 -0
  1015. package/src/components/features/knowledge-base/index.ts +2 -5
  1016. package/src/components/features/knowledge-base/knowledge-base-article-view.tsx +0 -2
  1017. package/src/components/features/model-token-rates.tsx +64 -84
  1018. package/src/components/features/notifications/approval-request-notification-tile.tsx +9 -11
  1019. package/src/components/features/notifications/notification-tile.tsx +58 -23
  1020. package/src/components/features/paths-display.tsx +73 -6
  1021. package/src/components/features/platform-badge.tsx +41 -1
  1022. package/src/components/features/push-button-selector.tsx +167 -64
  1023. package/src/components/features/remote-session/index.ts +2 -2
  1024. package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +24 -3
  1025. package/src/components/features/remote-session/remote-desktop-chat-panel.tsx +19 -5
  1026. package/src/components/features/remote-session/remote-desktop-view.tsx +47 -38
  1027. package/src/components/features/remote-session/remote-session-chat-panel.tsx +1 -1
  1028. package/src/components/features/status-filter-component.tsx +105 -11
  1029. package/src/components/features/use-video-warmup.ts +0 -7
  1030. package/src/components/features/use-walkthrough-video.ts +5 -1
  1031. package/src/components/features/video-bites-strip.tsx +137 -22
  1032. package/src/components/features/video-hover-preview.tsx +2 -1
  1033. package/src/components/features/video.tsx +16 -12
  1034. package/src/components/features/walkthrough-video.tsx +17 -3
  1035. package/src/components/help-center-pages/download-apps-page.tsx +86 -32
  1036. package/src/components/help-center-pages/trust-center-page.tsx +132 -66
  1037. package/src/components/help-center-pages/trust-center-sections.tsx +205 -148
  1038. package/src/components/icon-display.tsx +9 -0
  1039. package/src/components/index.ts +11 -2
  1040. package/src/components/interactive-wrapper.tsx +2 -1
  1041. package/src/components/layout/list-page-layout.tsx +4 -5
  1042. package/src/components/layout/page-container.tsx +59 -29
  1043. package/src/components/layout/page-data-sync.tsx +40 -5
  1044. package/src/components/layout/page-heading.tsx +84 -1
  1045. package/src/components/layout/page-layout.tsx +5 -5
  1046. package/src/components/layout/title-block.tsx +72 -17
  1047. package/src/components/loading/category-vendor-selector-skeleton.tsx +4 -0
  1048. package/src/components/loading/deprecated-layout-skeletons.tsx +133 -0
  1049. package/src/components/loading/device-card-skeleton.tsx +4 -4
  1050. package/src/components/loading/index.ts +11 -13
  1051. package/src/components/loading/loading-region.tsx +16 -9
  1052. package/src/components/loading/msp-profile-form-skeleton.tsx +3 -0
  1053. package/src/components/loading/organization-card-skeleton.tsx +45 -71
  1054. package/src/components/loading/page-layout-skeleton.tsx +1 -641
  1055. package/src/components/loading/settings-form-skeleton.tsx +3 -0
  1056. package/src/components/loading/unified-skeleton.tsx +101 -11
  1057. package/src/components/log-severity-dot.tsx +17 -14
  1058. package/src/components/logs-list.tsx +43 -29
  1059. package/src/components/media-carousel.tsx +0 -4
  1060. package/src/components/meeting-scheduler/booking-form.tsx +245 -35
  1061. package/src/components/meeting-scheduler/context-panel.tsx +96 -30
  1062. package/src/components/meeting-scheduler/directory.tsx +70 -37
  1063. package/src/components/meeting-scheduler/index.tsx +136 -132
  1064. package/src/components/meeting-scheduler/modal-header.tsx +45 -31
  1065. package/src/components/meeting-scheduler/slot-picker.tsx +20 -8
  1066. package/src/components/metric-value.tsx +19 -2
  1067. package/src/components/msp-display.tsx +25 -10
  1068. package/src/components/navigation/app-layout.tsx +0 -3
  1069. package/src/components/navigation/index.ts +15 -3
  1070. package/src/components/navigation/mingo-ai-button.tsx +3 -4
  1071. package/src/components/navigation/mobile-nav-sheet.tsx +0 -2
  1072. package/src/components/navigation/multi-level-navigation.tsx +152 -35
  1073. package/src/components/navigation/page-section-bar.tsx +132 -0
  1074. package/src/components/navigation/sticky-section-nav.tsx +109 -18
  1075. package/src/components/navigation/ticket-alerts-button.tsx +1 -1
  1076. package/src/components/onboarding-guides/hooks/use-onboarding-guides.ts +8 -1
  1077. package/src/components/onboarding-guides/index.ts +5 -2
  1078. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +166 -67
  1079. package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +38 -51
  1080. package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +91 -45
  1081. package/src/components/pagination.tsx +103 -48
  1082. package/src/components/persistent-filter-controls.tsx +0 -7
  1083. package/src/components/persistent-pagination.tsx +6 -1
  1084. package/src/components/platform/ToolBadge.tsx +57 -10
  1085. package/src/components/platform/index.ts +2 -2
  1086. package/src/components/platform/tool-badge-mark.ts +6 -0
  1087. package/src/components/product-demo/fixtures/devices.ts +0 -3
  1088. package/src/components/product-demo/product-screen.tsx +42 -23
  1089. package/src/components/product-demo/screen-loading.tsx +20 -0
  1090. package/src/components/product-demo/screens/devices-view.tsx +58 -0
  1091. package/src/components/product-demo/screens/devices.tsx +9 -29
  1092. package/src/components/related-content/card-registry.tsx +20 -6
  1093. package/src/components/related-content/index.ts +3 -1
  1094. package/src/components/related-content/related-content-section.tsx +222 -46
  1095. package/src/components/results-count.tsx +37 -6
  1096. package/src/components/shared/article-author-byline.tsx +65 -41
  1097. package/src/components/shared/delivery/delivery-lists.tsx +15 -2
  1098. package/src/components/shared/delivery/delivery-row.tsx +55 -9
  1099. package/src/components/shared/delivery/delivery-table.tsx +19 -46
  1100. package/src/components/shared/detail-page-skeleton.tsx +15 -1
  1101. package/src/components/shared/dev-section/dev-card-row.tsx +45 -28
  1102. package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
  1103. package/src/components/shared/doc-search/use-doc-search.ts +1 -1
  1104. package/src/components/shared/legal-document/index.ts +2 -0
  1105. package/src/components/shared/legal-document/legal-document-page.tsx +41 -21
  1106. package/src/components/shared/legal-document/use-legal-docs.ts +5 -1
  1107. package/src/components/shared/legal-document/use-legal-documents.ts +4 -1
  1108. package/src/components/shared/media-gallery-strip.tsx +35 -3
  1109. package/src/components/shared/onboarding/index.ts +2 -5
  1110. package/src/components/shared/product-release/index.ts +1 -1
  1111. package/src/components/shared/product-release/product-release-card-classes.ts +28 -0
  1112. package/src/components/shared/product-release/product-release-card-skeleton.tsx +62 -56
  1113. package/src/components/shared/product-release/product-release-card.tsx +62 -44
  1114. package/src/components/shared/product-release/product-releases-view.tsx +32 -24
  1115. package/src/components/shared/product-release/release-detail-page.tsx +229 -134
  1116. package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +20 -6
  1117. package/src/components/shared/roadmap/roadmap-grid.tsx +59 -9
  1118. package/src/components/shared/roadmap/roadmap-view.tsx +3 -3
  1119. package/src/components/social-icon-row.tsx +14 -8
  1120. package/src/components/tickets/help-center-list.tsx +6 -2
  1121. package/src/components/tickets/hooks/use-ticket-actions.ts +0 -4
  1122. package/src/components/tickets/index.ts +1 -2
  1123. package/src/components/tickets/ticket-center.tsx +189 -75
  1124. package/src/components/tickets/types.ts +0 -9
  1125. package/src/components/toggle-group.tsx +4 -1
  1126. package/src/components/tool-icon.tsx +2 -1
  1127. package/src/components/ui/analyzing-state.tsx +11 -6
  1128. package/src/components/ui/announcement-bar-view.tsx +7 -1
  1129. package/src/components/ui/autocomplete.tsx +58 -6
  1130. package/src/components/ui/avatar-stack.tsx +42 -3
  1131. package/src/components/ui/badge.tsx +16 -1
  1132. package/src/components/ui/benefit-list.tsx +41 -6
  1133. package/src/components/ui/button/button-styles.ts +48 -0
  1134. package/src/components/ui/button/button.tsx +5 -39
  1135. package/src/components/ui/button/index.ts +1 -0
  1136. package/src/components/ui/card.tsx +28 -13
  1137. package/src/components/ui/checkbox.tsx +6 -1
  1138. package/src/components/ui/compliance-badge.tsx +6 -2
  1139. package/src/components/ui/cursor-pagination.tsx +28 -3
  1140. package/src/components/ui/dashboard-info-card.tsx +29 -11
  1141. package/src/components/ui/data-attribution.tsx +42 -12
  1142. package/src/components/ui/data-table/data-table-body.tsx +11 -2
  1143. package/src/components/ui/data-table/data-table-row-count.tsx +19 -1
  1144. package/src/components/ui/data-table/data-table-row.tsx +4 -9
  1145. package/src/components/ui/data-table/data-table-skeleton.tsx +7 -7
  1146. package/src/components/ui/data-table/index.ts +2 -1
  1147. package/src/components/ui/date-picker.tsx +0 -6
  1148. package/src/components/ui/entity-image.tsx +27 -4
  1149. package/src/components/ui/error-state.tsx +8 -1
  1150. package/src/components/ui/feature-card.tsx +77 -12
  1151. package/src/components/ui/feature-list.tsx +72 -8
  1152. package/src/components/ui/field-wrapper.tsx +13 -1
  1153. package/src/components/ui/filter-checkbox-item.tsx +57 -6
  1154. package/src/components/ui/filter-modal.tsx +2 -6
  1155. package/src/components/ui/filter-pill-row.tsx +81 -27
  1156. package/src/components/ui/incident-feed.tsx +20 -11
  1157. package/src/components/ui/index.ts +21 -1
  1158. package/src/components/ui/info-card-row.tsx +74 -19
  1159. package/src/components/ui/info-card.tsx +87 -13
  1160. package/src/components/ui/input-styles.ts +6 -0
  1161. package/src/components/ui/input.tsx +4 -1
  1162. package/src/components/ui/layout-hold.tsx +9 -7
  1163. package/src/components/ui/leader-row.tsx +58 -4
  1164. package/src/components/ui/loading-scope.tsx +54 -0
  1165. package/src/components/ui/markdown/base-components.tsx +18 -9
  1166. package/src/components/ui/markdown/engine.tsx +131 -7
  1167. package/src/components/ui/markdown/index.ts +8 -6
  1168. package/src/components/ui/markdown/mermaid-diagram.tsx +7 -4
  1169. package/src/components/ui/markdown/rich/embed-overrides.tsx +11 -1
  1170. package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +26 -1
  1171. package/src/components/ui/markdown/simple-markdown-renderer.tsx +0 -3
  1172. package/src/components/ui/markdown-editor.tsx +83 -50
  1173. package/src/components/ui/numbered-step.tsx +32 -2
  1174. package/src/components/ui/organization-card.tsx +32 -7
  1175. package/src/components/ui/page-actions.tsx +25 -29
  1176. package/src/components/ui/page-loader.tsx +2 -1
  1177. package/src/components/ui/people-cell.tsx +25 -2
  1178. package/src/components/ui/photo-wall.tsx +14 -3
  1179. package/src/components/ui/product-screen-frame.tsx +14 -3
  1180. package/src/components/ui/progress-bar.tsx +26 -3
  1181. package/src/components/ui/progress.tsx +14 -3
  1182. package/src/components/ui/release-changelog-section.tsx +153 -20
  1183. package/src/components/ui/search-input.tsx +23 -3
  1184. package/src/components/ui/searchable-select.tsx +26 -6
  1185. package/src/components/ui/skeleton-surface.ts +16 -4
  1186. package/src/components/ui/slack-channel-chip.tsx +23 -3
  1187. package/src/components/ui/snap-carousel.tsx +5 -0
  1188. package/src/components/ui/square-avatar.tsx +41 -23
  1189. package/src/components/ui/stacked-rows-panel.tsx +88 -15
  1190. package/src/components/ui/status-badge.tsx +18 -1
  1191. package/src/components/ui/status-indicator.tsx +21 -2
  1192. package/src/components/ui/status-line.tsx +2 -1
  1193. package/src/components/ui/strip-card.tsx +73 -23
  1194. package/src/components/ui/tab-navigation.tsx +141 -28
  1195. package/src/components/ui/table/table-header.tsx +2 -2
  1196. package/src/components/ui/table/table-row.tsx +2 -4
  1197. package/src/components/ui/table/table-skeleton.tsx +48 -54
  1198. package/src/components/ui/table/table.tsx +36 -19
  1199. package/src/components/ui/table/types.ts +12 -4
  1200. package/src/components/ui/table/utils.ts +5 -0
  1201. package/src/components/ui/tabs.tsx +64 -4
  1202. package/src/components/ui/tag.tsx +33 -13
  1203. package/src/components/ui/tags-input.tsx +48 -10
  1204. package/src/components/ui/textarea.tsx +33 -3
  1205. package/src/components/ui/ticket-info-section.tsx +0 -2
  1206. package/src/components/ui/timezone-select.tsx +4 -0
  1207. package/src/components/ui/toggle.tsx +11 -5
  1208. package/src/components/unified-pagination.tsx +15 -0
  1209. package/src/components/user-display.tsx +53 -12
  1210. package/src/components/user-summary-stub.tsx +7 -11
  1211. package/src/components/vendor-display-button.tsx +15 -12
  1212. package/src/components/vendor-icon.tsx +13 -2
  1213. package/src/components/vendor-tag.tsx +18 -4
  1214. package/src/embed-shims/next-image.tsx +36 -1
  1215. package/src/hooks/state/flatten-schema.ts +0 -4
  1216. package/src/hooks/state/index.ts +5 -3
  1217. package/src/hooks/state/url-converter.ts +2 -2
  1218. package/src/hooks/state/use-api-params.ts +2 -10
  1219. package/src/hooks/ui/index.ts +1 -0
  1220. package/src/hooks/ui/use-image-edge-color.ts +4 -1
  1221. package/src/hooks/ui/use-onboarding-state.ts +0 -2
  1222. package/src/hooks/use-downloads.ts +9 -1
  1223. package/src/hooks/use-meeting-booking.ts +4 -0
  1224. package/src/hooks/use-self-fetch.ts +12 -4
  1225. package/src/nats/index.ts +1 -0
  1226. package/src/nats/nats-provider.tsx +0 -2
  1227. package/src/nats/nats.ts +0 -2
  1228. package/src/nats/use-nats-subscription.ts +2 -1
  1229. package/src/schemas/meeting-booking-schema.ts +11 -0
  1230. package/src/styles/component-sizes.ts +105 -0
  1231. package/src/types/announcement.ts +0 -3
  1232. package/src/types/blog.ts +0 -4
  1233. package/src/types/case-study.ts +2 -2
  1234. package/src/types/customer-interview-ai.types.ts +1 -4
  1235. package/src/types/customer-interview.ts +0 -11
  1236. package/src/types/index.ts +2 -0
  1237. package/src/types/product-release.ts +4 -2
  1238. package/src/types/stack.ts +0 -4
  1239. package/src/utils/after-page-load.ts +30 -0
  1240. package/src/utils/announcement-storage.ts +0 -7
  1241. package/src/utils/dev-sections/openframe-dev-sections.ts +11 -0
  1242. package/src/utils/index.ts +7 -9
  1243. package/src/utils/markdown-heading-id.ts +0 -28
  1244. package/src/utils/ods-color-utils.ts +0 -4
  1245. package/src/utils/own-click.ts +25 -0
  1246. package/src/utils/platform-config.tsx +0 -17
  1247. package/src/utils/source-icons.ts +2 -2
  1248. package/dist/chunk-3ATAYP36.cjs +0 -19
  1249. package/dist/chunk-3LU4UFPS.cjs +0 -14
  1250. package/dist/chunk-H3RYUTND.cjs +0 -142
  1251. package/dist/chunk-JB424IQK.cjs +0 -404
  1252. package/dist/chunk-L4UI63K6.cjs +0 -103
  1253. package/dist/chunk-NS64LMVE.cjs +0 -470
  1254. package/dist/chunk-OF336YWG.cjs +0 -20
  1255. package/dist/chunk-RB6BSE3O.cjs +0 -21
  1256. package/dist/chunk-UI2TLQWA.cjs +0 -163
  1257. package/dist/components/chat/entity-cards/product-release-card.d.ts +0 -12
  1258. package/dist/components/chat/entity-cards/product-release-card.d.ts.map +0 -1
  1259. package/dist/components/chat/entity-cards/product-release-card.js +0 -8
  1260. package/dist/components/chat/hooks/use-embedded-chat.d.ts +0 -15
  1261. package/dist/components/chat/hooks/use-embedded-chat.d.ts.map +0 -1
  1262. package/dist/components/chat/hooks/use-embedded-chat.js +0 -6
  1263. package/dist/components/chat/types/entities/blog.d.ts +0 -14
  1264. package/dist/components/chat/types/entities/blog.d.ts.map +0 -1
  1265. package/dist/components/chat/types/entities/blog.js +0 -1
  1266. package/dist/components/chat/types/entities/case-study.d.ts +0 -10
  1267. package/dist/components/chat/types/entities/case-study.d.ts.map +0 -1
  1268. package/dist/components/chat/types/entities/case-study.js +0 -1
  1269. package/dist/components/chat/types/entities/content-ref.d.ts +0 -8
  1270. package/dist/components/chat/types/entities/content-ref.d.ts.map +0 -1
  1271. package/dist/components/chat/types/entities/content-ref.js +0 -1
  1272. package/dist/components/chat/types/entities/customer-interview.d.ts +0 -10
  1273. package/dist/components/chat/types/entities/customer-interview.d.ts.map +0 -1
  1274. package/dist/components/chat/types/entities/customer-interview.js +0 -1
  1275. package/dist/components/chat/utils/source-icons.d.ts +0 -8
  1276. package/dist/components/chat/utils/source-icons.d.ts.map +0 -1
  1277. package/dist/components/chat/utils/source-icons.js +0 -16
  1278. package/dist/utils/image-proxy-stub.d.ts +0 -14
  1279. package/dist/utils/image-proxy-stub.d.ts.map +0 -1
  1280. package/dist/utils/image-proxy-stub.js +0 -22
  1281. package/src/components/chat/entity-cards/product-release-card.tsx +0 -19
  1282. package/src/components/chat/hooks/use-embedded-chat.ts +0 -25
  1283. package/src/components/chat/types/entities/blog.ts +0 -27
  1284. package/src/components/chat/types/entities/case-study.ts +0 -10
  1285. package/src/components/chat/types/entities/content-ref.ts +0 -7
  1286. package/src/components/chat/types/entities/customer-interview.ts +0 -15
  1287. package/src/components/chat/utils/source-icons.ts +0 -14
  1288. package/src/utils/image-proxy-stub.ts +0 -40
@@ -1,10 +1,13 @@
1
1
  'use client';
2
2
 
3
+ import { ChevronDown } from 'lucide-react';
3
4
  import type React from 'react';
4
5
  import { cn } from '../../utils/cn';
5
6
  import { Copy02Icon } from '../icons-v2-generated/documents/copy-02-icon';
7
+ import { TextLineSkeleton } from '../loading/unified-skeleton';
6
8
  import { Button } from '../ui/button';
7
9
  import { FadePreview } from '../ui/fade-preview';
10
+ import { useLoadingScope } from '../ui/loading-scope';
8
11
 
9
12
  export interface CommandBoxAction {
10
13
  /** Button label */
@@ -95,6 +98,19 @@ const lineClampClasses: Record<number, string> = {
95
98
  6: 'line-clamp-6',
96
99
  };
97
100
 
101
+ /** The box's layout, read by the box and by its skeleton, so the skeleton is the box's size. */
102
+ const COMMAND_BOX_CLASS = 'flex flex-col gap-2';
103
+ const COMMAND_BOX_TITLE_CLASS = 'text-ods-text-primary text-h4';
104
+ const COMMAND_BOX_FRAME_CLASS = 'rounded-[6px] border border-ods-border bg-ods-bg p-4';
105
+ const COMMAND_BOX_COPY_ROW_CLASS = 'flex items-start gap-4';
106
+ const COMMAND_BOX_COPY_BUTTON_CLASS =
107
+ 'shrink-0 rounded-md text-ods-text-secondary transition-colors hover:text-ods-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus';
108
+ const COMMAND_BOX_ACTIONS_CLASS = 'mt-4 flex flex-col gap-3 content-md:flex-row content-md:justify-end';
109
+ const COMMAND_BOX_ACTION_CLASS = 'w-full content-md:w-auto';
110
+ /** The fixed-height command area: N rows of the `text-code` line height token. Read by the box and its skeleton. */
111
+ const fixedCommandHeight = (visibleLines: number) => `calc(${visibleLines} * var(--font-line-space-h6-caption))`;
112
+ /** The fixed-height area's toggle wording, read by the box and by its skeleton. */
113
+ const COMMAND_TOGGLE_LABELS = { more: 'Show all', less: 'Show less' };
98
114
  export function CommandBox({
99
115
  command,
100
116
  title,
@@ -108,6 +124,24 @@ export function CommandBox({
108
124
  copyAriaLabel = 'Copy command',
109
125
  }: CommandBoxProps) {
110
126
  const fixedHeight = visibleLines !== undefined && visibleLines > 0;
127
+ // While the page is read the command is not known: the box is drawn as its skeleton, as tall as the command.
128
+ if (useLoadingScope()) {
129
+ return (
130
+ <CommandBoxSkeleton
131
+ title={title}
132
+ lines={!fixedHeight && maxLines > 0 ? maxLines : undefined}
133
+ visibleLines={fixedHeight ? visibleLines : undefined}
134
+ primaryActionLabel={primaryAction?.label}
135
+ primaryActionIcon={primaryAction?.icon}
136
+ primaryActionVariant={primaryAction?.variant}
137
+ secondaryActionLabel={secondaryAction?.label}
138
+ secondaryActionIcon={secondaryAction?.icon}
139
+ secondaryActionVariant={secondaryAction?.variant}
140
+ showCopy={Boolean(onCopy)}
141
+ className={className}
142
+ />
143
+ );
144
+ }
111
145
  // Get static line-clamp class or undefined for unlimited
112
146
  const lineClampClass = !fixedHeight && maxLines > 0 ? lineClampClasses[maxLines] : undefined;
113
147
 
@@ -134,8 +168,8 @@ export function CommandBox({
134
168
  without it: the expanded height is re-measured on every commit. */}
135
169
  <FadePreview
136
170
  fixedHeight
137
- collapsedHeight={`calc(${visibleLines} * var(--font-line-space-h6-caption))`}
138
- labels={{ more: 'Show all', less: 'Show less' }}
171
+ collapsedHeight={fixedCommandHeight(visibleLines)}
172
+ labels={COMMAND_TOGGLE_LABELS}
139
173
  >
140
174
  {text}
141
175
  </FadePreview>
@@ -145,17 +179,17 @@ export function CommandBox({
145
179
  );
146
180
 
147
181
  return (
148
- <div className={cn('flex flex-col gap-2', className)}>
149
- {title && <div className="text-ods-text-primary text-h4">{title}</div>}
150
- <div className="rounded-[6px] border border-ods-border bg-ods-bg p-4">
182
+ <div className={cn(COMMAND_BOX_CLASS, className)}>
183
+ {title && <div className={COMMAND_BOX_TITLE_CLASS}>{title}</div>}
184
+ <div className={COMMAND_BOX_FRAME_CLASS}>
151
185
  {onCopy ? (
152
- <div className="flex items-start gap-4">
186
+ <div className={COMMAND_BOX_COPY_ROW_CLASS}>
153
187
  {commandText}
154
188
  <button
155
189
  type="button"
156
190
  onClick={onCopy}
157
191
  aria-label={copyAriaLabel}
158
- className="shrink-0 rounded-md text-ods-text-secondary transition-colors hover:text-ods-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus"
192
+ className={COMMAND_BOX_COPY_BUTTON_CLASS}
159
193
  >
160
194
  <Copy02Icon className="h-5 w-5" />
161
195
  </button>
@@ -164,7 +198,7 @@ export function CommandBox({
164
198
  commandText
165
199
  )}
166
200
  {(primaryAction || secondaryAction) && (
167
- <div className="mt-4 flex flex-col gap-3 content-md:flex-row content-md:justify-end">
201
+ <div className={COMMAND_BOX_ACTIONS_CLASS}>
168
202
  {secondaryAction && (
169
203
  <Button
170
204
  variant={secondaryAction.variant || 'outline'}
@@ -172,7 +206,7 @@ export function CommandBox({
172
206
  onClick={secondaryAction.onClick}
173
207
  disabled={secondaryAction.disabled}
174
208
  loading={secondaryAction.loading}
175
- className="w-full content-md:w-auto"
209
+ className={COMMAND_BOX_ACTION_CLASS}
176
210
  >
177
211
  {secondaryAction.label}
178
212
  </Button>
@@ -184,7 +218,7 @@ export function CommandBox({
184
218
  onClick={primaryAction.onClick}
185
219
  disabled={primaryAction.disabled}
186
220
  loading={primaryAction.loading}
187
- className="w-full content-md:w-auto"
221
+ className={COMMAND_BOX_ACTION_CLASS}
188
222
  >
189
223
  {primaryAction.label}
190
224
  </Button>
@@ -195,3 +229,98 @@ export function CommandBox({
195
229
  </div>
196
230
  );
197
231
  }
232
+
233
+ /**
234
+ * The command box while its command is read: the same box, its title and action buttons for real (their labels are
235
+ * the box's own words), and the command as a bar `lines` lines tall at the command's type step.
236
+ */
237
+ export function CommandBoxSkeleton({
238
+ title,
239
+ lines = 2,
240
+ visibleLines,
241
+ primaryActionLabel,
242
+ primaryActionIcon,
243
+ primaryActionVariant,
244
+ secondaryActionLabel,
245
+ secondaryActionIcon,
246
+ secondaryActionVariant,
247
+ showCopy = false,
248
+ className,
249
+ }: {
250
+ title?: string;
251
+ lines?: number;
252
+ /** The box's fixed-height mode (`CommandBox` `visibleLines`): that many rows tall, plus the toggle row. */
253
+ visibleLines?: number;
254
+ primaryActionLabel?: string;
255
+ primaryActionIcon?: React.ReactNode;
256
+ primaryActionVariant?: CommandBoxAction['variant'];
257
+ secondaryActionLabel?: string;
258
+ secondaryActionIcon?: React.ReactNode;
259
+ secondaryActionVariant?: CommandBoxAction['variant'];
260
+ /** Draw the corner copy glyph (the box has `onCopy`). */
261
+ showCopy?: boolean;
262
+ className?: string;
263
+ }) {
264
+ const commandLines =
265
+ visibleLines !== undefined && visibleLines > 0 ? (
266
+ <div className={cn(showCopy && 'min-w-0 flex-1')}>
267
+ {/* `text-code`'s line height is the token the loaded area's height is N rows of (`fixedCommandHeight`). */}
268
+ <TextLineSkeleton type="code" lines={visibleLines} />
269
+ {/* FadePreview's toggle row, which fixed mode always reserves: the real control, unseen. */}
270
+ <Button
271
+ type="button"
272
+ variant="link"
273
+ size="compact"
274
+ noPaddingX
275
+ tabIndex={-1}
276
+ rightIcon={<ChevronDown />}
277
+ className="invisible mt-[var(--spacing-system-mf)]"
278
+ >
279
+ {COMMAND_TOGGLE_LABELS.more}
280
+ </Button>
281
+ </div>
282
+ ) : (
283
+ <TextLineSkeleton type="code" lines={Math.max(lines, 1)} className={cn(showCopy && 'min-w-0 flex-1')} />
284
+ );
285
+ return (
286
+ <div className={cn(COMMAND_BOX_CLASS, className)} aria-hidden inert>
287
+ {title && <div className={COMMAND_BOX_TITLE_CLASS}>{title}</div>}
288
+ <div className={COMMAND_BOX_FRAME_CLASS}>
289
+ {showCopy ? (
290
+ <div className={COMMAND_BOX_COPY_ROW_CLASS}>
291
+ {commandLines}
292
+ <span className={COMMAND_BOX_COPY_BUTTON_CLASS}>
293
+ <Copy02Icon className="h-5 w-5" />
294
+ </span>
295
+ </div>
296
+ ) : (
297
+ commandLines
298
+ )}
299
+ {(primaryActionLabel || secondaryActionLabel) && (
300
+ <div className={COMMAND_BOX_ACTIONS_CLASS}>
301
+ {secondaryActionLabel && (
302
+ <Button
303
+ variant={secondaryActionVariant || 'outline'}
304
+ leftIcon={secondaryActionIcon}
305
+ className={COMMAND_BOX_ACTION_CLASS}
306
+ tabIndex={-1}
307
+ >
308
+ {secondaryActionLabel}
309
+ </Button>
310
+ )}
311
+ {primaryActionLabel && (
312
+ <Button
313
+ variant={primaryActionVariant || 'accent'}
314
+ leftIcon={primaryActionIcon}
315
+ className={COMMAND_BOX_ACTION_CLASS}
316
+ tabIndex={-1}
317
+ >
318
+ {primaryActionLabel}
319
+ </Button>
320
+ )}
321
+ </div>
322
+ )}
323
+ </div>
324
+ </div>
325
+ );
326
+ }
@@ -1,12 +1,66 @@
1
1
  'use client';
2
2
 
3
- import type { ReactNode } from 'react';
3
+ import { type CSSProperties, type ReactNode, useId } from 'react';
4
4
  import { cn } from '../../utils/cn';
5
+ import { isOwnClick } from '../../utils/own-click';
5
6
  import { useAgentTint } from '../agent-identity';
6
- import { ChatTurn } from '../chat/chat-turn';
7
+ import { ChatTurn, ChatTurnNameSkeleton, TURN_BODY_CLASS, TURN_ROW_CLASS } from '../chat/chat-turn';
7
8
  import { CheckCircleIcon } from '../icons-v2-generated/signs-and-symbols/check-circle-icon';
9
+ import { CheckIcon } from '../icons-v2-generated/signs-and-symbols/check-icon';
10
+ import { PlusIcon } from '../icons-v2-generated/signs-and-symbols/plus-icon';
11
+ import { LoadingRegion } from '../loading/loading-region';
12
+ import { TextLineSkeleton } from '../loading/unified-skeleton';
13
+ import { BUTTON_ICON_SM_SIZE, Button } from '../ui/button/button';
14
+ import { useLoadingScope } from '../ui/loading-scope';
15
+ import { SquareAvatarSkeleton } from '../ui/square-avatar';
8
16
  import { Tag } from '../ui/tag';
9
17
 
18
+ /**
19
+ * The lines a part (the outcome, the context "Today") takes at least, on a narrow card (below `content-md`) and from
20
+ * `content-md`. A typical outcome or status quo is a sentence or two: four lines in a phone's card and three in a wide
21
+ * one. A part is never cut: a longer one grows its card (the cards of a row, or of a carousel, stretch to the tallest).
22
+ * A host that lists its own cards (a curated row) may state the counts its list needs (`lines`), so every card of the
23
+ * row keeps the tallest card's lines and the skeleton draws them. The counts reach the class through CSS variables
24
+ * (a class built at runtime emits no CSS); the skeleton draws the same counts.
25
+ */
26
+ export interface ConversationCardPartLines {
27
+ phone: number;
28
+ wide: number;
29
+ }
30
+ export interface ConversationCardLines {
31
+ context?: ConversationCardPartLines;
32
+ outcome?: ConversationCardPartLines;
33
+ }
34
+ const DEFAULT_PART_LINES: ConversationCardPartLines = { phone: 4, wide: 3 };
35
+ /** A part's minimum height, from its two counts (`--cc-lines` below `content-md`, `--cc-lines-wide` from it). */
36
+ const PART_LINES_CLASS = 'min-h-[calc(var(--cc-lines)*1lh)] content-md:min-h-[calc(var(--cc-lines-wide)*1lh)]';
37
+ const partLines = (lines: ConversationCardPartLines | undefined) => lines ?? DEFAULT_PART_LINES;
38
+ /** The style that sets a part's counts on its text. */
39
+ const partLinesStyle = (lines: ConversationCardPartLines | undefined) => {
40
+ const { phone, wide } = partLines(lines);
41
+ return { '--cc-lines': phone, '--cc-lines-wide': wide } as CSSProperties;
42
+ };
43
+ const CONTEXT_LINES_CLASS = PART_LINES_CLASS;
44
+ const OUTCOME_LINES_CLASS = PART_LINES_CLASS;
45
+ /** The context's text and the outcome's row and text: ONE string each, read by the card and its skeleton. */
46
+ const CONTEXT_TEXT_CLASS = cn('m-0 text-ods-text-secondary text-h4', CONTEXT_LINES_CLASS);
47
+ const OUTCOME_ROW_CLASS = 'flex items-start gap-[var(--spacing-system-xsf)] text-ods-text-secondary text-h4';
48
+ const OUTCOME_TEXT_CLASS = cn('m-0 min-w-0 flex-1', OUTCOME_LINES_CLASS);
49
+ /** The outcome's check, centred on its first line (one line high, by style: it is a mark, not a line of text). */
50
+ const OUTCOME_CHECK_CLASS = 'flex shrink-0 items-center';
51
+ const OUTCOME_CHECK_STYLE = { height: '1lh' } as const;
52
+
53
+ /** The card's frame, its parts' blocks and its footer row: ONE string each, read by the card and its skeleton. */
54
+ const CARD_FRAME_CLASS =
55
+ 'relative flex h-full flex-col gap-[var(--spacing-system-mf)] overflow-hidden rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-mf)]';
56
+ const ANSWER_BLOCK_CLASS = 'rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-sf)]';
57
+ /** Only stacks its label and text: a one-column grid, not a column flexbox inside the card's own (WEBVIEW-001). */
58
+ const CONTEXT_BLOCK_CLASS =
59
+ 'grid grid-cols-1 gap-[var(--spacing-system-xxs)] border-ods-border border-t pt-[var(--spacing-system-sf)]';
60
+ const FOOTER_ROW_CLASS = 'mt-auto flex items-center justify-between gap-[var(--spacing-system-sf)]';
61
+ /** The speakers' avatar size the skeleton draws when the card draws it in a loading scope. */
62
+ export const CONVERSATION_CARD_AVATAR_PX = 32;
63
+
10
64
  export interface ConversationCardSpeaker {
11
65
  /** Rendered as given (an avatar, an agent mark). */
12
66
  avatar: ReactNode;
@@ -26,10 +80,15 @@ export interface ConversationCardProps {
26
80
  outcome: string;
27
81
  /** Beside the outcome (the person who approved it). */
28
82
  outcomeAside?: ReactNode;
29
- /** The footer's question ("Your part"). */
30
- footerLabel: string;
83
+ /**
84
+ * Between the request and the answer: how it is today, before the agent
85
+ * ("Today" and a line). A pain card's status quo; omitted on a request card.
86
+ */
87
+ context?: { label: string; text: string };
88
+ /** The footer's question ("Your part"). Omitted: no footer. */
89
+ footerLabel?: string;
31
90
  /** The footer's answer ("Nothing", "One tap"). */
32
- footerValue: string;
91
+ footerValue?: string;
33
92
  /** `attention` paints the answer in the warning colour: it needs a person. */
34
93
  footerTone?: 'default' | 'attention';
35
94
  /**
@@ -38,6 +97,15 @@ export interface ConversationCardProps {
38
97
  * agent, never a colour.
39
98
  */
40
99
  agent?: string | null;
100
+ /**
101
+ * The card is a toggle the reader picks ("this sounds like me"): one button
102
+ * with `aria-pressed`, named by the request, stretched over the whole card so
103
+ * a tap anywhere toggles it; a mark in its corner says whether it is picked,
104
+ * and a picked card takes the accent ring.
105
+ */
106
+ selection?: { pressed: boolean; onToggle: () => void };
107
+ /** The lines the context and the outcome keep at least (default four on a phone, three wide). */
108
+ lines?: ConversationCardLines;
41
109
  className?: string;
42
110
  }
43
111
 
@@ -56,45 +124,203 @@ export function ConversationCard({
56
124
  footerValue,
57
125
  footerTone = 'default',
58
126
  agent,
127
+ selection,
128
+ context,
129
+ lines,
59
130
  className,
60
131
  }: ConversationCardProps) {
61
132
  const tint = useAgentTint(agent);
133
+ const requestId = useId();
134
+ // While the page is read the conversation is not known: the card is its skeleton, with the parts it will have.
135
+ if (useLoadingScope()) {
136
+ return (
137
+ <ConversationCardSkeleton
138
+ avatarPx={CONVERSATION_CARD_AVATAR_PX}
139
+ context={!!context}
140
+ requesterMeta={!!requester.meta}
141
+ responderMeta={!!responder.meta}
142
+ // The loaded card draws a footer only with a label AND a value; a value left undefined says there is none.
143
+ footer={!!footerLabel && footerValue !== undefined}
144
+ footerLabel={footerLabel}
145
+ lines={lines}
146
+ className={className}
147
+ />
148
+ );
149
+ }
62
150
  return (
63
151
  <div
64
152
  className={cn(
65
- 'flex h-full flex-col gap-[var(--spacing-system-mf)] overflow-hidden rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-mf)]',
153
+ CARD_FRAME_CLASS,
154
+ selection && 'cursor-pointer transition-colors hover:border-ods-border-hover',
155
+ selection?.pressed && 'border-ods-accent ring-1 ring-ods-accent',
66
156
  className,
67
157
  )}
68
158
  style={tint}
159
+ onClick={
160
+ selection &&
161
+ (event => {
162
+ // A pointer convenience: the primary button only, never the end of a text selection,
163
+ // and only the card's own click (`isOwnClick`: not a control or link inside it, not a portal).
164
+ if (event.button !== 0 || window.getSelection()?.toString()) return;
165
+ if (!isOwnClick(event.target, event.currentTarget, { controls: true })) return;
166
+ selection.onToggle();
167
+ })
168
+ }
69
169
  >
70
- {/* Every part keeps a fixed number of lines, so cards in a row or a carousel line up part by part. */}
170
+ {selection && (
171
+ // The toggle is a regular boxed Button in the card's corner, named by the
172
+ // request; a click anywhere on the card toggles it too (a pointer
173
+ // convenience: the Button is the control keyboards and screen readers use).
174
+ <Button
175
+ type="button"
176
+ variant={selection.pressed ? 'accent' : 'outline'}
177
+ size="icon-sm"
178
+ aria-pressed={selection.pressed}
179
+ aria-labelledby={requestId}
180
+ onClick={event => {
181
+ event.stopPropagation();
182
+ selection.onToggle();
183
+ }}
184
+ className="absolute right-[var(--spacing-system-mf)] top-[var(--spacing-system-mf)] z-10"
185
+ >
186
+ {selection.pressed ? <CheckIcon /> : <PlusIcon />}
187
+ </Button>
188
+ )}
189
+ {/* Every part keeps at least its number of lines, so cards in a row or a carousel line up part by part. */}
71
190
  <ChatTurn avatar={requester.avatar} name={requester.name} meta={requester.meta} time={requester.time}>
72
- <p className="m-0 line-clamp-2 min-h-[2lh] text-ods-text-primary text-h3" title={request}>
191
+ <p
192
+ id={requestId}
193
+ className="m-0 line-clamp-2 min-h-[2lh] text-ods-text-primary text-h3"
194
+ // Clears the corner mark: its width plus a gap.
195
+ style={selection ? { paddingRight: `calc(${BUTTON_ICON_SM_SIZE} + var(--spacing-system-xsf))` } : undefined}
196
+ title={request}
197
+ >
73
198
  &ldquo;{request}&rdquo;
74
199
  </p>
75
200
  </ChatTurn>
201
+ {context && (
202
+ <div className={CONTEXT_BLOCK_CLASS}>
203
+ <span className="text-ods-text-secondary text-h6">{context.label}</span>
204
+ <p className={CONTEXT_TEXT_CLASS} style={partLinesStyle(lines?.context)}>
205
+ {context.text}
206
+ </p>
207
+ </div>
208
+ )}
76
209
  {/* The answer is a command block: who did it, what was done, and its check. */}
77
210
  <ChatTurn
78
211
  avatar={responder.avatar}
79
212
  name={responder.name}
80
213
  meta={responder.meta}
81
214
  time={responder.time}
82
- className="rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-sf)]"
215
+ className={ANSWER_BLOCK_CLASS}
83
216
  >
84
- <div className="flex items-start gap-[var(--spacing-system-xsf)] text-ods-text-secondary text-h4">
85
- <span className="line-clamp-3 min-h-[3lh] min-w-0 flex-1" title={outcome}>
217
+ <div className={OUTCOME_ROW_CLASS}>
218
+ <p className={OUTCOME_TEXT_CLASS} style={partLinesStyle(lines?.outcome)}>
86
219
  {outcome}
87
- </span>
220
+ </p>
88
221
  {outcomeAside}
89
- <span className="flex h-[1lh] shrink-0 items-center">
222
+ <span className={OUTCOME_CHECK_CLASS} style={OUTCOME_CHECK_STYLE}>
90
223
  <CheckCircleIcon size={16} className="text-ods-success" aria-hidden />
91
224
  </span>
92
225
  </div>
93
226
  </ChatTurn>
94
- <div className="mt-auto flex items-center justify-between gap-[var(--spacing-system-sf)] text-ods-text-secondary text-h6">
95
- <span>{footerLabel}</span>
96
- <Tag as="span" label={footerValue} variant={footerTone === 'attention' ? 'warning' : 'badge'} />
227
+ {footerLabel && footerValue && (
228
+ <div className={cn(FOOTER_ROW_CLASS, 'text-ods-text-secondary text-h6')}>
229
+ <span>{footerLabel}</span>
230
+ <Tag as="span" label={footerValue} variant={footerTone === 'attention' ? 'warning' : 'badge'} />
231
+ </div>
232
+ )}
233
+ </div>
234
+ );
235
+ }
236
+
237
+ /** A speaker's turn while loading: the avatar box, the turn's name row (its meta and time), then the turn's own lines. */
238
+ function TurnSkeleton({ avatarPx, meta, children }: { avatarPx: number; meta: boolean | string; children: ReactNode }) {
239
+ return (
240
+ <div className={TURN_ROW_CLASS}>
241
+ <SquareAvatarSkeleton sizePx={avatarPx} />
242
+ <div className={TURN_BODY_CLASS}>
243
+ <ChatTurnNameSkeleton meta={meta} time />
244
+ {children}
97
245
  </div>
98
246
  </div>
99
247
  );
100
248
  }
249
+
250
+ /**
251
+ * The card while it loads: the SAME frame, then each part at the number of
252
+ * lines the loaded card keeps for it (the request's two, the context's
253
+ * `lines`, four on a phone and three wide by default), so a loaded card takes the skeleton's place without
254
+ * moving the page. Pass the parts the loaded card will have.
255
+ */
256
+ export function ConversationCardSkeleton({
257
+ avatarPx = CONVERSATION_CARD_AVATAR_PX,
258
+ context = false,
259
+ requesterMeta = false,
260
+ responderMeta = false,
261
+ footer = false,
262
+ footerLabel,
263
+ lines,
264
+ label = 'Loading a conversation',
265
+ announce = true,
266
+ className,
267
+ }: {
268
+ /** What a screen reader hears while it loads. */
269
+ label?: string;
270
+ /** `false` inside another loading region (a row of cards): only the outermost region announces. */
271
+ announce?: boolean;
272
+ /** The speakers' avatar size, as the host draws it. */
273
+ avatarPx?: number;
274
+ /** The footer's question when the page states it ("Your part"): drawn for real. */
275
+ footerLabel?: string;
276
+ /** The loaded card has a context part ("Today"). */
277
+ context?: boolean;
278
+ /** The asker's name carries a meta line (their role); a string is static copy, drawn for real. */
279
+ requesterMeta?: boolean | string;
280
+ /** The answerer's name carries a meta line ("What changes"); a string is static copy, drawn for real. */
281
+ responderMeta?: boolean | string;
282
+ /** The loaded card has a footer. */
283
+ footer?: boolean;
284
+ /** The lines the loaded card keeps for its context and outcome (`ConversationCardProps.lines`). */
285
+ lines?: ConversationCardLines;
286
+ className?: string;
287
+ }) {
288
+ const contextLines = partLines(lines?.context);
289
+ const outcomeLines = partLines(lines?.outcome);
290
+ return (
291
+ <LoadingRegion label={label} announce={announce} className={cn(CARD_FRAME_CLASS, className)}>
292
+ <TurnSkeleton avatarPx={avatarPx} meta={requesterMeta}>
293
+ <TextLineSkeleton lines={2} type="h3" />
294
+ </TurnSkeleton>
295
+ {context && (
296
+ <div className={CONTEXT_BLOCK_CLASS}>
297
+ <TextLineSkeleton lines={1} type="h6" className="w-1/4" />
298
+ <p className={CONTEXT_TEXT_CLASS} style={partLinesStyle(contextLines)}>
299
+ <TextLineSkeleton as="span" lines={contextLines.phone} type="h4" className="content-md:hidden" />
300
+ <TextLineSkeleton as="span" lines={contextLines.wide} type="h4" className="hidden content-md:flex" />
301
+ </p>
302
+ </div>
303
+ )}
304
+ <div className={ANSWER_BLOCK_CLASS}>
305
+ <TurnSkeleton avatarPx={avatarPx} meta={responderMeta}>
306
+ {/* The outcome's row: its text at a typical line count, beside the check's place (the row's width). */}
307
+ <div className={OUTCOME_ROW_CLASS}>
308
+ <p className={OUTCOME_TEXT_CLASS} style={partLinesStyle(outcomeLines)}>
309
+ <TextLineSkeleton as="span" lines={outcomeLines.phone} type="h4" className="content-md:hidden" />
310
+ <TextLineSkeleton as="span" lines={outcomeLines.wide} type="h4" className="hidden content-md:flex" />
311
+ </p>
312
+ <span className={cn(OUTCOME_CHECK_CLASS, 'invisible')} style={OUTCOME_CHECK_STYLE}>
313
+ <CheckCircleIcon size={16} aria-hidden />
314
+ </span>
315
+ </div>
316
+ </TurnSkeleton>
317
+ </div>
318
+ {footer && (
319
+ <div className={cn(FOOTER_ROW_CLASS, 'text-ods-text-secondary text-h6')}>
320
+ {footerLabel ? <span>{footerLabel}</span> : <TextLineSkeleton lines={1} type="h6" className="w-1/4" />}
321
+ <Tag as="span" label={'\u00a0'} variant="badge" className="invisible" />
322
+ </div>
323
+ )}
324
+ </LoadingRegion>
325
+ );
326
+ }
@@ -764,6 +764,7 @@ export function DeviceSelector<T extends DeviceRow = DeviceRow>({
764
764
  {!singleSelect && (
765
765
  <TabNavigation
766
766
  tabs={assignTabs}
767
+ staticLabels
767
768
  activeTab={activeSubTab}
768
769
  onTabChange={handleTabChange}
769
770
  className="overflow-clip rounded-t-[6px]"
@@ -71,7 +71,7 @@ export interface DevicesPanelViewProps<T extends DeviceRow = DeviceRow> {
71
71
  */
72
72
  loading?: boolean;
73
73
  /**
74
- * The loading state announces itself, once ("Loading devices…"; the table or grid inside it stays quiet).
74
+ * The loading state announces itself, once ("Loading devices"; the table or grid inside it stays quiet).
75
75
  * `false` inside another loading region. Default `true`.
76
76
  */
77
77
  loadingRegion?: boolean;
@@ -237,7 +237,7 @@ export function DevicesPanelView<T extends DeviceRow = DeviceRow>({
237
237
  {headerSlot}
238
238
  {loading && loadingRegion && (
239
239
  <span role="status" className="sr-only">
240
- Loading devices…
240
+ Loading devices
241
241
  </span>
242
242
  )}
243
243
  {noOrganizations && !loading && (