@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,13 +1,19 @@
|
|
|
1
1
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
2
3
|
import {
|
|
3
|
-
|
|
4
|
+
CircleAlert,
|
|
5
|
+
CircleCheck,
|
|
6
|
+
Globe,
|
|
4
7
|
Info,
|
|
5
|
-
LayoutDashboard,
|
|
6
8
|
Settings,
|
|
7
9
|
TriangleAlert,
|
|
8
10
|
UserRound,
|
|
9
|
-
|
|
11
|
+
X
|
|
10
12
|
} from "lucide-react";
|
|
13
|
+
import { useT } from "@open-mercato/shared/lib/i18n/context";
|
|
14
|
+
import { CheckboxField } from "@open-mercato/ui/primitives/checkbox-field";
|
|
15
|
+
import { SwitchField } from "@open-mercato/ui/primitives/switch-field";
|
|
16
|
+
import { StepperDots } from "@open-mercato/ui/primitives/step-indicator";
|
|
11
17
|
import { Button } from "@open-mercato/ui/primitives/button";
|
|
12
18
|
import {
|
|
13
19
|
Dialog,
|
|
@@ -41,45 +47,427 @@ import {
|
|
|
41
47
|
} from "@open-mercato/ui/primitives/sheet";
|
|
42
48
|
import {
|
|
43
49
|
Popover,
|
|
50
|
+
PopoverArrow,
|
|
51
|
+
PopoverClose,
|
|
44
52
|
PopoverContent,
|
|
45
53
|
PopoverTrigger
|
|
46
54
|
} from "@open-mercato/ui/primitives/popover";
|
|
47
|
-
import { SimpleTooltip } from "@open-mercato/ui/primitives/tooltip";
|
|
48
|
-
import {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
import { SimpleTooltip, TooltipCard } from "@open-mercato/ui/primitives/tooltip";
|
|
56
|
+
import { CommandSourceExample } from "../demos/menus.js";
|
|
57
|
+
import { commandSourceCode } from "../demos/menu-sources.js";
|
|
58
|
+
const headerIcons = { default: Settings, error: CircleAlert, warning: TriangleAlert, success: CircleCheck, info: Info };
|
|
59
|
+
function FooterLeading({ kind }) {
|
|
60
|
+
const t = useT();
|
|
61
|
+
if (kind === "checkbox") return /* @__PURE__ */ jsx(CheckboxField, { label: t("design_system.gallery.samples.overlay.remember") });
|
|
62
|
+
if (kind === "toggle") return /* @__PURE__ */ jsx(SwitchField, { label: t("design_system.gallery.samples.overlay.remember") });
|
|
63
|
+
if (kind === "stepper") return /* @__PURE__ */ jsx(StepperDots, { count: 3, activeStep: 0, size: "sm", "aria-label": t("design_system.gallery.samples.overlay.steps") });
|
|
64
|
+
if (kind === "link") return /* @__PURE__ */ jsx(Button, { variant: "link", size: "sm", children: t("design_system.gallery.samples.overlay.help") });
|
|
65
|
+
if (kind === "information") return /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
66
|
+
/* @__PURE__ */ jsx(Info, { "aria-hidden": "true", className: "size-4" }),
|
|
67
|
+
t("design_system.gallery.samples.overlay.information")
|
|
68
|
+
] });
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
function DialogExample({ header = "basic", compact = false, footer = "basic", alignment = "horizontal", status = false }) {
|
|
72
|
+
const t = useT();
|
|
73
|
+
const Icon = header === "basic" ? void 0 : headerIcons[header];
|
|
74
|
+
return /* @__PURE__ */ jsx(Dialog, { children: /* @__PURE__ */ jsxs("section", { "data-dialog-preview": "", "aria-label": t("design_system.gallery.samples.overlay.title"), className: "relative w-full max-w-md overflow-hidden rounded-xl border border-border bg-card text-card-foreground shadow-sm", children: [
|
|
75
|
+
!status ? /* @__PURE__ */ jsx(X, { "aria-hidden": "true", className: "absolute right-4 top-4 size-4 text-muted-foreground" }) : null,
|
|
76
|
+
/* @__PURE__ */ jsxs(DialogHeader, { className: status ? "p-6" : "p-4 pr-12", compact, alignment, leadingTone: header === "basic" ? "default" : header, leading: Icon ? /* @__PURE__ */ jsx(Icon, { className: compact || status ? "size-6" : "size-5" }) : void 0, children: [
|
|
77
|
+
/* @__PURE__ */ jsx(DialogTitle, { className: status ? "text-base font-medium leading-6 tracking-normal" : "text-sm font-medium leading-5 tracking-normal", children: t("design_system.gallery.samples.overlay.title") }),
|
|
78
|
+
/* @__PURE__ */ jsx(DialogDescription, { className: compact ? "sr-only" : void 0, children: t("design_system.gallery.samples.overlay.description") })
|
|
79
|
+
] }),
|
|
80
|
+
!status ? /* @__PURE__ */ jsx("div", { className: "px-4 py-6 text-sm text-muted-foreground", children: t("design_system.gallery.samples.overlay.body") }) : null,
|
|
81
|
+
/* @__PURE__ */ jsxs(DialogFooter, { layout: footer === "equal" ? "equal" : "default", leading: footer === "basic" || footer === "equal" ? void 0 : /* @__PURE__ */ jsx(FooterLeading, { kind: footer }), className: "mx-0 gap-3 px-4 py-4", children: [
|
|
82
|
+
/* @__PURE__ */ jsx(Button, { asChild: true, variant: "outline", size: "default", children: /* @__PURE__ */ jsx("span", { children: t("design_system.gallery.samples.overlay.cancel") }) }),
|
|
83
|
+
/* @__PURE__ */ jsx(Button, { asChild: true, variant: "primary-filled", size: "default", children: /* @__PURE__ */ jsx("span", { children: t("design_system.gallery.samples.overlay.continue") }) })
|
|
84
|
+
] })
|
|
85
|
+
] }) });
|
|
86
|
+
}
|
|
87
|
+
function DrawerExample({ header = "basic", compact = false, footer = "basic" }) {
|
|
88
|
+
const t = useT();
|
|
89
|
+
return /* @__PURE__ */ jsxs(Drawer, { children: [
|
|
90
|
+
/* @__PURE__ */ jsx(DrawerTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.samples.overlay.openDrawer") }) }),
|
|
91
|
+
/* @__PURE__ */ jsxs(DrawerContent, { closeAriaLabel: t("design_system.gallery.samples.overlay.close"), children: [
|
|
92
|
+
/* @__PURE__ */ jsxs(DrawerHeader, { compact, leading: header === "default" ? /* @__PURE__ */ jsx(Settings, { className: compact ? "size-6" : "size-5" }) : void 0, children: [
|
|
93
|
+
/* @__PURE__ */ jsx(DrawerTitle, { className: "text-sm font-medium leading-5", children: t("design_system.gallery.samples.overlay.title") }),
|
|
94
|
+
/* @__PURE__ */ jsx(DrawerDescription, { className: compact ? "sr-only" : void 0, children: t("design_system.gallery.samples.overlay.description") })
|
|
95
|
+
] }),
|
|
96
|
+
/* @__PURE__ */ jsx(DrawerBody, { children: /* @__PURE__ */ jsx("p", { className: "py-6 text-sm text-muted-foreground", children: t("design_system.gallery.samples.overlay.body") }) }),
|
|
97
|
+
/* @__PURE__ */ jsxs(DrawerFooter, { layout: footer === "equal" ? "equal" : "default", leading: footer === "basic" || footer === "equal" ? void 0 : /* @__PURE__ */ jsx(FooterLeading, { kind: footer }), className: "flex-wrap [&_[data-slot=drawer-footer-trailing]]:ml-auto", children: [
|
|
98
|
+
/* @__PURE__ */ jsx(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.samples.overlay.cancel") }) }),
|
|
99
|
+
/* @__PURE__ */ jsx(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "primary-filled", children: t("design_system.gallery.samples.overlay.continue") }) })
|
|
100
|
+
] })
|
|
101
|
+
] })
|
|
102
|
+
] });
|
|
103
|
+
}
|
|
104
|
+
function overlayExampleCode(kind, example) {
|
|
105
|
+
const header = example.header ?? "basic";
|
|
106
|
+
const icon = header === "basic" ? null : { default: "Settings", error: "CircleAlert", warning: "TriangleAlert", success: "CircleCheck", info: "Info" }[header];
|
|
107
|
+
const footer = example.footer ?? "basic";
|
|
108
|
+
const leading = footer === "checkbox" ? '<CheckboxField label="Don\u2019t show again" />' : footer === "toggle" ? '<SwitchField label="Don\u2019t show again" />' : footer === "stepper" ? '<StepperDots count={3} activeStep={0} size="sm" aria-label="Step 1 of 3" />' : footer === "link" ? '<Button variant="link" size="sm">Help</Button>' : footer === "information" ? '<span className="text-xs text-muted-foreground">Changes apply immediately</span>' : null;
|
|
109
|
+
if (kind === "Dialog") return `${icon ? `import { ${icon}, X } from 'lucide-react'
|
|
110
|
+
` : "import { X } from 'lucide-react'\n"}${footer === "checkbox" ? "import { CheckboxField } from '@open-mercato/ui/primitives/checkbox-field'\n" : ""}${footer === "toggle" ? "import { SwitchField } from '@open-mercato/ui/primitives/switch-field'\n" : ""}${footer === "stepper" ? "import { StepperDots } from '@open-mercato/ui/primitives/step-indicator'\n" : ""}import { Button } from '@open-mercato/ui/primitives/button'
|
|
111
|
+
import { Dialog, DialogHeader, DialogTitle, DialogDescription, DialogFooter } from '@open-mercato/ui/primitives/dialog'
|
|
112
|
+
|
|
113
|
+
<Dialog>
|
|
114
|
+
<section aria-label="Workspace settings" className="relative w-full max-w-md overflow-hidden rounded-xl border border-border bg-card text-card-foreground shadow-sm">
|
|
115
|
+
${example.status ? "" : '<X aria-hidden="true" className="absolute right-4 top-4 size-4 text-muted-foreground" />'}
|
|
116
|
+
<DialogHeader className="${example.status ? "p-6" : "p-4 pr-12"}" alignment="${example.alignment ?? "horizontal"}" leadingTone="${header === "basic" ? "default" : header}"${example.compact ? " compact" : ""}${icon ? ` leading={<${icon} className="${example.compact || example.status ? "size-6" : "size-5"}" />}` : ""}>
|
|
117
|
+
<DialogTitle className="${example.status ? "text-base font-medium leading-6 tracking-normal" : "text-sm font-medium leading-5 tracking-normal"}">Workspace settings</DialogTitle>
|
|
118
|
+
<DialogDescription${example.compact ? ' className="sr-only"' : ""}>Choose how these changes apply to your workspace.</DialogDescription>
|
|
119
|
+
</DialogHeader>
|
|
120
|
+
${example.status ? "" : '<div className="px-4 py-6 text-sm text-muted-foreground">Review your settings before continuing.</div>'}
|
|
121
|
+
<DialogFooter layout="${footer === "equal" ? "equal" : "default"}"${leading ? ` leading={${leading}}` : ""} className="mx-0 gap-3 px-4 py-4">
|
|
122
|
+
<Button asChild variant="outline" size="default"><span>Cancel</span></Button>
|
|
123
|
+
<Button asChild variant="primary-filled" size="default"><span>Continue</span></Button>
|
|
124
|
+
</DialogFooter>
|
|
125
|
+
</section>
|
|
126
|
+
</Dialog>`;
|
|
127
|
+
return `${icon ? `import { ${icon} } from 'lucide-react'
|
|
128
|
+
` : ""}${footer === "checkbox" ? "import { CheckboxField } from '@open-mercato/ui/primitives/checkbox-field'\n" : ""}${footer === "toggle" ? "import { SwitchField } from '@open-mercato/ui/primitives/switch-field'\n" : ""}${footer === "stepper" ? "import { StepperDots } from '@open-mercato/ui/primitives/step-indicator'\n" : ""}import { Button } from '@open-mercato/ui/primitives/button'
|
|
129
|
+
import { ${kind}, ${kind}Trigger, ${kind}Content, ${kind}Header, ${kind}Title, ${kind}Description, ${kind}Footer, ${kind}Close, DrawerBody } from '@open-mercato/ui/primitives/${kind.toLowerCase()}'
|
|
130
|
+
|
|
131
|
+
<${kind}>
|
|
132
|
+
<${kind}Trigger asChild><Button variant="outline">Open ${kind.toLowerCase()}</Button></${kind}Trigger>
|
|
133
|
+
<${kind}Content>
|
|
134
|
+
<${kind}Header${example.compact ? " compact" : ""}${icon ? ` leading={<${icon} className="${example.compact || example.status ? "size-6" : "size-5"}" />}` : ""}>
|
|
135
|
+
<${kind}Title className="${example.status ? "text-base font-medium leading-6 tracking-normal" : "text-sm font-medium leading-5 tracking-normal"}">Workspace settings</${kind}Title>
|
|
136
|
+
<${kind}Description${example.compact ? ' className="sr-only"' : ""}>Choose how these changes apply to your workspace.</${kind}Description>
|
|
137
|
+
</${kind}Header>
|
|
138
|
+
<DrawerBody><p className="py-6 text-sm text-muted-foreground">Review your settings before continuing.</p></DrawerBody>
|
|
139
|
+
<${kind}Footer layout="${footer === "equal" ? "equal" : "default"}"${leading ? ` leading={${leading}}` : ""} className="flex-wrap [&_[data-slot=drawer-footer-trailing]]:ml-auto">
|
|
140
|
+
<${kind}Close asChild><Button variant="outline">Cancel</Button></${kind}Close>
|
|
141
|
+
<${kind}Close asChild><Button variant="primary-filled">Continue</Button></${kind}Close>
|
|
142
|
+
</${kind}Footer>
|
|
143
|
+
</${kind}Content>
|
|
144
|
+
</${kind}>`;
|
|
145
|
+
}
|
|
146
|
+
const overlayPlacements = [
|
|
147
|
+
{ label: "Top left", side: "bottom", align: "start" },
|
|
148
|
+
{ label: "Top center", side: "bottom", align: "center" },
|
|
149
|
+
{ label: "Top right", side: "bottom", align: "end" },
|
|
150
|
+
{ label: "Bottom left", side: "top", align: "start" },
|
|
151
|
+
{ label: "Bottom center", side: "top", align: "center" },
|
|
152
|
+
{ label: "Bottom right", side: "top", align: "end" },
|
|
153
|
+
{ label: "Left", side: "right", align: "center" },
|
|
154
|
+
{ label: "Right", side: "left", align: "center" },
|
|
155
|
+
{ label: "Left top", side: "right", align: "start" },
|
|
156
|
+
{ label: "Left bottom", side: "right", align: "end" },
|
|
157
|
+
{ label: "Right top", side: "left", align: "start" },
|
|
158
|
+
{ label: "Right bottom", side: "left", align: "end" }
|
|
159
|
+
];
|
|
160
|
+
function TooltipPlacements({ size, variant }) {
|
|
161
|
+
const t = useT();
|
|
162
|
+
return /* @__PURE__ */ jsx("div", { className: "grid w-full grid-cols-2 gap-3 sm:grid-cols-4", children: overlayPlacements.slice(0, 8).map(({ label, side, align }) => size === "lg" ? /* @__PURE__ */ jsx(TooltipCard, { title: t("design_system.gallery.samples.overlay.tooltip"), description: t("design_system.gallery.samples.overlay.description"), leading: /* @__PURE__ */ jsx(Globe, { className: "size-5" }), variant, side, align, children: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", className: "justify-self-center", children: label }) }, label) : /* @__PURE__ */ jsx(SimpleTooltip, { content: t("design_system.gallery.samples.overlay.tooltip"), size, variant, side, align, delayDuration: 0, children: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", className: "justify-self-center", children: label }) }, label)) });
|
|
163
|
+
}
|
|
164
|
+
function tooltipPlacementCode({ size, variant }) {
|
|
165
|
+
const component = size === "lg" ? "TooltipCard" : "SimpleTooltip";
|
|
166
|
+
return `import { ${component} } from '@open-mercato/ui/primitives/tooltip'
|
|
167
|
+
import { Button } from '@open-mercato/ui/primitives/button'
|
|
168
|
+
${size === "lg" ? "import { Globe } from 'lucide-react'\n" : ""}
|
|
169
|
+
// Figma's arrow edge is opposite Radix's content side. Collision handling stays enabled.
|
|
170
|
+
<div className="grid w-full grid-cols-2 gap-3 sm:grid-cols-4">
|
|
171
|
+
${overlayPlacements.slice(0, 8).map(({ label, side, align }) => ` <${component} ${size === "lg" ? 'title="Workspace settings" description="Choose how these changes apply to your workspace." leading={<Globe className="size-5" />}' : `content="Workspace settings" size="${size}"`} variant="${variant}" side="${side}" align="${align}"${size === "lg" ? "" : " delayDuration={0}"}>
|
|
172
|
+
<Button variant="outline" size="sm" className="justify-self-center">${label}</Button>
|
|
173
|
+
</${component}>`).join("\n")}
|
|
174
|
+
</div>`;
|
|
175
|
+
}
|
|
176
|
+
function PopoverExample({ placements = false, footer = "equal" }) {
|
|
177
|
+
const t = useT();
|
|
178
|
+
const [step, setStep] = React.useState(0);
|
|
179
|
+
const options = placements ? overlayPlacements : [overlayPlacements[0]];
|
|
180
|
+
return /* @__PURE__ */ jsx("div", { className: "grid w-full grid-cols-2 gap-3 sm:grid-cols-4", children: options.map(({ label, side, align }) => /* @__PURE__ */ jsxs(Popover, { children: [
|
|
181
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", className: "justify-self-center", children: placements ? label : t("design_system.gallery.samples.overlay.openPopover") }) }),
|
|
182
|
+
/* @__PURE__ */ jsxs(PopoverContent, { side, align, sideOffset: 6, role: "dialog", "aria-label": t("design_system.gallery.samples.overlay.title"), className: "w-[312px] max-w-[calc(100vw-24px)] min-w-0 overflow-visible rounded-xl", children: [
|
|
183
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1 p-5 pb-0", children: [
|
|
184
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: t("design_system.gallery.samples.overlay.title") }),
|
|
185
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: t("design_system.gallery.samples.overlay.description") })
|
|
186
|
+
] }),
|
|
187
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-3 px-5 py-4", children: [
|
|
188
|
+
footer === "stepper" ? /* @__PURE__ */ jsx(StepperDots, { count: 3, activeStep: step, size: "sm", "aria-label": t("design_system.gallery.samples.overlay.steps") }) : null,
|
|
189
|
+
footer === "text" ? /* @__PURE__ */ jsxs("span", { className: "text-xs text-muted-foreground", children: [
|
|
190
|
+
step + 1,
|
|
191
|
+
" / 3"
|
|
192
|
+
] }) : null,
|
|
193
|
+
/* @__PURE__ */ jsxs("div", { className: footer === "equal" ? "flex w-full gap-3 [&>*]:flex-1" : "ml-auto flex gap-3", children: [
|
|
194
|
+
/* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", disabled: step === 0, onClick: () => setStep((previous) => Math.max(0, previous - 1)), children: t("design_system.gallery.samples.overlay.back") }),
|
|
195
|
+
step === 2 ? /* @__PURE__ */ jsx(PopoverClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "primary-filled", size: "sm", children: t("design_system.gallery.samples.overlay.done") }) }) : /* @__PURE__ */ jsx(Button, { variant: "primary-filled", size: "sm", onClick: () => setStep((previous) => Math.min(2, previous + 1)), children: t("design_system.gallery.samples.overlay.next") })
|
|
196
|
+
] })
|
|
197
|
+
] }),
|
|
198
|
+
/* @__PURE__ */ jsx(PopoverArrow, {})
|
|
199
|
+
] })
|
|
200
|
+
] }, label)) });
|
|
201
|
+
}
|
|
202
|
+
function popoverExampleCode(footer) {
|
|
203
|
+
return `import * as React from 'react'
|
|
204
|
+
import { Button } from '@open-mercato/ui/primitives/button'
|
|
205
|
+
import { Popover, PopoverTrigger, PopoverContent, PopoverArrow, PopoverClose } from '@open-mercato/ui/primitives/popover'
|
|
206
|
+
${footer === "stepper" ? "import { StepperDots } from '@open-mercato/ui/primitives/step-indicator'\n" : ""}
|
|
207
|
+
function Example() {
|
|
208
|
+
const [step, setStep] = React.useState(0)
|
|
209
|
+
return <Popover>
|
|
210
|
+
<PopoverTrigger asChild><Button variant="outline">Open popover</Button></PopoverTrigger>
|
|
211
|
+
<PopoverContent side="bottom" align="start" sideOffset={6} role="dialog" aria-label="Workspace settings" className="w-[312px] max-w-[calc(100vw-24px)] min-w-0 rounded-xl">
|
|
212
|
+
<div className="space-y-1 p-5 pb-0"><p className="text-sm font-medium">Workspace settings</p><p className="text-sm text-muted-foreground">Choose how these changes apply to your workspace.</p></div>
|
|
213
|
+
<div className="flex flex-wrap items-center gap-3 px-5 py-4">
|
|
214
|
+
${footer === "stepper" ? '<StepperDots count={3} activeStep={step} size="sm" aria-label="Progress" />' : footer === "text" ? '<span className="text-xs text-muted-foreground">{step + 1} / 3</span>' : ""}
|
|
215
|
+
<div className="${footer === "equal" ? "flex w-full gap-3 [&>*]:flex-1" : "ml-auto flex gap-3"}">
|
|
216
|
+
<Button variant="outline" size="sm" disabled={step === 0} onClick={() => setStep(value => value - 1)}>Back</Button>
|
|
217
|
+
{step === 2 ? <PopoverClose asChild><Button variant="primary-filled" size="sm">Done</Button></PopoverClose> : <Button variant="primary-filled" size="sm" onClick={() => setStep(value => value + 1)}>Next</Button>}
|
|
218
|
+
</div>
|
|
219
|
+
</div>
|
|
220
|
+
<PopoverArrow />
|
|
221
|
+
</PopoverContent>
|
|
222
|
+
</Popover>
|
|
223
|
+
}`;
|
|
224
|
+
}
|
|
225
|
+
const dialogExamples = [
|
|
226
|
+
{
|
|
227
|
+
"id": "header-small-basic",
|
|
228
|
+
"title": "Header / small / basic",
|
|
229
|
+
"header": "basic",
|
|
230
|
+
"compact": true
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"id": "header-small-default",
|
|
234
|
+
"title": "Header / small / default",
|
|
235
|
+
"header": "default",
|
|
236
|
+
"compact": true
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"id": "header-small-error",
|
|
240
|
+
"title": "Header / small / error",
|
|
241
|
+
"header": "error",
|
|
242
|
+
"compact": true
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"id": "header-small-warning",
|
|
246
|
+
"title": "Header / small / warning",
|
|
247
|
+
"header": "warning",
|
|
248
|
+
"compact": true
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"id": "header-small-success",
|
|
252
|
+
"title": "Header / small / success",
|
|
253
|
+
"header": "success",
|
|
254
|
+
"compact": true
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "header-small-info",
|
|
258
|
+
"title": "Header / small / info",
|
|
259
|
+
"header": "info",
|
|
260
|
+
"compact": true
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"id": "header-medium-basic",
|
|
264
|
+
"title": "Header / medium / basic",
|
|
265
|
+
"header": "basic",
|
|
266
|
+
"compact": false
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"id": "header-medium-default",
|
|
270
|
+
"title": "Header / medium / default",
|
|
271
|
+
"header": "default",
|
|
272
|
+
"compact": false
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"id": "header-medium-error",
|
|
276
|
+
"title": "Header / medium / error",
|
|
277
|
+
"header": "error",
|
|
278
|
+
"compact": false
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"id": "header-medium-warning",
|
|
282
|
+
"title": "Header / medium / warning",
|
|
283
|
+
"header": "warning",
|
|
284
|
+
"compact": false
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"id": "header-medium-success",
|
|
288
|
+
"title": "Header / medium / success",
|
|
289
|
+
"header": "success",
|
|
290
|
+
"compact": false
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": "header-medium-info",
|
|
294
|
+
"title": "Header / medium / info",
|
|
295
|
+
"header": "info",
|
|
296
|
+
"compact": false
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"id": "footer-basic",
|
|
300
|
+
"title": "Footer / basic",
|
|
301
|
+
"footer": "basic"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"id": "footer-equal",
|
|
305
|
+
"title": "Footer / equal",
|
|
306
|
+
"footer": "equal"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"id": "footer-checkbox",
|
|
310
|
+
"title": "Footer / checkbox",
|
|
311
|
+
"footer": "checkbox"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"id": "footer-information",
|
|
315
|
+
"title": "Footer / information",
|
|
316
|
+
"footer": "information"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"id": "footer-toggle",
|
|
320
|
+
"title": "Footer / toggle",
|
|
321
|
+
"footer": "toggle"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"id": "footer-stepper",
|
|
325
|
+
"title": "Footer / stepper",
|
|
326
|
+
"footer": "stepper"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "footer-link",
|
|
330
|
+
"title": "Footer / link",
|
|
331
|
+
"footer": "link"
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"id": "status-horizontal-error",
|
|
335
|
+
"title": "Status / horizontal / error",
|
|
336
|
+
"header": "error",
|
|
337
|
+
"alignment": "horizontal",
|
|
338
|
+
"status": true,
|
|
339
|
+
"footer": "checkbox"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"id": "status-horizontal-warning",
|
|
343
|
+
"title": "Status / horizontal / warning",
|
|
344
|
+
"header": "warning",
|
|
345
|
+
"alignment": "horizontal",
|
|
346
|
+
"status": true,
|
|
347
|
+
"footer": "checkbox"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"id": "status-horizontal-success",
|
|
351
|
+
"title": "Status / horizontal / success",
|
|
352
|
+
"header": "success",
|
|
353
|
+
"alignment": "horizontal",
|
|
354
|
+
"status": true,
|
|
355
|
+
"footer": "checkbox"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"id": "status-horizontal-info",
|
|
359
|
+
"title": "Status / horizontal / info",
|
|
360
|
+
"header": "info",
|
|
361
|
+
"alignment": "horizontal",
|
|
362
|
+
"status": true,
|
|
363
|
+
"footer": "checkbox"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"id": "status-vertical-error",
|
|
367
|
+
"title": "Status / vertical / error",
|
|
368
|
+
"header": "error",
|
|
369
|
+
"alignment": "vertical",
|
|
370
|
+
"status": true,
|
|
371
|
+
"footer": "checkbox"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"id": "status-vertical-warning",
|
|
375
|
+
"title": "Status / vertical / warning",
|
|
376
|
+
"header": "warning",
|
|
377
|
+
"alignment": "vertical",
|
|
378
|
+
"status": true,
|
|
379
|
+
"footer": "checkbox"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"id": "status-vertical-success",
|
|
383
|
+
"title": "Status / vertical / success",
|
|
384
|
+
"header": "success",
|
|
385
|
+
"alignment": "vertical",
|
|
386
|
+
"status": true,
|
|
387
|
+
"footer": "checkbox"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"id": "status-vertical-info",
|
|
391
|
+
"title": "Status / vertical / info",
|
|
392
|
+
"header": "info",
|
|
393
|
+
"alignment": "vertical",
|
|
394
|
+
"status": true,
|
|
395
|
+
"footer": "checkbox"
|
|
396
|
+
}
|
|
397
|
+
];
|
|
398
|
+
const drawerExamples = [
|
|
399
|
+
{
|
|
400
|
+
"id": "header-small-basic",
|
|
401
|
+
"title": "Header / small / basic",
|
|
402
|
+
"header": "basic",
|
|
403
|
+
"compact": true
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"id": "header-small-default",
|
|
407
|
+
"title": "Header / small / default",
|
|
408
|
+
"header": "default",
|
|
409
|
+
"compact": true
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"id": "header-large-basic",
|
|
413
|
+
"title": "Header / large / basic",
|
|
414
|
+
"header": "basic",
|
|
415
|
+
"compact": false
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"id": "header-large-default",
|
|
419
|
+
"title": "Header / large / default",
|
|
420
|
+
"header": "default",
|
|
421
|
+
"compact": false
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"id": "footer-equal",
|
|
425
|
+
"title": "Footer / equal",
|
|
426
|
+
"footer": "equal"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"id": "footer-basic",
|
|
430
|
+
"title": "Footer / basic",
|
|
431
|
+
"footer": "basic"
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"id": "footer-checkbox",
|
|
435
|
+
"title": "Footer / checkbox",
|
|
436
|
+
"footer": "checkbox"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"id": "footer-toggle",
|
|
440
|
+
"title": "Footer / toggle",
|
|
441
|
+
"footer": "toggle"
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"id": "footer-stepper",
|
|
445
|
+
"title": "Footer / stepper",
|
|
446
|
+
"footer": "stepper"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"id": "footer-link",
|
|
450
|
+
"title": "Footer / link",
|
|
451
|
+
"footer": "link"
|
|
452
|
+
}
|
|
453
|
+
];
|
|
60
454
|
const dialogEntry = {
|
|
61
455
|
id: "dialog",
|
|
456
|
+
figmaNodeId: "466:4778",
|
|
62
457
|
title: "Dialog",
|
|
63
458
|
importPath: "@open-mercato/ui/primitives/dialog",
|
|
64
459
|
docsAnchor: "#dialog",
|
|
65
460
|
variants: [
|
|
461
|
+
...dialogExamples.map((example) => ({
|
|
462
|
+
id: example.id,
|
|
463
|
+
title: example.title,
|
|
464
|
+
render: () => /* @__PURE__ */ jsx(DialogExample, { ...example }),
|
|
465
|
+
code: overlayExampleCode("Dialog", example)
|
|
466
|
+
})),
|
|
66
467
|
{
|
|
67
468
|
id: "default",
|
|
68
469
|
title: "default",
|
|
69
|
-
render: () => /* @__PURE__ */
|
|
70
|
-
/* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Open dialog" }) }),
|
|
71
|
-
/* @__PURE__ */ jsxs(DialogContent, { children: [
|
|
72
|
-
/* @__PURE__ */ jsxs(DialogHeader, { children: [
|
|
73
|
-
/* @__PURE__ */ jsx(DialogTitle, { children: "Rename view" }),
|
|
74
|
-
/* @__PURE__ */ jsx(DialogDescription, { children: "The new name is visible to everyone in this workspace." })
|
|
75
|
-
] }),
|
|
76
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "Press Escape or click outside to dismiss." }),
|
|
77
|
-
/* @__PURE__ */ jsxs(DialogFooter, { children: [
|
|
78
|
-
/* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Cancel" }) }),
|
|
79
|
-
/* @__PURE__ */ jsx(Button, { children: "Save changes" })
|
|
80
|
-
] })
|
|
81
|
-
] })
|
|
82
|
-
] }),
|
|
470
|
+
render: () => /* @__PURE__ */ jsx(DialogOverlaysDefaultSample, {}),
|
|
83
471
|
code: `import { Button } from '@open-mercato/ui/primitives/button'
|
|
84
472
|
import {
|
|
85
473
|
Dialog,
|
|
@@ -115,19 +503,7 @@ import {
|
|
|
115
503
|
{
|
|
116
504
|
id: "status-leading",
|
|
117
505
|
title: "Status leading badge",
|
|
118
|
-
render: () => /* @__PURE__ */
|
|
119
|
-
/* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "destructive-outline", children: "Delete record" }) }),
|
|
120
|
-
/* @__PURE__ */ jsxs(DialogContent, { size: "sm", children: [
|
|
121
|
-
/* @__PURE__ */ jsxs(DialogHeader, { leading: /* @__PURE__ */ jsx(TriangleAlert, { className: "size-4" }), leadingTone: "error", children: [
|
|
122
|
-
/* @__PURE__ */ jsx(DialogTitle, { children: "Delete this record?" }),
|
|
123
|
-
/* @__PURE__ */ jsx(DialogDescription, { children: "This removes the record from every linked view." })
|
|
124
|
-
] }),
|
|
125
|
-
/* @__PURE__ */ jsxs(DialogFooter, { layout: "equal", children: [
|
|
126
|
-
/* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Cancel" }) }),
|
|
127
|
-
/* @__PURE__ */ jsx(Button, { variant: "destructive-solid", children: "Delete" })
|
|
128
|
-
] })
|
|
129
|
-
] })
|
|
130
|
-
] }),
|
|
506
|
+
render: () => /* @__PURE__ */ jsx(DialogOverlaysStatusLeadingSample, {}),
|
|
131
507
|
code: `import { TriangleAlert } from 'lucide-react'
|
|
132
508
|
import { Button } from '@open-mercato/ui/primitives/button'
|
|
133
509
|
import {
|
|
@@ -170,36 +546,16 @@ const drawerEntry = {
|
|
|
170
546
|
docsAnchor: "#drawer",
|
|
171
547
|
figmaNodeId: "486:7366",
|
|
172
548
|
variants: [
|
|
549
|
+
...drawerExamples.map((example) => ({
|
|
550
|
+
id: example.id,
|
|
551
|
+
title: example.title,
|
|
552
|
+
render: () => /* @__PURE__ */ jsx(DrawerExample, { ...example }),
|
|
553
|
+
code: overlayExampleCode("Drawer", example)
|
|
554
|
+
})),
|
|
173
555
|
{
|
|
174
556
|
id: "default",
|
|
175
557
|
title: "default",
|
|
176
|
-
render: () => /* @__PURE__ */
|
|
177
|
-
/* @__PURE__ */ jsx(DrawerTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Open drawer" }) }),
|
|
178
|
-
/* @__PURE__ */ jsxs(DrawerContent, { children: [
|
|
179
|
-
/* @__PURE__ */ jsxs(DrawerHeader, { children: [
|
|
180
|
-
/* @__PURE__ */ jsx(DrawerTitle, { children: "Edit person" }),
|
|
181
|
-
/* @__PURE__ */ jsx(DrawerDescription, { children: "Update the contact details below." })
|
|
182
|
-
] }),
|
|
183
|
-
/* @__PURE__ */ jsx(DrawerBody, { children: /* @__PURE__ */ jsxs("div", { className: "divide-y divide-input text-sm", children: [
|
|
184
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-3", children: [
|
|
185
|
-
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "Name" }),
|
|
186
|
-
/* @__PURE__ */ jsx("span", { className: "text-foreground", children: "Anna Kowalska" })
|
|
187
|
-
] }),
|
|
188
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-3", children: [
|
|
189
|
-
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "Role" }),
|
|
190
|
-
/* @__PURE__ */ jsx("span", { className: "text-foreground", children: "Account manager" })
|
|
191
|
-
] }),
|
|
192
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-3", children: [
|
|
193
|
-
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "Team" }),
|
|
194
|
-
/* @__PURE__ */ jsx("span", { className: "text-foreground", children: "Sales EU" })
|
|
195
|
-
] })
|
|
196
|
-
] }) }),
|
|
197
|
-
/* @__PURE__ */ jsxs(DrawerFooter, { layout: "equal", children: [
|
|
198
|
-
/* @__PURE__ */ jsx(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Cancel" }) }),
|
|
199
|
-
/* @__PURE__ */ jsx(Button, { children: "Save changes" })
|
|
200
|
-
] })
|
|
201
|
-
] })
|
|
202
|
-
] }),
|
|
558
|
+
render: () => /* @__PURE__ */ jsx(DrawerOverlaysDefaultSample, {}),
|
|
203
559
|
code: `import { Button } from '@open-mercato/ui/primitives/button'
|
|
204
560
|
import {
|
|
205
561
|
Drawer,
|
|
@@ -235,24 +591,7 @@ import {
|
|
|
235
591
|
{
|
|
236
592
|
id: "leading-icon",
|
|
237
593
|
title: "Header leading icon",
|
|
238
|
-
render: () => /* @__PURE__ */
|
|
239
|
-
/* @__PURE__ */ jsx(DrawerTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Open profile drawer" }) }),
|
|
240
|
-
/* @__PURE__ */ jsxs(DrawerContent, { children: [
|
|
241
|
-
/* @__PURE__ */ jsxs(DrawerHeader, { leading: /* @__PURE__ */ jsx(UserRound, { className: "size-4" }), children: [
|
|
242
|
-
/* @__PURE__ */ jsx(DrawerTitle, { children: "Profile details" }),
|
|
243
|
-
/* @__PURE__ */ jsx(DrawerDescription, { children: "Read-only summary of this account." })
|
|
244
|
-
] }),
|
|
245
|
-
/* @__PURE__ */ jsx(DrawerBody, { children: /* @__PURE__ */ jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
246
|
-
"The header badge takes any Lucide icon via the ",
|
|
247
|
-
/* @__PURE__ */ jsx("code", { children: "leading" }),
|
|
248
|
-
" prop."
|
|
249
|
-
] }) }),
|
|
250
|
-
/* @__PURE__ */ jsxs(DrawerFooter, { layout: "equal", children: [
|
|
251
|
-
/* @__PURE__ */ jsx(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Cancel" }) }),
|
|
252
|
-
/* @__PURE__ */ jsx(Button, { children: "Continue" })
|
|
253
|
-
] })
|
|
254
|
-
] })
|
|
255
|
-
] }),
|
|
594
|
+
render: () => /* @__PURE__ */ jsx(DrawerOverlaysLeadingIconSample, {}),
|
|
256
595
|
code: `import { UserRound } from 'lucide-react'
|
|
257
596
|
import { Button } from '@open-mercato/ui/primitives/button'
|
|
258
597
|
import {
|
|
@@ -296,20 +635,7 @@ const sheetEntry = {
|
|
|
296
635
|
{
|
|
297
636
|
id: "right",
|
|
298
637
|
title: "right (default)",
|
|
299
|
-
render: () => /* @__PURE__ */
|
|
300
|
-
/* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Open sheet" }) }),
|
|
301
|
-
/* @__PURE__ */ jsxs(SheetContent, { children: [
|
|
302
|
-
/* @__PURE__ */ jsxs(SheetHeader, { children: [
|
|
303
|
-
/* @__PURE__ */ jsx(SheetTitle, { children: "Filters" }),
|
|
304
|
-
/* @__PURE__ */ jsx(SheetDescription, { children: "Narrow down the current list." })
|
|
305
|
-
] }),
|
|
306
|
-
/* @__PURE__ */ jsx("div", { className: "flex-1 px-4 text-sm text-muted-foreground", children: "Sheet body content scrolls independently of the header and footer." }),
|
|
307
|
-
/* @__PURE__ */ jsxs(SheetFooter, { children: [
|
|
308
|
-
/* @__PURE__ */ jsx(Button, { variant: "outline", children: "Reset" }),
|
|
309
|
-
/* @__PURE__ */ jsx(Button, { children: "Apply" })
|
|
310
|
-
] })
|
|
311
|
-
] })
|
|
312
|
-
] }),
|
|
638
|
+
render: () => /* @__PURE__ */ jsx(SheetOverlaysRightSample, {}),
|
|
313
639
|
code: `import { Button } from '@open-mercato/ui/primitives/button'
|
|
314
640
|
import {
|
|
315
641
|
Sheet,
|
|
@@ -341,16 +667,7 @@ import {
|
|
|
341
667
|
{
|
|
342
668
|
id: "left",
|
|
343
669
|
title: 'side="left"',
|
|
344
|
-
render: () => /* @__PURE__ */
|
|
345
|
-
/* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Open left sheet" }) }),
|
|
346
|
-
/* @__PURE__ */ jsxs(SheetContent, { side: "left", children: [
|
|
347
|
-
/* @__PURE__ */ jsxs(SheetHeader, { children: [
|
|
348
|
-
/* @__PURE__ */ jsx(SheetTitle, { children: "Navigation" }),
|
|
349
|
-
/* @__PURE__ */ jsx(SheetDescription, { children: "Slides in from the left edge." })
|
|
350
|
-
] }),
|
|
351
|
-
/* @__PURE__ */ jsx("div", { className: "flex-1 px-4 text-sm text-muted-foreground", children: "Use the left side for mobile menus and secondary navigation." })
|
|
352
|
-
] })
|
|
353
|
-
] }),
|
|
670
|
+
render: () => /* @__PURE__ */ jsx(SheetOverlaysLeftSample, {}),
|
|
354
671
|
code: `import { Button } from '@open-mercato/ui/primitives/button'
|
|
355
672
|
import {
|
|
356
673
|
Sheet,
|
|
@@ -378,19 +695,18 @@ import {
|
|
|
378
695
|
};
|
|
379
696
|
const popoverEntry = {
|
|
380
697
|
id: "popover",
|
|
698
|
+
figmaNodeId: "4431:81573",
|
|
381
699
|
title: "Popover",
|
|
382
700
|
importPath: "@open-mercato/ui/primitives/popover",
|
|
383
701
|
variants: [
|
|
702
|
+
{ id: "positions", title: "12 arrow positions", render: () => /* @__PURE__ */ jsx(PopoverExample, { placements: true }), code: popoverExampleCode("equal") + "\n\n// Source arrow edge \u2192 content side / alignment\n" + overlayPlacements.map((item) => `// ${item.label} \u2192 side="${item.side}" align="${item.align}"`).join("\n") },
|
|
703
|
+
{ id: "footer-equal", title: "Footer / equal", render: () => /* @__PURE__ */ jsx(PopoverExample, { footer: "equal" }), code: popoverExampleCode("equal") },
|
|
704
|
+
{ id: "footer-text", title: "Footer / text", render: () => /* @__PURE__ */ jsx(PopoverExample, { footer: "text" }), code: popoverExampleCode("text") },
|
|
705
|
+
{ id: "footer-stepper", title: "Footer / stepper", render: () => /* @__PURE__ */ jsx(PopoverExample, { footer: "stepper" }), code: popoverExampleCode("stepper") },
|
|
384
706
|
{
|
|
385
707
|
id: "default",
|
|
386
708
|
title: "default",
|
|
387
|
-
render: () => /* @__PURE__ */
|
|
388
|
-
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Open popover" }) }),
|
|
389
|
-
/* @__PURE__ */ jsx(PopoverContent, { className: "p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
390
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: "Display density" }),
|
|
391
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: "Anchored to its trigger; Escape and outside-click dismiss it." })
|
|
392
|
-
] }) })
|
|
393
|
-
] }),
|
|
709
|
+
render: () => /* @__PURE__ */ jsx(PopoverOverlaysDefaultSample, {}),
|
|
394
710
|
code: `import { Button } from '@open-mercato/ui/primitives/button'
|
|
395
711
|
import {
|
|
396
712
|
Popover,
|
|
@@ -410,10 +726,7 @@ import {
|
|
|
410
726
|
{
|
|
411
727
|
id: "align-end",
|
|
412
728
|
title: 'align="end" + side="top"',
|
|
413
|
-
render: () => /* @__PURE__ */
|
|
414
|
-
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Open above" }) }),
|
|
415
|
-
/* @__PURE__ */ jsx(PopoverContent, { side: "top", align: "end", className: "p-4", children: /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: "Placement follows Radix side/align props and flips when space runs out." }) })
|
|
416
|
-
] }),
|
|
729
|
+
render: () => /* @__PURE__ */ jsx(PopoverOverlaysAlignEndSample, {}),
|
|
417
730
|
code: `import { Button } from '@open-mercato/ui/primitives/button'
|
|
418
731
|
import {
|
|
419
732
|
Popover,
|
|
@@ -434,15 +747,22 @@ import {
|
|
|
434
747
|
};
|
|
435
748
|
const tooltipEntry = {
|
|
436
749
|
id: "tooltip",
|
|
750
|
+
figmaNodeId: "2604:269",
|
|
437
751
|
title: "Tooltip",
|
|
438
752
|
importPath: "@open-mercato/ui/primitives/tooltip",
|
|
439
753
|
docsAnchor: "#tooltip--simpletooltip",
|
|
440
754
|
variants: [
|
|
755
|
+
{ id: "positions-sm-light", title: "8 positions / sm / light", render: () => /* @__PURE__ */ jsx(TooltipPlacements, { size: "sm", variant: "light" }), code: tooltipPlacementCode({ size: "sm", variant: "light" }) },
|
|
756
|
+
{ id: "positions-sm-dark", title: "8 positions / sm / dark", render: () => /* @__PURE__ */ jsx(TooltipPlacements, { size: "sm", variant: "dark" }), code: tooltipPlacementCode({ size: "sm", variant: "dark" }) },
|
|
757
|
+
{ id: "positions-default-light", title: "8 positions / default / light", render: () => /* @__PURE__ */ jsx(TooltipPlacements, { size: "default", variant: "light" }), code: tooltipPlacementCode({ size: "default", variant: "light" }) },
|
|
758
|
+
{ id: "positions-default-dark", title: "8 positions / default / dark", render: () => /* @__PURE__ */ jsx(TooltipPlacements, { size: "default", variant: "dark" }), code: tooltipPlacementCode({ size: "default", variant: "dark" }) },
|
|
759
|
+
{ id: "positions-lg-light", title: "8 positions / lg / light", render: () => /* @__PURE__ */ jsx(TooltipPlacements, { size: "lg", variant: "light" }), code: tooltipPlacementCode({ size: "lg", variant: "light" }) },
|
|
760
|
+
{ id: "positions-lg-dark", title: "8 positions / lg / dark", render: () => /* @__PURE__ */ jsx(TooltipPlacements, { size: "lg", variant: "dark" }), code: tooltipPlacementCode({ size: "lg", variant: "dark" }) },
|
|
441
761
|
{
|
|
442
762
|
id: "default",
|
|
443
763
|
title: "default (dark)",
|
|
444
|
-
render: () => /* @__PURE__ */ jsx(
|
|
445
|
-
code: `import { SimpleTooltip } from '@open-mercato/ui/primitives/tooltip'
|
|
764
|
+
render: () => /* @__PURE__ */ jsx(TooltipOverlaysDefaultSample, {}),
|
|
765
|
+
code: `import { SimpleTooltip, TooltipCard } from '@open-mercato/ui/primitives/tooltip'
|
|
446
766
|
import { Button } from '@open-mercato/ui/primitives/button'
|
|
447
767
|
|
|
448
768
|
<SimpleTooltip content="Duplicates this view with all filters">
|
|
@@ -452,12 +772,9 @@ import { Button } from '@open-mercato/ui/primitives/button'
|
|
|
452
772
|
{
|
|
453
773
|
id: "light",
|
|
454
774
|
title: "light",
|
|
455
|
-
render: () => /* @__PURE__ */ jsx(
|
|
456
|
-
/* @__PURE__ */ jsx(Info, {}),
|
|
457
|
-
"Light variant"
|
|
458
|
-
] }) }),
|
|
775
|
+
render: () => /* @__PURE__ */ jsx(TooltipOverlaysLightSample, {}),
|
|
459
776
|
code: `import { Info } from 'lucide-react'
|
|
460
|
-
import { SimpleTooltip } from '@open-mercato/ui/primitives/tooltip'
|
|
777
|
+
import { SimpleTooltip, TooltipCard } from '@open-mercato/ui/primitives/tooltip'
|
|
461
778
|
import { Button } from '@open-mercato/ui/primitives/button'
|
|
462
779
|
|
|
463
780
|
<SimpleTooltip content="Help text on a light surface" variant="light">
|
|
@@ -467,12 +784,8 @@ import { Button } from '@open-mercato/ui/primitives/button'
|
|
|
467
784
|
{
|
|
468
785
|
id: "sizes",
|
|
469
786
|
title: "Sizes",
|
|
470
|
-
render: () => /* @__PURE__ */
|
|
471
|
-
|
|
472
|
-
/* @__PURE__ */ jsx(SimpleTooltip, { content: "Default", children: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", children: "default" }) }),
|
|
473
|
-
/* @__PURE__ */ jsx(SimpleTooltip, { content: "Large tooltip for longer helper copy", size: "lg", children: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", children: "lg" }) })
|
|
474
|
-
] }),
|
|
475
|
-
code: `import { SimpleTooltip } from '@open-mercato/ui/primitives/tooltip'
|
|
787
|
+
render: () => /* @__PURE__ */ jsx(TooltipOverlaysSizesSample, {}),
|
|
788
|
+
code: `import { SimpleTooltip, TooltipCard } from '@open-mercato/ui/primitives/tooltip'
|
|
476
789
|
import { Button } from '@open-mercato/ui/primitives/button'
|
|
477
790
|
|
|
478
791
|
<SimpleTooltip content="Small" size="sm">
|
|
@@ -489,77 +802,20 @@ import { Button } from '@open-mercato/ui/primitives/button'
|
|
|
489
802
|
};
|
|
490
803
|
const commandMenuEntry = {
|
|
491
804
|
id: "command-menu",
|
|
805
|
+
figmaNodeId: "4171:15653",
|
|
492
806
|
title: "CommandMenu",
|
|
493
807
|
importPath: "@open-mercato/ui/primitives/command-menu",
|
|
494
808
|
docsAnchor: "#commandmenu",
|
|
809
|
+
usage: { do: [
|
|
810
|
+
"The source Small (48) label is inaccurate: all six small rows measure 40 px. The larger rows measure 64 px. Numeric sizes opt into these measurements; unsized rows keep the legacy layout.",
|
|
811
|
+
"Basic, Avatar, Left Icon, Brand, Company and Country use real source assets or production primitives. Keyboard selection updates the result and closes the palette.",
|
|
812
|
+
"Search and clear stay synchronized. Group captions and actions flow together without overlapping long headings; the footer includes real keyboard hints and a local help action."
|
|
813
|
+
] },
|
|
495
814
|
variants: [
|
|
496
|
-
{
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
/* @__PURE__ */ jsx(CommandMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Open command menu" }) }),
|
|
501
|
-
/* @__PURE__ */ jsxs(CommandMenuContent, { children: [
|
|
502
|
-
/* @__PURE__ */ jsx(CommandMenuInput, { placeholder: "Search actions..." }),
|
|
503
|
-
/* @__PURE__ */ jsxs(CommandMenuList, { children: [
|
|
504
|
-
/* @__PURE__ */ jsx(CommandMenuEmpty, { children: "No results." }),
|
|
505
|
-
/* @__PURE__ */ jsxs(CommandMenuGroup, { heading: "Actions", children: [
|
|
506
|
-
/* @__PURE__ */ jsx(CommandMenuItem, { leading: /* @__PURE__ */ jsx(FilePlus2, { className: "size-4 text-muted-foreground" }), children: "Create record" }),
|
|
507
|
-
/* @__PURE__ */ jsx(CommandMenuItem, { leading: /* @__PURE__ */ jsx(Users, { className: "size-4 text-muted-foreground" }), description: "Invite teammates to this workspace", children: "Manage members" })
|
|
508
|
-
] }),
|
|
509
|
-
/* @__PURE__ */ jsx(CommandMenuSeparator, {}),
|
|
510
|
-
/* @__PURE__ */ jsxs(CommandMenuGroup, { heading: "Navigate", children: [
|
|
511
|
-
/* @__PURE__ */ jsx(CommandMenuItem, { leading: /* @__PURE__ */ jsx(LayoutDashboard, { className: "size-4 text-muted-foreground" }), children: "Go to dashboard" }),
|
|
512
|
-
/* @__PURE__ */ jsx(CommandMenuItem, { leading: /* @__PURE__ */ jsx(Settings, { className: "size-4 text-muted-foreground" }), children: "Open settings" })
|
|
513
|
-
] })
|
|
514
|
-
] }),
|
|
515
|
-
/* @__PURE__ */ jsx(CommandMenuFooter, {})
|
|
516
|
-
] })
|
|
517
|
-
] }),
|
|
518
|
-
code: `import { FilePlus2, LayoutDashboard, Settings, Users } from 'lucide-react'
|
|
519
|
-
import { Button } from '@open-mercato/ui/primitives/button'
|
|
520
|
-
import {
|
|
521
|
-
CommandMenu,
|
|
522
|
-
CommandMenuTrigger,
|
|
523
|
-
CommandMenuContent,
|
|
524
|
-
CommandMenuInput,
|
|
525
|
-
CommandMenuList,
|
|
526
|
-
CommandMenuEmpty,
|
|
527
|
-
CommandMenuGroup,
|
|
528
|
-
CommandMenuItem,
|
|
529
|
-
CommandMenuSeparator,
|
|
530
|
-
CommandMenuFooter,
|
|
531
|
-
} from '@open-mercato/ui/primitives/command-menu'
|
|
532
|
-
|
|
533
|
-
<CommandMenu>
|
|
534
|
-
<CommandMenuTrigger asChild>
|
|
535
|
-
<Button variant="outline">Open command menu</Button>
|
|
536
|
-
</CommandMenuTrigger>
|
|
537
|
-
<CommandMenuContent>
|
|
538
|
-
<CommandMenuInput placeholder="Search actions..." />
|
|
539
|
-
<CommandMenuList>
|
|
540
|
-
<CommandMenuEmpty>No results.</CommandMenuEmpty>
|
|
541
|
-
<CommandMenuGroup heading="Actions">
|
|
542
|
-
<CommandMenuItem leading={<FilePlus2 className="size-4" />}>
|
|
543
|
-
Create record
|
|
544
|
-
</CommandMenuItem>
|
|
545
|
-
<CommandMenuItem leading={<Users className="size-4" />} description="Invite teammates to this workspace">
|
|
546
|
-
Manage members
|
|
547
|
-
</CommandMenuItem>
|
|
548
|
-
</CommandMenuGroup>
|
|
549
|
-
<CommandMenuSeparator />
|
|
550
|
-
<CommandMenuGroup heading="Navigate">
|
|
551
|
-
<CommandMenuItem leading={<LayoutDashboard className="size-4" />}>
|
|
552
|
-
Go to dashboard
|
|
553
|
-
</CommandMenuItem>
|
|
554
|
-
<CommandMenuItem leading={<Settings className="size-4" />}>
|
|
555
|
-
Open settings
|
|
556
|
-
</CommandMenuItem>
|
|
557
|
-
</CommandMenuGroup>
|
|
558
|
-
</CommandMenuList>
|
|
559
|
-
<CommandMenuFooter />
|
|
560
|
-
</CommandMenuContent>
|
|
561
|
-
</CommandMenu>`
|
|
562
|
-
}
|
|
815
|
+
{ id: "default", title: "All six types / 40 px", render: () => /* @__PURE__ */ jsx(CommandSourceExample, {}), code: commandSourceCode + "\n<CommandSourceExample size={40} />" },
|
|
816
|
+
{ id: "medium", title: "All six types / 64 px", render: () => /* @__PURE__ */ jsx(CommandSourceExample, { size: 64 }), code: commandSourceCode + "\n<CommandSourceExample size={64} />" },
|
|
817
|
+
{ id: "groups", title: "Captions / action / separator / footer", render: () => /* @__PURE__ */ jsx(CommandSourceExample, { withGroups: true }), code: commandSourceCode + "\n<CommandSourceExample withGroups />" },
|
|
818
|
+
{ id: "empty", title: "No results / clear to recover", render: () => /* @__PURE__ */ jsx(CommandSourceExample, { empty: true }), code: commandSourceCode + "\n<CommandSourceExample empty />" }
|
|
563
819
|
]
|
|
564
820
|
};
|
|
565
821
|
const entries = [
|
|
@@ -570,6 +826,158 @@ const entries = [
|
|
|
570
826
|
tooltipEntry,
|
|
571
827
|
commandMenuEntry
|
|
572
828
|
];
|
|
829
|
+
function DialogOverlaysDefaultSample() {
|
|
830
|
+
const t = useT();
|
|
831
|
+
return /* @__PURE__ */ jsxs(Dialog, { children: [
|
|
832
|
+
/* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.samples.overlay.openDialog") }) }),
|
|
833
|
+
/* @__PURE__ */ jsxs(DialogContent, { children: [
|
|
834
|
+
/* @__PURE__ */ jsxs(DialogHeader, { children: [
|
|
835
|
+
/* @__PURE__ */ jsx(DialogTitle, { children: t("design_system.gallery.sampleCopy.renameView") }),
|
|
836
|
+
/* @__PURE__ */ jsx(DialogDescription, { children: t("design_system.gallery.sampleCopy.theNewNameIsVisibleToEveryoneInThisWorkspace") })
|
|
837
|
+
] }),
|
|
838
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: t("design_system.gallery.sampleCopy.pressEscapeOrClickOutsideToDismiss") }),
|
|
839
|
+
/* @__PURE__ */ jsxs(DialogFooter, { children: [
|
|
840
|
+
/* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.samples.overlay.cancel") }) }),
|
|
841
|
+
/* @__PURE__ */ jsx(Button, { children: t("design_system.gallery.samples.primaryAction") })
|
|
842
|
+
] })
|
|
843
|
+
] })
|
|
844
|
+
] });
|
|
845
|
+
}
|
|
846
|
+
function DialogOverlaysStatusLeadingSample() {
|
|
847
|
+
const t = useT();
|
|
848
|
+
return /* @__PURE__ */ jsxs(Dialog, { children: [
|
|
849
|
+
/* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "destructive-outline", children: t("design_system.gallery.sampleCopy.deleteRecord") }) }),
|
|
850
|
+
/* @__PURE__ */ jsxs(DialogContent, { size: "sm", children: [
|
|
851
|
+
/* @__PURE__ */ jsxs(DialogHeader, { leading: /* @__PURE__ */ jsx(TriangleAlert, { className: "size-4" }), leadingTone: "error", children: [
|
|
852
|
+
/* @__PURE__ */ jsx(DialogTitle, { children: t("design_system.gallery.sampleCopy.deleteThisRecord") }),
|
|
853
|
+
/* @__PURE__ */ jsx(DialogDescription, { children: t("design_system.gallery.sampleCopy.thisRemovesTheRecordFromEveryLinkedView") })
|
|
854
|
+
] }),
|
|
855
|
+
/* @__PURE__ */ jsxs(DialogFooter, { layout: "equal", children: [
|
|
856
|
+
/* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.samples.overlay.cancel") }) }),
|
|
857
|
+
/* @__PURE__ */ jsx(Button, { variant: "destructive-solid", children: t("design_system.gallery.sampleCopy.delete") })
|
|
858
|
+
] })
|
|
859
|
+
] })
|
|
860
|
+
] });
|
|
861
|
+
}
|
|
862
|
+
function DrawerOverlaysDefaultSample() {
|
|
863
|
+
const t = useT();
|
|
864
|
+
return /* @__PURE__ */ jsxs(Drawer, { children: [
|
|
865
|
+
/* @__PURE__ */ jsx(DrawerTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.samples.overlay.openDrawer") }) }),
|
|
866
|
+
/* @__PURE__ */ jsxs(DrawerContent, { children: [
|
|
867
|
+
/* @__PURE__ */ jsxs(DrawerHeader, { children: [
|
|
868
|
+
/* @__PURE__ */ jsx(DrawerTitle, { children: t("design_system.gallery.sampleCopy.editPerson") }),
|
|
869
|
+
/* @__PURE__ */ jsx(DrawerDescription, { children: t("design_system.gallery.sampleCopy.updateTheContactDetailsBelow") })
|
|
870
|
+
] }),
|
|
871
|
+
/* @__PURE__ */ jsx(DrawerBody, { children: /* @__PURE__ */ jsxs("div", { className: "divide-y divide-input text-sm", children: [
|
|
872
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-3", children: [
|
|
873
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("design_system.gallery.samples.textInput.basic") }),
|
|
874
|
+
/* @__PURE__ */ jsx("span", { className: "text-foreground", children: "Anna Kowalska" })
|
|
875
|
+
] }),
|
|
876
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-3", children: [
|
|
877
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("design_system.gallery.sampleCopy.role") }),
|
|
878
|
+
/* @__PURE__ */ jsx("span", { className: "text-foreground", children: t("design_system.gallery.samples.table.description") })
|
|
879
|
+
] }),
|
|
880
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-3", children: [
|
|
881
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("design_system.gallery.samples.hr.team") }),
|
|
882
|
+
/* @__PURE__ */ jsx("span", { className: "text-foreground", children: t("design_system.gallery.sampleCopy.salesEU") })
|
|
883
|
+
] })
|
|
884
|
+
] }) }),
|
|
885
|
+
/* @__PURE__ */ jsxs(DrawerFooter, { layout: "equal", children: [
|
|
886
|
+
/* @__PURE__ */ jsx(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.samples.overlay.cancel") }) }),
|
|
887
|
+
/* @__PURE__ */ jsx(Button, { children: t("design_system.gallery.samples.primaryAction") })
|
|
888
|
+
] })
|
|
889
|
+
] })
|
|
890
|
+
] });
|
|
891
|
+
}
|
|
892
|
+
function DrawerOverlaysLeadingIconSample() {
|
|
893
|
+
const t = useT();
|
|
894
|
+
return /* @__PURE__ */ jsxs(Drawer, { children: [
|
|
895
|
+
/* @__PURE__ */ jsx(DrawerTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.sampleCopy.openProfileDrawer") }) }),
|
|
896
|
+
/* @__PURE__ */ jsxs(DrawerContent, { children: [
|
|
897
|
+
/* @__PURE__ */ jsxs(DrawerHeader, { leading: /* @__PURE__ */ jsx(UserRound, { className: "size-4" }), children: [
|
|
898
|
+
/* @__PURE__ */ jsx(DrawerTitle, { children: t("design_system.gallery.sampleCopy.profileDetails") }),
|
|
899
|
+
/* @__PURE__ */ jsx(DrawerDescription, { children: t("design_system.gallery.sampleCopy.readonlySummaryOfThisAccount") })
|
|
900
|
+
] }),
|
|
901
|
+
/* @__PURE__ */ jsx(DrawerBody, { children: /* @__PURE__ */ jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
902
|
+
t("design_system.gallery.sampleCopy.theHeaderBadgeTakesAnyLucideIconViaThe"),
|
|
903
|
+
" ",
|
|
904
|
+
/* @__PURE__ */ jsx("code", { children: "leading" }),
|
|
905
|
+
" ",
|
|
906
|
+
t("design_system.gallery.sampleCopy.prop")
|
|
907
|
+
] }) }),
|
|
908
|
+
/* @__PURE__ */ jsxs(DrawerFooter, { layout: "equal", children: [
|
|
909
|
+
/* @__PURE__ */ jsx(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.samples.overlay.cancel") }) }),
|
|
910
|
+
/* @__PURE__ */ jsx(Button, { children: t("design_system.gallery.samples.overlay.continue") })
|
|
911
|
+
] })
|
|
912
|
+
] })
|
|
913
|
+
] });
|
|
914
|
+
}
|
|
915
|
+
function SheetOverlaysRightSample() {
|
|
916
|
+
const t = useT();
|
|
917
|
+
return /* @__PURE__ */ jsxs(Sheet, { children: [
|
|
918
|
+
/* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.sampleCopy.openSheet") }) }),
|
|
919
|
+
/* @__PURE__ */ jsxs(SheetContent, { children: [
|
|
920
|
+
/* @__PURE__ */ jsxs(SheetHeader, { children: [
|
|
921
|
+
/* @__PURE__ */ jsx(SheetTitle, { children: t("design_system.families.filters") }),
|
|
922
|
+
/* @__PURE__ */ jsx(SheetDescription, { children: t("design_system.gallery.sampleCopy.narrowDownTheCurrentList") })
|
|
923
|
+
] }),
|
|
924
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1 px-4 text-sm text-muted-foreground", children: t("design_system.gallery.sampleCopy.sheetBodyContentScrollsIndependentlyOfTheHeaderAndFooter") }),
|
|
925
|
+
/* @__PURE__ */ jsxs(SheetFooter, { children: [
|
|
926
|
+
/* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.sampleCopy.reset") }),
|
|
927
|
+
/* @__PURE__ */ jsx(Button, { children: t("design_system.gallery.examples.sourceFilters.apply") })
|
|
928
|
+
] })
|
|
929
|
+
] })
|
|
930
|
+
] });
|
|
931
|
+
}
|
|
932
|
+
function SheetOverlaysLeftSample() {
|
|
933
|
+
const t = useT();
|
|
934
|
+
return /* @__PURE__ */ jsxs(Sheet, { children: [
|
|
935
|
+
/* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.sampleCopy.openLeftSheet") }) }),
|
|
936
|
+
/* @__PURE__ */ jsxs(SheetContent, { side: "left", children: [
|
|
937
|
+
/* @__PURE__ */ jsxs(SheetHeader, { children: [
|
|
938
|
+
/* @__PURE__ */ jsx(SheetTitle, { children: t("design_system.families.navigation") }),
|
|
939
|
+
/* @__PURE__ */ jsx(SheetDescription, { children: t("design_system.gallery.sampleCopy.slidesInFromTheLeftEdge") })
|
|
940
|
+
] }),
|
|
941
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1 px-4 text-sm text-muted-foreground", children: t("design_system.gallery.sampleCopy.useTheLeftSideForMobileMenusAndSecondaryNavigation") })
|
|
942
|
+
] })
|
|
943
|
+
] });
|
|
944
|
+
}
|
|
945
|
+
function PopoverOverlaysDefaultSample() {
|
|
946
|
+
const t = useT();
|
|
947
|
+
return /* @__PURE__ */ jsxs(Popover, { children: [
|
|
948
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.samples.overlay.openPopover") }) }),
|
|
949
|
+
/* @__PURE__ */ jsx(PopoverContent, { className: "p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
950
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: t("design_system.gallery.sampleCopy.displayDensity") }),
|
|
951
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: t("design_system.gallery.sampleCopy.anchoredToItsTriggerEscapeAndOutsideclickDismissIt") })
|
|
952
|
+
] }) })
|
|
953
|
+
] });
|
|
954
|
+
}
|
|
955
|
+
function PopoverOverlaysAlignEndSample() {
|
|
956
|
+
const t = useT();
|
|
957
|
+
return /* @__PURE__ */ jsxs(Popover, { children: [
|
|
958
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.sampleCopy.openAbove") }) }),
|
|
959
|
+
/* @__PURE__ */ jsx(PopoverContent, { side: "top", align: "end", className: "p-4", children: /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: t("design_system.gallery.sampleCopy.placementFollowsRadixSidealignPropsAndFlipsWhenSpaceRuns") }) })
|
|
960
|
+
] });
|
|
961
|
+
}
|
|
962
|
+
function TooltipOverlaysDefaultSample() {
|
|
963
|
+
const t = useT();
|
|
964
|
+
return /* @__PURE__ */ jsx(SimpleTooltip, { content: t("design_system.gallery.sampleCopy.duplicatesThisViewWithAllFilters"), children: /* @__PURE__ */ jsx(Button, { variant: "outline", children: t("design_system.gallery.sampleCopy.hoverMe") }) });
|
|
965
|
+
}
|
|
966
|
+
function TooltipOverlaysLightSample() {
|
|
967
|
+
const t = useT();
|
|
968
|
+
return /* @__PURE__ */ jsx(SimpleTooltip, { content: t("design_system.gallery.sampleCopy.helpTextOnALightSurface"), variant: "light", children: /* @__PURE__ */ jsxs(Button, { variant: "outline", children: [
|
|
969
|
+
/* @__PURE__ */ jsx(Info, {}),
|
|
970
|
+
t("design_system.gallery.sampleCopy.lightVariant")
|
|
971
|
+
] }) });
|
|
972
|
+
}
|
|
973
|
+
function TooltipOverlaysSizesSample() {
|
|
974
|
+
const t = useT();
|
|
975
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
976
|
+
/* @__PURE__ */ jsx(SimpleTooltip, { content: t("design_system.gallery.sampleCopy.small"), size: "sm", children: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", children: "sm" }) }),
|
|
977
|
+
/* @__PURE__ */ jsx(SimpleTooltip, { content: t("design_system.gallery.examples.aiProduct.default"), children: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", children: "default" }) }),
|
|
978
|
+
/* @__PURE__ */ jsx(SimpleTooltip, { content: t("design_system.gallery.sampleCopy.largeTooltipForLongerHelperCopy"), size: "lg", children: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", children: "lg" }) })
|
|
979
|
+
] });
|
|
980
|
+
}
|
|
573
981
|
export {
|
|
574
982
|
entries
|
|
575
983
|
};
|