@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
@@ -16,6 +16,8 @@ import {
16
16
  } from 'react';
17
17
  import { useSearchParams, useRouter, usePathname } from '../../embed-shims/next-navigation';
18
18
  import { cn } from '../../utils/cn';
19
+ import { TextLineSkeleton, UnifiedSkeleton } from '../loading/unified-skeleton';
20
+ import { useLoadingScope } from './loading-scope';
19
21
  import { Tag } from './tag';
20
22
 
21
23
  export interface TabItem {
@@ -55,7 +57,7 @@ export interface TabItem {
55
57
  badge?: string;
56
58
  /** A second, quieter line of text: beside the label from `md`, under it below. */
57
59
  sublabel?: string;
58
- /** A leading visual used instead of `icon` (an avatar, a logo). Rendered as given. */
60
+ /** A leading visual used instead of `icon` (an avatar, a logo), drawn `TAB_AVATAR_PX` square. Rendered as given. */
59
61
  avatar?: React.ReactNode;
60
62
  /**
61
63
  * 0..1. Set on the ACTIVE tab, the underline stops being a selection marker
@@ -132,6 +134,11 @@ interface TabNavigationProps {
132
134
  // URL sync mode
133
135
  urlSync?: boolean | TabNavigationUrlSyncOptions;
134
136
  defaultTab?: string; // Fallback when no valid tab in URL or initial value
137
+ /**
138
+ * The tab labels are static copy (config, never read data): in a loading scope the real strip is drawn (inert)
139
+ * instead of its skeleton bars. Default `false`: labels built from read data stay skeletons.
140
+ */
141
+ staticLabels?: boolean;
135
142
 
136
143
  /**
137
144
  * Render prop for the tab BODY. Receives the tab to render and, additively,
@@ -151,6 +158,24 @@ interface IndicatorRect {
151
158
 
152
159
  const HIDDEN_INDICATOR: IndicatorRect = { left: 0, width: 0 };
153
160
 
161
+ /** The strip's layout, read by the strip and by its skeleton, so the skeleton is the strip's size. */
162
+ const STRIP_FRAME_CLASS = 'relative w-full';
163
+ const STRIP_ROW_CLASS =
164
+ 'scrollbar-hide relative flex h-full items-center justify-start overflow-x-auto overflow-y-hidden';
165
+ const ADMIN_TAB_GAP_CLASS = 'gap-[var(--spacing-system-xxs)]';
166
+ const TAB_CLASS =
167
+ 'group relative flex shrink-0 items-center gap-[var(--spacing-system-xxs)] p-[var(--spacing-system-m)]';
168
+ const TAB_AVATAR_GAP_CLASS = 'gap-[var(--spacing-system-xsf)]';
169
+ /** A tab's avatar, in px: the size a host draws `TabItem.avatar` at, and the circle the skeleton draws for it. */
170
+ export const TAB_AVATAR_PX = 24;
171
+ const TAB_STRETCH_CLASS = 'flex-1';
172
+ const tabAlignClass = (tabAlign: 'center' | 'start') =>
173
+ tabAlign === 'start' ? 'justify-start text-left' : 'justify-center';
174
+ /** A tab with a second line: the label and its sublabel, beside each other from md, stacked below. */
175
+ const TAB_SUBLABEL_WRAP_CLASS =
176
+ 'flex min-w-0 flex-col items-start text-left content-md:flex-row content-md:items-baseline content-md:gap-[var(--spacing-system-xsf)]';
177
+ const STRIP_BORDER_CLASS = 'pointer-events-none absolute bottom-0 left-0 right-0 h-px';
178
+
154
179
  const StatusDot = ({ indicator, className }: { indicator: NonNullable<TabItem['indicator']>; className?: string }) => (
155
180
  <div
156
181
  className={cn(
@@ -423,16 +448,10 @@ const TabBar = memo(function TabBarImpl({
423
448
  }
424
449
 
425
450
  return (
426
- <div className={cn('relative w-full', className)}>
451
+ <div className={cn(STRIP_FRAME_CLASS, className)}>
427
452
  {/* scrollbar-hide: tabs stay swipe/wheel-scrollable, bar never shows.
428
453
  `relative` makes this the offsetParent the underline is measured against. */}
429
- <div
430
- ref={scrollRef}
431
- className={cn(
432
- 'scrollbar-hide relative flex h-full items-center justify-start overflow-x-auto overflow-y-hidden',
433
- isAdmin && 'gap-[var(--spacing-system-xxs)]',
434
- )}
435
- >
454
+ <div ref={scrollRef} className={cn(STRIP_ROW_CLASS, isAdmin && ADMIN_TAB_GAP_CLASS)}>
436
455
  {tabs.map(tab => {
437
456
  const isActive = activeTab === tab.id;
438
457
 
@@ -444,8 +463,9 @@ const TabBar = memo(function TabBarImpl({
444
463
  onClick={() => onTabChange(tab.id)}
445
464
  aria-label={tab.badge ? `${tab.label} (${tab.badge})` : undefined}
446
465
  className={cn(
447
- 'group relative flex shrink-0 cursor-pointer items-center gap-[var(--spacing-system-xxs)] p-[var(--spacing-system-m)]',
448
- tabAlign === 'start' ? 'justify-start text-left' : 'justify-center',
466
+ TAB_CLASS,
467
+ 'cursor-pointer',
468
+ tabAlignClass(tabAlign),
449
469
  // Named rather than `transition-all`: the only thing that moves
450
470
  // here is colour.
451
471
  'border-none bg-transparent outline-none transition-colors duration-200',
@@ -454,8 +474,8 @@ const TabBar = memo(function TabBarImpl({
454
474
  // can tab through it with nothing to show where you are. Inset,
455
475
  // so it stays within the button and never overlaps a neighbour.
456
476
  'focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-focus',
457
- stretchTabs && 'flex-1',
458
- tab.avatar && 'gap-[var(--spacing-system-xsf)]',
477
+ stretchTabs && TAB_STRETCH_CLASS,
478
+ tab.avatar && TAB_AVATAR_GAP_CLASS,
459
479
  // `default`: the open tab is marked by the underline alone, no surface
460
480
  // of its own. `admin`: the open and the hovered tab carry an accent
461
481
  // fade. ODS colour vars hold hex values, so Tailwind alpha modifiers
@@ -492,7 +512,7 @@ const TabBar = memo(function TabBarImpl({
492
512
  ) : null}
493
513
 
494
514
  {tab.sublabel ? (
495
- <span className="flex min-w-0 flex-col items-start text-left content-md:flex-row content-md:items-baseline content-md:gap-[var(--spacing-system-xsf)]">
515
+ <span className={TAB_SUBLABEL_WRAP_CLASS}>
496
516
  <span
497
517
  className={cn(
498
518
  'whitespace-nowrap transition-colors text-h4',
@@ -571,11 +591,72 @@ const TabBar = memo(function TabBarImpl({
571
591
  )}
572
592
 
573
593
  {/* Bottom border — a gradient-capable 1px line that fades to transparent on any edge that has an active fade shadow. */}
574
- <div className="pointer-events-none absolute bottom-0 left-0 right-0 h-px" style={borderStyle} />
594
+ <div className={STRIP_BORDER_CLASS} style={borderStyle} />
575
595
  </div>
576
596
  );
577
597
  });
578
598
 
599
+ export interface TabNavigationSkeletonProps {
600
+ /** How many tabs the strip draws. */
601
+ count: number;
602
+ /** Each tab leads with an avatar: a `TAB_AVATAR_PX` circle before its label. */
603
+ avatar?: boolean;
604
+ /** Each tab carries a quieter second line (`TabItem.sublabel`): beside the label from md, under it below. */
605
+ sublabel?: boolean;
606
+ stretchTabs?: boolean;
607
+ tabAlign?: 'center' | 'start';
608
+ variant?: TabNavigationVariant;
609
+ className?: string;
610
+ }
611
+
612
+ /**
613
+ * The strip while its tabs are read: the same strip, tab padding and gaps, each label a bar at the label's type
614
+ * step, and the strip's bottom border drawn for real. `TabNavigation` draws it in a loading scope.
615
+ */
616
+ export function TabNavigationSkeleton({
617
+ count,
618
+ avatar = false,
619
+ sublabel = false,
620
+ stretchTabs = false,
621
+ tabAlign = 'center',
622
+ variant,
623
+ className,
624
+ }: TabNavigationSkeletonProps) {
625
+ const providedVariant = useContext(TabNavigationVariantContext);
626
+ const isAdmin = (variant ?? providedVariant) === 'admin';
627
+ return (
628
+ <div className={cn(STRIP_FRAME_CLASS, className)} aria-hidden>
629
+ <div className={cn(STRIP_ROW_CLASS, isAdmin && ADMIN_TAB_GAP_CLASS)}>
630
+ {Array.from({ length: count }, (_, i) => (
631
+ <div
632
+ // biome-ignore lint/suspicious/noArrayIndexKey: skeleton tabs never reorder
633
+ key={i}
634
+ className={cn(
635
+ TAB_CLASS,
636
+ tabAlignClass(tabAlign),
637
+ stretchTabs && TAB_STRETCH_CLASS,
638
+ avatar && TAB_AVATAR_GAP_CLASS,
639
+ )}
640
+ >
641
+ {avatar && (
642
+ <UnifiedSkeleton variant="circular" width={TAB_AVATAR_PX} height={TAB_AVATAR_PX} className="shrink-0" />
643
+ )}
644
+ {sublabel ? (
645
+ <span className={TAB_SUBLABEL_WRAP_CLASS}>
646
+ <TextLineSkeleton as="span" type="h4" className="w-20" />
647
+ <TextLineSkeleton as="span" type="h6" className="w-28" />
648
+ </span>
649
+ ) : (
650
+ <TextLineSkeleton type="h4" className="w-20" />
651
+ )}
652
+ </div>
653
+ ))}
654
+ </div>
655
+ <div className={cn(STRIP_BORDER_CLASS, 'bg-ods-border')} />
656
+ </div>
657
+ );
658
+ }
659
+
579
660
  export function TabNavigation({
580
661
  activeTab: controlledActiveTab,
581
662
  onTabChange: controlledOnTabChange,
@@ -590,6 +671,7 @@ export function TabNavigation({
590
671
  variant: variantProp,
591
672
  urlSync = false,
592
673
  defaultTab,
674
+ staticLabels = false,
593
675
  children,
594
676
  }: TabNavigationProps) {
595
677
  const providedVariant = useContext(TabNavigationVariantContext);
@@ -751,22 +833,53 @@ export function TabNavigation({
751
833
  // body can mark itself while it waits.
752
834
  const deferredActiveTab = useDeferredValue(activeTab);
753
835
  const isStale = activeTab !== deferredActiveTab;
836
+ // In a loading scope the body below draws its own loading state. The strip draws its skeleton, unless the caller
837
+ // says its labels are static copy (`staticLabels`): then the real strip is drawn, inert.
838
+ const loading = useLoadingScope();
754
839
 
755
840
  return (
756
841
  <>
757
- <TabBar
758
- tabs={tabs}
759
- activeTab={activeTab}
760
- onTabChange={handleTabChange}
761
- className={className}
762
- shadowClassName={shadowClassName}
763
- showLeftGradient={showLeftGradient}
764
- showRightGradient={showRightGradient}
765
- stretchTabs={stretchTabs}
766
- tabAlign={tabAlign}
767
- progressTransitionMs={progressTransitionMs}
768
- variant={variant}
769
- />
842
+ {loading && staticLabels ? (
843
+ <div className="contents" aria-hidden="true" inert>
844
+ <TabBar
845
+ tabs={tabs}
846
+ activeTab={activeTab}
847
+ onTabChange={() => undefined}
848
+ className={className}
849
+ shadowClassName={shadowClassName}
850
+ showLeftGradient={showLeftGradient}
851
+ showRightGradient={showRightGradient}
852
+ stretchTabs={stretchTabs}
853
+ tabAlign={tabAlign}
854
+ progressTransitionMs={progressTransitionMs}
855
+ variant={variant}
856
+ />
857
+ </div>
858
+ ) : loading ? (
859
+ <TabNavigationSkeleton
860
+ count={tabs.length}
861
+ avatar={tabs.some(tab => Boolean(tab.avatar))}
862
+ sublabel={tabs.some(tab => Boolean(tab.sublabel))}
863
+ stretchTabs={stretchTabs}
864
+ tabAlign={tabAlign}
865
+ variant={variant}
866
+ className={className}
867
+ />
868
+ ) : (
869
+ <TabBar
870
+ tabs={tabs}
871
+ activeTab={activeTab}
872
+ onTabChange={handleTabChange}
873
+ className={className}
874
+ shadowClassName={shadowClassName}
875
+ showLeftGradient={showLeftGradient}
876
+ showRightGradient={showRightGradient}
877
+ stretchTabs={stretchTabs}
878
+ tabAlign={tabAlign}
879
+ progressTransitionMs={progressTransitionMs}
880
+ variant={variant}
881
+ />
882
+ )}
770
883
 
771
884
  {/* Render children with active tab if provided */}
772
885
  {children && children(deferredActiveTab, { isStale })}
@@ -12,7 +12,7 @@ import type { TableColumn, TableHeaderProps, TableRowData } from './types';
12
12
 
13
13
  /** The default header label: wraps inside its cell with a balanced split. */
14
14
  const TABLE_HEADER_LABEL_CLASS = 'min-w-0 text-balance uppercase text-ods-text-secondary text-h5';
15
- import { getHideClasses } from './utils';
15
+ import { getHideClasses, TABLE_ACTIONS_COLUMN_KEY } from './utils';
16
16
 
17
17
  /** @deprecated Use `DataTableHeader` from `data-table` instead. */
18
18
  export function TableHeader<T = TableRowData>({
@@ -94,7 +94,7 @@ export function TableHeader<T = TableRowData>({
94
94
  )}
95
95
 
96
96
  {columns.map(column => {
97
- const isActionsColumn = column.key === '__actions__';
97
+ const isActionsColumn = column.key === TABLE_ACTIONS_COLUMN_KEY;
98
98
  const filterable = column.filterable && column.filterOptions && onFilterChange;
99
99
 
100
100
  // Hide columns on mobile if they are not actions or filterable
@@ -3,6 +3,7 @@
3
3
  import type React from 'react';
4
4
  import Link from '../../../embed-shims/next-link';
5
5
  import { cn } from '../../../utils/cn';
6
+ import { isOwnClick } from '../../../utils/own-click';
6
7
  import { Checkbox } from '../checkbox';
7
8
  import { TableCell } from './table-cell';
8
9
  import { COMPACT_ROW_MIN_HEIGHT, ROW_HEIGHT_DESKTOP } from './table-skeleton';
@@ -42,10 +43,7 @@ export function TableRow<T = TableRowData>({
42
43
  : {};
43
44
 
44
45
  const handleRowClick = (e: React.MouseEvent) => {
45
- const target = e.target as HTMLElement;
46
- if (target.closest('[data-no-row-click]')) {
47
- return;
48
- }
46
+ if (!isOwnClick(e.target, e.currentTarget)) return;
49
47
 
50
48
  if (onClick) {
51
49
  onClick(item);
@@ -1,8 +1,10 @@
1
1
  'use client';
2
2
 
3
3
  import { cn } from '../../../utils/cn';
4
- import { UnifiedSkeleton } from '../../loading/unified-skeleton';
4
+ import { InteractiveSkeleton, TextLineSkeleton, UnifiedSkeleton } from '../../loading/unified-skeleton';
5
+ import { CHECKBOX_BOX_CLASS } from '../checkbox';
5
6
  import type { TableCardSkeletonProps } from './types';
7
+ import { getHideClasses, TABLE_ACTIONS_COLUMN_KEY, TABLE_CHEVRON_COLUMN_KEY } from './utils';
6
8
 
7
9
  // INNER row heights: the bordered row card adds 1px top + bottom, so the
8
10
  // outer block totals the designed 68px / 80px.
@@ -19,12 +21,18 @@ const COMPACT_ROW_MIN_HEIGHT = 'min-h-[56px]';
19
21
  const ROW_HEIGHT_MOBILE = 'h-[66px]';
20
22
 
21
23
  /** @deprecated Use `DataTableSkeleton` from `data-table` instead. */
24
+ /**
25
+ * Rows a table's skeleton draws when its host states no count: one screen of rows under a page's header (a 68px row
26
+ * card and its 8px gap; about ten fit under the header of a 1440x900 screen, nine of a phone's 66px rows).
27
+ */
28
+ export const TABLE_SKELETON_ROWS = 10;
29
+
22
30
  export function TableCardSkeleton({
23
31
  columns,
24
- rows = 10,
32
+ rows = TABLE_SKELETON_ROWS,
25
33
  compact = false,
26
- hasActions = false,
27
- hasChevron = false,
34
+ actions,
35
+ selectable = false,
28
36
  className,
29
37
  rowClassName,
30
38
  }: TableCardSkeletonProps) {
@@ -39,64 +47,50 @@ export function TableCardSkeleton({
39
47
  key={index}
40
48
  className={cn('relative overflow-hidden rounded-[6px] border border-ods-border bg-ods-card', className)}
41
49
  >
42
- {/* Desktop Skeleton */}
43
- {/* Matches the ROW it stands in for: a compact row is content-sized
44
- with a floor, a normal row is a fixed height. Using the taller of
45
- the two here made every compact table jump on its first paint. */}
50
+ {/* `TableRow`'s own row: the same frame, gap and height at every breakpoint, each column in its own cell
51
+ width (the synthetic actions and chevron columns included), so a loaded row takes the skeleton's place. */}
46
52
  <div
47
53
  className={cn(
48
- 'hidden items-center gap-4 px-4 content-md:flex',
54
+ 'relative flex items-center gap-4 px-4',
49
55
  compact ? cn('py-2', COMPACT_ROW_MIN_HEIGHT) : cn('py-0', ROW_HEIGHT_DESKTOP),
50
56
  rowClassName,
51
57
  )}
52
58
  >
53
- {columns.map(column => (
54
- <div key={column.key} className={cn('flex shrink-0 flex-col justify-center', column.width || 'flex-1')}>
55
- <UnifiedSkeleton className="mb-1 h-5 w-3/4 rounded" />
56
- {/* second line simulates multi-line content on the primary column */}
57
- {index % 2 === 0 && column.key === primaryKey && (
58
- <UnifiedSkeleton className="h-4 w-1/2 rounded opacity-60" />
59
- )}
60
- </div>
61
- ))}
62
-
63
- {/* Actions skeleton */}
64
- {hasActions && (
65
- <div className={cn('flex shrink-0 items-center gap-2', !hasChevron && 'ml-auto')}>
66
- <UnifiedSkeleton className="h-12 w-12 rounded" />
67
- <UnifiedSkeleton className="h-12 w-24 rounded" />
68
- </div>
69
- )}
70
-
71
- {/* Chevron skeleton */}
72
- {hasChevron && (
73
- <div className={cn('flex w-12 shrink-0 items-center justify-end', !hasActions && 'ml-auto')}>
74
- <UnifiedSkeleton className="h-8 w-8 rounded" />
59
+ {selectable && (
60
+ <div className="flex w-10 shrink-0 items-center justify-center">
61
+ <UnifiedSkeleton className={CHECKBOX_BOX_CLASS} />
75
62
  </div>
76
63
  )}
77
- </div>
78
-
79
- {/* Mobile Skeleton */}
80
- <div
81
- className={cn(
82
- 'flex items-center justify-start gap-3 px-3 content-md:hidden',
83
- // Mirror the real row on mobile too: a compact row is
84
- // content-sized with a floor, a normal row a fixed height.
85
- // Hard-wiring ROW_HEIGHT_MOBILE made every COMPACT table jump
86
- // 68px -> 58px per row when the data replaced the skeleton.
87
- compact ? cn('py-2', COMPACT_ROW_MIN_HEIGHT) : cn('py-0', ROW_HEIGHT_MOBILE),
88
- rowClassName,
89
- )}
90
- >
91
- {/* The inner padding is the NON-compact row's; a compact row is
92
- sized by its own `py-2` + floor, so adding `py-3` here made the
93
- compact mobile skeleton 78px against a real row's 58. */}
94
- <div className={cn('flex min-w-0 flex-1 flex-col justify-center', compact ? 'py-0' : 'py-3')}>
95
- <UnifiedSkeleton className="mb-2 h-4 w-3/4 rounded" />
96
- <UnifiedSkeleton className="h-3 w-1/2 rounded opacity-60" />
97
- </div>
98
- {hasActions && <UnifiedSkeleton className="h-12 w-12 shrink-0 rounded" />}
99
- {hasChevron && <UnifiedSkeleton className="h-8 w-8 shrink-0 rounded" />}
64
+ {columns.map(column => {
65
+ const cellClass = cn('flex shrink-0', column.width || 'min-w-0 flex-1', getHideClasses(column.hideAt));
66
+ if (column.key === TABLE_ACTIONS_COLUMN_KEY) {
67
+ // One button per row action, at the real buttons' size: an icon-only action an icon button. A host
68
+ // that renders its own actions (`renderRowActions`) gets one icon button in the column's width.
69
+ return (
70
+ <div key={column.key} className={cn(cellClass, 'items-center justify-end gap-2')}>
71
+ {(actions ?? [{ iconOnly: true }]).map((action, i) => (
72
+ // biome-ignore lint/suspicious/noArrayIndexKey: skeleton buttons never reorder
73
+ <InteractiveSkeleton.Button key={i} size={action.iconOnly ? 'icon' : 'default'} />
74
+ ))}
75
+ </div>
76
+ );
77
+ }
78
+ if (column.key === TABLE_CHEVRON_COLUMN_KEY) {
79
+ return (
80
+ <div key={column.key} className={cn(cellClass, 'items-center justify-end')}>
81
+ <InteractiveSkeleton.Button size="icon" />
82
+ </div>
83
+ );
84
+ }
85
+ return (
86
+ <div key={column.key} className={cn(cellClass, 'flex-col justify-center overflow-hidden')}>
87
+ {/* A cell's text (`TableCell`: the primary face), and on the primary column every other row a
88
+ second, secondary line (a description or an id under it). */}
89
+ <TextLineSkeleton type="h4" className="w-3/4" />
90
+ {index % 2 === 0 && column.key === primaryKey && <TextLineSkeleton type="h6" className="w-1/2" />}
91
+ </div>
92
+ );
93
+ })}
100
94
  </div>
101
95
  </div>
102
96
  ))}
@@ -5,14 +5,16 @@ import { cn } from '../../../utils/cn';
5
5
  import { Chevron02RightIcon } from '../../icons-v2-generated';
6
6
  import { Pagination } from '../../pagination';
7
7
  import { Button } from '../button';
8
- import { CursorPagination } from '../cursor-pagination';
8
+ import { CursorPagination, CursorPaginationSkeleton } from '../cursor-pagination';
9
9
  import { PlaceholderRows, ReservedEmptyState } from '../data-table/data-table-skeleton';
10
+ import { useLoadingScope } from '../loading-scope';
10
11
  import { TableEmptyState } from './table-empty-state';
11
12
  import { TableHeader } from './table-header';
12
13
  import { TableRow } from './table-row';
13
- import { COMPACT_ROW_MIN_HEIGHT, TableCardSkeleton } from './table-skeleton';
14
+ import { COMPACT_ROW_MIN_HEIGHT, TABLE_SKELETON_ROWS, TableCardSkeleton } from './table-skeleton';
14
15
  import type { RowAction, TableColumn, TableProps, TableRowData } from './types';
15
16
  import { useTableMotion } from './use-table-motion';
17
+ import { TABLE_ACTIONS_COLUMN_KEY, TABLE_CHEVRON_COLUMN_KEY } from './utils';
16
18
 
17
19
  /**
18
20
  * Injects synthetic columns (row actions and/or row-level chevron link) at the end of the columns array.
@@ -35,7 +37,7 @@ function injectSyntheticColumns<T>(
35
37
 
36
38
  if (hasActions) {
37
39
  const actionsColumn: TableColumn<T> = {
38
- key: '__actions__',
40
+ key: TABLE_ACTIONS_COLUMN_KEY,
39
41
  label: '',
40
42
  // A caller-fixed width keeps the header and every row on ONE grid
41
43
  // (see `actionsColumnWidth` in types.ts); the default stays
@@ -68,7 +70,7 @@ function injectSyntheticColumns<T>(
68
70
 
69
71
  if (rowHref) {
70
72
  const chevronColumn: TableColumn<T> = {
71
- key: '__chevron__',
73
+ key: TABLE_CHEVRON_COLUMN_KEY,
72
74
  label: '',
73
75
  width: 'w-12 shrink-0 flex-none',
74
76
  align: 'right',
@@ -100,9 +102,9 @@ export function Table<T = TableRowData>({
100
102
  data,
101
103
  columns,
102
104
  rowKey,
103
- loading = false,
105
+ loading: loadingProp = false,
104
106
  emptyMessage,
105
- skeletonRows = 10,
107
+ skeletonRows = TABLE_SKELETON_ROWS,
106
108
  minRows,
107
109
  emptyState,
108
110
  keepHeightWhenEmpty,
@@ -135,10 +137,22 @@ export function Table<T = TableRowData>({
135
137
  animateRowReorder,
136
138
  actionsColumnWidth,
137
139
  }: TableProps<T>) {
140
+ // In a page's loading state the table is loading: its header real, its rows the row skeletons.
141
+ const loading = useLoadingScope() || loadingProp;
138
142
  // Opt-in row-reorder animation: framer-motion is loaded lazily (its own chunk)
139
143
  // ONLY when `animateRowReorder` is set, so the default table stays motion-free.
140
144
  const tableMotion = useTableMotion(Boolean(animateRowReorder));
141
145
  const columnsWithActions = injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref, actionsColumnWidth);
146
+ // The rows' skeleton: the rows' own columns (the synthetic actions and chevron columns at their widths), its
147
+ // action buttons as the row draws them.
148
+ const skeletonShape = {
149
+ columns: columnsWithActions,
150
+ compact,
151
+ selectable,
152
+ actions: renderRowActions
153
+ ? undefined
154
+ : rowActions?.map(action => ({ iconOnly: Boolean(action.icon) && !action.label })),
155
+ };
142
156
 
143
157
  // ONE resolution of the two vocabularies, so the render below never asks
144
158
  // which spelling the caller used. `minRows` is the current one; the two
@@ -274,13 +288,7 @@ export function Table<T = TableRowData>({
274
288
  {/* Table Body */}
275
289
  <div className={cn('flex w-full flex-col gap-2', className)}>
276
290
  {loading && data.length === 0 ? (
277
- <TableCardSkeleton
278
- columns={columns}
279
- rows={skeletonRows}
280
- compact={compact}
281
- hasActions={(rowActions?.length ?? 0) > 0}
282
- hasChevron={Boolean(rowHref)}
283
- />
291
+ <TableCardSkeleton {...skeletonShape} rows={skeletonRows} />
284
292
  ) : data.length === 0 ? (
285
293
  /* `minRows` promises a STABLE height, and an empty table is exactly
286
294
  when a collapsing one is most visible — the pagination and
@@ -331,12 +339,7 @@ export function Table<T = TableRowData>({
331
339
  })()}
332
340
  {/* Infinite scroll: skeleton rows */}
333
341
  {infiniteScroll?.isFetchingNextPage && (
334
- <TableCardSkeleton
335
- columns={columns}
336
- rows={infiniteScroll.skeletonRows ?? 3}
337
- hasActions={(rowActions?.length ?? 0) > 0}
338
- hasChevron={Boolean(rowHref)}
339
- />
342
+ <TableCardSkeleton {...skeletonShape} rows={infiniteScroll.skeletonRows ?? 3} />
340
343
  )}
341
344
  {/* Infinite scroll: sentinel element */}
342
345
  {infiniteScroll?.hasNextPage && <div ref={sentinelRef} className="h-1" aria-hidden="true" />}
@@ -376,6 +379,20 @@ export function Table<T = TableRowData>({
376
379
  />
377
380
  )}
378
381
 
382
+ {/* While the first page is read: the pager's skeleton in its place (its buttons real and inert). */}
383
+ {!infiniteScroll && cursorPagination && loading && data.length === 0 && (
384
+ <CursorPaginationSkeleton
385
+ hasPreviousPage={cursorPagination.hasPreviousPage}
386
+ onPrevious={cursorPagination.onPrevious}
387
+ onReset={cursorPagination.onReset}
388
+ showInfo={cursorPagination.showInfo ?? true}
389
+ compact={cursorPagination.compact}
390
+ resetButtonLabel={cursorPagination.resetButtonLabel}
391
+ resetButtonIcon={cursorPagination.resetButtonIcon}
392
+ className={cn('mt-2 border-t border-ods-border pt-3', paginationClassName)}
393
+ />
394
+ )}
395
+
379
396
  {!infiniteScroll && pagePagination && !cursorPagination && data.length > 0 && (
380
397
  <div className={cn('mt-2 border-t border-ods-border pt-3', paginationClassName)}>
381
398
  <Pagination
@@ -297,13 +297,21 @@ export interface TableCellProps {
297
297
 
298
298
  /** @deprecated Use types from `data-table` instead. */
299
299
  export interface TableCardSkeletonProps {
300
- /** Only `key` and `width` are read, so any `TableColumn<T>[]` fits. */
301
- columns: ReadonlyArray<Pick<TableColumn, 'key' | 'width'>>;
300
+ /**
301
+ * The table's columns as its rows draw them, the synthetic actions and chevron columns included (`Table` passes
302
+ * its own). Only `key`, `width` and `hideAt` are read, so any `TableColumn<T>[]` fits.
303
+ */
304
+ columns: ReadonlyArray<Pick<TableColumn, 'key' | 'width' | 'hideAt'>>;
302
305
  rows?: number; // Number of skeleton rows to display (default: 10)
303
306
  /** Match a `compact` table's row height, so the first paint does not jump. */
304
307
  compact?: boolean;
305
- hasActions?: boolean;
306
- hasChevron?: boolean;
308
+ /**
309
+ * The row actions in the actions column, one button each (`iconOnly`: an icon button). Absent: the column's
310
+ * actions are the host's own (`renderRowActions`), drawn as one icon button.
311
+ */
312
+ actions?: ReadonlyArray<{ iconOnly: boolean }>;
313
+ /** The table's selection checkbox column. */
314
+ selectable?: boolean;
307
315
  className?: string;
308
316
  rowClassName?: string; // Additional classes for each skeleton row
309
317
  }
@@ -1,5 +1,10 @@
1
1
  import type { TableColumn, TailwindBreakpoint } from './types';
2
2
 
3
+ /** The synthetic column `Table` adds for its row actions (`rowActions` / `renderRowActions`). */
4
+ export const TABLE_ACTIONS_COLUMN_KEY = '__actions__';
5
+ /** The synthetic column `Table` adds for its row link (`rowHref`): one chevron icon button. */
6
+ export const TABLE_CHEVRON_COLUMN_KEY = '__chevron__';
7
+
3
8
  /** @deprecated Use `data-table` instead. */
4
9
  export function getHideClasses(hideAt?: TailwindBreakpoint | TailwindBreakpoint[]): string {
5
10
  if (!hideAt) {