@flamingo-stack/openframe-frontend-core 0.0.748 → 0.0.749

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 (546) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-7Y3VMMJB.cjs → chunk-2J2OBP4N.cjs} +26 -18
  3. package/dist/chunk-2YXOD2KL.cjs +137 -0
  4. package/dist/{chunk-BEC43GHL.cjs → chunk-34TWK3JE.cjs} +3 -3
  5. package/dist/{chunk-BBM2ICOY.cjs → chunk-3TELPOVH.cjs} +2 -2
  6. package/dist/{chunk-G2ELX3DG.cjs → chunk-45YRDD7W.cjs} +22 -19
  7. package/dist/{chunk-U6XWGK53.cjs → chunk-ALPRQ3ZX.cjs} +56 -46
  8. package/dist/{chunk-YKJQM2O6.cjs → chunk-BN6NA5RM.cjs} +56 -53
  9. package/dist/{chunk-HNLI4OU5.cjs → chunk-C6LPOYDM.cjs} +24 -24
  10. package/dist/{chunk-4MGZYY6U.cjs → chunk-CLAJIQ7E.cjs} +26 -18
  11. package/dist/{chunk-H34A2765.cjs → chunk-CXV7VBSI.cjs} +104 -118
  12. package/dist/{chunk-QPSQ5WLG.cjs → chunk-DGEB5GUZ.cjs} +2 -2
  13. package/dist/{chunk-OZUJYBQ2.cjs → chunk-E3KFEOFA.cjs} +9 -6
  14. package/dist/{chunk-PSSGIZXZ.cjs → chunk-FHT7SMA7.cjs} +49 -46
  15. package/dist/{chunk-46EIXJFC.cjs → chunk-GOFEOCQN.cjs} +44 -27
  16. package/dist/{chunk-UNR74CAC.cjs → chunk-HOEVD6EN.cjs} +4 -4
  17. package/dist/{chunk-EH3LOWGY.cjs → chunk-KRAQEZPB.cjs} +48 -40
  18. package/dist/{chunk-AKTPO2DN.cjs → chunk-L4UI63K6.cjs} +2 -2
  19. package/dist/{chunk-D4XZL27V.cjs → chunk-LQT2ITMG.cjs} +6 -6
  20. package/dist/{chunk-PSIKUDUV.cjs → chunk-LVO7FALW.cjs} +5 -5
  21. package/dist/{chunk-L2RMTGOK.cjs → chunk-MGF3FUKD.cjs} +7 -7
  22. package/dist/{chunk-P7KTAXXE.cjs → chunk-OFO75R2O.cjs} +169 -175
  23. package/dist/{chunk-JNBOQ7F2.cjs → chunk-OZLIKBKC.cjs} +24 -24
  24. package/dist/{chunk-B27QEHYR.cjs → chunk-P6F6PHVK.cjs} +9 -9
  25. package/dist/chunk-RB6BSE3O.cjs +21 -0
  26. package/dist/{chunk-6XP6RNFD.cjs → chunk-SECT4H34.cjs} +1780 -2076
  27. package/dist/{chunk-GE4PCDNZ.cjs → chunk-SGL47BS2.cjs} +12 -12
  28. package/dist/{chunk-4AZHFLOM.cjs → chunk-SOPVUD2Y.cjs} +3 -3
  29. package/dist/chunk-UGCRLRCT.cjs +25 -0
  30. package/dist/{chunk-BBTSJYTR.cjs → chunk-V3UJ6NDR.cjs} +243 -429
  31. package/dist/{chunk-JOPFX3PJ.cjs → chunk-VEVIMDNK.cjs} +137 -122
  32. package/dist/{chunk-ZNUSYMH7.cjs → chunk-WZX26ODJ.cjs} +121 -121
  33. package/dist/{chunk-YIRX6C7V.cjs → chunk-XJ3J4UIS.cjs} +57 -22
  34. package/dist/{chunk-TRXCQADV.cjs → chunk-ZLF55RDR.cjs} +103 -98
  35. package/dist/{cloud-tenants-V5727B7F.cjs → cloud-tenants-2MYFHEYY.cjs} +16 -14
  36. package/dist/components/case-studies/index.cjs +29 -27
  37. package/dist/components/categories-cart.d.ts.map +1 -1
  38. package/dist/components/categories-cart.js +2 -7
  39. package/dist/components/chat/chat-container.js +4 -4
  40. package/dist/components/chat/chat-context-picker.d.ts.map +1 -1
  41. package/dist/components/chat/chat-context-picker.js +2 -1
  42. package/dist/components/chat/chat-message-row.d.ts.map +1 -1
  43. package/dist/components/chat/chat-message-row.js +6 -5
  44. package/dist/components/chat/chat-message-skeleton.d.ts +3 -1
  45. package/dist/components/chat/chat-message-skeleton.d.ts.map +1 -1
  46. package/dist/components/chat/chat-message-skeleton.js +8 -5
  47. package/dist/components/chat/chat-sidebar-skeleton.d.ts.map +1 -1
  48. package/dist/components/chat/chat-sidebar-skeleton.js +4 -3
  49. package/dist/components/chat/chat-top-navigation.js +4 -4
  50. package/dist/components/chat/context-items-list.d.ts.map +1 -1
  51. package/dist/components/chat/context-items-list.js +5 -3
  52. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts +24 -1
  53. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts.map +1 -1
  54. package/dist/components/chat/entity-cards/admin-content-card-grid.js +46 -15
  55. package/dist/components/chat/entity-cards/admin-content-card.d.ts.map +1 -1
  56. package/dist/components/chat/entity-cards/admin-content-card.js +2 -1
  57. package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
  58. package/dist/components/chat/entity-cards/blog-card.js +13 -12
  59. package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -1
  60. package/dist/components/chat/entity-cards/campaign-card-admin.js +5 -4
  61. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  62. package/dist/components/chat/entity-cards/case-study-card.js +19 -18
  63. package/dist/components/chat/entity-cards/chat-ticket-item.js +5 -5
  64. package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -1
  65. package/dist/components/chat/entity-cards/customer-interview-card.js +15 -14
  66. package/dist/components/chat/entity-cards/data-room-doc-card.d.ts.map +1 -1
  67. package/dist/components/chat/entity-cards/data-room-doc-card.js +7 -6
  68. package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -1
  69. package/dist/components/chat/entity-cards/design-doc-card.js +0 -2
  70. package/dist/components/chat/entity-cards/generic-entity-card.d.ts.map +1 -1
  71. package/dist/components/chat/entity-cards/generic-entity-card.js +8 -7
  72. package/dist/components/chat/entity-cards/github-activity-card.d.ts.map +1 -1
  73. package/dist/components/chat/entity-cards/github-activity-card.js +11 -10
  74. package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts.map +1 -1
  75. package/dist/components/chat/entity-cards/hubspot-ticket-card.js +16 -15
  76. package/dist/components/chat/entity-cards/index.d.ts +1 -1
  77. package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
  78. package/dist/components/chat/entity-cards/index.js +2 -0
  79. package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
  80. package/dist/components/chat/entity-cards/investor-update-card.js +12 -11
  81. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  82. package/dist/components/chat/entity-cards/onboarding-guide-card.js +25 -30
  83. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
  84. package/dist/components/chat/entity-cards/program-card.js +29 -28
  85. package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -1
  86. package/dist/components/chat/entity-cards/roadmap-card.js +37 -39
  87. package/dist/components/chat/entity-cards/slack-message-card.d.ts.map +1 -1
  88. package/dist/components/chat/entity-cards/slack-message-card.js +12 -11
  89. package/dist/components/chat/guide-welcome.js +2 -2
  90. package/dist/components/chat/index.cjs +13 -9
  91. package/dist/components/chat/mingo-archive-list.d.ts.map +1 -1
  92. package/dist/components/chat/mingo-archive-list.js +2 -1
  93. package/dist/components/chat/mingo-chat-history.d.ts +4 -2
  94. package/dist/components/chat/mingo-chat-history.d.ts.map +1 -1
  95. package/dist/components/chat/mingo-chat-history.js +11 -5
  96. package/dist/components/chat/mingo-chat-rail.d.ts.map +1 -1
  97. package/dist/components/chat/mingo-chat-rail.js +2 -1
  98. package/dist/components/chat/mingo-info-card.d.ts.map +1 -1
  99. package/dist/components/chat/mingo-info-card.js +6 -5
  100. package/dist/components/chat/mingo-onboarding-card-skeleton.d.ts +3 -1
  101. package/dist/components/chat/mingo-onboarding-card-skeleton.d.ts.map +1 -1
  102. package/dist/components/chat/mingo-onboarding-card-skeleton.js +12 -12
  103. package/dist/components/chat/model-display.js +4 -4
  104. package/dist/components/chat/msp-organization-card-skeleton.js +5 -5
  105. package/dist/components/chat/quick-action-chip.d.ts +3 -3
  106. package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
  107. package/dist/components/chat/quick-action-chip.js +12 -6
  108. package/dist/components/chat/utils/compact-card-classes.d.ts +4 -4
  109. package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
  110. package/dist/components/chat/utils/compact-card-classes.js +2 -2
  111. package/dist/components/contact/index.cjs +17 -15
  112. package/dist/components/content-loading-container.d.ts +1 -1
  113. package/dist/components/content-loading-container.d.ts.map +1 -1
  114. package/dist/components/content-loading-container.js +6 -7
  115. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  116. package/dist/components/docs/doc-viewer.js +3 -2
  117. package/dist/components/docs/index.cjs +20 -18
  118. package/dist/components/docs/skeletons.d.ts +7 -8
  119. package/dist/components/docs/skeletons.d.ts.map +1 -1
  120. package/dist/components/docs/skeletons.js +62 -61
  121. package/dist/components/embeds/embed-iframe.d.ts +6 -6
  122. package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
  123. package/dist/components/embeds/embed-iframe.js +9 -4
  124. package/dist/components/embeds/index.cjs +19 -15
  125. package/dist/components/embeds/index.d.ts +2 -2
  126. package/dist/components/embeds/index.d.ts.map +1 -1
  127. package/dist/components/embeds/index.js +2 -1
  128. package/dist/components/embeds/linkedin-embed-client.d.ts.map +1 -1
  129. package/dist/components/embeds/linkedin-embed-client.js +7 -6
  130. package/dist/components/embeds/markdown-image.d.ts.map +1 -1
  131. package/dist/components/embeds/markdown-image.js +5 -3
  132. package/dist/components/embeds/og-link-preview.d.ts +19 -18
  133. package/dist/components/embeds/og-link-preview.d.ts.map +1 -1
  134. package/dist/components/embeds/og-link-preview.js +143 -88
  135. package/dist/components/embeds/reddit-embed-client.d.ts.map +1 -1
  136. package/dist/components/embeds/reddit-embed-client.js +10 -9
  137. package/dist/components/embeds/twitter-embed-client.d.ts.map +1 -1
  138. package/dist/components/embeds/twitter-embed-client.js +10 -9
  139. package/dist/components/faq/faq-section.d.ts.map +1 -1
  140. package/dist/components/faq/faq-section.js +9 -5
  141. package/dist/components/faq/index.cjs +18 -16
  142. package/dist/components/features/board/ticket-card-skeleton.js +8 -8
  143. package/dist/components/features/capability-explorer.d.ts +3 -1
  144. package/dist/components/features/capability-explorer.d.ts.map +1 -1
  145. package/dist/components/features/capability-explorer.js +27 -24
  146. package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts +5 -2
  147. package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts.map +1 -1
  148. package/dist/components/features/devices/device-selector/device-selector-skeleton.js +2 -2
  149. package/dist/components/features/devices/device-selector/device-selector.d.ts +1 -1
  150. package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -1
  151. package/dist/components/features/devices/device-selector/device-selector.js +2 -0
  152. package/dist/components/features/devices/device-selector/device-selector.types.d.ts +2 -0
  153. package/dist/components/features/devices/device-selector/device-selector.types.d.ts.map +1 -1
  154. package/dist/components/features/devices/devices-grid.d.ts +3 -1
  155. package/dist/components/features/devices/devices-grid.d.ts.map +1 -1
  156. package/dist/components/features/devices/devices-grid.js +3 -2
  157. package/dist/components/features/devices/devices-panel-view.d.ts +6 -1
  158. package/dist/components/features/devices/devices-panel-view.d.ts.map +1 -1
  159. package/dist/components/features/devices/devices-panel-view.js +4 -1
  160. package/dist/components/features/devices/devices-table-columns.d.ts +3 -1
  161. package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -1
  162. package/dist/components/features/devices/devices-table-columns.js +2 -0
  163. package/dist/components/features/index.cjs +18 -14
  164. package/dist/components/features/logs/logs-table-view.d.ts +3 -1
  165. package/dist/components/features/logs/logs-table-view.d.ts.map +1 -1
  166. package/dist/components/features/logs/logs-table-view.js +2 -2
  167. package/dist/components/features/model-token-rates.d.ts +4 -1
  168. package/dist/components/features/model-token-rates.d.ts.map +1 -1
  169. package/dist/components/features/model-token-rates.js +18 -23
  170. package/dist/components/features/notifications/index.d.ts +2 -2
  171. package/dist/components/features/notifications/index.d.ts.map +1 -1
  172. package/dist/components/features/notifications/index.js +2 -1
  173. package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
  174. package/dist/components/features/notifications/notification-drawer.js +9 -16
  175. package/dist/components/features/notifications/notification-tile.d.ts +14 -0
  176. package/dist/components/features/notifications/notification-tile.d.ts.map +1 -1
  177. package/dist/components/features/notifications/notification-tile.js +36 -1
  178. package/dist/components/features/policies/policy-summary-cards.js +2 -2
  179. package/dist/components/features/push-button-selector.d.ts.map +1 -1
  180. package/dist/components/features/push-button-selector.js +12 -7
  181. package/dist/components/features/remote-session/remote-desktop-view.d.ts +4 -1
  182. package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
  183. package/dist/components/features/remote-session/remote-desktop-view.js +14 -10
  184. package/dist/components/features/waitlist-form.d.ts.map +1 -1
  185. package/dist/components/features/waitlist-form.js +6 -5
  186. package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -1
  187. package/dist/components/help-center-pages/download-apps-page.js +2 -1
  188. package/dist/components/help-center-pages/index.cjs +127 -119
  189. package/dist/components/help-center-pages/trust-center-page.d.ts +4 -1
  190. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  191. package/dist/components/help-center-pages/trust-center-page.js +3 -2
  192. package/dist/components/help-center-pages/trust-center-sections.d.ts +4 -1
  193. package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
  194. package/dist/components/help-center-pages/trust-center-sections.js +5 -2
  195. package/dist/components/index.cjs +70 -112
  196. package/dist/components/index.d.ts +0 -2
  197. package/dist/components/index.d.ts.map +1 -1
  198. package/dist/components/index.js +0 -2
  199. package/dist/components/layout/title-block.d.ts.map +1 -1
  200. package/dist/components/layout/title-block.js +18 -11
  201. package/dist/components/loading/card-skeleton.d.ts +6 -3
  202. package/dist/components/loading/card-skeleton.d.ts.map +1 -1
  203. package/dist/components/loading/card-skeleton.js +7 -27
  204. package/dist/components/loading/category-card-skeleton.d.ts.map +1 -1
  205. package/dist/components/loading/category-card-skeleton.js +2 -4
  206. package/dist/components/loading/category-vendor-selector-skeleton.d.ts +3 -1
  207. package/dist/components/loading/category-vendor-selector-skeleton.d.ts.map +1 -1
  208. package/dist/components/loading/category-vendor-selector-skeleton.js +9 -4
  209. package/dist/components/loading/device-card-skeleton.d.ts +18 -9
  210. package/dist/components/loading/device-card-skeleton.d.ts.map +1 -1
  211. package/dist/components/loading/device-card-skeleton.js +30 -21
  212. package/dist/components/loading/index.d.ts +3 -4
  213. package/dist/components/loading/index.d.ts.map +1 -1
  214. package/dist/components/loading/index.js +6 -29
  215. package/dist/components/loading/loading-region.d.ts +33 -0
  216. package/dist/components/loading/loading-region.d.ts.map +1 -0
  217. package/dist/components/loading/loading-region.js +22 -0
  218. package/dist/components/loading/margin-report-skeleton.d.ts +3 -1
  219. package/dist/components/loading/margin-report-skeleton.d.ts.map +1 -1
  220. package/dist/components/loading/margin-report-skeleton.js +70 -61
  221. package/dist/components/loading/msp-profile-form-skeleton.d.ts +3 -1
  222. package/dist/components/loading/msp-profile-form-skeleton.d.ts.map +1 -1
  223. package/dist/components/loading/msp-profile-form-skeleton.js +6 -5
  224. package/dist/components/loading/organization-card-skeleton.d.ts +3 -1
  225. package/dist/components/loading/organization-card-skeleton.d.ts.map +1 -1
  226. package/dist/components/loading/organization-card-skeleton.js +5 -5
  227. package/dist/components/loading/organization-icon-skeleton.d.ts.map +1 -1
  228. package/dist/components/loading/organization-icon-skeleton.js +2 -1
  229. package/dist/components/loading/page-layout-skeleton.d.ts +21 -6
  230. package/dist/components/loading/page-layout-skeleton.d.ts.map +1 -1
  231. package/dist/components/loading/page-layout-skeleton.js +283 -266
  232. package/dist/components/loading/settings-form-skeleton.d.ts +17 -0
  233. package/dist/components/loading/settings-form-skeleton.d.ts.map +1 -0
  234. package/dist/components/loading/settings-form-skeleton.js +42 -0
  235. package/dist/components/loading/unified-skeleton.d.ts +11 -4
  236. package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
  237. package/dist/components/loading/unified-skeleton.js +14 -89
  238. package/dist/components/loading/wizard-layout-skeleton.d.ts +3 -1
  239. package/dist/components/loading/wizard-layout-skeleton.d.ts.map +1 -1
  240. package/dist/components/loading/wizard-layout-skeleton.js +3 -2
  241. package/dist/components/media-carousel.d.ts.map +1 -1
  242. package/dist/components/media-carousel.js +2 -1
  243. package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
  244. package/dist/components/meeting-scheduler/booking-form.js +14 -8
  245. package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
  246. package/dist/components/meeting-scheduler/context-panel.js +8 -7
  247. package/dist/components/meeting-scheduler/directory.d.ts.map +1 -1
  248. package/dist/components/meeting-scheduler/directory.js +10 -9
  249. package/dist/components/meeting-scheduler/index.cjs +85 -75
  250. package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
  251. package/dist/components/meeting-scheduler/index.js +3 -2
  252. package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -1
  253. package/dist/components/meeting-scheduler/modal-header.js +8 -7
  254. package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
  255. package/dist/components/meeting-scheduler/slot-picker.js +4 -3
  256. package/dist/components/navigation/app-header.d.ts.map +1 -1
  257. package/dist/components/navigation/app-header.js +8 -7
  258. package/dist/components/navigation/index.cjs +19 -17
  259. package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
  260. package/dist/components/navigation/multi-level-navigation.js +3 -2
  261. package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
  262. package/dist/components/navigation/navigation-sidebar-item.js +3 -2
  263. package/dist/components/onboarding-guides/index.cjs +19 -17
  264. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +4 -1
  265. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -1
  266. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.js +12 -8
  267. package/dist/components/product-demo/index.cjs +16 -15
  268. package/dist/components/product-demo/product-screen.d.ts.map +1 -1
  269. package/dist/components/product-demo/product-screen.js +4 -4
  270. package/dist/components/profile/ProfileLoadingSkeleton.d.ts +3 -1
  271. package/dist/components/profile/ProfileLoadingSkeleton.d.ts.map +1 -1
  272. package/dist/components/profile/ProfileLoadingSkeleton.js +10 -8
  273. package/dist/components/related-content/index.cjs +7 -5
  274. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  275. package/dist/components/related-content/related-content-section.js +3 -2
  276. package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -1
  277. package/dist/components/shared/delivery/delivery-table.js +8 -7
  278. package/dist/components/shared/detail-page-skeleton.d.ts +5 -1
  279. package/dist/components/shared/detail-page-skeleton.d.ts.map +1 -1
  280. package/dist/components/shared/detail-page-skeleton.js +18 -14
  281. package/dist/components/shared/dev-section/dev-card-row.d.ts +3 -1
  282. package/dist/components/shared/dev-section/dev-card-row.d.ts.map +1 -1
  283. package/dist/components/shared/dev-section/dev-card-row.js +22 -9
  284. package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
  285. package/dist/components/shared/legal-document/legal-document-page.js +8 -7
  286. package/dist/components/shared/onboarding/onboarding-step-card.d.ts.map +1 -1
  287. package/dist/components/shared/onboarding/onboarding-step-card.js +3 -2
  288. package/dist/components/shared/onboarding/onboarding-walkthrough.d.ts.map +1 -1
  289. package/dist/components/shared/onboarding/onboarding-walkthrough.js +2 -1
  290. package/dist/components/shared/product-release/index.d.ts +0 -1
  291. package/dist/components/shared/product-release/index.d.ts.map +1 -1
  292. package/dist/components/shared/product-release/index.js +1 -3
  293. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
  294. package/dist/components/shared/product-release/product-release-card-skeleton.js +21 -20
  295. package/dist/components/shared/product-release/product-releases-view.d.ts.map +1 -1
  296. package/dist/components/shared/product-release/product-releases-view.js +2 -1
  297. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +6 -13
  298. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -1
  299. package/dist/components/shared/roadmap/roadmap-grid-skeleton.js +13 -25
  300. package/dist/components/tickets/help-center-create-form.d.ts +4 -1
  301. package/dist/components/tickets/help-center-create-form.d.ts.map +1 -1
  302. package/dist/components/tickets/help-center-create-form.js +38 -26
  303. package/dist/components/tickets/index.cjs +22 -20
  304. package/dist/components/tickets/ticket-center.d.ts.map +1 -1
  305. package/dist/components/tickets/ticket-center.js +13 -10
  306. package/dist/components/tickets/ticket-detail-drawer.d.ts.map +1 -1
  307. package/dist/components/tickets/ticket-detail-drawer.js +2 -1
  308. package/dist/components/ui/admin-form-drawer.d.ts.map +1 -1
  309. package/dist/components/ui/admin-form-drawer.js +6 -8
  310. package/dist/components/ui/admin-form-modal.d.ts.map +1 -1
  311. package/dist/components/ui/admin-form-modal.js +12 -11
  312. package/dist/components/ui/analyzing-state.d.ts +1 -1
  313. package/dist/components/ui/analyzing-state.d.ts.map +1 -1
  314. package/dist/components/ui/analyzing-state.js +4 -10
  315. package/dist/components/ui/content-loader.d.ts +5 -1
  316. package/dist/components/ui/content-loader.d.ts.map +1 -1
  317. package/dist/components/ui/content-loader.js +27 -23
  318. package/dist/components/ui/dashboard-info-card.d.ts +17 -3
  319. package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
  320. package/dist/components/ui/dashboard-info-card.js +30 -10
  321. package/dist/components/ui/data-attribution.d.ts +6 -0
  322. package/dist/components/ui/data-attribution.d.ts.map +1 -1
  323. package/dist/components/ui/data-attribution.js +12 -1
  324. package/dist/components/ui/data-table/data-table-body.d.ts +6 -1
  325. package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
  326. package/dist/components/ui/data-table/data-table-body.js +3 -1
  327. package/dist/components/ui/data-table/data-table-infinite-footer.d.ts.map +1 -1
  328. package/dist/components/ui/data-table/data-table-infinite-footer.js +3 -1
  329. package/dist/components/ui/data-table/data-table-skeleton.d.ts.map +1 -1
  330. package/dist/components/ui/data-table/data-table-skeleton.js +7 -5
  331. package/dist/components/ui/feature-card.d.ts.map +1 -1
  332. package/dist/components/ui/feature-card.js +7 -9
  333. package/dist/components/ui/file-manager/file-manager-skeleton.d.ts +3 -1
  334. package/dist/components/ui/file-manager/file-manager-skeleton.d.ts.map +1 -1
  335. package/dist/components/ui/file-manager/file-manager-skeleton.js +27 -21
  336. package/dist/components/ui/file-manager/file-manager-table.js +10 -10
  337. package/dist/components/ui/file-manager/index.cjs +45 -36
  338. package/dist/components/ui/filter-modal.d.ts.map +1 -1
  339. package/dist/components/ui/filter-modal.js +5 -5
  340. package/dist/components/ui/filter-pill-row.d.ts +10 -0
  341. package/dist/components/ui/filter-pill-row.d.ts.map +1 -1
  342. package/dist/components/ui/filter-pill-row.js +8 -1
  343. package/dist/components/ui/index.cjs +19 -28
  344. package/dist/components/ui/index.d.ts +0 -1
  345. package/dist/components/ui/index.d.ts.map +1 -1
  346. package/dist/components/ui/index.js +0 -1
  347. package/dist/components/ui/layout-hold.d.ts +5 -4
  348. package/dist/components/ui/layout-hold.d.ts.map +1 -1
  349. package/dist/components/ui/layout-hold.js +20 -29
  350. package/dist/components/ui/markdown/base-components.js +1 -1
  351. package/dist/components/ui/page-actions.d.ts.map +1 -1
  352. package/dist/components/ui/page-actions.js +6 -8
  353. package/dist/components/ui/photo-wall.d.ts.map +1 -1
  354. package/dist/components/ui/photo-wall.js +11 -18
  355. package/dist/components/ui/query-report-table/query-report-table-skeleton.d.ts +1 -1
  356. package/dist/components/ui/query-report-table/query-report-table-skeleton.d.ts.map +1 -1
  357. package/dist/components/ui/query-report-table/query-report-table-skeleton.js +28 -18
  358. package/dist/components/ui/query-report-table/query-report-table.d.ts +1 -1
  359. package/dist/components/ui/query-report-table/query-report-table.d.ts.map +1 -1
  360. package/dist/components/ui/query-report-table/query-report-table.js +3 -1
  361. package/dist/components/ui/query-report-table/types.d.ts +4 -0
  362. package/dist/components/ui/query-report-table/types.d.ts.map +1 -1
  363. package/dist/components/ui/skeleton-surface.d.ts +7 -0
  364. package/dist/components/ui/skeleton-surface.d.ts.map +1 -0
  365. package/dist/components/ui/skeleton-surface.js +5 -0
  366. package/dist/components/ui/table/table-skeleton.d.ts.map +1 -1
  367. package/dist/components/ui/table/table-skeleton.js +11 -13
  368. package/dist/components/ui/test-run.d.ts +6 -4
  369. package/dist/components/ui/test-run.d.ts.map +1 -1
  370. package/dist/components/ui/test-run.js +9 -5
  371. package/dist/{devices-WWMXIIHI.cjs → devices-FVXAGKVX.cjs} +17 -15
  372. package/dist/{embeddable-chat-IJHCGQ24.cjs → embeddable-chat-SNYQSMS7.cjs} +79 -77
  373. package/dist/index.cjs +24 -31
  374. package/dist/{knowledge-JZP4RIXB.cjs → knowledge-ZL3ZHBSL.cjs} +17 -15
  375. package/dist/{logs-WIRYFNUC.cjs → logs-KQCWDIOB.cjs} +24 -22
  376. package/dist/{policies-X7OJYA7G.cjs → policies-ARDCZ3CT.cjs} +20 -18
  377. package/dist/{remote-session-IYT4LWJC.cjs → remote-session-ZKP2W3IS.cjs} +9 -7
  378. package/dist/{scripts-GRMT2NGW.cjs → scripts-ZAMVWCY4.cjs} +23 -21
  379. package/dist/{software-update-G3QOB7RT.cjs → software-update-6F7BIYS3.cjs} +20 -18
  380. package/dist/{tickets-board-4MT6ZB4F.cjs → tickets-board-BNW4AYFL.cjs} +11 -10
  381. package/package.json +1 -1
  382. package/src/components/categories-cart.tsx +2 -4
  383. package/src/components/chat/chat-container.tsx +4 -4
  384. package/src/components/chat/chat-context-picker.tsx +3 -2
  385. package/src/components/chat/chat-message-row.tsx +6 -7
  386. package/src/components/chat/chat-message-skeleton.tsx +11 -6
  387. package/src/components/chat/chat-sidebar-skeleton.tsx +4 -3
  388. package/src/components/chat/chat-top-navigation.tsx +4 -4
  389. package/src/components/chat/context-items-list.tsx +9 -3
  390. package/src/components/chat/entity-cards/admin-content-card-grid.tsx +65 -18
  391. package/src/components/chat/entity-cards/admin-content-card.tsx +2 -1
  392. package/src/components/chat/entity-cards/blog-card.tsx +13 -12
  393. package/src/components/chat/entity-cards/campaign-card-admin.tsx +5 -4
  394. package/src/components/chat/entity-cards/case-study-card.tsx +19 -18
  395. package/src/components/chat/entity-cards/chat-ticket-item.tsx +5 -5
  396. package/src/components/chat/entity-cards/customer-interview-card.tsx +15 -14
  397. package/src/components/chat/entity-cards/data-room-doc-card.tsx +7 -6
  398. package/src/components/chat/entity-cards/design-doc-card.tsx +0 -2
  399. package/src/components/chat/entity-cards/generic-entity-card.tsx +8 -7
  400. package/src/components/chat/entity-cards/github-activity-card.tsx +11 -10
  401. package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +16 -15
  402. package/src/components/chat/entity-cards/index.ts +2 -0
  403. package/src/components/chat/entity-cards/investor-update-card.tsx +12 -11
  404. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +21 -22
  405. package/src/components/chat/entity-cards/program-card.tsx +29 -28
  406. package/src/components/chat/entity-cards/roadmap-card.tsx +22 -23
  407. package/src/components/chat/entity-cards/slack-message-card.tsx +12 -11
  408. package/src/components/chat/guide-welcome.tsx +2 -2
  409. package/src/components/chat/mingo-archive-list.tsx +2 -1
  410. package/src/components/chat/mingo-chat-history.tsx +18 -9
  411. package/src/components/chat/mingo-chat-rail.tsx +2 -1
  412. package/src/components/chat/mingo-info-card.tsx +6 -5
  413. package/src/components/chat/mingo-onboarding-card-skeleton.tsx +15 -13
  414. package/src/components/chat/model-display.tsx +4 -4
  415. package/src/components/chat/msp-organization-card-skeleton.tsx +5 -5
  416. package/src/components/chat/quick-action-chip.tsx +17 -14
  417. package/src/components/chat/utils/compact-card-classes.ts +4 -5
  418. package/src/components/content-loading-container.tsx +7 -8
  419. package/src/components/docs/doc-viewer.tsx +3 -2
  420. package/src/components/docs/skeletons.tsx +64 -63
  421. package/src/components/embeds/embed-iframe.tsx +16 -9
  422. package/src/components/embeds/index.ts +2 -2
  423. package/src/components/embeds/linkedin-embed-client.tsx +7 -6
  424. package/src/components/embeds/markdown-image.tsx +5 -3
  425. package/src/components/embeds/og-link-preview.tsx +162 -79
  426. package/src/components/embeds/reddit-embed-client.tsx +10 -9
  427. package/src/components/embeds/twitter-embed-client.tsx +10 -9
  428. package/src/components/faq/faq-section.tsx +13 -6
  429. package/src/components/features/board/ticket-card-skeleton.tsx +8 -8
  430. package/src/components/features/capability-explorer.tsx +61 -30
  431. package/src/components/features/devices/device-selector/device-selector-skeleton.tsx +9 -3
  432. package/src/components/features/devices/device-selector/device-selector.tsx +2 -0
  433. package/src/components/features/devices/device-selector/device-selector.types.ts +2 -0
  434. package/src/components/features/devices/devices-grid.tsx +4 -1
  435. package/src/components/features/devices/devices-panel-view.tsx +9 -1
  436. package/src/components/features/devices/devices-table-columns.tsx +4 -0
  437. package/src/components/features/logs/logs-table-view.tsx +4 -2
  438. package/src/components/features/model-token-rates.tsx +27 -24
  439. package/src/components/features/notifications/index.ts +2 -2
  440. package/src/components/features/notifications/notification-drawer.tsx +7 -10
  441. package/src/components/features/notifications/notification-tile.tsx +57 -0
  442. package/src/components/features/policies/policy-summary-cards.tsx +2 -2
  443. package/src/components/features/push-button-selector.tsx +20 -11
  444. package/src/components/features/remote-session/remote-desktop-view.tsx +26 -16
  445. package/src/components/features/waitlist-form.tsx +6 -5
  446. package/src/components/help-center-pages/download-apps-page.tsx +3 -2
  447. package/src/components/help-center-pages/trust-center-page.tsx +6 -2
  448. package/src/components/help-center-pages/trust-center-sections.tsx +9 -3
  449. package/src/components/index.ts +0 -2
  450. package/src/components/layout/title-block.tsx +17 -15
  451. package/src/components/loading/card-skeleton.tsx +14 -46
  452. package/src/components/loading/category-card-skeleton.tsx +2 -4
  453. package/src/components/loading/category-vendor-selector-skeleton.tsx +12 -5
  454. package/src/components/loading/device-card-skeleton.tsx +58 -51
  455. package/src/components/loading/index.ts +5 -19
  456. package/src/components/loading/loading-region.tsx +60 -0
  457. package/src/components/loading/margin-report-skeleton.tsx +45 -34
  458. package/src/components/loading/msp-profile-form-skeleton.tsx +9 -6
  459. package/src/components/loading/organization-card-skeleton.tsx +8 -6
  460. package/src/components/loading/organization-icon-skeleton.tsx +3 -2
  461. package/src/components/loading/page-layout-skeleton.tsx +162 -133
  462. package/src/components/loading/settings-form-skeleton.tsx +52 -0
  463. package/src/components/loading/unified-skeleton.tsx +26 -71
  464. package/src/components/loading/wizard-layout-skeleton.tsx +6 -3
  465. package/src/components/media-carousel.tsx +2 -1
  466. package/src/components/meeting-scheduler/booking-form.tsx +10 -7
  467. package/src/components/meeting-scheduler/context-panel.tsx +8 -7
  468. package/src/components/meeting-scheduler/directory.tsx +10 -9
  469. package/src/components/meeting-scheduler/index.tsx +5 -4
  470. package/src/components/meeting-scheduler/modal-header.tsx +8 -7
  471. package/src/components/meeting-scheduler/slot-picker.tsx +4 -3
  472. package/src/components/navigation/app-header.tsx +8 -7
  473. package/src/components/navigation/multi-level-navigation.tsx +3 -2
  474. package/src/components/navigation/navigation-sidebar-item.tsx +3 -2
  475. package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +17 -10
  476. package/src/components/product-demo/product-screen.tsx +4 -4
  477. package/src/components/profile/ProfileLoadingSkeleton.tsx +13 -9
  478. package/src/components/related-content/related-content-section.tsx +5 -4
  479. package/src/components/shared/delivery/delivery-table.tsx +8 -7
  480. package/src/components/shared/detail-page-skeleton.tsx +22 -14
  481. package/src/components/shared/dev-section/dev-card-row.tsx +23 -10
  482. package/src/components/shared/legal-document/legal-document-page.tsx +8 -7
  483. package/src/components/shared/onboarding/onboarding-step-card.tsx +3 -2
  484. package/src/components/shared/onboarding/onboarding-walkthrough.tsx +2 -1
  485. package/src/components/shared/product-release/index.ts +0 -1
  486. package/src/components/shared/product-release/product-release-card-skeleton.tsx +23 -25
  487. package/src/components/shared/product-release/product-releases-view.tsx +3 -2
  488. package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +14 -56
  489. package/src/components/tickets/help-center-create-form.tsx +23 -12
  490. package/src/components/tickets/ticket-center.tsx +17 -11
  491. package/src/components/tickets/ticket-detail-drawer.tsx +3 -2
  492. package/src/components/ui/admin-form-drawer.tsx +7 -7
  493. package/src/components/ui/admin-form-modal.tsx +9 -8
  494. package/src/components/ui/analyzing-state.tsx +5 -8
  495. package/src/components/ui/content-loader.tsx +31 -23
  496. package/src/components/ui/dashboard-info-card.tsx +81 -20
  497. package/src/components/ui/data-attribution.tsx +18 -0
  498. package/src/components/ui/data-table/data-table-body.tsx +9 -2
  499. package/src/components/ui/data-table/data-table-infinite-footer.tsx +4 -2
  500. package/src/components/ui/data-table/data-table-skeleton.tsx +8 -5
  501. package/src/components/ui/feature-card.tsx +27 -11
  502. package/src/components/ui/file-manager/file-manager-skeleton.tsx +30 -22
  503. package/src/components/ui/file-manager/file-manager-table.tsx +10 -10
  504. package/src/components/ui/filter-modal.tsx +5 -5
  505. package/src/components/ui/filter-pill-row.tsx +19 -0
  506. package/src/components/ui/index.ts +0 -1
  507. package/src/components/ui/layout-hold.tsx +30 -38
  508. package/src/components/ui/markdown/base-components.tsx +1 -1
  509. package/src/components/ui/page-actions.tsx +10 -8
  510. package/src/components/ui/photo-wall.tsx +4 -7
  511. package/src/components/ui/query-report-table/query-report-table-skeleton.tsx +13 -7
  512. package/src/components/ui/query-report-table/query-report-table.tsx +2 -0
  513. package/src/components/ui/query-report-table/types.ts +4 -0
  514. package/src/components/ui/skeleton-surface.ts +6 -0
  515. package/src/components/ui/table/table-skeleton.tsx +11 -13
  516. package/src/components/ui/test-run.tsx +30 -22
  517. package/src/styles/ods-colors.css +2 -2
  518. package/dist/chunk-5M5C6UV4.cjs +0 -125
  519. package/dist/components/dynamic-skeleton.d.ts +0 -108
  520. package/dist/components/dynamic-skeleton.d.ts.map +0 -1
  521. package/dist/components/dynamic-skeleton.js +0 -221
  522. package/dist/components/loading/content-skeleton.d.ts +0 -73
  523. package/dist/components/loading/content-skeleton.d.ts.map +0 -1
  524. package/dist/components/loading/content-skeleton.js +0 -217
  525. package/dist/components/loading/users-grid-skeleton.d.ts +0 -7
  526. package/dist/components/loading/users-grid-skeleton.d.ts.map +0 -1
  527. package/dist/components/loading/users-grid-skeleton.js +0 -13
  528. package/dist/components/shared/product-release/release-detail-skeleton.d.ts +0 -2
  529. package/dist/components/shared/product-release/release-detail-skeleton.d.ts.map +0 -1
  530. package/dist/components/shared/product-release/release-detail-skeleton.js +0 -9
  531. package/dist/components/skeleton.d.ts +0 -4
  532. package/dist/components/skeleton.d.ts.map +0 -1
  533. package/dist/components/skeleton.js +0 -9
  534. package/dist/components/ui/skeleton.d.ts +0 -44
  535. package/dist/components/ui/skeleton.d.ts.map +0 -1
  536. package/dist/components/ui/skeleton.js +0 -103
  537. package/dist/components/vendor-page-skeleton.d.ts +0 -2
  538. package/dist/components/vendor-page-skeleton.d.ts.map +0 -1
  539. package/dist/components/vendor-page-skeleton.js +0 -9
  540. package/src/components/dynamic-skeleton.tsx +0 -365
  541. package/src/components/loading/content-skeleton.tsx +0 -374
  542. package/src/components/loading/users-grid-skeleton.tsx +0 -36
  543. package/src/components/shared/product-release/release-detail-skeleton.tsx +0 -7
  544. package/src/components/skeleton.tsx +0 -8
  545. package/src/components/ui/skeleton.tsx +0 -173
  546. package/src/components/vendor-page-skeleton.tsx +0 -7
