@flamingo-stack/openframe-frontend-core 0.0.439 → 0.0.440

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 (467) hide show
  1. package/dist/{chunk-RVWC4P3H.js → chunk-2BTDPDME.js} +9 -9
  2. package/dist/chunk-2BTDPDME.js.map +1 -0
  3. package/dist/{chunk-G5FALXNO.js → chunk-63TSTDME.js} +21 -21
  4. package/dist/chunk-63TSTDME.js.map +1 -0
  5. package/dist/{chunk-4ACSUJ7Q.js → chunk-6CITW5BD.js} +10 -10
  6. package/dist/chunk-6CITW5BD.js.map +1 -0
  7. package/dist/{chunk-QXYOGJQJ.js → chunk-7KDR5P23.js} +2 -2
  8. package/dist/{chunk-PEIR7D25.js → chunk-7KNOHGMI.js} +2 -2
  9. package/dist/{chunk-ZMUFTGL7.cjs → chunk-7QP65IE4.cjs} +5 -5
  10. package/dist/{chunk-ZMUFTGL7.cjs.map → chunk-7QP65IE4.cjs.map} +1 -1
  11. package/dist/{chunk-WPVBTVI3.js → chunk-AGV26PUR.js} +6 -6
  12. package/dist/{chunk-WPVBTVI3.js.map → chunk-AGV26PUR.js.map} +1 -1
  13. package/dist/{chunk-HTVVXVJL.cjs → chunk-DUQQEQ7G.cjs} +1431 -1594
  14. package/dist/chunk-DUQQEQ7G.cjs.map +1 -0
  15. package/dist/{chunk-COMBYYQY.js → chunk-FPE3SQ5D.js} +13 -13
  16. package/dist/chunk-FPE3SQ5D.js.map +1 -0
  17. package/dist/{chunk-WAGTZVQN.js → chunk-IAZ5AN2E.js} +30 -30
  18. package/dist/chunk-IAZ5AN2E.js.map +1 -0
  19. package/dist/{chunk-RQQZF6G6.cjs → chunk-IPEIOR77.cjs} +130 -130
  20. package/dist/chunk-IPEIOR77.cjs.map +1 -0
  21. package/dist/{chunk-3WJQL4DN.cjs → chunk-IZ6A6K6N.cjs} +25 -25
  22. package/dist/chunk-IZ6A6K6N.cjs.map +1 -0
  23. package/dist/{chunk-EE5NH5SH.cjs → chunk-J5NO7PAG.cjs} +3 -3
  24. package/dist/{chunk-EE5NH5SH.cjs.map → chunk-J5NO7PAG.cjs.map} +1 -1
  25. package/dist/{chunk-IAN7GUIV.cjs → chunk-JNC4LVD6.cjs} +42 -42
  26. package/dist/chunk-JNC4LVD6.cjs.map +1 -0
  27. package/dist/{chunk-VWGF6IFR.cjs → chunk-JOH5D76X.cjs} +108 -108
  28. package/dist/chunk-JOH5D76X.cjs.map +1 -0
  29. package/dist/{chunk-7WM77CSW.js → chunk-JYI4R25Q.js} +5 -5
  30. package/dist/chunk-JYI4R25Q.js.map +1 -0
  31. package/dist/{chunk-M6QGB6DC.cjs → chunk-KUXGQ2FQ.cjs} +36 -36
  32. package/dist/chunk-KUXGQ2FQ.cjs.map +1 -0
  33. package/dist/{chunk-M3LD6DNE.cjs → chunk-LFWPWIAC.cjs} +16 -16
  34. package/dist/{chunk-M3LD6DNE.cjs.map → chunk-LFWPWIAC.cjs.map} +1 -1
  35. package/dist/{chunk-R46QEE3R.cjs → chunk-LUKRPHEW.cjs} +96 -96
  36. package/dist/chunk-LUKRPHEW.cjs.map +1 -0
  37. package/dist/{chunk-IMK6RUEC.cjs → chunk-PYR4LVAF.cjs} +10 -10
  38. package/dist/chunk-PYR4LVAF.cjs.map +1 -0
  39. package/dist/{chunk-2ELBNZJ3.js → chunk-QAG357PE.js} +7 -7
  40. package/dist/chunk-QAG357PE.js.map +1 -0
  41. package/dist/{chunk-N2TJ3HAM.cjs → chunk-QO6MCQYE.cjs} +9 -9
  42. package/dist/chunk-QO6MCQYE.cjs.map +1 -0
  43. package/dist/{chunk-EGRZHR7J.js → chunk-SM26C2L7.js} +9 -9
  44. package/dist/chunk-SM26C2L7.js.map +1 -0
  45. package/dist/{chunk-AUJXLVXA.cjs → chunk-TAQMYVO6.cjs} +42 -42
  46. package/dist/{chunk-AUJXLVXA.cjs.map → chunk-TAQMYVO6.cjs.map} +1 -1
  47. package/dist/{chunk-C3FH53AP.cjs → chunk-UFBUQO7Z.cjs} +19 -19
  48. package/dist/{chunk-C3FH53AP.cjs.map → chunk-UFBUQO7Z.cjs.map} +1 -1
  49. package/dist/{chunk-F7YVI54P.js → chunk-W3JZXLJ2.js} +10 -10
  50. package/dist/chunk-W3JZXLJ2.js.map +1 -0
  51. package/dist/{chunk-WZ6TCAYQ.cjs → chunk-XMCVUYKC.cjs} +14 -14
  52. package/dist/chunk-XMCVUYKC.cjs.map +1 -0
  53. package/dist/{chunk-P7PISHM5.js → chunk-Y3NFB6HR.js} +5 -5
  54. package/dist/chunk-Y3NFB6HR.js.map +1 -0
  55. package/dist/{chunk-PBTY7AH5.js → chunk-YZJUHEPZ.js} +95 -95
  56. package/dist/chunk-YZJUHEPZ.js.map +1 -0
  57. package/dist/{chunk-NQQ4NLUT.js → chunk-ZQYFDYWV.js} +4298 -4461
  58. package/dist/chunk-ZQYFDYWV.js.map +1 -0
  59. package/dist/components/case-studies/index.cjs +15 -15
  60. package/dist/components/case-studies/index.cjs.map +1 -1
  61. package/dist/components/case-studies/index.js +9 -9
  62. package/dist/components/case-studies/index.js.map +1 -1
  63. package/dist/components/chat/approval-request-message.d.ts.map +1 -1
  64. package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
  65. package/dist/components/chat/index.cjs +4 -4
  66. package/dist/components/chat/index.js +3 -3
  67. package/dist/components/chat/tool-call-blocks.d.ts.map +1 -1
  68. package/dist/components/chat/utils/compact-card-classes.d.ts +3 -3
  69. package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
  70. package/dist/components/contact/index.cjs +5 -5
  71. package/dist/components/contact/index.js +4 -4
  72. package/dist/components/docs/index.cjs +7 -7
  73. package/dist/components/docs/index.js +6 -6
  74. package/dist/components/embeds/index.cjs +5 -5
  75. package/dist/components/embeds/index.js +4 -4
  76. package/dist/components/faq/index.cjs +6 -6
  77. package/dist/components/faq/index.js +5 -5
  78. package/dist/components/features/index.cjs +4 -4
  79. package/dist/components/features/index.js +3 -3
  80. package/dist/components/help-center-pages/index.cjs +23 -23
  81. package/dist/components/help-center-pages/index.js +14 -14
  82. package/dist/components/index.cjs +262 -256
  83. package/dist/components/index.cjs.map +1 -1
  84. package/dist/components/index.js +117 -111
  85. package/dist/components/index.js.map +1 -1
  86. package/dist/components/msp-display.d.ts.map +1 -1
  87. package/dist/components/navigation/index.cjs +4 -4
  88. package/dist/components/navigation/index.js +3 -3
  89. package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
  90. package/dist/components/onboarding-guides/index.cjs +8 -8
  91. package/dist/components/onboarding-guides/index.js +7 -7
  92. package/dist/components/pricing-display.d.ts +9 -9
  93. package/dist/components/related-content/index.cjs +6 -6
  94. package/dist/components/related-content/index.js +5 -5
  95. package/dist/components/tickets/index.cjs +7 -7
  96. package/dist/components/tickets/index.js +6 -6
  97. package/dist/components/toast/index.cjs +5 -5
  98. package/dist/components/toast/index.cjs.map +1 -1
  99. package/dist/components/toast/index.js +5 -5
  100. package/dist/components/toast/index.js.map +1 -1
  101. package/dist/components/ui/bullet-list.d.ts.map +1 -1
  102. package/dist/components/ui/drawer.d.ts +1 -1
  103. package/dist/components/ui/drawer.d.ts.map +1 -1
  104. package/dist/components/ui/file-manager/index.cjs +73 -73
  105. package/dist/components/ui/file-manager/index.cjs.map +1 -1
  106. package/dist/components/ui/file-manager/index.js +24 -24
  107. package/dist/components/ui/file-manager/index.js.map +1 -1
  108. package/dist/components/ui/index.cjs +4 -4
  109. package/dist/components/ui/index.js +3 -3
  110. package/dist/components/ui/markdown-editor.d.ts.map +1 -1
  111. package/dist/components/ui/square-avatar.d.ts +3 -0
  112. package/dist/components/ui/square-avatar.d.ts.map +1 -1
  113. package/dist/components/user-display.d.ts.map +1 -1
  114. package/dist/components/vendor-tag.d.ts.map +1 -1
  115. package/dist/hooks/index.cjs +2 -2
  116. package/dist/hooks/index.js +1 -1
  117. package/dist/index.cjs +4 -4
  118. package/dist/index.js +3 -3
  119. package/dist/tailwind.config.cjs +38 -5
  120. package/dist/tailwind.config.cjs.map +1 -1
  121. package/dist/tailwind.config.js +38 -5
  122. package/dist/tailwind.config.js.map +1 -1
  123. package/package.json +1 -1
  124. package/src/ODS_TOKEN_RULES.md +5 -0
  125. package/src/components/.footer.md +2 -2
  126. package/src/components/announcement-bar.tsx +1 -1
  127. package/src/components/authors/author-detail-view.tsx +3 -3
  128. package/src/components/calendar.tsx +2 -2
  129. package/src/components/case-studies/share-experience-section.tsx +5 -5
  130. package/src/components/categories-cart.tsx +6 -6
  131. package/src/components/category-card.tsx +5 -5
  132. package/src/components/chart.tsx +3 -3
  133. package/src/components/chat/approval-request-message.tsx +2 -5
  134. package/src/components/chat/chat-attachment-bar.tsx +3 -3
  135. package/src/components/chat/chat-message-enhanced.tsx +1 -1
  136. package/src/components/chat/chat-message-list.tsx +1 -1
  137. package/src/components/chat/chat-message-row.tsx +3 -3
  138. package/src/components/chat/chat-quick-action.tsx +1 -1
  139. package/src/components/chat/chat-sidebar-skeleton.tsx +1 -1
  140. package/src/components/chat/chat-sidebar.tsx +6 -6
  141. package/src/components/chat/chat-typing-indicator.tsx +1 -1
  142. package/src/components/chat/context-compaction-display.tsx +1 -1
  143. package/src/components/chat/embeddable-chat.tsx +3 -3
  144. package/src/components/chat/entity-cards/admin-content-card.tsx +5 -5
  145. package/src/components/chat/entity-cards/blog-card.tsx +5 -8
  146. package/src/components/chat/entity-cards/case-study-card.tsx +5 -5
  147. package/src/components/chat/entity-cards/chat-ticket-item.tsx +1 -1
  148. package/src/components/chat/entity-cards/customer-interview-card.tsx +9 -9
  149. package/src/components/chat/entity-cards/data-room-doc-card.tsx +2 -2
  150. package/src/components/chat/entity-cards/dispatch.tsx +1 -1
  151. package/src/components/chat/entity-cards/entity-author-card.tsx +3 -3
  152. package/src/components/chat/entity-cards/entity-portrait-card.tsx +4 -4
  153. package/src/components/chat/entity-cards/generic-entity-card.tsx +3 -3
  154. package/src/components/chat/entity-cards/github-activity-card.tsx +11 -11
  155. package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +5 -5
  156. package/src/components/chat/entity-cards/investor-update-card.tsx +1 -1
  157. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +12 -12
  158. package/src/components/chat/entity-cards/program-card.tsx +12 -12
  159. package/src/components/chat/entity-cards/roadmap-card.tsx +6 -6
  160. package/src/components/chat/entity-cards/roadmap-vote-button.tsx +1 -1
  161. package/src/components/chat/entity-cards/slack-message-card.tsx +4 -4
  162. package/src/components/chat/error-message-display.tsx +2 -2
  163. package/src/components/chat/mingo-info-card.tsx +2 -2
  164. package/src/components/chat/model-display.tsx +7 -7
  165. package/src/components/chat/quick-action-chip.tsx +1 -1
  166. package/src/components/chat/source-action-button.tsx +2 -2
  167. package/src/components/chat/tool-call-blocks.tsx +3 -5
  168. package/src/components/chat/utils/.chip-action-class.md +1 -1
  169. package/src/components/chat/utils/.chip-styles.md +2 -2
  170. package/src/components/chat/utils/chip-action-class.ts +1 -1
  171. package/src/components/chat/utils/chip-styles.ts +2 -2
  172. package/src/components/chat/utils/compact-card-classes.ts +3 -3
  173. package/src/components/command.tsx +3 -3
  174. package/src/components/comment-card.tsx +1 -1
  175. package/src/components/contact/contact-form.tsx +9 -9
  176. package/src/components/context-menu.tsx +5 -5
  177. package/src/components/date-time-picker.tsx +2 -2
  178. package/src/components/docs/doc-viewer.tsx +4 -4
  179. package/src/components/embeds/figma-embed.tsx +2 -2
  180. package/src/components/embeds/file-download-card.tsx +2 -2
  181. package/src/components/embeds/google-sheets-viewer.tsx +1 -1
  182. package/src/components/embeds/linkedin-embed-client.tsx +3 -3
  183. package/src/components/embeds/og-link-preview.tsx +14 -14
  184. package/src/components/embeds/pdf-viewer.tsx +1 -1
  185. package/src/components/embeds/reddit-embed-client.tsx +9 -9
  186. package/src/components/embeds/twitter-embed-client.tsx +9 -9
  187. package/src/components/empty-state.tsx +5 -5
  188. package/src/components/faq/faq-section.tsx +1 -1
  189. package/src/components/features/ai-enrich/AIEnrichSection.tsx +14 -14
  190. package/src/components/features/ai-enrich/AIRequiredBadge.tsx +5 -5
  191. package/src/components/features/ai-enrich/AIStatusIndicator.tsx +8 -8
  192. package/src/components/features/ai-enrich/AIWarningsSection.tsx +4 -4
  193. package/src/components/features/ai-enrich/ConfidenceBadge.tsx +4 -4
  194. package/src/components/features/array-entry-manager.tsx +7 -7
  195. package/src/components/features/auth-providers-list.tsx +1 -1
  196. package/src/components/features/board/ticket-card.tsx +1 -1
  197. package/src/components/features/changelog-manager.tsx +10 -10
  198. package/src/components/features/command-box.tsx +2 -2
  199. package/src/components/features/entity-summary-editor.tsx +3 -3
  200. package/src/components/features/figma-prototype-viewer.tsx +9 -9
  201. package/src/components/features/filters-dropdown.tsx +2 -2
  202. package/src/components/features/highlight-config-section.tsx +3 -3
  203. package/src/components/features/highlight-video-combined-section.tsx +2 -2
  204. package/src/components/features/highlight-video-preview.tsx +2 -2
  205. package/src/components/features/highlight-video-section.tsx +9 -9
  206. package/src/components/features/media-gallery-manager.tsx +14 -14
  207. package/src/components/features/og-editor-preview.tsx +4 -4
  208. package/src/components/features/os-type-badge-group.tsx +1 -1
  209. package/src/components/features/os-type-badge.tsx +2 -2
  210. package/src/components/features/platform-badge.tsx +4 -4
  211. package/src/components/features/policy-configuration-panel.tsx +6 -6
  212. package/src/components/features/provider-button.tsx +1 -1
  213. package/src/components/features/push-button-selector.tsx +21 -21
  214. package/src/components/features/release-media-manager.tsx +16 -16
  215. package/src/components/features/section-selector.tsx +8 -8
  216. package/src/components/features/select-button.tsx +4 -4
  217. package/src/components/features/seo-editor-preview.tsx +20 -20
  218. package/src/components/features/social-links-manager.tsx +3 -3
  219. package/src/components/features/start-with-openframe-button.tsx +3 -3
  220. package/src/components/features/status-filter-component.tsx +1 -1
  221. package/src/components/features/tags-selector.tsx +6 -6
  222. package/src/components/features/transcript-summary-editor.tsx +9 -9
  223. package/src/components/features/video-bites-strip.tsx +1 -1
  224. package/src/components/features/video-ratio-tabs.tsx +1 -1
  225. package/src/components/features/video-source-selector.tsx +7 -7
  226. package/src/components/features/video.tsx +1 -1
  227. package/src/components/features/waitlist-form.tsx +3 -3
  228. package/src/components/filter-chip.tsx +13 -13
  229. package/src/components/footer.tsx +3 -3
  230. package/src/components/form.tsx +2 -2
  231. package/src/components/hero-image-uploader.tsx +3 -3
  232. package/src/components/image-cropper.tsx +2 -2
  233. package/src/components/layout/page-container.tsx +6 -6
  234. package/src/components/layout/page-heading.tsx +1 -1
  235. package/src/components/loading/card-skeleton.tsx +2 -2
  236. package/src/components/loading/category-card-skeleton.tsx +1 -1
  237. package/src/components/loading/margin-report-skeleton.tsx +22 -22
  238. package/src/components/loading/openmsp-heartbeat.tsx +1 -1
  239. package/src/components/loading/page-layout-skeleton.tsx +83 -83
  240. package/src/components/loading/unified-skeleton.tsx +1 -1
  241. package/src/components/loading/users-grid-skeleton.tsx +2 -2
  242. package/src/components/logs-list.tsx +8 -8
  243. package/src/components/media-carousel.tsx +7 -7
  244. package/src/components/metric-value.tsx +2 -2
  245. package/src/components/msp-display.tsx +8 -2
  246. package/src/components/navigation/app-header.tsx +6 -6
  247. package/src/components/navigation/header-organization-filter.tsx +2 -2
  248. package/src/components/navigation/header.tsx +4 -4
  249. package/src/components/navigation/mobile-burger-menu.tsx +7 -7
  250. package/src/components/navigation/mobile-nav-panel.tsx +1 -1
  251. package/src/components/navigation/multi-level-navigation.tsx +7 -7
  252. package/src/components/navigation/navigation-sidebar.tsx +1 -1
  253. package/src/components/navigation/sticky-section-nav.tsx +2 -2
  254. package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +4 -4
  255. package/src/components/pagination.tsx +2 -2
  256. package/src/components/persistent-filter-controls.tsx +1 -1
  257. package/src/components/platform/.ShellTypeBadge.md +1 -1
  258. package/src/components/platform/CveLink.tsx +1 -1
  259. package/src/components/platform/ScriptArguments.tsx +2 -2
  260. package/src/components/platform/ScriptInfoSection.tsx +5 -5
  261. package/src/components/platform/ShellTypeBadge.tsx +6 -6
  262. package/src/components/platform/SoftwareInfo.tsx +2 -2
  263. package/src/components/pricing-display.tsx +9 -9
  264. package/src/components/profile/ProfileLoadingSkeleton.tsx +6 -6
  265. package/src/components/related-content/related-content-section.tsx +3 -3
  266. package/src/components/results-count.tsx +1 -1
  267. package/src/components/shared/delivery/delivery-row.tsx +1 -1
  268. package/src/components/shared/delivery/delivery-table.tsx +1 -1
  269. package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
  270. package/src/components/shared/doc-search/doc-search-result-row.tsx +2 -2
  271. package/src/components/shared/legal-document/legal-document-page.tsx +5 -5
  272. package/src/components/shared/onboarding/onboarding-step-card.tsx +1 -1
  273. package/src/components/shared/product-release/product-release-card-skeleton.tsx +3 -3
  274. package/src/components/shared/product-release/product-release-card.tsx +14 -14
  275. package/src/components/shared/product-release/release-detail-page.tsx +16 -16
  276. package/src/components/shared/roadmap/roadmap-grid.tsx +2 -2
  277. package/src/components/smooth-accordion.tsx +1 -1
  278. package/src/components/social-icon-row.tsx +1 -1
  279. package/src/components/sonner.tsx +5 -5
  280. package/src/components/steps.tsx +3 -3
  281. package/src/components/tickets/help-center-create-form.tsx +1 -1
  282. package/src/components/tickets/help-center-list.tsx +1 -1
  283. package/src/components/tickets/ticket-center.tsx +2 -2
  284. package/src/components/tickets/ticket-detail-drawer.tsx +5 -5
  285. package/src/components/tickets/ticket-open-form.tsx +6 -6
  286. package/src/components/ui/.title-content-block.md +1 -1
  287. package/src/components/ui/accordion.tsx +2 -2
  288. package/src/components/ui/actions-menu.tsx +1 -1
  289. package/src/components/ui/alert-dialog.tsx +3 -3
  290. package/src/components/ui/alert.tsx +2 -2
  291. package/src/components/ui/allowed-domains-input.tsx +3 -3
  292. package/src/components/ui/autocomplete.tsx +3 -3
  293. package/src/components/ui/badge.tsx +2 -2
  294. package/src/components/ui/brand-association-card.tsx +2 -2
  295. package/src/components/ui/breadcrumb.tsx +3 -3
  296. package/src/components/ui/bullet-list.tsx +2 -2
  297. package/src/components/ui/button/button.tsx +1 -1
  298. package/src/components/ui/card.tsx +4 -4
  299. package/src/components/ui/checkbox-with-description.tsx +1 -1
  300. package/src/components/ui/chevron-button.tsx +1 -1
  301. package/src/components/ui/content-loader.tsx +16 -16
  302. package/src/components/ui/cursor-pagination.tsx +1 -1
  303. package/src/components/ui/date-picker.tsx +2 -2
  304. package/src/components/ui/device-card-compact.tsx +2 -2
  305. package/src/components/ui/device-card.tsx +3 -3
  306. package/src/components/ui/dialog.tsx +3 -3
  307. package/src/components/ui/drawer.tsx +4 -4
  308. package/src/components/ui/dropdown-menu.tsx +6 -6
  309. package/src/components/ui/error-state.tsx +9 -9
  310. package/src/components/ui/fade-preview.tsx +1 -1
  311. package/src/components/ui/field-wrapper.tsx +1 -1
  312. package/src/components/ui/file-manager/file-manager-breadcrumb.tsx +2 -2
  313. package/src/components/ui/file-manager/file-manager-empty.tsx +3 -3
  314. package/src/components/ui/file-manager/file-manager-skeleton.tsx +4 -4
  315. package/src/components/ui/file-manager/file-manager-table-row.tsx +7 -7
  316. package/src/components/ui/file-manager/file-manager-table.tsx +8 -8
  317. package/src/components/ui/file-upload.tsx +9 -9
  318. package/src/components/ui/filter-pill-row.tsx +1 -1
  319. package/src/components/ui/floating-tooltip.tsx +1 -1
  320. package/src/components/ui/highlight-card.tsx +1 -1
  321. package/src/components/ui/hover-dropdown.tsx +1 -1
  322. package/src/components/ui/image-gallery-modal.tsx +1 -1
  323. package/src/components/ui/info-row.tsx +1 -1
  324. package/src/components/ui/input.tsx +1 -1
  325. package/src/components/ui/label.tsx +5 -5
  326. package/src/components/ui/markdown-editor.tsx +4 -5
  327. package/src/components/ui/menubar.tsx +7 -7
  328. package/src/components/ui/modal-v2.tsx +1 -1
  329. package/src/components/ui/modal.tsx +1 -1
  330. package/src/components/ui/more-actions-menu.tsx +1 -1
  331. package/src/components/ui/navigation-menu.tsx +1 -1
  332. package/src/components/ui/organization-card.tsx +8 -8
  333. package/src/components/ui/page-loader.tsx +6 -6
  334. package/src/components/ui/phone-input.tsx +1 -1
  335. package/src/components/ui/progress-bar.tsx +5 -5
  336. package/src/components/ui/query-report-table/.query-report-table-header.md +1 -1
  337. package/src/components/ui/query-report-table/query-report-table-header.tsx +1 -1
  338. package/src/components/ui/query-report-table/query-report-table-row.tsx +2 -2
  339. package/src/components/ui/query-report-table/query-report-table.tsx +1 -1
  340. package/src/components/ui/release-changelog-section.tsx +2 -2
  341. package/src/components/ui/rich-markdown-renderer.tsx +6 -6
  342. package/src/components/ui/search-input.tsx +7 -7
  343. package/src/components/ui/select.tsx +1 -1
  344. package/src/components/ui/service-card.tsx +4 -4
  345. package/src/components/ui/sheet.tsx +3 -3
  346. package/src/components/ui/simple-markdown-renderer.tsx +4 -4
  347. package/src/components/ui/square-avatar.tsx +9 -5
  348. package/src/components/ui/status-badge.tsx +11 -11
  349. package/src/components/ui/status-indicator.tsx +6 -6
  350. package/src/components/ui/tab-content.tsx +1 -1
  351. package/src/components/ui/tab-navigation.tsx +2 -2
  352. package/src/components/ui/table/table-column-filter-dropdown.tsx +1 -1
  353. package/src/components/ui/table/table-description-cell.tsx +1 -1
  354. package/src/components/ui/table/table-timestamp-cell.tsx +1 -1
  355. package/src/components/ui/table/table.tsx +2 -2
  356. package/src/components/ui/tabs.tsx +1 -1
  357. package/src/components/ui/tag-search-input.tsx +1 -1
  358. package/src/components/ui/tag.tsx +23 -23
  359. package/src/components/ui/tags-input.tsx +2 -2
  360. package/src/components/ui/ticket-status-tag.tsx +1 -1
  361. package/src/components/ui/toaster.tsx +8 -8
  362. package/src/components/ui/toggle.tsx +1 -1
  363. package/src/components/ui/tooltip.tsx +1 -1
  364. package/src/components/user-display.tsx +12 -6
  365. package/src/components/user-summary-stub.tsx +4 -4
  366. package/src/components/vendor-display-button.tsx +2 -2
  367. package/src/components/vendor-icon.tsx +1 -1
  368. package/src/components/vendor-tag.tsx +9 -10
  369. package/src/components/yes-no-display.tsx +3 -3
  370. package/src/styles/ods-colors.css +2 -0
  371. package/tailwind.config.ts +49 -4
  372. package/dist/chunk-2ELBNZJ3.js.map +0 -1
  373. package/dist/chunk-3WJQL4DN.cjs.map +0 -1
  374. package/dist/chunk-4ACSUJ7Q.js.map +0 -1
  375. package/dist/chunk-7WM77CSW.js.map +0 -1
  376. package/dist/chunk-COMBYYQY.js.map +0 -1
  377. package/dist/chunk-EGRZHR7J.js.map +0 -1
  378. package/dist/chunk-F7YVI54P.js.map +0 -1
  379. package/dist/chunk-G5FALXNO.js.map +0 -1
  380. package/dist/chunk-HTVVXVJL.cjs.map +0 -1
  381. package/dist/chunk-IAN7GUIV.cjs.map +0 -1
  382. package/dist/chunk-IMK6RUEC.cjs.map +0 -1
  383. package/dist/chunk-M6QGB6DC.cjs.map +0 -1
  384. package/dist/chunk-N2TJ3HAM.cjs.map +0 -1
  385. package/dist/chunk-NQQ4NLUT.js.map +0 -1
  386. package/dist/chunk-P7PISHM5.js.map +0 -1
  387. package/dist/chunk-PBTY7AH5.js.map +0 -1
  388. package/dist/chunk-R46QEE3R.cjs.map +0 -1
  389. package/dist/chunk-RQQZF6G6.cjs.map +0 -1
  390. package/dist/chunk-RVWC4P3H.js.map +0 -1
  391. package/dist/chunk-VWGF6IFR.cjs.map +0 -1
  392. package/dist/chunk-WAGTZVQN.js.map +0 -1
  393. package/dist/chunk-WZ6TCAYQ.cjs.map +0 -1
  394. package/dist/components/accordion.d.ts +0 -8
  395. package/dist/components/accordion.d.ts.map +0 -1
  396. package/dist/components/alert-dialog.d.ts +0 -21
  397. package/dist/components/alert-dialog.d.ts.map +0 -1
  398. package/dist/components/alert.d.ts +0 -9
  399. package/dist/components/alert.d.ts.map +0 -1
  400. package/dist/components/badge.d.ts +0 -10
  401. package/dist/components/badge.d.ts.map +0 -1
  402. package/dist/components/breadcrumb.d.ts +0 -20
  403. package/dist/components/breadcrumb.d.ts.map +0 -1
  404. package/dist/components/chevron-button.d.ts +0 -14
  405. package/dist/components/chevron-button.d.ts.map +0 -1
  406. package/dist/components/dialog.d.ts +0 -29
  407. package/dist/components/dialog.d.ts.map +0 -1
  408. package/dist/components/dropdown-menu.d.ts +0 -28
  409. package/dist/components/dropdown-menu.d.ts.map +0 -1
  410. package/dist/components/input.d.ts +0 -8
  411. package/dist/components/input.d.ts.map +0 -1
  412. package/dist/components/label.d.ts +0 -6
  413. package/dist/components/label.d.ts.map +0 -1
  414. package/dist/components/menubar.d.ts +0 -34
  415. package/dist/components/menubar.d.ts.map +0 -1
  416. package/dist/components/navigation-menu.d.ts +0 -13
  417. package/dist/components/navigation-menu.d.ts.map +0 -1
  418. package/dist/components/select.d.ts +0 -14
  419. package/dist/components/select.d.ts.map +0 -1
  420. package/dist/components/sidebar.d.ts +0 -67
  421. package/dist/components/sidebar.d.ts.map +0 -1
  422. package/dist/components/square-avatar.d.ts +0 -21
  423. package/dist/components/square-avatar.d.ts.map +0 -1
  424. package/dist/components/table.d.ts +0 -11
  425. package/dist/components/table.d.ts.map +0 -1
  426. package/dist/components/tabs.d.ts +0 -18
  427. package/dist/components/tabs.d.ts.map +0 -1
  428. package/dist/components/toggle.d.ts +0 -13
  429. package/dist/components/toggle.d.ts.map +0 -1
  430. package/src/components/.accordion.md +0 -42
  431. package/src/components/.alert-dialog.md +0 -58
  432. package/src/components/.alert.md +0 -43
  433. package/src/components/.badge.md +0 -40
  434. package/src/components/.breadcrumb.md +0 -54
  435. package/src/components/.chevron-button.md +0 -46
  436. package/src/components/.dialog.md +0 -60
  437. package/src/components/.dropdown-menu.md +0 -51
  438. package/src/components/.input.md +0 -40
  439. package/src/components/.label.md +0 -41
  440. package/src/components/.menubar.md +0 -49
  441. package/src/components/.navigation-menu.md +0 -44
  442. package/src/components/.select.md +0 -54
  443. package/src/components/.sidebar.md +0 -58
  444. package/src/components/.square-avatar.md +0 -42
  445. package/src/components/.table.md +0 -51
  446. package/src/components/.tabs.md +0 -38
  447. package/src/components/.toggle.md +0 -49
  448. package/src/components/accordion.tsx +0 -56
  449. package/src/components/alert-dialog.tsx +0 -141
  450. package/src/components/alert.tsx +0 -59
  451. package/src/components/badge.tsx +0 -30
  452. package/src/components/breadcrumb.tsx +0 -115
  453. package/src/components/chevron-button.tsx +0 -68
  454. package/src/components/dialog.tsx +0 -150
  455. package/src/components/dropdown-menu.tsx +0 -200
  456. package/src/components/input.tsx +0 -39
  457. package/src/components/label.tsx +0 -19
  458. package/src/components/menubar.tsx +0 -236
  459. package/src/components/navigation-menu.tsx +0 -128
  460. package/src/components/select.tsx +0 -160
  461. package/src/components/sidebar.tsx +0 -764
  462. package/src/components/square-avatar.tsx +0 -61
  463. package/src/components/table.tsx +0 -72
  464. package/src/components/tabs.tsx +0 -65
  465. package/src/components/toggle.tsx +0 -45
  466. /package/dist/{chunk-QXYOGJQJ.js.map → chunk-7KDR5P23.js.map} +0 -0
  467. /package/dist/{chunk-PEIR7D25.js.map → chunk-7KNOHGMI.js.map} +0 -0
