orionplace-react 0.1.0 → 0.2.1
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/README.md +332 -38
- package/bin/orionplace-react.mjs +4 -1
- package/package.json +18 -5
- package/runtime/app.d.mts +6 -0
- package/runtime/app.mjs +48 -0
- package/runtime/marketplace.d.mts +13 -8
- package/runtime/marketplace.mjs +287 -211
- package/src/project-readme.mjs +95 -35
- package/src/setup.mjs +36 -13
- package/templates/app/StorefrontShell.tsx +435 -0
- package/templates/app/[[...path]]/page.app.tsx +11 -0
- package/templates/app/_storefront/ActivityPage.tsx +23 -0
- package/templates/app/_storefront/AddressesPage.tsx +29 -0
- package/templates/app/_storefront/AppRoutes.tsx +182 -0
- package/templates/app/_storefront/ArticlePage.tsx +81 -0
- package/templates/app/_storefront/CartPage.tsx +53 -0
- package/templates/app/_storefront/CatalogPage.tsx +37 -0
- package/templates/app/_storefront/CategoryPage.tsx +64 -0
- package/templates/app/_storefront/ContactPage.tsx +32 -0
- package/templates/app/_storefront/HomePage.tsx +140 -0
- package/templates/app/_storefront/JournalPage.tsx +36 -0
- package/templates/app/_storefront/LogoutPage.tsx +91 -0
- package/templates/app/_storefront/ManufacturersPage.tsx +64 -0
- package/templates/app/_storefront/OrdersPage.tsx +129 -0
- package/templates/app/_storefront/ProductPage.tsx +105 -0
- package/templates/app/_storefront/ProfilePage.tsx +75 -0
- package/templates/app/_storefront/PromoPage.tsx +66 -0
- package/templates/app/_storefront/PromocodesPage.tsx +17 -0
- package/templates/app/_storefront/SearchPage.tsx +220 -0
- package/templates/app/_storefront/SellersPage.tsx +160 -0
- package/templates/app/_storefront/StorefrontErrorRoute.tsx +42 -0
- package/templates/app/_storefront/StorefrontPageMetadata.tsx +74 -0
- package/templates/app/_storefront/StorefrontPageStatus.tsx +61 -0
- package/templates/app/_storefront/StoresPage.tsx +53 -0
- package/templates/app/_storefront/SubscriptionsPage.tsx +62 -0
- package/templates/app/_storefront/SupportPage.tsx +141 -0
- package/templates/app/_storefront/TariffsPage.tsx +180 -0
- package/templates/app/_storefront/UnsubscribePage.tsx +29 -0
- package/templates/app/_storefront/WalletPage.tsx +78 -0
- package/templates/app/_storefront/WishlistPage.tsx +79 -0
- package/templates/app/_storefront/storefrontRoutes.tsx +738 -0
- package/templates/app/_storefront/useAccountWallet.ts +27 -0
- package/templates/app/_storefront/useBlogComments.ts +389 -0
- package/templates/app/_storefront/useProductSearch.ts +171 -0
- package/templates/app/_storefront/useStorefrontNavigation.ts +36 -0
- package/templates/app/activity/page.tsx +9 -0
- package/templates/app/addresses/page.tsx +9 -0
- package/templates/app/api/[...orionplace]/route.ts +11 -4
- package/templates/app/browse/page.tsx +27 -0
- package/templates/app/cart/page.tsx +9 -0
- package/templates/app/catalog/page.tsx +9 -0
- package/templates/app/category/[id]/page.tsx +9 -0
- package/templates/app/contact/page.tsx +9 -0
- package/templates/app/error.tsx +7 -0
- package/templates/app/featured/page.tsx +9 -0
- package/templates/app/global-error.tsx +61 -0
- package/templates/app/globals.css +50 -2
- package/templates/app/journal/[id]/page.tsx +9 -0
- package/templates/app/journal/page.tsx +9 -0
- package/templates/app/layout.app.tsx +20 -0
- package/templates/app/layout.tsx +44 -10
- package/templates/app/logout/page.tsx +9 -0
- package/templates/app/manufacturers/page.tsx +9 -0
- package/templates/app/not-found.tsx +5 -0
- package/templates/app/orders/page.tsx +9 -0
- package/templates/app/page.module.css +12 -8
- package/templates/app/page.tsx +8 -79
- package/templates/app/product/[id]/page.tsx +9 -0
- package/templates/app/profile/page.tsx +9 -0
- package/templates/app/promo/[id]/page.tsx +9 -0
- package/templates/app/promocodes/page.tsx +9 -0
- package/templates/app/ps3/blog/[...orionplace]/route.ts +13 -0
- package/templates/app/sellers/page.tsx +9 -0
- package/templates/app/storefront.module.css +406 -0
- package/templates/app/stores/page.tsx +9 -0
- package/templates/app/subscriptions/page.tsx +9 -0
- package/templates/app/tariffs/[slug]/[id]/page.tsx +9 -0
- package/templates/app/tariffs/page.tsx +9 -0
- package/templates/app/tickets/page.tsx +9 -0
- package/templates/app/unsubscribe/page.tsx +9 -0
- package/templates/app/wallet/page.tsx +9 -0
- package/templates/app/wishlist/page.tsx +9 -0
- package/templates/components/orionplace/account/AccountActivity.README.md +70 -0
- package/templates/components/orionplace/account/AccountActivity.module.css +16 -0
- package/templates/components/orionplace/account/AccountActivity.tsx +94 -0
- package/templates/components/orionplace/account/AccountPromocodes.README.md +70 -0
- package/templates/components/orionplace/account/AccountPromocodes.module.css +92 -0
- package/templates/components/orionplace/account/AccountPromocodes.tsx +257 -0
- package/templates/components/orionplace/account/AccountSection.README.md +46 -0
- package/templates/components/orionplace/account/AccountSection.module.css +110 -0
- package/templates/components/orionplace/account/AccountSection.tsx +109 -0
- package/templates/components/orionplace/account/ProfileAvatar.README.md +48 -0
- package/templates/components/orionplace/account/ProfileAvatar.module.css +31 -0
- package/templates/components/orionplace/account/ProfileAvatar.tsx +138 -0
- package/templates/components/orionplace/account/ProfileDeleteAccount.README.md +59 -0
- package/templates/components/orionplace/account/ProfileDeleteAccount.module.css +51 -0
- package/templates/components/orionplace/account/ProfileDeleteAccount.tsx +171 -0
- package/templates/components/orionplace/account/ProfileDetailsForm.README.md +44 -0
- package/templates/components/orionplace/account/ProfileDetailsForm.module.css +35 -0
- package/templates/components/orionplace/account/ProfileDetailsForm.tsx +178 -0
- package/templates/components/orionplace/account/ProfileEmailSettings.README.md +52 -0
- package/templates/components/orionplace/account/ProfileEmailSettings.module.css +51 -0
- package/templates/components/orionplace/account/ProfileEmailSettings.tsx +276 -0
- package/templates/components/orionplace/account/ProfilePasswordForm.README.md +45 -0
- package/templates/components/orionplace/account/ProfilePasswordForm.module.css +43 -0
- package/templates/components/orionplace/account/ProfilePasswordForm.tsx +227 -0
- package/templates/components/orionplace/account/ProfileSignIn.README.md +64 -0
- package/templates/components/orionplace/account/ProfileSignIn.module.css +86 -0
- package/templates/components/orionplace/account/ProfileSignIn.tsx +463 -0
- package/templates/components/orionplace/account/SignInHistory.README.md +52 -0
- package/templates/components/orionplace/account/SignInHistory.module.css +81 -0
- package/templates/components/orionplace/account/SignInHistory.tsx +231 -0
- package/templates/components/orionplace/account/StorefrontLogout.README.md +48 -0
- package/templates/components/orionplace/account/StorefrontLogout.module.css +166 -0
- package/templates/components/orionplace/account/StorefrontLogout.tsx +73 -0
- package/templates/components/orionplace/account/StorefrontProfile.README.md +71 -0
- package/templates/components/orionplace/account/StorefrontProfile.module.css +65 -0
- package/templates/components/orionplace/account/StorefrontProfile.tsx +189 -0
- package/templates/components/orionplace/account/account.module.css +1180 -0
- package/templates/components/orionplace/account/profile.module.css +696 -0
- package/templates/components/orionplace/address/AddressForm.README.md +152 -0
- package/templates/components/orionplace/address/AddressForm.module.css +336 -0
- package/templates/components/orionplace/address/AddressForm.tsx +827 -0
- package/templates/components/orionplace/address/StorefrontAddresses.README.md +99 -0
- package/templates/components/orionplace/address/StorefrontAddresses.module.css +271 -0
- package/templates/components/orionplace/address/StorefrontAddresses.tsx +438 -0
- package/templates/components/orionplace/banners/MainBanner.README.md +65 -0
- package/templates/components/orionplace/banners/MainBanner.module.css +112 -0
- package/templates/components/orionplace/banners/MainBanner.tsx +159 -0
- package/templates/components/orionplace/blog/BlogArticle.README.md +143 -0
- package/templates/components/orionplace/blog/BlogArticle.module.css +304 -0
- package/templates/components/orionplace/blog/BlogArticle.tsx +371 -0
- package/templates/components/orionplace/blog/BlogCommentForm.README.md +51 -0
- package/templates/components/orionplace/blog/BlogCommentForm.module.css +93 -0
- package/templates/components/orionplace/blog/BlogCommentForm.tsx +125 -0
- package/templates/components/orionplace/blog/BlogComments.README.md +98 -0
- package/templates/components/orionplace/blog/BlogComments.module.css +151 -0
- package/templates/components/orionplace/blog/BlogComments.tsx +590 -0
- package/templates/components/orionplace/blog/BlogPostCard.README.md +51 -0
- package/templates/components/orionplace/blog/BlogPostCard.module.css +167 -0
- package/templates/components/orionplace/blog/BlogPostCard.tsx +177 -0
- package/templates/components/orionplace/blog/BlogPostGroup.README.md +49 -0
- package/templates/components/orionplace/blog/BlogPostGroup.module.css +37 -0
- package/templates/components/orionplace/blog/BlogPostGroup.tsx +129 -0
- package/templates/components/orionplace/blog/StorefrontJournal.README.md +105 -0
- package/templates/components/orionplace/blog/StorefrontJournal.module.css +387 -0
- package/templates/components/orionplace/blog/StorefrontJournal.tsx +548 -0
- package/templates/components/orionplace/branding/BrandLogos.README.md +29 -0
- package/templates/components/orionplace/branding/BrandLogos.module.css +7 -0
- package/templates/components/orionplace/branding/BrandLogos.tsx +30 -0
- package/templates/components/orionplace/cart/CartCheckoutDetails.README.md +92 -0
- package/templates/components/orionplace/cart/CartCheckoutDetails.module.css +159 -0
- package/templates/components/orionplace/cart/CartCheckoutDetails.tsx +370 -0
- package/templates/components/orionplace/cart/CartDeliverySelector.README.md +166 -0
- package/templates/components/orionplace/cart/CartDeliverySelector.module.css +105 -0
- package/templates/components/orionplace/cart/CartDeliverySelector.tsx +679 -0
- package/templates/components/orionplace/cart/CartItemOptions.README.md +172 -0
- package/templates/components/orionplace/cart/CartItemOptions.module.css +113 -0
- package/templates/components/orionplace/cart/CartItemOptions.tsx +503 -0
- package/templates/components/orionplace/cart/CartLineItem.README.md +138 -0
- package/templates/components/orionplace/cart/CartLineItem.module.css +57 -0
- package/templates/components/orionplace/cart/CartLineItem.tsx +263 -0
- package/templates/components/orionplace/cart/CartPreview.README.md +99 -0
- package/templates/components/orionplace/cart/CartPreview.module.css +225 -0
- package/templates/components/orionplace/cart/CartPreview.tsx +188 -0
- package/templates/components/orionplace/cart/DeliveryMap.README.md +65 -0
- package/templates/components/orionplace/cart/DeliveryMap.module.css +32 -0
- package/templates/components/orionplace/cart/DeliveryMap.tsx +131 -0
- package/templates/components/orionplace/cart/StorefrontCart.README.md +281 -0
- package/templates/components/orionplace/cart/StorefrontCart.module.css +460 -0
- package/templates/components/orionplace/cart/StorefrontCart.tsx +937 -0
- package/templates/components/orionplace/catalog/CatalogHeader.README.md +136 -0
- package/templates/components/orionplace/catalog/CatalogHeader.module.css +387 -0
- package/templates/components/orionplace/catalog/CatalogHeader.tsx +644 -0
- package/templates/components/orionplace/catalog/CatalogRepresentative.README.md +68 -0
- package/templates/components/orionplace/catalog/CatalogRepresentative.tsx +51 -0
- package/templates/components/orionplace/catalog/StorefrontCatalog.README.md +120 -0
- package/templates/components/orionplace/catalog/StorefrontCatalog.module.css +179 -0
- package/templates/components/orionplace/catalog/StorefrontCatalog.tsx +304 -0
- package/templates/components/orionplace/categories/CategoryGroup.README.md +68 -0
- package/templates/components/orionplace/categories/CategoryGroup.module.css +110 -0
- package/templates/components/orionplace/categories/CategoryGroup.tsx +123 -0
- package/templates/components/orionplace/categories/StorefrontCategory.README.md +155 -0
- package/templates/components/orionplace/categories/StorefrontCategory.module.css +148 -0
- package/templates/components/orionplace/categories/StorefrontCategory.tsx +225 -0
- package/templates/components/orionplace/contact/AboutPage.README.md +40 -0
- package/templates/components/orionplace/contact/AboutPage.module.css +216 -0
- package/templates/components/orionplace/contact/AboutPage.tsx +191 -0
- package/templates/components/orionplace/contact/ContactForm.README.md +93 -0
- package/templates/components/orionplace/contact/ContactForm.module.css +264 -0
- package/templates/components/orionplace/contact/ContactForm.tsx +382 -0
- package/templates/components/orionplace/contact/EmailUnsubscribe.README.md +67 -0
- package/templates/components/orionplace/contact/EmailUnsubscribe.module.css +94 -0
- package/templates/components/orionplace/contact/EmailUnsubscribe.tsx +130 -0
- package/templates/components/orionplace/contact/StorefrontContact.README.md +73 -0
- package/templates/components/orionplace/contact/StorefrontContact.module.css +101 -0
- package/templates/components/orionplace/contact/StorefrontContact.tsx +62 -0
- package/templates/components/orionplace/currencies/MainCurrencySwitcher.README.md +37 -0
- package/templates/components/orionplace/currencies/MainCurrencySwitcher.tsx +68 -0
- package/templates/components/orionplace/events/EventEnrollmentDialog.README.md +108 -0
- package/templates/components/orionplace/events/EventEnrollmentDialog.module.css +110 -0
- package/templates/components/orionplace/events/EventEnrollmentDialog.tsx +315 -0
- package/templates/components/orionplace/events/EventsBlock.README.md +58 -0
- package/templates/components/orionplace/events/EventsBlock.module.css +101 -0
- package/templates/components/orionplace/events/EventsBlock.tsx +109 -0
- package/templates/components/orionplace/locale/MainLanguageSwitcher.README.md +46 -0
- package/templates/components/orionplace/locale/MainLanguageSwitcher.module.css +196 -0
- package/templates/components/orionplace/locale/MainLanguageSwitcher.tsx +387 -0
- package/templates/components/orionplace/manufacturers/ManufacturerIndex.README.md +83 -0
- package/templates/components/orionplace/manufacturers/ManufacturerIndex.module.css +271 -0
- package/templates/components/orionplace/manufacturers/ManufacturerIndex.tsx +218 -0
- package/templates/components/orionplace/manufacturers/StorefrontManufacturers.README.md +122 -0
- package/templates/components/orionplace/manufacturers/StorefrontManufacturers.module.css +92 -0
- package/templates/components/orionplace/manufacturers/StorefrontManufacturers.tsx +455 -0
- package/templates/components/orionplace/orders/OrderDetails.README.md +116 -0
- package/templates/components/orionplace/orders/OrderDetails.module.css +730 -0
- package/templates/components/orionplace/orders/OrderDetails.tsx +693 -0
- package/templates/components/orionplace/orders/OrderPaymentForm.README.md +92 -0
- package/templates/components/orionplace/orders/OrderPaymentForm.module.css +105 -0
- package/templates/components/orionplace/orders/OrderPaymentForm.tsx +90 -0
- package/templates/components/orionplace/orders/StorefrontOrders.README.md +131 -0
- package/templates/components/orionplace/orders/StorefrontOrders.module.css +633 -0
- package/templates/components/orionplace/orders/StorefrontOrders.tsx +922 -0
- package/templates/components/orionplace/payments/PaymentPanel.README.md +114 -0
- package/templates/components/orionplace/payments/PaymentPanel.module.css +134 -0
- package/templates/components/orionplace/payments/PaymentPanel.tsx +76 -0
- package/templates/components/orionplace/products/HoverImageViewer.README.md +62 -0
- package/templates/components/orionplace/products/HoverImageViewer.module.css +88 -0
- package/templates/components/orionplace/products/HoverImageViewer.tsx +179 -0
- package/templates/components/orionplace/products/ProductCard.README.md +152 -0
- package/templates/components/orionplace/products/ProductCard.module.css +333 -0
- package/templates/components/orionplace/products/ProductCard.tsx +716 -0
- package/templates/components/orionplace/products/ProductCardActions.README.md +84 -0
- package/templates/components/orionplace/products/ProductCardActions.module.css +146 -0
- package/templates/components/orionplace/products/ProductCardActions.tsx +311 -0
- package/templates/components/orionplace/products/ProductCardBadges.README.md +44 -0
- package/templates/components/orionplace/products/ProductCardBadges.module.css +15 -0
- package/templates/components/orionplace/products/ProductCardBadges.tsx +78 -0
- package/templates/components/orionplace/products/ProductCardDescription.README.md +33 -0
- package/templates/components/orionplace/products/ProductCardDescription.module.css +6 -0
- package/templates/components/orionplace/products/ProductCardDescription.tsx +43 -0
- package/templates/components/orionplace/products/ProductCardFavorite.README.md +52 -0
- package/templates/components/orionplace/products/ProductCardFavorite.module.css +64 -0
- package/templates/components/orionplace/products/ProductCardFavorite.tsx +90 -0
- package/templates/components/orionplace/products/ProductCardPrice.README.md +33 -0
- package/templates/components/orionplace/products/ProductCardPrice.module.css +22 -0
- package/templates/components/orionplace/products/ProductCardPrice.tsx +50 -0
- package/templates/components/orionplace/products/ProductCardRating.README.md +33 -0
- package/templates/components/orionplace/products/ProductCardRating.module.css +7 -0
- package/templates/components/orionplace/products/ProductCardRating.tsx +56 -0
- package/templates/components/orionplace/products/ProductCardSeller.README.md +36 -0
- package/templates/components/orionplace/products/ProductCardSeller.module.css +31 -0
- package/templates/components/orionplace/products/ProductCardSeller.tsx +61 -0
- package/templates/components/orionplace/products/ProductCardStockNotice.README.md +36 -0
- package/templates/components/orionplace/products/ProductCardStockNotice.module.css +8 -0
- package/templates/components/orionplace/products/ProductCardStockNotice.tsx +35 -0
- package/templates/components/orionplace/products/ProductCardTitle.README.md +30 -0
- package/templates/components/orionplace/products/ProductCardTitle.module.css +13 -0
- package/templates/components/orionplace/products/ProductCardTitle.tsx +31 -0
- package/templates/components/orionplace/products/ProductCardVariants.README.md +77 -0
- package/templates/components/orionplace/products/ProductCardVariants.module.css +97 -0
- package/templates/components/orionplace/products/ProductCardVariants.tsx +350 -0
- package/templates/components/orionplace/products/ProductGroup.README.md +89 -0
- package/templates/components/orionplace/products/ProductGroup.module.css +64 -0
- package/templates/components/orionplace/products/ProductGroup.tsx +183 -0
- package/templates/components/orionplace/products/ProductPreorderDialog.README.md +89 -0
- package/templates/components/orionplace/products/ProductPreorderDialog.module.css +320 -0
- package/templates/components/orionplace/products/ProductPreorderDialog.tsx +346 -0
- package/templates/components/orionplace/products/ProductReviewForm.README.md +72 -0
- package/templates/components/orionplace/products/ProductReviewForm.module.css +217 -0
- package/templates/components/orionplace/products/ProductReviewForm.tsx +288 -0
- package/templates/components/orionplace/products/ProductReviewGallery.README.md +61 -0
- package/templates/components/orionplace/products/ProductReviewGallery.module.css +108 -0
- package/templates/components/orionplace/products/ProductReviewGallery.tsx +110 -0
- package/templates/components/orionplace/products/ProductReviewImageViewer.README.md +49 -0
- package/templates/components/orionplace/products/ProductReviewImageViewer.module.css +50 -0
- package/templates/components/orionplace/products/ProductReviewImageViewer.tsx +260 -0
- package/templates/components/orionplace/products/ProductReviews.README.md +137 -0
- package/templates/components/orionplace/products/ProductReviews.module.css +602 -0
- package/templates/components/orionplace/products/ProductReviews.tsx +944 -0
- package/templates/components/orionplace/products/ProductSecondaryVariantModal.README.md +67 -0
- package/templates/components/orionplace/products/ProductSecondaryVariantModal.module.css +79 -0
- package/templates/components/orionplace/products/ProductSecondaryVariantModal.tsx +324 -0
- package/templates/components/orionplace/products/ProductSpecificationsDialog.README.md +52 -0
- package/templates/components/orionplace/products/ProductSpecificationsDialog.module.css +138 -0
- package/templates/components/orionplace/products/ProductSpecificationsDialog.tsx +117 -0
- package/templates/components/orionplace/products/StorefrontProduct.README.md +200 -0
- package/templates/components/orionplace/products/StorefrontProduct.module.css +767 -0
- package/templates/components/orionplace/products/StorefrontProduct.tsx +1339 -0
- package/templates/components/orionplace/products/StorefrontWishlist.README.md +162 -0
- package/templates/components/orionplace/products/StorefrontWishlist.module.css +71 -0
- package/templates/components/orionplace/products/StorefrontWishlist.tsx +402 -0
- package/templates/components/orionplace/promo/PromoProducts.README.md +133 -0
- package/templates/components/orionplace/promo/PromoProducts.module.css +68 -0
- package/templates/components/orionplace/promo/PromoProducts.tsx +345 -0
- package/templates/components/orionplace/search/MainSearch.README.md +73 -0
- package/templates/components/orionplace/search/MainSearch.module.css +202 -0
- package/templates/components/orionplace/search/MainSearch.tsx +217 -0
- package/templates/components/orionplace/search/ProductSearchResults.README.md +166 -0
- package/templates/components/orionplace/search/ProductSearchResults.module.css +358 -0
- package/templates/components/orionplace/search/ProductSearchResults.tsx +308 -0
- package/templates/components/orionplace/search/SearchFilters.README.md +109 -0
- package/templates/components/orionplace/search/SearchFilters.module.css +274 -0
- package/templates/components/orionplace/search/SearchFilters.tsx +439 -0
- package/templates/components/orionplace/sellers/SellerFilters.README.md +66 -0
- package/templates/components/orionplace/sellers/SellerFilters.module.css +232 -0
- package/templates/components/orionplace/sellers/SellerFilters.tsx +201 -0
- package/templates/components/orionplace/sellers/SellerPhotoGallery.README.md +72 -0
- package/templates/components/orionplace/sellers/SellerPhotoGallery.module.css +314 -0
- package/templates/components/orionplace/sellers/SellerPhotoGallery.tsx +335 -0
- package/templates/components/orionplace/sellers/SellerSummary.README.md +62 -0
- package/templates/components/orionplace/sellers/SellerSummary.module.css +182 -0
- package/templates/components/orionplace/sellers/SellerSummary.tsx +107 -0
- package/templates/components/orionplace/sellers/StorefrontSellers.README.md +120 -0
- package/templates/components/orionplace/sellers/StorefrontSellers.module.css +147 -0
- package/templates/components/orionplace/sellers/StorefrontSellers.tsx +360 -0
- package/templates/components/orionplace/shared/OrionplaceAvatar.README.md +35 -0
- package/templates/components/orionplace/shared/OrionplaceAvatar.module.css +35 -0
- package/templates/components/orionplace/shared/OrionplaceAvatar.tsx +61 -0
- package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.README.md +33 -0
- package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.module.css +81 -0
- package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.tsx +91 -0
- package/templates/components/orionplace/shared/OrionplaceEmptyState.README.md +37 -0
- package/templates/components/orionplace/shared/OrionplaceEmptyState.module.css +126 -0
- package/templates/components/orionplace/shared/OrionplaceEmptyState.tsx +78 -0
- package/templates/components/orionplace/shared/OrionplaceImage.README.md +45 -0
- package/templates/components/orionplace/shared/OrionplaceImage.module.css +22 -0
- package/templates/components/orionplace/shared/OrionplaceImage.tsx +96 -0
- package/templates/components/orionplace/shared/OrionplaceInfoHint.README.md +31 -0
- package/templates/components/orionplace/shared/OrionplaceInfoHint.module.css +59 -0
- package/templates/components/orionplace/shared/OrionplaceInfoHint.tsx +126 -0
- package/templates/components/orionplace/shared/OrionplacePasswordInput.README.md +39 -0
- package/templates/components/orionplace/shared/OrionplacePasswordInput.module.css +79 -0
- package/templates/components/orionplace/shared/OrionplacePasswordInput.tsx +103 -0
- package/templates/components/orionplace/shared/OrionplaceSearchSelect.README.md +97 -0
- package/templates/components/orionplace/shared/OrionplaceSearchSelect.module.css +246 -0
- package/templates/components/orionplace/shared/OrionplaceSearchSelect.tsx +367 -0
- package/templates/components/orionplace/shared/OrionplaceSelect.README.md +69 -0
- package/templates/components/orionplace/shared/OrionplaceSelect.module.css +233 -0
- package/templates/components/orionplace/shared/OrionplaceSelect.tsx +439 -0
- package/templates/components/orionplace/shared/StorefrontErrorPage.README.md +52 -0
- package/templates/components/orionplace/shared/StorefrontErrorPage.module.css +141 -0
- package/templates/components/orionplace/shared/StorefrontErrorPage.tsx +103 -0
- package/templates/components/orionplace/shared/StorefrontPagination.README.md +39 -0
- package/templates/components/orionplace/shared/StorefrontPagination.module.css +69 -0
- package/templates/components/orionplace/shared/StorefrontPagination.tsx +102 -0
- package/templates/components/orionplace/shared/dialogs.css +36 -0
- package/templates/components/orionplace/shared/emptyStateArt.ts +231 -0
- package/templates/components/orionplace/shared/features.module.css +162 -0
- package/templates/components/orionplace/social/SocialLinks.README.md +16 -0
- package/templates/components/orionplace/social/SocialLinks.module.css +36 -0
- package/templates/components/orionplace/social/SocialLinks.tsx +59 -0
- package/templates/components/orionplace/storefront/StorefrontAccount.README.md +59 -0
- package/templates/components/orionplace/storefront/StorefrontAccount.module.css +159 -0
- package/templates/components/orionplace/storefront/StorefrontAccount.tsx +303 -0
- package/templates/components/orionplace/storefront/StorefrontCartButton.README.md +47 -0
- package/templates/components/orionplace/storefront/StorefrontCartButton.module.css +88 -0
- package/templates/components/orionplace/storefront/StorefrontCartButton.tsx +54 -0
- package/templates/components/orionplace/storefront/StorefrontFooter.README.md +55 -0
- package/templates/components/orionplace/storefront/StorefrontFooter.module.css +118 -0
- package/templates/components/orionplace/storefront/StorefrontFooter.tsx +165 -0
- package/templates/components/orionplace/storefront/StorefrontHeader.README.md +150 -0
- package/templates/components/orionplace/storefront/StorefrontHeader.module.css +186 -0
- package/templates/components/orionplace/storefront/StorefrontHeader.tsx +389 -0
- package/templates/components/orionplace/storefront/StorefrontHome.README.md +138 -0
- package/templates/components/orionplace/storefront/StorefrontHome.module.css +116 -0
- package/templates/components/orionplace/storefront/StorefrontHome.tsx +282 -0
- package/templates/components/orionplace/storefront/StorefrontWishlistButton.README.md +51 -0
- package/templates/components/orionplace/storefront/StorefrontWishlistButton.module.css +95 -0
- package/templates/components/orionplace/storefront/StorefrontWishlistButton.tsx +80 -0
- package/templates/components/orionplace/stores/StorefrontStores.README.md +87 -0
- package/templates/components/orionplace/stores/StorefrontStores.module.css +218 -0
- package/templates/components/orionplace/stores/StorefrontStores.tsx +396 -0
- package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.README.md +183 -0
- package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.module.css +347 -0
- package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.tsx +884 -0
- package/templates/components/orionplace/subscriptions/StorefrontTariff.README.md +111 -0
- package/templates/components/orionplace/subscriptions/StorefrontTariff.module.css +311 -0
- package/templates/components/orionplace/subscriptions/StorefrontTariff.tsx +474 -0
- package/templates/components/orionplace/subscriptions/StorefrontTariffs.README.md +102 -0
- package/templates/components/orionplace/subscriptions/StorefrontTariffs.module.css +219 -0
- package/templates/components/orionplace/subscriptions/StorefrontTariffs.tsx +350 -0
- package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.README.md +67 -0
- package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.tsx +175 -0
- package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.README.md +95 -0
- package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.tsx +634 -0
- package/templates/components/orionplace/subscriptions/SubscriptionDialog.module.css +453 -0
- package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.README.md +75 -0
- package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.tsx +384 -0
- package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.README.md +116 -0
- package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.module.css +168 -0
- package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.tsx +236 -0
- package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.README.md +123 -0
- package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.module.css +57 -0
- package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.tsx +101 -0
- package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.README.md +109 -0
- package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.tsx +253 -0
- package/templates/components/orionplace/support/StorefrontSupport.README.md +157 -0
- package/templates/components/orionplace/support/StorefrontSupport.tsx +1040 -0
- package/templates/components/orionplace/support/Support.module.css +1133 -0
- package/templates/components/orionplace/support/TicketConversation.README.md +105 -0
- package/templates/components/orionplace/support/TicketConversation.tsx +502 -0
- package/templates/components/orionplace/support/TicketImage.README.md +52 -0
- package/templates/components/orionplace/support/TicketImage.tsx +254 -0
- package/templates/components/orionplace/support/TicketItemCard.README.md +66 -0
- package/templates/components/orionplace/support/TicketItemCard.tsx +140 -0
- package/templates/components/orionplace/support/TicketMessageForm.README.md +88 -0
- package/templates/components/orionplace/support/TicketMessageForm.tsx +261 -0
- package/templates/components/orionplace/support/TicketSubscriptionCard.README.md +53 -0
- package/templates/components/orionplace/support/TicketSubscriptionCard.tsx +118 -0
- package/templates/components/orionplace/tariffs/TariffCard.README.md +108 -0
- package/templates/components/orionplace/tariffs/TariffCard.module.css +86 -0
- package/templates/components/orionplace/tariffs/TariffCard.tsx +218 -0
- package/templates/components/orionplace/tariffs/TariffCardDescription.README.md +40 -0
- package/templates/components/orionplace/tariffs/TariffCardDescription.module.css +72 -0
- package/templates/components/orionplace/tariffs/TariffCardDescription.tsx +58 -0
- package/templates/components/orionplace/tariffs/TariffCardFeatures.README.md +58 -0
- package/templates/components/orionplace/tariffs/TariffCardFeatures.module.css +60 -0
- package/templates/components/orionplace/tariffs/TariffCardFeatures.tsx +140 -0
- package/templates/components/orionplace/tariffs/TariffCardImage.README.md +36 -0
- package/templates/components/orionplace/tariffs/TariffCardImage.module.css +8 -0
- package/templates/components/orionplace/tariffs/TariffCardImage.tsx +32 -0
- package/templates/components/orionplace/tariffs/TariffCardPrices.README.md +74 -0
- package/templates/components/orionplace/tariffs/TariffCardPrices.module.css +142 -0
- package/templates/components/orionplace/tariffs/TariffCardPrices.tsx +181 -0
- package/templates/components/orionplace/tariffs/TariffCardTitle.README.md +32 -0
- package/templates/components/orionplace/tariffs/TariffCardTitle.module.css +9 -0
- package/templates/components/orionplace/tariffs/TariffCardTitle.tsx +29 -0
- package/templates/components/orionplace/tariffs/TariffCards.README.md +88 -0
- package/templates/components/orionplace/tariffs/TariffCards.module.css +24 -0
- package/templates/components/orionplace/tariffs/TariffCards.tsx +44 -0
- package/templates/components/orionplace/tariffs/TariffSubscriptionModal.README.md +92 -0
- package/templates/components/orionplace/tariffs/TariffSubscriptionModal.module.css +214 -0
- package/templates/components/orionplace/tariffs/TariffSubscriptionModal.tsx +299 -0
- package/templates/components/orionplace/theme/OrionplaceThemeProvider.README.md +30 -0
- package/templates/components/orionplace/theme/OrionplaceThemeProvider.module.css +8 -0
- package/templates/components/orionplace/theme/OrionplaceThemeProvider.tsx +32 -0
- package/templates/components/orionplace/units/UnitSwitcher.README.md +35 -0
- package/templates/components/orionplace/units/UnitSwitcher.tsx +58 -0
- package/templates/components/orionplace/wallet/StorefrontWallet.README.md +154 -0
- package/templates/components/orionplace/wallet/StorefrontWallet.module.css +507 -0
- package/templates/components/orionplace/wallet/StorefrontWallet.tsx +915 -0
- package/templates/components/orionplace/wallet/WalletBalance.README.md +46 -0
- package/templates/components/orionplace/wallet/WalletBalance.module.css +46 -0
- package/templates/components/orionplace/wallet/WalletBalance.tsx +51 -0
- package/templates/components/orionplace/wallet/WalletTopUpForm.README.md +54 -0
- package/templates/components/orionplace/wallet/WalletTopUpForm.module.css +152 -0
- package/templates/components/orionplace/wallet/WalletTopUpForm.tsx +181 -0
- package/templates/hooks/useAccountActivity.ts +251 -0
- package/templates/hooks/useAccountAddresses.ts +81 -0
- package/templates/hooks/useAccountPromocodes.ts +91 -0
- package/templates/hooks/useOrionplaceActionMenu.ts +118 -0
- package/templates/hooks/useOrionplaceAddressForm.ts +262 -0
- package/templates/hooks/useOrionplaceApi.ts +98 -0
- package/templates/hooks/useOrionplaceAppLoad.ts +38 -6
- package/templates/hooks/useOrionplaceBlogReading.ts +351 -0
- package/templates/hooks/useOrionplaceDialog.ts +85 -0
- package/templates/hooks/useOrionplaceHomeProducts.ts +97 -0
- package/templates/hooks/useOrionplaceMap.tsx +230 -0
- package/templates/hooks/useOrionplaceMediaFormat.ts +33 -0
- package/templates/hooks/useOrionplaceProduct.ts +28 -0
- package/templates/hooks/useOrionplaceProfile.ts +347 -0
- package/templates/hooks/useOrionplaceReviews.ts +352 -0
- package/templates/hooks/useOrionplaceStableHeight.ts +65 -0
- package/templates/hooks/useOrionplaceStorefront.tsx +575 -0
- package/templates/hooks/useOrionplaceTariffPurchase.ts +152 -0
- package/templates/interfaces/orionplace/accounts/IContact.ts +21 -0
- package/templates/interfaces/orionplace/accounts/IEmailNotificationLocale.ts +17 -0
- package/templates/interfaces/orionplace/accounts/IEmailVerification.ts +59 -0
- package/templates/interfaces/orionplace/accounts/IProfileActions.ts +38 -0
- package/templates/interfaces/orionplace/accounts/IProfileData.ts +123 -0
- package/templates/interfaces/orionplace/accounts/IProfileMedia.ts +17 -0
- package/templates/interfaces/orionplace/accounts/IStorefrontProfile.ts +54 -0
- package/templates/interfaces/orionplace/address/IAddressCitySuggestion.ts +19 -0
- package/templates/interfaces/orionplace/address/IAddressEditor.ts +9 -0
- package/templates/interfaces/orionplace/address/IAddressLocationSuggestion.ts +22 -0
- package/templates/interfaces/orionplace/address/IAddressRegionSearch.ts +30 -0
- package/templates/interfaces/orionplace/address/IAddressSuggestion.ts +20 -0
- package/templates/interfaces/orionplace/address/IUserAddress.ts +87 -0
- package/templates/interfaces/orionplace/appBase/IAppLoad.ts +4 -3
- package/templates/interfaces/orionplace/appBase/IAppLoadCommon.ts +22 -31
- package/templates/interfaces/orionplace/appBase/IApploadUserProfile.ts +1 -1
- package/templates/interfaces/orionplace/appBase/IForm.ts +1 -1
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonBanner.ts +7 -7
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonPath.ts +2 -2
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSEO.ts +20 -7
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonTariff.ts +2 -2
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVariables.ts +1 -0
- package/templates/interfaces/orionplace/blog/IBlogApi.ts +247 -0
- package/templates/interfaces/orionplace/blog/IBlogPostPreview.ts +30 -0
- package/templates/interfaces/orionplace/cart/ICartActions.ts +67 -0
- package/templates/interfaces/orionplace/cart/ICartData.ts +382 -0
- package/templates/interfaces/orionplace/cart/ICartDeliveryActions.ts +68 -0
- package/templates/interfaces/orionplace/cart/ICartModal.ts +22 -0
- package/templates/interfaces/orionplace/cart/IDeliveryMap.ts +29 -0
- package/templates/interfaces/orionplace/catalog/ICatalogDirectory.ts +75 -0
- package/templates/interfaces/orionplace/category/ICategory.ts +2 -1
- package/templates/interfaces/orionplace/domains/IDomain.ts +2 -2
- package/templates/interfaces/orionplace/forms/ICustomerSubfilter.ts +19 -0
- package/templates/interfaces/orionplace/index.ts +64 -30
- package/templates/interfaces/orionplace/marketing/IPromoActions.ts +51 -0
- package/templates/interfaces/orionplace/orders/IOrderActions.ts +99 -0
- package/templates/interfaces/orionplace/orders/IOrderHistory.ts +259 -0
- package/templates/interfaces/orionplace/orders/IProductPreorder.ts +31 -0
- package/templates/interfaces/orionplace/payments/IInvoice.ts +147 -0
- package/templates/interfaces/orionplace/products/IProduct.ts +178 -151
- package/templates/interfaces/orionplace/products/IProductFeedbackApi.ts +218 -0
- package/templates/interfaces/orionplace/products/IProductSearchApi.ts +146 -0
- package/templates/interfaces/orionplace/products/IProductSearchFacets.ts +35 -0
- package/templates/interfaces/orionplace/products/IProductSecondaryVariantRequest.ts +15 -0
- package/templates/interfaces/orionplace/products/IProductSpecification.ts +14 -0
- package/templates/interfaces/orionplace/products/IWishlist.ts +22 -0
- package/templates/interfaces/orionplace/sellers/ISellerDirectory.ts +70 -0
- package/templates/interfaces/orionplace/shared/IBreadcrumb.ts +10 -0
- package/templates/interfaces/orionplace/shared/IStorefrontControls.ts +6 -0
- package/templates/interfaces/orionplace/state.ts +1 -1
- package/templates/interfaces/orionplace/stores/IStoreDirectory.ts +63 -0
- package/templates/interfaces/orionplace/subscribeTariff/ISubscribeTariff.ts +41 -31
- package/templates/interfaces/orionplace/subscribeTariff/ITariffSelection.ts +11 -0
- package/templates/interfaces/orionplace/subscribes/ISubscribe.ts +1 -1
- package/templates/interfaces/orionplace/subscribes/ISubscriptionApi.ts +125 -0
- package/templates/interfaces/orionplace/tickets/ICustomerTicketApi.ts +223 -0
- package/templates/interfaces/orionplace/transport.ts +7 -3
- package/templates/lib/orionplace/accountLabels.ts +22 -0
- package/templates/lib/orionplace/activityLabels.ts +65 -0
- package/templates/lib/orionplace/activityPresentation.ts +9 -0
- package/templates/lib/orionplace/addressChanges.ts +26 -0
- package/templates/lib/orionplace/addressPresentation.ts +58 -0
- package/templates/lib/orionplace/api.ts +326 -0
- package/templates/lib/orionplace/appLoadClient.ts +63 -21
- package/templates/lib/orionplace/appLoadResult.ts +75 -21
- package/templates/lib/orionplace/appLoadServer.ts +66 -21
- package/templates/lib/orionplace/blogArticle.ts +97 -0
- package/templates/lib/orionplace/blogArticleHtml.ts +370 -0
- package/templates/lib/orionplace/blogComments.ts +102 -0
- package/templates/lib/orionplace/blogJournal.ts +115 -0
- package/templates/lib/orionplace/blogLabels.ts +108 -0
- package/templates/lib/orionplace/blogPresentation.ts +67 -0
- package/templates/lib/orionplace/browseLabels.ts +98 -0
- package/templates/lib/orionplace/cartAddress.ts +86 -0
- package/templates/lib/orionplace/cartController.ts +104 -0
- package/templates/lib/orionplace/cartLabels.ts +261 -0
- package/templates/lib/orionplace/cartOptions.ts +115 -0
- package/templates/lib/orionplace/cartPreview.ts +120 -0
- package/templates/lib/orionplace/cartPromo.ts +150 -0
- package/templates/lib/orionplace/cartShipment.ts +61 -0
- package/templates/lib/orionplace/cartSnapshot.ts +21 -0
- package/templates/lib/orionplace/catalog.ts +150 -0
- package/templates/lib/orionplace/categoryLabels.ts +21 -0
- package/templates/lib/orionplace/contact.ts +47 -0
- package/templates/lib/orionplace/contactLabels.ts +102 -0
- package/templates/lib/orionplace/currency.ts +128 -0
- package/templates/lib/orionplace/deliveryMap.ts +86 -0
- package/templates/lib/orionplace/directoryLabels.ts +133 -0
- package/templates/lib/orionplace/domain.ts +11 -6
- package/templates/lib/orionplace/errorPageLabels.ts +74 -0
- package/templates/lib/orionplace/eventEnrollment.ts +22 -0
- package/templates/lib/orionplace/featureData.ts +28 -0
- package/templates/lib/orionplace/featureLabels.ts +271 -0
- package/templates/lib/orionplace/featuredLabels.ts +28 -0
- package/templates/lib/orionplace/footerLabels.ts +35 -0
- package/templates/lib/orionplace/guestSession.ts +55 -0
- package/templates/lib/orionplace/headerLabels.ts +68 -0
- package/templates/lib/orionplace/homeContent.ts +193 -0
- package/templates/lib/orionplace/homeLabels.ts +52 -0
- package/templates/lib/orionplace/htmlText.ts +51 -0
- package/templates/lib/orionplace/manufacturerDirectory.ts +71 -0
- package/templates/lib/orionplace/manufacturerIndex.ts +92 -0
- package/templates/lib/orionplace/modalWindow.ts +109 -0
- package/templates/lib/orionplace/nativeApp.ts +365 -0
- package/templates/lib/orionplace/navigation.tsx +121 -0
- package/templates/lib/orionplace/notice.ts +22 -0
- package/templates/lib/orionplace/orderLabels.ts +311 -0
- package/templates/lib/orionplace/orderPresentation.ts +574 -0
- package/templates/lib/orionplace/pageMetadata.ts +247 -0
- package/templates/lib/orionplace/pageSeo.ts +274 -0
- package/templates/lib/orionplace/paginationScroll.ts +131 -0
- package/templates/lib/orionplace/phone.ts +22 -0
- package/templates/lib/orionplace/presentation.ts +84 -0
- package/templates/lib/orionplace/productActionLabels.ts +60 -0
- package/templates/lib/orionplace/productAvailability.ts +30 -0
- package/templates/lib/orionplace/productGallery.ts +64 -0
- package/templates/lib/orionplace/productLabels.ts +82 -0
- package/templates/lib/orionplace/productPage.ts +308 -0
- package/templates/lib/orionplace/productPhotos.ts +67 -0
- package/templates/lib/orionplace/productSearch.ts +232 -0
- package/templates/lib/orionplace/productSeller.ts +56 -0
- package/templates/lib/orionplace/profile.ts +157 -0
- package/templates/lib/orionplace/profileLabels.ts +151 -0
- package/templates/lib/orionplace/promoLabels.ts +75 -0
- package/templates/lib/orionplace/promoPresentation.ts +381 -0
- package/templates/lib/orionplace/reviewLabels.ts +172 -0
- package/templates/lib/orionplace/reviewPresentation.ts +64 -0
- package/templates/lib/orionplace/reviewScope.ts +38 -0
- package/templates/lib/orionplace/searchFilters.ts +99 -0
- package/templates/lib/orionplace/searchHistory.ts +144 -0
- package/templates/lib/orionplace/sellerDirectory.ts +120 -0
- package/templates/lib/orionplace/seo.ts +52 -0
- package/templates/lib/orionplace/serverApi.ts +158 -0
- package/templates/lib/orionplace/serverLocale.ts +29 -0
- package/templates/lib/orionplace/serverMetadata.ts +86 -0
- package/templates/lib/orionplace/serverRecords.ts +25 -0
- package/templates/lib/orionplace/serverRoute.tsx +51 -0
- package/templates/lib/orionplace/sessionLabels.ts +27 -0
- package/templates/lib/orionplace/signInReturn.ts +89 -0
- package/templates/lib/orionplace/storeDirectory.ts +47 -0
- package/templates/lib/orionplace/storefrontRecords.ts +29 -0
- package/templates/lib/orionplace/subscriptionChanges.ts +120 -0
- package/templates/lib/orionplace/subscriptionLabels.ts +67 -0
- package/templates/lib/orionplace/subscriptionManageLabels.ts +306 -0
- package/templates/lib/orionplace/subscriptionPlans.ts +122 -0
- package/templates/lib/orionplace/subscriptionRemote.ts +85 -0
- package/templates/lib/orionplace/subscriptionUsage.ts +58 -0
- package/templates/lib/orionplace/tariffLabels.ts +123 -0
- package/templates/lib/orionplace/tariffPage.ts +54 -0
- package/templates/lib/orionplace/tariffVariables.ts +136 -0
- package/templates/lib/orionplace/tariffs.ts +192 -0
- package/templates/lib/orionplace/ticketItems.ts +75 -0
- package/templates/lib/orionplace/ticketLabels.ts +335 -0
- package/templates/lib/orionplace/ticketLocation.ts +79 -0
- package/templates/lib/orionplace/ticketRequests.ts +70 -0
- package/templates/lib/orionplace/walletTransaction.ts +105 -0
- package/templates/orionplace/COMPONENT-DOWNLOAD.md +66 -0
- package/templates/orionplace/COMPONENTS.md +35 -0
- package/templates/providers/OrionplaceProvider.tsx +164 -12
- package/templates/proxy.ts +8 -3
- package/templates/stores/orionplace.ts +212 -49
- package/templates/stores/orionplaceBrowse.ts +89 -0
- package/templates/stores/orionplaceCatalog.ts +144 -0
- package/templates/stores/orionplaceProducts.ts +389 -0
- package/templates/stores/orionplaceScope.ts +104 -0
- package/templates/stores/orionplaceSelections.ts +130 -0
- package/templates/themes/orionplace.ts +106 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# StorefrontSubscriptions · React
|
|
2
|
+
|
|
3
|
+
## English
|
|
4
|
+
|
|
5
|
+
`StorefrontSubscriptions` loads the signed-in customer with
|
|
6
|
+
`onLoad({ endpoint: 'subscriptions_get', request: {} })`, then refreshes the
|
|
7
|
+
profile and wallet with `onLoadProfile({ endpoint: 'profile_get', request:
|
|
8
|
+
{ filters: {} } })`. `initialData` supplies server-rendered cards and prevents
|
|
9
|
+
the initial subscriptions request. Each card resolves its plan from the owned
|
|
10
|
+
subscription response and then from the plans the storefront sells
|
|
11
|
+
(`storeTariffs` of the catalog store), so the plan of an expired subscription
|
|
12
|
+
or a plan closed to new purchases remains visible. A plan search or a plan
|
|
13
|
+
page does not change that list.
|
|
14
|
+
|
|
15
|
+
Cards show the plan, active, ended or setup-pending state, creation and paid
|
|
16
|
+
end dates, automatic-renewal duration and selected-currency amount, plan
|
|
17
|
+
features, usage and filtered service details. A cancelled subscription keeps
|
|
18
|
+
its paid end date and explains how selecting a renewal period starts renewal
|
|
19
|
+
again.
|
|
20
|
+
|
|
21
|
+
The action menu includes only valid actions. A paid plan can be extended and
|
|
22
|
+
configured for renewal. An active subscription can move to another open plan
|
|
23
|
+
in the same subscription group or another service option. Cancellation is
|
|
24
|
+
available only while an active, renewable subscription has not already been
|
|
25
|
+
cancelled. Support is always present and uses
|
|
26
|
+
`ticketsHref(subscriptionId, locale)`.
|
|
27
|
+
|
|
28
|
+
Each write callback receives the exact endpoint, request and `AbortSignal`.
|
|
29
|
+
After a confirmed write, the component runs `subscriptions_get` and
|
|
30
|
+
`profile_get` in order. A failed required refresh keeps further writes blocked
|
|
31
|
+
and shows a retry action. `onAccountLoaded` receives both confirmed pages.
|
|
32
|
+
Thrown errors may carry `fields` or `form_errors`; named messages appear beside
|
|
33
|
+
the corresponding dialog controls.
|
|
34
|
+
|
|
35
|
+
The menu supports arrow keys, Home, End, Escape, Tab and outside clicks. Dialog
|
|
36
|
+
focus returns to the menu trigger. `renderPlanSummary` and
|
|
37
|
+
`renderRemoteDetails` replace the two read-only card regions. Source is
|
|
38
|
+
maintained in
|
|
39
|
+
`components/orionplace/subscriptions/StorefrontSubscriptions.tsx`; request and
|
|
40
|
+
response contracts are in
|
|
41
|
+
`interfaces/orionplace/subscribes/ISubscriptionApi.ts`.
|
|
42
|
+
|
|
43
|
+
### Props
|
|
44
|
+
|
|
45
|
+
| Prop | Meaning |
|
|
46
|
+
| --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
|
|
47
|
+
| `initialData?: { data: ICustomerSubscription[]; subscriptions: IPublicSubscription[]; tariffs: ISubscribeTariff[]; }` | Server-provided initial data used for the first render and hydration. |
|
|
48
|
+
| `initialError?: string` | Server-provided initial error used for the first render and hydration. |
|
|
49
|
+
| `loadOnMount?: boolean` | Starts the load callback after hydration when server data was not supplied. |
|
|
50
|
+
| `plansHref?: (locale: string) => string` | Builds the plans destination from the callback arguments. |
|
|
51
|
+
| `walletHref?: (locale: string) => string` | Builds the wallet destination from the callback arguments. |
|
|
52
|
+
| `ticketsHref?: (subscriptionId: number, locale: string) => string` | Builds the tickets destination from the callback arguments. |
|
|
53
|
+
| `onLoad: (action: SubscriptionLoadAction) => Promise<SubscriptionsPage> \| SubscriptionsPage` | Called when the component needs its primary data. The callback payload is shown in its type. |
|
|
54
|
+
| `onLoadProfile: (action: SubscriptionProfileAction) => Promise<ProfilePage> \| ProfilePage` | Called when the current profile must be refreshed. The callback payload is shown in its type. |
|
|
55
|
+
| `onRenew: (action: SubscriptionMutationAction<ISubscriptionRenewRequest>) => Promise<void> \| void` | Called when the visitor renews or extends a subscription. The callback payload is shown in its type. |
|
|
56
|
+
| `onSetRenewal: (action: SubscriptionMutationAction<ISubscriptionRenewalSettingRequest>) => Promise<void> \| void` | Called when the visitor changes automatic subscription renewal. The callback payload is shown in its type. |
|
|
57
|
+
| `onChangeTariff: (action: SubscriptionMutationAction<ISubscriptionChangeTariffRequest>) => Promise<void> \| void` | Called when the visitor changes the subscription tariff. The callback payload is shown in its type. |
|
|
58
|
+
| `onChangeOption: (action: SubscriptionMutationAction<ISubscriptionChangeOptionRequest>) => Promise<void> \| void` | Called when the visitor changes a subscription option. The callback payload is shown in its type. |
|
|
59
|
+
| `onCancel: (action: SubscriptionMutationAction<ISubscriptionCancelRequest>) => Promise<void> \| void` | Passes the subscription cancellation action with `request.paid_subscription` after dialog confirmation. After the handler succeeds, the component refreshes subscriptions and profile data. |
|
|
60
|
+
| `onRequireSignIn?: (returnPath: string) => void` | Called when the visitor must sign in before continuing. The callback payload is shown in its type. |
|
|
61
|
+
| `onSupport?: (subscriptionId: number, href: string) => void` | Called when the visitor opens support for the current record. The callback payload is shown in its type. |
|
|
62
|
+
| `onAccountLoaded?: (subscriptions: SubscriptionsPage, profile: ProfilePage) => void` | Called when the refreshed account data is ready. The callback payload is shown in its type. |
|
|
63
|
+
| `renderPlanSummary?: (plan: ISubscribeTariff \| undefined, subscription: ICustomerSubscription) => ReactNode` | Replaces the default plan summary region; the renderer inputs are shown in its type. |
|
|
64
|
+
| `renderRemoteDetails?: (subscription: ICustomerSubscription) => ReactNode` | Replaces the default remote details region; the renderer inputs are shown in its type. |
|
|
65
|
+
|
|
66
|
+
## Русский
|
|
67
|
+
|
|
68
|
+
`StorefrontSubscriptions` загружает данные вошедшего покупателя через
|
|
69
|
+
`onLoad({ endpoint: 'subscriptions_get', request: {} })`, а затем обновляет
|
|
70
|
+
профиль и кошелёк через `onLoadProfile({ endpoint: 'profile_get', request:
|
|
71
|
+
{ filters: {} } })`. `initialData` задаёт карточки для серверного HTML и
|
|
72
|
+
отменяет начальный запрос подписок. Тариф каждой карточки сначала ищется в
|
|
73
|
+
ответе с подписками покупателя, затем в тарифах, которые продаёт магазин
|
|
74
|
+
(`storeTariffs` хранилища каталога), поэтому тариф истёкшей подписки или тариф,
|
|
75
|
+
закрытый для новых покупок, остаётся видимым. Поиск тарифов и страница тарифа
|
|
76
|
+
этот список не меняют.
|
|
77
|
+
|
|
78
|
+
Карточки показывают тариф, действующее, завершённое или подключаемое состояние,
|
|
79
|
+
даты подключения и конца оплаченного периода, длительность и сумму
|
|
80
|
+
автопродления в выбранной валюте, возможности тарифа, использование и
|
|
81
|
+
отфильтрованные данные сервиса. У отменённой подписки сохраняется дата конца
|
|
82
|
+
оплаченного периода и поясняется, как выбор периода снова включает
|
|
83
|
+
автопродление.
|
|
84
|
+
|
|
85
|
+
Меню содержит только доступные действия. Платный тариф можно продлить и
|
|
86
|
+
настроить для автопродления. Действующую подписку можно перевести на другой
|
|
87
|
+
открытый тариф той же подписки или на другую опцию сервиса. Отмена доступна
|
|
88
|
+
только для действующей подписки с автопродлением, которая ещё не отменена.
|
|
89
|
+
Поддержка доступна всегда и использует
|
|
90
|
+
`ticketsHref(subscriptionId, locale)`.
|
|
91
|
+
|
|
92
|
+
Каждый обработчик записи получает точное имя эндпоинта, запрос и
|
|
93
|
+
`AbortSignal`. После подтверждённой записи компонент последовательно вызывает
|
|
94
|
+
`subscriptions_get` и `profile_get`. Если обязательное обновление не удалось,
|
|
95
|
+
новые изменения блокируются и появляется повторная загрузка.
|
|
96
|
+
`onAccountLoaded` получает оба подтверждённых ответа. Выброшенная ошибка может
|
|
97
|
+
содержать `fields` или `form_errors`; именованные сообщения выводятся рядом с
|
|
98
|
+
соответствующими полями диалога.
|
|
99
|
+
|
|
100
|
+
Меню поддерживает стрелки, Home, End, Escape, Tab и щелчок снаружи. После
|
|
101
|
+
диалога фокус возвращается кнопке меню. `renderPlanSummary` и
|
|
102
|
+
`renderRemoteDetails` заменяют две информационные области карточки. Исходный
|
|
103
|
+
файл: `components/orionplace/subscriptions/StorefrontSubscriptions.tsx`;
|
|
104
|
+
контракты запросов и ответов:
|
|
105
|
+
`interfaces/orionplace/subscribes/ISubscriptionApi.ts`.
|
|
106
|
+
|
|
107
|
+
### Свойства
|
|
108
|
+
|
|
109
|
+
| Свойство | Назначение |
|
|
110
|
+
| --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
111
|
+
| `initialData?: { data: ICustomerSubscription[]; subscriptions: IPublicSubscription[]; tariffs: ISubscribeTariff[]; }` | Начальные данные с сервера для первого рендера и гидратации. |
|
|
112
|
+
| `initialError?: string` | Начальное значение ошибки, полученное на сервере для первого рендера и гидратации. |
|
|
113
|
+
| `loadOnMount?: boolean` | Запускает загрузку после гидратации, если серверные данные не переданы. |
|
|
114
|
+
| `plansHref?: (locale: string) => string` | Строит адрес ссылки тарифов из аргументов обработчика. |
|
|
115
|
+
| `walletHref?: (locale: string) => string` | Строит адрес ссылки кошелька из аргументов обработчика. |
|
|
116
|
+
| `ticketsHref?: (subscriptionId: number, locale: string) => string` | Строит адрес ссылки обращений из аргументов обработчика. |
|
|
117
|
+
| `onLoad: (action: SubscriptionLoadAction) => Promise<SubscriptionsPage> \| SubscriptionsPage` | Вызывается, когда компоненту нужны основные данные. Данные обработчика указаны в его типе. |
|
|
118
|
+
| `onLoadProfile: (action: SubscriptionProfileAction) => Promise<ProfilePage> \| ProfilePage` | Вызывается, когда нужно обновить текущий профиль. Данные обработчика указаны в его типе. |
|
|
119
|
+
| `onRenew: (action: SubscriptionMutationAction<ISubscriptionRenewRequest>) => Promise<void> \| void` | Вызывается, когда покупатель продлевает подписку. Данные обработчика указаны в его типе. |
|
|
120
|
+
| `onSetRenewal: (action: SubscriptionMutationAction<ISubscriptionRenewalSettingRequest>) => Promise<void> \| void` | Вызывается, когда покупатель меняет автоматическое продление подписки. Данные обработчика указаны в его типе. |
|
|
121
|
+
| `onChangeTariff: (action: SubscriptionMutationAction<ISubscriptionChangeTariffRequest>) => Promise<void> \| void` | Вызывается, когда покупатель меняет тариф подписки. Данные обработчика указаны в его типе. |
|
|
122
|
+
| `onChangeOption: (action: SubscriptionMutationAction<ISubscriptionChangeOptionRequest>) => Promise<void> \| void` | Вызывается, когда покупатель изменяет опцию подписки. Данные обработчика указаны в его типе. |
|
|
123
|
+
| `onCancel: (action: SubscriptionMutationAction<ISubscriptionCancelRequest>) => Promise<void> \| void` | Передаёт действие отмены подписки с `request.paid_subscription` после подтверждения диалога. После успешного обработчика компонент обновляет подписки и профиль. |
|
|
124
|
+
| `onRequireSignIn?: (returnPath: string) => void` | Вызывается, когда покупателю нужно войти перед продолжением. Данные обработчика указаны в его типе. |
|
|
125
|
+
| `onSupport?: (subscriptionId: number, href: string) => void` | Вызывается, когда покупатель открывает поддержку для текущей записи. Данные обработчика указаны в его типе. |
|
|
126
|
+
| `onAccountLoaded?: (subscriptions: SubscriptionsPage, profile: ProfilePage) => void` | Вызывается, когда обновлённые данные аккаунта готовы. Данные обработчика указаны в его типе. |
|
|
127
|
+
| `renderPlanSummary?: (plan: ISubscribeTariff \| undefined, subscription: ICustomerSubscription) => ReactNode` | Заменяет стандартный блок сводки тарифа; входные данные функции указаны в её типе. |
|
|
128
|
+
| `renderRemoteDetails?: (subscription: ICustomerSubscription) => ReactNode` | Заменяет стандартный блок удалённых данных; входные данные функции указаны в её типе. |
|
|
129
|
+
## Response fields and application actions
|
|
130
|
+
|
|
131
|
+
The following tables describe the response and the supplied composition’s follow-up actions. The framework-specific props and events above identify which work belongs to the component and which belongs to its parent.
|
|
132
|
+
|
|
133
|
+
### English
|
|
134
|
+
|
|
135
|
+
### How response fields become a subscription card
|
|
136
|
+
|
|
137
|
+
`subscriptions_get.page_data` — data contains purchased subscriptions; tariffs contains the plan of each subscription’s current (last) period, including expired subscriptions and plans closed to new purchases.
|
|
138
|
+
|
|
139
|
+
| Field or condition | Meaning and application action |
|
|
140
|
+
| --- | --- |
|
|
141
|
+
| `data[].tariff` → `tariffs[].id` | The supplied list combines these plans with the public catalog, preferring the account response for matching IDs. `option` selects the matching plan option. A missing plan leaves plan-dependent actions unavailable. |
|
|
142
|
+
| `plugin.remote_subscription_sync_pending: true` | Show Pending while service confirmation is awaited. This check takes precedence over the end date. |
|
|
143
|
+
| Otherwise, `active_until.days_ago < 0` | Show Active. The response’s end date is still in the future. |
|
|
144
|
+
| Otherwise, missing or elapsed `active_until` | Show Ended. A saved `renew_period` alone does not establish active access. |
|
|
145
|
+
| `cancelled_date` and `renew_period` | A cancellation date marks renewal as stopped. Customer cancellation keeps the paid access end date. `renew_period: null` means automatic renewal is off; see `subscriptions_get` for the complete cancellation-date lifecycle. |
|
|
146
|
+
|
|
147
|
+
### When menu actions are offered
|
|
148
|
+
|
|
149
|
+
| Field or condition | Meaning and application action |
|
|
150
|
+
| --- | --- |
|
|
151
|
+
| Extend | The resolved plan has paid-period choices in `prices`. |
|
|
152
|
+
| Automatic renewal | The plan has period choices, or the subscription already has `renew_period` so it can be disabled even without a loaded plan. |
|
|
153
|
+
| Change plan | Status is Active or Pending, the current plan is known, and another available plan of the same subscription definition has a positive-duration paid period. |
|
|
154
|
+
| Change option | Never offered: the storefront backend refuses `subscriptions_change_option`, because another service option is another server. The customer cancels the subscription and subscribes with the new option. |
|
|
155
|
+
| Cancel renewal | Status is Active, `cancelled_date` is absent, and the plan has period choices or renewal is already configured. |
|
|
156
|
+
| After a confirmed change | Reload `subscriptions_get` and `profile_get`: use the returned plan, dates, renewal, pending flag and wallet balance. If this reload fails, refresh before another chargeable change. |
|
|
157
|
+
|
|
158
|
+
### Русский
|
|
159
|
+
|
|
160
|
+
### Как поля ответа становятся карточкой подписки
|
|
161
|
+
|
|
162
|
+
`subscriptions_get.page_data` — data содержит купленные подписки; tariffs — тариф текущего (последнего) периода каждой подписки, включая истёкшие подписки и тарифы, закрытые для новых покупок.
|
|
163
|
+
|
|
164
|
+
| Поле или условие | Значение и действие приложения |
|
|
165
|
+
| --- | --- |
|
|
166
|
+
| `data[].tariff` → `tariffs[].id` | Готовый список объединяет эти тарифы с общедоступным каталогом; при одинаковом ID приоритет у ответа аккаунта. `option` выбирает опцию тарифа. Без найденного тарифа зависимые от него действия недоступны. |
|
|
167
|
+
| `plugin.remote_subscription_sync_pending: true` | Выводится ожидание подтверждения сервиса. Эта проверка имеет приоритет над датой окончания. |
|
|
168
|
+
| Иначе, `active_until.days_ago < 0` | Подписка активна: дата окончания из ответа ещё не наступила. |
|
|
169
|
+
| Иначе, `active_until` отсутствует или истёк | Подписка завершена. Одно сохранённое `renew_period` не подтверждает активный доступ. |
|
|
170
|
+
| `cancelled_date` и `renew_period` | Дата отмены помечает остановку продления. Отмена покупателем сохраняет дату окончания оплаченного доступа. `renew_period: null` означает отключённое автопродление; полный жизненный цикл даты отмены описан в `subscriptions_get`. |
|
|
171
|
+
|
|
172
|
+
### Когда доступны пункты меню
|
|
173
|
+
|
|
174
|
+
| Поле или условие | Значение и действие приложения |
|
|
175
|
+
| --- | --- |
|
|
176
|
+
| Продление | У найденного тарифа есть варианты оплачиваемого периода в `prices`. |
|
|
177
|
+
| Автопродление | У тарифа есть периоды либо у подписки уже задано `renew_period`: его можно отключить и без загруженного тарифа. |
|
|
178
|
+
| Смена тарифа | Подписка активна или ожидает подтверждения, текущий тариф известен, а другой доступный тариф той же подписки имеет платный период положительной длительности. |
|
|
179
|
+
| Смена опции | Не предлагается: бэкенд витрины отклоняет `subscriptions_change_option`, потому что другая опция сервиса — это другой сервер. Покупатель отменяет подписку и оформляет новую с нужной опцией. |
|
|
180
|
+
| Отмена продления | Подписка активна, `cancelled_date` отсутствует, у тарифа есть периоды или уже настроено продление. |
|
|
181
|
+
| После подтверждённого изменения | Загрузите `subscriptions_get` и `profile_get`: используйте полученные тариф, даты, продление, признак ожидания и баланс. Если обновление не удалось, повторите его до следующего действия с оплатой. |
|
|
182
|
+
|
|
183
|
+
[English guide](https://orionmarket.place/en/sandbox/components/react/subscriptions) · [Русский](https://orionmarket.place/ru/sandbox/components/react/subscriptions)
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
.root {
|
|
2
|
+
display: flex;
|
|
3
|
+
width: 100%;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
gap: 1.5rem;
|
|
6
|
+
color: var(--orionplace-text);
|
|
7
|
+
font-family: inherit;
|
|
8
|
+
container-type: inline-size;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.pageHeader {
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-wrap: wrap;
|
|
14
|
+
align-items: end;
|
|
15
|
+
justify-content: space-between;
|
|
16
|
+
gap: 1rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.pageHeader h1 {
|
|
20
|
+
margin: 0;
|
|
21
|
+
font-size: 1.5rem;
|
|
22
|
+
line-height: 1.25;
|
|
23
|
+
font-weight: 500;
|
|
24
|
+
letter-spacing: 0.04em;
|
|
25
|
+
text-transform: uppercase;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* The page's own link, as `commerce-link` in the other packages; the links
|
|
29
|
+
inside the dialogs keep their own look. */
|
|
30
|
+
.pageHeader a {
|
|
31
|
+
display: inline-flex;
|
|
32
|
+
width: fit-content;
|
|
33
|
+
align-items: center;
|
|
34
|
+
align-self: flex-start;
|
|
35
|
+
gap: 0.25rem;
|
|
36
|
+
padding-bottom: 0.125rem;
|
|
37
|
+
border-bottom: 1px solid currentColor;
|
|
38
|
+
color: var(--orionplace-text);
|
|
39
|
+
font-size: 0.75rem;
|
|
40
|
+
line-height: 1rem;
|
|
41
|
+
letter-spacing: 0.08em;
|
|
42
|
+
outline: none;
|
|
43
|
+
text-decoration: none;
|
|
44
|
+
text-transform: uppercase;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.pageHeader a:focus-visible {
|
|
48
|
+
opacity: 0.7;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@media (hover: hover) {
|
|
52
|
+
.pageHeader a:hover {
|
|
53
|
+
opacity: 0.7;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.pageHeader svg {
|
|
58
|
+
width: 1rem;
|
|
59
|
+
height: 1rem;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.notice {
|
|
63
|
+
display: grid;
|
|
64
|
+
justify-items: start;
|
|
65
|
+
gap: 0.75rem;
|
|
66
|
+
padding: 1rem;
|
|
67
|
+
border: 1px solid var(--orionplace-border);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.notice p,
|
|
71
|
+
.attention {
|
|
72
|
+
margin: 0;
|
|
73
|
+
font-size: 0.875rem;
|
|
74
|
+
line-height: 1.5rem;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.error {
|
|
78
|
+
border-color: var(--orionplace-danger);
|
|
79
|
+
color: var(--orionplace-danger);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.notice button {
|
|
83
|
+
min-height: 2.5rem;
|
|
84
|
+
padding: 0 1rem;
|
|
85
|
+
border: 1px solid currentColor;
|
|
86
|
+
background: transparent;
|
|
87
|
+
color: inherit;
|
|
88
|
+
cursor: pointer;
|
|
89
|
+
font: inherit;
|
|
90
|
+
font-size: 0.75rem;
|
|
91
|
+
line-height: calc(1 / 0.75);
|
|
92
|
+
letter-spacing: 0.08em;
|
|
93
|
+
text-transform: uppercase;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.loading {
|
|
97
|
+
min-height: 15rem;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.card {
|
|
101
|
+
display: flex;
|
|
102
|
+
min-width: 0;
|
|
103
|
+
flex-direction: column;
|
|
104
|
+
border: 1px solid var(--orionplace-border);
|
|
105
|
+
background: var(--orionplace-surface);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.cardHeader {
|
|
109
|
+
display: flex;
|
|
110
|
+
align-items: flex-start;
|
|
111
|
+
justify-content: space-between;
|
|
112
|
+
gap: 0.75rem;
|
|
113
|
+
padding: 1rem;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.identity {
|
|
117
|
+
display: grid;
|
|
118
|
+
min-width: 0;
|
|
119
|
+
gap: 0.5rem;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.identity h2 {
|
|
123
|
+
display: flex;
|
|
124
|
+
align-items: center;
|
|
125
|
+
gap: 0.5rem;
|
|
126
|
+
margin: 0;
|
|
127
|
+
font-size: 0.875rem;
|
|
128
|
+
line-height: calc(1.25 / 0.875);
|
|
129
|
+
font-weight: 500;
|
|
130
|
+
letter-spacing: 0.08em;
|
|
131
|
+
text-transform: uppercase;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.identity h2 svg,
|
|
135
|
+
.facts svg,
|
|
136
|
+
.menuTrigger svg {
|
|
137
|
+
width: 1.25rem;
|
|
138
|
+
height: 1.25rem;
|
|
139
|
+
flex: none;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.states {
|
|
143
|
+
display: flex;
|
|
144
|
+
flex-wrap: wrap;
|
|
145
|
+
gap: 0.5rem;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.state {
|
|
149
|
+
display: inline-flex;
|
|
150
|
+
align-items: center;
|
|
151
|
+
gap: .5rem;
|
|
152
|
+
padding: 0.25rem 0.75rem;
|
|
153
|
+
border: 1px solid var(--orionplace-border);
|
|
154
|
+
background: var(--orionplace-muted-surface);
|
|
155
|
+
color: var(--orionplace-muted);
|
|
156
|
+
font-size: 0.75rem;
|
|
157
|
+
line-height: calc(1 / 0.75);
|
|
158
|
+
letter-spacing: 0.08em;
|
|
159
|
+
text-transform: uppercase;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.state svg {
|
|
163
|
+
width: .875rem;
|
|
164
|
+
height: .875rem;
|
|
165
|
+
flex-shrink: 0;
|
|
166
|
+
stroke-width: 2;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.state[data-state='active'] {
|
|
170
|
+
border-color: var(--orionplace-success);
|
|
171
|
+
color: var(--orionplace-success);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.state[data-state='ended'] {
|
|
175
|
+
border-color: var(--orionplace-danger);
|
|
176
|
+
color: var(--orionplace-danger);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.state[data-state='pending'],
|
|
180
|
+
.state[data-state='cancelled'] {
|
|
181
|
+
border-color: var(--orionplace-attention);
|
|
182
|
+
color: var(--orionplace-attention);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.menuRoot {
|
|
186
|
+
position: relative;
|
|
187
|
+
flex: none;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.menuTrigger {
|
|
191
|
+
display: grid;
|
|
192
|
+
width: 2.5rem;
|
|
193
|
+
height: 2.5rem;
|
|
194
|
+
place-items: center;
|
|
195
|
+
padding: 0;
|
|
196
|
+
border: 1px solid transparent;
|
|
197
|
+
background: transparent;
|
|
198
|
+
color: inherit;
|
|
199
|
+
cursor: pointer;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.menuTrigger:focus-visible,
|
|
203
|
+
.menuTrigger[aria-expanded='true'] {
|
|
204
|
+
border-color: var(--orionplace-border);
|
|
205
|
+
background: var(--orionplace-hover);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
@media (hover: hover) {
|
|
209
|
+
.menuTrigger:hover {
|
|
210
|
+
border-color: var(--orionplace-border);
|
|
211
|
+
background: var(--orionplace-hover);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.menu {
|
|
216
|
+
position: absolute;
|
|
217
|
+
z-index: 20;
|
|
218
|
+
top: 100%;
|
|
219
|
+
right: 0;
|
|
220
|
+
box-sizing: border-box;
|
|
221
|
+
width: 18rem;
|
|
222
|
+
max-width: calc(100vw - 2rem);
|
|
223
|
+
margin-top: 0.25rem;
|
|
224
|
+
border: 1px solid var(--orionplace-border);
|
|
225
|
+
background: var(--orionplace-surface);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.menu button {
|
|
229
|
+
display: flex;
|
|
230
|
+
width: 100%;
|
|
231
|
+
min-height: 2.75rem;
|
|
232
|
+
align-items: center;
|
|
233
|
+
padding: 0.75rem 1rem;
|
|
234
|
+
border: 0;
|
|
235
|
+
border-top: 1px solid var(--orionplace-border);
|
|
236
|
+
background: transparent;
|
|
237
|
+
color: inherit;
|
|
238
|
+
cursor: pointer;
|
|
239
|
+
font: inherit;
|
|
240
|
+
font-size: 0.75rem;
|
|
241
|
+
line-height: calc(1 / 0.75);
|
|
242
|
+
letter-spacing: 0.08em;
|
|
243
|
+
text-align: left;
|
|
244
|
+
text-transform: uppercase;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.menu button svg {
|
|
248
|
+
width: 1rem;
|
|
249
|
+
height: 1rem;
|
|
250
|
+
flex: none;
|
|
251
|
+
margin-right: 0.75rem;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.menu button:first-child {
|
|
255
|
+
border-top: 0;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.menu button:focus-visible {
|
|
259
|
+
background: var(--orionplace-hover);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
@media (hover: hover) {
|
|
263
|
+
.menu button:hover {
|
|
264
|
+
background: var(--orionplace-hover);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.menu button[data-danger='true'] {
|
|
269
|
+
color: var(--orionplace-danger);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.menu button:disabled,
|
|
273
|
+
.notice button:disabled {
|
|
274
|
+
cursor: not-allowed;
|
|
275
|
+
opacity: 0.5;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.part {
|
|
279
|
+
padding: 1.25rem 1rem;
|
|
280
|
+
border-top: 1px solid var(--orionplace-border);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.attention {
|
|
284
|
+
padding: 0.875rem 1rem;
|
|
285
|
+
border: 1px solid var(--orionplace-attention);
|
|
286
|
+
color: var(--orionplace-attention);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.facts {
|
|
290
|
+
display: grid;
|
|
291
|
+
gap: 1rem 2rem;
|
|
292
|
+
margin: 0;
|
|
293
|
+
background: var(--orionplace-muted-surface);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.facts div {
|
|
297
|
+
display: grid;
|
|
298
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
299
|
+
align-items: center;
|
|
300
|
+
gap: 0.25rem 0.75rem;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.facts svg {
|
|
304
|
+
grid-row: span 2;
|
|
305
|
+
color: var(--orionplace-muted);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.facts dt {
|
|
309
|
+
color: var(--orionplace-muted);
|
|
310
|
+
font-size: 0.75rem;
|
|
311
|
+
line-height: calc(1 / 0.75);
|
|
312
|
+
letter-spacing: 0.08em;
|
|
313
|
+
text-transform: uppercase;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.facts dd {
|
|
317
|
+
margin: 0;
|
|
318
|
+
font-size: 0.875rem;
|
|
319
|
+
line-height: calc(1.25 / 0.875);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.srOnly {
|
|
323
|
+
position: absolute;
|
|
324
|
+
width: 1px;
|
|
325
|
+
height: 1px;
|
|
326
|
+
overflow: hidden;
|
|
327
|
+
clip-path: inset(50%);
|
|
328
|
+
white-space: nowrap;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/* The page's own width, not the screen's, as in the other packages. */
|
|
332
|
+
@container (min-width: 592px) {
|
|
333
|
+
.cardHeader,
|
|
334
|
+
.part {
|
|
335
|
+
padding-right: 1.5rem;
|
|
336
|
+
padding-left: 1.5rem;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
.facts {
|
|
340
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/* The title follows the component's own width, as in the other packages. */
|
|
345
|
+
@container (min-width: 592px) {
|
|
346
|
+
.pageHeader h1 { font-size: 1.875rem; }
|
|
347
|
+
}
|