@@ -13,7 +13,6 @@ export * from './comment-card';
13
13
  export * from './comment-composer';
14
14
  export * from './comment-thread';
15
15
  export * from './content-loading-container';
16
- export * from './dynamic-skeleton';
17
16
  export * from './empty-state';
18
17
  export * from './list-empty-state';
19
18
  export * from './faq-accordion';
@@ -41,7 +40,6 @@ export * from './social-icon-row';
41
40
  export * from './user-display';
42
41
  export * from './vendor-display-button';
43
42
  export * from './vendor-icon';
44
- export * from './vendor-page-skeleton';
45
43
  export * from './vendor-tag';
46
44
  export * from './why-it-matters';
47
45
  export * from './yes-no-display';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAGA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,MAAM,CAAC;AAGrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAQhC,cAAc,OAAO,CAAC;AACtB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAKjC,YAAY,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,WAAW,CAAC;AAG1B,cAAc,aAAa,CAAC;AAG5B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,QAAQ,CAAC;AAGvB,cAAc,qBAAqB,CAAC;AAKpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAKjG,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAKpG,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAK5F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGlE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAGA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,MAAM,CAAC;AAGrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAQhC,cAAc,OAAO,CAAC;AACtB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAKjC,YAAY,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,WAAW,CAAC;AAG1B,cAAc,aAAa,CAAC;AAG5B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,QAAQ,CAAC;AAGvB,cAAc,qBAAqB,CAAC;AAKpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAKjG,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAKpG,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAK5F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGlE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC"}
@@ -13,7 +13,6 @@ export * from "./comment-card.js";
13
13
  export * from "./comment-composer.js";
14
14
  export * from "./comment-thread.js";
15
15
  export * from "./content-loading-container.js";
16
- export * from "./dynamic-skeleton.js";
17
16
  export * from "./empty-state.js";
18
17
  export * from "./list-empty-state.js";
19
18
  export * from "./faq-accordion.js";
@@ -40,7 +39,6 @@ export * from "./social-icon-row.js";
40
39
  export * from "./user-display.js";
41
40
  export * from "./vendor-display-button.js";
42
41
  export * from "./vendor-icon.js";
43
- export * from "./vendor-page-skeleton.js";
44
42
  export * from "./vendor-tag.js";
45
43
  export * from "./why-it-matters.js";
46
44
  export * from "./yes-no-display.js";
@@ -1 +1 @@
1
- {"version":3,"file":"title-block.d.ts","sourceRoot":"","sources":["../../../src/components/layout/title-block.tsx"],"names":[],"mappings":"AAmFA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIxE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,iCAAiC,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACrD,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,GAAG,iBAAiB,GAAG,cAAc,CAAC;IACrE,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;gCAE4B;IAC5B,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB;8FAC0F;IAC1F,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC;;8FAE0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,eAAe,GAAG,QAAQ,CAAC;IACtD;;8FAE0F;IAC1F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAmCD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,EACP,cAA+B,EAC/B,WAAW,EACX,QAAQ,EACR,OAAiB,EACjB,SAAS,EACT,SAAgB,EAChB,cAAc,EACd,OAAO,EACP,cAAc,EACd,WAAwB,EACxB,SAAiB,GAClB,EAAE,eAAe,qBAuJjB;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"title-block.d.ts","sourceRoot":"","sources":["../../../src/components/layout/title-block.tsx"],"names":[],"mappings":"AAmFA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIxE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,iCAAiC,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACrD,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,GAAG,iBAAiB,GAAG,cAAc,CAAC;IACrE,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;gCAE4B;IAC5B,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB;8FAC0F;IAC1F,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC;;8FAE0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,eAAe,GAAG,QAAQ,CAAC;IACtD;;8FAE0F;IAC1F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA4BD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,EACP,cAA+B,EAC/B,WAAW,EACX,QAAQ,EACR,OAAiB,EACjB,SAAS,EACT,SAAgB,EAChB,cAAc,EACd,OAAO,EACP,cAAc,EACd,WAAwB,EACxB,SAAiB,GAClB,EAAE,eAAe,qBA+JjB;AAED,eAAe,UAAU,CAAC"}
@@ -2,21 +2,14 @@
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { useIsTruncated } from "../../hooks/ui/use-is-truncated.js";
4
4
  import { cn } from "../../utils/cn.js";
5
+ import { UnifiedSkeleton } from "../loading/unified-skeleton.js";
5
6
  import { EntityImage } from "../ui/entity-image.js";
6
7
  import { FloatingTooltip } from "../ui/floating-tooltip.js";
7
8
  import { PageActions } from "../ui/page-actions.js";
8
9
  import { BackButton } from "./back-button.js";
9
10
  import { PageTitle } from "./page-picture.js";
10
11
  const TITLE_BLOCK_MIN_HEIGHT = "min-h-11 content-md:min-h-12";
11
- function TitleTextSkeleton({ widthClass, heightClass }) {
12
- return /* @__PURE__ */ jsx(
13
- "span",
14
- {
15
- "aria-hidden": true,
16
- className: cn("inline-block max-w-full animate-pulse rounded-md bg-ods-border", widthClass, heightClass)
17
- }
18
- );
19
- }
12
+ const TITLE_TEXT_SKELETON_CLASS = "inline-block max-w-full rounded-md";
20
13
  const TITLE_SKELETON_SIZE = {
21
14
  h1: { width: "w-56 content-md:w-80 content-lg:w-96", height: "h-7 content-md:h-8 content-lg:h-9" },
22
15
  h2: { width: "w-48 content-md:w-72", height: "h-4 content-md:h-6" }
@@ -49,7 +42,14 @@ function TitleBlock({
49
42
  const { ref: subtitleRef, isTruncated: subtitleTruncated } = useIsTruncated(
50
43
  loading ? null : subtitle
51
44
  );
52
- const titleNode = loading ? /* @__PURE__ */ jsx(TitleTextSkeleton, { widthClass: skeletonSize.width, heightClass: skeletonSize.height }) : title;
45
+ const titleNode = loading ? /* @__PURE__ */ jsx(
46
+ UnifiedSkeleton,
47
+ {
48
+ as: "span",
49
+ "aria-hidden": true,
50
+ className: cn(TITLE_TEXT_SKELETON_CLASS, skeletonSize.width, skeletonSize.height)
51
+ }
52
+ ) : title;
53
53
  return /* @__PURE__ */ jsxs(
54
54
  "div",
55
55
  {
@@ -111,7 +111,14 @@ function TitleBlock({
111
111
  ref: subtitleRef,
112
112
  className: "truncate text-ods-text-secondary text-h6",
113
113
  "aria-hidden": !loading && !subtitle ? true : void 0,
114
- children: loading ? /* @__PURE__ */ jsx(TitleTextSkeleton, { widthClass: "w-28 content-md:w-36", heightClass: "h-2.5 content-md:h-3" }) : subtitle || "\xA0"
114
+ children: loading ? /* @__PURE__ */ jsx(
115
+ UnifiedSkeleton,
116
+ {
117
+ as: "span",
118
+ "aria-hidden": true,
119
+ className: cn(TITLE_TEXT_SKELETON_CLASS, "h-2.5 w-28 content-md:h-3 content-md:w-36")
120
+ }
121
+ ) : subtitle || "\xA0"
115
122
  }
116
123
  ) })
117
124
  ] })
@@ -3,7 +3,7 @@ interface CardSkeletonProps {
3
3
  /**
4
4
  * Card layout variant
5
5
  */
6
- variant?: 'vendor' | 'blog' | 'category' | 'alternative';
6
+ variant?: 'vendor' | 'blog' | 'alternative';
7
7
  /**
8
8
  * Show action buttons area
9
9
  */
@@ -21,14 +21,17 @@ interface CardSkeletonProps {
21
21
  * Supports different card types used across the application:
22
22
  * - vendor: Vendor cards with logo, title, description, and actions
23
23
  * - blog: Blog post cards with image, title, summary, and metadata
24
- * - category: Category cards with icon, title, and description
25
24
  * - alternative: Alternative vendor cards in comparison lists
25
+ *
26
+ * A category card's loading box is `CategoryCardSkeleton`.
26
27
  */
27
28
  export declare function CardSkeleton({ className, containerClassName, variant, showActions, showMetadata, ...props }: CardSkeletonProps): import("react").JSX.Element;
28
29
  /**
29
30
  * Grid of card skeletons for loading lists
30
31
  */
31
- export declare function CardSkeletonGrid({ count, variant, className, containerClassName, ...props }: {
32
+ export declare function CardSkeletonGrid({ region, count, variant, className, containerClassName, ...props }: {
33
+ /** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
34
+ region?: boolean;
32
35
  count?: number;
33
36
  variant?: CardSkeletonProps['variant'];
34
37
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"card-skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/loading/card-skeleton.tsx"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;IACzD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,kBAAkB,EAClB,OAAkB,EAClB,WAAkB,EAClB,YAAmB,EACnB,GAAG,KAAK,EACT,EAAE,iBAAiB,+BAyBnB;AAkMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAS,EACT,OAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,GAAG,KAAK,EACT,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,+BAoBrC"}
1
+ {"version":3,"file":"card-skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/loading/card-skeleton.tsx"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;IAC5C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,kBAAkB,EAClB,OAAkB,EAClB,WAAkB,EAClB,YAAmB,EACnB,GAAG,KAAK,EACT,EAAE,iBAAiB,+BAsBnB;AAiKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAa,EACb,KAAS,EACT,OAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,GAAG,KAAK,EACT,EAAE;IACD,mHAAmH;IACnH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,+BAmBrC"}
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "../../utils/cn.js";
4
- import { TextSkeleton, MediaSkeleton, InteractiveSkeleton } from "./unified-skeleton.js";
4
+ import { LoadingRegion } from "./loading-region.js";
5
+ import { UnifiedSkeleton, TextSkeleton, MediaSkeleton, InteractiveSkeleton } from "./unified-skeleton.js";
5
6
  function CardSkeleton({
6
7
  className,
7
8
  containerClassName,
@@ -13,7 +14,6 @@ function CardSkeleton({
13
14
  const cardContent = {
14
15
  vendor: /* @__PURE__ */ jsx(VendorCardContent, { showMetadata }),
15
16
  blog: /* @__PURE__ */ jsx(BlogCardContent, { showActions, showMetadata }),
16
- category: /* @__PURE__ */ jsx(CategoryCardContent, {}),
17
17
  alternative: /* @__PURE__ */ jsx(AlternativeCardContent, { showActions })
18
18
  };
19
19
  return /* @__PURE__ */ jsx(
@@ -27,8 +27,6 @@ function CardSkeleton({
27
27
  variant === "vendor" && "flex h-full flex-col",
28
28
  className
29
29
  ),
30
- role: "status",
31
- "aria-label": `Loading ${variant} card`,
32
30
  ...props,
33
31
  children: cardContent[variant]
34
32
  }
@@ -89,31 +87,13 @@ function BlogCardContent({ showActions, showMetadata }) {
89
87
  ] }),
90
88
  /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-3 text-ods-text-muted", children: [
91
89
  /* @__PURE__ */ jsx(TextSkeleton.Caption, { className: "w-12" }),
92
- /* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-ods-skeleton" }),
90
+ /* @__PURE__ */ jsx(UnifiedSkeleton, { variant: "circular", className: "h-1 w-1" }),
93
91
  /* @__PURE__ */ jsx(TextSkeleton.Caption, { className: "w-16" })
94
92
  ] })
95
93
  ] }) })
