@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
@@ -19,9 +19,9 @@ export interface ConfidenceBadgeProps {
19
19
  }
20
20
 
21
21
  const sizeStyles = {
22
- sm: 'text-xs px-1.5 py-0.5',
23
- md: 'text-sm px-2 py-1',
24
- lg: 'text-base px-3 py-1.5',
22
+ sm: 'text-h6 px-1.5 py-0.5',
23
+ md: 'text-h6 px-2 py-1',
24
+ lg: 'text-h6 px-3 py-1.5',
25
25
  }
26
26
 
27
27
  export const ConfidenceBadge: React.FC<ConfidenceBadgeProps> = ({
@@ -45,7 +45,7 @@ export const ConfidenceBadge: React.FC<ConfidenceBadgeProps> = ({
45
45
  return (
46
46
  <span
47
47
  className={cn(
48
- 'inline-flex items-center gap-1 rounded-full border font-medium',
48
+ 'inline-flex items-center gap-1 rounded-full border',
49
49
  sizeStyles[size],
50
50
  borderClass,
51
51
  textClass,
@@ -124,7 +124,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
124
124
  return (
125
125
  <div className={`space-y-3 ${className}`}>
126
126
  <div className="flex items-center justify-between">
127
- <Label className="text-[14px] text-ods-text-primary">{title}</Label>
127
+ <Label className="text-h6 text-ods-text-primary">{title}</Label>
128
128
  <div className="flex items-center gap-2">
129
129
  {requireSave && isDirty && (
130
130
  <Button
@@ -133,7 +133,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
133
133
  onClick={handleSave}
134
134
  disabled={isSaving}
135
135
  leftIcon={isSaving ? <Loader2 className="h-4 w-4 animate-spin" /> : <Save className="h-4 w-4" />}
136
- className="font-['DM_Sans'] text-[14px] bg-ods-accent text-ods-text-on-accent hover:bg-ods-accent-hover"
136
+ className="text-h6 bg-ods-accent text-ods-text-on-accent hover:bg-ods-accent-hover"
137
137
  >
138
138
  {isSaving ? 'Saving...' : saveButtonText}
139
139
  </Button>
@@ -144,7 +144,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
144
144
  size="small-legacy"
145
145
  onClick={addItem}
146
146
  leftIcon={<Plus className="h-4 w-4" />}
147
- className="font-['DM_Sans'] text-[14px]"
147
+ className="text-h6"
148
148
  >
149
149
  {addButtonText}
150
150
  </Button>
@@ -152,7 +152,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
152
152
  </div>
153
153
 
154
154
  {workingItems.map((item, index) => (
155
- <div key={index} className="flex items-center gap-3 p-3 bg-ods-bg-secondary rounded-lg border border-ods-border">
155
+ <div key={index} className="flex items-center gap-3 p-3 bg-ods-bg-surface rounded-lg border border-ods-border">
156
156
  {icon && (
157
157
  <div className="w-8 h-8 flex items-center justify-center">
158
158
  {icon}
@@ -176,7 +176,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
176
176
  variant="transparent"
177
177
  size="icon"
178
178
  onClick={() => removeItem(index)}
179
- className="text-ods-attention-red-error hover:bg-ods-attention-red-error-secondary"
179
+ className="text-ods-error hover:bg-ods-error-secondary"
180
180
  >
181
181
  <Trash2 className="h-4 w-4" />
182
182
  </Button>
@@ -184,8 +184,8 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
184
184
  ))}
185
185
 
186
186
  {workingItems.length === 0 && (
187
- <div className="text-center py-4 px-4 bg-ods-bg-secondary border border-ods-border rounded-lg">
188
- <p className="text-ods-text-secondary text-sm font-['DM_Sans']">
187
+ <div className="text-center py-4 px-4 bg-ods-bg-surface border border-ods-border rounded-lg">
188
+ <p className="text-ods-text-secondary text-h6">
189
189
  {emptyMessage}
190
190
  </p>
191
191
  </div>
@@ -50,7 +50,7 @@ export function AuthProvidersList({
50
50
  <div className="absolute inset-0 flex items-center">
51
51
  <div className="w-full border-t border-ods-border" />
52
52
  </div>
53
- <div className="relative flex justify-center text-sm">
53
+ <div className="relative flex justify-center text-h6">
54
54
  <span className="px-2 bg-ods-card text-ods-text-secondary">{dividerText}</span>
55
55
  </div>
56
56
  </div>
@@ -77,7 +77,7 @@ export function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprov
77
77
  />
78
78
  ))}
79
79
  {ticket.assignees.length > MAX_VISIBLE_ASSIGNEES && (
80
- <div className="flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-bg text-xs font-medium text-ods-text-secondary">
80
+ <div className="flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-bg text-h6 text-ods-text-secondary">
81
81
  +{ticket.assignees.length - MAX_VISIBLE_ASSIGNEES}
82
82
  </div>
83
83
  )}
@@ -89,7 +89,7 @@ export function ChangelogManager({
89
89
  return (
90
90
  <div className={`space-y-3 ${className}`}>
91
91
  <div className="flex items-center justify-between">
92
- <Label className="text-[14px] text-ods-text-primary">
92
+ <Label className="text-h6 text-ods-text-primary">
93
93
  {title}
94
94
  </Label>
95
95
  <Button
@@ -98,7 +98,7 @@ export function ChangelogManager({
98
98
  size="small-legacy"
99
99
  onClick={addEntry}
100
100
  leftIcon={<Plus className="h-4 w-4" />}
101
- className="font-['DM_Sans'] text-[14px]"
101
+ className="text-h6"
102
102
  >
103
103
  Add Entry
104
104
  </Button>
@@ -109,7 +109,7 @@ export function ChangelogManager({
109
109
  const hasContent = entry.title.trim().length > 0;
110
110
 
111
111
  return (
112
- <div key={index} className="bg-ods-bg-secondary rounded-lg border border-ods-border overflow-hidden">
112
+ <div key={index} className="bg-ods-bg-surface rounded-lg border border-ods-border overflow-hidden">
113
113
  {/* Header - always visible */}
114
114
  <div className="flex items-center gap-3 p-3">
115
115
  <Button
@@ -124,11 +124,11 @@ export function ChangelogManager({
124
124
 
125
125
  <div className="flex-1 min-w-0">
126
126
  {hasContent ? (
127
- <p className="font-['DM_Sans'] font-medium text-[14px] text-ods-text-primary truncate">
127
+ <p className="text-h6 text-ods-text-primary truncate">
128
128
  {entry.title}
129
129
  </p>
130
130
  ) : (
131
- <p className="font-['DM_Sans'] font-medium text-[14px] text-ods-text-secondary italic">
131
+ <p className="text-h6 text-ods-text-secondary italic">
132
132
  New entry (click to edit)
133
133
  </p>
134
134
  )}
@@ -160,7 +160,7 @@ export function ChangelogManager({
160
160
  variant="transparent"
161
161
  size="icon"
162
162
  onClick={() => removeEntry(index)}
163
- className="text-red-400 hover:text-red-300 hover:bg-red-400/10 shrink-0"
163
+ className="text-ods-error hover:text-ods-error-hover hover:bg-ods-error-secondary shrink-0"
164
164
  >
165
165
  <Trash2 className="h-4 w-4" />
166
166
  </Button>
@@ -171,7 +171,7 @@ export function ChangelogManager({
171
171
  <div className="px-3 pb-3 space-y-3 border-t border-ods-border pt-3">
172
172
  {/* Title */}
173
173
  <div className="space-y-1">
174
- <Label className="text-[12px] text-ods-text-secondary">Title *</Label>
174
+ <Label className="text-h6 text-ods-text-secondary">Title *</Label>
175
175
  <Input
176
176
  placeholder="e.g., New dark mode theme support"
177
177
  value={entry.title}
@@ -183,7 +183,7 @@ export function ChangelogManager({
183
183
 
184
184
  {/* Description */}
185
185
  <div className="space-y-1">
186
- <Label className="text-[12px] text-ods-text-secondary">Description</Label>
186
+ <Label className="text-h6 text-ods-text-secondary">Description</Label>
187
187
  <Textarea
188
188
  placeholder="Detailed explanation of the change..."
189
189
  value={entry.description || ''}
@@ -199,8 +199,8 @@ export function ChangelogManager({
199
199
  })}
200
200
 
201
201
  {entries.length === 0 && (
202
- <div className="text-center py-4 px-4 bg-ods-bg-secondary border border-ods-border rounded-lg">
203
- <p className="text-ods-text-secondary text-sm font-['DM_Sans']">
202
+ <div className="text-center py-4 px-4 bg-ods-bg-surface border border-ods-border rounded-lg">
203
+ <p className="text-ods-text-secondary text-h6">
204
204
  No entries added. Click "Add Entry" to create {title.toLowerCase()}.
205
205
  </p>
206
206
  </div>
@@ -94,14 +94,14 @@ export function CommandBox({
94
94
  return (
95
95
  <div className={cn('flex flex-col gap-2', className)}>
96
96
  {title && (
97
- <div className="text-ods-text-primary text-[18px] font-medium">
97
+ <div className="text-ods-text-primary text-h4">
98
98
  {title}
99
99
  </div>
100
100
  )}
101
101
  <div className="bg-ods-bg border border-ods-border rounded-[6px] p-4">
102
102
  <div
103
103
  className={cn(
104
- 'text-ods-text-primary font-mono text-[14px] md:text-[16px] leading-relaxed break-all',
104
+ 'text-ods-text-primary text-code break-all',
105
105
  lineClampClass,
106
106
  commandClassName
107
107
  )}
@@ -66,10 +66,10 @@ export function EntitySummaryEditor({
66
66
  />
67
67
  )}
68
68
  </div>
69
- <p className="text-xs text-ods-text-secondary mt-1">{helperText}</p>
69
+ <p className="text-h6 text-ods-text-secondary mt-1">{helperText}</p>
70
70
  </div>
71
71
  <div
72
- className="rounded-lg border border-ods-border bg-[#1a1a1a] overflow-hidden"
72
+ className="rounded-lg border border-ods-border bg-ods-card overflow-hidden"
73
73
  style={{ minHeight: `${minHeight}px` }}
74
74
  >
75
75
  <Textarea
@@ -78,7 +78,7 @@ export function EntitySummaryEditor({
78
78
  onChange={(e) => onSummaryChange(e.target.value)}
79
79
  placeholder={placeholder}
80
80
  disabled={disabled}
81
- className="h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 font-mono text-sm"
81
+ className="h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 text-code"
82
82
  style={{ minHeight: `${minHeight}px`, lineHeight: '1.6' }}
83
83
  />
84
84
  </div>
@@ -391,7 +391,7 @@ function renderUnifiedUI(state: UnifiedState, handlers: {
391
391
  <div
392
392
  className="absolute z-10 bottom-4 left-4"
393
393
  >
394
- <Badge variant="secondary" className="bg-black/70 text-white backdrop-blur-sm">
394
+ <Badge variant="secondary" className="bg-ods-overlay text-ods-text-on-dark backdrop-blur-sm">
395
395
  Tap twice to click
396
396
  </Badge>
397
397
  </div>
@@ -429,10 +429,10 @@ function renderUnifiedUI(state: UnifiedState, handlers: {
429
429
  {showSkeleton && (
430
430
  <div className="absolute inset-0 w-full h-full bg-ods-skeleton animate-pulse rounded-lg z-10 flex items-center justify-center">
431
431
  <div className="text-center">
432
- <div className="text-xl md:text-2xl font-['Azeret_Mono'] font-semibold text-ods-text-primary">
433
- Warming up <span className="text-[var(--ods-open-yellow-base)]">Fae</span> and <span className="text-[var(--ods-open-yellow-base)]">Mingo</span>
432
+ <div className="text-h2 text-ods-text-primary">
433
+ Warming up <span className="text-ods-open-yellow">Fae</span> and <span className="text-ods-open-yellow">Mingo</span>
434
434
  </div>
435
- <div className="mt-2 text-sm text-ods-text-secondary">
435
+ <div className="mt-2 text-h6 text-ods-text-secondary">
436
436
  Loading AI Co-Pilots...
437
437
  </div>
438
438
  </div>
@@ -739,9 +739,9 @@ export const FigmaPrototypeViewer: React.FC<FigmaPrototypeViewerProps> = ({
739
739
  {/* Debug Panel */}
740
740
  {showDebugPanel && (
741
741
  <div className="mt-6 p-4 bg-ods-card border border-ods-border rounded-md">
742
- <h3 className="font-semibold text-ods-text-primary mb-3">🔍 Debug Panel</h3>
743
-
744
- <div className="grid grid-cols-2 gap-4 text-sm">
742
+ <h3 className="text-h3 text-ods-text-primary mb-3">🔍 Debug Panel</h3>
743
+
744
+ <div className="grid grid-cols-2 gap-4 text-h6">
745
745
  <div>
746
746
  <span className="text-ods-text-secondary">View Mode:</span>{' '}
747
747
  <span className="text-ods-text-primary font-mono">{viewMode}</span>
@@ -774,13 +774,13 @@ export const FigmaPrototypeViewer: React.FC<FigmaPrototypeViewerProps> = ({
774
774
  </div>
775
775
  </div>
776
776
 
777
- <div className="mt-3 text-xs text-ods-text-secondary">
777
+ <div className="mt-3 text-h6 text-ods-text-secondary">
778
778
  Margins: {scaling.marginX.toFixed(0)}px × {scaling.marginY.toFixed(0)}px
779
779
  </div>
780
780
 
781
781
  {/* Additional debug info */}
782
782
  <div className="mt-3 pt-3 border-t border-ods-border">
783
- <div className="text-xs text-ods-text-secondary space-y-1">
783
+ <div className="text-h6 text-ods-text-secondary space-y-1">
784
784
  <div>
785
785
  <span className="text-ods-text-secondary">File Key:</span>{' '}
786
786
  <span className="text-ods-text-primary font-mono">
@@ -69,7 +69,7 @@ const FilterCheckbox: React.FC<{
69
69
  aria-checked={checked}
70
70
  className={cn(
71
71
  "relative h-6 w-6 rounded-[6px] transition-all duration-150 shrink-0",
72
- checked ? "bg-ods-accent" : "bg-ods-bg-secondary",
72
+ checked ? "bg-ods-accent" : "bg-ods-bg-surface",
73
73
  !checked && "border-2 border-ods-border",
74
74
  disabled && "opacity-50",
75
75
  className
@@ -423,7 +423,7 @@ export const FiltersDropdown: React.FC<FiltersDropdownProps> = ({
423
423
  onClick={() => handleToggleOption(section.id, option.id, section.type)}
424
424
  className={cn(
425
425
  "flex items-center gap-[var(--spacing-system-s)] p-[var(--spacing-system-s)] w-full text-left",
426
- isSelected ? "bg-ods-bg-secondary" : "bg-ods-bg",
426
+ isSelected ? "bg-ods-bg-surface" : "bg-ods-bg",
427
427
  !isLast && "border-b border-ods-border",
428
428
  "hover:bg-ods-bg-hover transition-colors"
429
429
  )}
@@ -34,10 +34,10 @@ export function HighlightConfigSection({
34
34
  className = '',
35
35
  }: HighlightConfigSectionProps) {
36
36
  return (
37
- <div className={`space-y-3 p-4 bg-[#1a1a1a] rounded-lg border border-ods-border ${className}`}>
37
+ <div className={`space-y-3 p-4 bg-ods-card rounded-lg border border-ods-border ${className}`}>
38
38
  <div className="flex items-center gap-4">
39
39
  <div className="flex-1">
40
- <Label className="text-sm">Target Duration</Label>
40
+ <Label className="text-h6">Target Duration</Label>
41
41
  <Select
42
42
  value={targetDurationSeconds.toString()}
43
43
  onValueChange={(value) => onTargetDurationChange(parseInt(value))}
@@ -64,7 +64,7 @@ export function HighlightConfigSection({
64
64
  disabled={disabled}
65
65
  className="h-4 w-4 rounded border-ods-border bg-ods-bg text-ods-accent focus:ring-ods-accent"
66
66
  />
67
- <Label htmlFor="skipSubtitleBurning" className="text-sm cursor-pointer">
67
+ <Label htmlFor="skipSubtitleBurning" className="text-h6 cursor-pointer">
68
68
  Skip subtitle burning
69
69
  </Label>
70
70
  </div>
@@ -197,7 +197,7 @@ export function HighlightVideoCombinedSection({
197
197
  <AIGeneratedBadge />
198
198
  )}
199
199
  {highlightVideoDurationMs && (
200
- <Badge variant="outline" className="text-xs">
200
+ <Badge variant="outline" className="text-h6">
201
201
  {formatDuration(highlightVideoDurationMs)}
202
202
  </Badge>
203
203
  )}
@@ -224,7 +224,7 @@ export function HighlightVideoCombinedSection({
224
224
  onDelete,
225
225
  })
226
226
  ) : (
227
- <p className="text-sm text-ods-text-secondary italic">
227
+ <p className="text-h6 text-ods-text-secondary italic">
228
228
  {emptyMessage}
229
229
  </p>
230
230
  )}
@@ -84,7 +84,7 @@ export function HighlightVideoPreview({
84
84
  <AIGeneratedBadge />
85
85
  )}
86
86
  {highlightVideoDurationMs && (
87
- <Badge variant="outline" className="text-xs">
87
+ <Badge variant="outline" className="text-h6">
88
88
  {formatDuration(highlightVideoDurationMs)}
89
89
  </Badge>
90
90
  )}
@@ -111,7 +111,7 @@ export function HighlightVideoPreview({
111
111
  onDelete,
112
112
  })
113
113
  ) : (
114
- <p className="text-sm text-ods-text-secondary italic">
114
+ <p className="text-h6 text-ods-text-secondary italic">
115
115
  {emptyMessage}
116
116
  </p>
117
117
  )}
@@ -130,16 +130,16 @@ export function HighlightVideoSection({
130
130
  return (
131
131
  <div className={`space-y-4 ${className}`}>
132
132
  {/* Highlight Video Configuration */}
133
- <div className="space-y-3 p-4 bg-ods-background-secondary rounded-lg border border-ods-border">
133
+ <div className="space-y-3 p-4 bg-ods-card rounded-lg border border-ods-border">
134
134
  <div className="flex items-center gap-4">
135
135
  <div className="flex-1">
136
- <Label className="text-sm">Target Duration</Label>
136
+ <Label className="text-h6">Target Duration</Label>
137
137
  <Select
138
138
  value={targetDurationSeconds.toString()}
139
139
  onValueChange={(value) => onTargetDurationChange(parseInt(value))}
140
140
  disabled={disabled}
141
141
  >
142
- <SelectTrigger className="bg-ods-background-tertiary mt-1">
142
+ <SelectTrigger className="bg-ods-bg-surface mt-1">
143
143
  <SelectValue />
144
144
  </SelectTrigger>
145
145
  <SelectContent className="bg-ods-card">
@@ -158,9 +158,9 @@ export function HighlightVideoSection({
158
158
  checked={skipSubtitleBurning}
159
159
  onChange={(e) => onSkipSubtitleBurningChange(e.target.checked)}
160
160
  disabled={disabled}
161
- className="h-4 w-4 rounded border-ods-border bg-ods-background-tertiary text-ods-accent focus:ring-ods-accent"
161
+ className="h-4 w-4 rounded border-ods-border bg-ods-bg-surface text-ods-accent focus:ring-ods-accent"
162
162
  />
163
- <Label htmlFor="skipSubtitleBurning" className="text-sm cursor-pointer">
163
+ <Label htmlFor="skipSubtitleBurning" className="text-h6 cursor-pointer">
164
164
  Skip subtitle burning
165
165
  </Label>
166
166
  </div>
@@ -199,7 +199,7 @@ export function HighlightVideoSection({
199
199
  <AIGeneratedBadge />
200
200
  )}
201
201
  {highlightVideoDurationMs && (
202
- <Badge variant="outline" className="text-xs">
202
+ <Badge variant="outline" className="text-h6">
203
203
  {formatDuration(highlightVideoDurationMs)}
204
204
  </Badge>
205
205
  )}
@@ -217,7 +217,7 @@ export function HighlightVideoSection({
217
217
  </div>
218
218
 
219
219
  {uploadError && (
220
- <p className="text-sm text-ods-attention-red-error">{uploadError}</p>
220
+ <p className="text-h6 text-ods-error">{uploadError}</p>
221
221
  )}
222
222
 
223
223
  {highlightVideoUrl ? (
@@ -243,7 +243,7 @@ export function HighlightVideoSection({
243
243
  className="absolute top-2 right-2 p-1.5 bg-black/60 hover:bg-black/80 rounded-full transition-colors"
244
244
  >
245
245
  <span className="sr-only">Delete</span>
246
- <svg className="h-4 w-4 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
246
+ <svg className="h-4 w-4 text-ods-text-on-dark" fill="none" viewBox="0 0 24 24" stroke="currentColor">
247
247
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M6 18L18 6M6 6l12 12" />
248
248
  </svg>
249
249
  </button>
@@ -251,7 +251,7 @@ export function HighlightVideoSection({
251
251
  </div>
252
252
  )
253
253
  ) : (
254
- <p className="text-sm text-ods-text-secondary italic">
254
+ <p className="text-h6 text-ods-text-secondary italic">
255
255
  No highlight video yet. Use AI generation above or upload manually.
256
256
  </p>
257
257
  )}
@@ -129,7 +129,7 @@ export function MediaGalleryManager({
129
129
  >
130
130
  {/* Drag Handle */}
131
131
  <div className="absolute top-2 left-2 opacity-0 group-hover:opacity-100 transition-opacity cursor-move z-10">
132
- <GripVertical className="h-4 w-4 text-white drop-shadow" />
132
+ <GripVertical className="h-4 w-4 text-ods-text-on-dark drop-shadow" />
133
133
  </div>
134
134
 
135
135
  {/* Delete Button */}
@@ -140,12 +140,12 @@ export function MediaGalleryManager({
140
140
  size="small-legacy"
141
141
  onClick={() => handleDeleteMedia(index)}
142
142
  disabled={isDeleting}
143
- className="h-8 w-8 p-0 bg-red-500 hover:bg-red-600 border-red-500"
143
+ className="h-8 w-8 p-0 bg-ods-error hover:bg-ods-error-hover border-ods-error"
144
144
  >
145
145
  {isDeleting ? (
146
- <Loader2 className="h-4 w-4 animate-spin text-white" />
146
+ <Loader2 className="h-4 w-4 animate-spin text-ods-text-on-dark" />
147
147
  ) : (
148
- <Trash2 className="h-4 w-4 text-white" />
148
+ <Trash2 className="h-4 w-4 text-ods-text-on-dark" />
149
149
  )}
150
150
  </Button>
151
151
  </div>
@@ -178,12 +178,12 @@ export function MediaGalleryManager({
178
178
  ) : (
179
179
  <ImageIcon className="h-4 w-4 text-ods-text-secondary" />
180
180
  )}
181
- <span className="text-sm font-medium text-ods-text-primary capitalize">
181
+ <span className="text-h6 text-ods-text-primary capitalize">
182
182
  {mediaItem.media_type}
183
183
  </span>
184
184
  </div>
185
185
  {mediaItem.title && (
186
- <p className="text-sm text-ods-text-secondary truncate">
186
+ <p className="text-h6 text-ods-text-secondary truncate">
187
187
  {mediaItem.title}
188
188
  </p>
189
189
  )}
@@ -205,13 +205,13 @@ export function MediaGalleryManager({
205
205
  )}
206
206
  </div>
207
207
  <div>
208
- <h3 className="font-['DM_Sans'] font-semibold text-ods-text-primary mb-1">
208
+ <h3 className="text-h3 text-ods-text-primary mb-1">
209
209
  {isUploading ? 'Uploading...' : 'Upload Media'}
210
210
  </h3>
211
- <p className="text-sm text-ods-text-secondary">
211
+ <p className="text-h6 text-ods-text-secondary">
212
212
  Drag and drop or click to select images and videos
213
213
  </p>
214
- <p className="text-xs text-ods-text-secondary mt-1">
214
+ <p className="text-h6 text-ods-text-secondary mt-1">
215
215
  Maximum file size: 50MB
216
216
  </p>
217
217
  </div>
@@ -221,7 +221,7 @@ export function MediaGalleryManager({
221
221
  onClick={() => fileInputRef.current?.click()}
222
222
  disabled={isUploading}
223
223
  leftIcon={<Plus className="h-4 w-4" />}
224
- className="font-['DM_Sans'] text-[16px] font-bold"
224
+ className="text-h6 font-bold"
225
225
  >
226
226
  {isUploading ? 'Uploading...' : 'Select Files'}
227
227
  </Button>
@@ -241,20 +241,20 @@ export function MediaGalleryManager({
241
241
  {media.length === 0 ? (
242
242
  <div className="text-center py-8">
243
243
  <ImageIcon className="h-12 w-12 text-ods-text-secondary mx-auto mb-4" />
244
- <h3 className="font-['DM_Sans'] font-semibold text-ods-text-primary mb-2">
244
+ <h3 className="text-h3 text-ods-text-primary mb-2">
245
245
  No media uploaded yet
246
246
  </h3>
247
- <p className="text-sm text-ods-text-secondary">
247
+ <p className="text-h6 text-ods-text-secondary">
248
248
  Upload your first image or video to get started
249
249
  </p>
250
250
  </div>
251
251
  ) : (
252
252
  <div>
253
253
  <div className="flex items-center justify-between mb-4">
254
- <h3 className="font-['DM_Sans'] font-semibold text-ods-text-primary">
254
+ <h3 className="text-h3 text-ods-text-primary">
255
255
  Media Gallery ({media.length})
256
256
  </h3>
257
- <p className="text-xs text-ods-text-secondary">
257
+ <p className="text-h6 text-ods-text-secondary">
258
258
  Drag to reorder
259
259
  </p>
260
260
  </div>
@@ -57,7 +57,7 @@ export function OGEditorPreview({
57
57
  {/* SEO Title & Keywords - Same Row */}
58
58
  <div className="grid grid-cols-1 lg:grid-cols-2 gap-4">
59
59
  <div className="space-y-2">
60
- <Label className="font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary">
60
+ <Label className="text-h6 text-ods-text-primary">
61
61
  SEO Title
62
62
  </Label>
63
63
  <Input
@@ -70,7 +70,7 @@ export function OGEditorPreview({
70
70
  </div>
71
71
 
72
72
  <div className="space-y-2">
73
- <Label className="font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary">
73
+ <Label className="text-h6 text-ods-text-primary">
74
74
  SEO Keywords
75
75
  </Label>
76
76
  <Input
@@ -86,7 +86,7 @@ export function OGEditorPreview({
86
86
  {/* SEO Description & OG Image - Same Row */}
87
87
  <div className="grid grid-cols-1 lg:grid-cols-2 gap-4">
88
88
  <div className="space-y-2 flex flex-col h-full">
89
- <Label className="font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary">
89
+ <Label className="text-h6 text-ods-text-primary">
90
90
  SEO Description
91
91
  </Label>
92
92
  <Textarea
@@ -100,7 +100,7 @@ export function OGEditorPreview({
100
100
  </div>
101
101
 
102
102
  <div className="space-y-2 flex flex-col h-full">
103
- <Label className="font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary">
103
+ <Label className="text-h6 text-ods-text-primary">
104
104
  OG Image
105
105
  </Label>
106
106
  <div className="flex-1">
@@ -60,7 +60,7 @@ export function OSTypeBadgeGroup({
60
60
  />
61
61
  ))}
62
62
  {remainingCount > 0 && (
63
- <span className="text-ods-text-secondary text-sm font-medium">
63
+ <span className="text-ods-text-secondary text-h6">
64
64
  +{remainingCount} more
65
65
  </span>
66
66
  )}
@@ -43,7 +43,7 @@ export const OSTypeBadge: React.FC<OSTypeBadgeProps> = ({
43
43
  className = '',
44
44
  iconOnly = false,
45
45
  iconSize = 'w-4 h-4',
46
- iconColor = '#888888',
46
+ iconColor = 'var(--color-text-secondary)',
47
47
  labelOnly = false,
48
48
  rightIcon = null
49
49
  }) => {
@@ -74,7 +74,7 @@ export const OSTypeBadge: React.FC<OSTypeBadgeProps> = ({
74
74
  }
75
75
 
76
76
  return (
77
- <div className={cn("flex items-center gap-1 text-ods-text-primary text-[14px] leading-[20px] md:text-[18px] md:leading-[24px]", className)}>
77
+ <div className={cn("flex items-center gap-1 text-ods-text-primary text-h4", className)}>
78
78
  {IconComponent && <IconComponent className={iconSize} color={iconColor} />}
79
79
  {label}
80
80
  {rightIcon && rightIcon}
@@ -23,17 +23,17 @@ const sizeClasses = {
23
23
  xs: {
24
24
  container: 'gap-1 px-1.5 py-0.5',
25
25
  icon: 'h-3 w-3',
26
- text: 'text-[10px]'
26
+ text: 'text-h6'
27
27
  },
28
28
  sm: {
29
29
  container: 'gap-1.5 px-2 py-1',
30
30
  icon: 'h-4 w-4',
31
- text: 'text-[11px]'
31
+ text: 'text-h6'
32
32
  },
33
33
  md: {
34
34
  container: 'gap-2 px-2.5 py-1.5',
35
35
  icon: 'h-5 w-5',
36
- text: 'text-[12px]'
36
+ text: 'text-h6'
37
37
  }
38
38
  };
39
39
 
@@ -142,7 +142,7 @@ export function PlatformBadge({
142
142
  colors.bg,
143
143
  colors.border,
144
144
  colors.text,
145
- 'font-["DM_Sans"] font-medium',
145
+ 'font-body font-medium',
146
146
  className
147
147
  )}
148
148
  >