@open-mercato/core 0.7.1-develop.7203.1.9396450b78 → 0.8.1-develop.7204.1.83330e271e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -8
- 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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/modules/design_system/gallery/entries/display.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react'\nimport { Building2, MoreHorizontal } from 'lucide-react'\nimport { Badge } from '@open-mercato/ui/primitives/badge'\nimport { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\nimport { Tag } from '@open-mercato/ui/primitives/tag'\nimport { Avatar, AvatarStack } from '@open-mercato/ui/primitives/avatar'\nimport { Kbd, KbdShortcut } from '@open-mercato/ui/primitives/kbd'\nimport {\n Table,\n TableBody,\n TableCell,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n} from '@open-mercato/ui/primitives/table'\nimport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from '@open-mercato/ui/primitives/card'\nimport { Separator } from '@open-mercato/ui/primitives/separator'\nimport { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport {\n ActivityFeed,\n ActivityFeedComment,\n ActivityFeedFileChip,\n ActivityFeedItem,\n ActivityFeedStatusChip,\n} from '@open-mercato/ui/primitives/activity-feed'\nimport { IconButton } from '@open-mercato/ui/primitives/icon-button'\nimport type { GalleryEntry } from '../types'\n\n// Component titles and variant names are proper nouns from the codebase and\n// are deliberately not translated. `code` MUST contain the entry's importPath\n// (enforced by the registry-integrity test) and is always reviewed alongside\n// its sibling `render`.\n\nconst badgeEntry: GalleryEntry = {\n id: 'badge',\n title: 'Badge',\n importPath: '@open-mercato/ui/primitives/badge',\n usage: {\n do: [\n 'Counts and short semantic labels; the brand variant for custom-view and renewal pills.',\n 'Semantic variants (success/warning/info/neutral/error) come from status tokens \u2014 no custom colors.',\n ],\n dont: ['Not for system statuses (use StatusBadge) or user-applied labels (use Tag).'],\n },\n variants: [\n {\n id: 'semantic',\n title: 'Semantic variants',\n render: () => (\n <>\n <Badge variant=\"success\">Success</Badge>\n <Badge variant=\"warning\">Warning</Badge>\n <Badge variant=\"info\">Info</Badge>\n <Badge variant=\"neutral\">Neutral</Badge>\n <Badge variant=\"error\">Error</Badge>\n <Badge variant=\"brand\">Brand</Badge>\n </>\n ),\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n<Badge variant=\"success\">Success</Badge>\n<Badge variant=\"warning\">Warning</Badge>\n<Badge variant=\"info\">Info</Badge>\n<Badge variant=\"neutral\">Neutral</Badge>\n<Badge variant=\"error\">Error</Badge>\n<Badge variant=\"brand\">Brand</Badge>`,\n },\n {\n id: 'sizes',\n title: 'Sizes',\n render: () => (\n <>\n <Badge variant=\"info\" size=\"lg\">Large</Badge>\n <Badge variant=\"info\" size=\"default\">Default</Badge>\n <Badge variant=\"info\" size=\"sm\">Small</Badge>\n </>\n ),\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n<Badge variant=\"info\" size=\"lg\">Large</Badge>\n<Badge variant=\"info\" size=\"default\">Default</Badge>\n<Badge variant=\"info\" size=\"sm\">Small</Badge>`,\n },\n {\n id: 'dot',\n title: 'With dot',\n render: () => (\n <>\n <Badge variant=\"success\" dot>Active</Badge>\n <Badge variant=\"neutral\" dot>Draft</Badge>\n <Badge variant=\"brand\" dot>Custom view</Badge>\n </>\n ),\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n<Badge variant=\"success\" dot>Active</Badge>\n<Badge variant=\"neutral\" dot>Draft</Badge>\n<Badge variant=\"brand\" dot>Custom view</Badge>`,\n },\n {\n id: 'removable',\n title: 'Removable',\n render: () => (\n <>\n <Badge variant=\"neutral\" removable onRemove={() => {}}>Filter: Region</Badge>\n <Badge variant=\"brand\" removable onRemove={() => {}}>Renewal</Badge>\n </>\n ),\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n<Badge variant=\"neutral\" removable onRemove={() => setRegion(null)}>Filter: Region</Badge>\n<Badge variant=\"brand\" removable onRemove={() => clearTag()}>Renewal</Badge>`,\n },\n ],\n}\n\nconst statusBadgeEntry: GalleryEntry = {\n id: 'status-badge',\n title: 'StatusBadge',\n importPath: '@open-mercato/ui/primitives/status-badge',\n usage: {\n do: [\n 'System-computed statuses (active, pending, failed) \u2014 drive variants through a shared StatusMap.',\n 'The dot makes state scannable in dense tables.',\n ],\n dont: ['Not for user-applied labels or categories \u2014 that is Tag.'],\n },\n variants: [\n {\n id: 'with-dot',\n title: 'Variants with dot',\n render: () => (\n <>\n <StatusBadge variant=\"success\" dot>Active</StatusBadge>\n <StatusBadge variant=\"warning\" dot>Pending</StatusBadge>\n <StatusBadge variant=\"error\" dot>Failed</StatusBadge>\n <StatusBadge variant=\"info\" dot>Syncing</StatusBadge>\n <StatusBadge variant=\"neutral\" dot>Archived</StatusBadge>\n </>\n ),\n code: `import { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\n\n<StatusBadge variant=\"success\" dot>Active</StatusBadge>\n<StatusBadge variant=\"warning\" dot>Pending</StatusBadge>\n<StatusBadge variant=\"error\" dot>Failed</StatusBadge>\n<StatusBadge variant=\"info\" dot>Syncing</StatusBadge>\n<StatusBadge variant=\"neutral\" dot>Archived</StatusBadge>`,\n },\n {\n id: 'without-dot',\n title: 'Without dot',\n render: () => (\n <>\n <StatusBadge variant=\"success\">Paid</StatusBadge>\n <StatusBadge variant=\"neutral\">Draft</StatusBadge>\n </>\n ),\n code: `import { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\n\n<StatusBadge variant=\"success\">Paid</StatusBadge>\n<StatusBadge variant=\"neutral\">Draft</StatusBadge>`,\n },\n ],\n}\n\nconst tagEntry: GalleryEntry = {\n id: 'tag',\n title: 'Tag',\n importPath: '@open-mercato/ui/primitives/tag',\n usage: {\n do: ['User-applied labels and categories; map domain types via TagMap for consistency.'],\n dont: ['Not for system status \u2014 that is StatusBadge.'],\n },\n variants: [\n {\n id: 'variants',\n title: 'Variants',\n render: () => (\n <>\n <Tag>default</Tag>\n <Tag variant=\"success\">success</Tag>\n <Tag variant=\"warning\">warning</Tag>\n <Tag variant=\"error\">error</Tag>\n <Tag variant=\"info\">info</Tag>\n <Tag variant=\"neutral\">neutral</Tag>\n <Tag variant=\"brand\">brand</Tag>\n <Tag variant=\"pink\">pink</Tag>\n </>\n ),\n code: `import { Tag } from '@open-mercato/ui/primitives/tag'\n\n<Tag>default</Tag>\n<Tag variant=\"success\">success</Tag>\n<Tag variant=\"warning\">warning</Tag>\n<Tag variant=\"error\">error</Tag>\n<Tag variant=\"info\">info</Tag>\n<Tag variant=\"neutral\">neutral</Tag>\n<Tag variant=\"brand\">brand</Tag>\n<Tag variant=\"pink\">pink</Tag>`,\n },\n {\n id: 'dot',\n title: 'With dot',\n render: () => (\n <>\n <Tag variant=\"success\" dot>Customer</Tag>\n <Tag variant=\"brand\" dot>Renewal</Tag>\n <Tag variant=\"pink\" dot>Campaign</Tag>\n </>\n ),\n code: `import { Tag } from '@open-mercato/ui/primitives/tag'\n\n<Tag variant=\"success\" dot>Customer</Tag>\n<Tag variant=\"brand\" dot>Renewal</Tag>\n<Tag variant=\"pink\" dot>Campaign</Tag>`,\n },\n {\n id: 'square',\n title: 'Square shape',\n render: () => (\n <>\n <Tag shape=\"square\">default</Tag>\n <Tag variant=\"info\" shape=\"square\" dot>info</Tag>\n </>\n ),\n code: `import { Tag } from '@open-mercato/ui/primitives/tag'\n\n<Tag shape=\"square\">default</Tag>\n<Tag variant=\"info\" shape=\"square\" dot>info</Tag>`,\n },\n {\n id: 'removable',\n title: 'Removable',\n render: () => (\n <>\n <Tag variant=\"neutral\" onRemove={() => {}}>Wholesale</Tag>\n <Tag variant=\"neutral\" onRemove={() => {}} disabled>Locked</Tag>\n </>\n ),\n code: `import { Tag } from '@open-mercato/ui/primitives/tag'\n\n<Tag variant=\"neutral\" onRemove={() => removeTag('wholesale')}>Wholesale</Tag>\n<Tag variant=\"neutral\" onRemove={() => {}} disabled>Locked</Tag>`,\n },\n ],\n}\n\nconst avatarEntry: GalleryEntry = {\n id: 'avatar',\n title: 'Avatar',\n importPath: '@open-mercato/ui/primitives/avatar',\n variants: [\n {\n id: 'sizes',\n title: 'Sizes (auto-initials)',\n render: () => (\n <>\n <Avatar label=\"Wei Chen\" size=\"xl\" />\n <Avatar label=\"Wei Chen\" size=\"lg\" />\n <Avatar label=\"Wei Chen\" size=\"md\" />\n <Avatar label=\"Wei Chen\" size=\"sm\" />\n <Avatar label=\"Wei Chen\" size=\"xs\" />\n </>\n ),\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n// Initials are derived automatically from the label at every size.\n<Avatar label=\"Wei Chen\" size=\"xl\" />\n<Avatar label=\"Wei Chen\" size=\"lg\" />\n<Avatar label=\"Wei Chen\" size=\"md\" />\n<Avatar label=\"Wei Chen\" size=\"sm\" />\n<Avatar label=\"Wei Chen\" size=\"xs\" />`,\n },\n {\n id: 'variants',\n title: 'Variants and icon',\n render: () => (\n <>\n <Avatar label=\"Laura Perez\" />\n <Avatar label=\"Laura Perez\" variant=\"monochrome\" />\n <Avatar label=\"Acme Corp\" icon={<Building2 />} variant=\"monochrome\" />\n </>\n ),\n code: `import { Building2 } from 'lucide-react'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<Avatar label=\"Laura Perez\" />\n<Avatar label=\"Laura Perez\" variant=\"monochrome\" />\n<Avatar label=\"Acme Corp\" icon={<Building2 />} variant=\"monochrome\" />`,\n },\n {\n id: 'status',\n title: 'Status dot',\n render: () => (\n <>\n <Avatar label=\"Wei Chen\" status=\"online\" />\n <Avatar label=\"Laura Perez\" status=\"busy\" />\n <Avatar label=\"Omar Haddad\" status=\"away\" />\n <Avatar label=\"Ines Kowalska\" status=\"offline\" />\n </>\n ),\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<Avatar label=\"Wei Chen\" status=\"online\" />\n<Avatar label=\"Laura Perez\" status=\"busy\" />\n<Avatar label=\"Omar Haddad\" status=\"away\" />\n<Avatar label=\"Ines Kowalska\" status=\"offline\" />`,\n },\n {\n id: 'stack',\n title: 'AvatarStack',\n render: () => (\n <AvatarStack max={3}>\n <Avatar label=\"Wei Chen\" />\n <Avatar label=\"Laura Perez\" />\n <Avatar label=\"Omar Haddad\" />\n <Avatar label=\"Ines Kowalska\" />\n <Avatar label=\"Ravi Patel\" />\n </AvatarStack>\n ),\n code: `import { Avatar, AvatarStack } from '@open-mercato/ui/primitives/avatar'\n\n<AvatarStack max={3}>\n <Avatar label=\"Wei Chen\" />\n <Avatar label=\"Laura Perez\" />\n <Avatar label=\"Omar Haddad\" />\n <Avatar label=\"Ines Kowalska\" />\n <Avatar label=\"Ravi Patel\" />\n</AvatarStack>`,\n },\n ],\n}\n\nconst kbdEntry: GalleryEntry = {\n id: 'kbd',\n title: 'Kbd',\n importPath: '@open-mercato/ui/primitives/kbd',\n variants: [\n {\n id: 'default',\n title: 'default',\n render: () => (\n <>\n <Kbd>\u2318</Kbd>\n <Kbd>Shift</Kbd>\n <Kbd>Enter</Kbd>\n </>\n ),\n code: `import { Kbd } from '@open-mercato/ui/primitives/kbd'\n\n<Kbd>\u2318</Kbd>\n<Kbd>Shift</Kbd>\n<Kbd>Enter</Kbd>`,\n },\n {\n id: 'shortcut',\n title: 'KbdShortcut',\n render: () => (\n <>\n <KbdShortcut keys={['\u2318', 'K']} />\n <KbdShortcut keys={['Ctrl', 'Shift', 'P']} />\n </>\n ),\n code: `import { KbdShortcut } from '@open-mercato/ui/primitives/kbd'\n\n<KbdShortcut keys={['\u2318', 'K']} />\n<KbdShortcut keys={['Ctrl', 'Shift', 'P']} />`,\n },\n ],\n}\n\nconst tableEntry: GalleryEntry = {\n id: 'table',\n title: 'Table',\n importPath: '@open-mercato/ui/primitives/table',\n figmaNodeId: '167144:147544',\n variants: [\n {\n id: 'default',\n title: 'default',\n render: () => (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Order</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead>Status</TableHead>\n <TableHead className=\"text-right\">Total</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>#1042</TableCell>\n <TableCell>Wei Chen</TableCell>\n <TableCell>\n <StatusBadge variant=\"success\" dot>Paid</StatusBadge>\n </TableCell>\n <TableCell className=\"text-right\">$1,250.00</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>#1041</TableCell>\n <TableCell>Laura Perez</TableCell>\n <TableCell>\n <StatusBadge variant=\"warning\" dot>Pending</StatusBadge>\n </TableCell>\n <TableCell className=\"text-right\">$310.50</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>#1040</TableCell>\n <TableCell>Omar Haddad</TableCell>\n <TableCell>\n <StatusBadge variant=\"neutral\" dot>Draft</StatusBadge>\n </TableCell>\n <TableCell className=\"text-right\">$89.00</TableCell>\n </TableRow>\n </TableBody>\n </Table>\n ),\n code: `import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell } from '@open-mercato/ui/primitives/table'\nimport { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Order</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead>Status</TableHead>\n <TableHead className=\"text-right\">Total</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>#1042</TableCell>\n <TableCell>Wei Chen</TableCell>\n <TableCell><StatusBadge variant=\"success\" dot>Paid</StatusBadge></TableCell>\n <TableCell className=\"text-right\">$1,250.00</TableCell>\n </TableRow>\n </TableBody>\n</Table>`,\n },\n {\n id: 'striped',\n title: 'striped',\n render: () => (\n <Table variant=\"striped\">\n <TableHeader>\n <TableRow>\n <TableHead>SKU</TableHead>\n <TableHead>Product</TableHead>\n <TableHead className=\"text-right\">Stock</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>AP-100</TableCell>\n <TableCell>Apex Desk Lamp</TableCell>\n <TableCell className=\"text-right\">120</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>AP-101</TableCell>\n <TableCell>Apex Monitor Stand</TableCell>\n <TableCell className=\"text-right\">64</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>AP-102</TableCell>\n <TableCell>Apex Cable Kit</TableCell>\n <TableCell className=\"text-right\">310</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>AP-103</TableCell>\n <TableCell>Apex Laptop Riser</TableCell>\n <TableCell className=\"text-right\">18</TableCell>\n </TableRow>\n </TableBody>\n </Table>\n ),\n code: `import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell } from '@open-mercato/ui/primitives/table'\n\n<Table variant=\"striped\">\n <TableHeader>\n <TableRow>\n <TableHead>SKU</TableHead>\n <TableHead>Product</TableHead>\n <TableHead className=\"text-right\">Stock</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>{/* rows */}</TableBody>\n</Table>`,\n },\n {\n id: 'with-footer',\n title: 'With footer',\n render: () => (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Line</TableHead>\n <TableHead className=\"text-right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>Subtotal</TableCell>\n <TableCell className=\"text-right\">$1,560.50</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>Shipping</TableCell>\n <TableCell className=\"text-right\">$24.00</TableCell>\n </TableRow>\n </TableBody>\n <TableFooter>\n <TableRow>\n <TableCell>Total</TableCell>\n <TableCell className=\"text-right\">$1,584.50</TableCell>\n </TableRow>\n </TableFooter>\n </Table>\n ),\n code: `import { Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell } from '@open-mercato/ui/primitives/table'\n\n<Table>\n <TableHeader>{/* header row */}</TableHeader>\n <TableBody>{/* body rows */}</TableBody>\n <TableFooter>\n <TableRow>\n <TableCell>Total</TableCell>\n <TableCell className=\"text-right\">$1,584.50</TableCell>\n </TableRow>\n </TableFooter>\n</Table>`,\n },\n ],\n}\n\nconst cardEntry: GalleryEntry = {\n id: 'card',\n title: 'Card',\n importPath: '@open-mercato/ui/primitives/card',\n variants: [\n {\n id: 'default',\n title: 'default',\n render: () => (\n <Card className=\"w-full max-w-sm\">\n <CardHeader>\n <CardTitle>Monthly revenue</CardTitle>\n <CardDescription>Net revenue across all channels.</CardDescription>\n </CardHeader>\n <CardContent>\n <p className=\"text-2xl font-semibold\">$48,210</p>\n </CardContent>\n <CardFooter>\n <p className=\"text-sm text-muted-foreground\">Updated 5 minutes ago</p>\n </CardFooter>\n </Card>\n ),\n code: `import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '@open-mercato/ui/primitives/card'\n\n<Card>\n <CardHeader>\n <CardTitle>Monthly revenue</CardTitle>\n <CardDescription>Net revenue across all channels.</CardDescription>\n </CardHeader>\n <CardContent>\n <p className=\"text-2xl font-semibold\">$48,210</p>\n </CardContent>\n <CardFooter>\n <p className=\"text-sm text-muted-foreground\">Updated 5 minutes ago</p>\n </CardFooter>\n</Card>`,\n },\n {\n id: 'with-action',\n title: 'With action slot',\n render: () => (\n <Card className=\"w-full max-w-sm\">\n <CardHeader>\n <CardTitle>Team members</CardTitle>\n <CardDescription>People with access to this workspace.</CardDescription>\n <CardAction>\n <IconButton variant=\"ghost\" aria-label=\"More\">\n <MoreHorizontal />\n </IconButton>\n </CardAction>\n </CardHeader>\n <CardContent>\n <AvatarStack max={3} size=\"sm\">\n <Avatar label=\"Wei Chen\" size=\"sm\" />\n <Avatar label=\"Laura Perez\" size=\"sm\" />\n <Avatar label=\"Omar Haddad\" size=\"sm\" />\n <Avatar label=\"Ines Kowalska\" size=\"sm\" />\n </AvatarStack>\n </CardContent>\n </Card>\n ),\n code: `import { MoreHorizontal } from 'lucide-react'\nimport { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent } from '@open-mercato/ui/primitives/card'\nimport { IconButton } from '@open-mercato/ui/primitives/icon-button'\n\n<Card>\n <CardHeader>\n <CardTitle>Team members</CardTitle>\n <CardDescription>People with access to this workspace.</CardDescription>\n <CardAction>\n <IconButton variant=\"ghost\" aria-label=\"More\"><MoreHorizontal /></IconButton>\n </CardAction>\n </CardHeader>\n <CardContent>{/* content */}</CardContent>\n</Card>`,\n },\n ],\n}\n\nconst separatorEntry: GalleryEntry = {\n id: 'separator',\n title: 'Separator',\n importPath: '@open-mercato/ui/primitives/separator',\n variants: [\n {\n id: 'default',\n title: 'default',\n render: () => (\n <div className=\"w-full max-w-sm\">\n <p className=\"text-sm\">Shipping details</p>\n <Separator className=\"my-3\" />\n <p className=\"text-sm text-muted-foreground\">Billing details</p>\n </div>\n ),\n code: `import { Separator } from '@open-mercato/ui/primitives/separator'\n\n<Separator className=\"my-3\" />`,\n },\n {\n id: 'labeled',\n title: 'Labeled',\n render: () => (\n <div className=\"w-full max-w-sm\">\n <Separator label=\"OR\" />\n </div>\n ),\n code: `import { Separator } from '@open-mercato/ui/primitives/separator'\n\n<Separator label=\"OR\" />`,\n },\n {\n id: 'section',\n title: 'Section header',\n render: () => (\n <div className=\"w-full max-w-sm\">\n <Separator section label={'Amount & account'} />\n </div>\n ),\n code: `import { Separator } from '@open-mercato/ui/primitives/separator'\n\n<Separator section label=\"Amount & account\" />`,\n },\n {\n id: 'dashed',\n title: 'Dashed',\n render: () => (\n <div className=\"w-full max-w-sm\">\n <Separator variant=\"dashed\" />\n </div>\n ),\n code: `import { Separator } from '@open-mercato/ui/primitives/separator'\n\n<Separator variant=\"dashed\" />`,\n },\n ],\n}\n\nconst scrollAreaEntry: GalleryEntry = {\n id: 'scroll-area',\n title: 'ScrollArea',\n importPath: '@open-mercato/ui/primitives/scroll-area',\n variants: [\n {\n id: 'vertical',\n title: 'Vertical',\n render: () => (\n <ScrollArea className=\"h-40 w-full max-w-xs rounded-md border\">\n <div className=\"p-3\">\n {Array.from({ length: 20 }, (_, i) => (\n <p key={i} className=\"border-b py-1.5 text-sm last:border-b-0\">\n Warehouse zone {String.fromCharCode(65 + (i % 6))}-{i + 1}\n </p>\n ))}\n </div>\n </ScrollArea>\n ),\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\n\n<ScrollArea className=\"h-40 rounded-md border\">\n <div className=\"p-3\">\n {zones.map((zone) => (\n <p key={zone.id} className=\"border-b py-1.5 text-sm last:border-b-0\">{zone.name}</p>\n ))}\n </div>\n</ScrollArea>`,\n },\n {\n id: 'horizontal',\n title: 'Horizontal',\n render: () => (\n <ScrollArea scrollbars=\"horizontal\" className=\"w-full max-w-xs rounded-md border\">\n <div className=\"flex w-max gap-2 p-3\">\n {Array.from({ length: 12 }, (_, i) => (\n <Tag key={i} variant=\"neutral\" shape=\"square\">\n Channel {i + 1}\n </Tag>\n ))}\n </div>\n </ScrollArea>\n ),\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport { Tag } from '@open-mercato/ui/primitives/tag'\n\n<ScrollArea scrollbars=\"horizontal\" className=\"max-w-xs rounded-md border\">\n <div className=\"flex w-max gap-2 p-3\">\n {channels.map((channel) => (\n <Tag key={channel.id} variant=\"neutral\" shape=\"square\">{channel.name}</Tag>\n ))}\n </div>\n</ScrollArea>`,\n },\n ],\n}\n\nconst activityFeedEntry: GalleryEntry = {\n id: 'activity-feed',\n title: 'ActivityFeed',\n importPath: '@open-mercato/ui/primitives/activity-feed',\n variants: [\n {\n id: 'basic',\n title: 'Basic entries',\n render: () => (\n <ActivityFeed className=\"w-full max-w-md\">\n <ActivityFeedItem\n avatar={<Avatar label=\"Wei Chen\" size=\"sm\" />}\n title={\n <>\n Wei Chen <span className=\"font-normal text-muted-foreground\">created</span> Order #1042\n </>\n }\n timestamp=\"4 min ago\"\n />\n <ActivityFeedItem\n avatar={<Avatar label=\"Laura Perez\" size=\"sm\" />}\n title={\n <>\n Laura Perez <span className=\"font-normal text-muted-foreground\">updated the shipping address</span>\n </>\n }\n timestamp=\"1 hour ago\"\n actions={\n <IconButton variant=\"ghost\" size=\"sm\" aria-label=\"More\">\n <MoreHorizontal />\n </IconButton>\n }\n />\n </ActivityFeed>\n ),\n code: `import { ActivityFeed, ActivityFeedItem } from '@open-mercato/ui/primitives/activity-feed'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<ActivityFeed>\n <ActivityFeedItem\n avatar={<Avatar label=\"Wei Chen\" size=\"sm\" />}\n title={<>Wei Chen <span className=\"font-normal text-muted-foreground\">created</span> Order #1042</>}\n timestamp=\"4 min ago\"\n />\n</ActivityFeed>`,\n },\n {\n id: 'with-attachment',\n title: 'File attachment',\n render: () => (\n <ActivityFeed className=\"w-full max-w-md\">\n <ActivityFeedItem\n avatar={<Avatar label=\"Omar Haddad\" size=\"sm\" />}\n title={\n <>\n Omar Haddad <span className=\"font-normal text-muted-foreground\">uploaded</span> Q2 financial report\n </>\n }\n timestamp=\"2 days ago\"\n >\n <ActivityFeedFileChip name=\"apex-report.pdf\" size=\"4mb\" onDownload={() => {}} />\n </ActivityFeedItem>\n </ActivityFeed>\n ),\n code: `import { ActivityFeed, ActivityFeedItem, ActivityFeedFileChip } from '@open-mercato/ui/primitives/activity-feed'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<ActivityFeedItem\n avatar={<Avatar label=\"Omar Haddad\" size=\"sm\" />}\n title={<>Omar Haddad <span className=\"font-normal text-muted-foreground\">uploaded</span> Q2 financial report</>}\n timestamp=\"2 days ago\"\n>\n <ActivityFeedFileChip name=\"apex-report.pdf\" size=\"4mb\" onDownload={() => download()} />\n</ActivityFeedItem>`,\n },\n {\n id: 'with-comment',\n title: 'Comment',\n render: () => (\n <ActivityFeed className=\"w-full max-w-md\">\n <ActivityFeedItem\n avatar={<Avatar label=\"Ines Kowalska\" size=\"sm\" />}\n title={\n <>\n Ines Kowalska <span className=\"font-normal text-muted-foreground\">commented</span>\n </>\n }\n timestamp=\"6 days ago\"\n >\n <ActivityFeedComment onReply={() => {}}>\n Please revise the risk metrics before Friday.\n </ActivityFeedComment>\n </ActivityFeedItem>\n </ActivityFeed>\n ),\n code: `import { ActivityFeed, ActivityFeedItem, ActivityFeedComment } from '@open-mercato/ui/primitives/activity-feed'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<ActivityFeedItem\n avatar={<Avatar label=\"Ines Kowalska\" size=\"sm\" />}\n title={<>Ines Kowalska <span className=\"font-normal text-muted-foreground\">commented</span></>}\n timestamp=\"6 days ago\"\n>\n <ActivityFeedComment onReply={() => reply()}>\n Please revise the risk metrics before Friday.\n </ActivityFeedComment>\n</ActivityFeedItem>`,\n },\n {\n id: 'status-chips',\n title: 'Status chips',\n render: () => (\n <ActivityFeed className=\"w-full max-w-md\">\n <ActivityFeedItem\n avatar={<Avatar label=\"Ravi Patel\" size=\"sm\" />}\n title={\n <>\n Ravi Patel <span className=\"font-normal text-muted-foreground\">moved 3 tasks</span>\n </>\n }\n timestamp=\"1 week ago\"\n >\n <ActivityFeedStatusChip status=\"success\">Approved</ActivityFeedStatusChip>\n <ActivityFeedStatusChip status=\"warning\">Needs review</ActivityFeedStatusChip>\n <ActivityFeedStatusChip status=\"error\">Blocked</ActivityFeedStatusChip>\n </ActivityFeedItem>\n </ActivityFeed>\n ),\n code: `import { ActivityFeed, ActivityFeedItem, ActivityFeedStatusChip } from '@open-mercato/ui/primitives/activity-feed'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<ActivityFeedItem\n avatar={<Avatar label=\"Ravi Patel\" size=\"sm\" />}\n title={<>Ravi Patel <span className=\"font-normal text-muted-foreground\">moved 3 tasks</span></>}\n timestamp=\"1 week ago\"\n>\n <ActivityFeedStatusChip status=\"success\">Approved</ActivityFeedStatusChip>\n <ActivityFeedStatusChip status=\"warning\">Needs review</ActivityFeedStatusChip>\n <ActivityFeedStatusChip status=\"error\">Blocked</ActivityFeedStatusChip>\n</ActivityFeedItem>`,\n },\n ],\n}\n\nexport const entries: GalleryEntry[] = [\n badgeEntry,\n statusBadgeEntry,\n tagEntry,\n avatarEntry,\n kbdEntry,\n tableEntry,\n cardEntry,\n separatorEntry,\n scrollAreaEntry,\n activityFeedEntry,\n]\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import {\n ContentLabelExample,\n ContentCardExample,\n KeyIconExamples,\n PaymentIconExamples,\n ChartLegendExamples,\n ChartLegendDotExamples,\n} from '../demos/key-components'\nimport { keyComponentExampleCode } from '../demos/key-components-code.generated'\nimport { TableCellExamples, TableHeaderExamples, tableCellExampleCode } from '../demos/table-cells'\nimport { tableHeaderExampleCode } from '../demos/table-cells-code.generated'\nimport { ActivityFeedExample } from '../demos/feeds'\nimport { activityFeedExampleCode } from '../demos/feeds-code.generated'\nimport * as React from 'react'\nimport { Building2, Check, ChevronLeft, ChevronRight, MoreHorizontal, Pin, Plus, Star, User, X } from 'lucide-react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport { ButtonGroup } from '@open-mercato/ui/primitives/button-group'\nimport { Badge } from '@open-mercato/ui/primitives/badge'\nimport { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\nimport { Tag } from '@open-mercato/ui/primitives/tag'\nimport { Avatar, AvatarStack } from '@open-mercato/ui/primitives/avatar'\nimport { Kbd, KbdShortcut } from '@open-mercato/ui/primitives/kbd'\nimport {\n Table,\n TableBody,\n TableCell,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n} from '@open-mercato/ui/primitives/table'\nimport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from '@open-mercato/ui/primitives/card'\nimport { Separator } from '@open-mercato/ui/primitives/separator'\nimport { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport {\n ActivityFeed,\n ActivityFeedComment,\n ActivityFeedFileChip,\n ActivityFeedItem,\n ActivityFeedStatusChip,\n} from '@open-mercato/ui/primitives/activity-feed'\nimport { IconButton } from '@open-mercato/ui/primitives/icon-button'\nimport githubLogo from '../assets/github-logo.png'\nimport avatarPhoto from '../assets/avatar-photo.png'\nimport avatarMemoji from '../assets/avatar-memoji.png'\nimport avatarIllustration from '../assets/avatar-illustration.png'\nimport type { GalleryEntry } from '../types'\nfunction BadgeEntrySemanticPreview() {\n const t = useT()\n return (\n <>\n <Badge variant=\"success\">{t('design_system.gallery.samples.content.success')}</Badge>\n <Badge variant=\"warning\">{t('design_system.gallery.samples.content.warning')}</Badge>\n <Badge variant=\"info\">{t('design_system.gallery.samples.content.info')}</Badge>\n <Badge variant=\"neutral\">{t('design_system.gallery.samples.content.neutral')}</Badge>\n <Badge variant=\"error\">{t('design_system.gallery.samples.content.error')}</Badge>\n <Badge variant=\"brand\">{t('design_system.gallery.samples.content.brand')}</Badge>\n </>\n )\n}\nfunction BadgeEntrySizesPreview() {\n const t = useT()\n return (\n <>\n <Badge variant=\"info\" size=\"lg\">\n {t('design_system.gallery.samples.content.large')}\n </Badge>\n <Badge variant=\"info\" size=\"default\">\n {t('design_system.gallery.samples.content.default')}\n </Badge>\n <Badge variant=\"info\" size=\"sm\">\n {t('design_system.gallery.samples.content.small')}\n </Badge>\n </>\n )\n}\nfunction BadgeEntryDotPreview() {\n const t = useT()\n return (\n <>\n <Badge variant=\"success\" dot>\n {t('design_system.gallery.samples.content.active')}\n </Badge>\n <Badge variant=\"neutral\" dot>\n {t('design_system.gallery.samples.content.draft')}\n </Badge>\n <Badge variant=\"brand\" dot>\n {t('design_system.gallery.samples.content.customView')}\n </Badge>\n </>\n )\n}\nfunction StatusBadgeEntryWithDotPreview() {\n const t = useT()\n return (\n <>\n <StatusBadge variant=\"success\" dot>\n {t('design_system.gallery.samples.content.active')}\n </StatusBadge>\n <StatusBadge variant=\"warning\" dot>\n {t('design_system.gallery.samples.content.pending')}\n </StatusBadge>\n <StatusBadge variant=\"error\" dot>\n {t('design_system.gallery.samples.content.failed')}\n </StatusBadge>\n <StatusBadge variant=\"info\" dot>\n {t('design_system.gallery.samples.content.syncing')}\n </StatusBadge>\n <StatusBadge variant=\"neutral\" dot>\n {t('design_system.gallery.samples.content.archived')}\n </StatusBadge>\n </>\n )\n}\nfunction StatusBadgeEntryWithoutDotPreview() {\n const t = useT()\n return (\n <>\n <StatusBadge variant=\"success\">{t('design_system.gallery.samples.content.paid')}</StatusBadge>\n <StatusBadge variant=\"neutral\">{t('design_system.gallery.samples.content.draft')}</StatusBadge>\n </>\n )\n}\nfunction TagEntryDotPreview() {\n const t = useT()\n return (\n <>\n <Tag variant=\"success\" dot>\n {t('design_system.gallery.samples.content.customer')}\n </Tag>\n <Tag variant=\"brand\" dot>\n {t('design_system.gallery.samples.content.renewal')}\n </Tag>\n <Tag variant=\"pink\" dot>\n {t('design_system.gallery.samples.content.campaign')}\n </Tag>\n </>\n )\n}\nfunction TableEntryDefaultPreview() {\n const t = useT()\n return (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>{t('design_system.gallery.samples.content.order')}</TableHead>\n <TableHead>{t('design_system.gallery.samples.content.customer')}</TableHead>\n <TableHead>{t('design_system.gallery.samples.content.status')}</TableHead>\n <TableHead className=\"text-right\">{t('design_system.gallery.samples.content.total')}</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>#1042</TableCell>\n <TableCell>Wei Chen</TableCell>\n <TableCell>\n <StatusBadge variant=\"success\" dot>\n {t('design_system.gallery.samples.content.paid')}\n </StatusBadge>\n </TableCell>\n <TableCell className=\"text-right\">$1,250.00</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>#1041</TableCell>\n <TableCell>Laura Perez</TableCell>\n <TableCell>\n <StatusBadge variant=\"warning\" dot>\n {t('design_system.gallery.samples.content.pending')}\n </StatusBadge>\n </TableCell>\n <TableCell className=\"text-right\">$310.50</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>#1040</TableCell>\n <TableCell>Omar Haddad</TableCell>\n <TableCell>\n <StatusBadge variant=\"neutral\" dot>\n {t('design_system.gallery.samples.content.draft')}\n </StatusBadge>\n </TableCell>\n <TableCell className=\"text-right\">$89.00</TableCell>\n </TableRow>\n </TableBody>\n </Table>\n )\n}\nfunction TableEntryStripedPreview() {\n const t = useT()\n return (\n <Table variant=\"striped\">\n <TableHeader>\n <TableRow>\n <TableHead>SKU</TableHead>\n <TableHead>{t('design_system.gallery.samples.content.product')}</TableHead>\n <TableHead className=\"text-right\">{t('design_system.gallery.samples.content.stock')}</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>AP-100</TableCell>\n <TableCell>{t('design_system.gallery.samples.content.apexDeskLamp')}</TableCell>\n <TableCell className=\"text-right\">120</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>AP-101</TableCell>\n <TableCell>{t('design_system.gallery.samples.content.apexMonitorStand')}</TableCell>\n <TableCell className=\"text-right\">64</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>AP-102</TableCell>\n <TableCell>{t('design_system.gallery.samples.content.apexCableKit')}</TableCell>\n <TableCell className=\"text-right\">310</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>AP-103</TableCell>\n <TableCell>{t('design_system.gallery.samples.content.apexLaptopRiser')}</TableCell>\n <TableCell className=\"text-right\">18</TableCell>\n </TableRow>\n </TableBody>\n </Table>\n )\n}\nfunction TableEntryWithFooterPreview() {\n const t = useT()\n return (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>{t('design_system.gallery.samples.content.line')}</TableHead>\n <TableHead className=\"text-right\">{t('design_system.gallery.samples.content.amount')}</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>{t('design_system.gallery.samples.content.subtotal')}</TableCell>\n <TableCell className=\"text-right\">$1,560.50</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>{t('design_system.gallery.samples.content.shipping')}</TableCell>\n <TableCell className=\"text-right\">$24.00</TableCell>\n </TableRow>\n </TableBody>\n <TableFooter>\n <TableRow>\n <TableCell>{t('design_system.gallery.samples.content.total')}</TableCell>\n <TableCell className=\"text-right\">$1,584.50</TableCell>\n </TableRow>\n </TableFooter>\n </Table>\n )\n}\nfunction CardEntryDefaultPreview() {\n const t = useT()\n return (\n <Card className=\"w-full max-w-sm\">\n <CardHeader>\n <CardTitle>{t('design_system.gallery.samples.content.monthlyRevenue')}</CardTitle>\n <CardDescription>{t('design_system.gallery.samples.content.netRevenueAcrossAllChannels')}</CardDescription>\n </CardHeader>\n <CardContent>\n <p className=\"text-2xl font-semibold\">$48,210</p>\n </CardContent>\n <CardFooter>\n <p className=\"text-sm text-muted-foreground\">{t('design_system.gallery.samples.content.updated5MinutesAgo')}</p>\n </CardFooter>\n </Card>\n )\n}\nfunction CardEntryWithActionPreview() {\n const t = useT()\n return (\n <Card className=\"w-full max-w-sm\">\n <CardHeader>\n <CardTitle>{t('design_system.gallery.samples.content.teamMembers')}</CardTitle>\n <CardDescription>{t('design_system.gallery.samples.content.peopleWithAccessToThisWorkspace')}</CardDescription>\n <CardAction>\n <IconButton type=\"button\" variant=\"ghost\" aria-label={t('design_system.gallery.samples.content.more')}>\n <MoreHorizontal />\n </IconButton>\n </CardAction>\n </CardHeader>\n <CardContent>\n <AvatarStack max={3} size=\"sm\">\n <Avatar label=\"Wei Chen\" size=\"sm\" />\n <Avatar label=\"Laura Perez\" size=\"sm\" />\n <Avatar label=\"Omar Haddad\" size=\"sm\" />\n <Avatar label=\"Ines Kowalska\" size=\"sm\" />\n </AvatarStack>\n </CardContent>\n </Card>\n )\n}\nfunction SeparatorEntryDefaultPreview() {\n const t = useT()\n return (\n <div className=\"w-full max-w-sm\">\n <p className=\"text-sm\">{t('design_system.gallery.samples.content.shippingDetails')}</p>\n <Separator className=\"my-3\" />\n <p className=\"text-sm text-muted-foreground\">{t('design_system.gallery.samples.content.billingDetails')}</p>\n </div>\n )\n}\nfunction SeparatorEntryLabeledPreview() {\n const t = useT()\n return (\n <div className=\"w-full max-w-sm\">\n <Separator label={t('design_system.gallery.samples.content.or')} />\n </div>\n )\n}\nfunction ScrollAreaEntryVerticalPreview() {\n const t = useT()\n return (\n <ScrollArea className=\"h-40 w-full max-w-xs rounded-md border\">\n <div className=\"p-3\">\n {Array.from(\n {\n length: 20,\n },\n (_, i) => (\n <p key={i} className=\"border-b py-1.5 text-sm last:border-b-0\">\n {t('design_system.gallery.samples.content.warehouseZone')}\n {String.fromCharCode(65 + (i % 6))}-{i + 1}\n </p>\n ),\n )}\n </div>\n </ScrollArea>\n )\n}\nfunction ScrollAreaEntryHorizontalPreview() {\n const t = useT()\n return (\n <ScrollArea scrollbars=\"horizontal\" className=\"w-full max-w-xs rounded-md border\">\n <div className=\"flex w-max gap-2 p-3\">\n {Array.from(\n {\n length: 12,\n },\n (_, i) => (\n <Tag key={i} variant=\"neutral\" shape=\"square\">\n {t('design_system.gallery.samples.content.channel')}\n {i + 1}\n </Tag>\n ),\n )}\n </div>\n </ScrollArea>\n )\n}\nfunction ActivityFeedEntryBasicPreview() {\n const t = useT()\n return (\n <ActivityFeed className=\"w-full max-w-md\">\n <ActivityFeedItem\n avatar={<Avatar label=\"Wei Chen\" size=\"sm\" />}\n title={\n <>\n Wei Chen{' '}\n <span className=\"font-normal text-muted-foreground\">\n {t('design_system.gallery.samples.content.created')}\n </span>\n {t('design_system.gallery.samples.content.order1042')}\n </>\n }\n timestamp={t('design_system.gallery.samples.content.4MinAgo')}\n />\n <ActivityFeedItem\n avatar={<Avatar label=\"Laura Perez\" size=\"sm\" />}\n title={\n <>\n Laura Perez{' '}\n <span className=\"font-normal text-muted-foreground\">\n {t('design_system.gallery.samples.content.updatedTheShippingAddress')}\n </span>\n </>\n }\n timestamp={t('design_system.gallery.samples.content.1HourAgo')}\n actions={\n <IconButton variant=\"ghost\" size=\"sm\" aria-label={t('design_system.gallery.samples.content.more')}>\n <MoreHorizontal />\n </IconButton>\n }\n />\n </ActivityFeed>\n )\n}\nfunction ActivityFeedEntryWithAttachmentPreview() {\n const t = useT()\n return (\n <ActivityFeed className=\"w-full max-w-md\">\n <ActivityFeedItem\n avatar={<Avatar label=\"Omar Haddad\" size=\"sm\" />}\n title={\n <>\n Omar Haddad{' '}\n <span className=\"font-normal text-muted-foreground\">\n {t('design_system.gallery.samples.content.uploaded')}\n </span>\n {t('design_system.gallery.samples.content.q2FinancialReport')}\n </>\n }\n timestamp={t('design_system.gallery.samples.content.2DaysAgo')}\n >\n <ActivityFeedFileChip name=\"apex-report.pdf\" size=\"4mb\" onDownload={() => {}} />\n </ActivityFeedItem>\n </ActivityFeed>\n )\n}\nfunction ActivityFeedEntryWithCommentPreview() {\n const t = useT()\n return (\n <ActivityFeed className=\"w-full max-w-md\">\n <ActivityFeedItem\n avatar={<Avatar label=\"Ines Kowalska\" size=\"sm\" />}\n title={\n <>\n Ines Kowalska{' '}\n <span className=\"font-normal text-muted-foreground\">\n {t('design_system.gallery.samples.content.commented')}\n </span>\n </>\n }\n timestamp={t('design_system.gallery.samples.content.6DaysAgo')}\n >\n <ActivityFeedComment onReply={() => {}}>\n {t('design_system.gallery.samples.content.pleaseReviseTheRiskMetricsBeforeFriday')}\n </ActivityFeedComment>\n </ActivityFeedItem>\n </ActivityFeed>\n )\n}\nfunction ActivityFeedEntryStatusChipsPreview() {\n const t = useT()\n return (\n <ActivityFeed className=\"w-full max-w-md\">\n <ActivityFeedItem\n avatar={<Avatar label=\"Ravi Patel\" size=\"sm\" />}\n title={\n <>\n Ravi Patel{' '}\n <span className=\"font-normal text-muted-foreground\">\n {t('design_system.gallery.samples.content.moved3Tasks')}\n </span>\n </>\n }\n timestamp={t('design_system.gallery.samples.content.1WeekAgo')}\n >\n <ActivityFeedStatusChip status=\"success\">\n {t('design_system.gallery.samples.content.approved')}\n </ActivityFeedStatusChip>\n <ActivityFeedStatusChip status=\"warning\">\n {t('design_system.gallery.samples.content.needsReview')}\n </ActivityFeedStatusChip>\n <ActivityFeedStatusChip status=\"error\">\n {t('design_system.gallery.samples.content.blocked')}\n </ActivityFeedStatusChip>\n </ActivityFeedItem>\n </ActivityFeed>\n )\n}\nconst githubLogoSrc = typeof githubLogo === 'string' ? githubLogo : githubLogo.src\nconst avatarPhotoSrc = typeof avatarPhoto === 'string' ? avatarPhoto : avatarPhoto.src\nconst avatarMemojiSrc = typeof avatarMemoji === 'string' ? avatarMemoji : avatarMemoji.src\nconst avatarIllustrationSrc = typeof avatarIllustration === 'string' ? avatarIllustration : avatarIllustration.src\nfunction AvatarBadgesDemo() {\n const t = useT()\n return (\n <div className=\"flex flex-wrap items-center gap-6 p-2\">\n <Avatar\n label=\"Wei Chen\"\n ariaLabel={t('design_system.gallery.examples.avatar.verified')}\n badge={<Check className=\"size-3\" />}\n badgeClassName=\"bg-status-info-icon text-white\"\n />\n <Avatar\n label=\"Laura Perez\"\n ariaLabel={t('design_system.gallery.examples.avatar.pinned')}\n badge={<Pin className=\"size-3\" />}\n badgeClassName=\"bg-accent-indigo text-white\"\n />\n <Avatar\n label=\"Omar Haddad\"\n ariaLabel={t('design_system.gallery.examples.avatar.favorite')}\n badge={<Star className=\"size-3\" />}\n badgeClassName=\"bg-status-success-icon text-white\"\n />\n <Avatar\n label=\"Ines Kowalska\"\n ariaLabel={t('design_system.gallery.examples.avatar.add')}\n badge={<Plus className=\"size-3\" />}\n />\n <Avatar\n label=\"Ravi Patel\"\n ariaLabel={t('design_system.gallery.examples.avatar.remove')}\n badge={<X className=\"size-3\" />}\n badgeClassName=\"bg-status-error-icon text-white\"\n />\n <Avatar\n label=\"James Brown\"\n ariaLabel={t('design_system.gallery.examples.avatar.notification')}\n status=\"error\"\n statusPosition=\"top-right\"\n />\n </div>\n )\n}\nfunction SeparatorActionDemo({ kind }: { kind: 'icon' | 'icon-group' | 'text' | 'text-group' }) {\n const t = useT()\n return (\n <div className=\"flex w-full items-center gap-2.5\">\n <Separator className=\"min-w-0 flex-1\" />\n {kind === 'icon' ? (\n <IconButton size=\"default\" aria-label={t('design_system.gallery.examples.separator.add')}>\n <Plus className=\"size-5\" />\n </IconButton>\n ) : kind === 'icon-group' ? (\n <ButtonGroup aria-label={t('design_system.gallery.examples.separator.actions')}>\n <IconButton size=\"default\" aria-label={t('design_system.gallery.examples.separator.previous')}>\n <ChevronLeft className=\"size-5\" />\n </IconButton>\n <IconButton size=\"default\" aria-label={t('design_system.gallery.examples.separator.add')}>\n <Plus className=\"size-5\" />\n </IconButton>\n <IconButton size=\"default\" aria-label={t('design_system.gallery.examples.separator.next')}>\n <ChevronRight className=\"size-5\" />\n </IconButton>\n </ButtonGroup>\n ) : kind === 'text' ? (\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"px-2.5\">\n {t('design_system.gallery.examples.separator.add')}\n </Button>\n ) : (\n <ButtonGroup size=\"sm\" aria-label={t('design_system.gallery.examples.separator.actions')}>\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"px-3.5\">\n {t('design_system.gallery.examples.separator.previous')}\n </Button>\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"px-3.5\">\n {t('design_system.gallery.examples.separator.add')}\n </Button>\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"px-3.5\">\n {t('design_system.gallery.examples.separator.next')}\n </Button>\n </ButtonGroup>\n )}\n <Separator className=\"min-w-0 flex-1\" />\n </div>\n )\n}\nfunction SeparatorTextDemo({ kind }: { kind: 'label-alignments' | 'text' }) {\n const t = useT()\n return kind === 'text' ? (\n <Separator section label={t('design_system.gallery.examples.separator.or')} className=\"bg-transparent px-2 py-1\" />\n ) : (\n <div className=\"grid w-full gap-6\">\n <Separator label={t('design_system.gallery.examples.separator.or')} labelAlign=\"start\" />\n <Separator label={t('design_system.gallery.examples.separator.or')} labelAlign=\"center\" />\n <Separator label={t('design_system.gallery.examples.separator.or')} labelAlign=\"end\" />\n </div>\n )\n}\n\n// Component titles and variant names are proper nouns from the codebase and\n// are deliberately not translated. `code` MUST contain the entry's importPath\n// (enforced by the registry-integrity test) and is always reviewed alongside\n// its sibling `render`.\n\nfunction BadgeAppearanceDemo({ appearance }: { appearance: 'filled' | 'light' | 'lighter' | 'stroke' }) {\n const t = useT()\n return (\n <div className=\"space-y-4\">\n <div className=\"flex flex-wrap gap-3\">\n {(['neutral', 'info', 'warning', 'error', 'success', 'pink', 'yellow', 'purple', 'sky', 'teal'] as const).map(\n (tone) => (\n <Badge key={tone} appearance={appearance} tone={tone} dot>\n {tone}\n </Badge>\n ),\n )}\n </div>\n <p className=\"max-w-2xl text-xs leading-5 text-muted-foreground\">\n {t('design_system.gallery.examples.badgeTag.paletteHint')}\n </p>\n </div>\n )\n}\nfunction BadgeSourceSizeDemo() {\n const t = useT()\n const label = t('design_system.gallery.examples.badgeTag.label')\n return (\n <div className=\"flex flex-col gap-6\">\n {([16, 20] as const).map((size) => (\n <div key={size} className=\"flex flex-wrap items-center gap-3\">\n <span className=\"w-12 text-xs text-muted-foreground\">{size}px</span>\n <Badge size={size} appearance=\"filled\" tone=\"purple\">\n {label}\n </Badge>\n <Badge size={size} appearance=\"light\" tone=\"yellow\" dot>\n {label}\n </Badge>\n <Badge size={size} appearance=\"lighter\" tone=\"sky\" leadingIcon={<User />}>\n {label}\n </Badge>\n <Badge size={size} appearance=\"stroke\" tone=\"teal\" trailingIcon={<ChevronRight />}>\n {label}\n </Badge>\n <Badge size={size} appearance=\"filled\" tone=\"info\" numeric>\n {2}\n </Badge>\n <Badge size={size} appearance=\"filled\" tone=\"info\" numeric>\n {125}\n </Badge>\n <Badge size={size} appearance=\"stroke\" tone=\"purple\" disabled>\n {label}\n </Badge>\n </div>\n ))}\n </div>\n )\n}\nfunction BadgeContentDemo() {\n const t = useT()\n const label = t('design_system.gallery.examples.badgeTag.label')\n return (\n <div className=\"flex flex-wrap items-center gap-3\">\n <Badge appearance=\"lighter\" tone=\"info\">\n {label}\n </Badge>\n <Badge appearance=\"lighter\" tone=\"info\" dot>\n {label}\n </Badge>\n <Badge appearance=\"lighter\" tone=\"info\" leadingIcon={<User />}>\n {label}\n </Badge>\n <Badge appearance=\"lighter\" tone=\"info\" trailingIcon={<ChevronRight />}>\n {label}\n </Badge>\n <Badge appearance=\"filled\" tone=\"info\">\n {4}\n </Badge>\n <Badge appearance=\"stroke\" tone=\"info\">\n {24}\n </Badge>\n </div>\n )\n}\nfunction BadgeDisabledDemo() {\n const t = useT()\n return (\n <div className=\"flex flex-wrap gap-3\">\n {(['filled', 'light', 'lighter', 'stroke'] as const).map((appearance) => (\n <Badge key={appearance} appearance={appearance} tone=\"info\" disabled leadingIcon={<User />}>\n {t('design_system.gallery.examples.badgeTag.locked')}\n </Badge>\n ))}\n </div>\n )\n}\nfunction RemovableBadgeDemo() {\n const t = useT()\n const [visible, setVisible] = React.useState(true)\n const region = t('design_system.gallery.examples.badgeTag.region')\n const locked = t('design_system.gallery.examples.badgeTag.locked')\n return (\n <div className=\"flex flex-wrap items-center gap-3\">\n {visible && (\n <Badge\n appearance=\"lighter\"\n tone=\"neutral\"\n removable\n onRemove={() => setVisible(false)}\n removeAriaLabel={t('design_system.gallery.examples.badgeTag.remove', {\n label: region,\n })}\n >\n {region}\n </Badge>\n )}\n <Badge\n appearance=\"lighter\"\n tone=\"neutral\"\n disabled\n removable\n onRemove={() => setVisible(false)}\n removeAriaLabel={t('design_system.gallery.examples.badgeTag.remove', {\n label: locked,\n })}\n >\n {locked}\n </Badge>\n <Button type=\"button\" variant=\"outline\" size=\"sm\" disabled={visible} onClick={() => setVisible(true)}>\n {t('design_system.gallery.examples.badgeTag.restore')}\n </Button>\n </div>\n )\n}\nfunction StatusAppearanceDemo({ appearance }: { appearance: 'light' | 'stroke' }) {\n return (\n <div className=\"grid gap-4\">\n {[true, false].map((dot) => (\n <div key={String(dot)} className=\"flex flex-wrap gap-3\">\n {(['success', 'warning', 'error', 'info', 'neutral'] as const).map((variant) => (\n <StatusBadge key={variant} variant={variant} appearance={appearance} dot={dot}>\n {variant}\n </StatusBadge>\n ))}\n </div>\n ))}\n </div>\n )\n}\nfunction TagAppearanceDemo({ appearance }: { appearance: 'stroke' | 'gray' }) {\n const t = useT()\n return (\n <div className=\"space-y-4\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <Tag appearance={appearance}>{t('design_system.gallery.examples.badgeTag.label')}</Tag>\n <Tag appearance={appearance} leading={<User />}>\n {t('design_system.gallery.examples.badgeTag.customer')}\n </Tag>\n <Tag\n appearance={appearance}\n leading={<img src={avatarPhotoSrc} alt=\"\" className=\"size-4 rounded-full object-cover\" />}\n >\n James Brown\n </Tag>\n <Tag appearance={appearance} leading={<span>\uD83C\uDDF5\uD83C\uDDF1</span>}>\n {t('design_system.gallery.examples.badgeTag.country')}\n </Tag>\n <Tag\n appearance={appearance}\n leading={<img src={githubLogoSrc} alt=\"\" className=\"size-4 rounded-sm bg-white\" />}\n >\n GitHub\n </Tag>\n <Tag appearance={appearance} leading={<Building2 />} sublabel=\"(4)\">\n Open Mercato\n </Tag>\n </div>\n <p className=\"max-w-2xl text-xs leading-5 text-muted-foreground\">\n {t('design_system.gallery.examples.badgeTag.tagHint')}\n </p>\n </div>\n )\n}\nfunction RemovableTagDemo() {\n const t = useT()\n const [removed, setRemoved] = React.useState<string[]>([])\n const region = t('design_system.gallery.examples.badgeTag.region')\n const locked = t('design_system.gallery.examples.badgeTag.locked')\n return (\n <div className=\"space-y-4\">\n <p className=\"max-w-2xl text-xs leading-5 text-muted-foreground\">\n {t('design_system.gallery.examples.badgeTag.statesHint')}\n </p>\n <div className=\"flex flex-wrap items-center gap-3\">\n {(['stroke', 'gray'] as const).map((appearance) => (\n <React.Fragment key={appearance}>\n {!removed.includes(appearance) && (\n <Tag\n appearance={appearance}\n leading={<User />}\n sublabel=\"(4)\"\n onRemove={() => setRemoved((current) => [...current, appearance])}\n removeAriaLabel={t('design_system.gallery.examples.badgeTag.remove', {\n label: region,\n })}\n >\n {region}\n </Tag>\n )}\n <Tag\n appearance={appearance}\n disabled\n leading={<User />}\n sublabel=\"(4)\"\n onRemove={() => setRemoved((current) => [...current, appearance])}\n removeAriaLabel={t('design_system.gallery.examples.badgeTag.remove', {\n label: locked,\n })}\n >\n {locked}\n </Tag>\n </React.Fragment>\n ))}\n <Button type=\"button\" variant=\"outline\" size=\"sm\" disabled={!removed.length} onClick={() => setRemoved([])}>\n {t('design_system.gallery.examples.badgeTag.restore')}\n </Button>\n </div>\n </div>\n )\n}\nconst badgeEntry: GalleryEntry = {\n id: 'badge',\n title: 'Badge',\n importPath: '@open-mercato/ui/primitives/badge',\n figmaNodeId: '118:2324',\n usage: {\n do: [\n 'Counts and short semantic labels; the brand variant for custom-view and renewal pills.',\n 'Semantic variants (success/warning/info/neutral/error) come from status tokens \u2014 no custom colors.',\n 'Four appearances and ten color families; numeric sizes16/20 follow measured source dimensions. Named sizes and semantic status palettes retain application defaults; new category fills use measured Figma colors with accessible text.',\n ],\n dont: ['Not for system statuses (use StatusBadge) or user-applied labels (use Tag).'],\n },\n variants: [\n {\n id: 'semantic',\n title: 'Semantic variants',\n render: () => <BadgeEntrySemanticPreview />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n<Badge variant=\"success\">Success</Badge>\n<Badge variant=\"warning\">Warning</Badge>\n<Badge variant=\"info\">Info</Badge>\n<Badge variant=\"neutral\">Neutral</Badge>\n<Badge variant=\"error\">Error</Badge>\n<Badge variant=\"brand\">Brand</Badge>`,\n },\n {\n id: 'sizes',\n title: 'Sizes',\n render: () => <BadgeEntrySizesPreview />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n<Badge variant=\"info\" size=\"lg\">Large</Badge>\n<Badge variant=\"info\" size=\"default\">Default</Badge>\n<Badge variant=\"info\" size=\"sm\">Small</Badge>`,\n },\n {\n id: 'dot',\n title: 'With dot',\n render: () => <BadgeEntryDotPreview />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n<Badge variant=\"success\" dot>Active</Badge>\n<Badge variant=\"neutral\" dot>Draft</Badge>\n<Badge variant=\"brand\" dot>Custom view</Badge>`,\n },\n {\n id: 'removable',\n title: 'Removable',\n render: () => <RemovableBadgeDemo />,\n code: `import * as React from 'react'\nimport { Badge } from '@open-mercato/ui/primitives/badge'\nimport { Button } from '@open-mercato/ui/primitives/button'\n\nconst [visible, setVisible] = React.useState(true)\n{visible && <Badge appearance=\"lighter\" tone=\"neutral\" removable onRemove={() => setVisible(false)} removeAriaLabel={removeLabel}>{label}</Badge>}\n<Badge appearance=\"lighter\" tone=\"neutral\" disabled removable onRemove={() => setVisible(false)} removeAriaLabel={removeLockedLabel}>{lockedLabel}</Badge>\n<Button type=\"button\" variant=\"outline\" size=\"sm\" disabled={visible} onClick={() => setVisible(true)}>{restoreLabel}</Button>`,\n },\n {\n id: 'appearance-filled',\n title: 'Filled appearance',\n render: () => <BadgeAppearanceDemo appearance=\"filled\" />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n{(['neutral', 'info', 'warning', 'error', 'success', 'pink', 'yellow', 'purple', 'sky', 'teal'] as const).map(tone => (\n <Badge key={tone} appearance=\"filled\" tone={tone} dot>{tone}</Badge>\n))}`,\n },\n {\n id: 'appearance-light',\n title: 'Light appearance',\n render: () => <BadgeAppearanceDemo appearance=\"light\" />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n{(['neutral', 'info', 'warning', 'error', 'success', 'pink', 'yellow', 'purple', 'sky', 'teal'] as const).map(tone => (\n <Badge key={tone} appearance=\"light\" tone={tone} dot>{tone}</Badge>\n))}`,\n },\n {\n id: 'appearance-lighter',\n title: 'Lighter appearance',\n render: () => <BadgeAppearanceDemo appearance=\"lighter\" />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n{(['neutral', 'info', 'warning', 'error', 'success', 'pink', 'yellow', 'purple', 'sky', 'teal'] as const).map(tone => (\n <Badge key={tone} appearance=\"lighter\" tone={tone} dot>{tone}</Badge>\n))}`,\n },\n {\n id: 'appearance-stroke',\n title: 'Stroke appearance',\n render: () => <BadgeAppearanceDemo appearance=\"stroke\" />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\n\n{(['neutral', 'info', 'warning', 'error', 'success', 'pink', 'yellow', 'purple', 'sky', 'teal'] as const).map(tone => (\n <Badge key={tone} appearance=\"stroke\" tone={tone} dot>{tone}</Badge>\n))}`,\n },\n {\n id: 'content',\n title: 'Basic, dot, icons and numeric content',\n render: () => <BadgeContentDemo />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\nimport { User, ChevronRight } from 'lucide-react'\n\n<Badge appearance=\"lighter\" tone=\"info\">{label}</Badge>\n<Badge appearance=\"lighter\" tone=\"info\" dot>{label}</Badge>\n<Badge appearance=\"lighter\" tone=\"info\" leadingIcon={<User />}>{label}</Badge>\n<Badge appearance=\"lighter\" tone=\"info\" trailingIcon={<ChevronRight />}>{label}</Badge>\n<Badge appearance=\"filled\" tone=\"info\">{4}</Badge>\n<Badge appearance=\"stroke\" tone=\"info\">{24}</Badge>`,\n },\n {\n id: 'disabled',\n title: 'Disabled appearances',\n render: () => <BadgeDisabledDemo />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\nimport { User } from 'lucide-react'\n\n{(['filled', 'light', 'lighter', 'stroke'] as const).map(appearance => (\n <Badge key={appearance} appearance={appearance} tone=\"info\" disabled leadingIcon={<User />}>{label}</Badge>\n))}`,\n },\n {\n id: 'source-sizes',\n title: 'Source16px /20px and numeric content',\n render: () => <BadgeSourceSizeDemo />,\n code: `import { Badge } from '@open-mercato/ui/primitives/badge'\nimport { User, ChevronRight } from 'lucide-react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\n\nfunction BadgeSourceSizeDemo() {\n const t = useT()\n const label = t('design_system.gallery.examples.badgeTag.label')\n return <div className=\"flex flex-col gap-6\">\n {([16, 20] as const).map(size => <div key={size} className=\"flex flex-wrap items-center gap-3\">\n <span className=\"w-12 text-xs text-muted-foreground\">{size}px</span>\n <Badge size={size} appearance=\"filled\" tone=\"purple\">{label}</Badge>\n <Badge size={size} appearance=\"light\" tone=\"yellow\" dot>{label}</Badge>\n <Badge size={size} appearance=\"lighter\" tone=\"sky\" leadingIcon={<User />}>{label}</Badge>\n <Badge size={size} appearance=\"stroke\" tone=\"teal\" trailingIcon={<ChevronRight />}>{label}</Badge>\n <Badge size={size} appearance=\"filled\" tone=\"info\" numeric>{2}</Badge>\n <Badge size={size} appearance=\"filled\" tone=\"info\" numeric>{125}</Badge>\n <Badge size={size} appearance=\"stroke\" tone=\"purple\" disabled>{label}</Badge>\n </div>)}\n </div>\n}\n\n<BadgeSourceSizeDemo />`,\n },\n ],\n}\nconst statusBadgeEntry: GalleryEntry = {\n id: 'status-badge',\n title: 'StatusBadge',\n importPath: '@open-mercato/ui/primitives/status-badge',\n figmaNodeId: '171:5100',\n usage: {\n do: [\n 'System-computed statuses (active, pending, failed) \u2014 drive variants through a shared StatusMap.',\n 'The dot makes state scannable in dense tables.',\n ],\n dont: ['Not for user-applied labels or categories \u2014 that is Tag.'],\n },\n variants: [\n {\n id: 'with-dot',\n title: 'Variants with dot',\n render: () => <StatusBadgeEntryWithDotPreview />,\n code: `import { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\n\n<StatusBadge variant=\"success\" dot>Active</StatusBadge>\n<StatusBadge variant=\"warning\" dot>Pending</StatusBadge>\n<StatusBadge variant=\"error\" dot>Failed</StatusBadge>\n<StatusBadge variant=\"info\" dot>Syncing</StatusBadge>\n<StatusBadge variant=\"neutral\" dot>Archived</StatusBadge>`,\n },\n {\n id: 'without-dot',\n title: 'Without dot',\n render: () => <StatusBadgeEntryWithoutDotPreview />,\n code: `import { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\n\n<StatusBadge variant=\"success\">Paid</StatusBadge>\n<StatusBadge variant=\"neutral\">Draft</StatusBadge>`,\n },\n {\n id: 'appearance-light',\n title: 'Light appearance, with and without dot',\n render: () => <StatusAppearanceDemo appearance=\"light\" />,\n code: `import { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\n\n{[true, false].map(dot => (['success', 'warning', 'error', 'info', 'neutral'] as const).map(variant => (\n <StatusBadge key={variant + String(dot)} variant={variant} appearance=\"light\" dot={dot}>{variant}</StatusBadge>\n)))}`,\n },\n {\n id: 'appearance-stroke',\n title: 'Stroke appearance, with and without dot',\n render: () => <StatusAppearanceDemo appearance=\"stroke\" />,\n code: `import { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\n\n{[true, false].map(dot => (['success', 'warning', 'error', 'info', 'neutral'] as const).map(variant => (\n <StatusBadge key={variant + String(dot)} variant={variant} appearance=\"stroke\" dot={dot}>{variant}</StatusBadge>\n)))}`,\n },\n ],\n}\nconst tagEntry: GalleryEntry = {\n id: 'tag',\n title: 'Tag',\n importPath: '@open-mercato/ui/primitives/tag',\n figmaNodeId: '431:16147',\n usage: {\n do: ['User-applied labels and categories; map domain types via TagMap for consistency.'],\n dont: ['Not for system status \u2014 that is StatusBadge.'],\n },\n variants: [\n {\n id: 'variants',\n title: 'Variants',\n render: () => (\n <>\n <Tag>default</Tag>\n <Tag variant=\"success\">success</Tag>\n <Tag variant=\"warning\">warning</Tag>\n <Tag variant=\"error\">error</Tag>\n <Tag variant=\"info\">info</Tag>\n <Tag variant=\"neutral\">neutral</Tag>\n <Tag variant=\"brand\">brand</Tag>\n <Tag variant=\"pink\">pink</Tag>\n </>\n ),\n code: `import { Tag } from '@open-mercato/ui/primitives/tag'\n\n<Tag>default</Tag>\n<Tag variant=\"success\">success</Tag>\n<Tag variant=\"warning\">warning</Tag>\n<Tag variant=\"error\">error</Tag>\n<Tag variant=\"info\">info</Tag>\n<Tag variant=\"neutral\">neutral</Tag>\n<Tag variant=\"brand\">brand</Tag>\n<Tag variant=\"pink\">pink</Tag>`,\n },\n {\n id: 'dot',\n title: 'With dot',\n render: () => <TagEntryDotPreview />,\n code: `import { Tag } from '@open-mercato/ui/primitives/tag'\n\n<Tag variant=\"success\" dot>Customer</Tag>\n<Tag variant=\"brand\" dot>Renewal</Tag>\n<Tag variant=\"pink\" dot>Campaign</Tag>`,\n },\n {\n id: 'square',\n title: 'Square shape',\n render: () => (\n <>\n <Tag shape=\"square\">default</Tag>\n <Tag variant=\"info\" shape=\"square\" dot>\n info\n </Tag>\n </>\n ),\n code: `import { Tag } from '@open-mercato/ui/primitives/tag'\n\n<Tag shape=\"square\">default</Tag>\n<Tag variant=\"info\" shape=\"square\" dot>info</Tag>`,\n },\n {\n id: 'removable',\n title: 'Removable',\n render: () => <RemovableTagDemo />,\n code: `import * as React from 'react'\nimport { Tag } from '@open-mercato/ui/primitives/tag'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport { User } from 'lucide-react'\n\nconst [removed, setRemoved] = React.useState<string[]>([])\n{(['stroke', 'gray'] as const).map(appearance => <React.Fragment key={appearance}>\n {!removed.includes(appearance) && <Tag appearance={appearance} leading={<User />} sublabel=\"(4)\" onRemove={() => setRemoved(current => [...current, appearance])} removeAriaLabel={removeLabel}>{label}</Tag>}\n <Tag appearance={appearance} disabled leading={<User />} sublabel=\"(4)\" onRemove={() => setRemoved(current => [...current, appearance])} removeAriaLabel={removeLockedLabel}>{lockedLabel}</Tag>\n</React.Fragment>)}\n<Button type=\"button\" variant=\"outline\" size=\"sm\" disabled={!removed.length} onClick={() => setRemoved([])}>{restoreLabel}</Button>`,\n },\n {\n id: 'appearance-stroke',\n title: 'Stroke appearance and leading content',\n render: () => <TagAppearanceDemo appearance=\"stroke\" />,\n code: `import { Tag } from '@open-mercato/ui/primitives/tag'\nimport { User, Building2 } from 'lucide-react'\n\n<Tag appearance=\"stroke\">{label}</Tag>\n<Tag appearance=\"stroke\" leading={<User />}>{customerLabel}</Tag>\n<Tag appearance=\"stroke\" leading={<img src={avatarPhotoSrc} alt=\"\" className=\"size-4 rounded-full object-cover\" />}>James Brown</Tag>\n<Tag appearance=\"stroke\" leading={<span>\uD83C\uDDF5\uD83C\uDDF1</span>}>{countryLabel}</Tag>\n<Tag appearance=\"stroke\" leading={<img src={githubLogoSrc} alt=\"\" className=\"size-4 rounded-sm bg-white\" />}>GitHub</Tag>\n<Tag appearance=\"stroke\" leading={<Building2 />} sublabel=\"(4)\">Open Mercato</Tag>`,\n },\n {\n id: 'appearance-gray',\n title: 'Gray appearance and leading content',\n render: () => <TagAppearanceDemo appearance=\"gray\" />,\n code: `import { Tag } from '@open-mercato/ui/primitives/tag'\nimport { User, Building2 } from 'lucide-react'\n\n<Tag appearance=\"gray\">{label}</Tag>\n<Tag appearance=\"gray\" leading={<User />}>{customerLabel}</Tag>\n<Tag appearance=\"gray\" leading={<img src={avatarPhotoSrc} alt=\"\" className=\"size-4 rounded-full object-cover\" />}>James Brown</Tag>\n<Tag appearance=\"gray\" leading={<span>\uD83C\uDDF5\uD83C\uDDF1</span>}>{countryLabel}</Tag>\n<Tag appearance=\"gray\" leading={<img src={githubLogoSrc} alt=\"\" className=\"size-4 rounded-sm bg-white\" />}>GitHub</Tag>\n<Tag appearance=\"gray\" leading={<Building2 />} sublabel=\"(4)\">Open Mercato</Tag>`,\n },\n ],\n}\nconst avatarEntry: GalleryEntry = {\n id: 'avatar',\n title: 'Avatar',\n importPath: '@open-mercato/ui/primitives/avatar',\n figmaNodeId: '245:18786',\n usage: {\n do: [\n 'Use src for photos, Memoji, and illustrations; use label for initials or icon for an entity symbol.',\n 'Numeric sizes reproduce all nine Figma diameters: 20, 24, 32, 40, 48, 56, 64, 72, and 80 px. Legacy xs/sm/md/lg/xl sizes remain 20/28/36/48/64 px.',\n 'Numeric 20\u201332 px initials use one letter; 40\u201380 px use two. Font size, line height, and medium weight follow the source. The application font and tracking remain governed by existing tokens.',\n 'Photo stacks use the audited size-specific overlaps. Initial stacks reduce overlap where two letters need more room, and full overflow counts can widen beyond the avatar diameter.',\n 'The six top-status examples use the existing circular badge slot and semantic colors. They show supported compositions, not an exact replica of the Figma verified silhouette.',\n 'Local James Brown assets come from Figma nodes 246:11135, 246:11139, and 246:11141. The production image crop can differ from Figma.',\n ],\n dont: [\n 'Do not assume square avatars or simultaneous top and bottom decorations are supported by the current API.',\n 'Do not render interactive actions inside the decorative badge slot; put actions in a separate button.',\n ],\n },\n variants: [\n {\n id: 'sizes',\n title: 'Sizes (auto-initials)',\n render: () => (\n <>\n <Avatar label=\"Wei Chen\" size=\"xl\" />\n <Avatar label=\"Wei Chen\" size=\"lg\" />\n <Avatar label=\"Wei Chen\" size=\"md\" />\n <Avatar label=\"Wei Chen\" size=\"sm\" />\n <Avatar label=\"Wei Chen\" size=\"xs\" />\n </>\n ),\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n// Initials are derived automatically from the label at every size.\n<Avatar label=\"Wei Chen\" size=\"xl\" />\n<Avatar label=\"Wei Chen\" size=\"lg\" />\n<Avatar label=\"Wei Chen\" size=\"md\" />\n<Avatar label=\"Wei Chen\" size=\"sm\" />\n<Avatar label=\"Wei Chen\" size=\"xs\" />`,\n },\n {\n id: 'figma-sizes',\n title: 'Figma sizes (20\u201380 px)',\n render: () => (\n <div className=\"flex flex-wrap items-end gap-6\">\n {([20, 24, 32, 40, 48, 56, 64, 72, 80] as const).map((size) => (\n <div key={size} className=\"flex flex-col items-center gap-3\">\n <Avatar label=\"Wei Chen\" size={size} />\n <code className=\"text-xs text-muted-foreground\">{size}px</code>\n </div>\n ))}\n </div>\n ),\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<Avatar label=\"Wei Chen\" size={20} />\n<Avatar label=\"Wei Chen\" size={24} />\n<Avatar label=\"Wei Chen\" size={32} />\n<Avatar label=\"Wei Chen\" size={40} />\n<Avatar label=\"Wei Chen\" size={48} />\n<Avatar label=\"Wei Chen\" size={56} />\n<Avatar label=\"Wei Chen\" size={64} />\n<Avatar label=\"Wei Chen\" size={72} />\n<Avatar label=\"Wei Chen\" size={80} />`,\n },\n {\n id: 'figma-stack-sizes',\n title: 'Figma stack sizes and readable initials',\n render: () => (\n <div className=\"grid w-full gap-6\">\n {([20, 24, 32, 40, 48, 56, 64, 72, 80] as const).map((size) => (\n <div key={size} className=\"flex flex-wrap items-center gap-6\">\n <code className=\"text-xs text-muted-foreground\">{size}px</code>\n <AvatarStack size={size} max={3} overflowCount={12}>\n <Avatar label=\"Wei Chen\" size={size} />\n <Avatar label=\"Laura Perez\" size={size} />\n <Avatar label=\"Omar Haddad\" size={size} />\n </AvatarStack>\n </div>\n ))}\n </div>\n ),\n code: `import { Avatar, AvatarStack } from '@open-mercato/ui/primitives/avatar'\n\n{([20, 24, 32, 40, 48, 56, 64, 72, 80] as const).map((size) => (\n <AvatarStack key={size} size={size} max={3} overflowCount={12}>\n <Avatar label=\"Wei Chen\" size={size} />\n <Avatar label=\"Laura Perez\" size={size} />\n <Avatar label=\"Omar Haddad\" size={size} />\n </AvatarStack>\n))}`,\n },\n {\n id: 'photo',\n title: 'Photo source',\n render: () => <Avatar label=\"James Brown\" src={avatarPhotoSrc} size=\"lg\" />,\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\nimport photo from './avatar-photo.png'\n\n<Avatar label=\"James Brown\" src={typeof photo === 'string' ? photo : photo.src} size=\"lg\" />`,\n },\n {\n id: 'memoji',\n title: 'Memoji source',\n render: () => <Avatar label=\"James Brown\" src={avatarMemojiSrc} size=\"lg\" variant=\"monochrome\" />,\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\nimport memoji from './avatar-memoji.png'\n\n<Avatar label=\"James Brown\" src={typeof memoji === 'string' ? memoji : memoji.src} size=\"lg\" variant=\"monochrome\" />`,\n },\n {\n id: 'illustration',\n title: 'Illustration source',\n render: () => <Avatar label=\"James Brown\" src={avatarIllustrationSrc} size=\"lg\" variant=\"monochrome\" />,\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\nimport illustration from './avatar-illustration.png'\n\n<Avatar label=\"James Brown\" src={typeof illustration === 'string' ? illustration : illustration.src} size=\"lg\" variant=\"monochrome\" />`,\n },\n {\n id: 'solid-background',\n title: 'Solid background',\n render: () => <Avatar label=\"James Brown\" icon={<span />} size=\"lg\" variant=\"monochrome\" />,\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<Avatar label=\"James Brown\" icon={<span />} size=\"lg\" variant=\"monochrome\" />`,\n },\n {\n id: 'person-icon',\n title: 'Person icon',\n render: () => <Avatar label=\"James Brown\" icon={<User />} size=\"lg\" variant=\"monochrome\" />,\n code: `import { User } from 'lucide-react'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<Avatar label=\"James Brown\" icon={<User />} size=\"lg\" variant=\"monochrome\" />`,\n },\n {\n id: 'variants',\n title: 'Variants and icon',\n render: () => (\n <>\n <Avatar label=\"Laura Perez\" />\n <Avatar label=\"Laura Perez\" variant=\"monochrome\" />\n <Avatar label=\"Acme Corp\" icon={<Building2 />} variant=\"monochrome\" />\n </>\n ),\n code: `import { Building2 } from 'lucide-react'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<Avatar label=\"Laura Perez\" />\n<Avatar label=\"Laura Perez\" variant=\"monochrome\" />\n<Avatar label=\"Acme Corp\" icon={<Building2 />} variant=\"monochrome\" />`,\n },\n {\n id: 'status',\n title: 'Status dot',\n render: () => (\n <>\n <Avatar label=\"Wei Chen\" status=\"online\" />\n <Avatar label=\"Laura Perez\" status=\"busy\" />\n <Avatar label=\"Omar Haddad\" status=\"away\" />\n <Avatar label=\"Ines Kowalska\" status=\"offline\" />\n </>\n ),\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<Avatar label=\"Wei Chen\" status=\"online\" />\n<Avatar label=\"Laura Perez\" status=\"busy\" />\n<Avatar label=\"Omar Haddad\" status=\"away\" />\n<Avatar label=\"Ines Kowalska\" status=\"offline\" />`,\n },\n {\n id: 'top-badges',\n title: 'Top Status compositions',\n render: () => <AvatarBadgesDemo />,\n code: `import { Check, Pin, Star, Plus, X } from 'lucide-react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\nfunction AvatarBadges() {\n const t = useT()\n return (\n <div className=\"flex flex-wrap items-center gap-6 p-2\">\n <Avatar label=\"Wei Chen\" ariaLabel={t('design_system.gallery.examples.avatar.verified')} badge={<Check className=\"size-3\" />} badgeClassName=\"bg-status-info-icon text-white\" />\n <Avatar label=\"Laura Perez\" ariaLabel={t('design_system.gallery.examples.avatar.pinned')} badge={<Pin className=\"size-3\" />} badgeClassName=\"bg-accent-indigo text-white\" />\n <Avatar label=\"Omar Haddad\" ariaLabel={t('design_system.gallery.examples.avatar.favorite')} badge={<Star className=\"size-3\" />} badgeClassName=\"bg-status-success-icon text-white\" />\n <Avatar label=\"Ines Kowalska\" ariaLabel={t('design_system.gallery.examples.avatar.add')} badge={<Plus className=\"size-3\" />} />\n <Avatar label=\"Ravi Patel\" ariaLabel={t('design_system.gallery.examples.avatar.remove')} badge={<X className=\"size-3\" />} badgeClassName=\"bg-status-error-icon text-white\" />\n <Avatar label=\"James Brown\" ariaLabel={t('design_system.gallery.examples.avatar.notification')} status=\"error\" statusPosition=\"top-right\" />\n </div>\n )\n}`,\n },\n {\n id: 'company-badge',\n title: 'Company badge composition',\n render: () => (\n <Avatar\n label=\"Acme Corp\"\n src={avatarPhotoSrc}\n size=\"lg\"\n badge={<Building2 className=\"size-3\" />}\n badgeClassName=\"top-auto bottom-0 translate-y-1/4\"\n />\n ),\n code: `import { Building2 } from 'lucide-react'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\nimport photo from './avatar-photo.png'\n\n<Avatar label=\"Acme Corp\" src={typeof photo === 'string' ? photo : photo.src} size=\"lg\" badge={<Building2 className=\"size-3\" />} badgeClassName=\"top-auto bottom-0 translate-y-1/4\" />`,\n },\n {\n id: 'rings',\n title: 'Ring tones (code extension)',\n render: () => (\n <div className=\"flex flex-wrap gap-6 p-2\">\n <Avatar label=\"Wei Chen\" ring />\n <Avatar label=\"Laura Perez\" ring=\"success\" />\n <Avatar label=\"Omar Haddad\" ring=\"warning\" />\n <Avatar label=\"Ines Kowalska\" ring=\"error\" />\n <Avatar label=\"Ravi Patel\" ring=\"muted\" />\n </div>\n ),\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<div className=\"flex flex-wrap gap-6 p-2\">\n <Avatar label=\"Wei Chen\" ring />\n <Avatar label=\"Laura Perez\" ring=\"success\" />\n <Avatar label=\"Omar Haddad\" ring=\"warning\" />\n <Avatar label=\"Ines Kowalska\" ring=\"error\" />\n <Avatar label=\"Ravi Patel\" ring=\"muted\" />\n</div>`,\n },\n {\n id: 'stack-sizes',\n title: 'AvatarStack sizes and full overflow counts',\n render: () => (\n <div className=\"grid gap-6\">\n {(['xs', 'sm', 'md', 'lg', 'xl'] as const).map((size) => (\n <AvatarStack key={size} size={size} max={3} overflowCount={12}>\n <Avatar label=\"Wei Chen\" size={size} />\n <Avatar label=\"Laura Perez\" size={size} />\n <Avatar label=\"Omar Haddad\" size={size} />\n </AvatarStack>\n ))}\n </div>\n ),\n code: `import { Avatar, AvatarStack } from '@open-mercato/ui/primitives/avatar'\n\n<div className=\"grid gap-6\">\n {(['xs', 'sm', 'md', 'lg', 'xl'] as const).map((size) => (\n <AvatarStack key={size} size={size} max={3} overflowCount={12}>\n <Avatar label=\"Wei Chen\" size={size} />\n <Avatar label=\"Laura Perez\" size={size} />\n <Avatar label=\"Omar Haddad\" size={size} />\n </AvatarStack>\n ))}\n</div>`,\n },\n {\n id: 'stack',\n title: 'AvatarStack',\n render: () => (\n <AvatarStack max={3}>\n <Avatar label=\"Wei Chen\" />\n <Avatar label=\"Laura Perez\" />\n <Avatar label=\"Omar Haddad\" />\n <Avatar label=\"Ines Kowalska\" />\n <Avatar label=\"Ravi Patel\" />\n </AvatarStack>\n ),\n code: `import { Avatar, AvatarStack } from '@open-mercato/ui/primitives/avatar'\n\n<AvatarStack max={3}>\n <Avatar label=\"Wei Chen\" />\n <Avatar label=\"Laura Perez\" />\n <Avatar label=\"Omar Haddad\" />\n <Avatar label=\"Ines Kowalska\" />\n <Avatar label=\"Ravi Patel\" />\n</AvatarStack>`,\n },\n ],\n}\nconst kbdEntry: GalleryEntry = {\n id: 'kbd',\n title: 'Kbd',\n importPath: '@open-mercato/ui/primitives/kbd',\n variants: [\n {\n id: 'default',\n title: 'default',\n render: () => (\n <>\n <Kbd>\u2318</Kbd>\n <Kbd>Shift</Kbd>\n <Kbd>Enter</Kbd>\n </>\n ),\n code: `import { Kbd } from '@open-mercato/ui/primitives/kbd'\n\n<Kbd>\u2318</Kbd>\n<Kbd>Shift</Kbd>\n<Kbd>Enter</Kbd>`,\n },\n {\n id: 'shortcut',\n title: 'KbdShortcut',\n render: () => (\n <>\n <KbdShortcut keys={['\u2318', 'K']} />\n <KbdShortcut keys={['Ctrl', 'Shift', 'P']} />\n </>\n ),\n code: `import { KbdShortcut } from '@open-mercato/ui/primitives/kbd'\n\n<KbdShortcut keys={['\u2318', 'K']} />\n<KbdShortcut keys={['Ctrl', 'Shift', 'P']} />`,\n },\n ],\n}\nconst tableEntry: GalleryEntry = {\n id: 'table',\n title: 'Table',\n importPath: '@open-mercato/ui/primitives/table',\n figmaNodeId: '167144:147544',\n variants: [\n {\n id: 'header-states',\n title: 'Header / default, disabled, empty and sorting',\n render: () => <TableHeaderExamples />,\n code: tableHeaderExampleCode,\n },\n {\n id: 'cells-48',\n title: 'Cell catalogue / 48px rows',\n render: () => <TableCellExamples rowHeight={48} />,\n code: tableCellExampleCode(48),\n },\n {\n id: 'cells-64',\n title: 'Cell catalogue / 64px rows',\n render: () => <TableCellExamples rowHeight={64} />,\n code: tableCellExampleCode(64),\n },\n {\n id: 'default',\n title: 'default',\n render: () => <TableEntryDefaultPreview />,\n code: `import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell } from '@open-mercato/ui/primitives/table'\nimport { StatusBadge } from '@open-mercato/ui/primitives/status-badge'\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Order</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead>Status</TableHead>\n <TableHead className=\"text-right\">Total</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>#1042</TableCell>\n <TableCell>Wei Chen</TableCell>\n <TableCell><StatusBadge variant=\"success\" dot>Paid</StatusBadge></TableCell>\n <TableCell className=\"text-right\">$1,250.00</TableCell>\n </TableRow>\n </TableBody>\n</Table>`,\n },\n {\n id: 'striped',\n title: 'striped',\n render: () => <TableEntryStripedPreview />,\n code: `import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell } from '@open-mercato/ui/primitives/table'\n\n<Table variant=\"striped\">\n <TableHeader>\n <TableRow>\n <TableHead>SKU</TableHead>\n <TableHead>Product</TableHead>\n <TableHead className=\"text-right\">Stock</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>{/* rows */}</TableBody>\n</Table>`,\n },\n {\n id: 'with-footer',\n title: 'With footer',\n render: () => <TableEntryWithFooterPreview />,\n code: `import { Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell } from '@open-mercato/ui/primitives/table'\n\n<Table>\n <TableHeader>{/* header row */}</TableHeader>\n <TableBody>{/* body rows */}</TableBody>\n <TableFooter>\n <TableRow>\n <TableCell>Total</TableCell>\n <TableCell className=\"text-right\">$1,584.50</TableCell>\n </TableRow>\n </TableFooter>\n</Table>`,\n },\n ],\n}\nconst cardEntry: GalleryEntry = {\n id: 'card',\n title: 'Card',\n importPath: '@open-mercato/ui/primitives/card',\n variants: [\n {\n id: 'default',\n title: 'default',\n render: () => <CardEntryDefaultPreview />,\n code: `import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '@open-mercato/ui/primitives/card'\n\n<Card>\n <CardHeader>\n <CardTitle>Monthly revenue</CardTitle>\n <CardDescription>Net revenue across all channels.</CardDescription>\n </CardHeader>\n <CardContent>\n <p className=\"text-2xl font-semibold\">$48,210</p>\n </CardContent>\n <CardFooter>\n <p className=\"text-sm text-muted-foreground\">Updated 5 minutes ago</p>\n </CardFooter>\n</Card>`,\n },\n {\n id: 'with-action',\n title: 'With action slot',\n render: () => <CardEntryWithActionPreview />,\n code: `import { MoreHorizontal } from 'lucide-react'\nimport { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent } from '@open-mercato/ui/primitives/card'\nimport { IconButton } from '@open-mercato/ui/primitives/icon-button'\nimport { Avatar, AvatarStack } from '@open-mercato/ui/primitives/avatar'\n\n<Card className=\"w-full max-w-sm\">\n <CardHeader>\n <CardTitle>Team members</CardTitle>\n <CardDescription>People with access to this workspace.</CardDescription>\n <CardAction>\n <IconButton type=\"button\" variant=\"ghost\" aria-label=\"More\"><MoreHorizontal /></IconButton>\n </CardAction>\n </CardHeader>\n <CardContent>\n <AvatarStack max={3} size=\"sm\">\n <Avatar label=\"Wei Chen\" size=\"sm\" />\n <Avatar label=\"Laura Perez\" size=\"sm\" />\n <Avatar label=\"Omar Haddad\" size=\"sm\" />\n <Avatar label=\"Ines Kowalska\" size=\"sm\" />\n </AvatarStack>\n </CardContent>\n</Card>`,\n },\n ],\n}\nconst separatorEntry: GalleryEntry = {\n id: 'separator',\n title: 'Separator',\n importPath: '@open-mercato/ui/primitives/separator',\n figmaNodeId: '414:4401',\n usage: {\n do: [\n 'The nine Figma Content Divider layouts are represented: line, line spacing, text and line, text only, solid text, icon button, icon button group, text button, and text button group.',\n 'Place action buttons between two flexible Separator rules with gap-2.5. ButtonGroup supplies joined borders; do not place interactive controls inside a separator role.',\n 'Vertical, dashed, and label-alignment examples expose the existing code API beyond the nine Figma layouts.',\n 'Compositions use production tokens and responsive width. The labeled primitive remains 12/16 px; the audited Figma text-and-line label is 11/12 px.',\n ],\n },\n variants: [\n {\n id: 'default',\n title: 'default',\n render: () => <SeparatorEntryDefaultPreview />,\n code: `import { Separator } from '@open-mercato/ui/primitives/separator'\n\n<Separator className=\"my-3\" />`,\n },\n {\n id: 'line-spacing',\n title: 'Line Spacing',\n render: () => (\n <div className=\"flex h-1 w-full items-center\">\n <Separator />\n </div>\n ),\n code: `import { Separator } from '@open-mercato/ui/primitives/separator'\n\n<div className=\"flex h-1 w-full items-center\"><Separator /></div>`,\n },\n {\n id: 'labeled',\n title: 'Labeled',\n render: () => <SeparatorEntryLabeledPreview />,\n code: `import { Separator } from '@open-mercato/ui/primitives/separator'\n\n<Separator label=\"OR\" />`,\n },\n {\n id: 'text-divider',\n title: 'Text Divider',\n render: () => <SeparatorTextDemo kind=\"text\" />,\n code: `import { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { Separator } from '@open-mercato/ui/primitives/separator'\n\nfunction TextDivider() {\n const t = useT()\n return <Separator section label={t('design_system.gallery.examples.separator.or')} className=\"bg-transparent px-2 py-1\" />\n}`,\n },\n {\n id: 'label-alignments',\n title: 'Label alignments (code extension)',\n render: () => <SeparatorTextDemo kind=\"label-alignments\" />,\n code: `import { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { Separator } from '@open-mercato/ui/primitives/separator'\n\nfunction LabelAlignments() {\n const t = useT()\n return (\n <div className=\"grid w-full gap-6\">\n <Separator label={t('design_system.gallery.examples.separator.or')} labelAlign=\"start\" />\n <Separator label={t('design_system.gallery.examples.separator.or')} labelAlign=\"center\" />\n <Separator label={t('design_system.gallery.examples.separator.or')} labelAlign=\"end\" />\n </div>\n )\n}`,\n },\n {\n id: 'section',\n title: 'Section header',\n render: () => (\n <div className=\"w-full max-w-sm\">\n <Separator section label={'Amount & account'} className=\"px-5\" />\n </div>\n ),\n code: `import { Separator } from '@open-mercato/ui/primitives/separator'\n\n<Separator section label=\"Amount & account\" className=\"px-5\" />`,\n },\n {\n id: 'icon-button',\n title: 'Icon Button',\n render: () => <SeparatorActionDemo kind=\"icon\" />,\n code: `import { Plus } from 'lucide-react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { IconButton } from '@open-mercato/ui/primitives/icon-button'\nimport { Separator } from '@open-mercato/ui/primitives/separator'\n\nfunction IconDivider() {\n const t = useT()\n return (\n <div className=\"flex w-full items-center gap-2.5\">\n <Separator className=\"min-w-0 flex-1\" />\n <IconButton size=\"default\" aria-label={t('design_system.gallery.examples.separator.add')}><Plus className=\"size-5\" /></IconButton>\n <Separator className=\"min-w-0 flex-1\" />\n </div>\n )\n}`,\n },\n {\n id: 'icon-button-group',\n title: 'Icon Button Group',\n render: () => <SeparatorActionDemo kind=\"icon-group\" />,\n code: `import { ChevronLeft, Plus, ChevronRight } from 'lucide-react'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { IconButton } from '@open-mercato/ui/primitives/icon-button'\nimport { ButtonGroup } from '@open-mercato/ui/primitives/button-group'\nimport { Separator } from '@open-mercato/ui/primitives/separator'\n\nfunction IconGroupDivider() {\n const t = useT()\n return (\n <div className=\"flex w-full items-center gap-2.5\">\n <Separator className=\"min-w-0 flex-1\" />\n <ButtonGroup aria-label={t('design_system.gallery.examples.separator.actions')}>\n <IconButton size=\"default\" aria-label={t('design_system.gallery.examples.separator.previous')}><ChevronLeft className=\"size-5\" /></IconButton>\n <IconButton size=\"default\" aria-label={t('design_system.gallery.examples.separator.add')}><Plus className=\"size-5\" /></IconButton>\n <IconButton size=\"default\" aria-label={t('design_system.gallery.examples.separator.next')}><ChevronRight className=\"size-5\" /></IconButton>\n </ButtonGroup>\n <Separator className=\"min-w-0 flex-1\" />\n </div>\n )\n}`,\n },\n {\n id: 'text-button',\n title: 'Text Button',\n render: () => <SeparatorActionDemo kind=\"text\" />,\n code: `import { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport { Separator } from '@open-mercato/ui/primitives/separator'\n\nfunction TextButtonDivider() {\n const t = useT()\n return (\n <div className=\"flex w-full items-center gap-2.5\">\n <Separator className=\"min-w-0 flex-1\" />\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"px-2.5\">{t('design_system.gallery.examples.separator.add')}</Button>\n <Separator className=\"min-w-0 flex-1\" />\n </div>\n )\n}`,\n },\n {\n id: 'text-button-group',\n title: 'Text Button Group',\n render: () => <SeparatorActionDemo kind=\"text-group\" />,\n code: `import { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport { ButtonGroup } from '@open-mercato/ui/primitives/button-group'\nimport { Separator } from '@open-mercato/ui/primitives/separator'\n\nfunction TextGroupDivider() {\n const t = useT()\n return (\n <div className=\"flex w-full items-center gap-2.5\">\n <Separator className=\"min-w-0 flex-1\" />\n <ButtonGroup size=\"sm\" aria-label={t('design_system.gallery.examples.separator.actions')}>\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"px-3.5\">{t('design_system.gallery.examples.separator.previous')}</Button>\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"px-3.5\">{t('design_system.gallery.examples.separator.add')}</Button>\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"px-3.5\">{t('design_system.gallery.examples.separator.next')}</Button>\n </ButtonGroup>\n <Separator className=\"min-w-0 flex-1\" />\n </div>\n )\n}`,\n },\n {\n id: 'vertical',\n title: 'Vertical (code extension)',\n render: () => (\n <div className=\"flex h-16 items-center gap-6\">\n <Avatar label=\"Wei Chen\" />\n <Separator orientation=\"vertical\" />\n <Avatar label=\"Laura Perez\" />\n <Separator orientation=\"vertical\" variant=\"dashed\" />\n <Avatar label=\"Omar Haddad\" />\n </div>\n ),\n code: `import { Avatar } from '@open-mercato/ui/primitives/avatar'\nimport { Separator } from '@open-mercato/ui/primitives/separator'\n\n<div className=\"flex h-16 items-center gap-6\">\n <Avatar label=\"Wei Chen\" />\n <Separator orientation=\"vertical\" />\n <Avatar label=\"Laura Perez\" />\n <Separator orientation=\"vertical\" variant=\"dashed\" />\n <Avatar label=\"Omar Haddad\" />\n</div>`,\n },\n {\n id: 'dashed',\n title: 'Dashed',\n render: () => (\n <div className=\"w-full max-w-sm\">\n <Separator variant=\"dashed\" />\n </div>\n ),\n code: `import { Separator } from '@open-mercato/ui/primitives/separator'\n\n<Separator variant=\"dashed\" />`,\n },\n ],\n}\nfunction FigmaScrollDemo({\n size,\n variant,\n horizontal = false,\n}: {\n size: 'md' | 'sm' | 'xs'\n variant: 'default' | 'lighter'\n horizontal?: boolean\n}) {\n const t = useT()\n return (\n <ScrollArea\n type=\"always\"\n scrollbarSize={size}\n scrollbarVariant={variant}\n scrollbars={horizontal ? 'horizontal' : 'vertical'}\n className=\"h-60 w-full max-w-xs rounded-md border border-border\"\n >\n <div className={horizontal ? 'flex w-max gap-4 p-6' : 'flex flex-col gap-2 p-4 pr-8'}>\n {Array.from(\n {\n length: 20,\n },\n (_, index) => (\n <p key={index} className=\"whitespace-nowrap text-sm\">\n {t('design_system.gallery.samples.scroll.row', {\n number: index + 1,\n })}\n </p>\n ),\n )}\n </div>\n </ScrollArea>\n )\n}\nconst scrollAreaEntry: GalleryEntry = {\n id: 'scroll-area',\n title: 'ScrollArea',\n importPath: '@open-mercato/ui/primitives/scroll-area',\n figmaNodeId: '166941:61889',\n variants: [\n {\n id: 'default-md',\n title: 'default / Medium',\n render: () => <FigmaScrollDemo size=\"md\" variant=\"default\" />,\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\n\nconst t = useT()\n\n<ScrollArea type=\"always\" scrollbarSize=\"md\" scrollbarVariant=\"default\" className=\"h-60 w-full max-w-xs rounded-md border border-border\">\n <div className=\"flex flex-col gap-2 p-4 pr-8\">\n {Array.from({ length: 20 }, (_, index) => <p key={index} className=\"whitespace-nowrap text-sm\">{t('design_system.gallery.samples.scroll.row', { number: index + 1 })}</p>)}\n </div>\n</ScrollArea>`,\n },\n {\n id: 'default-sm',\n title: 'default / Small',\n render: () => <FigmaScrollDemo size=\"sm\" variant=\"default\" />,\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\n\nconst t = useT()\n\n<ScrollArea type=\"always\" scrollbarSize=\"sm\" scrollbarVariant=\"default\" className=\"h-60 w-full max-w-xs rounded-md border border-border\">\n <div className=\"flex flex-col gap-2 p-4 pr-8\">\n {Array.from({ length: 20 }, (_, index) => <p key={index} className=\"whitespace-nowrap text-sm\">{t('design_system.gallery.samples.scroll.row', { number: index + 1 })}</p>)}\n </div>\n</ScrollArea>`,\n },\n {\n id: 'default-xs',\n title: 'default / X-Small',\n render: () => <FigmaScrollDemo size=\"xs\" variant=\"default\" />,\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\n\nconst t = useT()\n\n<ScrollArea type=\"always\" scrollbarSize=\"xs\" scrollbarVariant=\"default\" className=\"h-60 w-full max-w-xs rounded-md border border-border\">\n <div className=\"flex flex-col gap-2 p-4 pr-8\">\n {Array.from({ length: 20 }, (_, index) => <p key={index} className=\"whitespace-nowrap text-sm\">{t('design_system.gallery.samples.scroll.row', { number: index + 1 })}</p>)}\n </div>\n</ScrollArea>`,\n },\n {\n id: 'lighter-md',\n title: 'lighter / Medium',\n render: () => <FigmaScrollDemo size=\"md\" variant=\"lighter\" />,\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\n\nconst t = useT()\n\n<ScrollArea type=\"always\" scrollbarSize=\"md\" scrollbarVariant=\"lighter\" className=\"h-60 w-full max-w-xs rounded-md border border-border\">\n <div className=\"flex flex-col gap-2 p-4 pr-8\">\n {Array.from({ length: 20 }, (_, index) => <p key={index} className=\"whitespace-nowrap text-sm\">{t('design_system.gallery.samples.scroll.row', { number: index + 1 })}</p>)}\n </div>\n</ScrollArea>`,\n },\n {\n id: 'lighter-sm',\n title: 'lighter / Small',\n render: () => <FigmaScrollDemo size=\"sm\" variant=\"lighter\" />,\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\n\nconst t = useT()\n\n<ScrollArea type=\"always\" scrollbarSize=\"sm\" scrollbarVariant=\"lighter\" className=\"h-60 w-full max-w-xs rounded-md border border-border\">\n <div className=\"flex flex-col gap-2 p-4 pr-8\">\n {Array.from({ length: 20 }, (_, index) => <p key={index} className=\"whitespace-nowrap text-sm\">{t('design_system.gallery.samples.scroll.row', { number: index + 1 })}</p>)}\n </div>\n</ScrollArea>`,\n },\n {\n id: 'lighter-xs',\n title: 'lighter / X-Small',\n render: () => <FigmaScrollDemo size=\"xs\" variant=\"lighter\" />,\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\n\nconst t = useT()\n\n<ScrollArea type=\"always\" scrollbarSize=\"xs\" scrollbarVariant=\"lighter\" className=\"h-60 w-full max-w-xs rounded-md border border-border\">\n <div className=\"flex flex-col gap-2 p-4 pr-8\">\n {Array.from({ length: 20 }, (_, index) => <p key={index} className=\"whitespace-nowrap text-sm\">{t('design_system.gallery.samples.scroll.row', { number: index + 1 })}</p>)}\n </div>\n</ScrollArea>`,\n },\n {\n id: 'horizontal-figma',\n title: 'Horizontal / Lighter / Medium',\n render: () => <FigmaScrollDemo size=\"md\" variant=\"lighter\" horizontal />,\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\n\nconst t = useT()\n\n<ScrollArea type=\"always\" scrollbarSize=\"md\" scrollbarVariant=\"lighter\" scrollbars=\"horizontal\" className=\"h-60 w-full max-w-xs rounded-md border border-border\">\n <div className=\"flex w-max gap-4 p-6\">\n {Array.from({ length: 20 }, (_, index) => <p key={index} className=\"whitespace-nowrap text-sm\">{t('design_system.gallery.samples.scroll.row', { number: index + 1 })}</p>)}\n </div>\n</ScrollArea>`,\n },\n {\n id: 'vertical',\n title: 'Vertical',\n render: () => <ScrollAreaEntryVerticalPreview />,\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\n\n<ScrollArea className=\"h-40 rounded-md border\">\n <div className=\"p-3\">\n {zones.map((zone) => (\n <p key={zone.id} className=\"border-b py-1.5 text-sm last:border-b-0\">{zone.name}</p>\n ))}\n </div>\n</ScrollArea>`,\n },\n {\n id: 'horizontal',\n title: 'Horizontal',\n render: () => <ScrollAreaEntryHorizontalPreview />,\n code: `import { ScrollArea } from '@open-mercato/ui/primitives/scroll-area'\nimport { Tag } from '@open-mercato/ui/primitives/tag'\n\n<ScrollArea scrollbars=\"horizontal\" className=\"max-w-xs rounded-md border\">\n <div className=\"flex w-max gap-2 p-3\">\n {channels.map((channel) => (\n <Tag key={channel.id} variant=\"neutral\" shape=\"square\">{channel.name}</Tag>\n ))}\n </div>\n</ScrollArea>`,\n },\n ],\n}\nconst activityFeedEntry: GalleryEntry = {\n id: 'activity-feed',\n figmaNodeId: '166035:46833',\n title: 'ActivityFeed',\n importPath: '@open-mercato/ui/primitives/activity-feed',\n variants: [\n {\n id: 'source-composition',\n title: '5 entry types / filter / actions',\n render: () => <ActivityFeedExample />,\n code: activityFeedExampleCode,\n },\n {\n id: 'basic',\n title: 'Basic entries',\n render: () => <ActivityFeedEntryBasicPreview />,\n code: `import { ActivityFeed, ActivityFeedItem } from '@open-mercato/ui/primitives/activity-feed'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<ActivityFeed>\n <ActivityFeedItem\n avatar={<Avatar label=\"Wei Chen\" size=\"sm\" />}\n title={<>Wei Chen <span className=\"font-normal text-muted-foreground\">created</span> Order #1042</>}\n timestamp=\"4 min ago\"\n />\n</ActivityFeed>`,\n },\n {\n id: 'with-attachment',\n title: 'File attachment',\n render: () => <ActivityFeedEntryWithAttachmentPreview />,\n code: `import { ActivityFeed, ActivityFeedItem, ActivityFeedFileChip } from '@open-mercato/ui/primitives/activity-feed'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<ActivityFeedItem\n avatar={<Avatar label=\"Omar Haddad\" size=\"sm\" />}\n title={<>Omar Haddad <span className=\"font-normal text-muted-foreground\">uploaded</span> Q2 financial report</>}\n timestamp=\"2 days ago\"\n>\n <ActivityFeedFileChip name=\"apex-report.pdf\" size=\"4mb\" onDownload={() => download()} />\n</ActivityFeedItem>`,\n },\n {\n id: 'with-comment',\n title: 'Comment',\n render: () => <ActivityFeedEntryWithCommentPreview />,\n code: `import { ActivityFeed, ActivityFeedItem, ActivityFeedComment } from '@open-mercato/ui/primitives/activity-feed'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<ActivityFeedItem\n avatar={<Avatar label=\"Ines Kowalska\" size=\"sm\" />}\n title={<>Ines Kowalska <span className=\"font-normal text-muted-foreground\">commented</span></>}\n timestamp=\"6 days ago\"\n>\n <ActivityFeedComment onReply={() => reply()}>\n Please revise the risk metrics before Friday.\n </ActivityFeedComment>\n</ActivityFeedItem>`,\n },\n {\n id: 'status-chips',\n title: 'Status chips',\n render: () => <ActivityFeedEntryStatusChipsPreview />,\n code: `import { ActivityFeed, ActivityFeedItem, ActivityFeedStatusChip } from '@open-mercato/ui/primitives/activity-feed'\nimport { Avatar } from '@open-mercato/ui/primitives/avatar'\n\n<ActivityFeedItem\n avatar={<Avatar label=\"Ravi Patel\" size=\"sm\" />}\n title={<>Ravi Patel <span className=\"font-normal text-muted-foreground\">moved 3 tasks</span></>}\n timestamp=\"1 week ago\"\n>\n <ActivityFeedStatusChip status=\"success\">Approved</ActivityFeedStatusChip>\n <ActivityFeedStatusChip status=\"warning\">Needs review</ActivityFeedStatusChip>\n <ActivityFeedStatusChip status=\"error\">Blocked</ActivityFeedStatusChip>\n</ActivityFeedItem>`,\n },\n ],\n}\nconst content_labelEntry: GalleryEntry = {\n id: 'content-label',\n title: 'ContentLabel',\n importPath: '@open-mercato/ui/primitives/content-label',\n figmaNodeId: '2945:5539',\n descriptionKey: 'design_system.entries.content-label.description',\n variants: [\n {\n id: 'basic-40',\n title: 'basic-40',\n render: () => <ContentLabelExample kind=\"basic\" size={40} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"basic\" size={40} />'),\n },\n {\n id: 'icon-40',\n title: 'icon-40',\n render: () => <ContentLabelExample kind=\"icon\" size={40} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"icon\" size={40} />'),\n },\n {\n id: 'avatar-40',\n title: 'avatar-40',\n render: () => <ContentLabelExample kind=\"avatar\" size={40} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"avatar\" size={40} />'),\n },\n {\n id: 'brand-40',\n title: 'brand-40',\n render: () => <ContentLabelExample kind=\"brand\" size={40} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"brand\" size={40} />'),\n },\n {\n id: 'company-40',\n title: 'company-40',\n render: () => <ContentLabelExample kind=\"company\" size={40} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"company\" size={40} />'),\n },\n {\n id: 'basic-48',\n title: 'basic-48',\n render: () => <ContentLabelExample kind=\"basic\" size={48} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"basic\" size={48} />'),\n },\n {\n id: 'icon-48',\n title: 'icon-48',\n render: () => <ContentLabelExample kind=\"icon\" size={48} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"icon\" size={48} />'),\n },\n {\n id: 'avatar-48',\n title: 'avatar-48',\n render: () => <ContentLabelExample kind=\"avatar\" size={48} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"avatar\" size={48} />'),\n },\n {\n id: 'brand-48',\n title: 'brand-48',\n render: () => <ContentLabelExample kind=\"brand\" size={48} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"brand\" size={48} />'),\n },\n {\n id: 'company-48',\n title: 'company-48',\n render: () => <ContentLabelExample kind=\"company\" size={48} />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"company\" size={48} />'),\n },\n {\n id: 'options',\n title: 'options',\n render: () => <ContentLabelExample kind=\"icon\" size={48} configurable />,\n code: keyComponentExampleCode('<ContentLabelExample kind=\"icon\" size={48} configurable />'),\n },\n ],\n}\nconst content_cardEntry: GalleryEntry = {\n id: 'content-card',\n title: 'ContentCard',\n importPath: '@open-mercato/ui/primitives/content-card',\n figmaNodeId: '2942:9503',\n descriptionKey: 'design_system.entries.content-card.description',\n variants: [\n {\n id: 'basic',\n title: 'basic',\n render: () => <ContentCardExample kind=\"basic\" />,\n code: keyComponentExampleCode('<ContentCardExample kind=\"basic\" />'),\n },\n {\n id: 'icon',\n title: 'icon',\n render: () => <ContentCardExample kind=\"icon\" />,\n code: keyComponentExampleCode('<ContentCardExample kind=\"icon\" />'),\n },\n {\n id: 'avatar',\n title: 'avatar',\n render: () => <ContentCardExample kind=\"avatar\" />,\n code: keyComponentExampleCode('<ContentCardExample kind=\"avatar\" />'),\n },\n {\n id: 'provider',\n title: 'provider',\n render: () => <ContentCardExample kind=\"provider\" />,\n code: keyComponentExampleCode('<ContentCardExample kind=\"provider\" />'),\n },\n {\n id: 'brand',\n title: 'brand',\n render: () => <ContentCardExample kind=\"brand\" />,\n code: keyComponentExampleCode('<ContentCardExample kind=\"brand\" />'),\n },\n {\n id: 'company',\n title: 'company',\n render: () => <ContentCardExample kind=\"company\" />,\n code: keyComponentExampleCode('<ContentCardExample kind=\"company\" />'),\n },\n {\n id: 'disabled',\n title: 'disabled',\n render: () => <ContentCardExample kind=\"icon\" disabled />,\n code: keyComponentExampleCode('<ContentCardExample kind=\"icon\" disabled />'),\n },\n ],\n}\nconst key_iconEntry: GalleryEntry = {\n id: 'key-icon',\n title: 'KeyIcon',\n importPath: '@open-mercato/ui/primitives/key-icon',\n figmaNodeId: '263:1850',\n descriptionKey: 'design_system.entries.key-icon.description',\n variants: [\n {\n id: 'stroke',\n title: 'stroke',\n render: () => <KeyIconExamples />,\n code: keyComponentExampleCode('<KeyIconExamples />'),\n },\n {\n id: 'lighter',\n title: 'lighter',\n render: () => <KeyIconExamples appearance=\"lighter\" />,\n code: keyComponentExampleCode('<KeyIconExamples appearance=\"lighter\" />'),\n },\n ],\n}\nconst payment_iconEntry: GalleryEntry = {\n id: 'payment-icon',\n title: 'PaymentIcon',\n importPath: '@open-mercato/ui/primitives/payment-icon',\n figmaNodeId: '2942:9995',\n descriptionKey: 'design_system.entries.payment-icon.description',\n variants: [\n {\n id: 'categories',\n title: 'categories',\n render: () => <PaymentIconExamples />,\n code: keyComponentExampleCode('<PaymentIconExamples />'),\n },\n ],\n}\nconst chart_legendEntry: GalleryEntry = {\n id: 'chart-legend',\n title: 'ChartLegend',\n importPath: '@open-mercato/ui/primitives/chart-legend',\n figmaNodeId: '2942:9934',\n descriptionKey: 'design_system.entries.chart-legend.description',\n variants: [\n {\n id: 'colors',\n title: 'colors',\n render: () => <ChartLegendExamples />,\n code: keyComponentExampleCode('<ChartLegendExamples />'),\n },\n {\n id: 'interactive',\n title: 'interactive',\n render: () => <ChartLegendExamples interactive />,\n code: keyComponentExampleCode('<ChartLegendExamples interactive />'),\n },\n ],\n}\nconst chart_legend_dotEntry: GalleryEntry = {\n id: 'chart-legend-dot',\n title: 'ChartLegendDot',\n importPath: '@open-mercato/ui/primitives/chart-legend',\n figmaNodeId: '2942:9880',\n descriptionKey: 'design_system.entries.chart-legend-dot.description',\n variants: [\n {\n id: 'size-16',\n title: 'size-16',\n render: () => <ChartLegendDotExamples />,\n code: keyComponentExampleCode('<ChartLegendDotExamples />'),\n },\n {\n id: 'size-20',\n title: 'size-20',\n render: () => <ChartLegendDotExamples size={20} />,\n code: keyComponentExampleCode('<ChartLegendDotExamples size={20} />'),\n },\n ],\n}\nexport const entries: GalleryEntry[] = [\n content_labelEntry,\n content_cardEntry,\n key_iconEntry,\n payment_iconEntry,\n chart_legendEntry,\n chart_legend_dotEntry,\n badgeEntry,\n statusBadgeEntry,\n tagEntry,\n avatarEntry,\n kbdEntry,\n tableEntry,\n cardEntry,\n separatorEntry,\n scrollAreaEntry,\n activityFeedEntry,\n]\n"],
|
|
5
|
+
"mappings": "AA2DI,mBACE,KADF;AA3DJ;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,+BAA+B;AACxC,SAAS,mBAAmB,qBAAqB,4BAA4B;AAC7E,SAAS,8BAA8B;AACvC,SAAS,2BAA2B;AACpC,SAAS,+BAA+B;AACxC,YAAY,WAAW;AACvB,SAAS,WAAW,OAAO,aAAa,cAAc,gBAAgB,KAAK,MAAM,MAAM,MAAM,SAAS;AACtG,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,mBAAmB;AAC5B,SAAS,aAAa;AACtB,SAAS,mBAAmB;AAC5B,SAAS,WAAW;AACpB,SAAS,QAAQ,mBAAmB;AACpC,SAAS,KAAK,mBAAmB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B,OAAO,gBAAgB;AACvB,OAAO,iBAAiB;AACxB,OAAO,kBAAkB;AACzB,OAAO,wBAAwB;AAE/B,SAAS,4BAA4B;AACnC,QAAM,IAAI,KAAK;AACf,SACE,iCACE;AAAA,wBAAC,SAAM,SAAQ,WAAW,YAAE,+CAA+C,GAAE;AAAA,IAC7E,oBAAC,SAAM,SAAQ,WAAW,YAAE,+CAA+C,GAAE;AAAA,IAC7E,oBAAC,SAAM,SAAQ,QAAQ,YAAE,4CAA4C,GAAE;AAAA,IACvE,oBAAC,SAAM,SAAQ,WAAW,YAAE,+CAA+C,GAAE;AAAA,IAC7E,oBAAC,SAAM,SAAQ,SAAS,YAAE,6CAA6C,GAAE;AAAA,IACzE,oBAAC,SAAM,SAAQ,SAAS,YAAE,6CAA6C,GAAE;AAAA,KAC3E;AAEJ;AACA,SAAS,yBAAyB;AAChC,QAAM,IAAI,KAAK;AACf,SACE,iCACE;AAAA,wBAAC,SAAM,SAAQ,QAAO,MAAK,MACxB,YAAE,6CAA6C,GAClD;AAAA,IACA,oBAAC,SAAM,SAAQ,QAAO,MAAK,WACxB,YAAE,+CAA+C,GACpD;AAAA,IACA,oBAAC,SAAM,SAAQ,QAAO,MAAK,MACxB,YAAE,6CAA6C,GAClD;AAAA,KACF;AAEJ;AACA,SAAS,uBAAuB;AAC9B,QAAM,IAAI,KAAK;AACf,SACE,iCACE;AAAA,wBAAC,SAAM,SAAQ,WAAU,KAAG,MACzB,YAAE,8CAA8C,GACnD;AAAA,IACA,oBAAC,SAAM,SAAQ,WAAU,KAAG,MACzB,YAAE,6CAA6C,GAClD;AAAA,IACA,oBAAC,SAAM,SAAQ,SAAQ,KAAG,MACvB,YAAE,kDAAkD,GACvD;AAAA,KACF;AAEJ;AACA,SAAS,iCAAiC;AACxC,QAAM,IAAI,KAAK;AACf,SACE,iCACE;AAAA,wBAAC,eAAY,SAAQ,WAAU,KAAG,MAC/B,YAAE,8CAA8C,GACnD;AAAA,IACA,oBAAC,eAAY,SAAQ,WAAU,KAAG,MAC/B,YAAE,+CAA+C,GACpD;AAAA,IACA,oBAAC,eAAY,SAAQ,SAAQ,KAAG,MAC7B,YAAE,8CAA8C,GACnD;AAAA,IACA,oBAAC,eAAY,SAAQ,QAAO,KAAG,MAC5B,YAAE,+CAA+C,GACpD;AAAA,IACA,oBAAC,eAAY,SAAQ,WAAU,KAAG,MAC/B,YAAE,gDAAgD,GACrD;AAAA,KACF;AAEJ;AACA,SAAS,oCAAoC;AAC3C,QAAM,IAAI,KAAK;AACf,SACE,iCACE;AAAA,wBAAC,eAAY,SAAQ,WAAW,YAAE,4CAA4C,GAAE;AAAA,IAChF,oBAAC,eAAY,SAAQ,WAAW,YAAE,6CAA6C,GAAE;AAAA,KACnF;AAEJ;AACA,SAAS,qBAAqB;AAC5B,QAAM,IAAI,KAAK;AACf,SACE,iCACE;AAAA,wBAAC,OAAI,SAAQ,WAAU,KAAG,MACvB,YAAE,gDAAgD,GACrD;AAAA,IACA,oBAAC,OAAI,SAAQ,SAAQ,KAAG,MACrB,YAAE,+CAA+C,GACpD;AAAA,IACA,oBAAC,OAAI,SAAQ,QAAO,KAAG,MACpB,YAAE,gDAAgD,GACrD;AAAA,KACF;AAEJ;AACA,SAAS,2BAA2B;AAClC,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,SACC;AAAA,wBAAC,eACC,+BAAC,YACC;AAAA,0BAAC,aAAW,YAAE,6CAA6C,GAAE;AAAA,MAC7D,oBAAC,aAAW,YAAE,gDAAgD,GAAE;AAAA,MAChE,oBAAC,aAAW,YAAE,8CAA8C,GAAE;AAAA,MAC9D,oBAAC,aAAU,WAAU,cAAc,YAAE,6CAA6C,GAAE;AAAA,OACtF,GACF;AAAA,IACA,qBAAC,aACC;AAAA,2BAAC,YACC;AAAA,4BAAC,aAAU,mBAAK;AAAA,QAChB,oBAAC,aAAU,sBAAQ;AAAA,QACnB,oBAAC,aACC,8BAAC,eAAY,SAAQ,WAAU,KAAG,MAC/B,YAAE,4CAA4C,GACjD,GACF;AAAA,QACA,oBAAC,aAAU,WAAU,cAAa,uBAAS;AAAA,SAC7C;AAAA,MACA,qBAAC,YACC;AAAA,4BAAC,aAAU,mBAAK;AAAA,QAChB,oBAAC,aAAU,yBAAW;AAAA,QACtB,oBAAC,aACC,8BAAC,eAAY,SAAQ,WAAU,KAAG,MAC/B,YAAE,+CAA+C,GACpD,GACF;AAAA,QACA,oBAAC,aAAU,WAAU,cAAa,qBAAO;AAAA,SAC3C;AAAA,MACA,qBAAC,YACC;AAAA,4BAAC,aAAU,mBAAK;AAAA,QAChB,oBAAC,aAAU,yBAAW;AAAA,QACtB,oBAAC,aACC,8BAAC,eAAY,SAAQ,WAAU,KAAG,MAC/B,YAAE,6CAA6C,GAClD,GACF;AAAA,QACA,oBAAC,aAAU,WAAU,cAAa,oBAAM;AAAA,SAC1C;AAAA,OACF;AAAA,KACF;AAEJ;AACA,SAAS,2BAA2B;AAClC,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,SAAM,SAAQ,WACb;AAAA,wBAAC,eACC,+BAAC,YACC;AAAA,0BAAC,aAAU,iBAAG;AAAA,MACd,oBAAC,aAAW,YAAE,+CAA+C,GAAE;AAAA,MAC/D,oBAAC,aAAU,WAAU,cAAc,YAAE,6CAA6C,GAAE;AAAA,OACtF,GACF;AAAA,IACA,qBAAC,aACC;AAAA,2BAAC,YACC;AAAA,4BAAC,aAAU,oBAAM;AAAA,QACjB,oBAAC,aAAW,YAAE,oDAAoD,GAAE;AAAA,QACpE,oBAAC,aAAU,WAAU,cAAa,iBAAG;AAAA,SACvC;AAAA,MACA,qBAAC,YACC;AAAA,4BAAC,aAAU,oBAAM;AAAA,QACjB,oBAAC,aAAW,YAAE,wDAAwD,GAAE;AAAA,QACxE,oBAAC,aAAU,WAAU,cAAa,gBAAE;AAAA,SACtC;AAAA,MACA,qBAAC,YACC;AAAA,4BAAC,aAAU,oBAAM;AAAA,QACjB,oBAAC,aAAW,YAAE,oDAAoD,GAAE;AAAA,QACpE,oBAAC,aAAU,WAAU,cAAa,iBAAG;AAAA,SACvC;AAAA,MACA,qBAAC,YACC;AAAA,4BAAC,aAAU,oBAAM;AAAA,QACjB,oBAAC,aAAW,YAAE,uDAAuD,GAAE;AAAA,QACvE,oBAAC,aAAU,WAAU,cAAa,gBAAE;AAAA,SACtC;AAAA,OACF;AAAA,KACF;AAEJ;AACA,SAAS,8BAA8B;AACrC,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,SACC;AAAA,wBAAC,eACC,+BAAC,YACC;AAAA,0BAAC,aAAW,YAAE,4CAA4C,GAAE;AAAA,MAC5D,oBAAC,aAAU,WAAU,cAAc,YAAE,8CAA8C,GAAE;AAAA,OACvF,GACF;AAAA,IACA,qBAAC,aACC;AAAA,2BAAC,YACC;AAAA,4BAAC,aAAW,YAAE,gDAAgD,GAAE;AAAA,QAChE,oBAAC,aAAU,WAAU,cAAa,uBAAS;AAAA,SAC7C;AAAA,MACA,qBAAC,YACC;AAAA,4BAAC,aAAW,YAAE,gDAAgD,GAAE;AAAA,QAChE,oBAAC,aAAU,WAAU,cAAa,oBAAM;AAAA,SAC1C;AAAA,OACF;AAAA,IACA,oBAAC,eACC,+BAAC,YACC;AAAA,0BAAC,aAAW,YAAE,6CAA6C,GAAE;AAAA,MAC7D,oBAAC,aAAU,WAAU,cAAa,uBAAS;AAAA,OAC7C,GACF;AAAA,KACF;AAEJ;AACA,SAAS,0BAA0B;AACjC,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,QAAK,WAAU,mBACd;AAAA,yBAAC,cACC;AAAA,0BAAC,aAAW,YAAE,sDAAsD,GAAE;AAAA,MACtE,oBAAC,mBAAiB,YAAE,mEAAmE,GAAE;AAAA,OAC3F;AAAA,IACA,oBAAC,eACC,8BAAC,OAAE,WAAU,0BAAyB,qBAAO,GAC/C;AAAA,IACA,oBAAC,cACC,8BAAC,OAAE,WAAU,iCAAiC,YAAE,0DAA0D,GAAE,GAC9G;AAAA,KACF;AAEJ;AACA,SAAS,6BAA6B;AACpC,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,QAAK,WAAU,mBACd;AAAA,yBAAC,cACC;AAAA,0BAAC,aAAW,YAAE,mDAAmD,GAAE;AAAA,MACnE,oBAAC,mBAAiB,YAAE,uEAAuE,GAAE;AAAA,MAC7F,oBAAC,cACC,8BAAC,cAAW,MAAK,UAAS,SAAQ,SAAQ,cAAY,EAAE,4CAA4C,GAClG,8BAAC,kBAAe,GAClB,GACF;AAAA,OACF;AAAA,IACA,oBAAC,eACC,+BAAC,eAAY,KAAK,GAAG,MAAK,MACxB;AAAA,0BAAC,UAAO,OAAM,YAAW,MAAK,MAAK;AAAA,MACnC,oBAAC,UAAO,OAAM,eAAc,MAAK,MAAK;AAAA,MACtC,oBAAC,UAAO,OAAM,eAAc,MAAK,MAAK;AAAA,MACtC,oBAAC,UAAO,OAAM,iBAAgB,MAAK,MAAK;AAAA,OAC1C,GACF;AAAA,KACF;AAEJ;AACA,SAAS,+BAA+B;AACtC,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,SAAI,WAAU,mBACb;AAAA,wBAAC,OAAE,WAAU,WAAW,YAAE,uDAAuD,GAAE;AAAA,IACnF,oBAAC,aAAU,WAAU,QAAO;AAAA,IAC5B,oBAAC,OAAE,WAAU,iCAAiC,YAAE,sDAAsD,GAAE;AAAA,KAC1G;AAEJ;AACA,SAAS,+BAA+B;AACtC,QAAM,IAAI,KAAK;AACf,SACE,oBAAC,SAAI,WAAU,mBACb,8BAAC,aAAU,OAAO,EAAE,0CAA0C,GAAG,GACnE;AAEJ;AACA,SAAS,iCAAiC;AACxC,QAAM,IAAI,KAAK;AACf,SACE,oBAAC,cAAW,WAAU,0CACpB,8BAAC,SAAI,WAAU,OACZ,gBAAM;AAAA,IACL;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA,CAAC,GAAG,MACF,qBAAC,OAAU,WAAU,2CAClB;AAAA,QAAE,qDAAqD;AAAA,MACvD,OAAO,aAAa,KAAM,IAAI,CAAE;AAAA,MAAE;AAAA,MAAE,IAAI;AAAA,SAFnC,CAGR;AAAA,EAEJ,GACF,GACF;AAEJ;AACA,SAAS,mCAAmC;AAC1C,QAAM,IAAI,KAAK;AACf,SACE,oBAAC,cAAW,YAAW,cAAa,WAAU,qCAC5C,8BAAC,SAAI,WAAU,wBACZ,gBAAM;AAAA,IACL;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA,CAAC,GAAG,MACF,qBAAC,OAAY,SAAQ,WAAU,OAAM,UAClC;AAAA,QAAE,+CAA+C;AAAA,MACjD,IAAI;AAAA,SAFG,CAGV;AAAA,EAEJ,GACF,GACF;AAEJ;AACA,SAAS,gCAAgC;AACvC,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,gBAAa,WAAU,mBACtB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ,oBAAC,UAAO,OAAM,YAAW,MAAK,MAAK;AAAA,QAC3C,OACE,iCAAE;AAAA;AAAA,UACS;AAAA,UACT,oBAAC,UAAK,WAAU,qCACb,YAAE,+CAA+C,GACpD;AAAA,UACC,EAAE,iDAAiD;AAAA,WACtD;AAAA,QAEF,WAAW,EAAE,+CAA+C;AAAA;AAAA,IAC9D;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ,oBAAC,UAAO,OAAM,eAAc,MAAK,MAAK;AAAA,QAC9C,OACE,iCAAE;AAAA;AAAA,UACY;AAAA,UACZ,oBAAC,UAAK,WAAU,qCACb,YAAE,iEAAiE,GACtE;AAAA,WACF;AAAA,QAEF,WAAW,EAAE,gDAAgD;AAAA,QAC7D,SACE,oBAAC,cAAW,SAAQ,SAAQ,MAAK,MAAK,cAAY,EAAE,4CAA4C,GAC9F,8BAAC,kBAAe,GAClB;AAAA;AAAA,IAEJ;AAAA,KACF;AAEJ;AACA,SAAS,yCAAyC;AAChD,QAAM,IAAI,KAAK;AACf,SACE,oBAAC,gBAAa,WAAU,mBACtB;AAAA,IAAC;AAAA;AAAA,MACC,QAAQ,oBAAC,UAAO,OAAM,eAAc,MAAK,MAAK;AAAA,MAC9C,OACE,iCAAE;AAAA;AAAA,QACY;AAAA,QACZ,oBAAC,UAAK,WAAU,qCACb,YAAE,gDAAgD,GACrD;AAAA,QACC,EAAE,yDAAyD;AAAA,SAC9D;AAAA,MAEF,WAAW,EAAE,gDAAgD;AAAA,MAE7D,8BAAC,wBAAqB,MAAK,mBAAkB,MAAK,OAAM,YAAY,MAAM;AAAA,MAAC,GAAG;AAAA;AAAA,EAChF,GACF;AAEJ;AACA,SAAS,sCAAsC;AAC7C,QAAM,IAAI,KAAK;AACf,SACE,oBAAC,gBAAa,WAAU,mBACtB;AAAA,IAAC;AAAA;AAAA,MACC,QAAQ,oBAAC,UAAO,OAAM,iBAAgB,MAAK,MAAK;AAAA,MAChD,OACE,iCAAE;AAAA;AAAA,QACc;AAAA,QACd,oBAAC,UAAK,WAAU,qCACb,YAAE,iDAAiD,GACtD;AAAA,SACF;AAAA,MAEF,WAAW,EAAE,gDAAgD;AAAA,MAE7D,8BAAC,uBAAoB,SAAS,MAAM;AAAA,MAAC,GAClC,YAAE,8EAA8E,GACnF;AAAA;AAAA,EACF,GACF;AAEJ;AACA,SAAS,sCAAsC;AAC7C,QAAM,IAAI,KAAK;AACf,SACE,oBAAC,gBAAa,WAAU,mBACtB;AAAA,IAAC;AAAA;AAAA,MACC,QAAQ,oBAAC,UAAO,OAAM,cAAa,MAAK,MAAK;AAAA,MAC7C,OACE,iCAAE;AAAA;AAAA,QACW;AAAA,QACX,oBAAC,UAAK,WAAU,qCACb,YAAE,mDAAmD,GACxD;AAAA,SACF;AAAA,MAEF,WAAW,EAAE,gDAAgD;AAAA,MAE7D;AAAA,4BAAC,0BAAuB,QAAO,WAC5B,YAAE,gDAAgD,GACrD;AAAA,QACA,oBAAC,0BAAuB,QAAO,WAC5B,YAAE,mDAAmD,GACxD;AAAA,QACA,oBAAC,0BAAuB,QAAO,SAC5B,YAAE,+CAA+C,GACpD;AAAA;AAAA;AAAA,EACF,GACF;AAEJ;AACA,MAAM,gBAAgB,OAAO,eAAe,WAAW,aAAa,WAAW;AAC/E,MAAM,iBAAiB,OAAO,gBAAgB,WAAW,cAAc,YAAY;AACnF,MAAM,kBAAkB,OAAO,iBAAiB,WAAW,eAAe,aAAa;AACvF,MAAM,wBAAwB,OAAO,uBAAuB,WAAW,qBAAqB,mBAAmB;AAC/G,SAAS,mBAAmB;AAC1B,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,SAAI,WAAU,yCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,WAAW,EAAE,gDAAgD;AAAA,QAC7D,OAAO,oBAAC,SAAM,WAAU,UAAS;AAAA,QACjC,gBAAe;AAAA;AAAA,IACjB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,WAAW,EAAE,8CAA8C;AAAA,QAC3D,OAAO,oBAAC,OAAI,WAAU,UAAS;AAAA,QAC/B,gBAAe;AAAA;AAAA,IACjB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,WAAW,EAAE,gDAAgD;AAAA,QAC7D,OAAO,oBAAC,QAAK,WAAU,UAAS;AAAA,QAChC,gBAAe;AAAA;AAAA,IACjB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,WAAW,EAAE,2CAA2C;AAAA,QACxD,OAAO,oBAAC,QAAK,WAAU,UAAS;AAAA;AAAA,IAClC;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,WAAW,EAAE,8CAA8C;AAAA,QAC3D,OAAO,oBAAC,KAAE,WAAU,UAAS;AAAA,QAC7B,gBAAe;AAAA;AAAA,IACjB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,WAAW,EAAE,oDAAoD;AAAA,QACjE,QAAO;AAAA,QACP,gBAAe;AAAA;AAAA,IACjB;AAAA,KACF;AAEJ;AACA,SAAS,oBAAoB,EAAE,KAAK,GAA4D;AAC9F,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,SAAI,WAAU,oCACb;AAAA,wBAAC,aAAU,WAAU,kBAAiB;AAAA,IACrC,SAAS,SACR,oBAAC,cAAW,MAAK,WAAU,cAAY,EAAE,8CAA8C,GACrF,8BAAC,QAAK,WAAU,UAAS,GAC3B,IACE,SAAS,eACX,qBAAC,eAAY,cAAY,EAAE,kDAAkD,GAC3E;AAAA,0BAAC,cAAW,MAAK,WAAU,cAAY,EAAE,mDAAmD,GAC1F,8BAAC,eAAY,WAAU,UAAS,GAClC;AAAA,MACA,oBAAC,cAAW,MAAK,WAAU,cAAY,EAAE,8CAA8C,GACrF,8BAAC,QAAK,WAAU,UAAS,GAC3B;AAAA,MACA,oBAAC,cAAW,MAAK,WAAU,cAAY,EAAE,+CAA+C,GACtF,8BAAC,gBAAa,WAAU,UAAS,GACnC;AAAA,OACF,IACE,SAAS,SACX,oBAAC,UAAO,MAAK,UAAS,MAAK,MAAK,SAAQ,WAAU,WAAU,UACzD,YAAE,8CAA8C,GACnD,IAEA,qBAAC,eAAY,MAAK,MAAK,cAAY,EAAE,kDAAkD,GACrF;AAAA,0BAAC,UAAO,MAAK,UAAS,MAAK,MAAK,SAAQ,WAAU,WAAU,UACzD,YAAE,mDAAmD,GACxD;AAAA,MACA,oBAAC,UAAO,MAAK,UAAS,MAAK,MAAK,SAAQ,WAAU,WAAU,UACzD,YAAE,8CAA8C,GACnD;AAAA,MACA,oBAAC,UAAO,MAAK,UAAS,MAAK,MAAK,SAAQ,WAAU,WAAU,UACzD,YAAE,+CAA+C,GACpD;AAAA,OACF;AAAA,IAEF,oBAAC,aAAU,WAAU,kBAAiB;AAAA,KACxC;AAEJ;AACA,SAAS,kBAAkB,EAAE,KAAK,GAA0C;AAC1E,QAAM,IAAI,KAAK;AACf,SAAO,SAAS,SACd,oBAAC,aAAU,SAAO,MAAC,OAAO,EAAE,6CAA6C,GAAG,WAAU,4BAA2B,IAEjH,qBAAC,SAAI,WAAU,qBACb;AAAA,wBAAC,aAAU,OAAO,EAAE,6CAA6C,GAAG,YAAW,SAAQ;AAAA,IACvF,oBAAC,aAAU,OAAO,EAAE,6CAA6C,GAAG,YAAW,UAAS;AAAA,IACxF,oBAAC,aAAU,OAAO,EAAE,6CAA6C,GAAG,YAAW,OAAM;AAAA,KACvF;AAEJ;AAOA,SAAS,oBAAoB,EAAE,WAAW,GAA8D;AACtG,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,SAAI,WAAU,aACb;AAAA,wBAAC,SAAI,WAAU,wBACX,WAAC,WAAW,QAAQ,WAAW,SAAS,WAAW,QAAQ,UAAU,UAAU,OAAO,MAAM,EAAY;AAAA,MACxG,CAAC,SACC,oBAAC,SAAiB,YAAwB,MAAY,KAAG,MACtD,kBADS,IAEZ;AAAA,IAEJ,GACF;AAAA,IACA,oBAAC,OAAE,WAAU,qDACV,YAAE,qDAAqD,GAC1D;AAAA,KACF;AAEJ;AACA,SAAS,sBAAsB;AAC7B,QAAM,IAAI,KAAK;AACf,QAAM,QAAQ,EAAE,+CAA+C;AAC/D,SACE,oBAAC,SAAI,WAAU,uBACX,WAAC,IAAI,EAAE,EAAY,IAAI,CAAC,SACxB,qBAAC,SAAe,WAAU,qCACxB;AAAA,yBAAC,UAAK,WAAU,sCAAsC;AAAA;AAAA,MAAK;AAAA,OAAE;AAAA,IAC7D,oBAAC,SAAM,MAAY,YAAW,UAAS,MAAK,UACzC,iBACH;AAAA,IACA,oBAAC,SAAM,MAAY,YAAW,SAAQ,MAAK,UAAS,KAAG,MACpD,iBACH;AAAA,IACA,oBAAC,SAAM,MAAY,YAAW,WAAU,MAAK,OAAM,aAAa,oBAAC,QAAK,GACnE,iBACH;AAAA,IACA,oBAAC,SAAM,MAAY,YAAW,UAAS,MAAK,QAAO,cAAc,oBAAC,gBAAa,GAC5E,iBACH;AAAA,IACA,oBAAC,SAAM,MAAY,YAAW,UAAS,MAAK,QAAO,SAAO,MACvD,aACH;AAAA,IACA,oBAAC,SAAM,MAAY,YAAW,UAAS,MAAK,QAAO,SAAO,MACvD,eACH;AAAA,IACA,oBAAC,SAAM,MAAY,YAAW,UAAS,MAAK,UAAS,UAAQ,MAC1D,iBACH;AAAA,OAtBQ,IAuBV,CACD,GACH;AAEJ;AACA,SAAS,mBAAmB;AAC1B,QAAM,IAAI,KAAK;AACf,QAAM,QAAQ,EAAE,+CAA+C;AAC/D,SACE,qBAAC,SAAI,WAAU,qCACb;AAAA,wBAAC,SAAM,YAAW,WAAU,MAAK,QAC9B,iBACH;AAAA,IACA,oBAAC,SAAM,YAAW,WAAU,MAAK,QAAO,KAAG,MACxC,iBACH;AAAA,IACA,oBAAC,SAAM,YAAW,WAAU,MAAK,QAAO,aAAa,oBAAC,QAAK,GACxD,iBACH;AAAA,IACA,oBAAC,SAAM,YAAW,WAAU,MAAK,QAAO,cAAc,oBAAC,gBAAa,GACjE,iBACH;AAAA,IACA,oBAAC,SAAM,YAAW,UAAS,MAAK,QAC7B,aACH;AAAA,IACA,oBAAC,SAAM,YAAW,UAAS,MAAK,QAC7B,cACH;AAAA,KACF;AAEJ;AACA,SAAS,oBAAoB;AAC3B,QAAM,IAAI,KAAK;AACf,SACE,oBAAC,SAAI,WAAU,wBACX,WAAC,UAAU,SAAS,WAAW,QAAQ,EAAY,IAAI,CAAC,eACxD,oBAAC,SAAuB,YAAwB,MAAK,QAAO,UAAQ,MAAC,aAAa,oBAAC,QAAK,GACrF,YAAE,gDAAgD,KADzC,UAEZ,CACD,GACH;AAEJ;AACA,SAAS,qBAAqB;AAC5B,QAAM,IAAI,KAAK;AACf,QAAM,CAAC,SAAS,UAAU,IAAI,MAAM,SAAS,IAAI;AACjD,QAAM,SAAS,EAAE,gDAAgD;AACjE,QAAM,SAAS,EAAE,gDAAgD;AACjE,SACE,qBAAC,SAAI,WAAU,qCACZ;AAAA,eACC;AAAA,MAAC;AAAA;AAAA,QACC,YAAW;AAAA,QACX,MAAK;AAAA,QACL,WAAS;AAAA,QACT,UAAU,MAAM,WAAW,KAAK;AAAA,QAChC,iBAAiB,EAAE,kDAAkD;AAAA,UACnE,OAAO;AAAA,QACT,CAAC;AAAA,QAEA;AAAA;AAAA,IACH;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC,YAAW;AAAA,QACX,MAAK;AAAA,QACL,UAAQ;AAAA,QACR,WAAS;AAAA,QACT,UAAU,MAAM,WAAW,KAAK;AAAA,QAChC,iBAAiB,EAAE,kDAAkD;AAAA,UACnE,OAAO;AAAA,QACT,CAAC;AAAA,QAEA;AAAA;AAAA,IACH;AAAA,IACA,oBAAC,UAAO,MAAK,UAAS,SAAQ,WAAU,MAAK,MAAK,UAAU,SAAS,SAAS,MAAM,WAAW,IAAI,GAChG,YAAE,iDAAiD,GACtD;AAAA,KACF;AAEJ;AACA,SAAS,qBAAqB,EAAE,WAAW,GAAuC;AAChF,SACE,oBAAC,SAAI,WAAU,cACZ,WAAC,MAAM,KAAK,EAAE,IAAI,CAAC,QAClB,oBAAC,SAAsB,WAAU,wBAC7B,WAAC,WAAW,WAAW,SAAS,QAAQ,SAAS,EAAY,IAAI,CAAC,YAClE,oBAAC,eAA0B,SAAkB,YAAwB,KAClE,qBADe,OAElB,CACD,KALO,OAAO,GAAG,CAMpB,CACD,GACH;AAEJ;AACA,SAAS,kBAAkB,EAAE,WAAW,GAAsC;AAC5E,QAAM,IAAI,KAAK;AACf,SACE,qBAAC,SAAI,WAAU,aACb;AAAA,yBAAC,SAAI,WAAU,qCACb;AAAA,0BAAC,OAAI,YAAyB,YAAE,+CAA+C,GAAE;AAAA,MACjF,oBAAC,OAAI,YAAwB,SAAS,oBAAC,QAAK,GACzC,YAAE,kDAAkD,GACvD;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,SAAS,oBAAC,SAAI,KAAK,gBAAgB,KAAI,IAAG,WAAU,oCAAmC;AAAA,UACxF;AAAA;AAAA,MAED;AAAA,MACA,oBAAC,OAAI,YAAwB,SAAS,oBAAC,UAAK,gCAAI,GAC7C,YAAE,iDAAiD,GACtD;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,SAAS,oBAAC,SAAI,KAAK,eAAe,KAAI,IAAG,WAAU,8BAA6B;AAAA,UACjF;AAAA;AAAA,MAED;AAAA,MACA,oBAAC,OAAI,YAAwB,SAAS,oBAAC,aAAU,GAAI,UAAS,OAAM,0BAEpE;AAAA,OACF;AAAA,IACA,oBAAC,OAAE,WAAU,qDACV,YAAE,iDAAiD,GACtD;AAAA,KACF;AAEJ;AACA,SAAS,mBAAmB;AAC1B,QAAM,IAAI,KAAK;AACf,QAAM,CAAC,SAAS,UAAU,IAAI,MAAM,SAAmB,CAAC,CAAC;AACzD,QAAM,SAAS,EAAE,gDAAgD;AACjE,QAAM,SAAS,EAAE,gDAAgD;AACjE,SACE,qBAAC,SAAI,WAAU,aACb;AAAA,wBAAC,OAAE,WAAU,qDACV,YAAE,oDAAoD,GACzD;AAAA,IACA,qBAAC,SAAI,WAAU,qCACX;AAAA,OAAC,UAAU,MAAM,EAAY,IAAI,CAAC,eAClC,qBAAC,MAAM,UAAN,EACE;AAAA,SAAC,QAAQ,SAAS,UAAU,KAC3B;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,SAAS,oBAAC,QAAK;AAAA,YACf,UAAS;AAAA,YACT,UAAU,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,SAAS,UAAU,CAAC;AAAA,YAChE,iBAAiB,EAAE,kDAAkD;AAAA,cACnE,OAAO;AAAA,YACT,CAAC;AAAA,YAEA;AAAA;AAAA,QACH;AAAA,QAEF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,UAAQ;AAAA,YACR,SAAS,oBAAC,QAAK;AAAA,YACf,UAAS;AAAA,YACT,UAAU,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,SAAS,UAAU,CAAC;AAAA,YAChE,iBAAiB,EAAE,kDAAkD;AAAA,cACnE,OAAO;AAAA,YACT,CAAC;AAAA,YAEA;AAAA;AAAA,QACH;AAAA,WAzBmB,UA0BrB,CACD;AAAA,MACD,oBAAC,UAAO,MAAK,UAAS,SAAQ,WAAU,MAAK,MAAK,UAAU,CAAC,QAAQ,QAAQ,SAAS,MAAM,WAAW,CAAC,CAAC,GACtG,YAAE,iDAAiD,GACtD;AAAA,OACF;AAAA,KACF;AAEJ;AACA,MAAM,aAA2B;AAAA,EAC/B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,OAAO;AAAA,IACL,IAAI;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM,CAAC,6EAA6E;AAAA,EACtF;AAAA,EACA,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,6BAA0B;AAAA,MACzC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,0BAAuB;AAAA,MACtC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,wBAAqB;AAAA,MACpC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,sBAAmB;AAAA,MAClC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,YAAW,UAAS;AAAA,MACvD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,YAAW,SAAQ;AAAA,MACtD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,YAAW,WAAU;AAAA,MACxD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,YAAW,UAAS;AAAA,MACvD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,oBAAiB;AAAA,MAChC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,qBAAkB;AAAA,MACjC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB;AAAA,MACnC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsBR;AAAA,EACF;AACF;AACA,MAAM,mBAAiC;AAAA,EACrC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,OAAO;AAAA,IACL,IAAI;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM,CAAC,+DAA0D;AAAA,EACnE;AAAA,EACA,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,kCAA+B;AAAA,MAC9C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,qCAAkC;AAAA,MACjD,MAAM;AAAA;AAAA;AAAA;AAAA,IAIR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,wBAAqB,YAAW,SAAQ;AAAA,MACvD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,wBAAqB,YAAW,UAAS;AAAA,MACxD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,EACF;AACF;AACA,MAAM,WAAyB;AAAA,EAC7B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,OAAO;AAAA,IACL,IAAI,CAAC,kFAAkF;AAAA,IACvF,MAAM,CAAC,mDAA8C;AAAA,EACvD;AAAA,EACA,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,iCACE;AAAA,4BAAC,OAAI,qBAAO;AAAA,QACZ,oBAAC,OAAI,SAAQ,WAAU,qBAAO;AAAA,QAC9B,oBAAC,OAAI,SAAQ,WAAU,qBAAO;AAAA,QAC9B,oBAAC,OAAI,SAAQ,SAAQ,mBAAK;AAAA,QAC1B,oBAAC,OAAI,SAAQ,QAAO,kBAAI;AAAA,QACxB,oBAAC,OAAI,SAAQ,WAAU,qBAAO;AAAA,QAC9B,oBAAC,OAAI,SAAQ,SAAQ,mBAAK;AAAA,QAC1B,oBAAC,OAAI,SAAQ,QAAO,kBAAI;AAAA,SAC1B;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,sBAAmB;AAAA,MAClC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,iCACE;AAAA,4BAAC,OAAI,OAAM,UAAS,qBAAO;AAAA,QAC3B,oBAAC,OAAI,SAAQ,QAAO,OAAM,UAAS,KAAG,MAAC,kBAEvC;AAAA,SACF;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA,IAIR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,oBAAiB;AAAA,MAChC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,qBAAkB,YAAW,UAAS;AAAA,MACrD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,qBAAkB,YAAW,QAAO;AAAA,MACnD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASR;AAAA,EACF;AACF;AACA,MAAM,cAA4B;AAAA,EAChC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,OAAO;AAAA,IACL,IAAI;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,iCACE;AAAA,4BAAC,UAAO,OAAM,YAAW,MAAK,MAAK;AAAA,QACnC,oBAAC,UAAO,OAAM,YAAW,MAAK,MAAK;AAAA,QACnC,oBAAC,UAAO,OAAM,YAAW,MAAK,MAAK;AAAA,QACnC,oBAAC,UAAO,OAAM,YAAW,MAAK,MAAK;AAAA,QACnC,oBAAC,UAAO,OAAM,YAAW,MAAK,MAAK;AAAA,SACrC;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,oBAAC,SAAI,WAAU,kCACX,WAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAY,IAAI,CAAC,SACpD,qBAAC,SAAe,WAAU,oCACxB;AAAA,4BAAC,UAAO,OAAM,YAAW,MAAY;AAAA,QACrC,qBAAC,UAAK,WAAU,iCAAiC;AAAA;AAAA,UAAK;AAAA,WAAE;AAAA,WAFhD,IAGV,CACD,GACH;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,oBAAC,SAAI,WAAU,qBACX,WAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAY,IAAI,CAAC,SACpD,qBAAC,SAAe,WAAU,qCACxB;AAAA,6BAAC,UAAK,WAAU,iCAAiC;AAAA;AAAA,UAAK;AAAA,WAAE;AAAA,QACxD,qBAAC,eAAY,MAAY,KAAK,GAAG,eAAe,IAC9C;AAAA,8BAAC,UAAO,OAAM,YAAW,MAAY;AAAA,UACrC,oBAAC,UAAO,OAAM,eAAc,MAAY;AAAA,UACxC,oBAAC,UAAO,OAAM,eAAc,MAAY;AAAA,WAC1C;AAAA,WANQ,IAOV,CACD,GACH;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,UAAO,OAAM,eAAc,KAAK,gBAAgB,MAAK,MAAK;AAAA,MACzE,MAAM;AAAA;AAAA;AAAA;AAAA,IAIR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,UAAO,OAAM,eAAc,KAAK,iBAAiB,MAAK,MAAK,SAAQ,cAAa;AAAA,MAC/F,MAAM;AAAA;AAAA;AAAA;AAAA,IAIR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,UAAO,OAAM,eAAc,KAAK,uBAAuB,MAAK,MAAK,SAAQ,cAAa;AAAA,MACrG,MAAM;AAAA;AAAA;AAAA;AAAA,IAIR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,UAAO,OAAM,eAAc,MAAM,oBAAC,UAAK,GAAI,MAAK,MAAK,SAAQ,cAAa;AAAA,MACzF,MAAM;AAAA;AAAA;AAAA,IAGR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,UAAO,OAAM,eAAc,MAAM,oBAAC,QAAK,GAAI,MAAK,MAAK,SAAQ,cAAa;AAAA,MACzF,MAAM;AAAA;AAAA;AAAA;AAAA,IAIR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,iCACE;AAAA,4BAAC,UAAO,OAAM,eAAc;AAAA,QAC5B,oBAAC,UAAO,OAAM,eAAc,SAAQ,cAAa;AAAA,QACjD,oBAAC,UAAO,OAAM,aAAY,MAAM,oBAAC,aAAU,GAAI,SAAQ,cAAa;AAAA,SACtE;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,iCACE;AAAA,4BAAC,UAAO,OAAM,YAAW,QAAO,UAAS;AAAA,QACzC,oBAAC,UAAO,OAAM,eAAc,QAAO,QAAO;AAAA,QAC1C,oBAAC,UAAO,OAAM,eAAc,QAAO,QAAO;AAAA,QAC1C,oBAAC,UAAO,OAAM,iBAAgB,QAAO,WAAU;AAAA,SACjD;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,oBAAiB;AAAA,MAChC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN;AAAA,QAAC;AAAA;AAAA,UACC,OAAM;AAAA,UACN,KAAK;AAAA,UACL,MAAK;AAAA,UACL,OAAO,oBAAC,aAAU,WAAU,UAAS;AAAA,UACrC,gBAAe;AAAA;AAAA,MACjB;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,qBAAC,SAAI,WAAU,4BACb;AAAA,4BAAC,UAAO,OAAM,YAAW,MAAI,MAAC;AAAA,QAC9B,oBAAC,UAAO,OAAM,eAAc,MAAK,WAAU;AAAA,QAC3C,oBAAC,UAAO,OAAM,eAAc,MAAK,WAAU;AAAA,QAC3C,oBAAC,UAAO,OAAM,iBAAgB,MAAK,SAAQ;AAAA,QAC3C,oBAAC,UAAO,OAAM,cAAa,MAAK,SAAQ;AAAA,SAC1C;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,oBAAC,SAAI,WAAU,cACX,WAAC,MAAM,MAAM,MAAM,MAAM,IAAI,EAAY,IAAI,CAAC,SAC9C,qBAAC,eAAuB,MAAY,KAAK,GAAG,eAAe,IACzD;AAAA,4BAAC,UAAO,OAAM,YAAW,MAAY;AAAA,QACrC,oBAAC,UAAO,OAAM,eAAc,MAAY;AAAA,QACxC,oBAAC,UAAO,OAAM,eAAc,MAAY;AAAA,WAHxB,IAIlB,CACD,GACH;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,qBAAC,eAAY,KAAK,GAChB;AAAA,4BAAC,UAAO,OAAM,YAAW;AAAA,QACzB,oBAAC,UAAO,OAAM,eAAc;AAAA,QAC5B,oBAAC,UAAO,OAAM,eAAc;AAAA,QAC5B,oBAAC,UAAO,OAAM,iBAAgB;AAAA,QAC9B,oBAAC,UAAO,OAAM,cAAa;AAAA,SAC7B;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASR;AAAA,EACF;AACF;AACA,MAAM,WAAyB;AAAA,EAC7B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,iCACE;AAAA,4BAAC,OAAI,oBAAC;AAAA,QACN,oBAAC,OAAI,mBAAK;AAAA,QACV,oBAAC,OAAI,mBAAK;AAAA,SACZ;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,iCACE;AAAA,4BAAC,eAAY,MAAM,CAAC,UAAK,GAAG,GAAG;AAAA,QAC/B,oBAAC,eAAY,MAAM,CAAC,QAAQ,SAAS,GAAG,GAAG;AAAA,SAC7C;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA,IAIR;AAAA,EACF;AACF;AACA,MAAM,aAA2B;AAAA,EAC/B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB;AAAA,MACnC,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,qBAAkB,WAAW,IAAI;AAAA,MAChD,MAAM,qBAAqB,EAAE;AAAA,IAC/B;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,qBAAkB,WAAW,IAAI;AAAA,MAChD,MAAM,qBAAqB,EAAE;AAAA,IAC/B;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,4BAAyB;AAAA,MACxC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,4BAAyB;AAAA,MACxC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,+BAA4B;AAAA,MAC3C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYR;AAAA,EACF;AACF;AACA,MAAM,YAA0B;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,2BAAwB;AAAA,MACvC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,8BAA2B;AAAA,MAC1C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsBR;AAAA,EACF;AACF;AACA,MAAM,iBAA+B;AAAA,EACnC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,OAAO;AAAA,IACL,IAAI;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,gCAA6B;AAAA,MAC5C,MAAM;AAAA;AAAA;AAAA,IAGR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,oBAAC,SAAI,WAAU,gCACb,8BAAC,aAAU,GACb;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA,IAGR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,gCAA6B;AAAA,MAC5C,MAAM;AAAA;AAAA;AAAA,IAGR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,qBAAkB,MAAK,QAAO;AAAA,MAC7C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,qBAAkB,MAAK,oBAAmB;AAAA,MACzD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,oBAAC,SAAI,WAAU,mBACb,8BAAC,aAAU,SAAO,MAAC,OAAO,oBAAoB,WAAU,QAAO,GACjE;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA,IAGR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,QAAO;AAAA,MAC/C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,cAAa;AAAA,MACrD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,QAAO;AAAA,MAC/C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,cAAa;AAAA,MACrD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,qBAAC,SAAI,WAAU,gCACb;AAAA,4BAAC,UAAO,OAAM,YAAW;AAAA,QACzB,oBAAC,aAAU,aAAY,YAAW;AAAA,QAClC,oBAAC,UAAO,OAAM,eAAc;AAAA,QAC5B,oBAAC,aAAU,aAAY,YAAW,SAAQ,UAAS;AAAA,QACnD,oBAAC,UAAO,OAAM,eAAc;AAAA,SAC9B;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MACN,oBAAC,SAAI,WAAU,mBACb,8BAAC,aAAU,SAAQ,UAAS,GAC9B;AAAA,MAEF,MAAM;AAAA;AAAA;AAAA,IAGR;AAAA,EACF;AACF;AACA,SAAS,gBAAgB;AAAA,EACvB;AAAA,EACA;AAAA,EACA,aAAa;AACf,GAIG;AACD,QAAM,IAAI,KAAK;AACf,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,YAAY,aAAa,eAAe;AAAA,MACxC,WAAU;AAAA,MAEV,8BAAC,SAAI,WAAW,aAAa,yBAAyB,gCACnD,gBAAM;AAAA,QACL;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA,CAAC,GAAG,UACF,oBAAC,OAAc,WAAU,6BACtB,YAAE,4CAA4C;AAAA,UAC7C,QAAQ,QAAQ;AAAA,QAClB,CAAC,KAHK,KAIR;AAAA,MAEJ,GACF;AAAA;AAAA,EACF;AAEJ;AACA,MAAM,kBAAgC;AAAA,EACpC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,mBAAgB,MAAK,MAAK,SAAQ,WAAU;AAAA,MAC3D,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,mBAAgB,MAAK,MAAK,SAAQ,WAAU;AAAA,MAC3D,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,mBAAgB,MAAK,MAAK,SAAQ,WAAU;AAAA,MAC3D,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,mBAAgB,MAAK,MAAK,SAAQ,WAAU;AAAA,MAC3D,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,mBAAgB,MAAK,MAAK,SAAQ,WAAU;AAAA,MAC3D,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,mBAAgB,MAAK,MAAK,SAAQ,WAAU;AAAA,MAC3D,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,mBAAgB,MAAK,MAAK,SAAQ,WAAU,YAAU,MAAC;AAAA,MACtE,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,kCAA+B;AAAA,MAC9C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,oCAAiC;AAAA,MAChD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,EACF;AACF;AACA,MAAM,oBAAkC;AAAA,EACtC,IAAI;AAAA,EACJ,aAAa;AAAA,EACb,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB;AAAA,MACnC,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,iCAA8B;AAAA,MAC7C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,0CAAuC;AAAA,MACtD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uCAAoC;AAAA,MACnD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uCAAoC;AAAA,MACnD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYR;AAAA,EACF;AACF;AACA,MAAM,qBAAmC;AAAA,EACvC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,SAAQ,MAAM,IAAI;AAAA,MAC1D,MAAM,wBAAwB,gDAAgD;AAAA,IAChF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,QAAO,MAAM,IAAI;AAAA,MACzD,MAAM,wBAAwB,+CAA+C;AAAA,IAC/E;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,UAAS,MAAM,IAAI;AAAA,MAC3D,MAAM,wBAAwB,iDAAiD;AAAA,IACjF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,SAAQ,MAAM,IAAI;AAAA,MAC1D,MAAM,wBAAwB,gDAAgD;AAAA,IAChF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,WAAU,MAAM,IAAI;AAAA,MAC5D,MAAM,wBAAwB,kDAAkD;AAAA,IAClF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,SAAQ,MAAM,IAAI;AAAA,MAC1D,MAAM,wBAAwB,gDAAgD;AAAA,IAChF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,QAAO,MAAM,IAAI;AAAA,MACzD,MAAM,wBAAwB,+CAA+C;AAAA,IAC/E;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,UAAS,MAAM,IAAI;AAAA,MAC3D,MAAM,wBAAwB,iDAAiD;AAAA,IACjF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,SAAQ,MAAM,IAAI;AAAA,MAC1D,MAAM,wBAAwB,gDAAgD;AAAA,IAChF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,WAAU,MAAM,IAAI;AAAA,MAC5D,MAAM,wBAAwB,kDAAkD;AAAA,IAClF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,MAAK,QAAO,MAAM,IAAI,cAAY,MAAC;AAAA,MACtE,MAAM,wBAAwB,4DAA4D;AAAA,IAC5F;AAAA,EACF;AACF;AACA,MAAM,oBAAkC;AAAA,EACtC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,sBAAmB,MAAK,SAAQ;AAAA,MAC/C,MAAM,wBAAwB,qCAAqC;AAAA,IACrE;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,sBAAmB,MAAK,QAAO;AAAA,MAC9C,MAAM,wBAAwB,oCAAoC;AAAA,IACpE;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,sBAAmB,MAAK,UAAS;AAAA,MAChD,MAAM,wBAAwB,sCAAsC;AAAA,IACtE;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,sBAAmB,MAAK,YAAW;AAAA,MAClD,MAAM,wBAAwB,wCAAwC;AAAA,IACxE;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,sBAAmB,MAAK,SAAQ;AAAA,MAC/C,MAAM,wBAAwB,qCAAqC;AAAA,IACrE;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,sBAAmB,MAAK,WAAU;AAAA,MACjD,MAAM,wBAAwB,uCAAuC;AAAA,IACvE;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,sBAAmB,MAAK,QAAO,UAAQ,MAAC;AAAA,MACvD,MAAM,wBAAwB,6CAA6C;AAAA,IAC7E;AAAA,EACF;AACF;AACA,MAAM,gBAA8B;AAAA,EAClC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,mBAAgB;AAAA,MAC/B,MAAM,wBAAwB,qBAAqB;AAAA,IACrD;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,mBAAgB,YAAW,WAAU;AAAA,MACpD,MAAM,wBAAwB,0CAA0C;AAAA,IAC1E;AAAA,EACF;AACF;AACA,MAAM,oBAAkC;AAAA,EACtC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB;AAAA,MACnC,MAAM,wBAAwB,yBAAyB;AAAA,IACzD;AAAA,EACF;AACF;AACA,MAAM,oBAAkC;AAAA,EACtC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB;AAAA,MACnC,MAAM,wBAAwB,yBAAyB;AAAA,IACzD;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,uBAAoB,aAAW,MAAC;AAAA,MAC/C,MAAM,wBAAwB,qCAAqC;AAAA,IACrE;AAAA,EACF;AACF;AACA,MAAM,wBAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,UAAU;AAAA,IACR;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,0BAAuB;AAAA,MACtC,MAAM,wBAAwB,4BAA4B;AAAA,IAC5D;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM,oBAAC,0BAAuB,MAAM,IAAI;AAAA,MAChD,MAAM,wBAAwB,sCAAsC;AAAA,IACtE;AAAA,EACF;AACF;AACO,MAAM,UAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|