96
94
  ] })
97
95
  ] });
98
96
  }
99
- function CategoryCardContent() {
100
- return /* @__PURE__ */ jsxs("div", { className: "space-y-4 p-4 content-md:p-6", children: [
101
- /* @__PURE__ */ jsx("div", { className: "flex gap-2 content-md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ jsx(MediaSkeleton.Icon, { size: "lg", className: "flex-shrink-0" }, index)) }),
102
- /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
103
- /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
104
- /* @__PURE__ */ jsx(TextSkeleton.Subheading, { className: "w-3/4" }),
105
- /* @__PURE__ */ jsx(TextSkeleton.Caption, { className: "w-1/2" })
106
- ] }),
107
- /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-4 content-md:items-end content-md:gap-6", children: [
108
- /* @__PURE__ */ jsxs("div", { className: "flex-1 space-y-2", children: [
109
- /* @__PURE__ */ jsx(TextSkeleton.Body, { className: "w-full" }),
110
- /* @__PURE__ */ jsx(TextSkeleton.Body, { className: "w-2/3" })
111
- ] }),
112
- /* @__PURE__ */ jsx(InteractiveSkeleton.Button, { className: "h-10 w-10 flex-shrink-0 content-md:h-12 content-md:w-12" })
113
- ] })
114
- ] })
115
- ] });
116
- }
117
97
  function AlternativeCardContent({ showActions }) {
118
98
  return /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-4 p-4", children: [
119
99
  /* @__PURE__ */ jsx(MediaSkeleton.Avatar, { size: "md", className: "flex-shrink-0" }),
@@ -131,6 +111,7 @@ function AlternativeCardContent({ showActions }) {
131
111
  ] });
