@open-mercato/core 0.7.1-develop.7203.1.9396450b78 → 0.8.1-develop.7204.1.83330e271e

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 -8
  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,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/modules/design_system/gallery/entries/scaffolding.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport { Archive, Copy, Download, Lock, Plus, Trash2, UserRound } from 'lucide-react'\nimport { Badge } from '@open-mercato/ui/primitives/badge'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport { Page, PageBody, PageHeader } from '@open-mercato/ui/backend/Page'\nimport { CollapsibleSection, SectionHeader } from '@open-mercato/ui/backend/SectionHeader'\nimport {\n SectionNav,\n SectionPage,\n type SectionNavGroup,\n} from '@open-mercato/ui/backend/section-page'\nimport {\n ActionsDropdown,\n FormFooter,\n FormHeader,\n type ActionItem,\n} from '@open-mercato/ui/backend/forms'\nimport type { GalleryEntry } from '../types'\n\n// Component titles and variant names are proper nouns from the codebase and\n// are deliberately not translated. `code` MUST contain the entry's importPath\n// (enforced by the registry-integrity test) and is always reviewed alongside\n// its sibling `render`.\n\n// The demos use `#`-anchors as hrefs so clicking inside the gallery never\n// navigates away, and every callback is a no-op.\n\nconst demoSections: SectionNavGroup[] = [\n {\n id: 'account',\n label: 'Account',\n items: [\n { id: 'profile', label: 'Profile', href: '#profile', icon: <UserRound className=\"size-4\" /> },\n { id: 'security', label: 'Security', href: '#security', icon: <Lock className=\"size-4\" /> },\n ],\n },\n]\n\n// SectionPage stretches to the viewport by design \u2014 the miniature demo clips\n// it inside a fixed-height frame so the two-item nav plus content stay small.\nfunction SectionPageMiniDemo() {\n return (\n <div className=\"h-80 w-full overflow-hidden rounded-lg border bg-background\">\n <SectionPage title=\"Settings\" sections={demoSections} activePath=\"#profile\">\n <div className=\"space-y-2\">\n <h2 className=\"text-sm font-semibold\">Profile</h2>\n <p className=\"text-sm text-muted-foreground\">Section content renders here.</p>\n </div>\n </SectionPage>\n </div>\n )\n}\n\n// SectionNav is controlled \u2014 the demo owns the collapsed state.\nfunction SectionNavDemo() {\n const [collapsed, setCollapsed] = React.useState(false)\n return (\n <div className=\"w-64 rounded-lg border bg-background px-3 py-4\">\n <SectionNav\n title=\"Settings\"\n sections={demoSections}\n activePath=\"#profile\"\n collapsed={collapsed}\n onToggleCollapse={() => setCollapsed((value) => !value)}\n />\n </div>\n )\n}\n\nconst demoActions: ActionItem[] = [\n { id: 'duplicate', label: 'Duplicate record', icon: Copy, onSelect: () => {} },\n { id: 'export', label: 'Export as CSV', icon: Download, onSelect: () => {} },\n { id: 'delete', label: 'Delete record', icon: Trash2, onSelect: () => {} },\n]\n\nconst pageEntry: GalleryEntry = {\n id: 'page',\n title: 'Page',\n importPath: '@open-mercato/ui/backend/Page',\n variants: [\n {\n id: 'basic',\n title: 'Page + PageHeader + PageBody',\n render: () => (\n <div className=\"w-full\">\n <Page>\n <PageHeader title=\"Currencies\" description=\"Exchange rates refresh nightly.\" />\n <PageBody>\n <div className=\"rounded-lg border border-dashed p-6 text-sm text-muted-foreground\">\n Page content\n </div>\n </PageBody>\n </Page>\n </div>\n ),\n code: `import { Page, PageBody, PageHeader } from '@open-mercato/ui/backend/Page'\n\n<Page>\n <PageHeader title={t('currencies.list.title')} description={t('design_system.gallery.samples.listDescription')} />\n <PageBody>{/* DataTable, sections\u2026 */}</PageBody>\n</Page>`,\n },\n {\n id: 'with-actions',\n title: 'Header actions',\n render: () => (\n <div className=\"w-full\">\n <Page>\n <PageHeader\n title=\"Currencies\"\n description=\"Exchange rates refresh nightly.\"\n actions={\n <>\n <Button variant=\"outline\" size=\"sm\">\n Import\n </Button>\n <Button size=\"sm\">\n <Plus className=\"size-4\" /> Add currency\n </Button>\n </>\n }\n />\n <PageBody>\n <div className=\"rounded-lg border border-dashed p-6 text-sm text-muted-foreground\">\n Page content\n </div>\n </PageBody>\n </Page>\n </div>\n ),\n code: `import { Plus } from 'lucide-react'\nimport { Page, PageBody, PageHeader } from '@open-mercato/ui/backend/Page'\nimport { Button } from '@open-mercato/ui/primitives/button'\n\n<Page>\n <PageHeader\n title={t('currencies.list.title')}\n actions={\n <>\n <Button variant=\"outline\" size=\"sm\">Import</Button>\n <Button size=\"sm\"><Plus className=\"size-4\" /> Add currency</Button>\n </>\n }\n />\n <PageBody>{/* \u2026 */}</PageBody>\n</Page>`,\n },\n ],\n}\n\nconst sectionHeaderEntry: GalleryEntry = {\n id: 'section-header',\n title: 'SectionHeader',\n importPath: '@open-mercato/ui/backend/SectionHeader',\n variants: [\n {\n id: 'count-and-action',\n title: 'With count and action',\n render: () => (\n <div className=\"w-full max-w-md\">\n <SectionHeader\n title=\"Addresses\"\n count={3}\n action={\n <Button variant=\"ghost\" size=\"sm\">\n <Plus className=\"size-4\" /> Add\n </Button>\n }\n />\n </div>\n ),\n code: `import { Plus } from 'lucide-react'\nimport { SectionHeader } from '@open-mercato/ui/backend/SectionHeader'\nimport { Button } from '@open-mercato/ui/primitives/button'\n\n<SectionHeader\n title={t('design_system.gallery.samples.addresses.title')}\n count={addresses.length}\n action={<Button variant=\"ghost\" size=\"sm\"><Plus className=\"size-4\" /> {t('common.add')}</Button>}\n/>`,\n },\n {\n id: 'collapsible',\n title: 'CollapsibleSection',\n render: () => (\n <div className=\"w-full max-w-md\">\n <CollapsibleSection title=\"Billing details\" count={2}>\n <div className=\"rounded-lg border border-dashed p-4 text-sm text-muted-foreground\">\n Section content\n </div>\n </CollapsibleSection>\n </div>\n ),\n code: `import { CollapsibleSection } from '@open-mercato/ui/backend/SectionHeader'\n\n<CollapsibleSection title={t('design_system.gallery.samples.billingDetails')} count={2}>\n {/* section content */}\n</CollapsibleSection>`,\n },\n ],\n}\n\nconst sectionPageEntry: GalleryEntry = {\n id: 'section-page',\n title: 'SectionPage',\n importPath: '@open-mercato/ui/backend/section-page',\n variants: [\n {\n id: 'miniature',\n title: 'Two-item miniature (clipped frame)',\n render: () => <SectionPageMiniDemo />,\n code: `import { UserRound, Lock } from 'lucide-react'\nimport { SectionPage, type SectionNavGroup } from '@open-mercato/ui/backend/section-page'\n\nconst sections: SectionNavGroup[] = [\n {\n id: 'account',\n label: 'Account',\n items: [\n { id: 'profile', label: 'Profile', href: '/backend/profile', icon: <UserRound className=\"size-4\" /> },\n { id: 'security', label: 'Security', href: '/backend/profile/security', icon: <Lock className=\"size-4\" /> },\n ],\n },\n]\n\n<SectionPage title={t('profile.page.title')} sections={sections} activePath={pathname}>\n {children}\n</SectionPage>`,\n },\n {\n id: 'section-nav',\n title: 'SectionNav (standalone, controlled collapse)',\n render: () => <SectionNavDemo />,\n code: `import { SectionNav, type SectionNavGroup } from '@open-mercato/ui/backend/section-page'\n\nconst [collapsed, setCollapsed] = React.useState(false)\n\n<SectionNav\n title={t('profile.page.title')}\n sections={sections}\n activePath={pathname}\n collapsed={collapsed}\n onToggleCollapse={() => setCollapsed((value) => !value)}\n/>`,\n },\n ],\n}\n\nconst formHeaderEntry: GalleryEntry = {\n id: 'form-header',\n title: 'FormHeader',\n importPath: '@open-mercato/ui/backend/forms',\n variants: [\n {\n id: 'edit-mode',\n title: 'Edit mode',\n render: () => (\n <div className=\"w-full\">\n <FormHeader\n backHref=\"#form-header\"\n backLabel=\"Back\"\n title=\"Edit product\"\n actions={{\n cancelHref: '#form-header',\n cancelLabel: 'Cancel',\n submit: { label: 'Save', pendingLabel: 'Saving\u2026' },\n }}\n />\n </div>\n ),\n code: `import { FormHeader } from '@open-mercato/ui/backend/forms'\n\n<FormHeader\n backHref=\"/backend/products\"\n backLabel={t('ui.navigation.back')}\n title={t('catalog.products.edit.title')}\n actions={{\n cancelHref: '/backend/products',\n cancelLabel: t('ui.forms.actions.cancel'),\n submit: { formId: 'product-form', label: t('ui.forms.actions.save'), pendingLabel: t('ui.forms.actions.saving') },\n }}\n/>`,\n },\n {\n id: 'detail-mode',\n title: 'Detail mode',\n render: () => (\n <div className=\"w-full\">\n <FormHeader\n mode=\"detail\"\n backHref=\"#form-header\"\n entityTypeLabel=\"Company\"\n title=\"Acme Logistics\"\n subtitle=\"Created 12 Mar 2026\"\n statusBadge={<Badge variant=\"muted\">Active</Badge>}\n menuActions={[\n { id: 'duplicate', label: 'Duplicate', icon: Copy, onSelect: () => {} },\n { id: 'archive', label: 'Archive', icon: Archive, onSelect: () => {} },\n ]}\n onDelete={() => {}}\n deleteLabel=\"Delete\"\n />\n </div>\n ),\n code: `import { Archive, Copy } from 'lucide-react'\nimport { FormHeader } from '@open-mercato/ui/backend/forms'\n\n<FormHeader\n mode=\"detail\"\n backHref=\"/backend/customers/companies\"\n entityTypeLabel={t('design_system.gallery.samples.entityType')}\n title={company.name}\n subtitle={t('design_system.gallery.samples.createdAt', { date: createdAt })}\n statusBadge={<Badge variant=\"muted\">{statusLabel}</Badge>}\n menuActions={[\n { id: 'duplicate', label: t('ui.actions.duplicate'), icon: Copy, onSelect: duplicate },\n { id: 'archive', label: t('ui.actions.archive'), icon: Archive, onSelect: archive },\n ]}\n onDelete={confirmDelete}\n deleteLabel={t('ui.forms.actions.delete')}\n/>`,\n },\n ],\n}\n\nconst formFooterEntry: GalleryEntry = {\n id: 'form-footer',\n title: 'FormFooter',\n importPath: '@open-mercato/ui/backend/forms',\n variants: [\n {\n id: 'default',\n title: 'default',\n render: () => (\n <div className=\"w-full\">\n <FormFooter\n actions={{\n cancelHref: '#form-footer',\n cancelLabel: 'Cancel',\n submit: { label: 'Save changes', pendingLabel: 'Saving\u2026' },\n }}\n />\n </div>\n ),\n code: `import { FormFooter } from '@open-mercato/ui/backend/forms'\n\n<FormFooter\n actions={{\n cancelHref: '/backend/products',\n cancelLabel: t('ui.forms.actions.cancel'),\n submit: { formId: 'product-form', label: t('ui.forms.actions.save'), pendingLabel: t('ui.forms.actions.saving') },\n }}\n/>`,\n },\n {\n id: 'embedded-with-delete',\n title: 'embedded, with delete',\n render: () => (\n <div className=\"w-full\">\n <FormFooter\n embedded\n actions={{\n showDelete: true,\n onDelete: () => {},\n deleteLabel: 'Delete',\n cancelHref: '#form-footer',\n cancelLabel: 'Cancel',\n submit: { label: 'Save' },\n }}\n />\n </div>\n ),\n code: `import { FormFooter } from '@open-mercato/ui/backend/forms'\n\n<FormFooter\n embedded\n actions={{\n showDelete: true,\n onDelete: confirmDelete,\n deleteLabel: t('ui.forms.actions.delete'),\n cancelHref: '/backend/products',\n cancelLabel: t('ui.forms.actions.cancel'),\n submit: { label: t('ui.forms.actions.save') },\n }}\n/>`,\n },\n ],\n}\n\nconst actionsDropdownEntry: GalleryEntry = {\n id: 'actions-dropdown',\n title: 'ActionsDropdown',\n importPath: '@open-mercato/ui/backend/forms',\n variants: [\n {\n id: 'label-trigger',\n title: 'Label trigger',\n render: () => <ActionsDropdown items={demoActions} />,\n code: `import { Copy, Download, Trash2 } from 'lucide-react'\nimport { ActionsDropdown, type ActionItem } from '@open-mercato/ui/backend/forms'\n\nconst items: ActionItem[] = [\n { id: 'duplicate', label: t('ui.actions.duplicate'), icon: Copy, onSelect: duplicate },\n { id: 'export', label: t('ui.actions.export'), icon: Download, onSelect: exportCsv },\n { id: 'delete', label: t('ui.actions.delete'), icon: Trash2, onSelect: confirmDelete },\n]\n\n<ActionsDropdown items={items} />`,\n },\n {\n id: 'icon-trigger',\n title: 'Icon trigger',\n render: () => (\n <ActionsDropdown items={demoActions} triggerMode=\"icon\" ariaLabel=\"More actions\" />\n ),\n code: `import { ActionsDropdown } from '@open-mercato/ui/backend/forms'\n\n<ActionsDropdown items={items} triggerMode=\"icon\" ariaLabel={t('ui.actions.more')} />`,\n },\n ],\n}\n\nexport const entries: GalleryEntry[] = [\n pageEntry,\n sectionHeaderEntry,\n sectionPageEntry,\n formHeaderEntry,\n formFooterEntry,\n actionsDropdownEntry,\n]\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useT } from '@open-mercato/shared/lib/i18n/context'\nimport * as React from 'react'\nimport { CryptocurrencyDemo } from '../demos/cryptocurrency'\nimport { Archive, Copy, Download, Lock, Plus, Trash2, UserRound } from 'lucide-react'\nimport { Badge } from '@open-mercato/ui/primitives/badge'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport { Page, PageBody, PageHeader } from '@open-mercato/ui/backend/Page'\nimport { CollapsibleSection, SectionHeader } from '@open-mercato/ui/backend/SectionHeader'\nimport { SectionNav, SectionPage, type SectionNavGroup } from '@open-mercato/ui/backend/section-page'\nimport { ActionsDropdown, FormFooter, FormHeader, type ActionItem } from '@open-mercato/ui/backend/forms'\nimport { PageHeaderExample } from '../demos/shell'\nimport { shellExampleCode } from '../demos/shell-code.generated'\nimport type { GalleryEntry } from '../types'\n\n// Component titles and variant names are proper nouns from the codebase and\n// are deliberately not translated. `code` MUST contain the entry's importPath\n// (enforced by the registry-integrity test) and is always reviewed alongside\n// its sibling `render`.\n\n// The demos use `#`-anchors as hrefs so clicking inside the gallery never\n// navigates away, and every callback is a no-op.\nfunction PageEntryBasicPreview() {\n const t = useT()\n return (\n <div className=\"w-full\">\n <Page>\n <PageHeader\n title={t('design_system.gallery.samples.content.currencies')}\n description={t('design_system.gallery.samples.content.exchangeRatesRefreshNightly')}\n />\n <PageBody>\n <div className=\"rounded-lg border border-dashed p-6 text-sm text-muted-foreground\">\n {t('design_system.gallery.samples.content.pageContent')}\n </div>\n </PageBody>\n </Page>\n </div>\n )\n}\nfunction PageEntryWithActionsPreview() {\n const t = useT()\n return (\n <div className=\"w-full\">\n <Page>\n <PageHeader\n title={t('design_system.gallery.samples.content.currencies')}\n description={t('design_system.gallery.samples.content.exchangeRatesRefreshNightly')}\n actions={\n <>\n <Button variant=\"outline\" size=\"sm\">\n {t('design_system.gallery.samples.content.import')}\n </Button>\n <Button size=\"sm\">\n <Plus className=\"size-4\" />\n {t('design_system.gallery.samples.content.addCurrency')}\n </Button>\n </>\n }\n />\n <PageBody>\n <div className=\"rounded-lg border border-dashed p-6 text-sm text-muted-foreground\">\n {t('design_system.gallery.samples.content.pageContent')}\n </div>\n </PageBody>\n </Page>\n </div>\n )\n}\nfunction SectionHeaderEntryCountAndActionPreview() {\n const t = useT()\n return (\n <div className=\"w-full max-w-md\">\n <SectionHeader\n title={t('design_system.gallery.samples.content.addresses')}\n count={3}\n action={\n <Button variant=\"ghost\" size=\"sm\">\n <Plus className=\"size-4\" />\n {t('design_system.gallery.samples.content.add')}\n </Button>\n }\n />\n </div>\n )\n}\nfunction SectionHeaderEntryCollapsiblePreview() {\n const t = useT()\n return (\n <div className=\"w-full max-w-md\">\n <CollapsibleSection title={t('design_system.gallery.samples.content.billingDetails')} count={2}>\n <div className=\"rounded-lg border border-dashed p-4 text-sm text-muted-foreground\">\n {t('design_system.gallery.samples.content.sectionContent')}\n </div>\n </CollapsibleSection>\n </div>\n )\n}\nfunction FormHeaderEntryEditModePreview() {\n const t = useT()\n return (\n <div className=\"w-full\">\n <FormHeader\n backHref=\"#form-header\"\n backLabel={t('design_system.gallery.samples.content.back')}\n title={t('design_system.gallery.samples.content.editProduct')}\n actions={{\n cancelHref: '#form-header',\n cancelLabel: 'Cancel',\n submit: {\n label: t('design_system.gallery.samples.content.save'),\n pendingLabel: 'Saving\u2026',\n },\n }}\n />\n </div>\n )\n}\nfunction FormHeaderEntryDetailModePreview() {\n const t = useT()\n return (\n <div className=\"w-full\">\n <FormHeader\n mode=\"detail\"\n backHref=\"#form-header\"\n entityTypeLabel={t('design_system.gallery.samples.content.company')}\n title=\"Acme Logistics\"\n subtitle={t('design_system.gallery.samples.content.created12Mar2026')}\n statusBadge={<Badge variant=\"muted\">{t('design_system.gallery.samples.content.active')}</Badge>}\n menuActions={[\n {\n id: 'duplicate',\n label: t('design_system.gallery.samples.content.duplicate'),\n icon: Copy,\n onSelect: () => {},\n },\n {\n id: 'archive',\n label: t('design_system.gallery.samples.content.archive'),\n icon: Archive,\n onSelect: () => {},\n },\n ]}\n onDelete={() => {}}\n deleteLabel={t('design_system.gallery.samples.content.delete')}\n />\n </div>\n )\n}\nfunction FormFooterEntryDefaultPreview() {\n const t = useT()\n return (\n <div className=\"w-full\">\n <FormFooter\n actions={{\n cancelHref: '#form-footer',\n cancelLabel: 'Cancel',\n submit: {\n label: t('design_system.gallery.samples.content.saveChanges'),\n pendingLabel: 'Saving\u2026',\n },\n }}\n />\n </div>\n )\n}\nfunction FormFooterEntryEmbeddedWithDeletePreview() {\n const t = useT()\n return (\n <div className=\"w-full\">\n <FormFooter\n embedded\n actions={{\n showDelete: true,\n onDelete: () => {},\n deleteLabel: t('design_system.gallery.samples.content.delete'),\n cancelHref: '#form-footer',\n cancelLabel: 'Cancel',\n submit: {\n label: t('design_system.gallery.samples.content.save'),\n },\n }}\n />\n </div>\n )\n}\nfunction ActionsDropdownEntryLabelTriggerPreview() {\n const t = useT()\n return <ActionsDropdown items={demoActions(t)} />\n}\nfunction ActionsDropdownEntryIconTriggerPreview() {\n const t = useT()\n return (\n <ActionsDropdown\n items={demoActions(t)}\n triggerMode=\"icon\"\n ariaLabel={t('design_system.gallery.samples.content.moreActions')}\n />\n )\n}\nconst demoSections = (t: ReturnType<typeof useT>): SectionNavGroup[] => [\n {\n id: 'account',\n label: t('design_system.gallery.samples.content.account'),\n items: [\n {\n id: 'profile',\n label: t('design_system.gallery.samples.content.profile'),\n href: '#profile',\n icon: <UserRound className=\"size-4\" />,\n },\n {\n id: 'security',\n label: t('design_system.gallery.samples.content.security'),\n href: '#security',\n icon: <Lock className=\"size-4\" />,\n },\n ],\n },\n]\nfunction SectionPageMiniDemo() {\n const t = useT()\n return (\n <div\n data-example=\"section-page\"\n className=\"w-full rounded-lg border border-border bg-background [&>div]:h-auto [&>div]:min-h-0 [&>div]:flex-col sm:[&>div]:flex-row [&>div>aside]:w-auto [&_main]:min-w-0 [&_main]:overflow-visible\"\n >\n <SectionPage\n title={t('design_system.gallery.samples.content.settings')}\n sections={demoSections(t)}\n activePath=\"#profile\"\n >\n <div className=\"space-y-2\">\n <h2 className=\"text-sm font-semibold\">{t('design_system.gallery.samples.content.profile')}</h2>\n <p className=\"text-sm text-muted-foreground\">\n {t('design_system.gallery.samples.content.sectionContentRendersHere')}\n </p>\n </div>\n </SectionPage>\n </div>\n )\n}\n\n// SectionNav is controlled \u2014 the demo owns the collapsed state.\nfunction SectionNavDemo() {\n const t = useT()\n const [collapsed, setCollapsed] = React.useState(false)\n return (\n <div className=\"w-64 rounded-lg border bg-background px-3 py-4\">\n <SectionNav\n title={t('design_system.gallery.samples.content.settings')}\n sections={demoSections(t)}\n activePath=\"#profile\"\n collapsed={collapsed}\n onToggleCollapse={() => setCollapsed((value) => !value)}\n />\n </div>\n )\n}\nconst demoActions = (t: ReturnType<typeof useT>): ActionItem[] => [\n {\n id: 'duplicate',\n label: t('design_system.gallery.samples.content.duplicateRecord'),\n icon: Copy,\n onSelect: () => {},\n },\n {\n id: 'export',\n label: t('design_system.gallery.samples.content.exportAsCsv'),\n icon: Download,\n onSelect: () => {},\n },\n {\n id: 'delete',\n label: t('design_system.gallery.samples.content.deleteRecord'),\n icon: Trash2,\n onSelect: () => {},\n },\n]\nconst pageEntry: GalleryEntry = {\n id: 'page',\n figmaNodeId: '3829:27898',\n title: 'Page',\n importPath: '@open-mercato/ui/backend/Page',\n variants: [\n {\n id: 'basic',\n title: 'Page + PageHeader + PageBody',\n render: () => <PageEntryBasicPreview />,\n code: `import { Page, PageBody, PageHeader } from '@open-mercato/ui/backend/Page'\n\n<Page>\n <PageHeader title={t('currencies.list.title')} description={t('design_system.gallery.samples.listDescription')} />\n <PageBody>{/* DataTable, sections\u2026 */}</PageBody>\n</Page>`,\n },\n {\n id: 'with-actions',\n title: 'Header actions',\n render: () => <PageEntryWithActionsPreview />,\n code: `import { Plus } from 'lucide-react'\nimport { Page, PageBody, PageHeader } from '@open-mercato/ui/backend/Page'\nimport { Button } from '@open-mercato/ui/primitives/button'\n\n<Page>\n <PageHeader\n title={t('currencies.list.title')}\n actions={\n <>\n <Button variant=\"outline\" size=\"sm\">Import</Button>\n <Button size=\"sm\"><Plus className=\"size-4\" /> Add currency</Button>\n </>\n }\n />\n <PageBody>{/* \u2026 */}</PageBody>\n</Page>`,\n },\n {\n id: 'source-page-basic',\n title: 'Page header / basic',\n render: () => <PageHeaderExample appearance=\"page\" type=\"basic\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"page\" type=\"basic\" />'),\n },\n {\n id: 'source-page-avatar',\n title: 'Page header / avatar',\n render: () => <PageHeaderExample appearance=\"page\" type=\"avatar\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"page\" type=\"avatar\" />'),\n },\n {\n id: 'source-page-icon',\n title: 'Page header / icon',\n render: () => <PageHeaderExample appearance=\"page\" type=\"icon\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"page\" type=\"icon\" />'),\n },\n {\n id: 'source-page-brand',\n title: 'Page header / brand',\n render: () => <PageHeaderExample appearance=\"page\" type=\"brand\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"page\" type=\"brand\" />'),\n },\n {\n id: 'source-page-company',\n title: 'Page header / company',\n render: () => <PageHeaderExample appearance=\"page\" type=\"company\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"page\" type=\"company\" />'),\n },\n {\n id: 'source-section-basic',\n title: 'Section header / basic',\n render: () => <PageHeaderExample appearance=\"section\" type=\"basic\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"section\" type=\"basic\" />'),\n },\n {\n id: 'source-section-avatar',\n title: 'Section header / avatar',\n render: () => <PageHeaderExample appearance=\"section\" type=\"avatar\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"section\" type=\"avatar\" />'),\n },\n {\n id: 'source-section-icon',\n title: 'Section header / icon',\n render: () => <PageHeaderExample appearance=\"section\" type=\"icon\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"section\" type=\"icon\" />'),\n },\n {\n id: 'source-section-brand',\n title: 'Section header / brand',\n render: () => <PageHeaderExample appearance=\"section\" type=\"brand\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"section\" type=\"brand\" />'),\n },\n {\n id: 'source-section-company',\n title: 'Section header / company',\n render: () => <PageHeaderExample appearance=\"section\" type=\"company\" />,\n code: shellExampleCode('<PageHeaderExample appearance=\"section\" type=\"company\" />'),\n },\n {\n id: 'source-page-options',\n title: 'Page header / optional content',\n render: () => <PageHeaderExample appearance=\"page\" type=\"company\" configurable />,\n code: shellExampleCode('<PageHeaderExample appearance=\"page\" type=\"company\" configurable />'),\n },\n {\n id: 'source-section-options',\n title: 'Section header / optional content',\n render: () => <PageHeaderExample appearance=\"section\" type=\"company\" configurable />,\n code: shellExampleCode('<PageHeaderExample appearance=\"section\" type=\"company\" configurable />'),\n },\n ],\n}\nconst sectionHeaderEntry: GalleryEntry = {\n id: 'section-header',\n title: 'SectionHeader',\n importPath: '@open-mercato/ui/backend/SectionHeader',\n variants: [\n {\n id: 'count-and-action',\n title: 'With count and action',\n render: () => <SectionHeaderEntryCountAndActionPreview />,\n code: `import { Plus } from 'lucide-react'\nimport { SectionHeader } from '@open-mercato/ui/backend/SectionHeader'\nimport { Button } from '@open-mercato/ui/primitives/button'\n\n<SectionHeader\n title={t('design_system.gallery.samples.addresses.title')}\n count={addresses.length}\n action={<Button variant=\"ghost\" size=\"sm\"><Plus className=\"size-4\" /> {t('common.add')}</Button>}\n/>`,\n },\n {\n id: 'collapsible',\n title: 'CollapsibleSection',\n render: () => <SectionHeaderEntryCollapsiblePreview />,\n code: `import { CollapsibleSection } from '@open-mercato/ui/backend/SectionHeader'\n\n<CollapsibleSection title={t('design_system.gallery.samples.billingDetails')} count={2}>\n {/* section content */}\n</CollapsibleSection>`,\n },\n ],\n}\nconst sectionPageEntry: GalleryEntry = {\n id: 'section-page',\n title: 'SectionPage',\n importPath: '@open-mercato/ui/backend/section-page',\n variants: [\n {\n id: 'miniature',\n title: 'Two-item responsive section layout',\n render: () => <SectionPageMiniDemo />,\n code: `import { UserRound, Lock } from 'lucide-react'\nimport { SectionPage, type SectionNavGroup } from '@open-mercato/ui/backend/section-page'\n\nconst sections: SectionNavGroup[] = [\n {\n id: 'account',\n label: 'Account',\n items: [\n { id: 'profile', label: 'Profile', href: '/backend/profile', icon: <UserRound className=\"size-4\" /> },\n { id: 'security', label: 'Security', href: '/backend/profile/security', icon: <Lock className=\"size-4\" /> },\n ],\n },\n]\n\n<SectionPage title={t('profile.page.title')} sections={sections} activePath={pathname}>\n {children}\n</SectionPage>`,\n },\n {\n id: 'section-nav',\n title: 'SectionNav (standalone, controlled collapse)',\n render: () => <SectionNavDemo />,\n code: `import { SectionNav, type SectionNavGroup } from '@open-mercato/ui/backend/section-page'\n\nconst [collapsed, setCollapsed] = React.useState(false)\n\n<SectionNav\n title={t('profile.page.title')}\n sections={sections}\n activePath={pathname}\n collapsed={collapsed}\n onToggleCollapse={() => setCollapsed((value) => !value)}\n/>`,\n },\n ],\n}\nconst formHeaderEntry: GalleryEntry = {\n id: 'form-header',\n title: 'FormHeader',\n importPath: '@open-mercato/ui/backend/forms',\n variants: [\n {\n id: 'edit-mode',\n title: 'Edit mode',\n render: () => <FormHeaderEntryEditModePreview />,\n code: `import { FormHeader } from '@open-mercato/ui/backend/forms'\n\n<FormHeader\n backHref=\"/backend/products\"\n backLabel={t('ui.navigation.back')}\n title={t('catalog.products.edit.title')}\n actions={{\n cancelHref: '/backend/products',\n cancelLabel: t('ui.forms.actions.cancel'),\n submit: { formId: 'product-form', label: t('ui.forms.actions.save'), pendingLabel: t('ui.forms.actions.saving') },\n }}\n/>`,\n },\n {\n id: 'detail-mode',\n title: 'Detail mode',\n render: () => <FormHeaderEntryDetailModePreview />,\n code: `import { Archive, Copy } from 'lucide-react'\nimport { FormHeader } from '@open-mercato/ui/backend/forms'\n\n<FormHeader\n mode=\"detail\"\n backHref=\"/backend/customers/companies\"\n entityTypeLabel={t('design_system.gallery.samples.entityType')}\n title={company.name}\n subtitle={t('design_system.gallery.samples.createdAt', { date: createdAt })}\n statusBadge={<Badge variant=\"muted\">{statusLabel}</Badge>}\n menuActions={[\n { id: 'duplicate', label: t('ui.actions.duplicate'), icon: Copy, onSelect: duplicate },\n { id: 'archive', label: t('ui.actions.archive'), icon: Archive, onSelect: archive },\n ]}\n onDelete={confirmDelete}\n deleteLabel={t('ui.forms.actions.delete')}\n/>`,\n },\n ],\n}\nconst formFooterEntry: GalleryEntry = {\n id: 'form-footer',\n title: 'FormFooter',\n importPath: '@open-mercato/ui/backend/forms',\n variants: [\n {\n id: 'default',\n title: 'default',\n render: () => <FormFooterEntryDefaultPreview />,\n code: `import { FormFooter } from '@open-mercato/ui/backend/forms'\n\n<FormFooter\n actions={{\n cancelHref: '/backend/products',\n cancelLabel: t('ui.forms.actions.cancel'),\n submit: { formId: 'product-form', label: t('ui.forms.actions.save'), pendingLabel: t('ui.forms.actions.saving') },\n }}\n/>`,\n },\n {\n id: 'embedded-with-delete',\n title: 'embedded, with delete',\n render: () => <FormFooterEntryEmbeddedWithDeletePreview />,\n code: `import { FormFooter } from '@open-mercato/ui/backend/forms'\n\n<FormFooter\n embedded\n actions={{\n showDelete: true,\n onDelete: confirmDelete,\n deleteLabel: t('ui.forms.actions.delete'),\n cancelHref: '/backend/products',\n cancelLabel: t('ui.forms.actions.cancel'),\n submit: { label: t('ui.forms.actions.save') },\n }}\n/>`,\n },\n ],\n}\nconst actionsDropdownEntry: GalleryEntry = {\n id: 'actions-dropdown',\n title: 'ActionsDropdown',\n importPath: '@open-mercato/ui/backend/forms',\n variants: [\n {\n id: 'label-trigger',\n title: 'Label trigger',\n render: () => <ActionsDropdownEntryLabelTriggerPreview />,\n code: `import { Copy, Download, Trash2 } from 'lucide-react'\nimport { ActionsDropdown, type ActionItem } from '@open-mercato/ui/backend/forms'\n\nconst items: ActionItem[] = [\n { id: 'duplicate', label: t('ui.actions.duplicate'), icon: Copy, onSelect: duplicate },\n { id: 'export', label: t('ui.actions.export'), icon: Download, onSelect: exportCsv },\n { id: 'delete', label: t('ui.actions.delete'), icon: Trash2, onSelect: confirmDelete },\n]\n\n<ActionsDropdown items={items} />`,\n },\n {\n id: 'icon-trigger',\n title: 'Icon trigger',\n render: () => <ActionsDropdownEntryIconTriggerPreview />,\n code: `import { ActionsDropdown } from '@open-mercato/ui/backend/forms'\n\n<ActionsDropdown items={items} triggerMode=\"icon\" ariaLabel={t('ui.actions.more')} />`,\n },\n ],\n}\n// A composed pattern, not a primitive: the snippet points at the demo module instead of\n// embedding its full source, and the import path says so honestly.\nconst cryptocurrencyPatternCode = (expression: string) => `import { CryptocurrencyDemo } from '@open-mercato/core/modules/design_system/gallery/demos/cryptocurrency'\n\n${expression}\n`\n\nconst cryptocurrencyEntry: GalleryEntry = {\n id: 'cryptocurrency',\n title: 'Cryptocurrency',\n descriptionKey: 'design_system.entries.cryptocurrency.description',\n importPath: '@open-mercato/core/modules/design_system/gallery/demos/cryptocurrency',\n figmaNodeId: '6696:81120',\n variants: [\n {\n id: 'token-icon-btc',\n title: 'token-icon-btc',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"btc\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"btc\" />'),\n },\n {\n id: 'token-icon-eth',\n title: 'token-icon-eth',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"eth\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"eth\" />'),\n },\n {\n id: 'token-icon-xrp',\n title: 'token-icon-xrp',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"xrp\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"xrp\" />'),\n },\n {\n id: 'token-icon-usdt',\n title: 'token-icon-usdt',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"usdt\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"usdt\" />'),\n },\n {\n id: 'token-icon-bnb',\n title: 'token-icon-bnb',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"bnb\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"bnb\" />'),\n },\n {\n id: 'token-icon-sol',\n title: 'token-icon-sol',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"sol\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"sol\" />'),\n },\n {\n id: 'token-icon-usdc',\n title: 'token-icon-usdc',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"usdc\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"usdc\" />'),\n },\n {\n id: 'token-icon-trx',\n title: 'token-icon-trx',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"trx\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"trx\" />'),\n },\n {\n id: 'token-icon-ada',\n title: 'token-icon-ada',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"ada\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"ada\" />'),\n },\n {\n id: 'token-icon-avax',\n title: 'token-icon-avax',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"avax\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"avax\" />'),\n },\n {\n id: 'token-icon-hbar',\n title: 'token-icon-hbar',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"hbar\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"hbar\" />'),\n },\n {\n id: 'token-icon-dot',\n title: 'token-icon-dot',\n render: () => <CryptocurrencyDemo part=\"token-icon\" kind=\"dot\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"token-icon\" kind=\"dot\" />'),\n },\n {\n id: 'status-icon-success',\n title: 'status-icon-success',\n render: () => <CryptocurrencyDemo part=\"status-icon\" kind=\"success\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"status-icon\" kind=\"success\" />'),\n },\n {\n id: 'status-icon-pending',\n title: 'status-icon-pending',\n render: () => <CryptocurrencyDemo part=\"status-icon\" kind=\"pending\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"status-icon\" kind=\"pending\" />'),\n },\n {\n id: 'status-icon-warning',\n title: 'status-icon-warning',\n render: () => <CryptocurrencyDemo part=\"status-icon\" kind=\"warning\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"status-icon\" kind=\"warning\" />'),\n },\n {\n id: 'status-icon-cancelled',\n title: 'status-icon-cancelled',\n render: () => <CryptocurrencyDemo part=\"status-icon\" kind=\"cancelled\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"status-icon\" kind=\"cancelled\" />'),\n },\n {\n id: 'navigation-item-default-28',\n title: 'navigation-item-default-28',\n render: () => <CryptocurrencyDemo part=\"navigation-item\" state=\"default\" size={28} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-item\" state=\"default\" size={28} />'),\n },\n {\n id: 'navigation-item-hover-28',\n title: 'navigation-item-hover-28',\n render: () => <CryptocurrencyDemo part=\"navigation-item\" state=\"hover\" size={28} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-item\" state=\"hover\" size={28} />'),\n },\n {\n id: 'navigation-item-active-28',\n title: 'navigation-item-active-28',\n render: () => <CryptocurrencyDemo part=\"navigation-item\" state=\"active\" size={28} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-item\" state=\"active\" size={28} />'),\n },\n {\n id: 'navigation-item-default-24',\n title: 'navigation-item-default-24',\n render: () => <CryptocurrencyDemo part=\"navigation-item\" state=\"default\" size={24} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-item\" state=\"default\" size={24} />'),\n },\n {\n id: 'navigation-item-hover-24',\n title: 'navigation-item-hover-24',\n render: () => <CryptocurrencyDemo part=\"navigation-item\" state=\"hover\" size={24} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-item\" state=\"hover\" size={24} />'),\n },\n {\n id: 'navigation-item-active-24',\n title: 'navigation-item-active-24',\n render: () => <CryptocurrencyDemo part=\"navigation-item\" state=\"active\" size={24} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-item\" state=\"active\" size={24} />'),\n },\n {\n id: 'navigation-search-default',\n title: 'navigation-search-default',\n render: () => <CryptocurrencyDemo part=\"navigation-search\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-search\" state=\"default\" />'),\n },\n {\n id: 'navigation-search-hover',\n title: 'navigation-search-hover',\n render: () => <CryptocurrencyDemo part=\"navigation-search\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-search\" state=\"hover\" />'),\n },\n {\n id: 'navigation-wallet-default',\n title: 'navigation-wallet-default',\n render: () => <CryptocurrencyDemo part=\"navigation-wallet\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-wallet\" state=\"default\" />'),\n },\n {\n id: 'navigation-wallet-hover',\n title: 'navigation-wallet-hover',\n render: () => <CryptocurrencyDemo part=\"navigation-wallet\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-wallet\" state=\"hover\" />'),\n },\n {\n id: 'navigation-wallet-active',\n title: 'navigation-wallet-active',\n render: () => <CryptocurrencyDemo part=\"navigation-wallet\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-wallet\" state=\"active\" />'),\n },\n {\n id: 'navigation-action-favorite-default',\n title: 'navigation-action-favorite-default',\n render: () => <CryptocurrencyDemo part=\"navigation-action\" kind=\"favorite\" state=\"default\" />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"navigation-action\" kind=\"favorite\" state=\"default\" />',\n ),\n },\n {\n id: 'navigation-action-notification-default',\n title: 'navigation-action-notification-default',\n render: () => <CryptocurrencyDemo part=\"navigation-action\" kind=\"notification\" state=\"default\" />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"navigation-action\" kind=\"notification\" state=\"default\" />',\n ),\n },\n {\n id: 'navigation-action-hamburger-default',\n title: 'navigation-action-hamburger-default',\n render: () => <CryptocurrencyDemo part=\"navigation-action\" kind=\"hamburger\" state=\"default\" />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"navigation-action\" kind=\"hamburger\" state=\"default\" />',\n ),\n },\n {\n id: 'navigation-action-favorite-hover',\n title: 'navigation-action-favorite-hover',\n render: () => <CryptocurrencyDemo part=\"navigation-action\" kind=\"favorite\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-action\" kind=\"favorite\" state=\"hover\" />'),\n },\n {\n id: 'navigation-action-notification-hover',\n title: 'navigation-action-notification-hover',\n render: () => <CryptocurrencyDemo part=\"navigation-action\" kind=\"notification\" state=\"hover\" />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"navigation-action\" kind=\"notification\" state=\"hover\" />',\n ),\n },\n {\n id: 'navigation-action-hamburger-hover',\n title: 'navigation-action-hamburger-hover',\n render: () => <CryptocurrencyDemo part=\"navigation-action\" kind=\"hamburger\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-action\" kind=\"hamburger\" state=\"hover\" />'),\n },\n {\n id: 'navigation-action-favorite-active',\n title: 'navigation-action-favorite-active',\n render: () => <CryptocurrencyDemo part=\"navigation-action\" kind=\"favorite\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation-action\" kind=\"favorite\" state=\"active\" />'),\n },\n {\n id: 'navigation-action-notification-active',\n title: 'navigation-action-notification-active',\n render: () => <CryptocurrencyDemo part=\"navigation-action\" kind=\"notification\" state=\"active\" />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"navigation-action\" kind=\"notification\" state=\"active\" />',\n ),\n },\n {\n id: 'navigation-action-hamburger-active',\n title: 'navigation-action-hamburger-active',\n render: () => <CryptocurrencyDemo part=\"navigation-action\" kind=\"hamburger\" state=\"active\" />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"navigation-action\" kind=\"hamburger\" state=\"active\" />',\n ),\n },\n {\n id: 'chart-item-default',\n title: 'chart-item-default',\n render: () => <CryptocurrencyDemo part=\"chart-item\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"chart-item\" state=\"default\" />'),\n },\n {\n id: 'chart-item-hover',\n title: 'chart-item-hover',\n render: () => <CryptocurrencyDemo part=\"chart-item\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"chart-item\" state=\"hover\" />'),\n },\n {\n id: 'chart-item-active',\n title: 'chart-item-active',\n render: () => <CryptocurrencyDemo part=\"chart-item\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"chart-item\" state=\"active\" />'),\n },\n {\n id: 'swap-select-lighter-default',\n title: 'swap-select-lighter-default',\n render: () => <CryptocurrencyDemo part=\"swap-select\" kind=\"lighter\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-select\" kind=\"lighter\" state=\"default\" />'),\n },\n {\n id: 'swap-select-lighter-hover',\n title: 'swap-select-lighter-hover',\n render: () => <CryptocurrencyDemo part=\"swap-select\" kind=\"lighter\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-select\" kind=\"lighter\" state=\"hover\" />'),\n },\n {\n id: 'swap-select-lighter-active',\n title: 'swap-select-lighter-active',\n render: () => <CryptocurrencyDemo part=\"swap-select\" kind=\"lighter\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-select\" kind=\"lighter\" state=\"active\" />'),\n },\n {\n id: 'swap-select-stroke-default',\n title: 'swap-select-stroke-default',\n render: () => <CryptocurrencyDemo part=\"swap-select\" kind=\"stroke\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-select\" kind=\"stroke\" state=\"default\" />'),\n },\n {\n id: 'swap-select-stroke-hover',\n title: 'swap-select-stroke-hover',\n render: () => <CryptocurrencyDemo part=\"swap-select\" kind=\"stroke\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-select\" kind=\"stroke\" state=\"hover\" />'),\n },\n {\n id: 'swap-select-stroke-active',\n title: 'swap-select-stroke-active',\n render: () => <CryptocurrencyDemo part=\"swap-select\" kind=\"stroke\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-select\" kind=\"stroke\" state=\"active\" />'),\n },\n {\n id: 'chart-switch-1d',\n title: 'chart-switch-1d',\n render: () => <CryptocurrencyDemo part=\"chart-switch\" kind=\"1D\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"chart-switch\" kind=\"1D\" />'),\n },\n {\n id: 'chart-switch-1w',\n title: 'chart-switch-1w',\n render: () => <CryptocurrencyDemo part=\"chart-switch\" kind=\"1W\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"chart-switch\" kind=\"1W\" />'),\n },\n {\n id: 'chart-switch-1m',\n title: 'chart-switch-1m',\n render: () => <CryptocurrencyDemo part=\"chart-switch\" kind=\"1M\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"chart-switch\" kind=\"1M\" />'),\n },\n {\n id: 'chart-switch-3m',\n title: 'chart-switch-3m',\n render: () => <CryptocurrencyDemo part=\"chart-switch\" kind=\"3M\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"chart-switch\" kind=\"3M\" />'),\n },\n {\n id: 'chart-switch-1y',\n title: 'chart-switch-1y',\n render: () => <CryptocurrencyDemo part=\"chart-switch\" kind=\"1Y\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"chart-switch\" kind=\"1Y\" />'),\n },\n {\n id: 'table-button-explorer-default',\n title: 'table-button-explorer-default',\n render: () => <CryptocurrencyDemo part=\"table-button\" kind=\"explorer\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-button\" kind=\"explorer\" state=\"default\" />'),\n },\n {\n id: 'table-button-detail-default',\n title: 'table-button-detail-default',\n render: () => <CryptocurrencyDemo part=\"table-button\" kind=\"detail\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-button\" kind=\"detail\" state=\"default\" />'),\n },\n {\n id: 'table-button-explorer-hover',\n title: 'table-button-explorer-hover',\n render: () => <CryptocurrencyDemo part=\"table-button\" kind=\"explorer\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-button\" kind=\"explorer\" state=\"hover\" />'),\n },\n {\n id: 'table-button-detail-hover',\n title: 'table-button-detail-hover',\n render: () => <CryptocurrencyDemo part=\"table-button\" kind=\"detail\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-button\" kind=\"detail\" state=\"hover\" />'),\n },\n {\n id: 'table-button-explorer-active',\n title: 'table-button-explorer-active',\n render: () => <CryptocurrencyDemo part=\"table-button\" kind=\"explorer\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-button\" kind=\"explorer\" state=\"active\" />'),\n },\n {\n id: 'table-button-detail-active',\n title: 'table-button-detail-active',\n render: () => <CryptocurrencyDemo part=\"table-button\" kind=\"detail\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-button\" kind=\"detail\" state=\"active\" />'),\n },\n {\n id: 'table-switch-item-default',\n title: 'table-switch-item-default',\n render: () => <CryptocurrencyDemo part=\"table-switch-item\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-switch-item\" state=\"default\" />'),\n },\n {\n id: 'table-switch-item-hover',\n title: 'table-switch-item-hover',\n render: () => <CryptocurrencyDemo part=\"table-switch-item\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-switch-item\" state=\"hover\" />'),\n },\n {\n id: 'table-switch-item-active',\n title: 'table-switch-item-active',\n render: () => <CryptocurrencyDemo part=\"table-switch-item\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-switch-item\" state=\"active\" />'),\n },\n {\n id: 'table-tab-transaction-default',\n title: 'table-tab-transaction-default',\n render: () => <CryptocurrencyDemo part=\"table-tab\" kind=\"transaction\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-tab\" kind=\"transaction\" state=\"default\" />'),\n },\n {\n id: 'table-tab-open-orders-default',\n title: 'table-tab-open-orders-default',\n render: () => <CryptocurrencyDemo part=\"table-tab\" kind=\"open-orders\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-tab\" kind=\"open-orders\" state=\"default\" />'),\n },\n {\n id: 'table-tab-earn-rewards-default',\n title: 'table-tab-earn-rewards-default',\n render: () => <CryptocurrencyDemo part=\"table-tab\" kind=\"earn-rewards\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-tab\" kind=\"earn-rewards\" state=\"default\" />'),\n },\n {\n id: 'table-tab-transaction-hover',\n title: 'table-tab-transaction-hover',\n render: () => <CryptocurrencyDemo part=\"table-tab\" kind=\"transaction\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-tab\" kind=\"transaction\" state=\"hover\" />'),\n },\n {\n id: 'table-tab-open-orders-hover',\n title: 'table-tab-open-orders-hover',\n render: () => <CryptocurrencyDemo part=\"table-tab\" kind=\"open-orders\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-tab\" kind=\"open-orders\" state=\"hover\" />'),\n },\n {\n id: 'table-tab-earn-rewards-hover',\n title: 'table-tab-earn-rewards-hover',\n render: () => <CryptocurrencyDemo part=\"table-tab\" kind=\"earn-rewards\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-tab\" kind=\"earn-rewards\" state=\"hover\" />'),\n },\n {\n id: 'table-tab-transaction-active',\n title: 'table-tab-transaction-active',\n render: () => <CryptocurrencyDemo part=\"table-tab\" kind=\"transaction\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-tab\" kind=\"transaction\" state=\"active\" />'),\n },\n {\n id: 'table-tab-open-orders-active',\n title: 'table-tab-open-orders-active',\n render: () => <CryptocurrencyDemo part=\"table-tab\" kind=\"open-orders\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-tab\" kind=\"open-orders\" state=\"active\" />'),\n },\n {\n id: 'table-tab-earn-rewards-active',\n title: 'table-tab-earn-rewards-active',\n render: () => <CryptocurrencyDemo part=\"table-tab\" kind=\"earn-rewards\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-tab\" kind=\"earn-rewards\" state=\"active\" />'),\n },\n {\n id: 'table-filter-type-default',\n title: 'table-filter-type-default',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"type\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"type\" state=\"default\" />'),\n },\n {\n id: 'table-filter-date-default',\n title: 'table-filter-date-default',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"date\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"date\" state=\"default\" />'),\n },\n {\n id: 'table-filter-token-default',\n title: 'table-filter-token-default',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"token\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"token\" state=\"default\" />'),\n },\n {\n id: 'table-filter-status-default',\n title: 'table-filter-status-default',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"status\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"status\" state=\"default\" />'),\n },\n {\n id: 'table-filter-date-hover',\n title: 'table-filter-date-hover',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"date\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"date\" state=\"hover\" />'),\n },\n {\n id: 'table-filter-type-hover',\n title: 'table-filter-type-hover',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"type\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"type\" state=\"hover\" />'),\n },\n {\n id: 'table-filter-date-active',\n title: 'table-filter-date-active',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"date\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"date\" state=\"active\" />'),\n },\n {\n id: 'table-filter-token-hover',\n title: 'table-filter-token-hover',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"token\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"token\" state=\"hover\" />'),\n },\n {\n id: 'table-filter-status-hover',\n title: 'table-filter-status-hover',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"status\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"status\" state=\"hover\" />'),\n },\n {\n id: 'table-filter-date-selected',\n title: 'table-filter-date-selected',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"date\" state=\"selected\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"date\" state=\"selected\" />'),\n },\n {\n id: 'table-filter-type-active',\n title: 'table-filter-type-active',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"type\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"type\" state=\"active\" />'),\n },\n {\n id: 'table-filter-token-active',\n title: 'table-filter-token-active',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"token\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"token\" state=\"active\" />'),\n },\n {\n id: 'table-filter-status-active',\n title: 'table-filter-status-active',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"status\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"status\" state=\"active\" />'),\n },\n {\n id: 'table-filter-type-selected',\n title: 'table-filter-type-selected',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"type\" state=\"selected\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"type\" state=\"selected\" />'),\n },\n {\n id: 'table-filter-token-selected',\n title: 'table-filter-token-selected',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"token\" state=\"selected\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"token\" state=\"selected\" />'),\n },\n {\n id: 'table-filter-status-selected',\n title: 'table-filter-status-selected',\n render: () => <CryptocurrencyDemo part=\"table-filter\" kind=\"status\" state=\"selected\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-filter\" kind=\"status\" state=\"selected\" />'),\n },\n {\n id: 'table-switch-compact-24',\n title: 'table-switch-compact-24',\n render: () => <CryptocurrencyDemo part=\"table-switch\" kind=\"compact\" size={24} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-switch\" kind=\"compact\" size={24} />'),\n },\n {\n id: 'table-switch-detailed-24',\n title: 'table-switch-detailed-24',\n render: () => <CryptocurrencyDemo part=\"table-switch\" kind=\"detailed\" size={24} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-switch\" kind=\"detailed\" size={24} />'),\n },\n {\n id: 'table-switch-compact-28',\n title: 'table-switch-compact-28',\n render: () => <CryptocurrencyDemo part=\"table-switch\" kind=\"compact\" size={28} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-switch\" kind=\"compact\" size={28} />'),\n },\n {\n id: 'table-switch-detailed-28',\n title: 'table-switch-detailed-28',\n render: () => <CryptocurrencyDemo part=\"table-switch\" kind=\"detailed\" size={28} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"table-switch\" kind=\"detailed\" size={28} />'),\n },\n {\n id: 'swap-input-selling-default',\n title: 'swap-input-selling-default',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"default\" />'),\n },\n {\n id: 'swap-input-receive-default',\n title: 'swap-input-receive-default',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"default\" />'),\n },\n {\n id: 'swap-input-selling-hover',\n title: 'swap-input-selling-hover',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"hover\" />'),\n },\n {\n id: 'swap-input-receive-hover',\n title: 'swap-input-receive-hover',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"hover\" />'),\n },\n {\n id: 'swap-input-selling-active',\n title: 'swap-input-selling-active',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"active\" />'),\n },\n {\n id: 'swap-input-receive-active',\n title: 'swap-input-receive-active',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"active\" />'),\n },\n {\n id: 'swap-input-selling-filled',\n title: 'swap-input-selling-filled',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"filled\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"filled\" />'),\n },\n {\n id: 'swap-input-receive-filled',\n title: 'swap-input-receive-filled',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"filled\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"filled\" />'),\n },\n {\n id: 'swap-input-selling-disabled',\n title: 'swap-input-selling-disabled',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"disabled\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"disabled\" />'),\n },\n {\n id: 'swap-input-receive-disabled',\n title: 'swap-input-receive-disabled',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"disabled\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"disabled\" />'),\n },\n {\n id: 'swap-input-selling-error',\n title: 'swap-input-selling-error',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"error\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"selling\" state=\"error\" />'),\n },\n {\n id: 'swap-input-receive-error',\n title: 'swap-input-receive-error',\n render: () => <CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"error\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-input\" kind=\"receive\" state=\"error\" />'),\n },\n {\n id: 'swap-1',\n title: 'swap-1',\n render: () => <CryptocurrencyDemo part=\"swap\" step={1} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap\" step={1} />'),\n },\n {\n id: 'swap-2',\n title: 'swap-2',\n render: () => <CryptocurrencyDemo part=\"swap\" step={2} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap\" step={2} />'),\n },\n {\n id: 'swap-3',\n title: 'swap-3',\n render: () => <CryptocurrencyDemo part=\"swap\" step={3} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap\" step={3} />'),\n },\n {\n id: 'search-modal-default',\n title: 'search-modal-default',\n render: () => <CryptocurrencyDemo part=\"search-modal\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"search-modal\" state=\"default\" />'),\n },\n {\n id: 'search-modal-searching',\n title: 'search-modal-searching',\n render: () => <CryptocurrencyDemo part=\"search-modal\" state=\"searching\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"search-modal\" state=\"searching\" />'),\n },\n {\n id: 'search-modal-empty',\n title: 'search-modal-empty',\n render: () => <CryptocurrencyDemo part=\"search-modal\" state=\"empty\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"search-modal\" state=\"empty\" />'),\n },\n {\n id: 'search-input-default',\n title: 'search-input-default',\n render: () => <CryptocurrencyDemo part=\"search-input\" state=\"default\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"search-input\" state=\"default\" />'),\n },\n {\n id: 'search-input-hover',\n title: 'search-input-hover',\n render: () => <CryptocurrencyDemo part=\"search-input\" state=\"hover\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"search-input\" state=\"hover\" />'),\n },\n {\n id: 'search-input-active',\n title: 'search-input-active',\n render: () => <CryptocurrencyDemo part=\"search-input\" state=\"active\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"search-input\" state=\"active\" />'),\n },\n {\n id: 'navigation-false',\n title: 'navigation-false',\n render: () => <CryptocurrencyDemo part=\"navigation\" profile={false} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation\" profile={false} />'),\n },\n {\n id: 'navigation-true',\n title: 'navigation-true',\n render: () => <CryptocurrencyDemo part=\"navigation\" profile={true} />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"navigation\" profile={true} />'),\n },\n {\n id: 'social-button-phantom-default-true',\n title: 'social-button-phantom-default-true',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"phantom\" state=\"default\" onlyIcon={true} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"phantom\" state=\"default\" onlyIcon={true} />',\n ),\n },\n {\n id: 'social-button-walletconnect-default-true',\n title: 'social-button-walletconnect-default-true',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"walletconnect\" state=\"default\" onlyIcon={true} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"walletconnect\" state=\"default\" onlyIcon={true} />',\n ),\n },\n {\n id: 'social-button-metamask-default-true',\n title: 'social-button-metamask-default-true',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"metamask\" state=\"default\" onlyIcon={true} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"metamask\" state=\"default\" onlyIcon={true} />',\n ),\n },\n {\n id: 'social-button-phantom-hover-true',\n title: 'social-button-phantom-hover-true',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"phantom\" state=\"hover\" onlyIcon={true} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"phantom\" state=\"hover\" onlyIcon={true} />',\n ),\n },\n {\n id: 'social-button-walletconnect-hover-true',\n title: 'social-button-walletconnect-hover-true',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"walletconnect\" state=\"hover\" onlyIcon={true} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"walletconnect\" state=\"hover\" onlyIcon={true} />',\n ),\n },\n {\n id: 'social-button-metamask-hover-true',\n title: 'social-button-metamask-hover-true',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"metamask\" state=\"hover\" onlyIcon={true} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"metamask\" state=\"hover\" onlyIcon={true} />',\n ),\n },\n {\n id: 'social-button-phantom-default-false',\n title: 'social-button-phantom-default-false',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"phantom\" state=\"default\" onlyIcon={false} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"phantom\" state=\"default\" onlyIcon={false} />',\n ),\n },\n {\n id: 'social-button-phantom-hover-false',\n title: 'social-button-phantom-hover-false',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"phantom\" state=\"hover\" onlyIcon={false} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"phantom\" state=\"hover\" onlyIcon={false} />',\n ),\n },\n {\n id: 'social-button-walletconnect-default-false',\n title: 'social-button-walletconnect-default-false',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"walletconnect\" state=\"default\" onlyIcon={false} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"walletconnect\" state=\"default\" onlyIcon={false} />',\n ),\n },\n {\n id: 'social-button-walletconnect-hover-false',\n title: 'social-button-walletconnect-hover-false',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"walletconnect\" state=\"hover\" onlyIcon={false} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"walletconnect\" state=\"hover\" onlyIcon={false} />',\n ),\n },\n {\n id: 'social-button-metamask-default-false',\n title: 'social-button-metamask-default-false',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"metamask\" state=\"default\" onlyIcon={false} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"metamask\" state=\"default\" onlyIcon={false} />',\n ),\n },\n {\n id: 'social-button-metamask-hover-false',\n title: 'social-button-metamask-hover-false',\n render: () => <CryptocurrencyDemo part=\"social-button\" kind=\"metamask\" state=\"hover\" onlyIcon={false} />,\n code: cryptocurrencyPatternCode(\n '<CryptocurrencyDemo part=\"social-button\" kind=\"metamask\" state=\"hover\" onlyIcon={false} />',\n ),\n },\n {\n id: 'menu-dropdown',\n title: 'menu-dropdown',\n render: () => <CryptocurrencyDemo part=\"menu-dropdown\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"menu-dropdown\" />'),\n },\n {\n id: 'favorites-dropdown',\n title: 'favorites-dropdown',\n render: () => <CryptocurrencyDemo part=\"favorites-dropdown\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"favorites-dropdown\" />'),\n },\n {\n id: 'profile-dropdown',\n title: 'profile-dropdown',\n render: () => <CryptocurrencyDemo part=\"profile-dropdown\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"profile-dropdown\" />'),\n },\n {\n id: 'wallet-dropdown',\n title: 'wallet-dropdown',\n render: () => <CryptocurrencyDemo part=\"wallet-dropdown\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"wallet-dropdown\" />'),\n },\n {\n id: 'swap-token-dropdown',\n title: 'swap-token-dropdown',\n render: () => <CryptocurrencyDemo part=\"swap-token-dropdown\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"swap-token-dropdown\" />'),\n },\n {\n id: 'notifications-dropdown',\n title: 'notifications-dropdown',\n render: () => <CryptocurrencyDemo part=\"notifications-dropdown\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"notifications-dropdown\" />'),\n },\n {\n id: 'connect-wallet',\n title: 'connect-wallet',\n render: () => <CryptocurrencyDemo part=\"connect-wallet\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"connect-wallet\" />'),\n },\n {\n id: 'banner',\n title: 'banner',\n render: () => <CryptocurrencyDemo part=\"banner\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"banner\" />'),\n },\n {\n id: 'filter-type',\n title: 'filter-type',\n render: () => <CryptocurrencyDemo part=\"filter-type\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"filter-type\" />'),\n },\n {\n id: 'filter-date',\n title: 'filter-date',\n render: () => <CryptocurrencyDemo part=\"filter-date\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"filter-date\" />'),\n },\n {\n id: 'filter-status',\n title: 'filter-status',\n render: () => <CryptocurrencyDemo part=\"filter-status\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"filter-status\" />'),\n },\n {\n id: 'filter-token',\n title: 'filter-token',\n render: () => <CryptocurrencyDemo part=\"filter-token\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"filter-token\" />'),\n },\n {\n id: 'mobile-navigation',\n title: 'mobile-navigation',\n render: () => <CryptocurrencyDemo part=\"mobile-navigation\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"mobile-navigation\" />'),\n },\n {\n id: 'mobile-bottom-navigation',\n title: 'mobile-bottom-navigation',\n render: () => <CryptocurrencyDemo part=\"mobile-bottom-navigation\" />,\n code: cryptocurrencyPatternCode('<CryptocurrencyDemo part=\"mobile-bottom-navigation\" />'),\n },\n ],\n}\nexport const entries: GalleryEntry[] = [\n cryptocurrencyEntry,\n pageEntry,\n sectionHeaderEntry,\n sectionPageEntry,\n formHeaderEntry,\n formFooterEntry,\n actionsDropdownEntry,\n]\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
