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,114 +0,0 @@
|
|
|
1
|
-
# PaymentPanel · React
|
|
2
|
-
|
|
3
|
-
## English
|
|
4
|
-
|
|
5
|
-
Opens a supplied payment link and lets the customer ask the parent to check the
|
|
6
|
-
payment status.
|
|
7
|
-
|
|
8
|
-
## Contract and dependencies
|
|
9
|
-
|
|
10
|
-
`payment.link` must be an absolute HTTP or HTTPS address. When
|
|
11
|
-
`payment.link_type` is `EPaymentLinkType.IFRAME`, the component opens that
|
|
12
|
-
address in a titled frame inside the panel. Other accepted link types produce a
|
|
13
|
-
safe link that opens the payment page in a new tab. An invalid or unsupported
|
|
14
|
-
address shows the localized request-failed message and is never placed in an
|
|
15
|
-
`iframe` or link.
|
|
16
|
-
|
|
17
|
-
Check calls `onRefresh`. The parent should reload the payment or order status
|
|
18
|
-
and pass the resulting state back to the component. While `pending` is `true`,
|
|
19
|
-
Check is disabled and the panel exposes its busy state. Close remains available
|
|
20
|
-
and calls `onClose`; closing the panel does not mark the payment as completed.
|
|
21
|
-
|
|
22
|
-
The component makes no API request and performs no browser work during server
|
|
23
|
-
rendering. It is shared by cart, order and wallet flows. Source is maintained in
|
|
24
|
-
`components/orionplace/payments/PaymentPanel.tsx`; its physical input interface
|
|
25
|
-
is `interfaces/orionplace/shared/IStorefrontControls.ts`.
|
|
26
|
-
|
|
27
|
-
### Props
|
|
28
|
-
|
|
29
|
-
| Prop | Meaning |
|
|
30
|
-
| ----------------------------- | -------------------------------------------------------------------------------- |
|
|
31
|
-
| `payment: IStorefrontPayment` | Payment state containing the link, display mode and current status. |
|
|
32
|
-
| `pending?: boolean` | Shows the loading state and blocks duplicate actions. |
|
|
33
|
-
| `onRefresh?: () => void` | Called when the visible data must be refreshed. The callback has no payload. |
|
|
34
|
-
| `onClose?: () => void` | Called when the visitor closes the panel or dialog. The callback has no payload. |
|
|
35
|
-
|
|
36
|
-
## Русский
|
|
37
|
-
|
|
38
|
-
Компонент открывает полученную ссылку на оплату и позволяет покупателю
|
|
39
|
-
попросить родительский раздел проверить состояние платежа.
|
|
40
|
-
|
|
41
|
-
`payment.link` должен содержать абсолютный HTTP- или HTTPS-адрес. Если
|
|
42
|
-
`payment.link_type` равен `EPaymentLinkType.IFRAME`, адрес открывается во
|
|
43
|
-
встроенном окне с доступным названием. Для другого допустимого типа компонент
|
|
44
|
-
показывает безопасную ссылку, которая открывает страницу оплаты в новой
|
|
45
|
-
вкладке. При недопустимом адресе показано локализованное сообщение об ошибке, а
|
|
46
|
-
сам адрес не попадает в `iframe` или ссылку.
|
|
47
|
-
|
|
48
|
-
Кнопка «Проверить» вызывает `onRefresh`. Родитель должен заново получить
|
|
49
|
-
состояние платежа или заказа и передать результат компоненту. При
|
|
50
|
-
`pending = true` эта кнопка недоступна, а панель сообщает о занятости. Кнопка
|
|
51
|
-
«Закрыть» остаётся доступной и вызывает `onClose`; закрытие панели само по себе
|
|
52
|
-
не подтверждает оплату.
|
|
53
|
-
|
|
54
|
-
Компонент не выполняет API-запросы и не обращается к браузеру во время
|
|
55
|
-
серверного рендеринга. Его используют разделы корзины, заказов и кошелька.
|
|
56
|
-
Исходный файл: `components/orionplace/payments/PaymentPanel.tsx`; физический
|
|
57
|
-
интерфейс входных данных:
|
|
58
|
-
`interfaces/orionplace/shared/IStorefrontControls.ts`.
|
|
59
|
-
|
|
60
|
-
### Свойства
|
|
61
|
-
|
|
62
|
-
| Свойство | Назначение |
|
|
63
|
-
| ----------------------------- | ---------------------------------------------------------------------------------------- |
|
|
64
|
-
| `payment: IStorefrontPayment` | Состояние оплаты со ссылкой, режимом показа и текущим статусом. |
|
|
65
|
-
| `pending?: boolean` | Показывает загрузку и блокирует повторные действия. |
|
|
66
|
-
| `onRefresh?: () => void` | Вызывается, когда нужно обновить видимые данные. Обработчик не получает данные. |
|
|
67
|
-
| `onClose?: () => void` | Вызывается, когда покупатель закрывает панель или диалог. Обработчик не получает данные. |
|
|
68
|
-
## Response fields and application actions
|
|
69
|
-
|
|
70
|
-
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.
|
|
71
|
-
|
|
72
|
-
### English
|
|
73
|
-
|
|
74
|
-
### Payment response cases
|
|
75
|
-
|
|
76
|
-
`payment` — The panel accepts HTTP/HTTPS URLs. The parent decides whether a payment response needs an external page.
|
|
77
|
-
|
|
78
|
-
| Field or condition | Meaning and application action |
|
|
79
|
-
| --- | --- |
|
|
80
|
-
| Accepted `link`, `link_type: EPaymentLinkType.IFRAME` | Display the payment URL in an iframe. |
|
|
81
|
-
| Accepted `link`, another `link_type` | Display a link opening the payment page in a new tab. |
|
|
82
|
-
| Empty or rejected `link` passed to the panel | Display failure text. Check the response before opening the panel. |
|
|
83
|
-
| Successful order response with empty `link` and null `link_type` | No external payment page is supplied. The parent continues from the refreshed order state; an empty link by itself does not establish payment success or failure. |
|
|
84
|
-
|
|
85
|
-
### Application actions
|
|
86
|
-
|
|
87
|
-
| Field or condition | Meaning and application action |
|
|
88
|
-
| --- | --- |
|
|
89
|
-
| `pending` | Disables the status-check button while its request is running. The close control remains available. |
|
|
90
|
-
| `onRefresh` | Calls the callback without arguments when the customer checks status. The wallet reloads invoices and profile balance; the order page reloads `profile_orders_get`. |
|
|
91
|
-
| `onClose` | Calls the callback without arguments. The supplied parent hides the panel and refreshes the same wallet or order data. Closing changes panel visibility, while the returned invoice/order status determines payment completion. |
|
|
92
|
-
|
|
93
|
-
### Русский
|
|
94
|
-
|
|
95
|
-
### Варианты ответа оплаты
|
|
96
|
-
|
|
97
|
-
`payment` — Панель принимает HTTP/HTTPS-ссылки. Родитель определяет, нужна ли внешняя страница по полученному ответу.
|
|
98
|
-
|
|
99
|
-
| Поле или условие | Значение и действие приложения |
|
|
100
|
-
| --- | --- |
|
|
101
|
-
| Допустимый `link`, `link_type: EPaymentLinkType.IFRAME` | Страница оплаты открывается в iframe. |
|
|
102
|
-
| Допустимый `link`, другой `link_type` | Выводится ссылка, открывающая страницу оплаты в новой вкладке. |
|
|
103
|
-
| В панель передан пустой или отклонённый `link` | Выводится сообщение об ошибке. Проверьте ответ до открытия панели. |
|
|
104
|
-
| Успешный ответ заказа с пустым `link` и null в `link_type` | Внешняя страница оплаты не предоставлена. Родитель продолжает по обновлённому состоянию заказа; одна пустая ссылка не подтверждает успех или ошибку оплаты. |
|
|
105
|
-
|
|
106
|
-
### Действия приложения
|
|
107
|
-
|
|
108
|
-
| Поле или условие | Значение и действие приложения |
|
|
109
|
-
| --- | --- |
|
|
110
|
-
| `pending` | Отключает кнопку проверки состояния на время запроса. Закрытие остаётся доступным. |
|
|
111
|
-
| `onRefresh` | Событие без данных при проверке состояния. Кошелёк обновляет платежи и баланс профиля; страница заказов загружает `profile_orders_get`. |
|
|
112
|
-
| `onClose` | Событие без данных. Готовый родитель скрывает панель и обновляет те же данные кошелька или заказа. Закрытие меняет видимость панели, а завершение оплаты определяется полученным состоянием платежа/заказа. |
|
|
113
|
-
|
|
114
|
-
[English guide](https://orionmarket.place/en/sandbox/components/react/payment-panel) · [Русский](https://orionmarket.place/ru/sandbox/components/react/payment-panel)
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
.panel {
|
|
2
|
-
display: grid;
|
|
3
|
-
box-sizing: border-box;
|
|
4
|
-
gap: 1.25rem;
|
|
5
|
-
padding: 1.25rem;
|
|
6
|
-
border: 1px solid var(--orionplace-border);
|
|
7
|
-
color: var(--orionplace-text);
|
|
8
|
-
background: var(--orionplace-surface);
|
|
9
|
-
font: inherit;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.heading {
|
|
13
|
-
display: flex;
|
|
14
|
-
align-items: center;
|
|
15
|
-
justify-content: space-between;
|
|
16
|
-
gap: 0.75rem;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.heading h2 {
|
|
20
|
-
margin: 0;
|
|
21
|
-
font-size: 0.875rem;
|
|
22
|
-
font-weight: 500;
|
|
23
|
-
line-height: 1.25rem;
|
|
24
|
-
text-transform: uppercase;
|
|
25
|
-
letter-spacing: 0.08em;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.frame {
|
|
29
|
-
display: block;
|
|
30
|
-
box-sizing: border-box;
|
|
31
|
-
width: 100%;
|
|
32
|
-
height: 32rem;
|
|
33
|
-
border: 1px solid var(--orionplace-border);
|
|
34
|
-
background: var(--orionplace-surface);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.button,
|
|
38
|
-
.textButton {
|
|
39
|
-
box-sizing: border-box;
|
|
40
|
-
color: inherit;
|
|
41
|
-
background: transparent;
|
|
42
|
-
font: inherit;
|
|
43
|
-
cursor: pointer;
|
|
44
|
-
outline: none;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.button {
|
|
48
|
-
display: inline-flex;
|
|
49
|
-
width: fit-content;
|
|
50
|
-
min-height: 2.75rem;
|
|
51
|
-
align-items: center;
|
|
52
|
-
justify-content: center;
|
|
53
|
-
gap: 0.5rem;
|
|
54
|
-
padding: 0 1.5rem;
|
|
55
|
-
border: 1px solid var(--orionplace-text);
|
|
56
|
-
border-radius: 0;
|
|
57
|
-
font-size: 0.75rem;
|
|
58
|
-
line-height: 1rem;
|
|
59
|
-
font-weight: 500;
|
|
60
|
-
text-decoration: none;
|
|
61
|
-
text-transform: uppercase;
|
|
62
|
-
letter-spacing: 0.08em;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.button:focus-visible {
|
|
66
|
-
background: var(--orionplace-hover);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
@media (hover: hover) {
|
|
70
|
-
.button:hover {
|
|
71
|
-
background: var(--orionplace-hover);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.button:disabled {
|
|
76
|
-
cursor: not-allowed;
|
|
77
|
-
opacity: 0.4;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.primary {
|
|
81
|
-
border-color: var(--orionplace-accent);
|
|
82
|
-
color: var(--orionplace-surface);
|
|
83
|
-
background: var(--orionplace-accent);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.primary:focus-visible {
|
|
87
|
-
background: var(--orionplace-accent);
|
|
88
|
-
opacity: 0.85;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
@media (hover: hover) {
|
|
92
|
-
.primary:hover {
|
|
93
|
-
background: var(--orionplace-accent);
|
|
94
|
-
opacity: 0.85;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.textButton {
|
|
99
|
-
display: inline-flex;
|
|
100
|
-
align-items: center;
|
|
101
|
-
gap: 0.25rem;
|
|
102
|
-
padding: 0 0 0.125rem;
|
|
103
|
-
border: 0;
|
|
104
|
-
border-bottom: 1px solid currentColor;
|
|
105
|
-
border-radius: 0;
|
|
106
|
-
font-size: 0.75rem;
|
|
107
|
-
line-height: 1rem;
|
|
108
|
-
text-transform: uppercase;
|
|
109
|
-
letter-spacing: 0.08em;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
.textButton:focus-visible {
|
|
113
|
-
opacity: 0.7;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
@media (hover: hover) {
|
|
117
|
-
.textButton:hover {
|
|
118
|
-
opacity: 0.7;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.failed {
|
|
123
|
-
margin: 0;
|
|
124
|
-
color: var(--orionplace-danger);
|
|
125
|
-
font-size: 0.875rem;
|
|
126
|
-
line-height: 1.5rem;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/* The page around the panel, not the screen, as in the other packages. */
|
|
130
|
-
@container (min-width: 592px) {
|
|
131
|
-
.panel {
|
|
132
|
-
padding: 1.5rem;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { useOrionplaceSelections } from '@/providers/OrionplaceProvider';
|
|
4
|
-
import type { IStorefrontPayment } from '@/interfaces/orionplace/shared/IStorefrontControls';
|
|
5
|
-
import { EPaymentLinkType } from '@/interfaces/orionplace/payments/IInvoice';
|
|
6
|
-
import { paymentUrl } from '@/lib/orionplace/featureData';
|
|
7
|
-
import { featureLabels } from '@/lib/orionplace/featureLabels';
|
|
8
|
-
import styles from './PaymentPanel.module.css';
|
|
9
|
-
|
|
10
|
-
export interface PaymentPanelProps {
|
|
11
|
-
payment: IStorefrontPayment;
|
|
12
|
-
pending?: boolean;
|
|
13
|
-
onRefresh?: () => void;
|
|
14
|
-
onClose?: () => void;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function PaymentPanel({
|
|
18
|
-
payment,
|
|
19
|
-
pending = false,
|
|
20
|
-
onRefresh,
|
|
21
|
-
onClose,
|
|
22
|
-
}: PaymentPanelProps) {
|
|
23
|
-
const locale = useOrionplaceSelections((state) => state.localeCode);
|
|
24
|
-
const labels = featureLabels(locale);
|
|
25
|
-
const url = paymentUrl(payment.link);
|
|
26
|
-
const embedded = url && payment.link_type === EPaymentLinkType.IFRAME;
|
|
27
|
-
|
|
28
|
-
return (
|
|
29
|
-
<section
|
|
30
|
-
className={styles.panel}
|
|
31
|
-
aria-busy={pending}
|
|
32
|
-
data-feature-part="PaymentPanel"
|
|
33
|
-
>
|
|
34
|
-
<header className={styles.heading}>
|
|
35
|
-
<h2>{labels.wallet.paymentTitle}</h2>
|
|
36
|
-
<button type="button" className={styles.textButton} onClick={() => onClose?.()}>
|
|
37
|
-
{labels.close}
|
|
38
|
-
</button>
|
|
39
|
-
</header>
|
|
40
|
-
|
|
41
|
-
{embedded ? (
|
|
42
|
-
<iframe
|
|
43
|
-
src={url}
|
|
44
|
-
title={labels.wallet.paymentTitle}
|
|
45
|
-
className={styles.frame}
|
|
46
|
-
referrerPolicy="strict-origin-when-cross-origin"
|
|
47
|
-
data-payment-frame
|
|
48
|
-
/>
|
|
49
|
-
) : url ? (
|
|
50
|
-
<a
|
|
51
|
-
href={url}
|
|
52
|
-
className={`${styles.button} ${styles.primary}`}
|
|
53
|
-
target="_blank"
|
|
54
|
-
rel="noopener noreferrer"
|
|
55
|
-
data-payment-link
|
|
56
|
-
>
|
|
57
|
-
{labels.wallet.pay}
|
|
58
|
-
<span aria-hidden="true">↗</span>
|
|
59
|
-
</a>
|
|
60
|
-
) : (
|
|
61
|
-
<p className={styles.failed} role="alert" data-payment-invalid>
|
|
62
|
-
{labels.failed}
|
|
63
|
-
</p>
|
|
64
|
-
)}
|
|
65
|
-
|
|
66
|
-
<button
|
|
67
|
-
type="button"
|
|
68
|
-
className={styles.button}
|
|
69
|
-
disabled={pending}
|
|
70
|
-
onClick={() => onRefresh?.()}
|
|
71
|
-
>
|
|
72
|
-
{labels.wallet.check}
|
|
73
|
-
</button>
|
|
74
|
-
</section>
|
|
75
|
-
);
|
|
76
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# HoverImageViewer
|
|
2
|
-
|
|
3
|
-
## English
|
|
4
|
-
|
|
5
|
-
Shows the small product images from the React product store, using the full
|
|
6
|
-
images when no small images are available. `productId` identifies the
|
|
7
|
-
product; `collection` is `products` by default or `featured`.
|
|
8
|
-
`label` names each image control. `disabled` prevents selection and
|
|
9
|
-
`className` adds presentation classes. Selecting the main image or an indicator
|
|
10
|
-
calls `onSelect(image)` with that image URL.
|
|
11
|
-
|
|
12
|
-
The first image is present in server-rendered HTML and uses browser lazy
|
|
13
|
-
loading. Secondary image elements are not rendered until the visitor
|
|
14
|
-
hovers or focuses the viewer. At that point their requests begin for that
|
|
15
|
-
product. Moving across the main image or focusing an indicator changes the
|
|
16
|
-
preview; a sideways swipe on a touch screen steps to the next or previous
|
|
17
|
-
photo; leaving the viewer returns to the first image. A newly selected
|
|
18
|
-
product resets the preview and its secondary-image loading state.
|
|
19
|
-
`ProductCard` has the same photo switching built in, without the dot buttons.
|
|
20
|
-
|
|
21
|
-
### Props
|
|
22
|
-
|
|
23
|
-
| Prop | Meaning |
|
|
24
|
-
| ------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
|
|
25
|
-
| `productId: number` | ID of the product handled by HoverImageViewer. |
|
|
26
|
-
| `collection?: OrionplaceProductCollection` | Product-store collection used to resolve the supplied product ID. |
|
|
27
|
-
| `label?: string` | Visible or accessible name for the component’s main control or region. |
|
|
28
|
-
| `disabled?: boolean` | Disables the component controls and prevents new actions. |
|
|
29
|
-
| `className?: string` | Additional CSS class for the component root. |
|
|
30
|
-
| `onSelect?: (image: string) => void` | Called when the visitor chooses the component’s primary item. The callback payload is shown in its type. |
|
|
31
|
-
|
|
32
|
-
## Русский
|
|
33
|
-
|
|
34
|
-
Показывает небольшие изображения товара из React-хранилища товаров. Если
|
|
35
|
-
их нет, использует полноразмерные изображения. `productId` задаёт товар;
|
|
36
|
-
`collection` по умолчанию равно `products`,
|
|
37
|
-
для подборки используйте `featured`. `label` задаёт название кнопок
|
|
38
|
-
изображений, `disabled` запрещает выбор, а `className` добавляет классы
|
|
39
|
-
оформления. Выбор основной фотографии или указателя вызывает
|
|
40
|
-
`onSelect(image)` с адресом выбранного изображения.
|
|
41
|
-
|
|
42
|
-
Первое изображение есть в HTML ответа сервера и загружается браузером
|
|
43
|
-
по мере приближения к экрану. Элементы остальных изображений не
|
|
44
|
-
появляются, пока посетитель не наведёт указатель на просмотрщик или не
|
|
45
|
-
перейдёт к нему с клавиатуры. После этого начинается загрузка фотографий
|
|
46
|
-
этого товара. Движение указателя по фотографии и фокус на указателе
|
|
47
|
-
меняют показанное изображение, движение пальца влево или вправо на
|
|
48
|
-
сенсорном экране листает фотографии; уход с просмотрщика возвращает первое.
|
|
49
|
-
После смены товара выбор и подготовка дополнительных изображений
|
|
50
|
-
начинаются заново. В `ProductCard` такое же переключение фотографий
|
|
51
|
-
встроено, без кнопок-точек.
|
|
52
|
-
|
|
53
|
-
### Свойства
|
|
54
|
-
|
|
55
|
-
| Свойство | Назначение |
|
|
56
|
-
| ------------------------------------------ | --------------------------------------------------------------------------------------------------------- |
|
|
57
|
-
| `productId: number` | ID товара, с которым работает HoverImageViewer. |
|
|
58
|
-
| `collection?: OrionplaceProductCollection` | Коллекция store товаров, в которой компонент ищет переданный ID товара. |
|
|
59
|
-
| `label?: string` | Видимое или доступное название основного элемента компонента. |
|
|
60
|
-
| `disabled?: boolean` | Блокирует элементы компонента и новые действия. |
|
|
61
|
-
| `className?: string` | Дополнительный CSS-класс корневого элемента. |
|
|
62
|
-
| `onSelect?: (image: string) => void` | Вызывается, когда покупатель выбирает основной элемент компонента. Данные обработчика указаны в его типе. |
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
.root {
|
|
2
|
-
width: 100%;
|
|
3
|
-
max-width: 176px;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.viewport {
|
|
7
|
-
box-sizing: border-box;
|
|
8
|
-
position: relative;
|
|
9
|
-
display: block;
|
|
10
|
-
width: 100%;
|
|
11
|
-
aspect-ratio: 3 / 4;
|
|
12
|
-
padding: 0;
|
|
13
|
-
overflow: hidden;
|
|
14
|
-
border: 0;
|
|
15
|
-
background: transparent;
|
|
16
|
-
cursor: pointer;
|
|
17
|
-
outline: none;
|
|
18
|
-
transition: opacity 150ms;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/* Sideways moves on several photos switch the photo. */
|
|
22
|
-
.viewport[data-product-photo-swipe] { touch-action: pan-y; }
|
|
23
|
-
@media (hover: hover) {
|
|
24
|
-
.viewport:hover {
|
|
25
|
-
opacity: 0.85;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
.viewport:focus-visible { opacity: 0.7; }
|
|
29
|
-
|
|
30
|
-
.image {
|
|
31
|
-
position: absolute;
|
|
32
|
-
inset: 0;
|
|
33
|
-
box-sizing: border-box;
|
|
34
|
-
width: 100%;
|
|
35
|
-
height: 100%;
|
|
36
|
-
object-fit: contain;
|
|
37
|
-
opacity: 0;
|
|
38
|
-
visibility: hidden;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.active { opacity: 1; visibility: visible; }
|
|
42
|
-
|
|
43
|
-
.controls {
|
|
44
|
-
display: flex;
|
|
45
|
-
flex-wrap: wrap;
|
|
46
|
-
justify-content: center;
|
|
47
|
-
gap: 4px;
|
|
48
|
-
padding-top: 8px;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.control {
|
|
52
|
-
display: flex;
|
|
53
|
-
align-items: center;
|
|
54
|
-
justify-content: center;
|
|
55
|
-
width: 24px;
|
|
56
|
-
height: 24px;
|
|
57
|
-
padding: 0;
|
|
58
|
-
border: 0;
|
|
59
|
-
background: transparent;
|
|
60
|
-
cursor: pointer;
|
|
61
|
-
outline: none;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.control:focus-visible { background: var(--orionplace-hover); }
|
|
65
|
-
|
|
66
|
-
@media (hover: hover) {
|
|
67
|
-
.control:hover {
|
|
68
|
-
background: var(--orionplace-hover);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.marker {
|
|
73
|
-
display: block;
|
|
74
|
-
width: 12px;
|
|
75
|
-
height: 2px;
|
|
76
|
-
background: var(--orionplace-border);
|
|
77
|
-
transition: width 150ms, background-color 150ms;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.markerActive {
|
|
81
|
-
width: 20px;
|
|
82
|
-
background: var(--orionplace-accent);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
@media (prefers-reduced-motion: reduce) {
|
|
86
|
-
.viewport,
|
|
87
|
-
.marker { transition: none; }
|
|
88
|
-
}
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { useEffect, useRef, useState } from 'react';
|
|
4
|
-
import type { MouseEvent, TouchEvent } from 'react';
|
|
5
|
-
import { useOrionplaceProduct } from '@/hooks/useOrionplaceProduct';
|
|
6
|
-
import type { OrionplaceProductCollection } from '@/stores/orionplaceProducts';
|
|
7
|
-
import { OrionplaceImage } from '@/components/orionplace/shared/OrionplaceImage';
|
|
8
|
-
import {
|
|
9
|
-
productPhotoAfterSwipe,
|
|
10
|
-
productPhotoAtPointer,
|
|
11
|
-
productPhotos,
|
|
12
|
-
} from '@/lib/orionplace/productPhotos';
|
|
13
|
-
import styles from './HoverImageViewer.module.css';
|
|
14
|
-
|
|
15
|
-
export interface HoverImageViewerProps {
|
|
16
|
-
productId: number;
|
|
17
|
-
collection?: OrionplaceProductCollection;
|
|
18
|
-
label?: string;
|
|
19
|
-
disabled?: boolean;
|
|
20
|
-
className?: string;
|
|
21
|
-
onSelect?: (image: string) => void;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function HoverImageViewer({
|
|
25
|
-
productId,
|
|
26
|
-
collection = 'products',
|
|
27
|
-
label = 'Image',
|
|
28
|
-
disabled = false,
|
|
29
|
-
className = '',
|
|
30
|
-
onSelect,
|
|
31
|
-
}: HoverImageViewerProps) {
|
|
32
|
-
const product = useOrionplaceProduct(productId, collection);
|
|
33
|
-
// Small photos, or full-size ones when the product has no small photos.
|
|
34
|
-
const images = productPhotos(product?.images);
|
|
35
|
-
const imageKey = images.join('\u0000');
|
|
36
|
-
const viewport = useRef<HTMLButtonElement>(null);
|
|
37
|
-
const [activeIndex, setActiveIndex] = useState(0);
|
|
38
|
-
const [primed, setPrimed] = useState(false);
|
|
39
|
-
const swipeStart = useRef<{ x: number; y: number } | undefined>(undefined);
|
|
40
|
-
const swipedAt = useRef(0);
|
|
41
|
-
|
|
42
|
-
useEffect(() => {
|
|
43
|
-
setActiveIndex(0);
|
|
44
|
-
setPrimed(false);
|
|
45
|
-
}, [productId, collection, imageKey]);
|
|
46
|
-
|
|
47
|
-
if (images.length === 0) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const visibleIndex = Math.min(activeIndex, images.length - 1);
|
|
52
|
-
|
|
53
|
-
function previewImage(event: MouseEvent<HTMLButtonElement>) {
|
|
54
|
-
setActiveIndex(
|
|
55
|
-
productPhotoAtPointer(
|
|
56
|
-
event.clientX,
|
|
57
|
-
event.currentTarget.getBoundingClientRect(),
|
|
58
|
-
images.length,
|
|
59
|
-
),
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// A sideways swipe on a touch screen steps to the next or previous photo,
|
|
64
|
-
// as in ProductCard.
|
|
65
|
-
function startSwipe(event: TouchEvent<HTMLButtonElement>) {
|
|
66
|
-
const touch = event.touches[0];
|
|
67
|
-
setPrimed(true);
|
|
68
|
-
swipeStart.current =
|
|
69
|
-
touch && event.touches.length === 1
|
|
70
|
-
? { x: touch.clientX, y: touch.clientY }
|
|
71
|
-
: undefined;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
function endSwipe(event: TouchEvent<HTMLButtonElement>) {
|
|
75
|
-
const touch = event.changedTouches[0];
|
|
76
|
-
const start = swipeStart.current;
|
|
77
|
-
swipeStart.current = undefined;
|
|
78
|
-
if (!start || !touch) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const next = productPhotoAfterSwipe(
|
|
83
|
-
visibleIndex,
|
|
84
|
-
images.length,
|
|
85
|
-
touch.clientX - start.x,
|
|
86
|
-
touch.clientY - start.y,
|
|
87
|
-
);
|
|
88
|
-
if (next !== visibleIndex) {
|
|
89
|
-
setActiveIndex(next);
|
|
90
|
-
swipedAt.current = Date.now();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function selectImage(index: number) {
|
|
95
|
-
const image = images[index];
|
|
96
|
-
// The click a browser may send after a swipe does not choose the photo.
|
|
97
|
-
if (disabled || Date.now() - swipedAt.current < 500) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
if (image) {
|
|
101
|
-
setActiveIndex(index);
|
|
102
|
-
onSelect?.(image);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
return (
|
|
107
|
-
<div
|
|
108
|
-
className={`${styles.root} ${className}`.trim()}
|
|
109
|
-
data-feature-part="HoverImageViewer"
|
|
110
|
-
data-product-id={productId}
|
|
111
|
-
data-gallery-controls={images.length > 1 ? 'true' : undefined}
|
|
112
|
-
onPointerEnter={() => setPrimed(true)}
|
|
113
|
-
onFocusCapture={() => setPrimed(true)}
|
|
114
|
-
onMouseLeave={() => setActiveIndex(0)}
|
|
115
|
-
>
|
|
116
|
-
<button
|
|
117
|
-
ref={viewport}
|
|
118
|
-
type="button"
|
|
119
|
-
disabled={disabled}
|
|
120
|
-
aria-label={`${label} ${visibleIndex + 1}`}
|
|
121
|
-
className={styles.viewport}
|
|
122
|
-
data-product-image-viewport
|
|
123
|
-
data-product-photo-swipe={images.length > 1 || undefined}
|
|
124
|
-
onMouseMove={previewImage}
|
|
125
|
-
onTouchStart={startSwipe}
|
|
126
|
-
onTouchEnd={endSwipe}
|
|
127
|
-
onFocus={() => setPrimed(true)}
|
|
128
|
-
onClick={() => selectImage(visibleIndex)}
|
|
129
|
-
>
|
|
130
|
-
{images.map((image, index) => {
|
|
131
|
-
if (index > 0 && !primed && index !== visibleIndex) {
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
return (
|
|
136
|
-
<OrionplaceImage
|
|
137
|
-
key={`${index}:${image}`}
|
|
138
|
-
src={image}
|
|
139
|
-
alt={`${label} ${index + 1}`}
|
|
140
|
-
width={3}
|
|
141
|
-
height={4}
|
|
142
|
-
ariaHidden={index !== visibleIndex}
|
|
143
|
-
loading={index === 0 ? 'lazy' : 'eager'}
|
|
144
|
-
className={`${styles.image} ${index === visibleIndex ? styles.active : ''}`}
|
|
145
|
-
/>
|
|
146
|
-
);
|
|
147
|
-
})}
|
|
148
|
-
</button>
|
|
149
|
-
{images.length > 1 && (
|
|
150
|
-
<div
|
|
151
|
-
className={styles.controls}
|
|
152
|
-
data-product-image-controls
|
|
153
|
-
>
|
|
154
|
-
{images.map((image, index) => (
|
|
155
|
-
<button
|
|
156
|
-
key={`${index}:${image}`}
|
|
157
|
-
type="button"
|
|
158
|
-
disabled={disabled}
|
|
159
|
-
aria-label={`${label} ${index + 1}`}
|
|
160
|
-
aria-pressed={index === visibleIndex}
|
|
161
|
-
className={styles.control}
|
|
162
|
-
onMouseEnter={() => setActiveIndex(index)}
|
|
163
|
-
onFocus={() => {
|
|
164
|
-
setPrimed(true);
|
|
165
|
-
setActiveIndex(index);
|
|
166
|
-
}}
|
|
167
|
-
onClick={() => selectImage(index)}
|
|
168
|
-
>
|
|
169
|
-
<span
|
|
170
|
-
aria-hidden="true"
|
|
171
|
-
className={`${styles.marker} ${index === visibleIndex ? styles.markerActive : ''}`}
|
|
172
|
-
/>
|
|
173
|
-
</button>
|
|
174
|
-
))}
|
|
175
|
-
</div>
|
|
176
|
-
)}
|
|
177
|
-
</div>
|
|
178
|
-
);
|
|
179
|
-
}
|