132
112
  }
133
113
  function CardSkeletonGrid({
114
+ region = true,
134
115
  count = 6,
135
116
  variant = "vendor",
136
117
  className,
@@ -138,19 +119,18 @@ function CardSkeletonGrid({
138
119
  ...props
139
120
  }) {
140
121
  return /* @__PURE__ */ jsx(
141
- "div",
122
+ LoadingRegion,
142
123
  {
124
+ label: `Loading ${variant} cards`,
125
+ announce: region,
143
126
  className: cn(
144
127
  "grid gap-4 content-md:gap-6",
145
128
  // Responsive grid based on card type
146
129
  variant === "vendor" && "grid-cols-1 content-md:grid-cols-2 content-lg:grid-cols-3",
147
130
  variant === "blog" && "grid-cols-1 content-md:grid-cols-2",
148
- variant === "category" && "grid-cols-1 content-md:grid-cols-2 content-lg:grid-cols-4",
149
131
  variant === "alternative" && "grid-cols-1",
150
132
  className
151
133
  ),
152
- role: "status",
153
- "aria-label": `Loading ${count} ${variant} cards`,
154
134
  children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx(CardSkeleton, { variant, containerClassName, ...props }, index))
155
135
  }
156
136
  );
@@ -1 +1 @@
1
- {"version":3,"file":"category-card-skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/loading/category-card-skeleton.tsx"],"names":[],"mappings":"AAGA,UAAU,yBAAyB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,yBAAyB,+BA8B5E"}
1
+ {"version":3,"file":"category-card-skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/loading/category-card-skeleton.tsx"],"names":[],"mappings":"AAGA,UAAU,yBAAyB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,yBAAyB,+BA4B5E"}
@@ -10,16 +10,14 @@ function CategoryCardSkeleton({ className }) {
10
10
  "box-border flex min-w-0 flex-col rounded-[12px] border border-ods-border bg-ods-card p-8",
11
11
  className
12
12
  ),
