orionplace-react 0.7.7 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -614
- package/bin/orionplace-react.mjs +10 -176
- package/package.json +7 -59
- package/LICENSE +0 -21
- package/runtime/app.d.mts +0 -6
- package/runtime/app.mjs +0 -48
- package/runtime/marketplace.d.mts +0 -129
- package/runtime/marketplace.mjs +0 -905
- package/src/install.mjs +0 -356
- package/src/project-readme.mjs +0 -442
- package/src/service.mjs +0 -186
- package/src/setup.mjs +0 -274
- package/src/sitemap.mjs +0 -93
- package/src/update.mjs +0 -36
- package/src/validation.mjs +0 -27
- package/templates/app/StorefrontShell.tsx +0 -443
- package/templates/app/[[...path]]/page.app.tsx +0 -11
- package/templates/app/_storefront/ActivityPage.tsx +0 -23
- package/templates/app/_storefront/AddressesPage.tsx +0 -29
- package/templates/app/_storefront/AppRoutes.tsx +0 -184
- package/templates/app/_storefront/ArticlePage.tsx +0 -84
- package/templates/app/_storefront/CartPage.tsx +0 -53
- package/templates/app/_storefront/CatalogPage.tsx +0 -37
- package/templates/app/_storefront/CategoryPage.tsx +0 -68
- package/templates/app/_storefront/ContactPage.tsx +0 -32
- package/templates/app/_storefront/HomePage.tsx +0 -140
- package/templates/app/_storefront/JournalPage.tsx +0 -36
- package/templates/app/_storefront/LogoutPage.tsx +0 -91
- package/templates/app/_storefront/ManufacturersPage.tsx +0 -64
- package/templates/app/_storefront/OrdersPage.tsx +0 -129
- package/templates/app/_storefront/PrivacyPage.tsx +0 -15
- package/templates/app/_storefront/ProductPage.tsx +0 -113
- package/templates/app/_storefront/ProfilePage.tsx +0 -75
- package/templates/app/_storefront/PromoPage.tsx +0 -66
- package/templates/app/_storefront/PromocodesPage.tsx +0 -17
- package/templates/app/_storefront/SearchPage.tsx +0 -225
- package/templates/app/_storefront/SellersPage.tsx +0 -166
- package/templates/app/_storefront/StorefrontErrorRoute.tsx +0 -42
- package/templates/app/_storefront/StorefrontPageMetadata.tsx +0 -117
- package/templates/app/_storefront/StorefrontPageStatus.tsx +0 -61
- package/templates/app/_storefront/StorefrontProductStructuredData.tsx +0 -77
- package/templates/app/_storefront/StoresPage.tsx +0 -53
- package/templates/app/_storefront/SubscriptionsPage.tsx +0 -62
- package/templates/app/_storefront/SupportPage.tsx +0 -141
- package/templates/app/_storefront/TariffsPage.tsx +0 -180
- package/templates/app/_storefront/UnsubscribePage.tsx +0 -29
- package/templates/app/_storefront/WalletPage.tsx +0 -78
- package/templates/app/_storefront/WishlistPage.tsx +0 -79
- package/templates/app/_storefront/storefrontRoutes.tsx +0 -769
- package/templates/app/_storefront/useAccountWallet.ts +0 -27
- package/templates/app/_storefront/useBlogComments.ts +0 -389
- package/templates/app/_storefront/useProductSearch.ts +0 -242
- package/templates/app/_storefront/useStorefrontNavigation.ts +0 -36
- package/templates/app/activity/page.tsx +0 -9
- package/templates/app/addresses/page.tsx +0 -9
- package/templates/app/api/[...orionplace]/route.ts +0 -21
- package/templates/app/browse/page.tsx +0 -27
- package/templates/app/cart/page.tsx +0 -9
- package/templates/app/catalog/page.tsx +0 -9
- package/templates/app/category/[id]/page.tsx +0 -9
- package/templates/app/contact/page.tsx +0 -9
- package/templates/app/error.tsx +0 -7
- package/templates/app/featured/page.tsx +0 -9
- package/templates/app/global-error.tsx +0 -61
- package/templates/app/globals.css +0 -58
- package/templates/app/journal/[id]/page.tsx +0 -9
- package/templates/app/journal/page.tsx +0 -9
- package/templates/app/layout.app.tsx +0 -20
- package/templates/app/layout.tsx +0 -66
- package/templates/app/logout/page.tsx +0 -9
- package/templates/app/manufacturers/page.tsx +0 -9
- package/templates/app/not-found.tsx +0 -5
- package/templates/app/orders/page.tsx +0 -9
- package/templates/app/page.module.css +0 -137
- package/templates/app/page.tsx +0 -9
- package/templates/app/privacy/page.tsx +0 -9
- package/templates/app/product/[id]/page.tsx +0 -9
- package/templates/app/profile/page.tsx +0 -9
- package/templates/app/promo/[id]/page.tsx +0 -9
- package/templates/app/promocodes/page.tsx +0 -9
- package/templates/app/ps3/blog/[...orionplace]/route.ts +0 -13
- package/templates/app/robots.txt/route.ts +0 -11
- package/templates/app/sellers/page.tsx +0 -9
- package/templates/app/sitemap.xml/route.ts +0 -12
- package/templates/app/storefront.module.css +0 -406
- package/templates/app/stores/page.tsx +0 -9
- package/templates/app/subscriptions/page.tsx +0 -9
- package/templates/app/tariffs/[slug]/[id]/page.tsx +0 -9
- package/templates/app/tariffs/page.tsx +0 -9
- package/templates/app/tickets/page.tsx +0 -9
- package/templates/app/unsubscribe/page.tsx +0 -9
- package/templates/app/wallet/page.tsx +0 -9
- package/templates/app/wishlist/page.tsx +0 -9
- package/templates/components/orionplace/account/AccountActivity.README.md +0 -70
- package/templates/components/orionplace/account/AccountActivity.module.css +0 -16
- package/templates/components/orionplace/account/AccountActivity.tsx +0 -94
- package/templates/components/orionplace/account/AccountPromocodes.README.md +0 -70
- package/templates/components/orionplace/account/AccountPromocodes.module.css +0 -92
- package/templates/components/orionplace/account/AccountPromocodes.tsx +0 -257
- package/templates/components/orionplace/account/AccountSection.README.md +0 -46
- package/templates/components/orionplace/account/AccountSection.module.css +0 -110
- package/templates/components/orionplace/account/AccountSection.tsx +0 -109
- package/templates/components/orionplace/account/ProfileAvatar.README.md +0 -48
- package/templates/components/orionplace/account/ProfileAvatar.module.css +0 -31
- package/templates/components/orionplace/account/ProfileAvatar.tsx +0 -138
- package/templates/components/orionplace/account/ProfileDeleteAccount.README.md +0 -59
- package/templates/components/orionplace/account/ProfileDeleteAccount.module.css +0 -51
- package/templates/components/orionplace/account/ProfileDeleteAccount.tsx +0 -171
- package/templates/components/orionplace/account/ProfileDetailsForm.README.md +0 -48
- package/templates/components/orionplace/account/ProfileDetailsForm.module.css +0 -35
- package/templates/components/orionplace/account/ProfileDetailsForm.tsx +0 -183
- package/templates/components/orionplace/account/ProfileEmailSettings.README.md +0 -52
- package/templates/components/orionplace/account/ProfileEmailSettings.module.css +0 -51
- package/templates/components/orionplace/account/ProfileEmailSettings.tsx +0 -276
- package/templates/components/orionplace/account/ProfilePasswordForm.README.md +0 -45
- package/templates/components/orionplace/account/ProfilePasswordForm.module.css +0 -43
- package/templates/components/orionplace/account/ProfilePasswordForm.tsx +0 -227
- package/templates/components/orionplace/account/ProfileSignIn.README.md +0 -64
- package/templates/components/orionplace/account/ProfileSignIn.module.css +0 -86
- package/templates/components/orionplace/account/ProfileSignIn.tsx +0 -463
- package/templates/components/orionplace/account/SignInHistory.README.md +0 -52
- package/templates/components/orionplace/account/SignInHistory.module.css +0 -81
- package/templates/components/orionplace/account/SignInHistory.tsx +0 -231
- package/templates/components/orionplace/account/StorefrontLogout.README.md +0 -48
- package/templates/components/orionplace/account/StorefrontLogout.module.css +0 -166
- package/templates/components/orionplace/account/StorefrontLogout.tsx +0 -73
- package/templates/components/orionplace/account/StorefrontProfile.README.md +0 -71
- package/templates/components/orionplace/account/StorefrontProfile.module.css +0 -65
- package/templates/components/orionplace/account/StorefrontProfile.tsx +0 -189
- package/templates/components/orionplace/account/account.module.css +0 -1180
- package/templates/components/orionplace/account/profile.module.css +0 -696
- package/templates/components/orionplace/address/AddressForm.README.md +0 -152
- package/templates/components/orionplace/address/AddressForm.module.css +0 -336
- package/templates/components/orionplace/address/AddressForm.tsx +0 -827
- package/templates/components/orionplace/address/StorefrontAddresses.README.md +0 -99
- package/templates/components/orionplace/address/StorefrontAddresses.module.css +0 -271
- package/templates/components/orionplace/address/StorefrontAddresses.tsx +0 -438
- package/templates/components/orionplace/banners/MainBanner.README.md +0 -65
- package/templates/components/orionplace/banners/MainBanner.module.css +0 -112
- package/templates/components/orionplace/banners/MainBanner.tsx +0 -159
- package/templates/components/orionplace/blog/BlogArticle.README.md +0 -183
- package/templates/components/orionplace/blog/BlogArticle.module.css +0 -333
- package/templates/components/orionplace/blog/BlogArticle.tsx +0 -545
- package/templates/components/orionplace/blog/BlogCommentForm.README.md +0 -51
- package/templates/components/orionplace/blog/BlogCommentForm.module.css +0 -93
- package/templates/components/orionplace/blog/BlogCommentForm.tsx +0 -125
- package/templates/components/orionplace/blog/BlogComments.README.md +0 -98
- package/templates/components/orionplace/blog/BlogComments.module.css +0 -151
- package/templates/components/orionplace/blog/BlogComments.tsx +0 -590
- package/templates/components/orionplace/blog/BlogPostCard.README.md +0 -51
- package/templates/components/orionplace/blog/BlogPostCard.module.css +0 -167
- package/templates/components/orionplace/blog/BlogPostCard.tsx +0 -177
- package/templates/components/orionplace/blog/BlogPostGroup.README.md +0 -49
- package/templates/components/orionplace/blog/BlogPostGroup.module.css +0 -37
- package/templates/components/orionplace/blog/BlogPostGroup.tsx +0 -129
- package/templates/components/orionplace/blog/StorefrontJournal.README.md +0 -105
- package/templates/components/orionplace/blog/StorefrontJournal.module.css +0 -387
- package/templates/components/orionplace/blog/StorefrontJournal.tsx +0 -549
- package/templates/components/orionplace/branding/BrandLogos.README.md +0 -29
- package/templates/components/orionplace/branding/BrandLogos.module.css +0 -7
- package/templates/components/orionplace/branding/BrandLogos.tsx +0 -30
- package/templates/components/orionplace/cart/CartCheckoutDetails.README.md +0 -96
- package/templates/components/orionplace/cart/CartCheckoutDetails.module.css +0 -159
- package/templates/components/orionplace/cart/CartCheckoutDetails.tsx +0 -381
- package/templates/components/orionplace/cart/CartDeliverySelector.README.md +0 -166
- package/templates/components/orionplace/cart/CartDeliverySelector.module.css +0 -105
- package/templates/components/orionplace/cart/CartDeliverySelector.tsx +0 -679
- package/templates/components/orionplace/cart/CartItemOptions.README.md +0 -172
- package/templates/components/orionplace/cart/CartItemOptions.module.css +0 -113
- package/templates/components/orionplace/cart/CartItemOptions.tsx +0 -503
- package/templates/components/orionplace/cart/CartLineItem.README.md +0 -138
- package/templates/components/orionplace/cart/CartLineItem.module.css +0 -57
- package/templates/components/orionplace/cart/CartLineItem.tsx +0 -263
- package/templates/components/orionplace/cart/CartPreview.README.md +0 -99
- package/templates/components/orionplace/cart/CartPreview.module.css +0 -225
- package/templates/components/orionplace/cart/CartPreview.tsx +0 -188
- package/templates/components/orionplace/cart/DeliveryMap.README.md +0 -65
- package/templates/components/orionplace/cart/DeliveryMap.module.css +0 -32
- package/templates/components/orionplace/cart/DeliveryMap.tsx +0 -131
- package/templates/components/orionplace/cart/StorefrontCart.README.md +0 -281
- package/templates/components/orionplace/cart/StorefrontCart.module.css +0 -460
- package/templates/components/orionplace/cart/StorefrontCart.tsx +0 -937
- package/templates/components/orionplace/catalog/CatalogHeader.README.md +0 -136
- package/templates/components/orionplace/catalog/CatalogHeader.module.css +0 -387
- package/templates/components/orionplace/catalog/CatalogHeader.tsx +0 -644
- package/templates/components/orionplace/catalog/CatalogRepresentative.README.md +0 -68
- package/templates/components/orionplace/catalog/CatalogRepresentative.tsx +0 -51
- package/templates/components/orionplace/catalog/StorefrontCatalog.README.md +0 -120
- package/templates/components/orionplace/catalog/StorefrontCatalog.module.css +0 -179
- package/templates/components/orionplace/catalog/StorefrontCatalog.tsx +0 -304
- package/templates/components/orionplace/categories/CategoryGroup.README.md +0 -68
- package/templates/components/orionplace/categories/CategoryGroup.module.css +0 -110
- package/templates/components/orionplace/categories/CategoryGroup.tsx +0 -123
- package/templates/components/orionplace/categories/StorefrontCategory.README.md +0 -155
- package/templates/components/orionplace/categories/StorefrontCategory.module.css +0 -148
- package/templates/components/orionplace/categories/StorefrontCategory.tsx +0 -225
- package/templates/components/orionplace/contact/AboutPage.README.md +0 -40
- package/templates/components/orionplace/contact/AboutPage.module.css +0 -216
- package/templates/components/orionplace/contact/AboutPage.tsx +0 -191
- package/templates/components/orionplace/contact/ContactForm.README.md +0 -93
- package/templates/components/orionplace/contact/ContactForm.module.css +0 -264
- package/templates/components/orionplace/contact/ContactForm.tsx +0 -382
- package/templates/components/orionplace/contact/EmailUnsubscribe.README.md +0 -67
- package/templates/components/orionplace/contact/EmailUnsubscribe.module.css +0 -95
- package/templates/components/orionplace/contact/EmailUnsubscribe.tsx +0 -130
- package/templates/components/orionplace/contact/StorefrontContact.README.md +0 -73
- package/templates/components/orionplace/contact/StorefrontContact.module.css +0 -101
- package/templates/components/orionplace/contact/StorefrontContact.tsx +0 -62
- package/templates/components/orionplace/currencies/MainCurrencySwitcher.README.md +0 -37
- package/templates/components/orionplace/currencies/MainCurrencySwitcher.tsx +0 -68
- package/templates/components/orionplace/events/EventEnrollmentDialog.README.md +0 -108
- package/templates/components/orionplace/events/EventEnrollmentDialog.module.css +0 -110
- package/templates/components/orionplace/events/EventEnrollmentDialog.tsx +0 -315
- package/templates/components/orionplace/events/EventsBlock.README.md +0 -58
- package/templates/components/orionplace/events/EventsBlock.module.css +0 -101
- package/templates/components/orionplace/events/EventsBlock.tsx +0 -109
- package/templates/components/orionplace/legal/CookieNotice.README.md +0 -42
- package/templates/components/orionplace/legal/CookieNotice.module.css +0 -48
- package/templates/components/orionplace/legal/CookieNotice.tsx +0 -82
- package/templates/components/orionplace/legal/StorefrontPrivacy.README.md +0 -49
- package/templates/components/orionplace/legal/StorefrontPrivacy.module.css +0 -166
- package/templates/components/orionplace/legal/StorefrontPrivacy.tsx +0 -83
- package/templates/components/orionplace/locale/MainLanguageSwitcher.README.md +0 -46
- package/templates/components/orionplace/locale/MainLanguageSwitcher.module.css +0 -196
- package/templates/components/orionplace/locale/MainLanguageSwitcher.tsx +0 -387
- package/templates/components/orionplace/manufacturers/ManufacturerIndex.README.md +0 -83
- package/templates/components/orionplace/manufacturers/ManufacturerIndex.module.css +0 -271
- package/templates/components/orionplace/manufacturers/ManufacturerIndex.tsx +0 -218
- package/templates/components/orionplace/manufacturers/StorefrontManufacturers.README.md +0 -122
- package/templates/components/orionplace/manufacturers/StorefrontManufacturers.module.css +0 -92
- package/templates/components/orionplace/manufacturers/StorefrontManufacturers.tsx +0 -455
- package/templates/components/orionplace/orders/OrderDetails.README.md +0 -116
- package/templates/components/orionplace/orders/OrderDetails.module.css +0 -730
- package/templates/components/orionplace/orders/OrderDetails.tsx +0 -693
- package/templates/components/orionplace/orders/OrderPaymentForm.README.md +0 -92
- package/templates/components/orionplace/orders/OrderPaymentForm.module.css +0 -105
- package/templates/components/orionplace/orders/OrderPaymentForm.tsx +0 -90
- package/templates/components/orionplace/orders/StorefrontOrders.README.md +0 -131
- package/templates/components/orionplace/orders/StorefrontOrders.module.css +0 -633
- package/templates/components/orionplace/orders/StorefrontOrders.tsx +0 -922
- package/templates/components/orionplace/payments/PaymentPanel.README.md +0 -114
- package/templates/components/orionplace/payments/PaymentPanel.module.css +0 -134
- package/templates/components/orionplace/payments/PaymentPanel.tsx +0 -76
- package/templates/components/orionplace/products/HoverImageViewer.README.md +0 -62
- package/templates/components/orionplace/products/HoverImageViewer.module.css +0 -88
- package/templates/components/orionplace/products/HoverImageViewer.tsx +0 -179
- package/templates/components/orionplace/products/ProductCard.README.md +0 -154
- package/templates/components/orionplace/products/ProductCard.module.css +0 -333
- package/templates/components/orionplace/products/ProductCard.tsx +0 -730
- package/templates/components/orionplace/products/ProductCardActions.README.md +0 -84
- package/templates/components/orionplace/products/ProductCardActions.module.css +0 -146
- package/templates/components/orionplace/products/ProductCardActions.tsx +0 -311
- package/templates/components/orionplace/products/ProductCardBadges.README.md +0 -44
- package/templates/components/orionplace/products/ProductCardBadges.module.css +0 -15
- package/templates/components/orionplace/products/ProductCardBadges.tsx +0 -78
- package/templates/components/orionplace/products/ProductCardDescription.README.md +0 -33
- package/templates/components/orionplace/products/ProductCardDescription.module.css +0 -6
- package/templates/components/orionplace/products/ProductCardDescription.tsx +0 -43
- package/templates/components/orionplace/products/ProductCardFavorite.README.md +0 -52
- package/templates/components/orionplace/products/ProductCardFavorite.module.css +0 -64
- package/templates/components/orionplace/products/ProductCardFavorite.tsx +0 -90
- package/templates/components/orionplace/products/ProductCardPrice.README.md +0 -33
- package/templates/components/orionplace/products/ProductCardPrice.module.css +0 -22
- package/templates/components/orionplace/products/ProductCardPrice.tsx +0 -50
- package/templates/components/orionplace/products/ProductCardRating.README.md +0 -33
- package/templates/components/orionplace/products/ProductCardRating.module.css +0 -7
- package/templates/components/orionplace/products/ProductCardRating.tsx +0 -56
- package/templates/components/orionplace/products/ProductCardSeller.README.md +0 -36
- package/templates/components/orionplace/products/ProductCardSeller.module.css +0 -31
- package/templates/components/orionplace/products/ProductCardSeller.tsx +0 -61
- package/templates/components/orionplace/products/ProductCardStockNotice.README.md +0 -36
- package/templates/components/orionplace/products/ProductCardStockNotice.module.css +0 -8
- package/templates/components/orionplace/products/ProductCardStockNotice.tsx +0 -35
- package/templates/components/orionplace/products/ProductCardTitle.README.md +0 -30
- package/templates/components/orionplace/products/ProductCardTitle.module.css +0 -13
- package/templates/components/orionplace/products/ProductCardTitle.tsx +0 -31
- package/templates/components/orionplace/products/ProductCardVariants.README.md +0 -77
- package/templates/components/orionplace/products/ProductCardVariants.module.css +0 -97
- package/templates/components/orionplace/products/ProductCardVariants.tsx +0 -350
- package/templates/components/orionplace/products/ProductGroup.README.md +0 -91
- package/templates/components/orionplace/products/ProductGroup.module.css +0 -64
- package/templates/components/orionplace/products/ProductGroup.tsx +0 -186
- package/templates/components/orionplace/products/ProductPreorderDialog.README.md +0 -89
- package/templates/components/orionplace/products/ProductPreorderDialog.module.css +0 -320
- package/templates/components/orionplace/products/ProductPreorderDialog.tsx +0 -346
- package/templates/components/orionplace/products/ProductReviewForm.README.md +0 -72
- package/templates/components/orionplace/products/ProductReviewForm.module.css +0 -217
- package/templates/components/orionplace/products/ProductReviewForm.tsx +0 -288
- package/templates/components/orionplace/products/ProductReviewGallery.README.md +0 -61
- package/templates/components/orionplace/products/ProductReviewGallery.module.css +0 -108
- package/templates/components/orionplace/products/ProductReviewGallery.tsx +0 -110
- package/templates/components/orionplace/products/ProductReviewImageViewer.README.md +0 -60
- package/templates/components/orionplace/products/ProductReviewImageViewer.module.css +0 -59
- package/templates/components/orionplace/products/ProductReviewImageViewer.tsx +0 -312
- package/templates/components/orionplace/products/ProductReviews.README.md +0 -137
- package/templates/components/orionplace/products/ProductReviews.module.css +0 -602
- package/templates/components/orionplace/products/ProductReviews.tsx +0 -944
- package/templates/components/orionplace/products/ProductSecondaryVariantModal.README.md +0 -67
- package/templates/components/orionplace/products/ProductSecondaryVariantModal.module.css +0 -79
- package/templates/components/orionplace/products/ProductSecondaryVariantModal.tsx +0 -324
- package/templates/components/orionplace/products/ProductSpecificationsDialog.README.md +0 -52
- package/templates/components/orionplace/products/ProductSpecificationsDialog.module.css +0 -138
- package/templates/components/orionplace/products/ProductSpecificationsDialog.tsx +0 -117
- package/templates/components/orionplace/products/StorefrontProduct.README.md +0 -200
- package/templates/components/orionplace/products/StorefrontProduct.module.css +0 -767
- package/templates/components/orionplace/products/StorefrontProduct.tsx +0 -1339
- package/templates/components/orionplace/products/StorefrontWishlist.README.md +0 -162
- package/templates/components/orionplace/products/StorefrontWishlist.module.css +0 -71
- package/templates/components/orionplace/products/StorefrontWishlist.tsx +0 -402
- package/templates/components/orionplace/promo/PromoProducts.README.md +0 -133
- package/templates/components/orionplace/promo/PromoProducts.module.css +0 -68
- package/templates/components/orionplace/promo/PromoProducts.tsx +0 -345
- package/templates/components/orionplace/search/MainSearch.README.md +0 -73
- package/templates/components/orionplace/search/MainSearch.module.css +0 -202
- package/templates/components/orionplace/search/MainSearch.tsx +0 -217
- package/templates/components/orionplace/search/ProductSearchResults.README.md +0 -166
- package/templates/components/orionplace/search/ProductSearchResults.module.css +0 -361
- package/templates/components/orionplace/search/ProductSearchResults.tsx +0 -359
- package/templates/components/orionplace/search/SearchFilters.README.md +0 -109
- package/templates/components/orionplace/search/SearchFilters.module.css +0 -274
- package/templates/components/orionplace/search/SearchFilters.tsx +0 -439
- package/templates/components/orionplace/sellers/SellerFilters.README.md +0 -66
- package/templates/components/orionplace/sellers/SellerFilters.module.css +0 -232
- package/templates/components/orionplace/sellers/SellerFilters.tsx +0 -201
- package/templates/components/orionplace/sellers/SellerPhotoGallery.README.md +0 -72
- package/templates/components/orionplace/sellers/SellerPhotoGallery.module.css +0 -314
- package/templates/components/orionplace/sellers/SellerPhotoGallery.tsx +0 -335
- package/templates/components/orionplace/sellers/SellerSummary.README.md +0 -62
- package/templates/components/orionplace/sellers/SellerSummary.module.css +0 -182
- package/templates/components/orionplace/sellers/SellerSummary.tsx +0 -107
- package/templates/components/orionplace/sellers/StorefrontSellers.README.md +0 -120
- package/templates/components/orionplace/sellers/StorefrontSellers.module.css +0 -147
- package/templates/components/orionplace/sellers/StorefrontSellers.tsx +0 -360
- package/templates/components/orionplace/shared/OrionplaceAvatar.README.md +0 -35
- package/templates/components/orionplace/shared/OrionplaceAvatar.module.css +0 -35
- package/templates/components/orionplace/shared/OrionplaceAvatar.tsx +0 -61
- package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.README.md +0 -33
- package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.module.css +0 -81
- package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.tsx +0 -91
- package/templates/components/orionplace/shared/OrionplaceEmptyState.README.md +0 -37
- package/templates/components/orionplace/shared/OrionplaceEmptyState.module.css +0 -126
- package/templates/components/orionplace/shared/OrionplaceEmptyState.tsx +0 -78
- package/templates/components/orionplace/shared/OrionplaceImage.README.md +0 -45
- package/templates/components/orionplace/shared/OrionplaceImage.module.css +0 -22
- package/templates/components/orionplace/shared/OrionplaceImage.tsx +0 -97
- package/templates/components/orionplace/shared/OrionplaceInfoHint.README.md +0 -31
- package/templates/components/orionplace/shared/OrionplaceInfoHint.module.css +0 -59
- package/templates/components/orionplace/shared/OrionplaceInfoHint.tsx +0 -126
- package/templates/components/orionplace/shared/OrionplacePasswordInput.README.md +0 -39
- package/templates/components/orionplace/shared/OrionplacePasswordInput.module.css +0 -79
- package/templates/components/orionplace/shared/OrionplacePasswordInput.tsx +0 -103
- package/templates/components/orionplace/shared/OrionplaceSearchSelect.README.md +0 -97
- package/templates/components/orionplace/shared/OrionplaceSearchSelect.module.css +0 -246
- package/templates/components/orionplace/shared/OrionplaceSearchSelect.tsx +0 -367
- package/templates/components/orionplace/shared/OrionplaceSelect.README.md +0 -69
- package/templates/components/orionplace/shared/OrionplaceSelect.module.css +0 -233
- package/templates/components/orionplace/shared/OrionplaceSelect.tsx +0 -439
- package/templates/components/orionplace/shared/StorefrontErrorPage.README.md +0 -52
- package/templates/components/orionplace/shared/StorefrontErrorPage.module.css +0 -141
- package/templates/components/orionplace/shared/StorefrontErrorPage.tsx +0 -103
- package/templates/components/orionplace/shared/StorefrontPagination.README.md +0 -45
- package/templates/components/orionplace/shared/StorefrontPagination.module.css +0 -69
- package/templates/components/orionplace/shared/StorefrontPagination.tsx +0 -158
- package/templates/components/orionplace/shared/dialogs.css +0 -36
- package/templates/components/orionplace/shared/emptyStateArt.ts +0 -231
- package/templates/components/orionplace/shared/features.module.css +0 -162
- package/templates/components/orionplace/social/SocialLinks.README.md +0 -16
- package/templates/components/orionplace/social/SocialLinks.module.css +0 -36
- package/templates/components/orionplace/social/SocialLinks.tsx +0 -59
- package/templates/components/orionplace/storefront/StorefrontAccount.README.md +0 -59
- package/templates/components/orionplace/storefront/StorefrontAccount.module.css +0 -159
- package/templates/components/orionplace/storefront/StorefrontAccount.tsx +0 -303
- package/templates/components/orionplace/storefront/StorefrontCartButton.README.md +0 -47
- package/templates/components/orionplace/storefront/StorefrontCartButton.module.css +0 -88
- package/templates/components/orionplace/storefront/StorefrontCartButton.tsx +0 -54
- package/templates/components/orionplace/storefront/StorefrontFooter.README.md +0 -55
- package/templates/components/orionplace/storefront/StorefrontFooter.module.css +0 -118
- package/templates/components/orionplace/storefront/StorefrontFooter.tsx +0 -168
- package/templates/components/orionplace/storefront/StorefrontHeader.README.md +0 -150
- package/templates/components/orionplace/storefront/StorefrontHeader.module.css +0 -186
- package/templates/components/orionplace/storefront/StorefrontHeader.tsx +0 -389
- package/templates/components/orionplace/storefront/StorefrontHome.README.md +0 -138
- package/templates/components/orionplace/storefront/StorefrontHome.module.css +0 -116
- package/templates/components/orionplace/storefront/StorefrontHome.tsx +0 -282
- package/templates/components/orionplace/storefront/StorefrontWishlistButton.README.md +0 -51
- package/templates/components/orionplace/storefront/StorefrontWishlistButton.module.css +0 -95
- package/templates/components/orionplace/storefront/StorefrontWishlistButton.tsx +0 -80
- package/templates/components/orionplace/stores/StorefrontStores.README.md +0 -87
- package/templates/components/orionplace/stores/StorefrontStores.module.css +0 -218
- package/templates/components/orionplace/stores/StorefrontStores.tsx +0 -397
- package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.README.md +0 -183
- package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.module.css +0 -347
- package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.tsx +0 -884
- package/templates/components/orionplace/subscriptions/StorefrontTariff.README.md +0 -124
- package/templates/components/orionplace/subscriptions/StorefrontTariff.module.css +0 -311
- package/templates/components/orionplace/subscriptions/StorefrontTariff.tsx +0 -485
- package/templates/components/orionplace/subscriptions/StorefrontTariffs.README.md +0 -115
- package/templates/components/orionplace/subscriptions/StorefrontTariffs.module.css +0 -219
- package/templates/components/orionplace/subscriptions/StorefrontTariffs.tsx +0 -367
- package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.README.md +0 -67
- package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.tsx +0 -175
- package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.README.md +0 -95
- package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.tsx +0 -634
- package/templates/components/orionplace/subscriptions/SubscriptionDialog.module.css +0 -453
- package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.README.md +0 -75
- package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.tsx +0 -384
- package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.README.md +0 -116
- package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.module.css +0 -168
- package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.tsx +0 -236
- package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.README.md +0 -123
- package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.module.css +0 -57
- package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.tsx +0 -101
- package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.README.md +0 -109
- package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.tsx +0 -253
- package/templates/components/orionplace/support/StorefrontSupport.README.md +0 -157
- package/templates/components/orionplace/support/StorefrontSupport.tsx +0 -1040
- package/templates/components/orionplace/support/Support.module.css +0 -1133
- package/templates/components/orionplace/support/TicketConversation.README.md +0 -105
- package/templates/components/orionplace/support/TicketConversation.tsx +0 -502
- package/templates/components/orionplace/support/TicketImage.README.md +0 -52
- package/templates/components/orionplace/support/TicketImage.tsx +0 -254
- package/templates/components/orionplace/support/TicketItemCard.README.md +0 -66
- package/templates/components/orionplace/support/TicketItemCard.tsx +0 -140
- package/templates/components/orionplace/support/TicketMessageForm.README.md +0 -88
- package/templates/components/orionplace/support/TicketMessageForm.tsx +0 -261
- package/templates/components/orionplace/support/TicketSubscriptionCard.README.md +0 -53
- package/templates/components/orionplace/support/TicketSubscriptionCard.tsx +0 -118
- package/templates/components/orionplace/tariffs/TariffCard.README.md +0 -108
- package/templates/components/orionplace/tariffs/TariffCard.module.css +0 -86
- package/templates/components/orionplace/tariffs/TariffCard.tsx +0 -225
- package/templates/components/orionplace/tariffs/TariffCardDescription.README.md +0 -40
- package/templates/components/orionplace/tariffs/TariffCardDescription.module.css +0 -72
- package/templates/components/orionplace/tariffs/TariffCardDescription.tsx +0 -58
- package/templates/components/orionplace/tariffs/TariffCardFeatures.README.md +0 -58
- package/templates/components/orionplace/tariffs/TariffCardFeatures.module.css +0 -60
- package/templates/components/orionplace/tariffs/TariffCardFeatures.tsx +0 -140
- package/templates/components/orionplace/tariffs/TariffCardImage.README.md +0 -36
- package/templates/components/orionplace/tariffs/TariffCardImage.module.css +0 -8
- package/templates/components/orionplace/tariffs/TariffCardImage.tsx +0 -32
- package/templates/components/orionplace/tariffs/TariffCardPrices.README.md +0 -82
- package/templates/components/orionplace/tariffs/TariffCardPrices.module.css +0 -142
- package/templates/components/orionplace/tariffs/TariffCardPrices.tsx +0 -191
- package/templates/components/orionplace/tariffs/TariffCardTitle.README.md +0 -32
- package/templates/components/orionplace/tariffs/TariffCardTitle.module.css +0 -9
- package/templates/components/orionplace/tariffs/TariffCardTitle.tsx +0 -29
- package/templates/components/orionplace/tariffs/TariffCards.README.md +0 -88
- package/templates/components/orionplace/tariffs/TariffCards.module.css +0 -24
- package/templates/components/orionplace/tariffs/TariffCards.tsx +0 -44
- package/templates/components/orionplace/tariffs/TariffSubscriptionModal.README.md +0 -92
- package/templates/components/orionplace/tariffs/TariffSubscriptionModal.module.css +0 -214
- package/templates/components/orionplace/tariffs/TariffSubscriptionModal.tsx +0 -299
- package/templates/components/orionplace/theme/OrionplaceThemeProvider.README.md +0 -30
- package/templates/components/orionplace/theme/OrionplaceThemeProvider.module.css +0 -8
- package/templates/components/orionplace/theme/OrionplaceThemeProvider.tsx +0 -32
- package/templates/components/orionplace/units/UnitSwitcher.README.md +0 -35
- package/templates/components/orionplace/units/UnitSwitcher.tsx +0 -58
- package/templates/components/orionplace/wallet/StorefrontWallet.README.md +0 -154
- package/templates/components/orionplace/wallet/StorefrontWallet.module.css +0 -507
- package/templates/components/orionplace/wallet/StorefrontWallet.tsx +0 -915
- package/templates/components/orionplace/wallet/WalletBalance.README.md +0 -46
- package/templates/components/orionplace/wallet/WalletBalance.module.css +0 -46
- package/templates/components/orionplace/wallet/WalletBalance.tsx +0 -51
- package/templates/components/orionplace/wallet/WalletTopUpForm.README.md +0 -54
- package/templates/components/orionplace/wallet/WalletTopUpForm.module.css +0 -152
- package/templates/components/orionplace/wallet/WalletTopUpForm.tsx +0 -181
- package/templates/hooks/useAccountActivity.ts +0 -251
- package/templates/hooks/useAccountAddresses.ts +0 -81
- package/templates/hooks/useAccountPromocodes.ts +0 -91
- package/templates/hooks/useOrionplaceActionMenu.ts +0 -118
- package/templates/hooks/useOrionplaceAddressForm.ts +0 -262
- package/templates/hooks/useOrionplaceApi.ts +0 -98
- package/templates/hooks/useOrionplaceAppLoad.ts +0 -66
- package/templates/hooks/useOrionplaceBlogReading.ts +0 -351
- package/templates/hooks/useOrionplaceDialog.ts +0 -85
- package/templates/hooks/useOrionplaceHomeProducts.ts +0 -97
- package/templates/hooks/useOrionplaceMap.tsx +0 -230
- package/templates/hooks/useOrionplaceMediaFormat.ts +0 -33
- package/templates/hooks/useOrionplaceProduct.ts +0 -28
- package/templates/hooks/useOrionplaceProfile.ts +0 -347
- package/templates/hooks/useOrionplaceReviews.ts +0 -352
- package/templates/hooks/useOrionplaceStableHeight.ts +0 -65
- package/templates/hooks/useOrionplaceStorefront.tsx +0 -575
- package/templates/hooks/useOrionplaceTariffPurchase.ts +0 -212
- package/templates/interfaces/orionplace/accounts/IContact.ts +0 -21
- package/templates/interfaces/orionplace/accounts/IEmailNotificationLocale.ts +0 -17
- package/templates/interfaces/orionplace/accounts/IEmailVerification.ts +0 -59
- package/templates/interfaces/orionplace/accounts/IProfileActions.ts +0 -38
- package/templates/interfaces/orionplace/accounts/IProfileData.ts +0 -125
- package/templates/interfaces/orionplace/accounts/IProfileMedia.ts +0 -17
- package/templates/interfaces/orionplace/accounts/IStorefrontProfile.ts +0 -54
- package/templates/interfaces/orionplace/address/IAddressCitySuggestion.ts +0 -19
- package/templates/interfaces/orionplace/address/IAddressEditor.ts +0 -9
- package/templates/interfaces/orionplace/address/IAddressLocationSuggestion.ts +0 -22
- package/templates/interfaces/orionplace/address/IAddressRegionSearch.ts +0 -30
- package/templates/interfaces/orionplace/address/IAddressSuggestion.ts +0 -20
- package/templates/interfaces/orionplace/address/IUserAddress.ts +0 -87
- package/templates/interfaces/orionplace/apiBase/TMethod.ts +0 -1
- package/templates/interfaces/orionplace/appBase/IAppLoad.ts +0 -16
- package/templates/interfaces/orionplace/appBase/IAppLoadCommon.ts +0 -47
- package/templates/interfaces/orionplace/appBase/IApploadUserProfile.ts +0 -15
- package/templates/interfaces/orionplace/appBase/IForm.ts +0 -21
- package/templates/interfaces/orionplace/appBase/ISEO.ts +0 -21
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonBanner.ts +0 -11
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonContact.ts +0 -8
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonCurrency.ts +0 -15
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonEvents.ts +0 -18
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLocale.ts +0 -14
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLogos.ts +0 -6
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonPath.ts +0 -22
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSEO.ts +0 -26
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSocial.ts +0 -15
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonTariff.ts +0 -7
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonUnit.ts +0 -12
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVariables.ts +0 -8
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVisualSettings.ts +0 -11
- package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonWalletValue.ts +0 -3
- package/templates/interfaces/orionplace/blog/IBlogApi.ts +0 -247
- package/templates/interfaces/orionplace/blog/IBlogPostPreview.ts +0 -30
- package/templates/interfaces/orionplace/cart/ICartActions.ts +0 -67
- package/templates/interfaces/orionplace/cart/ICartData.ts +0 -382
- package/templates/interfaces/orionplace/cart/ICartDeliveryActions.ts +0 -68
- package/templates/interfaces/orionplace/cart/ICartModal.ts +0 -22
- package/templates/interfaces/orionplace/cart/IDeliveryMap.ts +0 -29
- package/templates/interfaces/orionplace/catalog/ICatalogDirectory.ts +0 -75
- package/templates/interfaces/orionplace/category/ICategory.ts +0 -41
- package/templates/interfaces/orionplace/domains/IDomain.ts +0 -13
- package/templates/interfaces/orionplace/forms/ICustomerSubfilter.ts +0 -19
- package/templates/interfaces/orionplace/index.ts +0 -64
- package/templates/interfaces/orionplace/marketing/IPromoActions.ts +0 -51
- package/templates/interfaces/orionplace/orders/IOrderActions.ts +0 -99
- package/templates/interfaces/orionplace/orders/IOrderHistory.ts +0 -259
- package/templates/interfaces/orionplace/orders/IProductPreorder.ts +0 -31
- package/templates/interfaces/orionplace/payments/IInvoice.ts +0 -147
- package/templates/interfaces/orionplace/products/IProduct.ts +0 -262
- package/templates/interfaces/orionplace/products/IProductFeedbackApi.ts +0 -218
- package/templates/interfaces/orionplace/products/IProductSearchApi.ts +0 -146
- package/templates/interfaces/orionplace/products/IProductSearchFacets.ts +0 -35
- package/templates/interfaces/orionplace/products/IProductSecondaryVariantRequest.ts +0 -15
- package/templates/interfaces/orionplace/products/IProductSpecification.ts +0 -14
- package/templates/interfaces/orionplace/products/IWishlist.ts +0 -22
- package/templates/interfaces/orionplace/sellers/ISellerDirectory.ts +0 -70
- package/templates/interfaces/orionplace/shared/IBreadcrumb.ts +0 -10
- package/templates/interfaces/orionplace/shared/IGeoCoordinates.ts +0 -4
- package/templates/interfaces/orionplace/shared/IStorefrontControls.ts +0 -6
- package/templates/interfaces/orionplace/shared/ITransformValue.ts +0 -3
- package/templates/interfaces/orionplace/state.ts +0 -4
- package/templates/interfaces/orionplace/stores/IStoreDirectory.ts +0 -63
- package/templates/interfaces/orionplace/subscribeOptions/ISubscribeOption.ts +0 -9
- package/templates/interfaces/orionplace/subscribeTariff/ISubscribeTariff.ts +0 -56
- package/templates/interfaces/orionplace/subscribeTariff/ITariffSelection.ts +0 -11
- package/templates/interfaces/orionplace/subscribes/ISubscribe.ts +0 -28
- package/templates/interfaces/orionplace/subscribes/ISubscriptionApi.ts +0 -127
- package/templates/interfaces/orionplace/tickets/ICustomerTicketApi.ts +0 -223
- package/templates/interfaces/orionplace/transport.ts +0 -34
- package/templates/lib/orionplace/accountLabels.ts +0 -29
- package/templates/lib/orionplace/activityLabels.ts +0 -96
- package/templates/lib/orionplace/activityPresentation.ts +0 -9
- package/templates/lib/orionplace/addressChanges.ts +0 -26
- package/templates/lib/orionplace/addressPresentation.ts +0 -58
- package/templates/lib/orionplace/api.ts +0 -326
- package/templates/lib/orionplace/appLoadClient.ts +0 -80
- package/templates/lib/orionplace/appLoadResult.ts +0 -120
- package/templates/lib/orionplace/appLoadServer.ts +0 -183
- package/templates/lib/orionplace/blogArticle.ts +0 -122
- package/templates/lib/orionplace/blogArticleHtml.ts +0 -371
- package/templates/lib/orionplace/blogComments.ts +0 -102
- package/templates/lib/orionplace/blogImageViewer.ts +0 -84
- package/templates/lib/orionplace/blogJournal.ts +0 -128
- package/templates/lib/orionplace/blogLabels.ts +0 -158
- package/templates/lib/orionplace/blogPresentation.ts +0 -67
- package/templates/lib/orionplace/blogProductPlacements.ts +0 -105
- package/templates/lib/orionplace/browseLabels.ts +0 -145
- package/templates/lib/orionplace/cartAddress.ts +0 -86
- package/templates/lib/orionplace/cartController.ts +0 -104
- package/templates/lib/orionplace/cartLabels.ts +0 -390
- package/templates/lib/orionplace/cartOptions.ts +0 -115
- package/templates/lib/orionplace/cartPreview.ts +0 -135
- package/templates/lib/orionplace/cartPromo.ts +0 -150
- package/templates/lib/orionplace/cartShipment.ts +0 -61
- package/templates/lib/orionplace/cartSnapshot.ts +0 -21
- package/templates/lib/orionplace/catalog.ts +0 -150
- package/templates/lib/orionplace/categoryLabels.ts +0 -29
- package/templates/lib/orionplace/contact.ts +0 -47
- package/templates/lib/orionplace/contactLabels.ts +0 -152
- package/templates/lib/orionplace/currency.ts +0 -128
- package/templates/lib/orionplace/deliveryMap.ts +0 -86
- package/templates/lib/orionplace/directoryLabels.ts +0 -198
- package/templates/lib/orionplace/domain.ts +0 -21
- package/templates/lib/orionplace/errorPageLabels.ts +0 -89
- package/templates/lib/orionplace/eventEnrollment.ts +0 -22
- package/templates/lib/orionplace/featureData.ts +0 -28
- package/templates/lib/orionplace/featureLabels.ts +0 -406
- package/templates/lib/orionplace/featuredLabels.ts +0 -38
- package/templates/lib/orionplace/footerLabels.ts +0 -53
- package/templates/lib/orionplace/guestSession.ts +0 -55
- package/templates/lib/orionplace/headerLabels.ts +0 -98
- package/templates/lib/orionplace/homeContent.ts +0 -193
- package/templates/lib/orionplace/homeLabels.ts +0 -74
- package/templates/lib/orionplace/htmlText.ts +0 -51
- package/templates/lib/orionplace/manufacturerDirectory.ts +0 -71
- package/templates/lib/orionplace/manufacturerIndex.ts +0 -107
- package/templates/lib/orionplace/modalWindow.ts +0 -109
- package/templates/lib/orionplace/nativeApp.ts +0 -365
- package/templates/lib/orionplace/navigation.tsx +0 -121
- package/templates/lib/orionplace/notice.ts +0 -22
- package/templates/lib/orionplace/orderLabels.ts +0 -458
- package/templates/lib/orionplace/orderPresentation.ts +0 -574
- package/templates/lib/orionplace/pageMetadata.ts +0 -361
- package/templates/lib/orionplace/pageSeo.ts +0 -662
- package/templates/lib/orionplace/paginationScroll.ts +0 -131
- package/templates/lib/orionplace/phone.ts +0 -22
- package/templates/lib/orionplace/presentation.ts +0 -84
- package/templates/lib/orionplace/privacyLabels.ts +0 -273
- package/templates/lib/orionplace/productActionLabels.ts +0 -87
- package/templates/lib/orionplace/productAvailability.ts +0 -30
- package/templates/lib/orionplace/productGallery.ts +0 -64
- package/templates/lib/orionplace/productLabels.ts +0 -119
- package/templates/lib/orionplace/productListLocation.ts +0 -130
- package/templates/lib/orionplace/productPage.ts +0 -308
- package/templates/lib/orionplace/productPhotos.ts +0 -67
- package/templates/lib/orionplace/productSearch.ts +0 -280
- package/templates/lib/orionplace/productSeller.ts +0 -56
- package/templates/lib/orionplace/productStructuredData.ts +0 -221
- package/templates/lib/orionplace/profile.ts +0 -169
- package/templates/lib/orionplace/profileLabels.ts +0 -227
- package/templates/lib/orionplace/promoLabels.ts +0 -111
- package/templates/lib/orionplace/promoPresentation.ts +0 -381
- package/templates/lib/orionplace/reviewLabels.ts +0 -256
- package/templates/lib/orionplace/reviewPresentation.ts +0 -64
- package/templates/lib/orionplace/reviewScope.ts +0 -38
- package/templates/lib/orionplace/searchFilters.ts +0 -99
- package/templates/lib/orionplace/searchHistory.ts +0 -144
- package/templates/lib/orionplace/sellerDirectory.ts +0 -120
- package/templates/lib/orionplace/seo.ts +0 -52
- package/templates/lib/orionplace/serverApi.ts +0 -158
- package/templates/lib/orionplace/serverLocale.ts +0 -29
- package/templates/lib/orionplace/serverMetadata.ts +0 -93
- package/templates/lib/orionplace/serverRecords.ts +0 -31
- package/templates/lib/orionplace/serverRoute.tsx +0 -59
- package/templates/lib/orionplace/sessionLabels.ts +0 -38
- package/templates/lib/orionplace/signInReturn.ts +0 -89
- package/templates/lib/orionplace/storeDirectory.ts +0 -47
- package/templates/lib/orionplace/storefrontRecords.ts +0 -42
- package/templates/lib/orionplace/subscriptionChanges.ts +0 -120
- package/templates/lib/orionplace/subscriptionLabels.ts +0 -100
- package/templates/lib/orionplace/subscriptionManageLabels.ts +0 -422
- package/templates/lib/orionplace/subscriptionPlans.ts +0 -122
- package/templates/lib/orionplace/subscriptionRemote.ts +0 -85
- package/templates/lib/orionplace/subscriptionUsage.ts +0 -58
- package/templates/lib/orionplace/tariffLabels.ts +0 -176
- package/templates/lib/orionplace/tariffPage.ts +0 -54
- package/templates/lib/orionplace/tariffVariables.ts +0 -174
- package/templates/lib/orionplace/tariffs.ts +0 -241
- package/templates/lib/orionplace/ticketItems.ts +0 -75
- package/templates/lib/orionplace/ticketLabels.ts +0 -428
- package/templates/lib/orionplace/ticketLocation.ts +0 -79
- package/templates/lib/orionplace/ticketRequests.ts +0 -70
- package/templates/lib/orionplace/walletTransaction.ts +0 -105
- package/templates/orionplace/COMPONENT-DOWNLOAD.md +0 -66
- package/templates/orionplace/COMPONENTS.md +0 -35
- package/templates/providers/OrionplaceProvider.tsx +0 -191
- package/templates/proxy.ts +0 -63
- package/templates/stores/orionplace.ts +0 -282
- package/templates/stores/orionplaceBrowse.ts +0 -89
- package/templates/stores/orionplaceCatalog.ts +0 -162
- package/templates/stores/orionplaceProducts.ts +0 -389
- package/templates/stores/orionplaceScope.ts +0 -104
- package/templates/stores/orionplaceSelections.ts +0 -130
- package/templates/themes/orionplace.ts +0 -106
|
@@ -1,389 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
useEffect,
|
|
5
|
-
useRef,
|
|
6
|
-
type FocusEvent,
|
|
7
|
-
type KeyboardEvent,
|
|
8
|
-
type MouseEvent,
|
|
9
|
-
type PointerEvent,
|
|
10
|
-
type ReactNode,
|
|
11
|
-
} from 'react';
|
|
12
|
-
import { usePathname } from 'next/navigation';
|
|
13
|
-
import { StorefrontLink as Link } from '@/lib/orionplace/navigation';
|
|
14
|
-
import {
|
|
15
|
-
useOrionplace,
|
|
16
|
-
useOrionplaceSelections,
|
|
17
|
-
} from '@/providers/OrionplaceProvider';
|
|
18
|
-
import { selectStatus } from '@/stores/orionplace';
|
|
19
|
-
import { headerLabels } from '@/lib/orionplace/headerLabels';
|
|
20
|
-
import { BrandLogos } from '@/components/orionplace/branding/BrandLogos';
|
|
21
|
-
import { CatalogHeader, type CatalogHeaderProps } from '@/components/orionplace/catalog/CatalogHeader';
|
|
22
|
-
import { MainCurrencySwitcher } from '@/components/orionplace/currencies/MainCurrencySwitcher';
|
|
23
|
-
import { MainLanguageSwitcher } from '@/components/orionplace/locale/MainLanguageSwitcher';
|
|
24
|
-
import { MainSearch } from '@/components/orionplace/search/MainSearch';
|
|
25
|
-
import { StorefrontAccount } from './StorefrontAccount';
|
|
26
|
-
import { StorefrontCartButton } from './StorefrontCartButton';
|
|
27
|
-
import { StorefrontWishlistButton } from './StorefrontWishlistButton';
|
|
28
|
-
import styles from './StorefrontHeader.module.css';
|
|
29
|
-
|
|
30
|
-
type ProductEvents = Pick<
|
|
31
|
-
CatalogHeaderProps,
|
|
32
|
-
| 'onAdd'
|
|
33
|
-
| 'onRemove'
|
|
34
|
-
| 'onToggleFavorite'
|
|
35
|
-
| 'onSubscribe'
|
|
36
|
-
| 'onUnsubscribe'
|
|
37
|
-
| 'onPreorder'
|
|
38
|
-
| 'onSelectSeller'
|
|
39
|
-
| 'onSelectVariant'
|
|
40
|
-
| 'onRequestSecondaryVariants'
|
|
41
|
-
| 'onSelectSecondaryVariant'
|
|
42
|
-
>;
|
|
43
|
-
|
|
44
|
-
export interface StorefrontHeaderProps extends ProductEvents {
|
|
45
|
-
variantPending?: boolean;
|
|
46
|
-
variantError?: boolean;
|
|
47
|
-
productActionsDisabled?: boolean;
|
|
48
|
-
categoryHref?: CatalogHeaderProps['categoryHref'];
|
|
49
|
-
productHref?: CatalogHeaderProps['productHref'];
|
|
50
|
-
onSignIn?: () => void;
|
|
51
|
-
onSignOut?: () => void;
|
|
52
|
-
onSelectProfile?: () => void;
|
|
53
|
-
onSelectWallet?: () => void;
|
|
54
|
-
onSelectWishlist?: () => void;
|
|
55
|
-
onSelectCart?: () => void;
|
|
56
|
-
onPreviewCart?: () => void;
|
|
57
|
-
onCloseCartPreview?: () => void;
|
|
58
|
-
onSelectManufacturers?: () => void;
|
|
59
|
-
onSelectJournal?: () => void;
|
|
60
|
-
onSearch?: (query: string) => void;
|
|
61
|
-
onSelectCategory?: CatalogHeaderProps['onSelect'];
|
|
62
|
-
onSelectProduct?: CatalogHeaderProps['onSelectProduct'];
|
|
63
|
-
renderLogo?: (props: { label: string }) => ReactNode;
|
|
64
|
-
renderActions?: () => ReactNode;
|
|
65
|
-
renderCatalog?: () => ReactNode;
|
|
66
|
-
renderSearch?: (props: {
|
|
67
|
-
label: string;
|
|
68
|
-
buttonLabel: string;
|
|
69
|
-
disabled: boolean;
|
|
70
|
-
}) => ReactNode;
|
|
71
|
-
renderLocale?: (props: {
|
|
72
|
-
label: string;
|
|
73
|
-
codeOnly: true;
|
|
74
|
-
disabled: boolean;
|
|
75
|
-
}) => ReactNode;
|
|
76
|
-
renderCurrency?: (props: {
|
|
77
|
-
label: string;
|
|
78
|
-
codeOnly: true;
|
|
79
|
-
disabled: boolean;
|
|
80
|
-
}) => ReactNode;
|
|
81
|
-
renderAccount?: (props: { disabled: boolean }) => ReactNode;
|
|
82
|
-
renderWishlist?: (props: { disabled: boolean; compact: true }) => ReactNode;
|
|
83
|
-
renderCart?: (props: { disabled: boolean; compact: true }) => ReactNode;
|
|
84
|
-
renderCartPreview?: () => ReactNode;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const pages = ['manufacturers', 'journal'] as const;
|
|
88
|
-
|
|
89
|
-
export function StorefrontHeader({
|
|
90
|
-
variantPending = false,
|
|
91
|
-
variantError = false,
|
|
92
|
-
productActionsDisabled = false,
|
|
93
|
-
categoryHref,
|
|
94
|
-
productHref,
|
|
95
|
-
onSignIn,
|
|
96
|
-
onSignOut,
|
|
97
|
-
onSelectProfile,
|
|
98
|
-
onSelectWallet,
|
|
99
|
-
onSelectWishlist,
|
|
100
|
-
onSelectCart,
|
|
101
|
-
onPreviewCart,
|
|
102
|
-
onCloseCartPreview,
|
|
103
|
-
onSelectManufacturers,
|
|
104
|
-
onSelectJournal,
|
|
105
|
-
onSearch,
|
|
106
|
-
onSelectCategory,
|
|
107
|
-
onSelectProduct,
|
|
108
|
-
renderLogo,
|
|
109
|
-
renderActions,
|
|
110
|
-
renderCatalog,
|
|
111
|
-
renderSearch,
|
|
112
|
-
renderLocale,
|
|
113
|
-
renderCurrency,
|
|
114
|
-
renderAccount,
|
|
115
|
-
renderWishlist,
|
|
116
|
-
renderCart,
|
|
117
|
-
renderCartPreview,
|
|
118
|
-
...productEvents
|
|
119
|
-
}: StorefrontHeaderProps) {
|
|
120
|
-
const status = useOrionplace(selectStatus);
|
|
121
|
-
const locale = useOrionplaceSelections((state) => state.localeCode);
|
|
122
|
-
const pathname = usePathname();
|
|
123
|
-
const navigationRef = useRef<HTMLDivElement>(null);
|
|
124
|
-
const labels = headerLabels(locale);
|
|
125
|
-
const unavailable = status !== 'success';
|
|
126
|
-
const pageLinks = pages.map((page) => ({
|
|
127
|
-
page,
|
|
128
|
-
label: labels[page],
|
|
129
|
-
href: `/${page}?locale=${encodeURIComponent(locale)}`,
|
|
130
|
-
active: pathname === `/${page}` || pathname.startsWith(`/${page}/`),
|
|
131
|
-
}));
|
|
132
|
-
|
|
133
|
-
// A narrow header scrolls its navigation row; keep the current page visible.
|
|
134
|
-
useEffect(() => {
|
|
135
|
-
const link = navigationRef.current?.querySelector<HTMLElement>(
|
|
136
|
-
'[data-header-page][aria-current="page"]',
|
|
137
|
-
);
|
|
138
|
-
const row = link?.parentElement;
|
|
139
|
-
if (!link || !row || row.scrollWidth <= row.clientWidth) {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
const linkBox = link.getBoundingClientRect();
|
|
144
|
-
const rowBox = row.getBoundingClientRect();
|
|
145
|
-
if (linkBox.right > rowBox.right) {
|
|
146
|
-
row.scrollLeft += linkBox.right - rowBox.right;
|
|
147
|
-
} else if (linkBox.left < rowBox.left) {
|
|
148
|
-
row.scrollLeft -= rowBox.left - linkBox.left;
|
|
149
|
-
}
|
|
150
|
-
}, [pathname]);
|
|
151
|
-
|
|
152
|
-
// The cart preview opens while a mouse pointer or keyboard focus rests on
|
|
153
|
-
// the cart area, and closes shortly after both leave it. A tap selects the
|
|
154
|
-
// cart directly, because touch screens have no hover.
|
|
155
|
-
const cartPart = useRef<HTMLDivElement>(null);
|
|
156
|
-
const cartTimer = useRef<ReturnType<typeof setTimeout> | undefined>(
|
|
157
|
-
undefined,
|
|
158
|
-
);
|
|
159
|
-
const cartHandlers = useRef({ onPreviewCart, onCloseCartPreview });
|
|
160
|
-
|
|
161
|
-
useEffect(() => {
|
|
162
|
-
cartHandlers.current = { onPreviewCart, onCloseCartPreview };
|
|
163
|
-
});
|
|
164
|
-
useEffect(() => () => clearTimeout(cartTimer.current), []);
|
|
165
|
-
|
|
166
|
-
function scheduleCartPreview(open: boolean) {
|
|
167
|
-
clearTimeout(cartTimer.current);
|
|
168
|
-
cartTimer.current = setTimeout(
|
|
169
|
-
() => {
|
|
170
|
-
if (open) {
|
|
171
|
-
cartHandlers.current.onPreviewCart?.();
|
|
172
|
-
} else {
|
|
173
|
-
cartHandlers.current.onCloseCartPreview?.();
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
open ? 400 : 250,
|
|
177
|
-
);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
function cartPointer(event: PointerEvent<HTMLDivElement>, open: boolean) {
|
|
181
|
-
if (event.pointerType === 'mouse') {
|
|
182
|
-
scheduleCartPreview(open);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
function cartFocusIn(event: FocusEvent<HTMLDivElement>) {
|
|
187
|
-
if (event.target.matches(':focus-visible')) {
|
|
188
|
-
scheduleCartPreview(true);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
function cartFocusOut(event: FocusEvent<HTMLDivElement>) {
|
|
193
|
-
if (!cartPart.current?.contains(event.relatedTarget as Node | null)) {
|
|
194
|
-
scheduleCartPreview(false);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
function cartKeydown(event: KeyboardEvent<HTMLDivElement>) {
|
|
199
|
-
if (event.key !== 'Escape') {
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
clearTimeout(cartTimer.current);
|
|
204
|
-
onCloseCartPreview?.();
|
|
205
|
-
cartPart.current?.querySelector<HTMLElement>('button')?.focus();
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
function selectPage(
|
|
209
|
-
page: (typeof pages)[number],
|
|
210
|
-
event: MouseEvent<HTMLAnchorElement>,
|
|
211
|
-
close: (restoreFocus?: boolean) => void,
|
|
212
|
-
) {
|
|
213
|
-
const modified = event.button !== 0 || event.ctrlKey || event.metaKey ||
|
|
214
|
-
event.shiftKey || event.altKey;
|
|
215
|
-
if (modified) {
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
event.preventDefault();
|
|
219
|
-
close();
|
|
220
|
-
if (page === 'manufacturers') {
|
|
221
|
-
onSelectManufacturers?.();
|
|
222
|
-
} else {
|
|
223
|
-
onSelectJournal?.();
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
return (
|
|
228
|
-
<header
|
|
229
|
-
className={styles.header}
|
|
230
|
-
data-storefront-header
|
|
231
|
-
>
|
|
232
|
-
<div className={styles.grid}>
|
|
233
|
-
<Link
|
|
234
|
-
href={`/?locale=${encodeURIComponent(locale)}`}
|
|
235
|
-
aria-label={labels.home}
|
|
236
|
-
className={styles.logo}
|
|
237
|
-
>
|
|
238
|
-
<span
|
|
239
|
-
className={styles.logoSurface}
|
|
240
|
-
data-header-part="BrandLogos"
|
|
241
|
-
>
|
|
242
|
-
{renderLogo?.({ label: labels.home }) ?? (
|
|
243
|
-
<BrandLogos label={labels.home} />
|
|
244
|
-
)}
|
|
245
|
-
</span>
|
|
246
|
-
</Link>
|
|
247
|
-
<div
|
|
248
|
-
className={styles.search}
|
|
249
|
-
data-header-part="MainSearch"
|
|
250
|
-
>
|
|
251
|
-
{renderSearch?.({
|
|
252
|
-
label: labels.search,
|
|
253
|
-
buttonLabel: labels.find,
|
|
254
|
-
disabled: unavailable,
|
|
255
|
-
}) ?? (
|
|
256
|
-
<MainSearch
|
|
257
|
-
label={labels.search}
|
|
258
|
-
buttonLabel={labels.find}
|
|
259
|
-
disabled={unavailable}
|
|
260
|
-
onSearch={onSearch}
|
|
261
|
-
/>
|
|
262
|
-
)}
|
|
263
|
-
</div>
|
|
264
|
-
<div className={styles.preferences}>
|
|
265
|
-
<div data-header-part="MainCurrencySwitcher">
|
|
266
|
-
{renderCurrency?.({
|
|
267
|
-
label: labels.currency,
|
|
268
|
-
disabled: unavailable,
|
|
269
|
-
codeOnly: true,
|
|
270
|
-
}) ?? (
|
|
271
|
-
<MainCurrencySwitcher
|
|
272
|
-
label={labels.currency}
|
|
273
|
-
disabled={unavailable}
|
|
274
|
-
codeOnly
|
|
275
|
-
/>
|
|
276
|
-
)}
|
|
277
|
-
</div>
|
|
278
|
-
<div data-header-part="MainLanguageSwitcher">
|
|
279
|
-
{renderLocale?.({
|
|
280
|
-
label: labels.language,
|
|
281
|
-
disabled: unavailable,
|
|
282
|
-
codeOnly: true,
|
|
283
|
-
}) ?? (
|
|
284
|
-
<MainLanguageSwitcher
|
|
285
|
-
label={labels.language}
|
|
286
|
-
disabled={unavailable}
|
|
287
|
-
codeOnly
|
|
288
|
-
/>
|
|
289
|
-
)}
|
|
290
|
-
</div>
|
|
291
|
-
</div>
|
|
292
|
-
<div className={styles.actions}>
|
|
293
|
-
{renderActions?.() ?? (
|
|
294
|
-
<>
|
|
295
|
-
<div data-header-part="StorefrontAccount">
|
|
296
|
-
{renderAccount?.({ disabled: unavailable }) ?? (
|
|
297
|
-
<StorefrontAccount
|
|
298
|
-
disabled={unavailable}
|
|
299
|
-
onSignIn={onSignIn}
|
|
300
|
-
onSignOut={onSignOut}
|
|
301
|
-
onSelectProfile={onSelectProfile}
|
|
302
|
-
onSelectWallet={onSelectWallet}
|
|
303
|
-
/>
|
|
304
|
-
)}
|
|
305
|
-
</div>
|
|
306
|
-
<div data-header-part="StorefrontWishlistButton">
|
|
307
|
-
{renderWishlist?.({
|
|
308
|
-
disabled: unavailable,
|
|
309
|
-
compact: true,
|
|
310
|
-
}) ?? (
|
|
311
|
-
<StorefrontWishlistButton
|
|
312
|
-
disabled={unavailable}
|
|
313
|
-
compact
|
|
314
|
-
onSelect={onSelectWishlist}
|
|
315
|
-
/>
|
|
316
|
-
)}
|
|
317
|
-
</div>
|
|
318
|
-
<div
|
|
319
|
-
ref={cartPart}
|
|
320
|
-
data-header-part="StorefrontCartButton"
|
|
321
|
-
className={styles.cart}
|
|
322
|
-
onPointerEnter={(event) => cartPointer(event, true)}
|
|
323
|
-
onPointerLeave={(event) => cartPointer(event, false)}
|
|
324
|
-
onFocus={cartFocusIn}
|
|
325
|
-
onBlur={cartFocusOut}
|
|
326
|
-
onKeyDown={cartKeydown}
|
|
327
|
-
>
|
|
328
|
-
{renderCart?.({ disabled: unavailable, compact: true }) ?? (
|
|
329
|
-
<StorefrontCartButton
|
|
330
|
-
disabled={unavailable}
|
|
331
|
-
compact
|
|
332
|
-
onSelect={onSelectCart}
|
|
333
|
-
/>
|
|
334
|
-
)}
|
|
335
|
-
{renderCartPreview?.()}
|
|
336
|
-
</div>
|
|
337
|
-
</>
|
|
338
|
-
)}
|
|
339
|
-
</div>
|
|
340
|
-
<div
|
|
341
|
-
ref={navigationRef}
|
|
342
|
-
className={styles.navigation}
|
|
343
|
-
>
|
|
344
|
-
<div data-header-part="CatalogHeader">
|
|
345
|
-
{renderCatalog?.() ?? (
|
|
346
|
-
<CatalogHeader
|
|
347
|
-
label={labels.catalog}
|
|
348
|
-
disabled={unavailable}
|
|
349
|
-
productActionsDisabled={productActionsDisabled}
|
|
350
|
-
closeLabel={labels.close}
|
|
351
|
-
backLabel={labels.back}
|
|
352
|
-
viewCategoryLabel={labels.viewCategory}
|
|
353
|
-
productsLabel={labels.highlights}
|
|
354
|
-
emptyLabel={labels.empty}
|
|
355
|
-
emptyProductsLabel={labels.emptyProducts}
|
|
356
|
-
categoryHref={categoryHref}
|
|
357
|
-
productHref={productHref}
|
|
358
|
-
onSelect={onSelectCategory}
|
|
359
|
-
onSelectProduct={onSelectProduct}
|
|
360
|
-
renderNavigation={({ close }) => pageLinks.map((link) => (
|
|
361
|
-
<a
|
|
362
|
-
key={link.page}
|
|
363
|
-
href={link.href}
|
|
364
|
-
aria-current={link.active ? 'page' : undefined}
|
|
365
|
-
data-header-page={link.page}
|
|
366
|
-
className={styles.pageLink}
|
|
367
|
-
onClick={(event) => selectPage(link.page, event, close)}
|
|
368
|
-
>
|
|
369
|
-
{link.label}
|
|
370
|
-
</a>
|
|
371
|
-
))}
|
|
372
|
-
{...productEvents}
|
|
373
|
-
/>
|
|
374
|
-
)}
|
|
375
|
-
</div>
|
|
376
|
-
{(variantPending || variantError) && (
|
|
377
|
-
<p
|
|
378
|
-
role="status"
|
|
379
|
-
aria-live="polite"
|
|
380
|
-
className={styles.variantStatus}
|
|
381
|
-
>
|
|
382
|
-
{variantError ? labels.variantFailed : labels.variantLoading}
|
|
383
|
-
</p>
|
|
384
|
-
)}
|
|
385
|
-
</div>
|
|
386
|
-
</div>
|
|
387
|
-
</header>
|
|
388
|
-
);
|
|
389
|
-
}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
# StorefrontHome
|
|
2
|
-
|
|
3
|
-
## English
|
|
4
|
-
|
|
5
|
-
`StorefrontHome` composes the localized main banners, public categories,
|
|
6
|
-
ordinary products, discounts, new products, page events and featured products.
|
|
7
|
-
Empty sections are omitted. Categories use Application Load ordering settings.
|
|
8
|
-
Product IDs stay separated by section: ordinary products exclude discounted,
|
|
9
|
-
new and featured IDs; discounted products have `discount < 1`; new products use
|
|
10
|
-
`flags.flag_is_new` or IDs supplied through the products store; featured
|
|
11
|
-
products come only from `init.featured` and follow the events section.
|
|
12
|
-
|
|
13
|
-
The page's spacing and section headings follow the width of the component
|
|
14
|
-
itself (a size container), not the screen: from 640px of its own width the
|
|
15
|
-
sections are 56px apart with 24px side padding and larger headings, and from
|
|
16
|
-
1024px the side padding is 32px. A full-width home page looks as it did at
|
|
17
|
-
those screen widths; a narrower placement gets the compact spacing.
|
|
18
|
-
|
|
19
|
-
When Application Load has no new-flagged product, the generated home page
|
|
20
|
-
calls `useOrionplaceHomeProducts()`. After mounting, it sends the discovered
|
|
21
|
-
`products_search` endpoint with `filters: { only_new: true }` for the first
|
|
22
|
-
page and passes the confirmed products and search sellers to
|
|
23
|
-
`setHomeNewProducts(products, sellers)`. A failed request shows a notice with
|
|
24
|
-
an explicit Retry action. Resetting the Application Load snapshot clears the
|
|
25
|
-
loaded IDs. The home component itself does not request products.
|
|
26
|
-
|
|
27
|
-
`productLimit` defaults to 12 for each product section. More reveals every
|
|
28
|
-
already loaded item in that section without sending a request. An Application
|
|
29
|
-
Load or limit change restores the limit. Featured More is a real localized link;
|
|
30
|
-
a plain click calls `onSelectFeatured`, while modifier clicks retain browser
|
|
31
|
-
navigation.
|
|
32
|
-
|
|
33
|
-
The component forwards each category, banner, event, product, seller, variant,
|
|
34
|
-
favorite and purchase callback from its physical child component.
|
|
35
|
-
`productActionsDisabled` disables product-card interaction. `categoryHref` and
|
|
36
|
-
`productHref` create server-rendered links. `renderBanners`, `renderCategories`,
|
|
37
|
-
`renderProducts` and `renderEvents` replace their respective sections when data
|
|
38
|
-
for that section exists. `renderProducts` receives the section key, ordered IDs,
|
|
39
|
-
collection, disabled state and current limit.
|
|
40
|
-
|
|
41
|
-
### Props
|
|
42
|
-
|
|
43
|
-
| Prop | Meaning |
|
|
44
|
-
| ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
45
|
-
| `productLimit?: number` | Limits the product entries rendered in each home section. |
|
|
46
|
-
| `productActionsDisabled?: boolean` | Disables cart, wishlist, subscription and preorder actions. |
|
|
47
|
-
| `categoryHref?: (categoryId: number) => string` | Builds the category destination from the callback arguments. |
|
|
48
|
-
| `productHref?: (id: number) => string` | Builds the product destination from the callback arguments. |
|
|
49
|
-
| `featuredHref?: (locale: string) => string` | Builds the featured destination from the callback arguments. |
|
|
50
|
-
| `onSelectCategory?: (category: ICategory) => void` | Called when the visitor chooses a category. The callback payload is shown in its type. |
|
|
51
|
-
| `onSelectBanner?: (banner: IAppLoadCommonBanner) => void` | Called when the visitor chooses a home banner. The callback payload is shown in its type. |
|
|
52
|
-
| `onSelectEvent?: (event: IAppLoadCommonEvents) => void` | Called when the visitor chooses an event. The callback payload is shown in its type. |
|
|
53
|
-
| `onSelectFeatured?: () => void` | Called when the visitor opens featured products. The callback has no payload. |
|
|
54
|
-
| `renderBanners?: () => ReactNode` | Replaces the default banners region; the renderer inputs are shown in its type. |
|
|
55
|
-
| `renderCategories?: () => ReactNode` | Replaces the default categories region; the renderer inputs are shown in its type. |
|
|
56
|
-
| `renderProducts?: (props: StorefrontHomeProductRenderProps) => ReactNode` | Replaces the default products region; the renderer inputs are shown in its type. |
|
|
57
|
-
| `renderEvents?: () => ReactNode` | Replaces the default events region; the renderer inputs are shown in its type. |
|
|
58
|
-
| `onSelect?: (product: IProduct) => void` | Passes the displayed product object when its image or name is selected. The application handles product navigation. |
|
|
59
|
-
| `onSelectSeller?: (seller: IProductSeller) => void` | Passes the displayed product’s seller object when the seller is selected. The application opens the seller page. |
|
|
60
|
-
| `onSelectVariant?: (selection: ProductActionSelection & { variant: IProductVariantValue; }) => void` | Passes the previously displayed product ID in `product` and chosen primary variant in `variant`. An available variant product replaces the card; the application loads missing product data. |
|
|
61
|
-
| `onRequestSecondaryVariants?: (request: IProductSecondaryVariantRequest) => void` | Passes the product ID in `product`, product group ID in `productGroup` and primary variant in `variant` when its secondary variants need loading. The application loads them and supplies them to the product store. |
|
|
62
|
-
| `onSelectSecondaryVariant?: (selection: ProductActionSelection & { variant: IProductSecondaryVariant; }) => void` | Passes the previously displayed product ID in `product` and chosen secondary variant in `variant` after replacing the displayed product. The secondary-variant data remains available. |
|
|
63
|
-
| `onToggleFavorite?: (selection: ProductActionSelection & { selected: boolean; }) => void` | Passes the product ID in `product` and desired wishlist state in `selected` after the heart is pressed. The application confirms the change with a request and updates product data. |
|
|
64
|
-
| `onAdd?: (selection: ProductActionSelection & { quantity: number; }) => void` | Passes the product ID in `product` and the requested total quantity in `quantity` when adding an item or changing its quantity. The application sends the request and supplies confirmed product data. |
|
|
65
|
-
| `onRemove?: (selection: ProductActionSelection & { cartItem: number; }) => void` | Passes the product ID in `product` and cart item ID in `cartItem` when removing the last unit. The application removes that cart item and supplies confirmed product data. |
|
|
66
|
-
| `onSubscribe?: (selection: ProductActionSelection) => void` | Passes the product ID in `product` when an availability notification is requested. The application handles any required sign-in, sends the request and updates subscription state. |
|
|
67
|
-
| `onUnsubscribe?: (selection: ProductActionSelection) => void` | Passes the product ID in `product` when cancelling an availability notification. The application sends the request and supplies the confirmed subscription state. |
|
|
68
|
-
| `onPreorder?: (selection: ProductActionSelection) => void` | Passes the product ID in `product` when preorder is selected. The application collects the required contact details and submits the request. |
|
|
69
|
-
|
|
70
|
-
## Русский
|
|
71
|
-
|
|
72
|
-
`StorefrontHome` объединяет локализованные главные баннеры, публичные категории,
|
|
73
|
-
обычные товары, скидки, новинки, события страницы и рекомендуемые товары. Пустые
|
|
74
|
-
разделы не выводятся. Категории используют настройки порядка из Application
|
|
75
|
-
Load. ID товаров остаются разделены по подборкам: обычные товары исключают ID
|
|
76
|
-
скидок, новинок и рекомендаций; в скидки входят товары с `discount < 1`; новинки
|
|
77
|
-
определяются по `flags.flag_is_new` или по ID из хранилища товаров;
|
|
78
|
-
рекомендованные товары берутся только из `init.featured` и следуют после
|
|
79
|
-
событий.
|
|
80
|
-
|
|
81
|
-
Отступы страницы и заголовки разделов зависят от ширины самого компонента
|
|
82
|
-
(контейнерный запрос), а не экрана: с 640px собственной ширины разделы
|
|
83
|
-
разделены 56px, боковые поля 24px и заголовки крупнее, с 1024px поля 32px.
|
|
84
|
-
Домашняя страница во всю ширину выглядит как раньше при этих ширинах экрана,
|
|
85
|
-
а в более узком месте получает компактные отступы.
|
|
86
|
-
|
|
87
|
-
Если в Загрузке приложения нет товаров с признаком новинки, сгенерированная
|
|
88
|
-
главная страница вызывает `useOrionplaceHomeProducts()`. После монтирования
|
|
89
|
-
она отправляет доступный запрос `products_search` с
|
|
90
|
-
`filters: { only_new: true }` для первой страницы и передаёт подтверждённые
|
|
91
|
-
товары и продавцов из ответа в `setHomeNewProducts(products, sellers)`. При
|
|
92
|
-
ошибке страница показывает сообщение с кнопкой «Повторить». Сброс снимка
|
|
93
|
-
Загрузки приложения очищает загруженные ID. Сам компонент главной страницы
|
|
94
|
-
товары не запрашивает.
|
|
95
|
-
|
|
96
|
-
`productLimit` по умолчанию показывает до 12 товаров в каждом разделе. Кнопка
|
|
97
|
-
«Ещё» открывает все уже загруженные товары этого раздела без запроса. Смена
|
|
98
|
-
Application Load или ограничения снова применяет лимит. «Ещё» в рекомендациях —
|
|
99
|
-
настоящая локализованная ссылка: обычное нажатие вызывает
|
|
100
|
-
`onSelectFeatured`, а нажатие с модификатором сохраняет переход средствами
|
|
101
|
-
браузера.
|
|
102
|
-
|
|
103
|
-
Компонент передаёт обработчикам события категорий, баннеров, событий, товаров,
|
|
104
|
-
продавцов, вариантов, избранного и покупки от соответствующих физических
|
|
105
|
-
дочерних компонентов. `productActionsDisabled` блокирует взаимодействие с
|
|
106
|
-
карточками. `categoryHref` и `productHref` создают ссылки в серверном HTML.
|
|
107
|
-
`renderBanners`, `renderCategories`, `renderProducts` и `renderEvents` заменяют
|
|
108
|
-
свои разделы, когда для них есть данные. `renderProducts` получает ключ
|
|
109
|
-
раздела, упорядоченные ID, коллекцию, состояние блокировки и текущий лимит.
|
|
110
|
-
|
|
111
|
-
### Свойства
|
|
112
|
-
|
|
113
|
-
| Свойство | Назначение |
|
|
114
|
-
| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
115
|
-
| `productLimit?: number` | Ограничивает число товаров в каждом блоке главной страницы. |
|
|
116
|
-
| `productActionsDisabled?: boolean` | Блокирует корзину, избранное, подписку и предзаказ. |
|
|
117
|
-
| `categoryHref?: (categoryId: number) => string` | Строит адрес ссылки категории из аргументов обработчика. |
|
|
118
|
-
| `productHref?: (id: number) => string` | Строит адрес ссылки товара из аргументов обработчика. |
|
|
119
|
-
| `featuredHref?: (locale: string) => string` | Строит адрес ссылки рекомендуемых товаров из аргументов обработчика. |
|
|
120
|
-
| `onSelectCategory?: (category: ICategory) => void` | Вызывается, когда покупатель выбирает категорию. Данные обработчика указаны в его типе. |
|
|
121
|
-
| `onSelectBanner?: (banner: IAppLoadCommonBanner) => void` | Вызывается, когда покупатель выбирает баннер главной страницы. Данные обработчика указаны в его типе. |
|
|
122
|
-
| `onSelectEvent?: (event: IAppLoadCommonEvents) => void` | Вызывается, когда покупатель выбирает событие. Данные обработчика указаны в его типе. |
|
|
123
|
-
| `onSelectFeatured?: () => void` | Вызывается, когда покупатель открывает рекомендуемые товары. Обработчик не получает данные. |
|
|
124
|
-
| `renderBanners?: () => ReactNode` | Заменяет стандартный блок баннеров; входные данные функции указаны в её типе. |
|
|
125
|
-
| `renderCategories?: () => ReactNode` | Заменяет стандартный блок категорий; входные данные функции указаны в её типе. |
|
|
126
|
-
| `renderProducts?: (props: StorefrontHomeProductRenderProps) => ReactNode` | Заменяет стандартный блок товаров; входные данные функции указаны в её типе. |
|
|
127
|
-
| `renderEvents?: () => ReactNode` | Заменяет стандартный блок событий; входные данные функции указаны в её типе. |
|
|
128
|
-
| `onSelect?: (product: IProduct) => void` | Передаёт объект отображаемого товара при выборе его изображения или названия. Приложение выполняет переход к товару. |
|
|
129
|
-
| `onSelectSeller?: (seller: IProductSeller) => void` | Передаёт объект продавца отображаемого товара при выборе продавца. Приложение открывает его страницу. |
|
|
130
|
-
| `onSelectVariant?: (selection: ProductActionSelection & { variant: IProductVariantValue; }) => void` | Передаёт ID ранее отображаемого товара в `product` и выбранный основной вариант в `variant`. Доступный товар выбранного варианта заменяет карточку; отсутствующие данные загружает приложение. |
|
|
131
|
-
| `onRequestSecondaryVariants?: (request: IProductSecondaryVariantRequest) => void` | Передаёт ID товара в `product`, ID группы товаров в `productGroup` и основной вариант в `variant`, когда для него нужно загрузить дополнительные варианты. Приложение загружает и передаёт их в хранилище товаров. |
|
|
132
|
-
| `onSelectSecondaryVariant?: (selection: ProductActionSelection & { variant: IProductSecondaryVariant; }) => void` | Передаёт ID ранее отображаемого товара в `product` и выбранный дополнительный вариант в `variant` после замены отображаемого товара. Выбор сохраняет данные дополнительных вариантов. |
|
|
133
|
-
| `onToggleFavorite?: (selection: ProductActionSelection & { selected: boolean; }) => void` | Передаёт ID товара в `product` и желаемое состояние избранного в `selected` после нажатия сердца. Приложение подтверждает изменение запросом и обновляет данные товара. |
|
|
134
|
-
| `onAdd?: (selection: ProductActionSelection & { quantity: number; }) => void` | Передаёт `product` — ID товара и `quantity` — запрошенное итоговое количество при добавлении или изменении количества. Приложение выполняет запрос и передаёт подтверждённые данные товара. |
|
|
135
|
-
| `onRemove?: (selection: ProductActionSelection & { cartItem: number; }) => void` | Передаёт ID товара в `product` и ID позиции корзины в `cartItem` при удалении последней единицы. Приложение удаляет эту позицию и передаёт подтверждённые данные товара. |
|
|
136
|
-
| `onSubscribe?: (selection: ProductActionSelection) => void` | Передаёт ID товара в `product` при выборе уведомления о поступлении. Приложение выполняет вход, если он нужен, отправляет запрос и обновляет состояние подписки. |
|
|
137
|
-
| `onUnsubscribe?: (selection: ProductActionSelection) => void` | Передаёт ID товара в `product` при отмене уведомления о поступлении. Приложение отправляет запрос и передаёт подтверждённое состояние подписки. |
|
|
138
|
-
| `onPreorder?: (selection: ProductActionSelection) => void` | Передаёт ID товара в `product` при выборе предзаказа. Приложение собирает необходимые контактные данные и отправляет запрос. |
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/* The page follows its own width (the screen widths of the former steps,
|
|
2
|
-
since the home page spans the page), as in the other packages. */
|
|
3
|
-
.root {
|
|
4
|
-
container: home / inline-size;
|
|
5
|
-
width: 100%;
|
|
6
|
-
min-width: 0;
|
|
7
|
-
color: var(--orionplace-text);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.home {
|
|
11
|
-
display: grid;
|
|
12
|
-
min-width: 0;
|
|
13
|
-
grid-template-columns: minmax(0, 1fr);
|
|
14
|
-
gap: 40px;
|
|
15
|
-
padding-bottom: 40px;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.withoutBanner {
|
|
19
|
-
padding-top: 40px;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.section {
|
|
23
|
-
box-sizing: border-box;
|
|
24
|
-
width: 100%;
|
|
25
|
-
max-width: 1440px;
|
|
26
|
-
margin-inline: auto;
|
|
27
|
-
padding-inline: 16px;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.sectionHeader {
|
|
31
|
-
display: flex;
|
|
32
|
-
align-items: flex-end;
|
|
33
|
-
justify-content: space-between;
|
|
34
|
-
gap: 16px;
|
|
35
|
-
margin-bottom: 20px;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/* 18px on 28px, 24px on 32px from 640px of the page's width, as Nuxt's
|
|
39
|
-
text-lg and text-2xl. */
|
|
40
|
-
.heading {
|
|
41
|
-
margin: 0 0 20px;
|
|
42
|
-
font-size: 18px;
|
|
43
|
-
font-weight: 500;
|
|
44
|
-
line-height: 28px;
|
|
45
|
-
letter-spacing: 0.04em;
|
|
46
|
-
text-transform: uppercase;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.sectionHeader .heading {
|
|
50
|
-
margin-bottom: 0;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.more {
|
|
54
|
-
position: relative;
|
|
55
|
-
display: inline-flex;
|
|
56
|
-
flex-shrink: 0;
|
|
57
|
-
align-items: center;
|
|
58
|
-
gap: 4px;
|
|
59
|
-
margin-bottom: 4px;
|
|
60
|
-
padding: 0 0 2px;
|
|
61
|
-
border: 0;
|
|
62
|
-
border-bottom: 1px solid currentcolor;
|
|
63
|
-
outline: none;
|
|
64
|
-
background: transparent;
|
|
65
|
-
color: var(--orionplace-text);
|
|
66
|
-
font: inherit;
|
|
67
|
-
font-size: 12px;
|
|
68
|
-
font-weight: 500;
|
|
69
|
-
line-height: 16px;
|
|
70
|
-
letter-spacing: 0.08em;
|
|
71
|
-
text-decoration: none;
|
|
72
|
-
text-transform: uppercase;
|
|
73
|
-
cursor: pointer;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/* The 19px link gets a touch target of at least 24px. */
|
|
77
|
-
.more::before {
|
|
78
|
-
position: absolute;
|
|
79
|
-
inset: -4px 0;
|
|
80
|
-
content: '';
|
|
81
|
-
}
|
|
82
|
-
@media (hover: hover) {
|
|
83
|
-
.more:hover {
|
|
84
|
-
opacity: 0.7;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.more:focus-visible {
|
|
89
|
-
color: var(--orionplace-muted);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
@container home (min-width: 640px) {
|
|
93
|
-
.home {
|
|
94
|
-
gap: 56px;
|
|
95
|
-
padding-bottom: 56px;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.withoutBanner {
|
|
99
|
-
padding-top: 56px;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.section {
|
|
103
|
-
padding-inline: 24px;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.heading {
|
|
107
|
-
font-size: 24px;
|
|
108
|
-
line-height: 32px;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
@container home (min-width: 1024px) {
|
|
113
|
-
.section {
|
|
114
|
-
padding-inline: 32px;
|
|
115
|
-
}
|
|
116
|
-
}
|