@@ -21,7 +21,7 @@ const BreadcrumbList = React.forwardRef<
21
21
  <ol
22
22
  ref={ref}
23
23
  className={cn(
24
- "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground md:gap-2.5",
24
+ "flex flex-wrap items-center gap-1.5 break-words text-h6 text-ods-text-muted md:gap-2.5",
25
25
  className
26
26
  )}
27
27
  {...props}
@@ -52,7 +52,7 @@ const BreadcrumbLink = React.forwardRef<
52
52
  return (
53
53
  <Comp
54
54
  ref={ref}
55
- className={cn("transition-colors hover:text-foreground", className)}
55
+ className={cn("transition-colors hover:text-ods-text-primary", className)}
56
56
  {...props}
57
57
  />
58
58
  )
@@ -68,7 +68,7 @@ const BreadcrumbPage = React.forwardRef<
68
68
  role="link"
69
69
  aria-disabled="true"
70
70
  aria-current="page"
71
- className={cn("font-normal text-foreground", className)}
71
+ className={cn("font-normal text-ods-text-primary", className)}
72
72
  {...props}
73
73
  />
74
74
  ))
@@ -27,10 +27,10 @@ const spacingMap = {
27
27
 
28
28
  export function BulletList({
29
29
  items,
30
- bulletColor = 'var(--ods-text-primary)',
30
+ bulletColor = 'var(--color-text-primary)',
31
31
  bulletIcon: BulletIcon = ShapeCircleDashIcon,
32
32
  bulletSize = 16,
33
- textClassName = "font-['DM_Sans'] font-medium text-[16px] md:text-[18px] leading-[24px] md:leading-[28px] text-ods-text-primary",
33
+ textClassName = 'text-h4 text-ods-text-primary',
34
34
  itemClassName = 'flex items-start gap-3',
35
35
  containerClassName = '',
36
36
  spacing = 'md'
@@ -39,7 +39,7 @@ const buttonVariants = cva(
39
39
  // mono-uppercase control style of "small" nor a heavier weight.
40
40
  // Pinned h-6 across breakpoints (24px = the WCAG 2.5.8 target-size
41
41
  // floor) with horizontal-dominant padding and a 14px glyph.
42
- compact: "py-0 px-[var(--spacing-system-sf)] font-body font-normal text-[13px] md:text-sm leading-snug h-6 [&_svg]:h-3.5 [&_svg]:w-3.5",
42
+ compact: "py-0 px-[var(--spacing-system-sf)] text-h6 font-normal h-6 [&_svg]:h-3.5 [&_svg]:w-3.5",
43
43
  icon: "p-[var(--spacing-system-sf)] h-11 w-11 md:h-12 md:w-12 [&_svg]:h-4 [&_svg]:w-4 md:[&_svg]:h-6 md:[&_svg]:w-6",
44
44
  // Quiet 32px icon target with a 16px glyph, fixed across breakpoints
45
45
  // (Carbon ghost sm / Primer medium / shadcn icon-sm all pin 32px;
@@ -38,7 +38,7 @@ const CardTitle = React.forwardRef<
38
38
  <div
39
39
  ref={ref}
40
40
  className={cn(
41
- "text-2xl font-semibold leading-none tracking-tight",
41
+ "text-h2",
42
42
  className
43
43
  )}
44
44
  {...props}
@@ -52,7 +52,7 @@ const CardDescription = React.forwardRef<
52
52
  >(({ className, ...props }, ref) => (
53
53
  <div
54
54
  ref={ref}
55
- className={cn("text-sm text-muted-foreground", className)}
55
+ className={cn("text-h6 text-muted-foreground", className)}
56
56
  {...props}
57
57
  />
58
58
  ))
@@ -98,8 +98,8 @@ export function CardHorizontal({ icon, title, description, className = '', borde
98
98
  >
99
99
  <div className="w-5 h-5 flex-shrink-0">{icon}</div>
100
100
  <div className="flex flex-col min-w-0">
101
- <span className="font-medium text-sm md:text-sm text-ods-text-primary leading-tight mb-0.5 text-left">{title}</span>
102
- <span className="text-xs md:text-sm text-ods-text-secondary leading-tight text-left">{description}</span>
101
+ <span className="text-h6 text-ods-text-primary mb-0.5 text-left">{title}</span>
102
+ <span className="text-h6 text-ods-text-secondary text-left">{description}</span>
103
103
  </div>
104
104
  </div>
105
105
  );
@@ -56,7 +56,7 @@ const CheckboxWithDescription = React.forwardRef<
56
56
  >
57
57
  {title}
58
58
  </Label>
59
- <span className="text-sm text-ods-text-secondary leading-relaxed">
59
+ <span className="text-h6 text-ods-text-secondary">
60
60
  {description}
61
61
  </span>
62
62
  </div>
@@ -24,7 +24,7 @@ const ChevronButton = React.forwardRef<HTMLButtonElement, ChevronButtonProps>(
24
24
  return (
25
25
  <button
26
26
  className={cn(
27
- "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
27
+ "inline-flex items-center justify-center rounded-md text-h6 ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
28
28
  "h-10 px-4 py-2",
29
29
  className
30
30
  )}
@@ -38,18 +38,18 @@ export function ContentLoader({
38
38
  }: ContentLoaderProps) {
39
39
  const renderCardSkeleton = () => (
40
40
  <div className="animate-pulse">
41
- {showTitle && <div className="h-8 w-64 bg-ods-bg-secondary rounded mb-6" />}
41
+ {showTitle && <div className="h-8 w-64 bg-ods-skeleton rounded mb-6" />}
42
42
  <div className="bg-ods-card border border-ods-border rounded-lg p-6">
43
43
  <div className="grid grid-cols-1 md:grid-cols-4 gap-6 mb-6">
44
44
  {Array.from({ length: items }).map((_, i) => (
45
45
  <div key={i}>
46
- <div className="h-4 w-20 bg-ods-bg-secondary rounded mb-2" />
47
- <div className="h-6 w-32 bg-ods-bg-secondary rounded" />
46
+ <div className="h-4 w-20 bg-ods-skeleton rounded mb-2" />
47
+ <div className="h-6 w-32 bg-ods-skeleton rounded" />
48
48
  </div>
49
49
  ))}
50
50
  </div>
51
51
  <div className="border-t border-ods-border pt-4">
52
- <div className="h-4 w-64 bg-ods-bg-secondary rounded" />
52
+ <div className="h-4 w-64 bg-ods-skeleton rounded" />
53
53
  </div>
54
54
  </div>
55
55
  </div>
@@ -62,8 +62,8 @@ export function ContentLoader({
62
62
  <div className="space-y-4">
63
63
  {Array.from({ length: items }).map((_, i) => (
64
64
  <div key={i}>
65
- <div className="h-4 bg-ods-bg-secondary rounded w-32 mb-2" />
66
- <div className="h-10 bg-ods-bg-secondary rounded" />
65
+ <div className="h-4 bg-ods-skeleton rounded w-32 mb-2" />
66
+ <div className="h-10 bg-ods-skeleton rounded" />
67
67
  </div>
68
68
  ))}
69
69
  </div>
@@ -73,22 +73,22 @@ export function ContentLoader({
73
73
 
74
74
  const renderDetailSkeleton = () => (
75
75
  <div className="animate-pulse">
76
- {showTitle && <div className="h-8 w-64 bg-ods-bg-secondary rounded mb-6" />}
76
+ {showTitle && <div className="h-8 w-64 bg-ods-skeleton rounded mb-6" />}
77
77
  <div className="bg-ods-card border border-ods-border rounded-lg p-6">
78
78
  <div className="grid grid-cols-1 lg:grid-cols-3 gap-6">
79
79
  <div className="lg:col-span-2">
80
- <div className="h-64 bg-ods-bg-secondary rounded mb-4" />
80
+ <div className="h-64 bg-ods-skeleton rounded mb-4" />
81
81
  <div className="space-y-2">
82
82
  {Array.from({ length: 3 }).map((_, i) => (
83
- <div key={i} className="h-4 bg-ods-bg-secondary rounded" />
83
+ <div key={i} className="h-4 bg-ods-skeleton rounded" />
84
84
  ))}
85
85
  </div>
86
86
  </div>
87
87
  <div>
88
- <div className="h-32 bg-ods-bg-secondary rounded mb-4" />
88
+ <div className="h-32 bg-ods-skeleton rounded mb-4" />
89
89
  <div className="space-y-2">
90
90
  {Array.from({ length: items }).map((_, i) => (
91
- <div key={i} className="h-3 bg-ods-bg-secondary rounded" />
91
+ <div key={i} className="h-3 bg-ods-skeleton rounded" />
92
92
  ))}
93
93
  </div>
94
94
  </div>
@@ -99,16 +99,16 @@ export function ContentLoader({
99
99
 
100
100
  const renderListSkeleton = () => (
101
101
  <div className="animate-pulse space-y-3">
102
- {showTitle && <div className="h-8 w-64 bg-ods-bg-secondary rounded mb-6" />}
102
+ {showTitle && <div className="h-8 w-64 bg-ods-skeleton rounded mb-6" />}
103
103
  {Array.from({ length: items }).map((_, i) => (
104
104
  <div key={i} className="bg-ods-card border border-ods-border rounded-lg p-4">
105
105
  <div className="flex items-center gap-4">
106
- <div className="h-12 w-12 bg-ods-bg-secondary rounded" />
106
+ <div className="h-12 w-12 bg-ods-skeleton rounded" />
107
107
  <div className="flex-1">
108
- <div className="h-4 bg-ods-bg-secondary rounded w-3/4 mb-2" />
109
- <div className="h-3 bg-ods-bg-secondary rounded w-1/2" />
108
+ <div className="h-4 bg-ods-skeleton rounded w-3/4 mb-2" />
109
+ <div className="h-3 bg-ods-skeleton rounded w-1/2" />
110
110
  </div>
111
- <div className="h-8 w-20 bg-ods-bg-secondary rounded" />
111
+ <div className="h-8 w-20 bg-ods-skeleton rounded" />
112
112
  </div>
113
113
  </div>
114
114
  ))}
@@ -92,7 +92,7 @@ export function CursorPagination({
92
92
  >
93
93
  {/* Info text */}
94
94
  {showInfo && (
95
- <div className="text-sm text-ods-text-secondary">
95
+ <div className="text-h6 text-ods-text-secondary">
96
96
  {displayText || <span>&nbsp;</span>}
97
97
  </div>
98
98
  )}
@@ -209,7 +209,7 @@ function DatePickerCalendar({
209
209
  weekday: cn(
210
210
  cellOuter,
211
211
  "flex items-center justify-center",
212
- "text-[14px] font-medium leading-5 text-ods-text-secondary"
212
+ "text-h6 text-ods-text-secondary"
213
213
  ),
214
214
  week: "flex",
215
215
  day: cn(
@@ -248,7 +248,7 @@ function DatePickerCalendar({
248
248
  "range-end !bg-ods-accent !text-ods-card !font-bold hover:!bg-ods-accent",
249
249
  hasCompleteRange ? "!rounded-r-[6px] !rounded-l-none" : "!rounded-[6px]"
250
250
  ),
251
- range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]",
251
+ range_middle: "range-middle !bg-ods-open-yellow-light !text-ods-card !font-medium !rounded-none hover:!bg-ods-open-yellow-light",
252
252
  };
253
253
 
254
254
  const [month, setMonth] = React.useState<Date>(
@@ -35,12 +35,12 @@ export function DeviceCardCompact({
35
35
  {...props}
36
36
  >
37
37
  {hasName && (
38
- <span className="font-['DM_Sans'] font-medium text-[16px] leading-[20px] text-ods-text-primary truncate" title={deviceName}>
38
+ <span className="text-h6 text-ods-text-primary truncate" title={deviceName}>
39
39
  {deviceName}
40
40
  </span>
41
41
  )}
42
42
  {hasOrg && (
43
- <span className="font-['DM_Sans'] font-medium text-[14px] leading-[18px] text-ods-text-secondary truncate" title={organization}>
43
+ <span className="text-h6 text-ods-text-secondary truncate" title={organization}>
44
44
  {organization}
45
45
  </span>
46
46
  )}
@@ -110,7 +110,7 @@ export function DeviceCard({
110
110
  </span>
111
111
  </div>
112
112
  {device.organization && (
113
- <span className="font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate" title={device.organization}>
113
+ <span className="text-h6 text-ods-text-secondary truncate" title={device.organization}>
114
114
  {device.organization}
115
115
  </span>
116
116
  )}
@@ -141,7 +141,7 @@ export function DeviceCard({
141
141
  className="flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors"
142
142
  onClick={(e) => { e.stopPropagation(); action.onClick?.() }}
143
143
  >
144
- <span className="text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]">
144
+ <span className="text-h3 text-ods-text-primary text-nowrap">
145
145
  {action.label}
146
146
  </span>
147
147
  </div>
@@ -162,7 +162,7 @@ export function DeviceCard({
162
162
  />
163
163
  )}
164
164
  {device.lastSeen && (
165
- <span className="flex-1 font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate">
165
+ <span className="flex-1 text-h6 text-ods-text-secondary truncate">
166
166
  Last Seen: {formatLastSeen(device.lastSeen)}
167
167
  </span>
168
168
  )}
@@ -21,7 +21,7 @@ const DialogOverlay = React.forwardRef<
21
21
  <DialogPrimitive.Overlay
22
22
  ref={ref}
23
23
  className={cn(
24
- "fixed inset-0 z-[9998] bg-black/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
24
+ "fixed inset-0 z-[9998] bg-ods-overlay backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
25
25
  className,
26
26
  )}
27
27
  {...props}
@@ -69,7 +69,7 @@ const DialogTitle = React.forwardRef<
69
69
  >(({ className, ...props }, ref) => (
70
70
  <DialogPrimitive.Title
71
71
  ref={ref}
72
- className={cn("text-lg font-semibold leading-none tracking-tight", className)}
72
+ className={cn("text-h3", className)}
73
73
  {...props}
74
74
  />
75
75
  ))
@@ -79,7 +79,7 @@ const DialogDescription = React.forwardRef<
79
79
  React.ElementRef<typeof DialogPrimitive.Description>,
80
80
  React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
81
81
  >(({ className, ...props }, ref) => (
82
- <DialogPrimitive.Description ref={ref} className={cn("text-sm text-muted-foreground", className)} {...props} />
82
+ <DialogPrimitive.Description ref={ref} className={cn("text-h6 text-muted-foreground", className)} {...props} />
83
83
  ))
84
84
  DialogDescription.displayName = DialogPrimitive.Description.displayName
85
85
 
@@ -11,7 +11,7 @@ import { useHeaderHeight } from "../../hooks/ui/use-header-height"
11
11
  /** Unified overlay backdrop — dimmed, no blur. Single source of truth for
12
12
  * every full-screen backdrop (Drawer, AppLayoutDrawer, MobileBurgerMenu,
13
13
  * TimeTracker popover) so all panels dim the page identically. */
14
- const OVERLAY_BACKDROP_CLASS = "bg-black/50"
14
+ const OVERLAY_BACKDROP_CLASS = "bg-ods-overlay"
15
15
 
16
16
  const Drawer = DialogPrimitive.Root
17
17
 
@@ -316,7 +316,7 @@ function DrawerResizeHandle({
316
316
  <div
317
317
  aria-hidden
318
318
  className={cn(
319
- "rounded-full bg-[var(--system-greys-soft-grey,#3A3A3A)]",
319
+ "rounded-full bg-ods-bg-surface",
320
320
  gripClass,
321
321
  )}
322
322
  />
@@ -495,7 +495,7 @@ const DrawerTitle = React.forwardRef<
495
495
  <DialogPrimitive.Title
496
496
  ref={ref}
497
497
  className={cn(
498
- "min-w-0 flex-1 break-words font-sans text-lg font-bold leading-6 tracking-[-0.36px] text-ods-text-primary",
498
+ "min-w-0 flex-1 break-words text-h3 text-ods-text-primary",
499
499
  className
500
500
  )}
501
501
  {...props}
@@ -520,7 +520,7 @@ const DrawerDescription = React.forwardRef<
520
520
  <DialogPrimitive.Description
521
521
  ref={ref}
522
522
  className={cn(
523
- "min-w-0 break-words font-sans text-sm font-medium leading-5 text-ods-text-secondary",
523
+ "min-w-0 break-words text-h6 text-ods-text-secondary",
524
524
  className
525
525
  )}
526
526
  {...props}
@@ -28,7 +28,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
28
28
  <DropdownMenuPrimitive.SubTrigger
29
29
  ref={ref}
30
30
  className={cn(
31
- "flex cursor-pointer gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none hover:bg-ods-bg-hover focus:bg-ods-bg-hover data-[state=open]:bg-ods-bg-hover [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
31
+ "flex cursor-pointer gap-2 select-none items-center rounded-sm px-2 py-1.5 text-h6 outline-none hover:bg-ods-bg-hover focus:bg-ods-bg-hover data-[state=open]:bg-ods-bg-hover [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
32
32
  inset && "pl-8",
33
33
  className
34
34
  )}
@@ -89,7 +89,7 @@ const DropdownMenuItem = React.forwardRef<
89
89
  <DropdownMenuPrimitive.Item
90
90
  ref={ref}
91
91
  className={cn(
92
- "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-base outline-none transition-colors text-ods-text-primary hover:bg-ods-bg-hover hover:text-ods-text-primary focus:bg-ods-bg-hover focus:text-ods-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
92
+ "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-h6 outline-none transition-colors text-ods-text-primary hover:bg-ods-bg-hover hover:text-ods-text-primary focus:bg-ods-bg-hover focus:text-ods-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
93
93
  inset && "pl-8",
94
94
  className
95
95
  )}
@@ -105,7 +105,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
105
105
  <DropdownMenuPrimitive.CheckboxItem
106
106
  ref={ref}
107
107
  className={cn(
108
- "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors text-ods-text-primary hover:bg-ods-bg-hover hover:text-ods-text-primary focus:bg-ods-bg-hover focus:text-ods-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
108
+ "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-h6 outline-none transition-colors text-ods-text-primary hover:bg-ods-bg-hover hover:text-ods-text-primary focus:bg-ods-bg-hover focus:text-ods-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
109
109
  className
110
110
  )}
111
111
  checked={checked}
@@ -129,7 +129,7 @@ const DropdownMenuRadioItem = React.forwardRef<
129
129
  <DropdownMenuPrimitive.RadioItem
130
130
  ref={ref}
131
131
  className={cn(
132
- "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors text-ods-text-primary hover:bg-ods-bg-hover hover:text-ods-text-primary focus:bg-ods-bg-hover focus:text-ods-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
132
+ "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-h6 outline-none transition-colors text-ods-text-primary hover:bg-ods-bg-hover hover:text-ods-text-primary focus:bg-ods-bg-hover focus:text-ods-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
133
133
  className
134
134
  )}
135
135
  {...props}
@@ -153,7 +153,7 @@ const DropdownMenuLabel = React.forwardRef<
153
153
  <DropdownMenuPrimitive.Label
154
154
  ref={ref}
155
155
  className={cn(
156
- "px-2 py-1.5 text-sm font-semibold text-ods-text-secondary",
156
+ "px-2 py-1.5 text-h6 font-semibold text-ods-text-secondary",
157
157
  inset && "pl-8",
158
158
  className
159
159
  )}
@@ -180,7 +180,7 @@ const DropdownMenuShortcut = ({
180
180
  }: React.HTMLAttributes<HTMLSpanElement>) => {
181
181
  return (
182
182
  <span
183
- className={cn("ml-auto text-xs tracking-widest text-ods-text-secondary opacity-60", className)}
183
+ className={cn("ml-auto text-h6 text-ods-text-secondary opacity-60", className)}
184
184
  {...props}
185
185
  />
186
186
  )
@@ -37,17 +37,17 @@ export function ErrorState({
37
37
  // -secondary tokens, NOT `/20` alpha modifiers: the ods colors are
38
38
  // hex CSS vars, and Tailwind 3.x can't inject alpha into those —
39
39
  // the modifier silently produced no background at all.
40
- bg: 'bg-ods-attention-red-error-secondary',
41
- border: 'border-ods-attention-red-error',
42
- text: 'text-ods-attention-red-error',
43
- icon: 'text-ods-attention-red-error'
40
+ bg: 'bg-ods-error-secondary',
41
+ border: 'border-ods-error',
42
+ text: 'text-ods-error',
43
+ icon: 'text-ods-error'
44
44
  }
45
45
  case 'warning':
46
46
  return {
47
- bg: 'bg-ods-attention-yellow-warning-secondary',
48
- border: 'border-ods-attention-yellow-warning',
49
- text: 'text-ods-attention-yellow-warning',
50
- icon: 'text-ods-attention-yellow-warning'
47
+ bg: 'bg-ods-warning-secondary',
48
+ border: 'border-ods-warning',
49
+ text: 'text-ods-warning',
50
+ icon: 'text-ods-warning'
51
51
  }
52
52
  case 'info':
53
53
  return {
@@ -77,7 +77,7 @@ export function ErrorState({
77
77
  <h3 className={cn("font-semibold mb-1", styles.text)}>
78
78
  {title}
79
79
  </h3>
80
- <p className={cn("text-sm", styles.text)}>
80
+ <p className={cn("text-h6", styles.text)}>
81
81
  {message}
82
82
  </p>
83
83
  {(showRetry || showHome) && (
@@ -75,7 +75,7 @@ export function FadePreview({
75
75
  <button
76
76
  type="button"
77
77
  onClick={() => setExpanded(!expanded)}
78
- className="mt-4 flex items-center gap-1.5 text-sm text-ods-text-secondary hover:text-ods-accent transition-colors duration-200"
78
+ className="mt-4 flex items-center gap-1.5 text-h6 text-ods-text-secondary hover:text-ods-accent transition-colors duration-200"
79
79
  >
80
80
  <span>{expanded ? 'Show less' : `Show ${hiddenCount} more`}</span>
81
81
  <ChevronDown
@@ -17,7 +17,7 @@ export interface FieldWrapperProps {
17
17
 
18
18
  const errorVariantClasses = {
19
19
  error: "text-ods-error",
20
- warning: "text-[var(--ods-attention-yellow-warning)]",
20
+ warning: "text-ods-warning",
21
21
  success: "text-ods-success",
22
22
  muted: "text-ods-text-secondary",
23
23
  } as const
@@ -12,7 +12,7 @@ export function FileManagerBreadcrumb({
12
12
  }: FileManagerBreadcrumbProps) {
13
13
  return (
14
14
  <nav className={cn(
15
- 'flex flex-wrap items-center gap-x-1 gap-y-1 text-sm break-words',
15
+ 'flex flex-wrap items-center gap-x-1 gap-y-1 text-h6 break-words',
16
16
  className
17
17
  )}>
18
18
  {items.map((item, index) => (
@@ -23,7 +23,7 @@ export function FileManagerBreadcrumb({
23
23
  <button
24
24
  onClick={() => onItemClick?.(item.path)}
25
25
  className={cn(
26
- 'shrink-0 px-1 py-0.5 rounded hover:bg-ods-bg-secondary transition-colors',
26
+ 'shrink-0 px-1 py-0.5 rounded hover:bg-ods-bg-hover transition-colors',
27
27
  'text-ods-text-primary hover:text-ods-accent text-left break-all',
28
28
  index === items.length - 1 && 'font-medium'
29
29
  )}
@@ -17,15 +17,15 @@ export function FileManagerEmpty({
17
17
  'flex flex-col items-center justify-center py-20 px-4',
18
18
  className
19
19
  )}>
20
- <div className="p-4 bg-ods-bg-secondary rounded-full mb-6">
20
+ <div className="p-4 bg-ods-bg-surface rounded-full mb-6">
21
21
  <FolderOpen className="h-12 w-12 text-ods-text-tertiary" />
22
22
  </div>
23
23
 
24
- <h3 className="text-lg font-medium text-ods-text-primary mb-2">
24
+ <h3 className="text-h4 text-ods-text-primary mb-2">
25
25
  {message}
26
26
  </h3>
27
27
 
28
- <p className="text-sm text-ods-text-secondary text-center max-w-md mb-6">
28
+ <p className="text-h6 text-ods-text-secondary text-center max-w-md mb-6">
29
29
  {description}
30
30
  </p>
31
31
 
@@ -50,22 +50,22 @@ export function FileManagerSkeleton({
50
50
  <div className="flex-1 min-h-0">
51
51
  <div className="bg-ods-bg border border-ods-border rounded-lg flex flex-col">
52
52
  {/* Table header */}
53
- <div className="flex items-center h-12 px-4 bg-ods-bg-secondary border-b border-ods-border rounded-t-lg">
53
+ <div className="flex items-center h-12 px-4 bg-ods-bg-surface border-b border-ods-border rounded-t-lg">
54
54
  {/* Checkbox */}
55
55
  <div className="mr-4">
56
56
  <Skeleton className="h-5 w-5 rounded" />
57
57
  </div>
58
58
 
59
59
  {/* Column headers */}
60
- <div className="flex items-center gap-3 flex-1 min-w-0 text-sm font-medium text-ods-text-secondary">
60
+ <div className="flex items-center gap-3 flex-1 min-w-0 text-h5 text-ods-text-secondary">
61
61
  NAME
62
62
  </div>
63
63
 
64
- <div className="w-24 shrink-0 pr-4 text-sm font-medium text-ods-text-secondary">
64
+ <div className="w-24 shrink-0 pr-4 text-h5 text-ods-text-secondary">
65
65
  SIZE
66
66
  </div>
67
67
 
68
- <div className="w-36 shrink-0 pl-4 text-sm font-medium text-ods-text-secondary">
68
+ <div className="w-36 shrink-0 pl-4 text-h5 text-ods-text-secondary">
69
69
  EDITED
70
70
  </div>
71
71
 
@@ -48,8 +48,8 @@ export function FileManagerTableRow({
48
48
  <div
49
49
  className={cn(
50
50
  'bg-ods-card group flex items-center h-16 px-4 border-ods-border',
51
- 'hover:bg-ods-bg-secondary transition-colors cursor-pointer',
52
- isSelected && 'bg-ods-bg-secondary',
51
+ 'hover:bg-ods-bg-hover transition-colors cursor-pointer',
52
+ isSelected && 'bg-ods-bg-surface',
53
53
  className
54
54
  )}
55
55
  onClick={handleRowClick}
@@ -76,22 +76,22 @@ export function FileManagerTableRow({
76
76
  size="md"
77
77
  />
78
78
  <div className="flex flex-col min-w-0">
79
- <span className="text-sm text-ods-text-primary truncate" title={file.name}>
79
+ <span className="text-h6 text-ods-text-primary truncate" title={file.name}>
80
80
  {file.name}
81
81
  </span>
82
82
  {showPath && file.path && (
83
- <span className="text-xs text-ods-text-secondary truncate" title={file.path}>
83
+ <span className="text-h6 text-ods-text-secondary truncate" title={file.path}>
84
84
  {file.path}
85
85
  </span>
86
86
  )}
87
87
  </div>
88
88
  </div>
89
89
 
90
- <div className="w-24 shrink-0 pr-4 text-sm text-ods-text-secondary">
90
+ <div className="w-24 shrink-0 pr-4 text-h6 text-ods-text-secondary">
91
91
  {file.size || ''}
92
92
  </div>
93
-
94
- <div className="w-36 shrink-0 pl-4 text-sm text-ods-text-secondary">
93
+
94
+ <div className="w-36 shrink-0 pl-4 text-h6 text-ods-text-secondary">
95
95
  {file.modified}
96
96
  </div>
97
97
 
@@ -76,22 +76,22 @@ export function FileManagerTable({
76
76
  return (
77
77
  <div className={cn('bg-ods-bg border border-ods-border rounded-lg flex flex-col', className)}>
78
78
  {/* Table header */}
79
- <div className="flex items-center h-12 px-4 bg-ods-bg-secondary border-b border-ods-border rounded-t-lg">
79
+ <div className="flex items-center h-12 px-4 bg-ods-bg-surface border-b border-ods-border rounded-t-lg">
80
80
  {showCheckboxes && (
81
81
  <div className="mr-4">
82
82
  <Skeleton className="h-5 w-5 rounded" />
83
83
  </div>
84
84
  )}
85
85
 
86
- <div className="flex items-center gap-3 flex-1 min-w-0 text-sm font-medium text-ods-text-secondary">
86
+ <div className="flex items-center gap-3 flex-1 min-w-0 text-h5 text-ods-text-secondary">
87
87
  NAME
88
88
  </div>
89
89
 
90
- <div className="w-24 shrink-0 pr-4 text-sm font-medium text-ods-text-secondary">
90
+ <div className="w-24 shrink-0 pr-4 text-h5 text-ods-text-secondary">
91
91
  SIZE
92
92
  </div>
93
93
 
94
- <div className="w-36 shrink-0 pl-4 text-sm font-medium text-ods-text-secondary">
94
+ <div className="w-36 shrink-0 pl-4 text-h5 text-ods-text-secondary">
95
95
  EDITED
96
96
  </div>
97
97
 
@@ -153,7 +153,7 @@ export function FileManagerTable({
153
153
  className={cn('bg-ods-bg border border-ods-border rounded-lg flex flex-col', className)}
154
154
  style={tableHeight ? { height: `${tableHeight}px` } : undefined}
155
155
  >
156
- <div className="flex items-center h-12 px-4 bg-ods-bg-secondary border-b border-ods-border rounded-t-lg">
156
+ <div className="flex items-center h-12 px-4 bg-ods-bg-surface border-b border-ods-border rounded-t-lg">
157
157
  {showCheckboxes && (
158
158
  <div className="mr-4">
159
159
  <Checkbox
@@ -164,15 +164,15 @@ export function FileManagerTable({
164
164
  </div>
165
165
  )}
166
166
 
167
- <div className="flex items-center gap-3 flex-1 min-w-0 text-sm font-medium text-ods-text-secondary">
167
+ <div className="flex items-center gap-3 flex-1 min-w-0 text-h5 text-ods-text-secondary">
168
168
  NAME
169
169
  </div>
170
170
 
171
- <div className="w-24 shrink-0 pr-4 text-sm font-medium text-ods-text-secondary">
171
+ <div className="w-24 shrink-0 pr-4 text-h5 text-ods-text-secondary">
172
172
  SIZE
173
173
  </div>
174
174
 
175
- <div className="w-36 shrink-0 pl-4 text-sm font-medium text-ods-text-secondary">
175
+ <div className="w-36 shrink-0 pl-4 text-h5 text-ods-text-secondary">
176
176
  EDITED
177
177
  </div>
178
178