13
- role: "status",
14
- "aria-label": "Loading category card",
15
13
  children: [
16
- /* @__PURE__ */ jsx("div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ jsx(UnifiedSkeleton, { variant: "circular", className: "h-10 w-10 flex-shrink-0", "aria-label": "Loading icon" }, i)) }),
14
+ /* @__PURE__ */ jsx("div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ jsx(UnifiedSkeleton, { variant: "circular", className: "h-10 w-10 flex-shrink-0" }, i)) }),
17
15
  /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col space-y-3", children: [
18
16
  /* @__PURE__ */ jsx(TextSkeleton.Heading, { className: "w-3/4" }),
19
17
  /* @__PURE__ */ jsx(TextSkeleton.Body, { className: "w-1/2" }),
20
18
  /* @__PURE__ */ jsx(TextSkeleton.Body, { className: "w-full" })
21
19
  ] }),
22
- /* @__PURE__ */ jsx("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ jsx(UnifiedSkeleton, { className: "h-12 w-12 rounded-[6px]", "aria-label": "Loading button" }) })
20
+ /* @__PURE__ */ jsx("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ jsx(UnifiedSkeleton, { className: "h-12 w-12 rounded-[6px]" }) })
23
21
  ]
24
22
  }
25
23
  );
@@ -1,8 +1,10 @@
1
1
  interface CategoryVendorSelectorSkeletonProps {
2
+ /** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
3
+ region?: boolean;
2
4
  /** number of subcategory blocks to render */
3
5
  subcategories?: number;
4
6
  className?: string;
5
7
  }
6
- export declare function CategoryVendorSelectorSkeleton({ subcategories, className }: CategoryVendorSelectorSkeletonProps): import("react").JSX.Element;
8
+ export declare function CategoryVendorSelectorSkeleton({ region, subcategories, className, }: CategoryVendorSelectorSkeletonProps): import("react").JSX.Element;
7
9
  export {};
8
10
  //# sourceMappingURL=category-vendor-selector-skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-vendor-selector-skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/loading/category-vendor-selector-skeleton.tsx"],"names":[],"mappings":"AAGA,UAAU,mCAAmC;IAC3C,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,8BAA8B,CAAC,EAAE,aAAiB,EAAE,SAAS,EAAE,EAAE,mCAAmC,+BA8BnH"}
1
+ {"version":3,"file":"category-vendor-selector-skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/loading/category-vendor-selector-skeleton.tsx"],"names":[],"mappings":"AAIA,UAAU,mCAAmC;IAC3C,mHAAmH;IACnH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,MAAa,EACb,aAAiB,EACjB,SAAS,GACV,EAAE,mCAAmC,+BA8BrC"}
@@ -1,14 +1,19 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "../../utils/cn.js";
4
+ import { LoadingRegion } from "./loading-region.js";
4
5
  import { TextSkeleton, UnifiedSkeleton } from "./unified-skeleton.js";
5
- function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
6
+ function CategoryVendorSelectorSkeleton({
7
+ region = true,
8
+ subcategories = 3,
9
+ className
10
+ }) {
6
11
  return /* @__PURE__ */ jsxs(
7
- "div",
12
+ LoadingRegion,
8
13
  {
14
+ label: "Loading categories",
15
+ announce: region,
9
16
  className: cn("rounded-lg border border-ods-border bg-ods-card p-6", className),
10
- role: "status",
11
- "aria-label": "Loading category section",
12
17
  children: [
13
18
  /* @__PURE__ */ jsxs("div", { className: "mb-6 max-w-xl space-y-2", children: [
14
19
  /* @__PURE__ */ jsx(TextSkeleton.Heading, { className: "w-1/2" }),
@@ -3,18 +3,25 @@ export interface DeviceCardSkeletonProps {
3
3
  * Additional CSS classes
4
4
  */
5
5
  className?: string;
6
+ /** Hold `DeviceCard`'s "more" button (its `actions.moreButton`). Default `true`. */
7
+ moreButton?: boolean;
8
+ /**
9
+ * Hold the box of `DeviceCard`'s `actions.detailsButton.component` with these size classes
10
+ * (e.g. `'h-12 w-[88px]'`). Omit when the card has no details button.
11
+ */
12
+ detailsButtonClassName?: string;
6
13
  }
7
14
  /**
8
- * DeviceCardSkeleton - Loading skeleton matching DeviceCard exact layout
9
- *
10
- * Matches the structure of DeviceCard:
11
- * - Row 1: Device icon + Device name + More button
12
- * - Row 2: OS badge + Organization icon + Organization name
13
- * - Row 3: Status badge + Last seen
15
+ * DeviceCardSkeleton: the loading box of `DeviceCard` (`ui/device-card.tsx`), box for box:
16
+ * the same container classes, then
17
+ * - Row 1: the bordered device-icon box, the OS icon and name line (`text-h4`) over the
18
+ * organization line (`text-h6`), the bordered "more" button (`moreButton`) and/or the details
19
+ * button's box (`detailsButtonClassName`);
20
+ * - Row 2: the status tag (`Tag`'s `h-8`) and the "Last seen" line (`text-h6`).
14
21
  *
15
- * Prevents layout jumps by matching exact dimensions.
22
+ * The loaded card replaces it with no movement.
16
23
  */
17
- export declare function DeviceCardSkeleton({ className }: DeviceCardSkeletonProps): import("react").JSX.Element;
24
+ export declare function DeviceCardSkeleton({ className, moreButton, detailsButtonClassName }: DeviceCardSkeletonProps): import("react").JSX.Element;
18
25
  /**
19
26
  * DeviceCardSkeletonGrid - Grid of device card skeletons
20
27
  *
@@ -24,7 +31,9 @@ export declare function DeviceCardSkeleton({ className }: DeviceCardSkeletonProp
24
31
  * - Desktop (lg): 3 columns
25
32
  * - Large (xl): 4 columns
26
33
  */
27
- export declare function DeviceCardSkeletonGrid({ count, className }: {
34
+ export declare function DeviceCardSkeletonGrid({ region, count, className, }: {
35
+ /** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
36
+ region?: boolean;
28
37
  count?: number;
29
38
  className?: string;
30
39
  }): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"device-card-skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/loading/device-card-skeleton.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,EAAE,uBAAuB,+BAiDxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,KAAU,EAAE,SAAS,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAYvG"}
1
+ {"version":3,"file":"device-card-skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/loading/device-card-skeleton.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,UAAiB,EAAE,sBAAsB,EAAE,EAAE,uBAAuB,+BAuCnH;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,MAAa,EACb,KAAU,EACV,SAAS,GACV,EAAE;IACD,mHAAmH;IACnH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAYA"}
@@ -1,40 +1,49 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "../../utils/cn.js";
4
- import { OrganizationIconSkeleton } from "./organization-icon-skeleton.js";
5
- function DeviceCardSkeleton({ className }) {
4
+ import { LoadingRegion } from "./loading-region.js";
5
+ import { UnifiedSkeleton } from "./unified-skeleton.js";
6
+ function DeviceCardSkeleton({ className, moreButton = true, detailsButtonClassName }) {
6
7
  return /* @__PURE__ */ jsxs(
7
8
  "div",
8
9
  {
9
- className: cn("h-full rounded-[6px] border border-ods-border bg-ods-card", className),
10
- role: "status",
11
- "aria-label": "Loading device card",
10
+ className: cn(
11
+ "overflow-clip rounded-[6px] border border-ods-border bg-ods-card",
12
+ "flex flex-col gap-4 p-4",
13
+ className
14
+ ),
12
15
  children: [
13
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4 px-4 py-3", children: [
14
- /* @__PURE__ */ jsx("div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-[6px] border border-ods-border bg-ods-bg", children: /* @__PURE__ */ jsx("div", { className: "h-4 w-4 animate-pulse rounded bg-ods-border" }) }),
15
- /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx("div", { className: "h-6 w-3/4 animate-pulse rounded bg-ods-border" }) }),
16
- /* @__PURE__ */ jsx("div", { className: "h-12 w-12 flex-shrink-0 animate-pulse rounded-[6px] bg-ods-border" })
16
+ /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-4", children: [
17
+ /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center justify-center rounded-[6px] border border-ods-border p-2", children: /* @__PURE__ */ jsx(UnifiedSkeleton, { className: "size-4 rounded" }) }),
18
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
19
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 text-h4", children: [
20
+ /* @__PURE__ */ jsx(UnifiedSkeleton, { className: "size-4 shrink-0 rounded" }),
21
+ /* @__PURE__ */ jsx(UnifiedSkeleton, { className: "h-[1lh] w-3/4 rounded" })
22
+ ] }),
23
+ /* @__PURE__ */ jsx(UnifiedSkeleton, { className: "h-[1lh] w-1/2 rounded text-h6" })
24
+ ] }),
25
+ moreButton && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center justify-center rounded-[6px] border border-ods-border p-3", children: /* @__PURE__ */ jsx(UnifiedSkeleton, { className: "size-6 rounded" }) }),
26
+ detailsButtonClassName && /* @__PURE__ */ jsx(UnifiedSkeleton, { className: cn("shrink-0 rounded-[6px]", detailsButtonClassName) })
17
27
  ] }),
18
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4 px-4 py-2", children: [
19
- /* @__PURE__ */ jsx("div", { className: "h-6 w-24 flex-shrink-0 animate-pulse rounded bg-ods-border" }),
20
- /* @__PURE__ */ jsx(OrganizationIconSkeleton, { size: "sm" }),
21
- /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx("div", { className: "h-5 w-1/2 animate-pulse rounded bg-ods-border" }) })
22
- ] }),
23
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4 px-4 py-2", children: [
24
- /* @__PURE__ */ jsx("div", { className: "h-6 w-20 flex-shrink-0 animate-pulse rounded-full bg-ods-border" }),
25
- /* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx("div", { className: "h-5 w-40 animate-pulse rounded bg-ods-border" }) })
28
+ /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-2", children: [
29
+ /* @__PURE__ */ jsx(UnifiedSkeleton, { className: "h-8 w-20 shrink-0 rounded-md" }),
30
+ /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1 text-h6", children: /* @__PURE__ */ jsx(UnifiedSkeleton, { className: "h-[1lh] w-40 max-w-full rounded" }) })
26
31
  ] })
27
32
  ]
28
33
  }
29
34
  );
30
35
  }
