@open-mercato/core 0.7.1-develop.7202.1.a52dc6707c → 0.8.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 (416) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/build.mjs +11 -0
  3. package/dist/modules/catalog/backend/catalog/products/[id]/page.js +23 -0
  4. package/dist/modules/catalog/backend/catalog/products/[id]/page.js.map +2 -2
  5. package/dist/modules/customers/backend/customers/companies/[id]/page.js +2 -1
  6. package/dist/modules/customers/backend/customers/companies/[id]/page.js.map +2 -2
  7. package/dist/modules/customers/backend/customers/companies-v2/[id]/page.js +2 -1
  8. package/dist/modules/customers/backend/customers/companies-v2/[id]/page.js.map +2 -2
  9. package/dist/modules/customers/backend/customers/people/[id]/page.js +2 -2
  10. package/dist/modules/customers/backend/customers/people/[id]/page.js.map +2 -2
  11. package/dist/modules/customers/backend/customers/people-v2/[id]/page.js +2 -1
  12. package/dist/modules/customers/backend/customers/people-v2/[id]/page.js.map +2 -2
  13. package/dist/modules/customers/lib/detailHelpers.js +4 -0
  14. package/dist/modules/customers/lib/detailHelpers.js.map +2 -2
  15. package/dist/modules/customers/lib/todoCompatibility.js +5 -0
  16. package/dist/modules/customers/lib/todoCompatibility.js.map +2 -2
  17. package/dist/modules/design_system/backend/design-system/page.meta.js +3 -2
  18. package/dist/modules/design_system/backend/design-system/page.meta.js.map +2 -2
  19. package/dist/modules/design_system/gallery/assets/ai-prompt-image.png +0 -0
  20. package/dist/modules/design_system/gallery/assets/avatar-illustration.png +0 -0
  21. package/dist/modules/design_system/gallery/assets/avatar-memoji.png +0 -0
  22. package/dist/modules/design_system/gallery/assets/avatar-photo.png +0 -0
  23. package/dist/modules/design_system/gallery/assets/blog-photo-0.png +0 -0
  24. package/dist/modules/design_system/gallery/assets/contact-support-portrait.png +0 -0
  25. package/dist/modules/design_system/gallery/assets/crypto-ada.png +0 -0
  26. package/dist/modules/design_system/gallery/assets/crypto-avax.png +0 -0
  27. package/dist/modules/design_system/gallery/assets/crypto-bnb.png +0 -0
  28. package/dist/modules/design_system/gallery/assets/crypto-brand.png +0 -0
  29. package/dist/modules/design_system/gallery/assets/crypto-btc.png +0 -0
  30. package/dist/modules/design_system/gallery/assets/crypto-clock.svg +3 -0
  31. package/dist/modules/design_system/gallery/assets/crypto-crown.svg +3 -0
  32. package/dist/modules/design_system/gallery/assets/crypto-dot.png +0 -0
  33. package/dist/modules/design_system/gallery/assets/crypto-eth.png +0 -0
  34. package/dist/modules/design_system/gallery/assets/crypto-hbar.png +0 -0
  35. package/dist/modules/design_system/gallery/assets/crypto-history.svg +3 -0
  36. package/dist/modules/design_system/gallery/assets/crypto-link.svg +3 -0
  37. package/dist/modules/design_system/gallery/assets/crypto-menu.svg +3 -0
  38. package/dist/modules/design_system/gallery/assets/crypto-metamask.png +0 -0
  39. package/dist/modules/design_system/gallery/assets/crypto-more.svg +3 -0
  40. package/dist/modules/design_system/gallery/assets/crypto-phantom.png +0 -0
  41. package/dist/modules/design_system/gallery/assets/crypto-rewards.svg +3 -0
  42. package/dist/modules/design_system/gallery/assets/crypto-sad-face.png +0 -0
  43. package/dist/modules/design_system/gallery/assets/crypto-sol.png +0 -0
  44. package/dist/modules/design_system/gallery/assets/crypto-star.svg +3 -0
  45. package/dist/modules/design_system/gallery/assets/crypto-status-cancelled.svg +3 -0
  46. package/dist/modules/design_system/gallery/assets/crypto-status-pending.svg +3 -0
  47. package/dist/modules/design_system/gallery/assets/crypto-status-success.svg +3 -0
  48. package/dist/modules/design_system/gallery/assets/crypto-status-warning.svg +3 -0
  49. package/dist/modules/design_system/gallery/assets/crypto-trx.png +0 -0
  50. package/dist/modules/design_system/gallery/assets/crypto-usdc.png +0 -0
  51. package/dist/modules/design_system/gallery/assets/crypto-usdt.png +0 -0
  52. package/dist/modules/design_system/gallery/assets/crypto-walletconnect.png +0 -0
  53. package/dist/modules/design_system/gallery/assets/crypto-wei.png +0 -0
  54. package/dist/modules/design_system/gallery/assets/crypto-xrp.png +0 -0
  55. package/dist/modules/design_system/gallery/assets/cryptocurrency-artwork.js +67 -0
  56. package/dist/modules/design_system/gallery/assets/cryptocurrency-artwork.js.map +7 -0
  57. package/dist/modules/design_system/gallery/assets/github-logo.png +0 -0
  58. package/dist/modules/design_system/gallery/assets/images.d.js +1 -0
  59. package/dist/modules/design_system/gallery/assets/images.d.js.map +7 -0
  60. package/dist/modules/design_system/gallery/assets/input-european-union.svg +18 -0
  61. package/dist/modules/design_system/gallery/assets/landing-teams-01.png +0 -0
  62. package/dist/modules/design_system/gallery/assets/marketing-artwork.js +83 -0
  63. package/dist/modules/design_system/gallery/assets/marketing-artwork.js.map +7 -0
  64. package/dist/modules/design_system/gallery/assets/menu-apex.svg +18 -0
  65. package/dist/modules/design_system/gallery/assets/menu-mastercard.svg +7 -0
  66. package/dist/modules/design_system/gallery/assets/menu-spotify.svg +4 -0
  67. package/dist/modules/design_system/gallery/assets/menu-united-states.svg +16 -0
  68. package/dist/modules/design_system/gallery/assets/select-google.png +0 -0
  69. package/dist/modules/design_system/gallery/assets/select-poland.png +0 -0
  70. package/dist/modules/design_system/gallery/assets/selection-artwork.js +5 -0
  71. package/dist/modules/design_system/gallery/assets/selection-artwork.js.map +7 -0
  72. package/dist/modules/design_system/gallery/assets/social-apple-filled.svg +4 -0
  73. package/dist/modules/design_system/gallery/assets/social-apple-stroke.svg +4 -0
  74. package/dist/modules/design_system/gallery/assets/social-dropbox-filled.svg +5 -0
  75. package/dist/modules/design_system/gallery/assets/social-dropbox-stroke.svg +5 -0
  76. package/dist/modules/design_system/gallery/assets/social-facebook-filled.svg +4 -0
  77. package/dist/modules/design_system/gallery/assets/social-facebook-stroke.svg +10 -0
  78. package/dist/modules/design_system/gallery/assets/social-github-filled.svg +4 -0
  79. package/dist/modules/design_system/gallery/assets/social-github-stroke.svg +4 -0
  80. package/dist/modules/design_system/gallery/assets/social-google-filled.svg +7 -0
  81. package/dist/modules/design_system/gallery/assets/social-google-stroke.svg +7 -0
  82. package/dist/modules/design_system/gallery/assets/social-linkedin-filled.svg +4 -0
  83. package/dist/modules/design_system/gallery/assets/social-linkedin-stroke.svg +4 -0
  84. package/dist/modules/design_system/gallery/assets/social-x-filled.svg +4 -0
  85. package/dist/modules/design_system/gallery/assets/social-x-stroke.svg +4 -0
  86. package/dist/modules/design_system/gallery/assets/style-studio-product.png +0 -0
  87. package/dist/modules/design_system/gallery/assets/upload-images.js +8 -0
  88. package/dist/modules/design_system/gallery/assets/upload-images.js.map +7 -0
  89. package/dist/modules/design_system/gallery/components/BrandStylePreview.js +74 -0
  90. package/dist/modules/design_system/gallery/components/BrandStylePreview.js.map +7 -0
  91. package/dist/modules/design_system/gallery/components/CodeSnippet.js +31 -31
  92. package/dist/modules/design_system/gallery/components/CodeSnippet.js.map +2 -2
  93. package/dist/modules/design_system/gallery/components/ColorPlayground.js +408 -0
  94. package/dist/modules/design_system/gallery/components/ColorPlayground.js.map +7 -0
  95. package/dist/modules/design_system/gallery/components/ColorStudioCompositions.js +166 -0
  96. package/dist/modules/design_system/gallery/components/ColorStudioCompositions.js.map +7 -0
  97. package/dist/modules/design_system/gallery/components/ColorStudioSpecimen.js +182 -0
  98. package/dist/modules/design_system/gallery/components/ColorStudioSpecimen.js.map +7 -0
  99. package/dist/modules/design_system/gallery/components/CompactEntrySpecimen.js +80 -0
  100. package/dist/modules/design_system/gallery/components/CompactEntrySpecimen.js.map +7 -0
  101. package/dist/modules/design_system/gallery/components/ComponentIndex.js +42 -0
  102. package/dist/modules/design_system/gallery/components/ComponentIndex.js.map +7 -0
  103. package/dist/modules/design_system/gallery/components/DesignSystemHome.js +69 -0
  104. package/dist/modules/design_system/gallery/components/DesignSystemHome.js.map +7 -0
  105. package/dist/modules/design_system/gallery/components/EntryCard.js +47 -41
  106. package/dist/modules/design_system/gallery/components/EntryCard.js.map +2 -2
  107. package/dist/modules/design_system/gallery/components/EntryHeader.js +68 -0
  108. package/dist/modules/design_system/gallery/components/EntryHeader.js.map +7 -0
  109. package/dist/modules/design_system/gallery/components/FamilyEntryPreview.js +19 -0
  110. package/dist/modules/design_system/gallery/components/FamilyEntryPreview.js.map +7 -0
  111. package/dist/modules/design_system/gallery/components/FoundationGuide.js +46 -0
  112. package/dist/modules/design_system/gallery/components/FoundationGuide.js.map +7 -0
  113. package/dist/modules/design_system/gallery/components/GalleryLink.js +21 -0
  114. package/dist/modules/design_system/gallery/components/GalleryLink.js.map +7 -0
  115. package/dist/modules/design_system/gallery/components/GalleryNavigation.js +82 -0
  116. package/dist/modules/design_system/gallery/components/GalleryNavigation.js.map +7 -0
  117. package/dist/modules/design_system/gallery/components/GalleryShell.js +147 -67
  118. package/dist/modules/design_system/gallery/components/GalleryShell.js.map +3 -3
  119. package/dist/modules/design_system/gallery/components/IconsBrowser.js +33 -0
  120. package/dist/modules/design_system/gallery/components/IconsBrowser.js.map +7 -0
  121. package/dist/modules/design_system/gallery/components/SourceLibrary.js +93 -0
  122. package/dist/modules/design_system/gallery/components/SourceLibrary.js.map +7 -0
  123. package/dist/modules/design_system/gallery/components/StyleAgents.js +139 -0
  124. package/dist/modules/design_system/gallery/components/StyleAgents.js.map +7 -0
  125. package/dist/modules/design_system/gallery/components/ThemeTokenReference.js +101 -0
  126. package/dist/modules/design_system/gallery/components/ThemeTokenReference.js.map +7 -0
  127. package/dist/modules/design_system/gallery/components/VariantPreview.js +2 -2
  128. package/dist/modules/design_system/gallery/components/VariantPreview.js.map +2 -2
  129. package/dist/modules/design_system/gallery/components/colorPreview.js +58 -0
  130. package/dist/modules/design_system/gallery/components/colorPreview.js.map +7 -0
  131. package/dist/modules/design_system/gallery/components/colorStudio.js +218 -0
  132. package/dist/modules/design_system/gallery/components/colorStudio.js.map +7 -0
  133. package/dist/modules/design_system/gallery/components/styleAgentBranding.js +46 -0
  134. package/dist/modules/design_system/gallery/components/styleAgentBranding.js.map +7 -0
  135. package/dist/modules/design_system/gallery/components/themeTokens.js +32 -0
  136. package/dist/modules/design_system/gallery/components/themeTokens.js.map +7 -0
  137. package/dist/modules/design_system/gallery/demos/ai-product-code.generated.js +194 -0
  138. package/dist/modules/design_system/gallery/demos/ai-product-code.generated.js.map +7 -0
  139. package/dist/modules/design_system/gallery/demos/ai-product.js +423 -0
  140. package/dist/modules/design_system/gallery/demos/ai-product.js.map +7 -0
  141. package/dist/modules/design_system/gallery/demos/buttons.js +289 -0
  142. package/dist/modules/design_system/gallery/demos/buttons.js.map +7 -0
  143. package/dist/modules/design_system/gallery/demos/cryptocurrency.js +1708 -0
  144. package/dist/modules/design_system/gallery/demos/cryptocurrency.js.map +7 -0
  145. package/dist/modules/design_system/gallery/demos/feeds-code.generated.js +92 -0
  146. package/dist/modules/design_system/gallery/demos/feeds-code.generated.js.map +7 -0
  147. package/dist/modules/design_system/gallery/demos/feeds.js +148 -0
  148. package/dist/modules/design_system/gallery/demos/feeds.js.map +7 -0
  149. package/dist/modules/design_system/gallery/demos/file-upload.js +72 -0
  150. package/dist/modules/design_system/gallery/demos/file-upload.js.map +7 -0
  151. package/dist/modules/design_system/gallery/demos/foundation-reference-data.js +4875 -0
  152. package/dist/modules/design_system/gallery/demos/foundation-reference-data.js.map +7 -0
  153. package/dist/modules/design_system/gallery/demos/foundation-references.js +188 -0
  154. package/dist/modules/design_system/gallery/demos/foundation-references.js.map +7 -0
  155. package/dist/modules/design_system/gallery/demos/key-components-code.generated.js +6 -0
  156. package/dist/modules/design_system/gallery/demos/key-components-code.generated.js.map +7 -0
  157. package/dist/modules/design_system/gallery/demos/key-components.js +127 -0
  158. package/dist/modules/design_system/gallery/demos/key-components.js.map +7 -0
  159. package/dist/modules/design_system/gallery/demos/marketing-controls-code.generated.js +98 -0
  160. package/dist/modules/design_system/gallery/demos/marketing-controls-code.generated.js.map +7 -0
  161. package/dist/modules/design_system/gallery/demos/marketing-controls.js +134 -0
  162. package/dist/modules/design_system/gallery/demos/marketing-controls.js.map +7 -0
  163. package/dist/modules/design_system/gallery/demos/marketing-widgets-code.generated.js +195 -0
  164. package/dist/modules/design_system/gallery/demos/marketing-widgets-code.generated.js.map +7 -0
  165. package/dist/modules/design_system/gallery/demos/marketing-widgets.js +586 -0
  166. package/dist/modules/design_system/gallery/demos/marketing-widgets.js.map +7 -0
  167. package/dist/modules/design_system/gallery/demos/menu-fixtures.js +40 -0
  168. package/dist/modules/design_system/gallery/demos/menu-fixtures.js.map +7 -0
  169. package/dist/modules/design_system/gallery/demos/menu-sources.js +295 -0
  170. package/dist/modules/design_system/gallery/demos/menu-sources.js.map +7 -0
  171. package/dist/modules/design_system/gallery/demos/menus.js +150 -0
  172. package/dist/modules/design_system/gallery/demos/menus.js.map +7 -0
  173. package/dist/modules/design_system/gallery/demos/rating-reviews.js +53 -0
  174. package/dist/modules/design_system/gallery/demos/rating-reviews.js.map +7 -0
  175. package/dist/modules/design_system/gallery/demos/registered-icons.js +104 -0
  176. package/dist/modules/design_system/gallery/demos/registered-icons.js.map +7 -0
  177. package/dist/modules/design_system/gallery/demos/selection-cards.js +99 -0
  178. package/dist/modules/design_system/gallery/demos/selection-cards.js.map +7 -0
  179. package/dist/modules/design_system/gallery/demos/shell-code.generated.js +189 -0
  180. package/dist/modules/design_system/gallery/demos/shell-code.generated.js.map +7 -0
  181. package/dist/modules/design_system/gallery/demos/shell.js +330 -0
  182. package/dist/modules/design_system/gallery/demos/shell.js.map +7 -0
  183. package/dist/modules/design_system/gallery/demos/source-artwork.js +120 -0
  184. package/dist/modules/design_system/gallery/demos/source-artwork.js.map +7 -0
  185. package/dist/modules/design_system/gallery/demos/source-filters-code.generated.js +125 -0
  186. package/dist/modules/design_system/gallery/demos/source-filters-code.generated.js.map +7 -0
  187. package/dist/modules/design_system/gallery/demos/source-filters.js +185 -0
  188. package/dist/modules/design_system/gallery/demos/source-filters.js.map +7 -0
  189. package/dist/modules/design_system/gallery/demos/source-icons.js +69 -0
  190. package/dist/modules/design_system/gallery/demos/source-icons.js.map +7 -0
  191. package/dist/modules/design_system/gallery/demos/table-cells-code.generated.js +150 -0
  192. package/dist/modules/design_system/gallery/demos/table-cells-code.generated.js.map +7 -0
  193. package/dist/modules/design_system/gallery/demos/table-cells.js +181 -0
  194. package/dist/modules/design_system/gallery/demos/table-cells.js.map +7 -0
  195. package/dist/modules/design_system/gallery/demos/text-inputs.js +113 -0
  196. package/dist/modules/design_system/gallery/demos/text-inputs.js.map +7 -0
  197. package/dist/modules/design_system/gallery/demos/time-picker-code.generated.js +41 -0
  198. package/dist/modules/design_system/gallery/demos/time-picker-code.generated.js.map +7 -0
  199. package/dist/modules/design_system/gallery/demos/time-picker.js +41 -0
  200. package/dist/modules/design_system/gallery/demos/time-picker.js.map +7 -0
  201. package/dist/modules/design_system/gallery/entries/banners.js +123 -60
  202. package/dist/modules/design_system/gallery/entries/banners.js.map +2 -2
  203. package/dist/modules/design_system/gallery/entries/buttons-snippets.js +433 -0
  204. package/dist/modules/design_system/gallery/entries/buttons-snippets.js.map +7 -0
  205. package/dist/modules/design_system/gallery/entries/buttons.js +127 -148
  206. package/dist/modules/design_system/gallery/entries/buttons.js.map +2 -2
  207. package/dist/modules/design_system/gallery/entries/charts.js +532 -186
  208. package/dist/modules/design_system/gallery/entries/charts.js.map +2 -2
  209. package/dist/modules/design_system/gallery/entries/dates.js +191 -3
  210. package/dist/modules/design_system/gallery/entries/dates.js.map +2 -2
  211. package/dist/modules/design_system/gallery/entries/detail.js +118 -77
  212. package/dist/modules/design_system/gallery/entries/detail.js.map +2 -2
  213. package/dist/modules/design_system/gallery/entries/display.js +1449 -240
  214. package/dist/modules/design_system/gallery/entries/display.js.map +2 -2
  215. package/dist/modules/design_system/gallery/entries/feedback.js +1058 -132
  216. package/dist/modules/design_system/gallery/entries/feedback.js.map +2 -2
  217. package/dist/modules/design_system/gallery/entries/filters.js +231 -103
  218. package/dist/modules/design_system/gallery/entries/filters.js.map +2 -2
  219. package/dist/modules/design_system/gallery/entries/foundations.js +368 -57
  220. package/dist/modules/design_system/gallery/entries/foundations.js.map +2 -2
  221. package/dist/modules/design_system/gallery/entries/icons.js +29 -91
  222. package/dist/modules/design_system/gallery/entries/icons.js.map +2 -2
  223. package/dist/modules/design_system/gallery/entries/inputs-snippets.js +154 -0
  224. package/dist/modules/design_system/gallery/entries/inputs-snippets.js.map +7 -0
  225. package/dist/modules/design_system/gallery/entries/inputs.js +2043 -306
  226. package/dist/modules/design_system/gallery/entries/inputs.js.map +2 -2
  227. package/dist/modules/design_system/gallery/entries/library.js +20 -0
  228. package/dist/modules/design_system/gallery/entries/library.js.map +7 -0
  229. package/dist/modules/design_system/gallery/entries/messages.js +121 -103
  230. package/dist/modules/design_system/gallery/entries/messages.js.map +2 -2
  231. package/dist/modules/design_system/gallery/entries/navigation.js +676 -103
  232. package/dist/modules/design_system/gallery/entries/navigation.js.map +2 -2
  233. package/dist/modules/design_system/gallery/entries/notifications.js +131 -78
  234. package/dist/modules/design_system/gallery/entries/notifications.js.map +2 -2
  235. package/dist/modules/design_system/gallery/entries/overlays.js +611 -203
  236. package/dist/modules/design_system/gallery/entries/overlays.js.map +2 -2
  237. package/dist/modules/design_system/gallery/entries/scaffolding.js +1175 -120
  238. package/dist/modules/design_system/gallery/entries/scaffolding.js.map +2 -2
  239. package/dist/modules/design_system/gallery/entries/schedule.js +79 -54
  240. package/dist/modules/design_system/gallery/entries/schedule.js.map +2 -2
  241. package/dist/modules/design_system/gallery/presentation.js +108 -0
  242. package/dist/modules/design_system/gallery/presentation.js.map +7 -0
  243. package/dist/modules/design_system/gallery/registry.js +8 -5
  244. package/dist/modules/design_system/gallery/registry.js.map +2 -2
  245. package/dist/modules/design_system/gallery/source-library.generated.js +5 -0
  246. package/dist/modules/design_system/gallery/source-library.generated.js.map +7 -0
  247. package/dist/modules/design_system/i18n/de.json +7167 -0
  248. package/dist/modules/design_system/i18n/en.json +7167 -0
  249. package/dist/modules/design_system/i18n/es.json +7167 -0
  250. package/dist/modules/design_system/i18n/ko.json +7167 -0
  251. package/dist/modules/design_system/i18n/pl.json +7167 -0
  252. package/dist/modules/push_notifications/lib/queue.js +1 -31
  253. package/dist/modules/push_notifications/lib/queue.js.map +2 -2
  254. package/jest.config.cjs +1 -0
  255. package/jest.mocks/image.js +1 -0
  256. package/package.json +8 -9
  257. package/src/modules/catalog/backend/catalog/products/[id]/page.tsx +50 -0
  258. package/src/modules/customers/backend/customers/companies/[id]/page.tsx +2 -1
  259. package/src/modules/customers/backend/customers/companies-v2/[id]/page.tsx +2 -1
  260. package/src/modules/customers/backend/customers/people/[id]/page.tsx +2 -2
  261. package/src/modules/customers/backend/customers/people-v2/[id]/page.tsx +2 -1
  262. package/src/modules/customers/lib/detailHelpers.ts +4 -0
  263. package/src/modules/customers/lib/todoCompatibility.ts +10 -0
  264. package/src/modules/design_system/backend/design-system/page.meta.ts +3 -2
  265. package/src/modules/design_system/gallery/assets/README.md +30 -0
  266. package/src/modules/design_system/gallery/assets/ai-prompt-image.png +0 -0
  267. package/src/modules/design_system/gallery/assets/avatar-illustration.png +0 -0
  268. package/src/modules/design_system/gallery/assets/avatar-memoji.png +0 -0
  269. package/src/modules/design_system/gallery/assets/avatar-photo.png +0 -0
  270. package/src/modules/design_system/gallery/assets/blog-photo-0.png +0 -0
  271. package/src/modules/design_system/gallery/assets/contact-support-portrait.png +0 -0
  272. package/src/modules/design_system/gallery/assets/crypto-ada.png +0 -0
  273. package/src/modules/design_system/gallery/assets/crypto-avax.png +0 -0
  274. package/src/modules/design_system/gallery/assets/crypto-bnb.png +0 -0
  275. package/src/modules/design_system/gallery/assets/crypto-brand.png +0 -0
  276. package/src/modules/design_system/gallery/assets/crypto-btc.png +0 -0
  277. package/src/modules/design_system/gallery/assets/crypto-clock.svg +3 -0
  278. package/src/modules/design_system/gallery/assets/crypto-crown.svg +3 -0
  279. package/src/modules/design_system/gallery/assets/crypto-dot.png +0 -0
  280. package/src/modules/design_system/gallery/assets/crypto-eth.png +0 -0
  281. package/src/modules/design_system/gallery/assets/crypto-hbar.png +0 -0
  282. package/src/modules/design_system/gallery/assets/crypto-history.svg +3 -0
  283. package/src/modules/design_system/gallery/assets/crypto-link.svg +3 -0
  284. package/src/modules/design_system/gallery/assets/crypto-menu.svg +3 -0
  285. package/src/modules/design_system/gallery/assets/crypto-metamask.png +0 -0
  286. package/src/modules/design_system/gallery/assets/crypto-more.svg +3 -0
  287. package/src/modules/design_system/gallery/assets/crypto-phantom.png +0 -0
  288. package/src/modules/design_system/gallery/assets/crypto-rewards.svg +3 -0
  289. package/src/modules/design_system/gallery/assets/crypto-sad-face.png +0 -0
  290. package/src/modules/design_system/gallery/assets/crypto-sol.png +0 -0
  291. package/src/modules/design_system/gallery/assets/crypto-star.svg +3 -0
  292. package/src/modules/design_system/gallery/assets/crypto-status-cancelled.svg +3 -0
  293. package/src/modules/design_system/gallery/assets/crypto-status-pending.svg +3 -0
  294. package/src/modules/design_system/gallery/assets/crypto-status-success.svg +3 -0
  295. package/src/modules/design_system/gallery/assets/crypto-status-warning.svg +3 -0
  296. package/src/modules/design_system/gallery/assets/crypto-trx.png +0 -0
  297. package/src/modules/design_system/gallery/assets/crypto-usdc.png +0 -0
  298. package/src/modules/design_system/gallery/assets/crypto-usdt.png +0 -0
  299. package/src/modules/design_system/gallery/assets/crypto-walletconnect.png +0 -0
  300. package/src/modules/design_system/gallery/assets/crypto-wei.png +0 -0
  301. package/src/modules/design_system/gallery/assets/crypto-xrp.png +0 -0
  302. package/src/modules/design_system/gallery/assets/cryptocurrency-artwork.ts +63 -0
  303. package/src/modules/design_system/gallery/assets/github-logo.png +0 -0
  304. package/src/modules/design_system/gallery/assets/images.d.ts +9 -0
  305. package/src/modules/design_system/gallery/assets/input-european-union.svg +18 -0
  306. package/src/modules/design_system/gallery/assets/landing-teams-01.png +0 -0
  307. package/src/modules/design_system/gallery/assets/marketing-artwork.ts +79 -0
  308. package/src/modules/design_system/gallery/assets/menu-apex.svg +18 -0
  309. package/src/modules/design_system/gallery/assets/menu-mastercard.svg +7 -0
  310. package/src/modules/design_system/gallery/assets/menu-spotify.svg +4 -0
  311. package/src/modules/design_system/gallery/assets/menu-united-states.svg +16 -0
  312. package/src/modules/design_system/gallery/assets/select-google.png +0 -0
  313. package/src/modules/design_system/gallery/assets/select-poland.png +0 -0
  314. package/src/modules/design_system/gallery/assets/selection-artwork.ts +1 -0
  315. package/src/modules/design_system/gallery/assets/social-apple-filled.svg +4 -0
  316. package/src/modules/design_system/gallery/assets/social-apple-stroke.svg +4 -0
  317. package/src/modules/design_system/gallery/assets/social-dropbox-filled.svg +5 -0
  318. package/src/modules/design_system/gallery/assets/social-dropbox-stroke.svg +5 -0
  319. package/src/modules/design_system/gallery/assets/social-facebook-filled.svg +4 -0
  320. package/src/modules/design_system/gallery/assets/social-facebook-stroke.svg +10 -0
  321. package/src/modules/design_system/gallery/assets/social-github-filled.svg +4 -0
  322. package/src/modules/design_system/gallery/assets/social-github-stroke.svg +4 -0
  323. package/src/modules/design_system/gallery/assets/social-google-filled.svg +7 -0
  324. package/src/modules/design_system/gallery/assets/social-google-stroke.svg +7 -0
  325. package/src/modules/design_system/gallery/assets/social-linkedin-filled.svg +4 -0
  326. package/src/modules/design_system/gallery/assets/social-linkedin-stroke.svg +4 -0
  327. package/src/modules/design_system/gallery/assets/social-x-filled.svg +4 -0
  328. package/src/modules/design_system/gallery/assets/social-x-stroke.svg +4 -0
  329. package/src/modules/design_system/gallery/assets/style-studio-product.png +0 -0
  330. package/src/modules/design_system/gallery/assets/upload-images.ts +5 -0
  331. package/src/modules/design_system/gallery/components/BrandStylePreview.tsx +94 -0
  332. package/src/modules/design_system/gallery/components/CodeSnippet.tsx +34 -34
  333. package/src/modules/design_system/gallery/components/ColorPlayground.tsx +324 -0
  334. package/src/modules/design_system/gallery/components/ColorStudioCompositions.tsx +96 -0
  335. package/src/modules/design_system/gallery/components/ColorStudioSpecimen.tsx +164 -0
  336. package/src/modules/design_system/gallery/components/CompactEntrySpecimen.tsx +65 -0
  337. package/src/modules/design_system/gallery/components/ComponentIndex.tsx +47 -0
  338. package/src/modules/design_system/gallery/components/DesignSystemHome.tsx +66 -0
  339. package/src/modules/design_system/gallery/components/EntryCard.tsx +52 -37
  340. package/src/modules/design_system/gallery/components/EntryHeader.tsx +80 -0
  341. package/src/modules/design_system/gallery/components/FamilyEntryPreview.tsx +22 -0
  342. package/src/modules/design_system/gallery/components/FoundationGuide.tsx +43 -0
  343. package/src/modules/design_system/gallery/components/GalleryLink.tsx +19 -0
  344. package/src/modules/design_system/gallery/components/GalleryNavigation.tsx +86 -0
  345. package/src/modules/design_system/gallery/components/GalleryShell.tsx +149 -63
  346. package/src/modules/design_system/gallery/components/IconsBrowser.tsx +40 -0
  347. package/src/modules/design_system/gallery/components/SourceLibrary.tsx +90 -0
  348. package/src/modules/design_system/gallery/components/StyleAgents.tsx +115 -0
  349. package/src/modules/design_system/gallery/components/ThemeTokenReference.tsx +76 -0
  350. package/src/modules/design_system/gallery/components/VariantPreview.tsx +2 -2
  351. package/src/modules/design_system/gallery/components/colorPreview.ts +63 -0
  352. package/src/modules/design_system/gallery/components/colorStudio.ts +260 -0
  353. package/src/modules/design_system/gallery/components/styleAgentBranding.ts +42 -0
  354. package/src/modules/design_system/gallery/components/themeTokens.ts +26 -0
  355. package/src/modules/design_system/gallery/demos/ai-product-code.generated.ts +3 -0
  356. package/src/modules/design_system/gallery/demos/ai-product.tsx +188 -0
  357. package/src/modules/design_system/gallery/demos/buttons.tsx +331 -0
  358. package/src/modules/design_system/gallery/demos/cryptocurrency.tsx +1943 -0
  359. package/src/modules/design_system/gallery/demos/feeds-code.generated.ts +4 -0
  360. package/src/modules/design_system/gallery/demos/feeds.tsx +82 -0
  361. package/src/modules/design_system/gallery/demos/file-upload.tsx +61 -0
  362. package/src/modules/design_system/gallery/demos/foundation-reference-data.ts +4872 -0
  363. package/src/modules/design_system/gallery/demos/foundation-references.tsx +140 -0
  364. package/src/modules/design_system/gallery/demos/key-components-code.generated.ts +3 -0
  365. package/src/modules/design_system/gallery/demos/key-components.tsx +106 -0
  366. package/src/modules/design_system/gallery/demos/marketing-controls-code.generated.ts +3 -0
  367. package/src/modules/design_system/gallery/demos/marketing-controls.tsx +92 -0
  368. package/src/modules/design_system/gallery/demos/marketing-widgets-code.generated.ts +3 -0
  369. package/src/modules/design_system/gallery/demos/marketing-widgets.tsx +189 -0
  370. package/src/modules/design_system/gallery/demos/menu-fixtures.tsx +48 -0
  371. package/src/modules/design_system/gallery/demos/menu-sources.ts +5 -0
  372. package/src/modules/design_system/gallery/demos/menus.tsx +122 -0
  373. package/src/modules/design_system/gallery/demos/rating-reviews.tsx +44 -0
  374. package/src/modules/design_system/gallery/demos/registered-icons.tsx +117 -0
  375. package/src/modules/design_system/gallery/demos/selection-cards.tsx +97 -0
  376. package/src/modules/design_system/gallery/demos/shell-code.generated.ts +3 -0
  377. package/src/modules/design_system/gallery/demos/shell.tsx +183 -0
  378. package/src/modules/design_system/gallery/demos/source-artwork.tsx +88 -0
  379. package/src/modules/design_system/gallery/demos/source-filters-code.generated.ts +3 -0
  380. package/src/modules/design_system/gallery/demos/source-filters.tsx +119 -0
  381. package/src/modules/design_system/gallery/demos/source-icons.tsx +62 -0
  382. package/src/modules/design_system/gallery/demos/table-cells-code.generated.ts +3 -0
  383. package/src/modules/design_system/gallery/demos/table-cells.tsx +144 -0
  384. package/src/modules/design_system/gallery/demos/text-inputs.tsx +90 -0
  385. package/src/modules/design_system/gallery/demos/time-picker-code.generated.ts +5 -0
  386. package/src/modules/design_system/gallery/demos/time-picker.tsx +31 -0
  387. package/src/modules/design_system/gallery/entries/banners.tsx +143 -94
  388. package/src/modules/design_system/gallery/entries/buttons-snippets.ts +432 -0
  389. package/src/modules/design_system/gallery/entries/buttons.tsx +125 -196
  390. package/src/modules/design_system/gallery/entries/charts.tsx +545 -233
  391. package/src/modules/design_system/gallery/entries/dates.tsx +171 -3
  392. package/src/modules/design_system/gallery/entries/detail.tsx +142 -115
  393. package/src/modules/design_system/gallery/entries/display.tsx +1691 -319
  394. package/src/modules/design_system/gallery/entries/feedback.tsx +1082 -169
  395. package/src/modules/design_system/gallery/entries/filters.tsx +238 -143
  396. package/src/modules/design_system/gallery/entries/foundations.tsx +404 -61
  397. package/src/modules/design_system/gallery/entries/icons.tsx +31 -117
  398. package/src/modules/design_system/gallery/entries/inputs-snippets.ts +156 -0
  399. package/src/modules/design_system/gallery/entries/inputs.tsx +2146 -503
  400. package/src/modules/design_system/gallery/entries/library.tsx +16 -0
  401. package/src/modules/design_system/gallery/entries/messages.tsx +114 -106
  402. package/src/modules/design_system/gallery/entries/navigation.tsx +782 -192
  403. package/src/modules/design_system/gallery/entries/notifications.tsx +145 -120
  404. package/src/modules/design_system/gallery/entries/overlays.tsx +696 -280
  405. package/src/modules/design_system/gallery/entries/scaffolding.tsx +1192 -158
  406. package/src/modules/design_system/gallery/entries/schedule.tsx +72 -58
  407. package/src/modules/design_system/gallery/presentation.ts +106 -0
  408. package/src/modules/design_system/gallery/registry.ts +8 -6
  409. package/src/modules/design_system/gallery/source-library.generated.ts +2 -0
  410. package/src/modules/design_system/i18n/de.json +7112 -3
  411. package/src/modules/design_system/i18n/en.json +7112 -3
  412. package/src/modules/design_system/i18n/es.json +7112 -3
  413. package/src/modules/design_system/i18n/ko.json +7112 -3
  414. package/src/modules/design_system/i18n/pl.json +7112 -3
  415. package/src/modules/push_notifications/AGENTS.md +9 -5
  416. package/src/modules/push_notifications/lib/queue.ts +15 -44
