@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
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/modules/design_system/gallery/demos/feeds.tsx"],
4
+ "sourcesContent": ["import * as React from 'react'\nimport { FileText, ListFilter, MoreHorizontal, RotateCcw } from 'lucide-react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { ActivityFeed, ActivityFeedComment, ActivityFeedFileChip, ActivityFeedItem, ActivityFeedStatusChip } from '@open-mercato/ui/primitives/activity-feed'\nimport { Avatar, AvatarStack } from '@open-mercato/ui/primitives/avatar'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '@open-mercato/ui/primitives/dialog'\nimport { NotificationFeed, NotificationFeedFooter, NotificationFeedHeader, NotificationFeedItem, NotificationFeedList } from '@open-mercato/ui/primitives/notification-feed'\nimport { Popover, PopoverClose, PopoverContent, PopoverTrigger } from '@open-mercato/ui/primitives/popover'\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@open-mercato/ui/primitives/tabs'\nimport { Textarea } from '@open-mercato/ui/primitives/textarea'\n\nconst feedKinds = ['basic', 'file', 'comment', 'avatars', 'tasks'] as const\ntype FeedKind = typeof feedKinds[number]\nconst people: Record<FeedKind, string> = { basic: 'Wei Chen', file: 'Omar Haddad', comment: 'Laura Perez', avatars: 'Ines Kowalska', tasks: 'Ravi Patel' }\n\nfunction LocalFilePreview({ open, onOpenChange }: { open: boolean; onOpenChange: (open: boolean) => void }) {\n const t = useT()\n return <Dialog open={open} onOpenChange={onOpenChange}><DialogContent>\n <DialogHeader><DialogTitle>apex-report.pdf</DialogTitle><DialogDescription>{t('design_system.gallery.samples.feeds.filePreview')}</DialogDescription></DialogHeader>\n <p className=\"text-sm text-muted-foreground\">{t('design_system.gallery.samples.feeds.fileBody')}</p>\n </DialogContent></Dialog>\n}\n\nexport function ActivityFeedExample() {\n const t = useT()\n const [filter, setFilter] = React.useState<'all' | 'file' | 'comment'>('all')\n const [hidden, setHidden] = React.useState<FeedKind[]>([])\n const [fileOpen, setFileOpen] = React.useState(false)\n const [replyOpen, setReplyOpen] = React.useState(false)\n const [draft, setDraft] = React.useState('')\n const [reply, setReply] = React.useState('')\n const visible = feedKinds.filter(kind => !hidden.includes(kind) && (filter === 'all' || filter === kind))\n const title = (kind: FeedKind) => <>{people[kind]} <span className=\"font-normal text-muted-foreground\">{t(`design_system.gallery.samples.feeds.${kind}Action`)}</span></>\n return <div className=\"w-full max-w-2xl space-y-5\">\n <div className=\"flex flex-wrap items-center gap-1\" role=\"group\" aria-label={t('design_system.gallery.samples.feeds.filter')}>\n {(['all', 'file', 'comment'] as const).map(value => <Button key={value} size=\"2xs\" variant=\"ghost\" aria-pressed={filter === value} onClick={() => setFilter(value)} className=\"gap-1.5 px-2.5 aria-pressed:bg-status-info-bg aria-pressed:text-status-info-text\">\n {value === 'all' ? <ListFilter className=\"size-[18px]\" /> : value === 'file' ? <FileText className=\"size-[18px]\" /> : null}{t(`design_system.gallery.samples.feeds.${value}`)}\n </Button>)}\n {hidden.length ? <Button variant=\"ghost\" size=\"2xs\" onClick={() => setHidden([])}><RotateCcw />{t('design_system.gallery.samples.feeds.restore')}</Button> : null}\n </div>\n <ActivityFeed className=\"gap-5\">\n {visible.map(kind => <ActivityFeedItem key={kind} className=\"gap-4 [&_[data-slot=activity-feed-item-title]]:leading-5 [&_[data-slot=activity-feed-item-title]>span:first-child]:font-medium\" avatar={<Avatar size={32} label={people[kind]} />} title={title(kind)} timestamp={t('design_system.gallery.samples.feeds.time')}\n actions={<Popover><PopoverTrigger asChild><Button variant=\"ghost\" size=\"icon\" className=\"size-6\" aria-label={t('design_system.gallery.samples.feeds.actions', { name: people[kind] })}><MoreHorizontal /></Button></PopoverTrigger><PopoverContent align=\"end\" className=\"w-auto p-1\"><PopoverClose asChild><Button variant=\"ghost\" size=\"sm\" onClick={() => setHidden(items => [...items, kind])}>{t('design_system.gallery.samples.feeds.hide')}</Button></PopoverClose></PopoverContent></Popover>}>\n {kind === 'file' ? <ActivityFeedFileChip name=\"apex-report.pdf\" size=\"4 MB\" onDownload={() => setFileOpen(true)} downloadAriaLabel={t('design_system.gallery.samples.feeds.openFile')} /> : null}\n {kind === 'comment' ? <div className=\"w-full space-y-2\"><ActivityFeedComment className=\"[&_[data-slot=activity-feed-comment-body]]:whitespace-normal [&_[data-slot=activity-feed-comment-body]]:break-words\" onReply={() => setReplyOpen(value => !value)} replyLabel={t('design_system.gallery.samples.feeds.reply')}>{t('design_system.gallery.samples.feeds.commentBody')}</ActivityFeedComment>\n {replyOpen ? <form className=\"space-y-2\" onSubmit={event => { event.preventDefault(); if (draft.trim()) { setReply(draft.trim()); setDraft(''); setReplyOpen(false) } }}><Textarea aria-label={t('design_system.gallery.samples.feeds.reply')} value={draft} onChange={event => setDraft(event.target.value)} /><Button size=\"sm\" type=\"submit\" disabled={!draft.trim()}>{t('design_system.gallery.samples.feeds.saveReply')}</Button></form> : null}\n {reply ? <p className=\"rounded-md bg-muted p-3 text-sm\" role=\"status\">{reply}</p> : null}\n </div> : null}\n {kind === 'avatars' ? <div className=\"inline-flex items-center gap-1.5 rounded-full border border-border bg-background py-0.5 pl-0.5 pr-2 shadow-xs\"><AvatarStack size={24} max={3}><Avatar size={24} label=\"Wei Chen\" /><Avatar size={24} label=\"Laura Perez\" /><Avatar size={24} label=\"Omar Haddad\" /></AvatarStack><span className=\"text-xs text-muted-foreground\">+4</span></div> : null}\n {kind === 'tasks' ? <><ActivityFeedStatusChip status=\"success\">{t('design_system.gallery.samples.feeds.approved')}</ActivityFeedStatusChip><ActivityFeedStatusChip status=\"warning\">{t('design_system.gallery.samples.feeds.review')}</ActivityFeedStatusChip><ActivityFeedStatusChip status=\"pending\">{t('design_system.gallery.samples.feeds.pending')}</ActivityFeedStatusChip><ActivityFeedStatusChip status=\"error\">{t('design_system.gallery.samples.feeds.blocked')}</ActivityFeedStatusChip></> : null}\n </ActivityFeedItem>)}\n </ActivityFeed>\n {!visible.length ? <p className=\"text-sm text-muted-foreground\" role=\"status\">{t('design_system.gallery.samples.feeds.empty')}</p> : null}\n <LocalFilePreview open={fileOpen} onOpenChange={setFileOpen} />\n </div>\n}\n\nconst notificationKinds = ['basic', 'button', 'file', 'message'] as const\nexport function NotificationFeedExample({ tabs = 4 }: { tabs?: 2 | 3 | 4 }) {\n const t = useT()\n const [filter, setFilter] = React.useState('all')\n const [archived, setArchived] = React.useState(false)\n const [read, setRead] = React.useState(false)\n const [decision, setDecision] = React.useState<'approved' | 'denied' | null>(null)\n const [fileOpen, setFileOpen] = React.useState(false)\n const filters = ['all', 'unread', 'file', 'message'].slice(0, tabs)\n const visible = archived || (filter === 'unread' && read) ? [] : notificationKinds.filter(kind => !['file', 'message'].includes(filter) || kind === filter)\n return <div className=\"w-full max-w-xl space-y-3\"><NotificationFeed>\n <NotificationFeedHeader className=\"flex-wrap\" title={t('design_system.gallery.samples.feeds.notifications')}><Button size=\"2xs\" variant=\"ghost\" onClick={() => setRead(true)} disabled={read || archived}>{t('design_system.gallery.samples.feeds.markRead')}</Button></NotificationFeedHeader>\n <Tabs value={filter} onValueChange={setFilter} variant=\"underline\"><TabsList aria-label={t('design_system.gallery.samples.feeds.filter')} className=\"w-full px-3\">{filters.map(value => <TabsTrigger key={value} value={value}>{t(`design_system.gallery.samples.feeds.${value}`)}</TabsTrigger>)}</TabsList><TabsContent value={filter} className=\"mt-0\">\n <NotificationFeedList className=\"gap-1 divide-y-0 p-2\">\n {visible.map(kind => <NotificationFeedItem key={kind} className=\"rounded-lg p-3 hover:bg-muted/40 [&_[data-slot=notification-feed-item-title]]:font-medium\" icon={<Avatar size={40} label=\"Wei Chen\" />} title={t(`design_system.gallery.samples.feeds.notification${kind}`)} timestamp={<>{t('design_system.gallery.samples.feeds.time')} \u00B7 Apex</>} unread={!read}>\n {kind === 'button' ? decision ? <p className=\"text-sm\" role=\"status\">{t(`design_system.gallery.samples.feeds.${decision}`)}</p> : <><Button variant=\"outline\" size=\"sm\" onClick={() => setDecision('denied')}>{t('design_system.gallery.samples.feeds.deny')}</Button><Button variant=\"primary-filled\" size=\"sm\" onClick={() => setDecision('approved')}>{t('design_system.gallery.samples.feeds.approve')}</Button></> : null}\n {kind === 'file' ? <ActivityFeedFileChip name=\"apex-report.pdf\" size=\"4 MB\" onDownload={() => setFileOpen(true)} downloadAriaLabel={t('design_system.gallery.samples.feeds.openFile')} /> : null}\n {kind === 'message' ? <p className=\"rounded-md rounded-tl-sm border border-border bg-background px-3 py-2 text-sm text-muted-foreground shadow-xs\">{t('design_system.gallery.samples.feeds.messageBody')}</p> : null}\n </NotificationFeedItem>)}\n </NotificationFeedList>\n {!visible.length ? <p className=\"p-5 text-center text-sm text-muted-foreground\" role=\"status\">{t('design_system.gallery.samples.feeds.empty')}</p> : null}\n <NotificationFeedFooter><Button variant=\"outline\" size=\"sm\" className=\"w-full\" onClick={() => setArchived(true)} disabled={archived}>{t('design_system.gallery.samples.feeds.archive')}</Button></NotificationFeedFooter></TabsContent></Tabs>\n </NotificationFeed><Button variant=\"ghost\" size=\"sm\" onClick={() => { setArchived(false); setRead(false); setDecision(null); setFilter('all') }}><RotateCcw />{t('design_system.gallery.samples.feeds.restore')}</Button><LocalFilePreview open={fileOpen} onOpenChange={setFileOpen} /></div>\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,72 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { useT } from "@open-mercato/shared/lib/i18n/context";
4
+ import { Button } from "@open-mercato/ui/primitives/button";
5
+ import { FileUploadArea } from "@open-mercato/ui/primitives/file-upload";
6
+ import { FileUploadCard } from "@open-mercato/ui/primitives/file-upload-card";
7
+ import { ImageUpload } from "@open-mercato/ui/primitives/image-upload";
8
+ import { formatAttachmentFileSize } from "@open-mercato/ui/backend/detail/AttachmentVisualPreview";
9
+ import { uploadExampleImages } from "../assets/upload-images.js";
10
+ function FileUploadAreaDemo({ disabled = false }) {
11
+ const t = useT();
12
+ const nextId = React.useRef(0);
13
+ const [files, setFiles] = React.useState([]);
14
+ const uploading = files.some((file) => file.progress < 100);
15
+ React.useEffect(() => {
16
+ if (!uploading) return;
17
+ const timer = window.setInterval(() => setFiles((current) => current.map((file) => ({ ...file, progress: Math.min(100, file.progress + 20) }))), 350);
18
+ return () => window.clearInterval(timer);
19
+ }, [uploading]);
20
+ return /* @__PURE__ */ jsxs("div", { className: "flex w-100 max-w-full flex-col gap-3", children: [
21
+ /* @__PURE__ */ jsx(FileUploadArea, { disabled, onFilesSelected: (selected) => setFiles((current) => [...current, ...selected.map((file) => ({ id: nextId.current++, file, progress: 0 }))]) }),
22
+ files.length > 0 ? /* @__PURE__ */ jsx("p", { role: "status", className: "text-xs text-muted-foreground", children: t("design_system.gallery.samples.upload.selected", "{count} files selected", { count: files.length }) }) : null,
23
+ files.map((item) => /* @__PURE__ */ jsx(FileUploadCard, { fileName: item.file.name, sizeLabel: formatAttachmentFileSize(item.file.size), status: item.progress === 100 ? "success" : "uploading", progress: item.progress, onRemove: () => setFiles((current) => current.filter((file) => file.id !== item.id)) }, item.id))
24
+ ] });
25
+ }
26
+ function FileUploadCardDemo({ initialStatus, disabled = false }) {
27
+ const t = useT();
28
+ const [removed, setRemoved] = React.useState(false);
29
+ const [status, setStatus] = React.useState(initialStatus);
30
+ const [progress, setProgress] = React.useState(0);
31
+ const [retrying, setRetrying] = React.useState(false);
32
+ React.useEffect(() => {
33
+ if (!retrying || removed) return;
34
+ const timer = window.setInterval(() => setProgress((current) => Math.min(100, current + 25)), 250);
35
+ return () => window.clearInterval(timer);
36
+ }, [retrying, removed]);
37
+ React.useEffect(() => {
38
+ if (progress < 100) return;
39
+ setStatus("success");
40
+ setRetrying(false);
41
+ }, [progress]);
42
+ if (removed) return /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", onClick: () => {
43
+ setRemoved(false);
44
+ setRetrying(false);
45
+ setProgress(0);
46
+ setStatus(initialStatus);
47
+ }, children: t("design_system.gallery.samples.upload.reset", "Reset example") });
48
+ return /* @__PURE__ */ jsx(FileUploadCard, { fileName: "my-cv.pdf", sizeLabel: t(status === "success" ? "design_system.gallery.samples.upload.completeSize" : "design_system.gallery.samples.upload.size"), status, progress, disabled, onRemove: () => setRemoved(true), onRetry: () => {
49
+ setProgress(0);
50
+ setStatus("uploading");
51
+ setRetrying(true);
52
+ } });
53
+ }
54
+ function ImageUploadDemo({ kind, uploaded, alignment, disabled = false }) {
55
+ const t = useT();
56
+ const [source, setSource] = React.useState(uploaded ? uploadExampleImages[kind] : null);
57
+ const objectUrl = React.useRef(null);
58
+ React.useEffect(() => () => {
59
+ if (objectUrl.current) URL.revokeObjectURL(objectUrl.current);
60
+ }, []);
61
+ return /* @__PURE__ */ jsx(ImageUpload, { src: source, alt: t(`design_system.gallery.samples.upload.${kind}`), kind, alignment, disabled, onChange: (file) => {
62
+ if (objectUrl.current) URL.revokeObjectURL(objectUrl.current);
63
+ objectUrl.current = file ? URL.createObjectURL(file) : null;
64
+ setSource(objectUrl.current);
65
+ } });
66
+ }
67
+ export {
68
+ FileUploadAreaDemo,
69
+ FileUploadCardDemo,
70
+ ImageUploadDemo
71
+ };
72
+ //# sourceMappingURL=file-upload.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/modules/design_system/gallery/demos/file-upload.tsx"],
4
+ "sourcesContent": ["import * as React from 'react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport { FileUploadArea } from '@open-mercato/ui/primitives/file-upload'\nimport { FileUploadCard, type FileUploadStatus } from '@open-mercato/ui/primitives/file-upload-card'\nimport { ImageUpload } from '@open-mercato/ui/primitives/image-upload'\nimport { formatAttachmentFileSize } from '@open-mercato/ui/backend/detail/AttachmentVisualPreview'\nimport { uploadExampleImages } from '../assets/upload-images'\n\ntype QueueFile = { id: number; file: File; progress: number }\n\nexport function FileUploadAreaDemo({ disabled = false }: { disabled?: boolean }) {\n const t = useT()\n const nextId = React.useRef(0)\n const [files, setFiles] = React.useState<QueueFile[]>([])\n const uploading = files.some(file => file.progress < 100)\n React.useEffect(() => {\n if (!uploading) return\n const timer = window.setInterval(() => setFiles(current => current.map(file => ({ ...file, progress: Math.min(100, file.progress + 20) }))), 350)\n return () => window.clearInterval(timer)\n }, [uploading])\n return (\n <div className=\"flex w-100 max-w-full flex-col gap-3\">\n <FileUploadArea disabled={disabled} onFilesSelected={selected => setFiles(current => [...current, ...selected.map(file => ({ id: nextId.current++, file, progress: 0 }))])} />\n {files.length > 0 ? <p role=\"status\" className=\"text-xs text-muted-foreground\">{t('design_system.gallery.samples.upload.selected', '{count} files selected', { count: files.length })}</p> : null}\n {files.map(item => <FileUploadCard key={item.id} fileName={item.file.name} sizeLabel={formatAttachmentFileSize(item.file.size)} status={item.progress === 100 ? 'success' : 'uploading'} progress={item.progress} onRemove={() => setFiles(current => current.filter(file => file.id !== item.id))} />)}\n </div>\n )\n}\n\nexport function FileUploadCardDemo({ initialStatus, disabled = false }: { initialStatus: FileUploadStatus; disabled?: boolean }) {\n const t = useT()\n const [removed, setRemoved] = React.useState(false)\n const [status, setStatus] = React.useState(initialStatus)\n const [progress, setProgress] = React.useState(0)\n const [retrying, setRetrying] = React.useState(false)\n React.useEffect(() => {\n if (!retrying || removed) return\n const timer = window.setInterval(() => setProgress(current => Math.min(100, current + 25)), 250)\n return () => window.clearInterval(timer)\n }, [retrying, removed])\n React.useEffect(() => {\n if (progress < 100) return\n setStatus('success')\n setRetrying(false)\n }, [progress])\n if (removed) return <Button variant=\"outline\" size=\"sm\" onClick={() => { setRemoved(false); setRetrying(false); setProgress(0); setStatus(initialStatus) }}>{t('design_system.gallery.samples.upload.reset', 'Reset example')}</Button>\n return <FileUploadCard fileName=\"my-cv.pdf\" sizeLabel={t(status === 'success' ? 'design_system.gallery.samples.upload.completeSize' : 'design_system.gallery.samples.upload.size')} status={status} progress={progress} disabled={disabled} onRemove={() => setRemoved(true)} onRetry={() => { setProgress(0); setStatus('uploading'); setRetrying(true) }} />\n}\n\nexport function ImageUploadDemo({ kind, uploaded, alignment, disabled = false }: { kind: 'avatar' | 'company'; uploaded: boolean; alignment: 'vertical' | 'horizontal'; disabled?: boolean }) {\n const t = useT()\n const [source, setSource] = React.useState<string | null>(uploaded ? uploadExampleImages[kind] : null)\n const objectUrl = React.useRef<string | null>(null)\n React.useEffect(() => () => { if (objectUrl.current) URL.revokeObjectURL(objectUrl.current) }, [])\n return <ImageUpload src={source} alt={t(`design_system.gallery.samples.upload.${kind}`)} kind={kind} alignment={alignment} disabled={disabled} onChange={file => {\n if (objectUrl.current) URL.revokeObjectURL(objectUrl.current)\n objectUrl.current = file ? URL.createObjectURL(file) : null\n setSource(objectUrl.current)\n }} />\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }