noecosystem-design 0.1.0

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 (653) hide show
  1. package/.editorconfig +12 -0
  2. package/.github/CODEOWNERS +10 -0
  3. package/.github/dependabot.yml +12 -0
  4. package/.github/pull_request_template.md +17 -0
  5. package/.github/workflows/ci.yml +173 -0
  6. package/.github/workflows/security.yml +40 -0
  7. package/.mcp.json +8 -0
  8. package/.node-version +1 -0
  9. package/AGENTS.md +62 -0
  10. package/CONTRIBUTING.md +9 -0
  11. package/README.md +48 -0
  12. package/SECURITY.md +7 -0
  13. package/apps/showcase/index.html +28 -0
  14. package/apps/showcase/package.json +30 -0
  15. package/apps/showcase/src/app.css +8 -0
  16. package/apps/showcase/src/app.tsx +10 -0
  17. package/apps/showcase/src/catalog/agent-composer-preview.tsx +17 -0
  18. package/apps/showcase/src/catalog/catalog-index.tsx +2676 -0
  19. package/apps/showcase/src/catalog/catalog-shell.browser.test.tsx +73 -0
  20. package/apps/showcase/src/catalog/catalog-shell.tsx +506 -0
  21. package/apps/showcase/src/main.tsx +17 -0
  22. package/apps/showcase/tsconfig.json +11 -0
  23. package/apps/showcase/vite.config.ts +15 -0
  24. package/apps/storybook/.storybook/main.ts +21 -0
  25. package/apps/storybook/.storybook/preview.tsx +87 -0
  26. package/apps/storybook/.storybook/vitest.setup.ts +26 -0
  27. package/apps/storybook/README.md +5 -0
  28. package/apps/storybook/package.json +31 -0
  29. package/apps/storybook/stories/AgentStates.stories.tsx +72 -0
  30. package/apps/storybook/stories/Bidi.stories.tsx +31 -0
  31. package/apps/storybook/stories/Button.stories.tsx +19 -0
  32. package/apps/storybook/stories/Surfaces.stories.tsx +28 -0
  33. package/apps/storybook/stories/catalog/about-page.stories.tsx +18 -0
  34. package/apps/storybook/stories/catalog/activity-feed.stories.tsx +50 -0
  35. package/apps/storybook/stories/catalog/activity-gauge.stories.tsx +18 -0
  36. package/apps/storybook/stories/catalog/agent-composer.stories.tsx +49 -0
  37. package/apps/storybook/stories/catalog/agent-message.stories.tsx +37 -0
  38. package/apps/storybook/stories/catalog/agent-plan.stories.tsx +35 -0
  39. package/apps/storybook/stories/catalog/agent-workspace.stories.tsx +60 -0
  40. package/apps/storybook/stories/catalog/alert.stories.tsx +41 -0
  41. package/apps/storybook/stories/catalog/app-frame.stories.tsx +47 -0
  42. package/apps/storybook/stories/catalog/approval-request.stories.tsx +30 -0
  43. package/apps/storybook/stories/catalog/avatar.stories.tsx +18 -0
  44. package/apps/storybook/stories/catalog/badge-group.stories.tsx +18 -0
  45. package/apps/storybook/stories/catalog/badge.stories.tsx +18 -0
  46. package/apps/storybook/stories/catalog/banner.stories.tsx +18 -0
  47. package/apps/storybook/stories/catalog/bidi-text.stories.tsx +47 -0
  48. package/apps/storybook/stories/catalog/blog-index-page.stories.tsx +18 -0
  49. package/apps/storybook/stories/catalog/blog-post-page.stories.tsx +18 -0
  50. package/apps/storybook/stories/catalog/blog-section.stories.tsx +18 -0
  51. package/apps/storybook/stories/catalog/bottom-navigation.stories.tsx +27 -0
  52. package/apps/storybook/stories/catalog/button-group.stories.tsx +18 -0
  53. package/apps/storybook/stories/catalog/button.stories.tsx +27 -0
  54. package/apps/storybook/stories/catalog/calendar.stories.tsx +47 -0
  55. package/apps/storybook/stories/catalog/card.stories.tsx +40 -0
  56. package/apps/storybook/stories/catalog/careers-section.stories.tsx +18 -0
  57. package/apps/storybook/stories/catalog/carousel.stories.tsx +18 -0
  58. package/apps/storybook/stories/catalog/chart-frame.stories.tsx +34 -0
  59. package/apps/storybook/stories/catalog/chart.stories.tsx +43 -0
  60. package/apps/storybook/stories/catalog/checkbox.stories.tsx +18 -0
  61. package/apps/storybook/stories/catalog/code-and-terminal.stories.tsx +39 -0
  62. package/apps/storybook/stories/catalog/color-picker.stories.tsx +18 -0
  63. package/apps/storybook/stories/catalog/command-menu.stories.tsx +18 -0
  64. package/apps/storybook/stories/catalog/contact-page.stories.tsx +18 -0
  65. package/apps/storybook/stories/catalog/contact-section.stories.tsx +18 -0
  66. package/apps/storybook/stories/catalog/content-divider.stories.tsx +18 -0
  67. package/apps/storybook/stories/catalog/content-section.stories.tsx +18 -0
  68. package/apps/storybook/stories/catalog/context-menu.stories.tsx +66 -0
  69. package/apps/storybook/stories/catalog/credit-card.stories.tsx +18 -0
  70. package/apps/storybook/stories/catalog/cta-section.stories.tsx +18 -0
  71. package/apps/storybook/stories/catalog/dashboard-01.stories.tsx +28 -0
  72. package/apps/storybook/stories/catalog/dashboard-02.stories.tsx +28 -0
  73. package/apps/storybook/stories/catalog/dashboard-shell.stories.tsx +65 -0
  74. package/apps/storybook/stories/catalog/data-list.stories.tsx +37 -0
  75. package/apps/storybook/stories/catalog/data-table.stories.tsx +51 -0
  76. package/apps/storybook/stories/catalog/date-picker.stories.tsx +31 -0
  77. package/apps/storybook/stories/catalog/dialog.stories.tsx +68 -0
  78. package/apps/storybook/stories/catalog/direction-provider.stories.tsx +36 -0
  79. package/apps/storybook/stories/catalog/drawer.stories.tsx +58 -0
  80. package/apps/storybook/stories/catalog/dropdown.stories.tsx +67 -0
  81. package/apps/storybook/stories/catalog/email-template.stories.tsx +18 -0
  82. package/apps/storybook/stories/catalog/empty-state.stories.tsx +19 -0
  83. package/apps/storybook/stories/catalog/error-state.stories.tsx +19 -0
  84. package/apps/storybook/stories/catalog/fab.stories.tsx +22 -0
  85. package/apps/storybook/stories/catalog/faq-page.stories.tsx +18 -0
  86. package/apps/storybook/stories/catalog/faq-section.stories.tsx +18 -0
  87. package/apps/storybook/stories/catalog/feature-section.stories.tsx +18 -0
  88. package/apps/storybook/stories/catalog/featured-icon.stories.tsx +45 -0
  89. package/apps/storybook/stories/catalog/field.stories.tsx +35 -0
  90. package/apps/storybook/stories/catalog/file-uploader.stories.tsx +18 -0
  91. package/apps/storybook/stories/catalog/filter-bar.stories.tsx +33 -0
  92. package/apps/storybook/stories/catalog/footer.stories.tsx +18 -0
  93. package/apps/storybook/stories/catalog/forgot-password-page.stories.tsx +18 -0
  94. package/apps/storybook/stories/catalog/gradient-picker.stories.tsx +18 -0
  95. package/apps/storybook/stories/catalog/header-navigation.stories.tsx +46 -0
  96. package/apps/storybook/stories/catalog/hero-header.stories.tsx +36 -0
  97. package/apps/storybook/stories/catalog/icon-system.stories.tsx +48 -0
  98. package/apps/storybook/stories/catalog/illustration.stories.tsx +18 -0
  99. package/apps/storybook/stories/catalog/image-picker.stories.tsx +18 -0
  100. package/apps/storybook/stories/catalog/informational-page-01.stories.tsx +18 -0
  101. package/apps/storybook/stories/catalog/informational-page-02.stories.tsx +18 -0
  102. package/apps/storybook/stories/catalog/inline-cta.stories.tsx +18 -0
  103. package/apps/storybook/stories/catalog/input.stories.tsx +21 -0
  104. package/apps/storybook/stories/catalog/landing-page.stories.tsx +28 -0
  105. package/apps/storybook/stories/catalog/legal-page.stories.tsx +18 -0
  106. package/apps/storybook/stories/catalog/login-page.stories.tsx +42 -0
  107. package/apps/storybook/stories/catalog/marketing-404-page.stories.tsx +18 -0
  108. package/apps/storybook/stories/catalog/marketing-header.stories.tsx +35 -0
  109. package/apps/storybook/stories/catalog/menu.stories.tsx +46 -0
  110. package/apps/storybook/stories/catalog/messaging.stories.tsx +33 -0
  111. package/apps/storybook/stories/catalog/metric-card.stories.tsx +20 -0
  112. package/apps/storybook/stories/catalog/metrics-section.stories.tsx +18 -0
  113. package/apps/storybook/stories/catalog/mobile-screen.stories.tsx +56 -0
  114. package/apps/storybook/stories/catalog/multi-select.stories.tsx +18 -0
  115. package/apps/storybook/stories/catalog/newsletter.stories.tsx +18 -0
  116. package/apps/storybook/stories/catalog/not-found.stories.tsx +30 -0
  117. package/apps/storybook/stories/catalog/notification.stories.tsx +18 -0
  118. package/apps/storybook/stories/catalog/page-header.stories.tsx +37 -0
  119. package/apps/storybook/stories/catalog/pagination.stories.tsx +27 -0
  120. package/apps/storybook/stories/catalog/pie-chart.stories.tsx +18 -0
  121. package/apps/storybook/stories/catalog/pricing-page.stories.tsx +18 -0
  122. package/apps/storybook/stories/catalog/pricing-section.stories.tsx +18 -0
  123. package/apps/storybook/stories/catalog/progress-indicator.stories.tsx +18 -0
  124. package/apps/storybook/stories/catalog/progress-steps.stories.tsx +33 -0
  125. package/apps/storybook/stories/catalog/qr-code.stories.tsx +18 -0
  126. package/apps/storybook/stories/catalog/radar-chart.stories.tsx +18 -0
  127. package/apps/storybook/stories/catalog/radio-group.stories.tsx +18 -0
  128. package/apps/storybook/stories/catalog/rating.stories.tsx +18 -0
  129. package/apps/storybook/stories/catalog/rich-text-editor.stories.tsx +18 -0
  130. package/apps/storybook/stories/catalog/run-inspector.stories.tsx +23 -0
  131. package/apps/storybook/stories/catalog/section-footer.stories.tsx +18 -0
  132. package/apps/storybook/stories/catalog/section-header.stories.tsx +31 -0
  133. package/apps/storybook/stories/catalog/select.stories.tsx +18 -0
  134. package/apps/storybook/stories/catalog/settings-01.stories.tsx +24 -0
  135. package/apps/storybook/stories/catalog/settings-02.stories.tsx +24 -0
  136. package/apps/storybook/stories/catalog/settings-page.stories.tsx +48 -0
  137. package/apps/storybook/stories/catalog/sidebar-navigation.stories.tsx +40 -0
  138. package/apps/storybook/stories/catalog/sign-in-form.stories.tsx +28 -0
  139. package/apps/storybook/stories/catalog/sign-up-page.stories.tsx +18 -0
  140. package/apps/storybook/stories/catalog/skeleton.stories.tsx +21 -0
  141. package/apps/storybook/stories/catalog/slider.stories.tsx +18 -0
  142. package/apps/storybook/stories/catalog/social-button.stories.tsx +18 -0
  143. package/apps/storybook/stories/catalog/social-proof.stories.tsx +18 -0
  144. package/apps/storybook/stories/catalog/spinner.stories.tsx +15 -0
  145. package/apps/storybook/stories/catalog/store-button.stories.tsx +18 -0
  146. package/apps/storybook/stories/catalog/tabs.stories.tsx +38 -0
  147. package/apps/storybook/stories/catalog/tags.stories.tsx +18 -0
  148. package/apps/storybook/stories/catalog/team-page.stories.tsx +18 -0
  149. package/apps/storybook/stories/catalog/team-section.stories.tsx +18 -0
  150. package/apps/storybook/stories/catalog/testimonial-section.stories.tsx +18 -0
  151. package/apps/storybook/stories/catalog/textarea.stories.tsx +22 -0
  152. package/apps/storybook/stories/catalog/toggle.stories.tsx +18 -0
  153. package/apps/storybook/stories/catalog/tool-call.stories.tsx +40 -0
  154. package/apps/storybook/stories/catalog/tooltip.stories.tsx +30 -0
  155. package/apps/storybook/stories/catalog/tree-view.stories.tsx +18 -0
  156. package/apps/storybook/stories/catalog/utility-button.stories.tsx +60 -0
  157. package/apps/storybook/stories/catalog/verification-code.stories.tsx +18 -0
  158. package/apps/storybook/stories/catalog/verification-page.stories.tsx +18 -0
  159. package/apps/storybook/stories/catalog/video-player.stories.tsx +18 -0
  160. package/apps/storybook/stories/catalog/workflow-canvas.stories.tsx +45 -0
  161. package/apps/storybook/stories/catalog/workflow-node.stories.tsx +24 -0
  162. package/apps/storybook/vitest.config.ts +39 -0
  163. package/apps/web/README.md +13 -0
  164. package/apps/web/app.js +483 -0
  165. package/apps/web/favicon.svg +6 -0
  166. package/apps/web/index.html +205 -0
  167. package/apps/web/styles.css +1823 -0
  168. package/artifacts/original-delivery/NOE-Design-System-Delivery/README-FIRST.txt +20 -0
  169. package/artifacts/original-delivery/NOE-Design-System-Delivery/SHA256SUMS.txt +11 -0
  170. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-delivery-metadata.json +25 -0
  171. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-evidence.zip +0 -0
  172. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-execution-report.md +60 -0
  173. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-manifest.json +106 -0
  174. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-source.tar.gz +0 -0
  175. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-source.zip +0 -0
  176. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system.bundle +0 -0
  177. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-evidence-index.html +38 -0
  178. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-verification-status.txt +15 -0
  179. package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-visual-contact-sheet.png +0 -0
  180. package/artifacts/original-delivery/noe-design-system-evidence/README.txt +13 -0
  181. package/artifacts/original-delivery/noe-design-system-evidence/evidence/browser-console.json +4 -0
  182. package/artifacts/original-delivery/noe-design-system-evidence/evidence/layout-audit.json +4 -0
  183. package/artifacts/original-delivery/noe-design-system-evidence/evidence/review/contact-sheet.png +0 -0
  184. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-1024.png +0 -0
  185. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-1280.png +0 -0
  186. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-1440.png +0 -0
  187. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-390.png +0 -0
  188. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-768.png +0 -0
  189. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-1024.png +0 -0
  190. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-1280.png +0 -0
  191. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-1440.png +0 -0
  192. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-390.png +0 -0
  193. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-768.png +0 -0
  194. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-1024.png +0 -0
  195. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-1280.png +0 -0
  196. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-1440.png +0 -0
  197. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-390.png +0 -0
  198. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-768.png +0 -0
  199. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-1024.png +0 -0
  200. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-1280.png +0 -0
  201. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-1440.png +0 -0
  202. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-390.png +0 -0
  203. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-768.png +0 -0
  204. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-pseudo-ltr-1024.png +0 -0
  205. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-pseudo-rtl-1024.png +0 -0
  206. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/consumer-en-light-1440.png +0 -0
  207. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/consumer-fa-dark-1440.png +0 -0
  208. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/dashboard-en-light-1440.png +0 -0
  209. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/dashboard-fa-dark-1440.png +0 -0
  210. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/workflow-en-light-1440.png +0 -0
  211. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/workflow-fa-dark-1440.png +0 -0
  212. package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots-manifest.json +203 -0
  213. package/artifacts/original-delivery/noe-design-system-evidence/evidence/verification-result.json +165 -0
  214. package/artifacts/original-delivery/noe-design-system-evidence/evidence/verification-result.txt +32 -0
  215. package/artifacts/original-delivery/noe-design-system-evidence/evidence/visual-index.html +1 -0
  216. package/artifacts/original-delivery/noe-design-system-evidence/noe-delivery-metadata.json +25 -0
  217. package/artifacts/original-delivery/noe-design-system-evidence/noe-design-system-execution-report.md +60 -0
  218. package/artifacts/original-delivery/noe-design-system-evidence/noe-design-system-manifest.json +106 -0
  219. package/artifacts/original-delivery/noe-design-system-evidence/noe-verification-status.txt +15 -0
  220. package/artifacts/original-delivery/noe-design-system.bundle +0 -0
  221. package/artifacts/original-delivery/source-evidence/verification-result.json +165 -0
  222. package/artifacts/original-delivery/source-evidence/verification-result.txt +32 -0
  223. package/artifacts/registry-consumer-report.json +153 -0
  224. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Black.woff +0 -0
  225. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Bold.woff +0 -0
  226. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-DemiBold.woff +0 -0
  227. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-ExtraBlack.woff +0 -0
  228. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-ExtraBold.woff +0 -0
  229. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Heavy.woff +0 -0
  230. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Light.woff +0 -0
  231. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Medium.woff +0 -0
  232. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Regular.woff +0 -0
  233. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Thin.woff +0 -0
  234. package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-UltraLight.woff +0 -0
  235. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Black.woff2 +0 -0
  236. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Bold.woff2 +0 -0
  237. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-DemiBold.woff2 +0 -0
  238. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-ExtraBlack.woff2 +0 -0
  239. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-ExtraBold.woff2 +0 -0
  240. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Heavy.woff2 +0 -0
  241. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Light.woff2 +0 -0
  242. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Medium.woff2 +0 -0
  243. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Regular.woff2 +0 -0
  244. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Thin.woff2 +0 -0
  245. package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-UltraLight.woff2 +0 -0
  246. package/biome.json +170 -0
  247. package/components.json +23 -0
  248. package/docs/adr/0001-semantic-foundation.md +5 -0
  249. package/docs/adr/0002-locale-direction.md +5 -0
  250. package/docs/adr/0003-registry-mcp.md +5 -0
  251. package/docs/adr/0004-testing-evidence.md +5 -0
  252. package/docs/adr/0005-noe-package-namespace.md +9 -0
  253. package/docs/adr/0006-icons8-icon-policy.md +9 -0
  254. package/docs/adr/0007-registry-publication-contract.md +9 -0
  255. package/docs/adr/0008-capability-library-adapter-boundaries.md +16 -0
  256. package/docs/adr/0009-calendar-system-jalali.md +29 -0
  257. package/docs/adr/0010-canonical-manifest-ownership.md +29 -0
  258. package/docs/adr/0011-palette-graphite-governance.md +27 -0
  259. package/docs/adr/0012-persian-font-gating.md +25 -0
  260. package/docs/adr/0013-cinematic-token-exception.md +32 -0
  261. package/docs/design-system/README.md +16 -0
  262. package/docs/design-system/accessibility.md +20 -0
  263. package/docs/design-system/agent-guide.md +11 -0
  264. package/docs/design-system/agentic-ui.md +21 -0
  265. package/docs/design-system/architecture.md +40 -0
  266. package/docs/design-system/brand.md +59 -0
  267. package/docs/design-system/ci-cd.md +46 -0
  268. package/docs/design-system/components.md +88 -0
  269. package/docs/design-system/contributing.md +7 -0
  270. package/docs/design-system/foundations.md +40 -0
  271. package/docs/design-system/i18n.md +24 -0
  272. package/docs/design-system/inventory.md +389 -0
  273. package/docs/design-system/mcp.md +7 -0
  274. package/docs/design-system/motion.md +7 -0
  275. package/docs/design-system/noe-brand-audit.md +33 -0
  276. package/docs/design-system/registry.md +16 -0
  277. package/docs/design-system/rtl.md +27 -0
  278. package/docs/design-system/security.md +16 -0
  279. package/docs/design-system/testing.md +39 -0
  280. package/docs/design-system/tokens.md +38 -0
  281. package/docs/design-system/visual-qa.md +10 -0
  282. package/docs/superpowers/plans/2026-08-25-noe-design-system-development-ready.md +833 -0
  283. package/docs/superpowers/plans/2026-08-26-noe-complete-catalog.md +422 -0
  284. package/docs/superpowers/specs/2026-08-25-noe-design-system-development-ready-design.md +260 -0
  285. package/docs/superpowers/specs/2026-08-26-noe-complete-catalog-design.md +187 -0
  286. package/llms.txt +20 -0
  287. package/package.json +68 -0
  288. package/packages/ai-ui/package.json +15 -0
  289. package/packages/ai-ui/src/activity-feed.tsx +60 -0
  290. package/packages/ai-ui/src/agent-composer.tsx +54 -0
  291. package/packages/ai-ui/src/agent-message.tsx +50 -0
  292. package/packages/ai-ui/src/agent-plan.tsx +69 -0
  293. package/packages/ai-ui/src/agent-workspace.tsx +63 -0
  294. package/packages/ai-ui/src/approval-request.tsx +93 -0
  295. package/packages/ai-ui/src/index.ts +8 -0
  296. package/packages/ai-ui/src/run-inspector.tsx +54 -0
  297. package/packages/ai-ui/src/tool-call.tsx +71 -0
  298. package/packages/data-ui/package.json +16 -0
  299. package/packages/data-ui/src/activity-gauge.tsx +38 -0
  300. package/packages/data-ui/src/chart-frame.tsx +41 -0
  301. package/packages/data-ui/src/chart.tsx +131 -0
  302. package/packages/data-ui/src/dashboard-01.tsx +39 -0
  303. package/packages/data-ui/src/dashboard-02.tsx +33 -0
  304. package/packages/data-ui/src/dashboard-shell.tsx +56 -0
  305. package/packages/data-ui/src/data-table.tsx +99 -0
  306. package/packages/data-ui/src/filter-bar.tsx +28 -0
  307. package/packages/data-ui/src/index.ts +12 -0
  308. package/packages/data-ui/src/metric-card.tsx +43 -0
  309. package/packages/data-ui/src/pagination.tsx +67 -0
  310. package/packages/data-ui/src/pie-chart.tsx +38 -0
  311. package/packages/data-ui/src/radar-chart.tsx +38 -0
  312. package/packages/design-tokens/package.json +23 -0
  313. package/packages/design-tokens/src/base.css +255 -0
  314. package/packages/design-tokens/src/fonts/IRANYekanXFaNum-Bold.woff2 +0 -0
  315. package/packages/design-tokens/src/fonts/IRANYekanXFaNum-DemiBold.woff2 +0 -0
  316. package/packages/design-tokens/src/fonts/IRANYekanXFaNum-Medium.woff2 +0 -0
  317. package/packages/design-tokens/src/fonts/IRANYekanXFaNum-Regular.woff2 +0 -0
  318. package/packages/design-tokens/src/fonts/IRANYekanXVF.ttf +0 -0
  319. package/packages/design-tokens/src/fonts/README.md +13 -0
  320. package/packages/design-tokens/src/fonts.css +49 -0
  321. package/packages/design-tokens/src/index.test.ts +36 -0
  322. package/packages/design-tokens/src/index.ts +5 -0
  323. package/packages/design-tokens/src/palette.ts +27 -0
  324. package/packages/design-tokens/src/tailwind.css +3 -0
  325. package/packages/design-tokens/src/theme.css +67 -0
  326. package/packages/design-tokens/src/tokens.css +251 -0
  327. package/packages/design-tokens/src/tokens.json +275 -0
  328. package/packages/design-tokens/src/tokens.mjs +276 -0
  329. package/packages/i18n/package.json +13 -0
  330. package/packages/i18n/src/index.ts +17 -0
  331. package/packages/i18n/src/messages/en.json +116 -0
  332. package/packages/i18n/src/messages/fa.json +116 -0
  333. package/packages/i18n/src/runtime.d.mts +42 -0
  334. package/packages/i18n/src/runtime.mjs +113 -0
  335. package/packages/i18n/src/translate.test.ts +50 -0
  336. package/packages/i18n/src/translate.ts +29 -0
  337. package/packages/icons/package.json +12 -0
  338. package/packages/icons/src/adapters.tsx +167 -0
  339. package/packages/icons/src/index.tsx +103 -0
  340. package/packages/registry/README.md +7 -0
  341. package/packages/registry/catalog-index.json +1345 -0
  342. package/packages/registry/component-audit.json +1038 -0
  343. package/packages/registry/coss-adoption.json +281 -0
  344. package/packages/registry/docs-index.json +1881 -0
  345. package/packages/registry/manifest.json +11081 -0
  346. package/packages/registry/manifest.schema.json +135 -0
  347. package/packages/registry/package.json +10 -0
  348. package/packages/registry/r/activity-feed.json +67 -0
  349. package/packages/registry/r/agent-composer.json +79 -0
  350. package/packages/registry/r/agent-message.json +72 -0
  351. package/packages/registry/r/agent-plan.json +67 -0
  352. package/packages/registry/r/agent-workspace.json +67 -0
  353. package/packages/registry/r/alert.json +68 -0
  354. package/packages/registry/r/app-frame.json +67 -0
  355. package/packages/registry/r/approval-request.json +84 -0
  356. package/packages/registry/r/badge.json +68 -0
  357. package/packages/registry/r/bidi-text.json +70 -0
  358. package/packages/registry/r/bottom-navigation.json +67 -0
  359. package/packages/registry/r/button.json +83 -0
  360. package/packages/registry/r/calendar.json +97 -0
  361. package/packages/registry/r/card.json +67 -0
  362. package/packages/registry/r/chart-frame.json +67 -0
  363. package/packages/registry/r/chart.json +67 -0
  364. package/packages/registry/r/code-block.json +67 -0
  365. package/packages/registry/r/context-menu.json +81 -0
  366. package/packages/registry/r/dashboard-01.json +86 -0
  367. package/packages/registry/r/dashboard-02.json +84 -0
  368. package/packages/registry/r/dashboard-shell.json +67 -0
  369. package/packages/registry/r/data-list.json +67 -0
  370. package/packages/registry/r/data-table.json +72 -0
  371. package/packages/registry/r/date-picker.json +117 -0
  372. package/packages/registry/r/dialog.json +84 -0
  373. package/packages/registry/r/direction-provider.json +54 -0
  374. package/packages/registry/r/drawer.json +80 -0
  375. package/packages/registry/r/dropdown.json +78 -0
  376. package/packages/registry/r/empty-state.json +67 -0
  377. package/packages/registry/r/error-state.json +67 -0
  378. package/packages/registry/r/fab.json +80 -0
  379. package/packages/registry/r/featured-icon.json +71 -0
  380. package/packages/registry/r/filter-bar.json +69 -0
  381. package/packages/registry/r/gradient-picker.json +62 -0
  382. package/packages/registry/r/header-navigation.json +67 -0
  383. package/packages/registry/r/hero-header.json +63 -0
  384. package/packages/registry/r/icon-system.json +59 -0
  385. package/packages/registry/r/image-picker.json +62 -0
  386. package/packages/registry/r/inline-cta.json +73 -0
  387. package/packages/registry/r/input.json +73 -0
  388. package/packages/registry/r/landing-page.json +70 -0
  389. package/packages/registry/r/login-page.json +71 -0
  390. package/packages/registry/r/marketing-header.json +63 -0
  391. package/packages/registry/r/menu.json +74 -0
  392. package/packages/registry/r/messaging.json +69 -0
  393. package/packages/registry/r/metric-card.json +67 -0
  394. package/packages/registry/r/mobile-screen.json +67 -0
  395. package/packages/registry/r/not-found.json +63 -0
  396. package/packages/registry/r/page-header.json +67 -0
  397. package/packages/registry/r/pagination.json +91 -0
  398. package/packages/registry/r/progress-steps.json +69 -0
  399. package/packages/registry/r/run-inspector.json +72 -0
  400. package/packages/registry/r/section-header.json +67 -0
  401. package/packages/registry/r/settings-01.json +94 -0
  402. package/packages/registry/r/settings-02.json +99 -0
  403. package/packages/registry/r/settings-page.json +67 -0
  404. package/packages/registry/r/sidebar-navigation.json +67 -0
  405. package/packages/registry/r/sign-in-form.json +89 -0
  406. package/packages/registry/r/skeleton.json +67 -0
  407. package/packages/registry/r/spinner.json +67 -0
  408. package/packages/registry/r/tabs.json +69 -0
  409. package/packages/registry/r/textarea.json +73 -0
  410. package/packages/registry/r/tool-call.json +72 -0
  411. package/packages/registry/r/tooltip.json +73 -0
  412. package/packages/registry/r/utility-button.json +83 -0
  413. package/packages/registry/r/workflow-canvas.json +67 -0
  414. package/packages/registry/r/workflow-node.json +72 -0
  415. package/packages/registry/r-planned-backup/about-page.json +14 -0
  416. package/packages/registry/r-planned-backup/activity-gauge.json +14 -0
  417. package/packages/registry/r-planned-backup/avatar.json +14 -0
  418. package/packages/registry/r-planned-backup/badge-group.json +14 -0
  419. package/packages/registry/r-planned-backup/banner.json +14 -0
  420. package/packages/registry/r-planned-backup/blog-index-page.json +14 -0
  421. package/packages/registry/r-planned-backup/blog-post-page.json +14 -0
  422. package/packages/registry/r-planned-backup/blog-section.json +14 -0
  423. package/packages/registry/r-planned-backup/button-group.json +14 -0
  424. package/packages/registry/r-planned-backup/careers-section.json +14 -0
  425. package/packages/registry/r-planned-backup/carousel.json +14 -0
  426. package/packages/registry/r-planned-backup/checkbox.json +14 -0
  427. package/packages/registry/r-planned-backup/color-picker.json +14 -0
  428. package/packages/registry/r-planned-backup/command-menu.json +14 -0
  429. package/packages/registry/r-planned-backup/contact-page.json +14 -0
  430. package/packages/registry/r-planned-backup/contact-section.json +14 -0
  431. package/packages/registry/r-planned-backup/content-divider.json +14 -0
  432. package/packages/registry/r-planned-backup/content-section.json +14 -0
  433. package/packages/registry/r-planned-backup/credit-card.json +14 -0
  434. package/packages/registry/r-planned-backup/cta-section.json +14 -0
  435. package/packages/registry/r-planned-backup/email-template.json +14 -0
  436. package/packages/registry/r-planned-backup/faq-page.json +14 -0
  437. package/packages/registry/r-planned-backup/faq-section.json +14 -0
  438. package/packages/registry/r-planned-backup/feature-section.json +14 -0
  439. package/packages/registry/r-planned-backup/file-uploader.json +14 -0
  440. package/packages/registry/r-planned-backup/footer.json +14 -0
  441. package/packages/registry/r-planned-backup/forgot-password-page.json +14 -0
  442. package/packages/registry/r-planned-backup/illustration.json +14 -0
  443. package/packages/registry/r-planned-backup/informational-page-01.json +14 -0
  444. package/packages/registry/r-planned-backup/informational-page-02.json +14 -0
  445. package/packages/registry/r-planned-backup/legal-page.json +14 -0
  446. package/packages/registry/r-planned-backup/marketing-404-page.json +14 -0
  447. package/packages/registry/r-planned-backup/metrics-section.json +14 -0
  448. package/packages/registry/r-planned-backup/multi-select.json +14 -0
  449. package/packages/registry/r-planned-backup/newsletter.json +14 -0
  450. package/packages/registry/r-planned-backup/notification.json +14 -0
  451. package/packages/registry/r-planned-backup/pie-chart.json +14 -0
  452. package/packages/registry/r-planned-backup/pricing-page.json +14 -0
  453. package/packages/registry/r-planned-backup/pricing-section.json +14 -0
  454. package/packages/registry/r-planned-backup/progress-indicator.json +14 -0
  455. package/packages/registry/r-planned-backup/qr-code.json +14 -0
  456. package/packages/registry/r-planned-backup/radar-chart.json +14 -0
  457. package/packages/registry/r-planned-backup/radio-group.json +14 -0
  458. package/packages/registry/r-planned-backup/rating.json +14 -0
  459. package/packages/registry/r-planned-backup/rich-text-editor.json +14 -0
  460. package/packages/registry/r-planned-backup/section-footer.json +14 -0
  461. package/packages/registry/r-planned-backup/select.json +14 -0
  462. package/packages/registry/r-planned-backup/sign-up-page.json +14 -0
  463. package/packages/registry/r-planned-backup/slider.json +14 -0
  464. package/packages/registry/r-planned-backup/social-button.json +14 -0
  465. package/packages/registry/r-planned-backup/social-proof.json +14 -0
  466. package/packages/registry/r-planned-backup/store-button.json +14 -0
  467. package/packages/registry/r-planned-backup/tags.json +14 -0
  468. package/packages/registry/r-planned-backup/team-page.json +14 -0
  469. package/packages/registry/r-planned-backup/team-section.json +14 -0
  470. package/packages/registry/r-planned-backup/testimonial-section.json +14 -0
  471. package/packages/registry/r-planned-backup/toggle.json +14 -0
  472. package/packages/registry/r-planned-backup/tree-view.json +14 -0
  473. package/packages/registry/r-planned-backup/verification-code.json +14 -0
  474. package/packages/registry/r-planned-backup/verification-page.json +14 -0
  475. package/packages/registry/r-planned-backup/video-player.json +14 -0
  476. package/packages/registry/registry.json +1997 -0
  477. package/packages/registry/search-index.json +3942 -0
  478. package/packages/testing/package.json +9 -0
  479. package/packages/testing/src/index.mjs +10 -0
  480. package/packages/ui/package.json +26 -0
  481. package/packages/ui/src/about-page.tsx +19 -0
  482. package/packages/ui/src/alert.tsx +67 -0
  483. package/packages/ui/src/app-frame.tsx +63 -0
  484. package/packages/ui/src/avatar.tsx +19 -0
  485. package/packages/ui/src/badge-group.tsx +19 -0
  486. package/packages/ui/src/badge.tsx +35 -0
  487. package/packages/ui/src/banner.tsx +19 -0
  488. package/packages/ui/src/bidi.tsx +80 -0
  489. package/packages/ui/src/blog-index-page.tsx +19 -0
  490. package/packages/ui/src/blog-post-page.tsx +19 -0
  491. package/packages/ui/src/blog-section.tsx +19 -0
  492. package/packages/ui/src/bottom-navigation.tsx +60 -0
  493. package/packages/ui/src/button-group.tsx +19 -0
  494. package/packages/ui/src/button.browser.test.tsx +38 -0
  495. package/packages/ui/src/button.tsx +81 -0
  496. package/packages/ui/src/calendar-system.test.ts +103 -0
  497. package/packages/ui/src/calendar-system.ts +120 -0
  498. package/packages/ui/src/calendar.browser.test.tsx +52 -0
  499. package/packages/ui/src/calendar.tsx +339 -0
  500. package/packages/ui/src/card.tsx +63 -0
  501. package/packages/ui/src/careers-section.tsx +19 -0
  502. package/packages/ui/src/carousel.tsx +19 -0
  503. package/packages/ui/src/checkbox.tsx +17 -0
  504. package/packages/ui/src/cinematic/cinematic.css +2020 -0
  505. package/packages/ui/src/cinematic/ecosystem-motion-showcase.tsx +265 -0
  506. package/packages/ui/src/cinematic/ecosystem-sphere.tsx +627 -0
  507. package/packages/ui/src/cinematic/index.ts +5 -0
  508. package/packages/ui/src/cinematic/kinetic-experience.tsx +207 -0
  509. package/packages/ui/src/cinematic/portfolio.ts +132 -0
  510. package/packages/ui/src/cinematic/system-anatomy.tsx +173 -0
  511. package/packages/ui/src/code.tsx +119 -0
  512. package/packages/ui/src/color-picker.tsx +22 -0
  513. package/packages/ui/src/command-menu.tsx +19 -0
  514. package/packages/ui/src/contact-page.tsx +19 -0
  515. package/packages/ui/src/contact-section.tsx +19 -0
  516. package/packages/ui/src/content-divider.tsx +19 -0
  517. package/packages/ui/src/content-section.tsx +19 -0
  518. package/packages/ui/src/context-menu.tsx +208 -0
  519. package/packages/ui/src/credit-card.tsx +19 -0
  520. package/packages/ui/src/cta-section.tsx +19 -0
  521. package/packages/ui/src/data-list.tsx +81 -0
  522. package/packages/ui/src/date-picker.browser.test.tsx +48 -0
  523. package/packages/ui/src/date-picker.tsx +248 -0
  524. package/packages/ui/src/dialog.browser.test.tsx +32 -0
  525. package/packages/ui/src/dialog.tsx +144 -0
  526. package/packages/ui/src/direction.tsx +46 -0
  527. package/packages/ui/src/drawer.tsx +179 -0
  528. package/packages/ui/src/dropdown.tsx +200 -0
  529. package/packages/ui/src/email-template.tsx +19 -0
  530. package/packages/ui/src/empty-state.tsx +43 -0
  531. package/packages/ui/src/error-state.tsx +44 -0
  532. package/packages/ui/src/fab.tsx +32 -0
  533. package/packages/ui/src/faq-page.tsx +19 -0
  534. package/packages/ui/src/faq-section.tsx +19 -0
  535. package/packages/ui/src/feature-section.tsx +19 -0
  536. package/packages/ui/src/featured-icon.tsx +63 -0
  537. package/packages/ui/src/field.browser.test.tsx +33 -0
  538. package/packages/ui/src/field.tsx +117 -0
  539. package/packages/ui/src/file-uploader.tsx +19 -0
  540. package/packages/ui/src/footer.tsx +19 -0
  541. package/packages/ui/src/forgot-password-page.tsx +19 -0
  542. package/packages/ui/src/gradient-picker.tsx +65 -0
  543. package/packages/ui/src/header-navigation.tsx +71 -0
  544. package/packages/ui/src/hero-header.tsx +57 -0
  545. package/packages/ui/src/illustration.tsx +19 -0
  546. package/packages/ui/src/image-picker.tsx +56 -0
  547. package/packages/ui/src/index.ts +110 -0
  548. package/packages/ui/src/informational-page-01.tsx +19 -0
  549. package/packages/ui/src/informational-page-02.tsx +19 -0
  550. package/packages/ui/src/inline-cta.tsx +29 -0
  551. package/packages/ui/src/input.tsx +44 -0
  552. package/packages/ui/src/landing-page.tsx +56 -0
  553. package/packages/ui/src/legal-page.tsx +19 -0
  554. package/packages/ui/src/lib/cn.ts +6 -0
  555. package/packages/ui/src/lib/i18n-messages.ts +40 -0
  556. package/packages/ui/src/login-page.tsx +78 -0
  557. package/packages/ui/src/marketing-404-page.tsx +19 -0
  558. package/packages/ui/src/marketing-header.tsx +53 -0
  559. package/packages/ui/src/menu.tsx +220 -0
  560. package/packages/ui/src/messaging.tsx +62 -0
  561. package/packages/ui/src/metrics-section.tsx +19 -0
  562. package/packages/ui/src/mobile-screen.tsx +37 -0
  563. package/packages/ui/src/multi-select.tsx +16 -0
  564. package/packages/ui/src/newsletter.tsx +19 -0
  565. package/packages/ui/src/not-found.tsx +60 -0
  566. package/packages/ui/src/notification.tsx +19 -0
  567. package/packages/ui/src/page-header.tsx +80 -0
  568. package/packages/ui/src/pricing-page.tsx +19 -0
  569. package/packages/ui/src/pricing-section.tsx +19 -0
  570. package/packages/ui/src/progress-indicator.tsx +19 -0
  571. package/packages/ui/src/progress-steps.tsx +85 -0
  572. package/packages/ui/src/qr-code.tsx +19 -0
  573. package/packages/ui/src/radio-group.tsx +26 -0
  574. package/packages/ui/src/rating.tsx +19 -0
  575. package/packages/ui/src/rich-text-editor.tsx +18 -0
  576. package/packages/ui/src/section-footer.tsx +19 -0
  577. package/packages/ui/src/section-header.tsx +37 -0
  578. package/packages/ui/src/select.tsx +27 -0
  579. package/packages/ui/src/settings-01.tsx +49 -0
  580. package/packages/ui/src/settings-02.tsx +58 -0
  581. package/packages/ui/src/settings-page.tsx +62 -0
  582. package/packages/ui/src/sidebar-navigation.tsx +77 -0
  583. package/packages/ui/src/sign-in-form.tsx +60 -0
  584. package/packages/ui/src/sign-up-page.tsx +19 -0
  585. package/packages/ui/src/skeleton.tsx +14 -0
  586. package/packages/ui/src/slider.tsx +13 -0
  587. package/packages/ui/src/social-button.tsx +19 -0
  588. package/packages/ui/src/social-proof.tsx +19 -0
  589. package/packages/ui/src/spinner.tsx +26 -0
  590. package/packages/ui/src/store-button.tsx +19 -0
  591. package/packages/ui/src/tabs.browser.test.tsx +33 -0
  592. package/packages/ui/src/tabs.tsx +175 -0
  593. package/packages/ui/src/tags.tsx +11 -0
  594. package/packages/ui/src/team-page.tsx +19 -0
  595. package/packages/ui/src/team-section.tsx +19 -0
  596. package/packages/ui/src/testimonial-section.tsx +19 -0
  597. package/packages/ui/src/textarea.tsx +45 -0
  598. package/packages/ui/src/theme-provider.browser.test.tsx +90 -0
  599. package/packages/ui/src/theme-provider.tsx +417 -0
  600. package/packages/ui/src/theme-toggle.tsx +107 -0
  601. package/packages/ui/src/toggle.tsx +34 -0
  602. package/packages/ui/src/tooltip.tsx +50 -0
  603. package/packages/ui/src/tree-view.tsx +19 -0
  604. package/packages/ui/src/utility-button.tsx +33 -0
  605. package/packages/ui/src/utils.ts +13 -0
  606. package/packages/ui/src/verification-code.tsx +27 -0
  607. package/packages/ui/src/verification-page.tsx +19 -0
  608. package/packages/ui/src/video-player.tsx +19 -0
  609. package/packages/workflow-ui/package.json +15 -0
  610. package/packages/workflow-ui/src/index.ts +2 -0
  611. package/packages/workflow-ui/src/workflow-canvas.tsx +51 -0
  612. package/packages/workflow-ui/src/workflow-node.tsx +61 -0
  613. package/playwright.config.ts +58 -0
  614. package/pnpm-workspace.yaml +5 -0
  615. package/registry.json +216 -0
  616. package/scripts/build-static.mjs +68 -0
  617. package/scripts/capture-visuals.py +106 -0
  618. package/scripts/capture-visuals.sh +10 -0
  619. package/scripts/create-visual-index.mjs +16 -0
  620. package/scripts/enrich-registry-payloads.mjs +83 -0
  621. package/scripts/fix-noe-imports.mjs +134 -0
  622. package/scripts/fix-registry-closure.mjs +110 -0
  623. package/scripts/fix-registry-deps-cleanup.mjs +149 -0
  624. package/scripts/fix-relative-for-registry.mjs +103 -0
  625. package/scripts/generate-design-tokens.mjs +134 -0
  626. package/scripts/generate-inventory.mjs +62 -0
  627. package/scripts/generate-manifest.mjs +1149 -0
  628. package/scripts/generate-phase4.mjs +875 -0
  629. package/scripts/validate-manifest.mjs +477 -0
  630. package/scripts/validate-pngs.mjs +31 -0
  631. package/scripts/verify-registry-consumer.mjs +319 -0
  632. package/scripts/verify-registry-dependencies.mjs +162 -0
  633. package/scripts/verify.mjs +316 -0
  634. package/tests/catalog-audit.test.mjs +156 -0
  635. package/tests/e2e/capture-visuals.mjs +34 -0
  636. package/tests/e2e/catalog-typography.spec.ts +110 -0
  637. package/tests/e2e/catalog.spec.ts +68 -0
  638. package/tests/e2e/direction.spec.ts +60 -0
  639. package/tests/e2e/responsive.spec.ts +30 -0
  640. package/tests/e2e/surfaces.spec.ts +51 -0
  641. package/tests/i18n.test.mjs +36 -0
  642. package/tests/icons.test.mjs +21 -0
  643. package/tests/registry-publication.test.mjs +88 -0
  644. package/tests/registry.test.mjs +51 -0
  645. package/tests/rtl.test.mjs +21 -0
  646. package/tests/static-app.test.mjs +49 -0
  647. package/tests/tokens.test.mjs +24 -0
  648. package/tests/workspace.test.mjs +25 -0
  649. package/tsconfig.base.json +69 -0
  650. package/tsconfig.json +27 -0
  651. package/tsconfig.verify.json +19 -0
  652. package/types/offline-react.d.ts +73 -0
  653. package/vitest.config.ts +91 -0
