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