31
- function DeviceCardSkeletonGrid({ count = 12, className }) {
36
+ function DeviceCardSkeletonGrid({
37
+ region = true,
38
+ count = 12,
39
+ className
40
+ }) {
32
41
  return /* @__PURE__ */ jsx(
33
- "div",
42
+ LoadingRegion,
34
43
  {
44
+ label: "Loading devices",
45
+ announce: region,
35
46
  className: cn("grid grid-cols-1 gap-4 content-md:grid-cols-2 content-lg:grid-cols-4", className),
36
- role: "status",
37
- "aria-label": `Loading ${count} device cards`,
38
47
  children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx(DeviceCardSkeleton, {}, index))
39
48
  }
40
49
  );
@@ -1,16 +1,15 @@
1
- export { AnnouncementBarSkeleton, HeroSkeleton, SearchContainerSkeleton, CategorySidebarSkeleton, BreadcrumbSkeleton, ResultsHeaderSkeleton, TwoColumnLayoutSkeleton, ArticleLayoutSkeleton, VendorDetailLayoutSkeleton, StatsSectionSkeleton, SlackCommunitySkeleton, BlogCardGridSkeleton, VendorGridSkeleton, } from './page-layout-skeleton';
1
+ export { AnnouncementBarSkeleton, HeroSkeleton, SearchContainerSkeleton, CategorySidebarSkeleton, BreadcrumbSkeleton, BreadcrumbLinkSkeleton, ResultsHeaderSkeleton, TwoColumnLayoutSkeleton, ArticleLayoutSkeleton, VendorDetailLayoutSkeleton, StatsSectionSkeleton, SlackCommunitySkeleton, BlogCardGridSkeleton, VendorGridSkeleton, } from './page-layout-skeleton';
2
2
  export { CardSkeleton, CardSkeletonGrid } from './card-skeleton';
3
3
  export { UnifiedSkeleton, TextSkeleton, MediaSkeleton, InteractiveSkeleton } from './unified-skeleton';
4
4
  export { ContentLoadingContainer, useContentLoading } from '../content-loading-container';
5
- export { ParagraphSkeleton, ListSkeleton, TableSkeleton, FormSkeleton, NavigationSkeleton, ProfileSkeleton, CommentSkeleton, FeatureListSkeleton, TimelineSkeleton, PricingSkeleton, } from './content-skeleton';
6
5
  export { ProfileLoadingSkeleton } from '../profile/ProfileLoadingSkeleton';
7
6
  export { MspProfileFormSkeleton } from './msp-profile-form-skeleton';
7
+ export { SettingsFormSkeleton, type SettingsFormSkeletonProps } from './settings-form-skeleton';
8
8
  export { CategoryCardSkeleton } from './category-card-skeleton';
9
9
  export { CategoryVendorSelectorSkeleton } from './category-vendor-selector-skeleton';
10
10
  export { WizardLayoutSkeleton } from './wizard-layout-skeleton';
11
+ export { LoadingRegion, type LoadingRegionProps } from './loading-region';
11
12
  export { MarginReportSkeleton } from './margin-report-skeleton';
12
- export { UsersGridSkeleton } from './users-grid-skeleton';
13
- export { DynamicSkeleton, SkeletonPresets, PlatformSkeletonContainer, ProgressiveSkeleton } from '../dynamic-skeleton';
14
13
  export { OrganizationIconSkeleton } from './organization-icon-skeleton';
15
14
  export { OrganizationCardSkeleton, OrganizationCardSkeletonGrid } from './organization-card-skeleton';
16
15
  export { DeviceCardSkeleton, DeviceCardSkeletonGrid } from './device-card-skeleton';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/loading/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGvG,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAG1F,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAOhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGvH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/loading/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGvG,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAG1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAOhE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -4,6 +4,7 @@ import {
4
4
  SearchContainerSkeleton,
5
5
  CategorySidebarSkeleton,
6
6
  BreadcrumbSkeleton,
7
+ BreadcrumbLinkSkeleton,
7
8
  ResultsHeaderSkeleton,
8
9
  TwoColumnLayoutSkeleton,
9
10
  ArticleLayoutSkeleton,
@@ -16,26 +17,14 @@ import {
16
17
  import { CardSkeleton, CardSkeletonGrid } from "./card-skeleton.js";
17
18
  import { UnifiedSkeleton, TextSkeleton, MediaSkeleton, InteractiveSkeleton } from "./unified-skeleton.js";
18
19
  import { ContentLoadingContainer, useContentLoading } from "../content-loading-container.js";
19
- import {
20
- ParagraphSkeleton,
21
- ListSkeleton,
22
- TableSkeleton,
23
- FormSkeleton,
24
- NavigationSkeleton,
25
- ProfileSkeleton,
26
- CommentSkeleton,
27
- FeatureListSkeleton,
28
- TimelineSkeleton,
29
- PricingSkeleton
30
- } from "./content-skeleton.js";
31
20
  import { ProfileLoadingSkeleton } from "../profile/ProfileLoadingSkeleton.js";
32
21
  import { MspProfileFormSkeleton } from "./msp-profile-form-skeleton.js";
22
+ import { SettingsFormSkeleton } from "./settings-form-skeleton.js";
33
23
  import { CategoryCardSkeleton } from "./category-card-skeleton.js";
34
24
  import { CategoryVendorSelectorSkeleton } from "./category-vendor-selector-skeleton.js";
35
25
  import { WizardLayoutSkeleton } from "./wizard-layout-skeleton.js";
26
+ import { LoadingRegion } from "./loading-region.js";
36
27
  import { MarginReportSkeleton } from "./margin-report-skeleton.js";
37
- import { UsersGridSkeleton } from "./users-grid-skeleton.js";
38
- import { DynamicSkeleton, SkeletonPresets, PlatformSkeletonContainer, ProgressiveSkeleton } from "../dynamic-skeleton.js";
39
28
  import { OrganizationIconSkeleton } from "./organization-icon-skeleton.js";
40
29
  import { OrganizationCardSkeleton, OrganizationCardSkeletonGrid } from "./organization-card-skeleton.js";
41
30
  import { DeviceCardSkeleton, DeviceCardSkeletonGrid } from "./device-card-skeleton.js";
@@ -43,46 +32,34 @@ export {
43
32
  AnnouncementBarSkeleton,
44
33
  ArticleLayoutSkeleton,
45
34
  BlogCardGridSkeleton,
35
+ BreadcrumbLinkSkeleton,
46
36
  BreadcrumbSkeleton,
47
37
  CardSkeleton,
48
38
  CardSkeletonGrid,
49
39
  CategoryCardSkeleton,
50
40
  CategorySidebarSkeleton,
51
41
  CategoryVendorSelectorSkeleton,
52
- CommentSkeleton,
53
42
  ContentLoadingContainer,
54
43
  DeviceCardSkeleton,
55
44
  DeviceCardSkeletonGrid,
56
- DynamicSkeleton,
57
- FeatureListSkeleton,
58
- FormSkeleton,
59
45
  HeroSkeleton,
60
46
  InteractiveSkeleton,
61
- ListSkeleton,
47
+ LoadingRegion,
62
48
  MarginReportSkeleton,
63
49
  MediaSkeleton,
64
50
  MspProfileFormSkeleton,
65
- NavigationSkeleton,
66
51
  OrganizationCardSkeleton,
67
52
  OrganizationCardSkeletonGrid,
68
53
  OrganizationIconSkeleton,
69
- ParagraphSkeleton,
70
- PlatformSkeletonContainer,
71
- PricingSkeleton,
72
54
  ProfileLoadingSkeleton,
73
- ProfileSkeleton,
74
- ProgressiveSkeleton,
75
55
  ResultsHeaderSkeleton,
76
56
  SearchContainerSkeleton,
77
- SkeletonPresets,
57
+ SettingsFormSkeleton,
78
58
  SlackCommunitySkeleton,
79
59
  StatsSectionSkeleton,
80
- TableSkeleton,
81
60
  TextSkeleton,
82
- TimelineSkeleton,
83
61
  TwoColumnLayoutSkeleton,
84
62
  UnifiedSkeleton,
85
- UsersGridSkeleton,
86
63
  VendorDetailLayoutSkeleton,
87
64
  VendorGridSkeleton,
88
65
  WizardLayoutSkeleton,
@@ -0,0 +1,33 @@
1
+ import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * THE container of a loading state: the one thing a screen reader hears while it loads.
4
+ *
5
+ * Skeleton bars (`UnifiedSkeleton`, `TextHold`) are decoration and are hidden from assistive technology;
6
+ * a page with forty bars must not announce "loading" forty times. The region around them says it ONCE:
7
+ * `aria-busy` on the container, and one polite status with the label. Few screen readers honour
8
+ * `aria-busy` alone, so the status is what is actually read. When the content replaces the region, the
9
+ * status goes with it.
10
+ *
11
+ * Put it on the top of a loading state (a page's skeleton, a card grid's, a Suspense fallback), never on
12
+ * every card inside it: nested regions would announce again.
13
+ */
14
+ export interface LoadingRegionProps extends HTMLAttributes<HTMLElement> {
15
+ /** What is loading, read once by a screen reader. */
16
+ label?: string;
17
+ /** The container element, so the region keeps the layout element it replaces (a `section`, a `li`, a `span` in text). */
18
+ as?: ElementType;
19
+ /**
20
+ * `false`: only the container is drawn (no `aria-busy`, no status), for a loading state rendered inside
21
+ * another region, which announces for both. Components expose it as their `region` / `loadingRegion` prop.
22
+ * Default `true`.
23
+ */
24
+ announce?: boolean;
25
+ /**
26
+ * `false`: `aria-busy` without a status of its own, for a container whose loading is already announced by a
27
+ * status elsewhere (a table footer's "Loading more results"). Default `true`.
28
+ */
29
+ status?: boolean;
30
+ children?: ReactNode;
31
+ }
32
+ export declare function LoadingRegion({ label, as: Tag, announce, status, className, children, ...props }: LoadingRegionProps): import("react").JSX.Element;
33
+ //# sourceMappingURL=loading-region.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-region.d.ts","sourceRoot":"","sources":["../../../src/components/loading/loading-region.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,WAAW,CAAC;IACrE,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yHAAyH;IACzH,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAiB,EACjB,EAAE,EAAE,GAAW,EACf,QAAe,EACf,MAAa,EACb,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,+BAkBpB"}
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ function LoadingRegion({
4
+ label = "Loading",
5
+ as: Tag = "div",
6
+ announce = true,
7
+ status = true,
8
+ className,
9
+ children,
10
+ ...props
11
+ }) {
12
+ if (!announce) {
13
+ return /* @__PURE__ */ jsx(Tag, { className, ...props, children });
14
+ }
15
+ return /* @__PURE__ */ jsxs(Tag, { "aria-busy": "true", className, ...props, children: [
16
+ status && /* @__PURE__ */ jsx("span", { role: "status", "aria-live": "polite", className: "sr-only", children: label }),
17
+ children
18
+ ] });
19
+ }
20
+ export {
21
+ LoadingRegion
22
+ };
@@ -1,5 +1,7 @@
1
1
  import type React from 'react';
2
2
  interface MarginReportSkeletonProps {
3
+ /** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
4
+ region?: boolean;
3
5
  /** Enable pulse animation (default: true) */
4
6
  animate?: boolean;
5
7
  /** Optional explanation text shown above overlay content */
@@ -7,6 +9,6 @@ interface MarginReportSkeletonProps {
7
9
  /** Optional React node displayed over skeleton (button, loader, etc.) */
8
10
  overlayContent?: React.ReactNode;
9
11
  }
10
- export declare function MarginReportSkeleton({ animate, description, overlayContent }: MarginReportSkeletonProps): React.JSX.Element;
12
+ export declare function MarginReportSkeleton({ region, animate, description, overlayContent, }: MarginReportSkeletonProps): React.JSX.Element;
11
13
  export {};
12
14
  //# sourceMappingURL=margin-report-skeleton.d.ts.map