@@ -0,0 +1,1997 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry.json",
3
+ "name": "noe",
4
+ "homepage": "https://noecosystem.com/",
5
+ "items": [
6
+ {
7
+ "name": "button",
8
+ "type": "registry:ui",
9
+ "title": "Button",
10
+ "description": "Primary action primitive with semantic variants, focus visibility, loading state and bidirectional layout.",
11
+ "files": [
12
+ {
13
+ "path": "packages/ui/src/button.tsx",
14
+ "type": "registry:component",
15
+ "target": "packages/ui/src/button.tsx"
16
+ }
17
+ ],
18
+ "peerDependencies": [
19
+ "react"
20
+ ],
21
+ "manifestId": "button",
22
+ "capabilityAliases": [
23
+ "confirmation dialog with destructive action",
24
+ "primary action",
25
+ "submit button",
26
+ "destructive button",
27
+ "loading button",
28
+ "cta"
29
+ ],
30
+ "searchTerms": [
31
+ "button",
32
+ "cta",
33
+ "action",
34
+ "destructive",
35
+ "confirmation",
36
+ "submit"
37
+ ]
38
+ },
39
+ {
40
+ "name": "input",
41
+ "type": "registry:ui",
42
+ "title": "Input and Field",
43
+ "description": "Accessible form field composition with localized labels, errors, descriptions and technical-input direction policy.",
44
+ "files": [
45
+ {
46
+ "path": "packages/ui/src/field.tsx",
47
+ "type": "registry:component",
48
+ "target": "packages/ui/src/field.tsx"
49
+ }
50
+ ],
51
+ "peerDependencies": [
52
+ "react"
53
+ ],
54
+ "manifestId": "input",
55
+ "capabilityAliases": [
56
+ "input",
57
+ "input"
58
+ ],
59
+ "searchTerms": [
60
+ "input",
61
+ "input",
62
+ "forms"
63
+ ]
64
+ },
65
+ {
66
+ "name": "dialog",
67
+ "type": "registry:ui",
68
+ "title": "Dialog",
69
+ "description": "Direction-preserving modal primitive with native focus semantics and portal propagation.",
70
+ "files": [
71
+ {
72
+ "path": "packages/ui/src/dialog.tsx",
73
+ "type": "registry:component",
74
+ "target": "packages/ui/src/dialog.tsx"
75
+ }
76
+ ],
77
+ "peerDependencies": [
78
+ "react"
79
+ ],
80
+ "manifestId": "dialog",
81
+ "capabilityAliases": [
82
+ "confirmation dialog with destructive action",
83
+ "modal",
84
+ "confirm dialog"
85
+ ],
86
+ "searchTerms": [
87
+ "dialog",
88
+ "modal",
89
+ "confirm",
90
+ "overlay"
91
+ ]
92
+ },
93
+ {
94
+ "name": "drawer",
95
+ "type": "registry:ui",
96
+ "title": "Drawer",
97
+ "description": "Logical start/end drawer that resolves against active writing direction and keeps DOM order stable.",
98
+ "files": [
99
+ {
100
+ "path": "packages/ui/src/drawer.tsx",
101
+ "type": "registry:component",
102
+ "target": "packages/ui/src/drawer.tsx"
103
+ }
104
+ ],
105
+ "peerDependencies": [
106
+ "react"
107
+ ],
108
+ "manifestId": "drawer",
109
+ "capabilityAliases": [
110
+ "drawer",
111
+ "drawer"
112
+ ],
113
+ "searchTerms": [
114
+ "drawer",
115
+ "drawer",
116
+ "overlays"
117
+ ]
118
+ },
119
+ {
120
+ "name": "bidi-text",
121
+ "type": "registry:ui",
122
+ "title": "Bidi Text",
123
+ "description": "Mixed-direction content primitives for user text, URLs, hashes, commands and technical identifiers.",
124
+ "files": [
125
+ {
126
+ "path": "packages/ui/src/bidi.tsx",
127
+ "type": "registry:component",
128
+ "target": "packages/ui/src/bidi.tsx"
129
+ }
130
+ ],
131
+ "peerDependencies": [
132
+ "react"
133
+ ],
134
+ "manifestId": "bidi-text",
135
+ "capabilityAliases": [
136
+ "bidi text",
137
+ "mixed direction text",
138
+ "technical identifier",
139
+ "bdi auto direction"
140
+ ],
141
+ "searchTerms": [
142
+ "bidi",
143
+ "rtl ltr isolation",
144
+ "technical value",
145
+ "url hash",
146
+ "command"
147
+ ]
148
+ },
149
+ {
150
+ "name": "code-block",
151
+ "type": "registry:ui",
152
+ "title": "Code and Terminal",
153
+ "description": "LTR-isolated code, command, terminal and log presentation inside RTL or LTR application chrome.",
154
+ "files": [
155
+ {
156
+ "path": "packages/ui/src/code.tsx",
157
+ "type": "registry:component",
158
+ "target": "packages/ui/src/code.tsx"
159
+ }
160
+ ],
161
+ "peerDependencies": [
162
+ "react"
163
+ ],
164
+ "manifestId": "code-and-terminal",
165
+ "capabilityAliases": [
166
+ "code and terminal",
167
+ "code-and-terminal"
168
+ ],
169
+ "searchTerms": [
170
+ "code-and-terminal",
171
+ "code and terminal",
172
+ "technical content"
173
+ ]
174
+ },
175
+ {
176
+ "name": "data-table",
177
+ "type": "registry:ui",
178
+ "title": "Data Table",
179
+ "description": "Direction-safe semantic table contract prepared for TanStack Table state adapters.",
180
+ "files": [
181
+ {
182
+ "path": "packages/data-ui/src/data-table.tsx",
183
+ "type": "registry:component",
184
+ "target": "packages/data-ui/src/data-table.tsx"
185
+ }
186
+ ],
187
+ "dependencies": [
188
+ "@noe/ui"
189
+ ],
190
+ "peerDependencies": [
191
+ "react"
192
+ ],
193
+ "manifestId": "data-table",
194
+ "capabilityAliases": [
195
+ "data table",
196
+ "data-table"
197
+ ],
198
+ "searchTerms": [
199
+ "data-table",
200
+ "data table",
201
+ "data"
202
+ ]
203
+ },
204
+ {
205
+ "name": "metric-card",
206
+ "type": "registry:ui",
207
+ "title": "Metric Card",
208
+ "description": "Quiet operational metric composition with semantic status treatment and localized values.",
209
+ "files": [
210
+ {
211
+ "path": "packages/data-ui/src/metric-card.tsx",
212
+ "type": "registry:component",
213
+ "target": "packages/data-ui/src/metric-card.tsx"
214
+ }
215
+ ],
216
+ "dependencies": [
217
+ "@noe/ui"
218
+ ],
219
+ "peerDependencies": [
220
+ "react"
221
+ ],
222
+ "manifestId": "metric-card",
223
+ "capabilityAliases": [
224
+ "metric card",
225
+ "metric-card"
226
+ ],
227
+ "searchTerms": [
228
+ "metric-card",
229
+ "metric card",
230
+ "data"
231
+ ]
232
+ },
233
+ {
234
+ "name": "agent-message",
235
+ "type": "registry:ui",
236
+ "title": "Agent Message",
237
+ "description": "Agent and human message composition with auto-direction runtime content and model identifier isolation.",
238
+ "files": [
239
+ {
240
+ "path": "packages/ai-ui/src/agent-message.tsx",
241
+ "type": "registry:component",
242
+ "target": "packages/ai-ui/src/agent-message.tsx"
243
+ }
244
+ ],
245
+ "dependencies": [
246
+ "@noe/ui"
247
+ ],
248
+ "peerDependencies": [
249
+ "react"
250
+ ],
251
+ "manifestId": "agent-message",
252
+ "capabilityAliases": [
253
+ "agent message",
254
+ "agent-message"
255
+ ],
256
+ "searchTerms": [
257
+ "agent-message",
258
+ "agent message",
259
+ "agentic"
260
+ ]
261
+ },
262
+ {
263
+ "name": "agent-composer",
264
+ "type": "registry:ui",
265
+ "title": "Agent Composer",
266
+ "description": "Accessible multiline agent input with localized placeholder and explicit submit behavior.",
267
+ "files": [
268
+ {
269
+ "path": "packages/ai-ui/src/agent-composer.tsx",
270
+ "type": "registry:component",
271
+ "target": "packages/ai-ui/src/agent-composer.tsx"
272
+ }
273
+ ],
274
+ "dependencies": [
275
+ "@noe/ui"
276
+ ],
277
+ "peerDependencies": [
278
+ "react"
279
+ ],
280
+ "manifestId": "agent-composer",
281
+ "capabilityAliases": [
282
+ "agent composer",
283
+ "agent-composer"
284
+ ],
285
+ "searchTerms": [
286
+ "agent-composer",
287
+ "agent composer",
288
+ "agentic"
289
+ ]
290
+ },
291
+ {
292
+ "name": "agent-plan",
293
+ "type": "registry:ui",
294
+ "title": "Agent Plan",
295
+ "description": "Queued, running, completed and failed execution-plan steps with progressive disclosure.",
296
+ "files": [
297
+ {
298
+ "path": "packages/ai-ui/src/agent-plan.tsx",
299
+ "type": "registry:component",
300
+ "target": "packages/ai-ui/src/agent-plan.tsx"
301
+ }
302
+ ],
303
+ "dependencies": [
304
+ "@noe/ui"
305
+ ],
306
+ "peerDependencies": [
307
+ "react"
308
+ ],
309
+ "manifestId": "agent-plan",
310
+ "capabilityAliases": [
311
+ "agent plan",
312
+ "agent-plan"
313
+ ],
314
+ "searchTerms": [
315
+ "agent-plan",
316
+ "agent plan",
317
+ "agentic"
318
+ ]
319
+ },
320
+ {
321
+ "name": "tool-call",
322
+ "type": "registry:ui",
323
+ "title": "Tool Call",
324
+ "description": "Human-readable tool state, scope and result summary with expandable technical detail.",
325
+ "files": [
326
+ {
327
+ "path": "packages/ai-ui/src/tool-call.tsx",
328
+ "type": "registry:component",
329
+ "target": "packages/ai-ui/src/tool-call.tsx"
330
+ }
331
+ ],
332
+ "dependencies": [
333
+ "@noe/ui"
334
+ ],
335
+ "peerDependencies": [
336
+ "react"
337
+ ],
338
+ "manifestId": "tool-call",
339
+ "capabilityAliases": [
340
+ "tool call",
341
+ "tool-call"
342
+ ],
343
+ "searchTerms": [
344
+ "tool-call",
345
+ "tool call",
346
+ "agentic"
347
+ ]
348
+ },
349
+ {
350
+ "name": "approval-request",
351
+ "type": "registry:ui",
352
+ "title": "Approval Request",
353
+ "description": "Human-in-the-loop decision pattern showing target, parameters, consequence and scoped choices.",
354
+ "files": [
355
+ {
356
+ "path": "packages/ai-ui/src/approval-request.tsx",
357
+ "type": "registry:component",
358
+ "target": "packages/ai-ui/src/approval-request.tsx"
359
+ }
360
+ ],
361
+ "dependencies": [
362
+ "@noe/ui"
363
+ ],
364
+ "peerDependencies": [
365
+ "react"
366
+ ],
367
+ "manifestId": "approval-request",
368
+ "capabilityAliases": [
369
+ "approval request",
370
+ "approval-request"
371
+ ],
372
+ "searchTerms": [
373
+ "approval-request",
374
+ "approval request",
375
+ "agentic"
376
+ ]
377
+ },
378
+ {
379
+ "name": "run-inspector",
380
+ "type": "registry:ui",
381
+ "title": "Run Inspector",
382
+ "description": "Compact run status, identifiers, latency, token use and trace details.",
383
+ "files": [
384
+ {
385
+ "path": "packages/ai-ui/src/run-inspector.tsx",
386
+ "type": "registry:component",
387
+ "target": "packages/ai-ui/src/run-inspector.tsx"
388
+ }
389
+ ],
390
+ "dependencies": [
391
+ "@noe/ui"
392
+ ],
393
+ "peerDependencies": [
394
+ "react"
395
+ ],
396
+ "manifestId": "run-inspector",
397
+ "capabilityAliases": [
398
+ "run inspector",
399
+ "run-inspector"
400
+ ],
401
+ "searchTerms": [
402
+ "run-inspector",
403
+ "run inspector",
404
+ "agentic"
405
+ ]
406
+ },
407
+ {
408
+ "name": "workflow-node",
409
+ "type": "registry:ui",
410
+ "title": "Workflow Node",
411
+ "description": "Agent, tool, trigger, condition and output node visual contract with keyboard focus.",
412
+ "files": [
413
+ {
414
+ "path": "packages/workflow-ui/src/workflow-node.tsx",
415
+ "type": "registry:component",
416
+ "target": "packages/workflow-ui/src/workflow-node.tsx"
417
+ }
418
+ ],
419
+ "peerDependencies": [
420
+ "react"
421
+ ],
422
+ "manifestId": "workflow-node",
423
+ "capabilityAliases": [
424
+ "workflow node",
425
+ "workflow-node"
426
+ ],
427
+ "searchTerms": [
428
+ "workflow-node",
429
+ "workflow node",
430
+ "workflow"
431
+ ],
432
+ "dependencies": [
433
+ "@noe/ui"
434
+ ]
435
+ },
436
+ {
437
+ "name": "workflow-canvas",
438
+ "type": "registry:block",
439
+ "title": "Workflow Canvas",
440
+ "description": "Accessible workflow canvas shell, toolbar and inspector regions suitable for a React Flow adapter.",
441
+ "files": [
442
+ {
443
+ "path": "packages/workflow-ui/src/workflow-canvas.tsx",
444
+ "type": "registry:component",
445
+ "target": "packages/workflow-ui/src/workflow-canvas.tsx"
446
+ }
447
+ ],
448
+ "peerDependencies": [
449
+ "react"
450
+ ],
451
+ "manifestId": "workflow-canvas",
452
+ "capabilityAliases": [
453
+ "workflow canvas",
454
+ "workflow-canvas"
455
+ ],
456
+ "searchTerms": [
457
+ "workflow-canvas",
458
+ "workflow canvas",
459
+ "workflow"
460
+ ],
461
+ "dependencies": [
462
+ "@noe/ui"
463
+ ]
464
+ },
465
+ {
466
+ "name": "page-header",
467
+ "type": "registry:block",
468
+ "title": "Page Header",
469
+ "description": "Application page header pattern with optional breadcrumb, title, description and action row; mirrors with logical layout in RTL.",
470
+ "files": [
471
+ {
472
+ "path": "packages/ui/src/page-header.tsx",
473
+ "type": "registry:component",
474
+ "target": "packages/ui/src/page-header.tsx"
475
+ }
476
+ ],
477
+ "peerDependencies": [
478
+ "react"
479
+ ],
480
+ "manifestId": "page-header",
481
+ "capabilityAliases": [
482
+ "page header",
483
+ "page-header"
484
+ ],
485
+ "searchTerms": [
486
+ "page-header",
487
+ "page header",
488
+ "application"
489
+ ]
490
+ },
491
+ {
492
+ "name": "sidebar-navigation",
493
+ "type": "registry:block",
494
+ "title": "Sidebar Navigation",
495
+ "description": "Sectioned application sidebar navigation contract with current-page state and logical start alignment for both directions.",
496
+ "files": [
497
+ {
498
+ "path": "packages/ui/src/sidebar-navigation.tsx",
499
+ "type": "registry:component",
500
+ "target": "packages/ui/src/sidebar-navigation.tsx"
501
+ }
502
+ ],
503
+ "peerDependencies": [
504
+ "react"
505
+ ],
506
+ "manifestId": "sidebar-navigation",
507
+ "capabilityAliases": [
508
+ "sidebar navigation",
509
+ "sidebar-navigation"
510
+ ],
511
+ "searchTerms": [
512
+ "sidebar-navigation",
513
+ "sidebar navigation",
514
+ "application"
515
+ ]
516
+ },
517
+ {
518
+ "name": "agent-workspace",
519
+ "type": "registry:block",
520
+ "title": "Agent Workspace",
521
+ "description": "Three-region agent workspace page block composing navigation, conversation and a progressively disclosed run inspector; column order follows direction.",
522
+ "files": [
523
+ {
524
+ "path": "packages/ai-ui/src/agent-workspace.tsx",
525
+ "type": "registry:component",
526
+ "target": "packages/ai-ui/src/agent-workspace.tsx"
527
+ }
528
+ ],
529
+ "dependencies": [
530
+ "@noe/ui"
531
+ ],
532
+ "peerDependencies": [
533
+ "react"
534
+ ],
535
+ "manifestId": "agent-workspace",
536
+ "capabilityAliases": [
537
+ "agent workspace",
538
+ "agent-workspace"
539
+ ],
540
+ "searchTerms": [
541
+ "agent-workspace",
542
+ "agent workspace",
543
+ "pages"
544
+ ]
545
+ },
546
+ {
547
+ "name": "section-header",
548
+ "type": "registry:block",
549
+ "title": "Section Header",
550
+ "description": "Application section header pattern with title, optional description and trailing action row; alignment resolves with logical layout in RTL.",
551
+ "files": [
552
+ {
553
+ "path": "packages/ui/src/section-header.tsx",
554
+ "type": "registry:component",
555
+ "target": "packages/ui/src/section-header.tsx"
556
+ }
557
+ ],
558
+ "peerDependencies": [
559
+ "react"
560
+ ],
561
+ "manifestId": "section-header",
562
+ "capabilityAliases": [
563
+ "section header",
564
+ "section-header"
565
+ ],
566
+ "searchTerms": [
567
+ "section-header",
568
+ "section header",
569
+ "application"
570
+ ]
571
+ },
572
+ {
573
+ "name": "filter-bar",
574
+ "type": "registry:block",
575
+ "title": "Filter Bar",
576
+ "description": "Searchable filter row for data surfaces with search, filter and action slots; spacing uses logical properties so it mirrors under RTL.",
577
+ "files": [
578
+ {
579
+ "path": "packages/data-ui/src/filter-bar.tsx",
580
+ "type": "registry:component",
581
+ "target": "packages/data-ui/src/filter-bar.tsx"
582
+ }
583
+ ],
584
+ "dependencies": [
585
+ "@noe/ui",
586
+ "@noe/icons"
587
+ ],
588
+ "registryDependencies": [
589
+ "input"
590
+ ],
591
+ "peerDependencies": [
592
+ "react"
593
+ ],
594
+ "manifestId": "filter-bar",
595
+ "capabilityAliases": [
596
+ "filter bar",
597
+ "filter-bar"
598
+ ],
599
+ "searchTerms": [
600
+ "filter-bar",
601
+ "filter bar",
602
+ "data"
603
+ ]
604
+ },
605
+ {
606
+ "name": "pagination",
607
+ "type": "registry:block",
608
+ "title": "Pagination",
609
+ "description": "Accessible pagination contract with localized previous and next labels, live status region and disabled boundary states for data tables.",
610
+ "files": [
611
+ {
612
+ "path": "packages/data-ui/src/pagination.tsx",
613
+ "type": "registry:component",
614
+ "target": "packages/data-ui/src/pagination.tsx"
615
+ }
616
+ ],
617
+ "dependencies": [
618
+ "@noe/ui",
619
+ "@noe/icons"
620
+ ],
621
+ "peerDependencies": [
622
+ "react"
623
+ ],
624
+ "manifestId": "pagination",
625
+ "capabilityAliases": [
626
+ "responsive metric card pagination",
627
+ "empty data table with filters pagination",
628
+ "table pagination"
629
+ ],
630
+ "searchTerms": [
631
+ "pagination",
632
+ "page navigation",
633
+ "data table paging"
634
+ ]
635
+ },
636
+ {
637
+ "name": "activity-feed",
638
+ "type": "registry:block",
639
+ "title": "Activity Feed",
640
+ "description": "Timestamped run and system activity list with semantic status markers, logical start alignment and mixed-direction metadata isolation.",
641
+ "files": [
642
+ {
643
+ "path": "packages/ai-ui/src/activity-feed.tsx",
644
+ "type": "registry:component",
645
+ "target": "packages/ai-ui/src/activity-feed.tsx"
646
+ }
647
+ ],
648
+ "dependencies": [
649
+ "@noe/ui"
650
+ ],
651
+ "peerDependencies": [
652
+ "react"
653
+ ],
654
+ "manifestId": "activity-feed",
655
+ "capabilityAliases": [
656
+ "activity feed",
657
+ "activity-feed"
658
+ ],
659
+ "searchTerms": [
660
+ "activity-feed",
661
+ "activity feed",
662
+ "application"
663
+ ]
664
+ },
665
+ {
666
+ "name": "sign-in-form",
667
+ "type": "registry:block",
668
+ "title": "Sign In Form",
669
+ "description": "Authentication page block with labeled email and password fields, technical input direction policy, pending state and footer slot.",
670
+ "files": [
671
+ {
672
+ "path": "packages/ui/src/sign-in-form.tsx",
673
+ "type": "registry:component",
674
+ "target": "packages/ui/src/sign-in-form.tsx"
675
+ }
676
+ ],
677
+ "peerDependencies": [
678
+ "react"
679
+ ],
680
+ "manifestId": "sign-in-form",
681
+ "capabilityAliases": [
682
+ "sign in form",
683
+ "sign-in-form"
684
+ ],
685
+ "searchTerms": [
686
+ "sign-in-form",
687
+ "sign in form",
688
+ "pages"
689
+ ]
690
+ },
691
+ {
692
+ "name": "header-navigation",
693
+ "type": "registry:block",
694
+ "title": "Header Navigation",
695
+ "description": "Top application header with brand slot, link row and action area; links collapse below the small breakpoint in favor of a menu trigger slot.",
696
+ "files": [
697
+ {
698
+ "path": "packages/ui/src/header-navigation.tsx",
699
+ "type": "registry:component",
700
+ "target": "packages/ui/src/header-navigation.tsx"
701
+ }
702
+ ],
703
+ "peerDependencies": [
704
+ "react"
705
+ ],
706
+ "manifestId": "header-navigation",
707
+ "capabilityAliases": [
708
+ "header navigation",
709
+ "header-navigation"
710
+ ],
711
+ "searchTerms": [
712
+ "header-navigation",
713
+ "header navigation",
714
+ "application"
715
+ ]
716
+ },
717
+ {
718
+ "name": "app-frame",
719
+ "type": "registry:block",
720
+ "title": "App Frame",
721
+ "description": "Responsive application frame owning page landmarks: header row, desktop sidebar, mobile navigation region, content and an optional inspector column.",
722
+ "files": [
723
+ {
724
+ "path": "packages/ui/src/app-frame.tsx",
725
+ "type": "registry:component",
726
+ "target": "packages/ui/src/app-frame.tsx"
727
+ }
728
+ ],
729
+ "peerDependencies": [
730
+ "react"
731
+ ],
732
+ "manifestId": "app-frame",
733
+ "capabilityAliases": [
734
+ "app frame",
735
+ "app-frame"
736
+ ],
737
+ "searchTerms": [
738
+ "app-frame",
739
+ "app frame",
740
+ "pages"
741
+ ]
742
+ },
743
+ {
744
+ "name": "bottom-navigation",
745
+ "type": "registry:block",
746
+ "title": "Bottom Navigation",
747
+ "description": "Mobile-only bottom tab bar with current-page state, badges, icon slots and safe-area padding; hidden from the medium breakpoint upward.",
748
+ "files": [
749
+ {
750
+ "path": "packages/ui/src/bottom-navigation.tsx",
751
+ "type": "registry:component",
752
+ "target": "packages/ui/src/bottom-navigation.tsx"
753
+ }
754
+ ],
755
+ "peerDependencies": [
756
+ "react"
757
+ ],
758
+ "manifestId": "bottom-navigation",
759
+ "capabilityAliases": [
760
+ "bottom navigation",
761
+ "bottom-navigation"
762
+ ],
763
+ "searchTerms": [
764
+ "bottom-navigation",
765
+ "bottom navigation",
766
+ "application"
767
+ ]
768
+ },
769
+ {
770
+ "name": "dashboard-shell",
771
+ "type": "registry:block",
772
+ "title": "Dashboard Shell",
773
+ "description": "Data dashboard scaffold with slots for page header, filters, responsive metric grid, chart, table and pagination regions.",
774
+ "files": [
775
+ {
776
+ "path": "packages/data-ui/src/dashboard-shell.tsx",
777
+ "type": "registry:component",
778
+ "target": "packages/data-ui/src/dashboard-shell.tsx"
779
+ }
780
+ ],
781
+ "dependencies": [
782
+ "@noe/ui"
783
+ ],
784
+ "peerDependencies": [
785
+ "react"
786
+ ],
787
+ "manifestId": "dashboard-shell",
788
+ "capabilityAliases": [
789
+ "dashboard shell",
790
+ "dashboard-shell"
791
+ ],
792
+ "searchTerms": [
793
+ "dashboard-shell",
794
+ "dashboard shell",
795
+ "pages"
796
+ ]
797
+ },
798
+ {
799
+ "name": "settings-page",
800
+ "type": "registry:block",
801
+ "title": "Settings Page",
802
+ "description": "Settings layout with sectioned side navigation on wide screens, stacked content column and a sticky save bar; collapses to one column on mobile.",
803
+ "files": [
804
+ {
805
+ "path": "packages/ui/src/settings-page.tsx",
806
+ "type": "registry:component",
807
+ "target": "packages/ui/src/settings-page.tsx"
808
+ }
809
+ ],
810
+ "peerDependencies": [
811
+ "react"
812
+ ],
813
+ "manifestId": "settings-page",
814
+ "capabilityAliases": [
815
+ "settings page",
816
+ "settings-page"
817
+ ],
818
+ "searchTerms": [
819
+ "settings-page",
820
+ "settings page",
821
+ "pages"
822
+ ]
823
+ },
824
+ {
825
+ "name": "data-list",
826
+ "type": "registry:block",
827
+ "title": "Data List",
828
+ "description": "Touch-friendly mobile list rows with leading media slot, title and subtitle, trailing meta or chevron slot and current-page state; rows meet minimum touch height.",
829
+ "files": [
830
+ {
831
+ "path": "packages/ui/src/data-list.tsx",
832
+ "type": "registry:component",
833
+ "target": "packages/ui/src/data-list.tsx"
834
+ }
835
+ ],
836
+ "peerDependencies": [
837
+ "react"
838
+ ],
839
+ "manifestId": "data-list",
840
+ "capabilityAliases": [
841
+ "data list",
842
+ "data-list"
843
+ ],
844
+ "searchTerms": [
845
+ "data-list",
846
+ "data list",
847
+ "mobile"
848
+ ]
849
+ },
850
+ {
851
+ "name": "fab",
852
+ "type": "registry:block",
853
+ "title": "Floating Action Button",
854
+ "description": "Mobile-only floating action button anchored to the logical end edge above the bottom navigation, with safe-area padding and required accessible label.",
855
+ "files": [
856
+ {
857
+ "path": "packages/ui/src/fab.tsx",
858
+ "type": "registry:component",
859
+ "target": "packages/ui/src/fab.tsx"
860
+ }
861
+ ],
862
+ "dependencies": [
863
+ "@noe/icons"
864
+ ],
865
+ "peerDependencies": [
866
+ "react"
867
+ ],
868
+ "manifestId": "fab",
869
+ "capabilityAliases": [
870
+ "floating action button",
871
+ "mobile fab",
872
+ "quick action"
873
+ ],
874
+ "searchTerms": [
875
+ "fab",
876
+ "floating action",
877
+ "mobile"
878
+ ]
879
+ },
880
+ {
881
+ "name": "mobile-screen",
882
+ "type": "registry:block",
883
+ "title": "Mobile Screen",
884
+ "description": "Single-column mobile page scaffold composing an app bar, scrollable content region, optional floating action button and bottom navigation.",
885
+ "files": [
886
+ {
887
+ "path": "packages/ui/src/mobile-screen.tsx",
888
+ "type": "registry:component",
889
+ "target": "packages/ui/src/mobile-screen.tsx"
890
+ }
891
+ ],
892
+ "peerDependencies": [
893
+ "react"
894
+ ],
895
+ "manifestId": "mobile-screen",
896
+ "capabilityAliases": [
897
+ "mobile screen",
898
+ "mobile-screen"
899
+ ],
900
+ "searchTerms": [
901
+ "mobile-screen",
902
+ "mobile screen",
903
+ "pages"
904
+ ]
905
+ },
906
+ {
907
+ "name": "featured-icon",
908
+ "type": "registry:ui",
909
+ "title": "Featured Icon",
910
+ "description": "Decorative icon container with tokenized border, background and size variants for feature highlights and empty states.",
911
+ "files": [
912
+ {
913
+ "path": "packages/ui/src/featured-icon.tsx",
914
+ "type": "registry:component",
915
+ "target": "packages/ui/src/featured-icon.tsx"
916
+ }
917
+ ],
918
+ "peerDependencies": [
919
+ "react"
920
+ ],
921
+ "manifestId": "featured-icon",
922
+ "capabilityAliases": [
923
+ "featured icon",
924
+ "feature highlight icon",
925
+ "empty state icon",
926
+ "marketing icon badge"
927
+ ],
928
+ "searchTerms": [
929
+ "featured icon",
930
+ "highlight",
931
+ "empty state",
932
+ "marketing"
933
+ ]
934
+ },
935
+ {
936
+ "name": "utility-button",
937
+ "type": "registry:ui",
938
+ "title": "Utility Button",
939
+ "description": "Compact toolbar/icon button composing canonical Button for row actions and dense controls; not a second Button primitive.",
940
+ "files": [
941
+ {
942
+ "path": "packages/ui/src/utility-button.tsx",
943
+ "type": "registry:component",
944
+ "target": "packages/ui/src/utility-button.tsx"
945
+ }
946
+ ],
947
+ "peerDependencies": [
948
+ "react"
949
+ ],
950
+ "manifestId": "utility-button",
951
+ "capabilityAliases": [
952
+ "utility button",
953
+ "icon button",
954
+ "toolbar button",
955
+ "row action"
956
+ ],
957
+ "searchTerms": [
958
+ "utility button",
959
+ "icon button",
960
+ "toolbar",
961
+ "ghost button"
962
+ ]
963
+ },
964
+ {
965
+ "name": "context-menu",
966
+ "type": "registry:ui",
967
+ "title": "Context Menu",
968
+ "description": "Right-click and keyboard menu using Menu foundation with logical placement and portal dir propagation.",
969
+ "files": [
970
+ {
971
+ "path": "packages/ui/src/context-menu.tsx",
972
+ "type": "registry:component",
973
+ "target": "packages/ui/src/context-menu.tsx"
974
+ }
975
+ ],
976
+ "peerDependencies": [
977
+ "react"
978
+ ],
979
+ "manifestId": "context-menu",
980
+ "capabilityAliases": [
981
+ "context menu",
982
+ "right click menu",
983
+ "contextual actions"
984
+ ],
985
+ "searchTerms": [
986
+ "context menu",
987
+ "right click",
988
+ "contextual"
989
+ ]
990
+ },
991
+ {
992
+ "name": "dropdown",
993
+ "type": "registry:ui",
994
+ "title": "Dropdown",
995
+ "description": "Disclosure menu triggered by button, sharing Menu foundation with logical start alignment for action lists.",
996
+ "files": [
997
+ {
998
+ "path": "packages/ui/src/dropdown.tsx",
999
+ "type": "registry:component",
1000
+ "target": "packages/ui/src/dropdown.tsx"
1001
+ }
1002
+ ],
1003
+ "peerDependencies": [
1004
+ "react"
1005
+ ],
1006
+ "manifestId": "dropdown",
1007
+ "capabilityAliases": [
1008
+ "dropdown menu",
1009
+ "action dropdown",
1010
+ "menu dropdown"
1011
+ ],
1012
+ "searchTerms": [
1013
+ "dropdown",
1014
+ "disclosure",
1015
+ "action menu"
1016
+ ]
1017
+ },
1018
+ {
1019
+ "name": "login-page",
1020
+ "type": "registry:block",
1021
+ "title": "Login Page",
1022
+ "description": "Shared authentication page composition with branding, title, form (SignInForm) and footer, responsive two-column layout and RTL-safe logical placement.",
1023
+ "files": [
1024
+ {
1025
+ "path": "packages/ui/src/login-page.tsx",
1026
+ "type": "registry:component",
1027
+ "target": "packages/ui/src/login-page.tsx"
1028
+ }
1029
+ ],
1030
+ "peerDependencies": [
1031
+ "react"
1032
+ ],
1033
+ "manifestId": "login-page",
1034
+ "capabilityAliases": [
1035
+ "log in page",
1036
+ "sign in page",
1037
+ "authentication page",
1038
+ "shared auth"
1039
+ ],
1040
+ "searchTerms": [
1041
+ "login",
1042
+ "sign in",
1043
+ "authentication",
1044
+ "auth page"
1045
+ ]
1046
+ },
1047
+ {
1048
+ "name": "not-found",
1049
+ "type": "registry:block",
1050
+ "title": "404 Section",
1051
+ "description": "404 not-found section with code, title, description and primary action, tokenized, responsive and RTL-safe for missing resources.",
1052
+ "files": [
1053
+ {
1054
+ "path": "packages/ui/src/not-found.tsx",
1055
+ "type": "registry:component",
1056
+ "target": "packages/ui/src/not-found.tsx"
1057
+ }
1058
+ ],
1059
+ "peerDependencies": [
1060
+ "react"
1061
+ ],
1062
+ "manifestId": "not-found",
1063
+ "capabilityAliases": [
1064
+ "404 page",
1065
+ "not found",
1066
+ "404 section"
1067
+ ],
1068
+ "searchTerms": [
1069
+ "404",
1070
+ "not found",
1071
+ "empty"
1072
+ ]
1073
+ },
1074
+ {
1075
+ "name": "chart",
1076
+ "type": "registry:ui",
1077
+ "title": "Chart",
1078
+ "description": "Line and bar chart with tokenized colors, RTL-safe axes, legend, and tabular screen-reader fallback for data visualization.",
1079
+ "files": [
1080
+ {
1081
+ "path": "packages/data-ui/src/chart.tsx",
1082
+ "type": "registry:component",
1083
+ "target": "packages/data-ui/src/chart.tsx"
1084
+ }
1085
+ ],
1086
+ "dependencies": [
1087
+ "@noe/ui"
1088
+ ],
1089
+ "peerDependencies": [
1090
+ "react"
1091
+ ],
1092
+ "manifestId": "chart",
1093
+ "capabilityAliases": [
1094
+ "line and bar charts",
1095
+ "line chart",
1096
+ "bar chart",
1097
+ "data visualization"
1098
+ ],
1099
+ "searchTerms": [
1100
+ "chart",
1101
+ "line",
1102
+ "bar",
1103
+ "visualization"
1104
+ ]
1105
+ },
1106
+ {
1107
+ "name": "messaging",
1108
+ "type": "registry:ui",
1109
+ "title": "Messaging",
1110
+ "description": "Conversation messaging list with user/assistant variants, timestamps, auto-direction and composer slot for chat experiences.",
1111
+ "files": [
1112
+ {
1113
+ "path": "packages/ui/src/messaging.tsx",
1114
+ "type": "registry:component",
1115
+ "target": "packages/ui/src/messaging.tsx"
1116
+ }
1117
+ ],
1118
+ "peerDependencies": [
1119
+ "react"
1120
+ ],
1121
+ "manifestId": "messaging",
1122
+ "capabilityAliases": [
1123
+ "messaging",
1124
+ "chat",
1125
+ "conversation"
1126
+ ],
1127
+ "searchTerms": [
1128
+ "messaging",
1129
+ "chat",
1130
+ "conversation",
1131
+ "message list"
1132
+ ]
1133
+ },
1134
+ {
1135
+ "name": "progress-steps",
1136
+ "type": "registry:ui",
1137
+ "title": "Progress Steps",
1138
+ "description": "Step indicator with pending/current/completed states, horizontal/vertical orientation, logical layout and non-color encoding.",
1139
+ "files": [
1140
+ {
1141
+ "path": "packages/ui/src/progress-steps.tsx",
1142
+ "type": "registry:component",
1143
+ "target": "packages/ui/src/progress-steps.tsx"
1144
+ }
1145
+ ],
1146
+ "peerDependencies": [
1147
+ "react"
1148
+ ],
1149
+ "manifestId": "progress-steps",
1150
+ "capabilityAliases": [
1151
+ "progress steps",
1152
+ "stepper",
1153
+ "progress indicator"
1154
+ ],
1155
+ "searchTerms": [
1156
+ "progress steps",
1157
+ "stepper",
1158
+ "steps"
1159
+ ]
1160
+ },
1161
+ {
1162
+ "name": "dashboard-01",
1163
+ "type": "registry:block",
1164
+ "title": "Dashboard 01",
1165
+ "description": "Dashboard example 01 — overview composition combining DashboardShell, MetricCard, Chart and DataTable for service health.",
1166
+ "files": [
1167
+ {
1168
+ "path": "packages/data-ui/src/dashboard-01.tsx",
1169
+ "type": "registry:component",
1170
+ "target": "packages/data-ui/src/dashboard-01.tsx"
1171
+ }
1172
+ ],
1173
+ "dependencies": [
1174
+ "@noe/ui"
1175
+ ],
1176
+ "peerDependencies": [
1177
+ "react"
1178
+ ],
1179
+ "manifestId": "dashboard-01",
1180
+ "capabilityAliases": [
1181
+ "dashboard 01",
1182
+ "overview dashboard"
1183
+ ],
1184
+ "searchTerms": [
1185
+ "dashboard",
1186
+ "overview"
1187
+ ]
1188
+ },
1189
+ {
1190
+ "name": "dashboard-02",
1191
+ "type": "registry:block",
1192
+ "title": "Dashboard 02",
1193
+ "description": "Dashboard example 02 — detailed composition with filters, multiple metrics and bar chart for error analysis.",
1194
+ "files": [
1195
+ {
1196
+ "path": "packages/data-ui/src/dashboard-02.tsx",
1197
+ "type": "registry:component",
1198
+ "target": "packages/data-ui/src/dashboard-02.tsx"
1199
+ }
1200
+ ],
1201
+ "dependencies": [
1202
+ "@noe/ui"
1203
+ ],
1204
+ "peerDependencies": [
1205
+ "react"
1206
+ ],
1207
+ "manifestId": "dashboard-02",
1208
+ "capabilityAliases": [
1209
+ "dashboard 02",
1210
+ "detailed dashboard"
1211
+ ],
1212
+ "searchTerms": [
1213
+ "dashboard",
1214
+ "detailed"
1215
+ ]
1216
+ },
1217
+ {
1218
+ "name": "settings-01",
1219
+ "type": "registry:block",
1220
+ "title": "Settings 01",
1221
+ "description": "Settings example 01 — workspace profile page composing SettingsPage, SidebarNavigation and SectionHeader with save bar.",
1222
+ "files": [
1223
+ {
1224
+ "path": "packages/ui/src/settings-01.tsx",
1225
+ "type": "registry:component",
1226
+ "target": "packages/ui/src/settings-01.tsx"
1227
+ }
1228
+ ],
1229
+ "peerDependencies": [
1230
+ "react"
1231
+ ],
1232
+ "manifestId": "settings-01",
1233
+ "capabilityAliases": [
1234
+ "settings 01",
1235
+ "workspace settings"
1236
+ ],
1237
+ "searchTerms": [
1238
+ "settings",
1239
+ "workspace"
1240
+ ]
1241
+ },
1242
+ {
1243
+ "name": "settings-02",
1244
+ "type": "registry:block",
1245
+ "title": "Settings 02",
1246
+ "description": "Settings example 02 — team and billing settings with multiple sections, invite flow and danger zone.",
1247
+ "files": [
1248
+ {
1249
+ "path": "packages/ui/src/settings-02.tsx",
1250
+ "type": "registry:component",
1251
+ "target": "packages/ui/src/settings-02.tsx"
1252
+ }
1253
+ ],
1254
+ "peerDependencies": [
1255
+ "react"
1256
+ ],
1257
+ "manifestId": "settings-02",
1258
+ "capabilityAliases": [
1259
+ "settings 02",
1260
+ "team settings"
1261
+ ],
1262
+ "searchTerms": [
1263
+ "settings",
1264
+ "team"
1265
+ ]
1266
+ },
1267
+ {
1268
+ "name": "hero-header",
1269
+ "type": "registry:block",
1270
+ "title": "Hero Header",
1271
+ "description": "Marketing hero header section with eyebrow, title, description, actions and media slot, content-driven and RTL-safe.",
1272
+ "files": [
1273
+ {
1274
+ "path": "packages/ui/src/hero-header.tsx",
1275
+ "type": "registry:component",
1276
+ "target": "packages/ui/src/hero-header.tsx"
1277
+ }
1278
+ ],
1279
+ "peerDependencies": [
1280
+ "react"
1281
+ ],
1282
+ "manifestId": "hero-header",
1283
+ "capabilityAliases": [
1284
+ "hero header section",
1285
+ "marketing hero",
1286
+ "hero"
1287
+ ],
1288
+ "searchTerms": [
1289
+ "hero",
1290
+ "header",
1291
+ "marketing"
1292
+ ]
1293
+ },
1294
+ {
1295
+ "name": "marketing-header",
1296
+ "type": "registry:block",
1297
+ "title": "Marketing Header",
1298
+ "description": "Marketing header navigation with brand, links and actions, distinct from application HeaderNavigation and responsive.",
1299
+ "files": [
1300
+ {
1301
+ "path": "packages/ui/src/marketing-header.tsx",
1302
+ "type": "registry:component",
1303
+ "target": "packages/ui/src/marketing-header.tsx"
1304
+ }
1305
+ ],
1306
+ "peerDependencies": [
1307
+ "react"
1308
+ ],
1309
+ "manifestId": "marketing-header",
1310
+ "capabilityAliases": [
1311
+ "marketing header navigation",
1312
+ "marketing header"
1313
+ ],
1314
+ "searchTerms": [
1315
+ "marketing header",
1316
+ "navigation"
1317
+ ]
1318
+ },
1319
+ {
1320
+ "name": "landing-page",
1321
+ "type": "registry:block",
1322
+ "title": "Landing Page",
1323
+ "description": "Marketing landing page composition from MarketingHeader, HeroHeader and sections with no hidden page-specific primitives.",
1324
+ "files": [
1325
+ {
1326
+ "path": "packages/ui/src/landing-page.tsx",
1327
+ "type": "registry:component",
1328
+ "target": "packages/ui/src/landing-page.tsx"
1329
+ }
1330
+ ],
1331
+ "peerDependencies": [
1332
+ "react"
1333
+ ],
1334
+ "manifestId": "landing-page",
1335
+ "capabilityAliases": [
1336
+ "landing page",
1337
+ "marketing landing",
1338
+ "marketing 404"
1339
+ ],
1340
+ "searchTerms": [
1341
+ "landing",
1342
+ "marketing",
1343
+ "page"
1344
+ ]
1345
+ },
1346
+ {
1347
+ "name": "calendar",
1348
+ "type": "registry:ui",
1349
+ "title": "Calendar",
1350
+ "description": "Calendar grid with month navigation, separate locale formatting and RTL, Jalali extension point.",
1351
+ "files": [
1352
+ {
1353
+ "path": "packages/ui/src/calendar.tsx",
1354
+ "type": "registry:component",
1355
+ "target": "packages/ui/src/calendar.tsx"
1356
+ }
1357
+ ],
1358
+ "peerDependencies": [
1359
+ "react"
1360
+ ],
1361
+ "manifestId": "calendar",
1362
+ "capabilityAliases": [
1363
+ "calendar",
1364
+ "calendar"
1365
+ ],
1366
+ "searchTerms": [
1367
+ "calendar",
1368
+ "calendar",
1369
+ "pickers"
1370
+ ],
1371
+ "dependencies": [
1372
+ "@noe/icons"
1373
+ ]
1374
+ },
1375
+ {
1376
+ "name": "date-picker",
1377
+ "type": "registry:ui",
1378
+ "title": "Date Picker",
1379
+ "description": "Date picker composing Calendar and Field with popover, locale-aware formatting.",
1380
+ "files": [
1381
+ {
1382
+ "path": "packages/ui/src/date-picker.tsx",
1383
+ "type": "registry:component",
1384
+ "target": "packages/ui/src/date-picker.tsx"
1385
+ }
1386
+ ],
1387
+ "peerDependencies": [
1388
+ "react"
1389
+ ],
1390
+ "manifestId": "date-picker",
1391
+ "capabilityAliases": [
1392
+ "date picker",
1393
+ "date-picker"
1394
+ ],
1395
+ "searchTerms": [
1396
+ "date-picker",
1397
+ "date picker",
1398
+ "pickers"
1399
+ ],
1400
+ "dependencies": [
1401
+ "@noe/icons"
1402
+ ]
1403
+ },
1404
+ {
1405
+ "name": "gradient-picker",
1406
+ "type": "registry:ui",
1407
+ "title": "Gradient Picker",
1408
+ "description": "Gradient picker with two color stops and CSS output, tokenized and accessible, distinct from ColorPicker.",
1409
+ "files": [
1410
+ {
1411
+ "path": "packages/ui/src/gradient-picker.tsx",
1412
+ "type": "registry:component",
1413
+ "target": "packages/ui/src/gradient-picker.tsx"
1414
+ }
1415
+ ],
1416
+ "peerDependencies": [
1417
+ "react"
1418
+ ],
1419
+ "manifestId": "gradient-picker",
1420
+ "capabilityAliases": [
1421
+ "gradient picker",
1422
+ "gradient",
1423
+ "linear gradient"
1424
+ ],
1425
+ "searchTerms": [
1426
+ "gradient",
1427
+ "picker",
1428
+ "color"
1429
+ ]
1430
+ },
1431
+ {
1432
+ "name": "image-picker",
1433
+ "type": "registry:ui",
1434
+ "title": "Image Picker",
1435
+ "description": "Image picker with preview, drag and file input, tokenized and RTL-safe, distinct from FileUploader.",
1436
+ "files": [
1437
+ {
1438
+ "path": "packages/ui/src/image-picker.tsx",
1439
+ "type": "registry:component",
1440
+ "target": "packages/ui/src/image-picker.tsx"
1441
+ }
1442
+ ],
1443
+ "peerDependencies": [
1444
+ "react"
1445
+ ],
1446
+ "manifestId": "image-picker",
1447
+ "capabilityAliases": [
1448
+ "image picker",
1449
+ "image select",
1450
+ "image upload"
1451
+ ],
1452
+ "searchTerms": [
1453
+ "image",
1454
+ "picker",
1455
+ "upload"
1456
+ ]
1457
+ },
1458
+ {
1459
+ "name": "inline-cta",
1460
+ "type": "registry:ui",
1461
+ "title": "Inline Cta",
1462
+ "description": "Inline call to action link with trailing logical chevron, tokenized, for use within prose.",
1463
+ "files": [
1464
+ {
1465
+ "path": "packages/ui/src/inline-cta.tsx",
1466
+ "type": "registry:component",
1467
+ "target": "packages/ui/src/inline-cta.tsx"
1468
+ }
1469
+ ],
1470
+ "peerDependencies": [
1471
+ "react"
1472
+ ],
1473
+ "manifestId": "inline-cta",
1474
+ "capabilityAliases": [
1475
+ "inline cta",
1476
+ "inline call to action",
1477
+ "text link cta"
1478
+ ],
1479
+ "searchTerms": [
1480
+ "inline cta",
1481
+ "cta",
1482
+ "link"
1483
+ ],
1484
+ "dependencies": [
1485
+ "@noe/icons"
1486
+ ]
1487
+ },
1488
+ {
1489
+ "name": "direction-provider",
1490
+ "type": "registry:ui",
1491
+ "title": "Direction Provider",
1492
+ "description": "Establishes a direction scope for nested content and portalled overlays, independent of page direction.",
1493
+ "files": [
1494
+ {
1495
+ "path": "packages/ui/src/direction.tsx",
1496
+ "type": "registry:component",
1497
+ "target": "packages/ui/src/direction.tsx"
1498
+ }
1499
+ ],
1500
+ "registryDependencies": [],
1501
+ "dependencies": [
1502
+ "@base-ui/react"
1503
+ ],
1504
+ "peerDependencies": [
1505
+ "react"
1506
+ ],
1507
+ "manifestId": "direction-provider",
1508
+ "capabilityAliases": [
1509
+ "direction scope",
1510
+ "portal direction"
1511
+ ],
1512
+ "searchTerms": [
1513
+ "direction provider",
1514
+ "dir",
1515
+ "portal",
1516
+ "rtl scope"
1517
+ ]
1518
+ },
1519
+ {
1520
+ "name": "icon-system",
1521
+ "type": "registry:ui",
1522
+ "title": "Icon System",
1523
+ "description": "Icon System — Foundations / Icons component. icon-system provides foundations / icons behavior with RTL, i18n and accessibility built-in.",
1524
+ "files": [
1525
+ {
1526
+ "path": "packages/icons/src/index.tsx",
1527
+ "type": "registry:component",
1528
+ "target": "packages/icons/src/index.tsx"
1529
+ }
1530
+ ],
1531
+ "registryDependencies": [],
1532
+ "dependencies": [],
1533
+ "peerDependencies": [
1534
+ "react"
1535
+ ],
1536
+ "manifestId": "icon-system",
1537
+ "capabilityAliases": [
1538
+ "icon system",
1539
+ "icon-system"
1540
+ ],
1541
+ "searchTerms": [
1542
+ "icon-system",
1543
+ "icon system",
1544
+ "icons"
1545
+ ]
1546
+ },
1547
+ {
1548
+ "name": "textarea",
1549
+ "type": "registry:ui",
1550
+ "title": "Textarea",
1551
+ "description": "Textarea — Primitives / Forms component. textarea provides primitives / forms behavior with RTL, i18n and accessibility built-in.",
1552
+ "files": [
1553
+ {
1554
+ "path": "packages/ui/src/input.tsx",
1555
+ "type": "registry:component",
1556
+ "target": "packages/ui/src/input.tsx"
1557
+ },
1558
+ {
1559
+ "path": "packages/ui/src/lib/cn.ts",
1560
+ "type": "registry:component",
1561
+ "target": "packages/ui/src/lib/cn.ts"
1562
+ },
1563
+ {
1564
+ "path": "packages/ui/src/textarea.tsx",
1565
+ "type": "registry:component",
1566
+ "target": "packages/ui/src/textarea.tsx"
1567
+ }
1568
+ ],
1569
+ "registryDependencies": [],
1570
+ "dependencies": [
1571
+ "@base-ui/react",
1572
+ "clsx",
1573
+ "tailwind-merge"
1574
+ ],
1575
+ "peerDependencies": [
1576
+ "react"
1577
+ ],
1578
+ "manifestId": "textarea",
1579
+ "capabilityAliases": [
1580
+ "textarea",
1581
+ "textarea"
1582
+ ],
1583
+ "searchTerms": [
1584
+ "textarea",
1585
+ "textarea",
1586
+ "forms"
1587
+ ]
1588
+ },
1589
+ {
1590
+ "name": "card",
1591
+ "type": "registry:ui",
1592
+ "title": "Card",
1593
+ "description": "Card — Primitives / Layout component. card provides primitives / layout behavior with RTL, i18n and accessibility built-in.",
1594
+ "files": [
1595
+ {
1596
+ "path": "packages/ui/src/card.tsx",
1597
+ "type": "registry:component",
1598
+ "target": "packages/ui/src/card.tsx"
1599
+ },
1600
+ {
1601
+ "path": "packages/ui/src/lib/cn.ts",
1602
+ "type": "registry:component",
1603
+ "target": "packages/ui/src/lib/cn.ts"
1604
+ }
1605
+ ],
1606
+ "registryDependencies": [],
1607
+ "dependencies": [
1608
+ "clsx",
1609
+ "tailwind-merge"
1610
+ ],
1611
+ "peerDependencies": [
1612
+ "react"
1613
+ ],
1614
+ "manifestId": "card",
1615
+ "capabilityAliases": [
1616
+ "card",
1617
+ "card"
1618
+ ],
1619
+ "searchTerms": [
1620
+ "card",
1621
+ "card",
1622
+ "layout"
1623
+ ]
1624
+ },
1625
+ {
1626
+ "name": "alert",
1627
+ "type": "registry:ui",
1628
+ "title": "Alert",
1629
+ "description": "Alert — Feedback component. alert provides feedback behavior with RTL, i18n and accessibility built-in.",
1630
+ "files": [
1631
+ {
1632
+ "path": "packages/ui/src/alert.tsx",
1633
+ "type": "registry:component",
1634
+ "target": "packages/ui/src/alert.tsx"
1635
+ },
1636
+ {
1637
+ "path": "packages/ui/src/lib/cn.ts",
1638
+ "type": "registry:component",
1639
+ "target": "packages/ui/src/lib/cn.ts"
1640
+ }
1641
+ ],
1642
+ "registryDependencies": [],
1643
+ "dependencies": [
1644
+ "class-variance-authority",
1645
+ "clsx",
1646
+ "tailwind-merge"
1647
+ ],
1648
+ "peerDependencies": [
1649
+ "react"
1650
+ ],
1651
+ "manifestId": "alert",
1652
+ "capabilityAliases": [
1653
+ "alert",
1654
+ "alert"
1655
+ ],
1656
+ "searchTerms": [
1657
+ "alert",
1658
+ "alert",
1659
+ "feedback"
1660
+ ]
1661
+ },
1662
+ {
1663
+ "name": "badge",
1664
+ "type": "registry:ui",
1665
+ "title": "Badge",
1666
+ "description": "Badge — Feedback component. badge provides feedback behavior with RTL, i18n and accessibility built-in.",
1667
+ "files": [
1668
+ {
1669
+ "path": "packages/ui/src/badge.tsx",
1670
+ "type": "registry:component",
1671
+ "target": "packages/ui/src/badge.tsx"
1672
+ },
1673
+ {
1674
+ "path": "packages/ui/src/lib/cn.ts",
1675
+ "type": "registry:component",
1676
+ "target": "packages/ui/src/lib/cn.ts"
1677
+ }
1678
+ ],
1679
+ "registryDependencies": [],
1680
+ "dependencies": [
1681
+ "class-variance-authority",
1682
+ "clsx",
1683
+ "tailwind-merge"
1684
+ ],
1685
+ "peerDependencies": [
1686
+ "react"
1687
+ ],
1688
+ "manifestId": "badge",
1689
+ "capabilityAliases": [
1690
+ "badge",
1691
+ "badge"
1692
+ ],
1693
+ "searchTerms": [
1694
+ "badge",
1695
+ "badge",
1696
+ "feedback"
1697
+ ]
1698
+ },
1699
+ {
1700
+ "name": "skeleton",
1701
+ "type": "registry:ui",
1702
+ "title": "Skeleton",
1703
+ "description": "Skeleton — Feedback component. skeleton provides feedback behavior with RTL, i18n and accessibility built-in.",
1704
+ "files": [
1705
+ {
1706
+ "path": "packages/ui/src/lib/cn.ts",
1707
+ "type": "registry:component",
1708
+ "target": "packages/ui/src/lib/cn.ts"
1709
+ },
1710
+ {
1711
+ "path": "packages/ui/src/skeleton.tsx",
1712
+ "type": "registry:component",
1713
+ "target": "packages/ui/src/skeleton.tsx"
1714
+ }
1715
+ ],
1716
+ "registryDependencies": [],
1717
+ "dependencies": [
1718
+ "clsx",
1719
+ "tailwind-merge"
1720
+ ],
1721
+ "peerDependencies": [
1722
+ "react"
1723
+ ],
1724
+ "manifestId": "skeleton",
1725
+ "capabilityAliases": [
1726
+ "skeleton",
1727
+ "skeleton"
1728
+ ],
1729
+ "searchTerms": [
1730
+ "skeleton",
1731
+ "skeleton",
1732
+ "feedback"
1733
+ ]
1734
+ },
1735
+ {
1736
+ "name": "spinner",
1737
+ "type": "registry:ui",
1738
+ "title": "Spinner",
1739
+ "description": "Spinner — Feedback component. spinner provides feedback behavior with RTL, i18n and accessibility built-in.",
1740
+ "files": [
1741
+ {
1742
+ "path": "packages/ui/src/lib/cn.ts",
1743
+ "type": "registry:component",
1744
+ "target": "packages/ui/src/lib/cn.ts"
1745
+ },
1746
+ {
1747
+ "path": "packages/ui/src/spinner.tsx",
1748
+ "type": "registry:component",
1749
+ "target": "packages/ui/src/spinner.tsx"
1750
+ }
1751
+ ],
1752
+ "registryDependencies": [],
1753
+ "dependencies": [
1754
+ "clsx",
1755
+ "tailwind-merge"
1756
+ ],
1757
+ "peerDependencies": [
1758
+ "react"
1759
+ ],
1760
+ "manifestId": "spinner",
1761
+ "capabilityAliases": [
1762
+ "spinner",
1763
+ "spinner"
1764
+ ],
1765
+ "searchTerms": [
1766
+ "spinner",
1767
+ "spinner",
1768
+ "feedback"
1769
+ ]
1770
+ },
1771
+ {
1772
+ "name": "empty-state",
1773
+ "type": "registry:ui",
1774
+ "title": "Empty State",
1775
+ "description": "Empty State — Feedback component. empty-state provides feedback behavior with RTL, i18n and accessibility built-in.",
1776
+ "files": [
1777
+ {
1778
+ "path": "packages/ui/src/empty-state.tsx",
1779
+ "type": "registry:component",
1780
+ "target": "packages/ui/src/empty-state.tsx"
1781
+ },
1782
+ {
1783
+ "path": "packages/ui/src/lib/cn.ts",
1784
+ "type": "registry:component",
1785
+ "target": "packages/ui/src/lib/cn.ts"
1786
+ }
1787
+ ],
1788
+ "registryDependencies": [],
1789
+ "dependencies": [
1790
+ "clsx",
1791
+ "tailwind-merge"
1792
+ ],
1793
+ "peerDependencies": [
1794
+ "react"
1795
+ ],
1796
+ "manifestId": "empty-state",
1797
+ "capabilityAliases": [
1798
+ "empty state",
1799
+ "empty-state"
1800
+ ],
1801
+ "searchTerms": [
1802
+ "empty-state",
1803
+ "empty state",
1804
+ "feedback"
1805
+ ]
1806
+ },
1807
+ {
1808
+ "name": "error-state",
1809
+ "type": "registry:ui",
1810
+ "title": "Error State",
1811
+ "description": "Error State — Feedback component. error-state provides feedback behavior with RTL, i18n and accessibility built-in.",
1812
+ "files": [
1813
+ {
1814
+ "path": "packages/ui/src/error-state.tsx",
1815
+ "type": "registry:component",
1816
+ "target": "packages/ui/src/error-state.tsx"
1817
+ },
1818
+ {
1819
+ "path": "packages/ui/src/lib/cn.ts",
1820
+ "type": "registry:component",
1821
+ "target": "packages/ui/src/lib/cn.ts"
1822
+ }
1823
+ ],
1824
+ "registryDependencies": [],
1825
+ "dependencies": [
1826
+ "clsx",
1827
+ "tailwind-merge"
1828
+ ],
1829
+ "peerDependencies": [
1830
+ "react"
1831
+ ],
1832
+ "manifestId": "error-state",
1833
+ "capabilityAliases": [
1834
+ "error state",
1835
+ "error-state"
1836
+ ],
1837
+ "searchTerms": [
1838
+ "error-state",
1839
+ "error state",
1840
+ "feedback"
1841
+ ]
1842
+ },
1843
+ {
1844
+ "name": "menu",
1845
+ "type": "registry:ui",
1846
+ "title": "Menu",
1847
+ "description": "Menu — Overlays component. menu provides overlays behavior with RTL, i18n and accessibility built-in.",
1848
+ "files": [
1849
+ {
1850
+ "path": "packages/ui/src/direction.tsx",
1851
+ "type": "registry:component",
1852
+ "target": "packages/ui/src/direction.tsx"
1853
+ },
1854
+ {
1855
+ "path": "packages/ui/src/lib/cn.ts",
1856
+ "type": "registry:component",
1857
+ "target": "packages/ui/src/lib/cn.ts"
1858
+ },
1859
+ {
1860
+ "path": "packages/ui/src/menu.tsx",
1861
+ "type": "registry:component",
1862
+ "target": "packages/ui/src/menu.tsx"
1863
+ }
1864
+ ],
1865
+ "registryDependencies": [],
1866
+ "dependencies": [
1867
+ "@base-ui/react",
1868
+ "class-variance-authority",
1869
+ "clsx",
1870
+ "tailwind-merge"
1871
+ ],
1872
+ "peerDependencies": [
1873
+ "react"
1874
+ ],
1875
+ "manifestId": "menu",
1876
+ "capabilityAliases": [
1877
+ "menu",
1878
+ "menu"
1879
+ ],
1880
+ "searchTerms": [
1881
+ "menu",
1882
+ "menu",
1883
+ "overlays"
1884
+ ]
1885
+ },
1886
+ {
1887
+ "name": "tooltip",
1888
+ "type": "registry:ui",
1889
+ "title": "Tooltip",
1890
+ "description": "Tooltip — Overlays component. tooltip provides overlays behavior with RTL, i18n and accessibility built-in.",
1891
+ "files": [
1892
+ {
1893
+ "path": "packages/ui/src/direction.tsx",
1894
+ "type": "registry:component",
1895
+ "target": "packages/ui/src/direction.tsx"
1896
+ },
1897
+ {
1898
+ "path": "packages/ui/src/lib/cn.ts",
1899
+ "type": "registry:component",
1900
+ "target": "packages/ui/src/lib/cn.ts"
1901
+ },
1902
+ {
1903
+ "path": "packages/ui/src/tooltip.tsx",
1904
+ "type": "registry:component",
1905
+ "target": "packages/ui/src/tooltip.tsx"
1906
+ }
1907
+ ],
1908
+ "registryDependencies": [],
1909
+ "dependencies": [
1910
+ "@base-ui/react",
1911
+ "clsx",
1912
+ "tailwind-merge"
1913
+ ],
1914
+ "peerDependencies": [
1915
+ "react"
1916
+ ],
1917
+ "manifestId": "tooltip",
1918
+ "capabilityAliases": [
1919
+ "tooltip",
1920
+ "tooltip"
1921
+ ],
1922
+ "searchTerms": [
1923
+ "tooltip",
1924
+ "tooltip",
1925
+ "overlays"
1926
+ ]
1927
+ },
1928
+ {
1929
+ "name": "tabs",
1930
+ "type": "registry:ui",
1931
+ "title": "Tabs",
1932
+ "description": "Tabs — Navigation component. tabs provides navigation behavior with RTL, i18n and accessibility built-in.",
1933
+ "files": [
1934
+ {
1935
+ "path": "packages/ui/src/lib/cn.ts",
1936
+ "type": "registry:component",
1937
+ "target": "packages/ui/src/lib/cn.ts"
1938
+ },
1939
+ {
1940
+ "path": "packages/ui/src/tabs.tsx",
1941
+ "type": "registry:component",
1942
+ "target": "packages/ui/src/tabs.tsx"
1943
+ }
1944
+ ],
1945
+ "registryDependencies": [],
1946
+ "dependencies": [
1947
+ "@base-ui/react",
1948
+ "class-variance-authority",
1949
+ "clsx",
1950
+ "tailwind-merge"
1951
+ ],
1952
+ "peerDependencies": [
1953
+ "react"
1954
+ ],
1955
+ "manifestId": "tabs",
1956
+ "capabilityAliases": [
1957
+ "tabs",
1958
+ "tabs"
1959
+ ],
1960
+ "searchTerms": [
1961
+ "tabs",
1962
+ "tabs",
1963
+ "navigation"
1964
+ ]
1965
+ },
1966
+ {
1967
+ "name": "chart-frame",
1968
+ "type": "registry:ui",
1969
+ "title": "Chart Frame",
1970
+ "description": "Chart Frame — Data component. chart-frame provides data behavior with RTL, i18n and accessibility built-in.",
1971
+ "files": [
1972
+ {
1973
+ "path": "packages/data-ui/src/chart-frame.tsx",
1974
+ "type": "registry:component",
1975
+ "target": "packages/data-ui/src/chart-frame.tsx"
1976
+ }
1977
+ ],
1978
+ "registryDependencies": [],
1979
+ "dependencies": [
1980
+ "@noe/ui"
1981
+ ],
1982
+ "peerDependencies": [
1983
+ "react"
1984
+ ],
1985
+ "manifestId": "chart-frame",
1986
+ "capabilityAliases": [
1987
+ "chart frame",
1988
+ "chart-frame"
1989
+ ],
1990
+ "searchTerms": [
1991
+ "chart-frame",
1992
+ "chart frame",
1993
+ "data"
1994
+ ]
1995
+ }
1996
+ ]
1997
+ }