+ import { useOptionalLocale, useT } from "@open-mercato/shared/lib/i18n/context";
2
3
  import * as React from "react";
3
4
  import {
4
5
  ScheduleAgenda,
@@ -6,10 +7,45 @@ import {
6
7
  ScheduleToolbar,
7
8
  ScheduleView
8
9
  } from "@open-mercato/ui/backend/schedule";
9
- const weekRange = {
10
- start: new Date(2026, 5, 7),
11
- end: new Date(2026, 5, 13, 23, 59, 59, 999)
12
- };
10
+ import { startOfWeek } from "date-fns/startOfWeek";
11
+ import { endOfWeek } from "date-fns/endOfWeek";
12
+ import { getScheduleLocale } from "@open-mercato/ui/backend/schedule/localization";
13
+ function ScheduleGridEntryThreeDayBoardPreview() {
14
+ const t = useT();
15
+ return /* @__PURE__ */ jsx(
16
+ ScheduleGrid,
17
+ {
18
+ items: sampleItems(t),
19
+ range: boardRange,
20
+ timezone: "Europe/Warsaw",
21
+ onItemClick: () => {
22
+ },
23
+ onSlotClick: () => {
24
+ },
25
+ className: "w-full"
26
+ }
27
+ );
28
+ }
29
+ function ScheduleAgendaEntryTwoDaysPreview() {
30
+ const t = useT();
31
+ return /* @__PURE__ */ jsx(
32
+ ScheduleAgenda,
33
+ {
34
+ items: sampleItems(t),
35
+ range: agendaRange,
36
+ timezone: "Europe/Warsaw",
37
+ onItemClick: () => {
38
+ },
39
+ onSlotClick: () => {
40
+ },
41
+ className: "w-full"
42
+ }
43
+ );
44
+ }
45
+ function ScheduleAgendaEntryReadOnlyDayPreview() {
46
+ const t = useT();
47
+ return /* @__PURE__ */ jsx(ScheduleAgenda, { items: sampleItems(t), range: draftDayRange, className: "w-full" });
48
+ }
13
49
  const monthRange = {
14
50
  start: new Date(2026, 5, 1),
15
51
  end: new Date(2026, 5, 30, 23, 59, 59, 999)
@@ -30,11 +66,11 @@ const draftDayRange = {
30
66
  start: new Date(2026, 5, 12),
31
67
  end: new Date(2026, 5, 12, 23, 59, 59, 999)
32
68
  };
33
- const sampleItems = [
69
+ const sampleItems = (t) => [
34
70
  {
35
71
  id: "availability-1",
36
72
  kind: "availability",
37
- title: "Open studio hours",
73
+ title: t("design_system.gallery.samples.content.openStudioHours"),
38
74
  startsAt: new Date(2026, 5, 8, 9, 0),
39
75
  endsAt: new Date(2026, 5, 8, 12, 0),
40
76
  status: "confirmed",
@@ -44,7 +80,7 @@ const sampleItems = [
44
80
  {
45
81
  id: "event-1",
46
82
  kind: "event",
47
- title: "Fitting \u2014 Anna Nowak",
83
+ title: t("design_system.gallery.samples.content.fittingAnnaNowak"),
48
84
  startsAt: new Date(2026, 5, 8, 13, 0),
49
85
  endsAt: new Date(2026, 5, 8, 14, 0),
50
86
  status: "negotiation"
@@ -52,7 +88,7 @@ const sampleItems = [
52
88
  {
53
89
  id: "event-2",
54
90
  kind: "event",
55
- title: "Delivery walkthrough",
91
+ title: t("design_system.gallery.samples.content.deliveryWalkthrough"),
56
92
  startsAt: new Date(2026, 5, 9, 10, 0),
57
93
  endsAt: new Date(2026, 5, 9, 11, 30),
58
94
  status: "confirmed"
@@ -60,7 +96,7 @@ const sampleItems = [
60
96
  {
61
97
  id: "exception-1",
62
98
  kind: "exception",
63
- title: "Studio closed",
99
+ title: t("design_system.gallery.samples.content.studioClosed"),
64
100
  startsAt: new Date(2026, 5, 10, 0, 0),
65
101
  endsAt: new Date(2026, 5, 10, 23, 59),
66
102
  status: "cancelled"
@@ -68,23 +104,28 @@ const sampleItems = [
68
104
  {
69
105
  id: "event-3",
70
106
  kind: "event",
71
- title: "Quarterly review",
107
+ title: t("design_system.gallery.samples.content.quarterlyReview"),
72
108
  startsAt: new Date(2026, 5, 12, 15, 0),
73
109
  endsAt: new Date(2026, 5, 12, 16, 0),
74
110
  status: "draft"
75
111
  }
76
112
  ];
77
- function initialRangeFor(view) {
78
- return view === "month" ? monthRange : weekRange;
113
+ function initialRangeFor(view, language) {
114
+ if (view === "month") return monthRange;
115
+ const anchor = new Date(2026, 5, 10);
116
+ const locale = getScheduleLocale(language);
117
+ return { start: startOfWeek(anchor, { locale }), end: endOfWeek(anchor, { locale }) };
79
118
  }
80
119
  function DemoScheduleView({ initialView }) {
120
+ const t = useT();
121
+ const locale = useOptionalLocale();
81
122
  const [view, setView] = React.useState(initialView);
82
- const [range, setRange] = React.useState(initialRangeFor(initialView));
123
+ const [range, setRange] = React.useState(() => initialRangeFor(initialView, locale));
83
124
  const [timezone, setTimezone] = React.useState("Europe/Warsaw");
84
125
  return /* @__PURE__ */ jsx(
85
126
  ScheduleView,
86
127
  {
87
- items: sampleItems,
128
+ items: sampleItems(t),
88
129
  view,
89
130
  range,
90
131
  timezone,
@@ -96,8 +137,9 @@ function DemoScheduleView({ initialView }) {
96
137
  );
97
138
  }
98
139
  function DemoScheduleToolbar({ initialView }) {
140
+ const locale = useOptionalLocale();
99
141
  const [view, setView] = React.useState(initialView);
100
- const [range, setRange] = React.useState(initialRangeFor(initialView));
142
+ const [range, setRange] = React.useState(() => initialRangeFor(initialView, locale));
101
143
  const [timezone, setTimezone] = React.useState("Europe/Warsaw");
102
144
  return /* @__PURE__ */ jsx(
103
145
  ScheduleToolbar,
@@ -123,10 +165,16 @@ const scheduleViewEntry = {
123
165
  render: () => /* @__PURE__ */ jsx(DemoScheduleView, { initialView: "week" }),
124
166
  code: `import { ScheduleView, type ScheduleItem, type ScheduleRange, type ScheduleViewMode } from '@open-mercato/ui/backend/schedule'
125
167
 
168
+ import { useOptionalLocale } from '@open-mercato/shared/lib/i18n/context'
169
+ import { getScheduleLocale } from '@open-mercato/ui/backend/schedule/localization'
170
+ import { startOfWeek } from 'date-fns/startOfWeek'
171
+ import { endOfWeek } from 'date-fns/endOfWeek'
172
+
173
+ const locale = getScheduleLocale(useOptionalLocale())
126
174
  const [view, setView] = React.useState<ScheduleViewMode>('week')
127
- const [range, setRange] = React.useState<ScheduleRange>({
128
- start: new Date(2026, 5, 7),
129
- end: new Date(2026, 5, 13, 23, 59, 59, 999),
175
+ const [range, setRange] = React.useState<ScheduleRange>(() => {
176
+ const anchor = new Date(2026, 5, 10)
177
+ return { start: startOfWeek(anchor, { locale }), end: endOfWeek(anchor, { locale }) }
130
178
  })
131
179
 
132
180
  <ScheduleView
@@ -165,10 +213,16 @@ const scheduleToolbarEntry = {
165
213
  render: () => /* @__PURE__ */ jsx(DemoScheduleToolbar, { initialView: "week" }),
166
214
  code: `import { ScheduleToolbar, type ScheduleRange, type ScheduleViewMode } from '@open-mercato/ui/backend/schedule'
167
215
 
216
+ import { useOptionalLocale } from '@open-mercato/shared/lib/i18n/context'
217
+ import { getScheduleLocale } from '@open-mercato/ui/backend/schedule/localization'
218
+ import { startOfWeek } from 'date-fns/startOfWeek'
219
+ import { endOfWeek } from 'date-fns/endOfWeek'
220
+
221
+ const locale = getScheduleLocale(useOptionalLocale())
168
222
  const [view, setView] = React.useState<ScheduleViewMode>('week')
169
- const [range, setRange] = React.useState<ScheduleRange>({
170
- start: new Date(2026, 5, 7),
171
- end: new Date(2026, 5, 13, 23, 59, 59, 999),
223
+ const [range, setRange] = React.useState<ScheduleRange>(() => {
224
+ const anchor = new Date(2026, 5, 10)
225
+ return { start: startOfWeek(anchor, { locale }), end: endOfWeek(anchor, { locale }) }
172
226
  })
173
227
  const [timezone, setTimezone] = React.useState('Europe/Warsaw')
174
228
 
@@ -205,19 +259,7 @@ const scheduleGridEntry = {
205
259
  {
206
260
  id: "three-day-board",
207
261
  title: "Three-day board",
208
- render: () => /* @__PURE__ */ jsx(
209
- ScheduleGrid,
210
- {
211
- items: sampleItems,
212
- range: boardRange,
213
- timezone: "Europe/Warsaw",
214
- onItemClick: () => {
215
- },
216
- onSlotClick: () => {
217
- },
218
- className: "w-full"
219
- }
220
- ),
262
+ render: () => /* @__PURE__ */ jsx(ScheduleGridEntryThreeDayBoardPreview, {}),
221
263
  code: `import { ScheduleGrid, type ScheduleItem } from '@open-mercato/ui/backend/schedule'
222
264
 
223
265
  <ScheduleGrid
@@ -249,19 +291,7 @@ const scheduleAgendaEntry = {
249
291
  {
250
292
  id: "two-days",
251
293
  title: "Two days with statuses",
252
- render: () => /* @__PURE__ */ jsx(
253
- ScheduleAgenda,
254
- {
255
- items: sampleItems,
256
- range: agendaRange,
257
- timezone: "Europe/Warsaw",
258
- onItemClick: () => {
259
- },
260
- onSlotClick: () => {
261
- },
262
- className: "w-full"
263
- }
264
- ),
294
+ render: () => /* @__PURE__ */ jsx(ScheduleAgendaEntryTwoDaysPreview, {}),
265
295
  code: `import { ScheduleAgenda, type ScheduleItem } from '@open-mercato/ui/backend/schedule'
266
296
 
267
297
  <ScheduleAgenda
@@ -275,7 +305,7 @@ const scheduleAgendaEntry = {
275
305
  {
276
306
  id: "read-only-day",
277
307
  title: "Read-only day (draft item)",
278
- render: () => /* @__PURE__ */ jsx(ScheduleAgenda, { items: sampleItems, range: draftDayRange, className: "w-full" }),
308
+ render: () => /* @__PURE__ */ jsx(ScheduleAgendaEntryReadOnlyDayPreview, {}),
279
309
  code: `import { ScheduleAgenda } from '@open-mercato/ui/backend/schedule'
280
310
 
281
311
  <ScheduleAgenda
@@ -285,12 +315,7 @@ const scheduleAgendaEntry = {
285
315
  }
286
316
  ]
287
317
  };
288
- const entries = [
289
- scheduleViewEntry,
290
- scheduleToolbarEntry,
291
- scheduleGridEntry,
292
- scheduleAgendaEntry
293
- ];
318
+ const entries = [scheduleViewEntry, scheduleToolbarEntry, scheduleGridEntry, scheduleAgendaEntry];
294
319
  export {
295
320
  entries
296
321
  };