@@ -1,12 +1,27 @@
1
- import * as React from 'react'
2
- import { MoreHorizontal, Pencil, Plus, Trash2 } from 'lucide-react'
3
- import { Button } from '@open-mercato/ui/primitives/button'
4
- import { IconButton } from '@open-mercato/ui/primitives/icon-button'
5
1
  import { LinkButton } from '@open-mercato/ui/primitives/link-button'
6
- import { SocialButton } from '@open-mercato/ui/primitives/social-button'
7
- import { FancyButton } from '@open-mercato/ui/primitives/fancy-button'
8
- import { ButtonGroup } from '@open-mercato/ui/primitives/button-group'
9
2
  import type { GalleryEntry } from '../types'
3
+ import { SocialButtonsDemo, CompactButtonMatrix, CompactButtonDisabledPreview, ButtonGroupMatrix, ButtonStatePreview, PrimaryButtonPreview, DisabledIconButtonPreview, ButtonButtonsDefaultSample, ButtonButtonsDestructiveSample, ButtonButtonsDestructiveOutlineSample, ButtonButtonsDestructiveSoftSample, ButtonButtonsDestructiveGhostSample, ButtonButtonsOutlineSample, ButtonButtonsSecondarySample, ButtonButtonsGhostSample, ButtonButtonsMutedSample, ButtonButtonsLinkSample, ButtonButtonsSizesSample, IconButtonButtonsVariantsSample, IconButtonButtonsSizesSample, IconButtonButtonsFullRadiusSample, LinkButtonButtonsAsAnchorSample, FancyButtonButtonsIntentsSample, FancyButtonButtonsSizesSample, ButtonGroupButtonsHorizontalSample, ButtonGroupButtonsVerticalSample } from '../demos/buttons'
4
+ import {
5
+ compactButtonDefaultCode,
6
+ compactButtonActiveCode,
7
+ compactButtonDisabledCode,
8
+ iconButtonVariantsCode,
9
+ iconButtonSizesCode,
10
+ iconButtonFullRadiusCode,
11
+ iconButtonDisabledCode,
12
+ linkButtonVariantsCode,
13
+ linkButtonUnderlineCode,
14
+ linkButtonAsAnchorCode,
15
+ socialButtonFilledCode,
16
+ socialButtonStrokeCode,
17
+ socialButtonIconOnlyCode,
18
+ fancyButtonIntentsCode,
19
+ fancyButtonSizesCode,
20
+ buttonGroupSizeQuantityMatrixCode,
21
+ buttonGroupItemContentCode,
22
+ buttonGroupHorizontalCode,
23
+ buttonGroupVerticalCode,
24
+ } from './buttons-snippets'
10
25
 
11
26
  // Component titles and variant names are proper nouns from the codebase and
12
27
  // are deliberately not translated. `code` MUST contain the entry's importPath
@@ -17,11 +32,14 @@ const buttonEntry: GalleryEntry = {
17
32
  id: 'button',
18
33
  title: 'Button',
19
34
  importPath: '@open-mercato/ui/primitives/button',
35
+ figmaNodeId: '129:1422',
20
36
  usage: {
21
37
  do: [
22
38
  'One default (primary) Button per view; remaining actions step down to outline, ghost or muted.',
23
39
  'Destructive actions use the destructive family; -outline/-soft/-ghost lower the emphasis without losing the semantics.',
24
40
  'Default height is h-9; sm (h-8) in dense toolbars, 2xs only inside table rows.',
41
+ 'primary-filled represents the indigo CTA retained in overlay instance 472:831, using the darker status-info-solid role for readable white text in both themes. The current main Button set lists Neutral and Error only; this instance is not a new Code Connect axis.',
42
+ 'For a pending action, compose Spinner with disabled and aria-busy; Button has no loading prop.',
25
43
  ],
26
44
  dont: [
27
45
  'Never Button size="icon" for icon-only actions — use IconButton (correct sizing + aria-label contract).',
@@ -31,10 +49,22 @@ const buttonEntry: GalleryEntry = {
31
49
  },
32
50
  descriptionKey: 'design_system.entries.button.description',
33
51
  variants: [
52
+ {
53
+ id: 'primary-filled',
54
+ title: 'Primary Filled (overlay CTA)',
55
+ render: () => <PrimaryButtonPreview />,
56
+ code: `import { useT } from '@open-mercato/shared/lib/i18n/context'
57
+ import { Button } from '@open-mercato/ui/primitives/button'
58
+
59
+ function PrimaryAction() {
60
+ const t = useT()
61
+ return <Button type="button" variant="primary-filled">{t('design_system.gallery.samples.primaryAction')}</Button>
62
+ }`,
63
+ },
34
64
  {
35
65
  id: 'default',
36
66
  title: 'default',
37
- render: () => <Button>Save changes</Button>,
67
+ render: () => <ButtonButtonsDefaultSample />,
38
68
  code: `import { Button } from '@open-mercato/ui/primitives/button'
39
69
 
40
70
  <Button>Save changes</Button>`,
@@ -42,7 +72,7 @@ const buttonEntry: GalleryEntry = {
42
72
  {
43
73
  id: 'destructive',
44
74
  title: 'destructive',
45
- render: () => <Button variant="destructive">Delete</Button>,
75
+ render: () => <ButtonButtonsDestructiveSample />,
46
76
  code: `import { Button } from '@open-mercato/ui/primitives/button'
47
77
 
48
78
  <Button variant="destructive">Delete</Button>`,
@@ -50,7 +80,7 @@ const buttonEntry: GalleryEntry = {
50
80
  {
51
81
  id: 'destructive-outline',
52
82
  title: 'destructive-outline',
53
- render: () => <Button variant="destructive-outline">Delete</Button>,
83
+ render: () => <ButtonButtonsDestructiveOutlineSample />,
54
84
  code: `import { Button } from '@open-mercato/ui/primitives/button'
55
85
 
56
86
  <Button variant="destructive-outline">Delete</Button>`,
@@ -58,7 +88,7 @@ const buttonEntry: GalleryEntry = {
58
88
  {
59
89
  id: 'destructive-soft',
60
90
  title: 'destructive-soft',
61
- render: () => <Button variant="destructive-soft">Delete draft</Button>,
91
+ render: () => <ButtonButtonsDestructiveSoftSample />,
62
92
  code: `import { Button } from '@open-mercato/ui/primitives/button'
63
93
 
64
94
  <Button variant="destructive-soft">Delete draft</Button>`,
@@ -66,7 +96,7 @@ const buttonEntry: GalleryEntry = {
66
96
  {
67
97
  id: 'destructive-ghost',
68
98
  title: 'destructive-ghost',
69
- render: () => <Button variant="destructive-ghost">Remove</Button>,
99
+ render: () => <ButtonButtonsDestructiveGhostSample />,
70
100
  code: `import { Button } from '@open-mercato/ui/primitives/button'
71
101
 
72
102
  <Button variant="destructive-ghost">Remove</Button>`,
@@ -74,7 +104,7 @@ const buttonEntry: GalleryEntry = {
74
104
  {
75
105
  id: 'outline',
76
106
  title: 'outline',
77
- render: () => <Button variant="outline">Cancel</Button>,
107
+ render: () => <ButtonButtonsOutlineSample />,
78
108
  code: `import { Button } from '@open-mercato/ui/primitives/button'
79
109
 
80
110
  <Button variant="outline">Cancel</Button>`,
@@ -82,7 +112,7 @@ const buttonEntry: GalleryEntry = {
82
112
  {
83
113
  id: 'secondary',
84
114
  title: 'secondary',
85
- render: () => <Button variant="secondary">Duplicate</Button>,
115
+ render: () => <ButtonButtonsSecondarySample />,
86
116
  code: `import { Button } from '@open-mercato/ui/primitives/button'
87
117
 
88
118
  <Button variant="secondary">Duplicate</Button>`,
@@ -90,7 +120,7 @@ const buttonEntry: GalleryEntry = {
90
120
  {
91
121
  id: 'ghost',
92
122
  title: 'ghost',
93
- render: () => <Button variant="ghost">Dismiss</Button>,
123
+ render: () => <ButtonButtonsGhostSample />,
94
124
  code: `import { Button } from '@open-mercato/ui/primitives/button'
95
125
 
96
126
  <Button variant="ghost">Dismiss</Button>`,
@@ -98,7 +128,7 @@ const buttonEntry: GalleryEntry = {
98
128
  {
99
129
  id: 'muted',
100
130
  title: 'muted',
101
- render: () => <Button variant="muted">Show more</Button>,
131
+ render: () => <ButtonButtonsMutedSample />,
102
132
  code: `import { Button } from '@open-mercato/ui/primitives/button'
103
133
 
104
134
  <Button variant="muted">Show more</Button>`,
@@ -106,7 +136,7 @@ const buttonEntry: GalleryEntry = {
106
136
  {
107
137
  id: 'link',
108
138
  title: 'link',
109
- render: () => <Button variant="link">View details</Button>,
139
+ render: () => <ButtonButtonsLinkSample />,
110
140
  code: `import { Button } from '@open-mercato/ui/primitives/button'
111
141
 
112
142
  <Button variant="link">View details</Button>`,
@@ -114,17 +144,7 @@ const buttonEntry: GalleryEntry = {
114
144
  {
115
145
  id: 'sizes',
116
146
  title: 'Sizes',
117
- render: () => (
118
- <>
119
- <Button size="lg">Large</Button>
120
- <Button size="default">Default</Button>
121
- <Button size="sm">Small</Button>
122
- <Button size="2xs">2X-Small</Button>
123
- <Button size="icon" aria-label="Add">
124
- <Plus />
125
- </Button>
126
- </>
127
- ),
147
+ render: () => <ButtonButtonsSizesSample />,
128
148
  code: `import { Plus } from 'lucide-react'
129
149
  import { Button } from '@open-mercato/ui/primitives/button'
130
150
 
@@ -134,6 +154,44 @@ import { Button } from '@open-mercato/ui/primitives/button'
134
154
  <Button size="2xs">2X-Small</Button>
135
155
  <Button size="icon" aria-label="Add"><Plus /></Button>`,
136
156
  },
157
+ {
158
+ id: 'disabled',
159
+ title: 'Disabled',
160
+ render: () => <ButtonStatePreview />,
161
+ code: `import { Button } from '@open-mercato/ui/primitives/button'
162
+
163
+ <Button type="button" disabled>{t('design_system.gallery.samples.primaryAction')}</Button>`,
164
+ },
165
+ {
166
+ id: 'loading',
167
+ title: 'Loading (composed)',
168
+ render: () => <ButtonStatePreview loading />,
169
+ code: `import { Button } from '@open-mercato/ui/primitives/button'
170
+ import { Spinner } from '@open-mercato/ui/primitives/spinner'
171
+
172
+ <Button type="button" disabled aria-busy>
173
+ <Spinner size="sm" className="motion-reduce:animate-none" />
174
+ {t('design_system.gallery.samples.states.saving')}
175
+ </Button>`,
176
+ },
177
+ ],
178
+ }
179
+
180
+ const compactButtonEntry: GalleryEntry = {
181
+ id: 'compact-button',
182
+ title: 'CompactButton',
183
+ importPath: '@open-mercato/ui/primitives/compact-button',
184
+ figmaNodeId: '189:3646',
185
+ descriptionKey: 'design_system.entries.compactButton.description',
186
+ usage: { do: [
187
+ 'Compact icon actions at 20 or 24 px with 18 or 20 px icons. Four appearances support 6 px and full-radius shapes.',
188
+ 'Each matrix exposes every size, appearance, and radius combination. Hover and press enabled buttons; active examples are controlled toggles and disabled examples use native disabled.',
189
+ 'Supply an accessible name and enough space around dense actions. Modifiable inherits foreground; its hover surface uses the existing 15% opacity scale rather than the source 16%.',
190
+ ] },
191
+ variants: [
192
+ { id: 'default', title: 'All sizes, appearances, and radii', render: () => <CompactButtonMatrix />, code: compactButtonDefaultCode },
193
+ { id: 'active', title: 'Active toggles', render: () => <CompactButtonMatrix initialPressed />, code: compactButtonActiveCode },
194
+ { id: 'disabled', title: 'Disabled', render: () => <CompactButtonDisabledPreview />, code: compactButtonDisabledCode },
137
195
  ],
138
196
  }
139
197
 
@@ -153,73 +211,26 @@ const iconButtonEntry: GalleryEntry = {
153
211
  {
154
212
  id: 'variants',
155
213
  title: 'Variants',
156
- render: () => (
157
- <>
158
- <IconButton variant="primary" aria-label="Add">
159
- <Plus />
160
- </IconButton>
161
- <IconButton variant="outline" aria-label="Edit">
162
- <Pencil />
163
- </IconButton>
164
- <IconButton variant="ghost" aria-label="More">
165
- <MoreHorizontal />
166
- </IconButton>
167
- <IconButton variant="white" aria-label="Edit">
168
- <Pencil />
169
- </IconButton>
170
- <IconButton variant="destructive" aria-label="Delete">
171
- <Trash2 />
172
- </IconButton>
173
- </>
174
- ),
175
- code: `import { Pencil } from 'lucide-react'
176
- import { IconButton } from '@open-mercato/ui/primitives/icon-button'
177
-
178
- <IconButton variant="primary" aria-label="Add"><Plus /></IconButton>
179
- <IconButton variant="outline" aria-label="Edit"><Pencil /></IconButton>
180
- <IconButton variant="ghost" aria-label="More"><MoreHorizontal /></IconButton>
181
- <IconButton variant="white" aria-label="Edit"><Pencil /></IconButton>
182
- <IconButton variant="destructive" aria-label="Delete"><Trash2 /></IconButton>`,
214
+ render: () => <IconButtonButtonsVariantsSample />,
215
+ code: iconButtonVariantsCode,
183
216
  },
184
217
  {
185
218
  id: 'sizes',
186
219
  title: 'Sizes',
187
- render: () => (
188
- <>
189
- <IconButton size="lg" aria-label="Edit">
190
- <Pencil />
191
- </IconButton>
192
- <IconButton size="default" aria-label="Edit">
193
- <Pencil />
194
- </IconButton>
195
- <IconButton size="sm" aria-label="Edit">
196
- <Pencil />
197
- </IconButton>
198
- <IconButton size="xs" aria-label="Edit">
199
- <Pencil />
200
- </IconButton>
201
- </>
202
- ),
203
- code: `import { Pencil } from 'lucide-react'
204
- import { IconButton } from '@open-mercato/ui/primitives/icon-button'
205
-
206
- <IconButton size="lg" aria-label="Edit"><Pencil /></IconButton>
207
- <IconButton size="default" aria-label="Edit"><Pencil /></IconButton>
208
- <IconButton size="sm" aria-label="Edit"><Pencil /></IconButton>
209
- <IconButton size="xs" aria-label="Edit"><Pencil /></IconButton>`,
220
+ render: () => <IconButtonButtonsSizesSample />,
221
+ code: iconButtonSizesCode,
210
222
  },
211
223
  {
212
224
  id: 'full-radius',
213
225
  title: 'fullRadius',
214
- render: () => (
215
- <IconButton fullRadius aria-label="Add">
216
- <Plus />
217
- </IconButton>
218
- ),
219
- code: `import { Plus } from 'lucide-react'
220
- import { IconButton } from '@open-mercato/ui/primitives/icon-button'
221
-
222
- <IconButton fullRadius aria-label="Add"><Plus /></IconButton>`,
226
+ render: () => <IconButtonButtonsFullRadiusSample />,
227
+ code: iconButtonFullRadiusCode,
228
+ },
229
+ {
230
+ id: 'disabled',
231
+ title: 'Disabled',
232
+ render: () => <DisabledIconButtonPreview />,
233
+ code: iconButtonDisabledCode,
223
234
  },
224
235
  ],
225
236
  }
@@ -241,12 +252,7 @@ const linkButtonEntry: GalleryEntry = {
241
252
  <LinkButton variant="error">error</LinkButton>
242
253
  </>
243
254
  ),
244
- code: `import { LinkButton } from '@open-mercato/ui/primitives/link-button'
245
-
246
- <LinkButton>primary</LinkButton>
247
- <LinkButton variant="gray">gray</LinkButton>
248
- <LinkButton variant="black">black</LinkButton>
249
- <LinkButton variant="error">error</LinkButton>`,
255
+ code: linkButtonVariantsCode,
250
256
  },
251
257
  {
252
258
  id: 'underline',
@@ -258,25 +264,13 @@ const linkButtonEntry: GalleryEntry = {
258
264
  <LinkButton underline="none">none</LinkButton>
259
265
  </>
260
266
  ),
261
- code: `import { LinkButton } from '@open-mercato/ui/primitives/link-button'
262
-
263
- <LinkButton underline="always">always</LinkButton>
264
- <LinkButton underline="hover">hover</LinkButton>
265
- <LinkButton underline="none">none</LinkButton>`,
267
+ code: linkButtonUnderlineCode,
266
268
  },
267
269
  {
268
270
  id: 'as-anchor',
269
271
  title: 'As anchor (asChild)',
270
- render: () => (
271
- <LinkButton asChild>
272
- <a href="#gallery-entry-link-button">Open link</a>
273
- </LinkButton>
274
- ),
275
- code: `import { LinkButton } from '@open-mercato/ui/primitives/link-button'
276
-
277
- <LinkButton asChild>
278
- <a href="/backend/docs">Open link</a>
279
- </LinkButton>`,
272
+ render: () => <LinkButtonButtonsAsAnchorSample />,
273
+ code: linkButtonAsAnchorCode,
280
274
  },
281
275
  ],
282
276
  }
@@ -285,36 +279,17 @@ const socialButtonEntry: GalleryEntry = {
285
279
  id: 'social-button',
286
280
  title: 'SocialButton',
287
281
  importPath: '@open-mercato/ui/primitives/social-button',
282
+ figmaNodeId: '180:4264',
288
283
  descriptionKey: 'design_system.entries.socialButton.description',
284
+ usage: { do: [
285
+ 'All seven source providers appear in Filled and Stroke, with text or icon-only content. Buttons are 40 px high; icon-only buttons are 40 px square.',
286
+ 'Supply the logo as content and an accessible name for icon-only buttons. These local source assets do not invoke authentication.',
287
+ 'Stroke uses semantic foreground and border tokens; monochrome logos follow foreground in both themes. Native hover and keyboard focus expose the interaction states.',
288
+ ] },
289
289
  variants: [
290
- {
291
- id: 'filled',
292
- title: 'filled',
293
- render: () => (
294
- <>
295
- <SocialButton brand="github">Continue with GitHub</SocialButton>
296
- <SocialButton brand="google">Continue with Google</SocialButton>
297
- </>
298
- ),
299
- code: `import { SocialButton } from '@open-mercato/ui/primitives/social-button'
300
-
301
- <SocialButton brand="github">Continue with GitHub</SocialButton>
302
- <SocialButton brand="google">Continue with Google</SocialButton>`,
303
- },
304
- {
305
- id: 'stroke',
306
- title: 'stroke',
307
- render: () => (
308
- <>
309
- <SocialButton brand="github" appearance="stroke">Continue with GitHub</SocialButton>
310
- <SocialButton brand="linkedin" appearance="stroke">Continue with LinkedIn</SocialButton>
311
- </>
312
- ),
313
- code: `import { SocialButton } from '@open-mercato/ui/primitives/social-button'
314
-
315
- <SocialButton brand="github" appearance="stroke">Continue with GitHub</SocialButton>
316
- <SocialButton brand="linkedin" appearance="stroke">Continue with LinkedIn</SocialButton>`,
317
- },
290
+ { id: 'filled', title: 'Filled — all seven providers', render: () => <SocialButtonsDemo appearance="filled" />, code: socialButtonFilledCode },
291
+ { id: 'stroke', title: 'Stroke — all seven providers', render: () => <SocialButtonsDemo appearance="stroke" />, code: socialButtonStrokeCode },
292
+ { id: 'icon-only', title: 'Icon-only — both appearances', render: () => <div className="grid gap-4"><SocialButtonsDemo appearance="filled" iconOnly /><SocialButtonsDemo appearance="stroke" iconOnly /></div>, code: socialButtonIconOnlyCode },
318
293
  ],
319
294
  }
320
295
 
@@ -327,36 +302,14 @@ const fancyButtonEntry: GalleryEntry = {
327
302
  {
328
303
  id: 'intents',
329
304
  title: 'Intents',
330
- render: () => (
331
- <>
332
- <FancyButton intent="neutral">Neutral</FancyButton>
333
- <FancyButton intent="basic">Basic</FancyButton>
334
- <FancyButton intent="primary">Primary</FancyButton>
335
- <FancyButton intent="destructive">Destructive</FancyButton>
336
- </>
337
- ),
338
- code: `import { FancyButton } from '@open-mercato/ui/primitives/fancy-button'
339
-
340
- <FancyButton intent="neutral">Neutral</FancyButton>
341
- <FancyButton intent="basic">Basic</FancyButton>
342
- <FancyButton intent="primary">Primary</FancyButton>
343
- <FancyButton intent="destructive">Destructive</FancyButton>`,
305
+ render: () => <FancyButtonButtonsIntentsSample />,
306
+ code: fancyButtonIntentsCode,
344
307
  },
345
308
  {
346
309
  id: 'sizes',
347
310
  title: 'Sizes',
348
- render: () => (
349
- <>
350
- <FancyButton size="default">Default</FancyButton>
351
- <FancyButton size="sm">Small</FancyButton>
352
- <FancyButton size="xs">X-Small</FancyButton>
353
- </>
354
- ),
355
- code: `import { FancyButton } from '@open-mercato/ui/primitives/fancy-button'
356
-
357
- <FancyButton size="default">Default</FancyButton>
358
- <FancyButton size="sm">Small</FancyButton>
359
- <FancyButton size="xs">X-Small</FancyButton>`,
311
+ render: () => <FancyButtonButtonsSizesSample />,
312
+ code: fancyButtonSizesCode,
360
313
  },
361
314
  ],
362
315
  }
@@ -366,57 +319,33 @@ const buttonGroupEntry: GalleryEntry = {
366
319
  title: 'ButtonGroup',
367
320
  importPath: '@open-mercato/ui/primitives/button-group',
368
321
  descriptionKey: 'design_system.entries.buttonGroup.description',
322
+ figmaNodeId: '493:8644',
323
+ usage: { do: ['Numeric sizes coordinate child dimensions at 24, 32, or 36 px. Legacy size names keep their behavior.', 'The 15 source groups cover quantities two through six at all three sizes. Item examples include text, leading, trailing, both, and icon-only content.'] },
369
324
  variants: [
325
+ { id: 'size-quantity-matrix', title: 'All 15 size and quantity combinations', render: () => <ButtonGroupMatrix />, code: buttonGroupSizeQuantityMatrixCode },
326
+ { id: 'item-content', title: 'Text and icon item arrangements', render: () => <ButtonGroupMatrix content />, code: buttonGroupItemContentCode },
370
327
  {
371
328
  id: 'horizontal',
372
329
  title: 'Horizontal',
373
- render: () => (
374
- <ButtonGroup>
375
- <Button variant="outline">Save</Button>
376
- <Button variant="outline">Save &amp; New</Button>
377
- <IconButton aria-label="More">
378
- <MoreHorizontal />
379
- </IconButton>
380
- </ButtonGroup>
381
- ),
382
- code: `import { MoreHorizontal } from 'lucide-react'
383
- import { ButtonGroup } from '@open-mercato/ui/primitives/button-group'
384
- import { Button } from '@open-mercato/ui/primitives/button'
385
- import { IconButton } from '@open-mercato/ui/primitives/icon-button'
386
-
387
- <ButtonGroup>
388
- <Button variant="outline">Save</Button>
389
- <Button variant="outline">Save & New</Button>
390
- <IconButton aria-label="More"><MoreHorizontal /></IconButton>
391
- </ButtonGroup>`,
330
+ render: () => <ButtonGroupButtonsHorizontalSample />,
331
+ code: buttonGroupHorizontalCode,
392
332
  },
393
333
  {
394
334
  id: 'vertical',
395
335
  title: 'Vertical',
396
- render: () => (
397
- <ButtonGroup orientation="vertical" size="sm">
398
- <Button variant="outline" size="sm">Top</Button>
399
- <Button variant="outline" size="sm">Middle</Button>
400
- <Button variant="outline" size="sm">Bottom</Button>
401
- </ButtonGroup>
402
- ),
403
- code: `import { ButtonGroup } from '@open-mercato/ui/primitives/button-group'
404
- import { Button } from '@open-mercato/ui/primitives/button'
405
-
406
- <ButtonGroup orientation="vertical" size="sm">
407
- <Button variant="outline" size="sm">Top</Button>
408
- <Button variant="outline" size="sm">Middle</Button>
409
- <Button variant="outline" size="sm">Bottom</Button>
410
- </ButtonGroup>`,
336
+ render: () => <ButtonGroupButtonsVerticalSample />,
337
+ code: buttonGroupVerticalCode,
411
338
  },
412
339
  ],
413
340
  }
414
341
 
415
342
  export const entries: GalleryEntry[] = [
416
343
  buttonEntry,
344
+ compactButtonEntry,
417
345
  iconButtonEntry,
418
346
  linkButtonEntry,
419
347
  socialButtonEntry,
420
348
  fancyButtonEntry,
421
349
  buttonGroupEntry,
422
350
  ]
351
+