orionplace-react 0.7.8 → 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 -593
- 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 -617
- 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 -108
- 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,59 +0,0 @@
|
|
|
1
|
-
.viewer {
|
|
2
|
-
box-sizing: border-box;
|
|
3
|
-
width: calc(100vw - 32px);
|
|
4
|
-
max-width: 960px;
|
|
5
|
-
height: calc(100dvh - 32px);
|
|
6
|
-
max-height: none;
|
|
7
|
-
margin: auto;
|
|
8
|
-
padding: 0;
|
|
9
|
-
overflow: hidden;
|
|
10
|
-
border: 1px solid var(--orionplace-border);
|
|
11
|
-
background: var(--orionplace-surface);
|
|
12
|
-
color: var(--orionplace-text);
|
|
13
|
-
font-family: inherit;
|
|
14
|
-
}
|
|
15
|
-
.wide { max-width: 1600px; }
|
|
16
|
-
.viewer::backdrop { background: rgb(0 0 0 / 35%); backdrop-filter: blur(2px); }
|
|
17
|
-
.content { display: grid; height: 100%; grid-template-rows: auto minmax(0, 1fr) auto auto; container: review-image-viewer / inline-size; }
|
|
18
|
-
.header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 8px 8px 16px; border-bottom: 1px solid var(--orionplace-border); }
|
|
19
|
-
.header p { margin: 0; color: var(--orionplace-muted); font-size: 12px; line-height: 1rem; letter-spacing: 0.08em; text-transform: uppercase; font-variant-numeric: tabular-nums; }
|
|
20
|
-
.header button { display: grid; flex-shrink: 0; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; outline: none; background: transparent; color: inherit; font-size: 24px; line-height: 2rem; cursor: pointer; transition: background-color 150ms; }
|
|
21
|
-
.stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 0; padding: 16px; user-select: none; }
|
|
22
|
-
/* Wide side margins from 606px: the viewer is the screen minus the 16px dialog
|
|
23
|
-
margins and its 1px borders, so 606px is its width on a 640px screen. */
|
|
24
|
-
@container review-image-viewer (min-width: 606px) { .stage { padding-inline: 80px; } }
|
|
25
|
-
.mainImage { display: block; width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
|
|
26
|
-
.arrow { position: absolute; top: 50%; display: grid; place-items: center; width: 44px; height: 44px; transform: translateY(-50%); border: 1px solid var(--orionplace-border); border-radius: 50%; padding: 0; outline: none; background: var(--orionplace-surface); color: inherit; font-size: 28px; cursor: pointer; transition: border-color 150ms, background-color 150ms; }
|
|
27
|
-
.arrow svg { width: 1.25rem; height: 1.25rem; }
|
|
28
|
-
.swipe { touch-action: pan-y; }
|
|
29
|
-
.previous { left: 12px; }
|
|
30
|
-
.next { right: 12px; }
|
|
31
|
-
.arrow:focus-visible { border-color: var(--orionplace-text); background: var(--orionplace-hover); }
|
|
32
|
-
.header button:focus-visible { background: var(--orionplace-hover); }
|
|
33
|
-
@media (hover: hover) {
|
|
34
|
-
.arrow:hover { border-color: var(--orionplace-text); background: var(--orionplace-hover); }
|
|
35
|
-
.header button:hover { background: var(--orionplace-hover); }
|
|
36
|
-
}
|
|
37
|
-
@media (prefers-reduced-motion: reduce) {
|
|
38
|
-
.arrow,
|
|
39
|
-
.header button { transition: none; }
|
|
40
|
-
}
|
|
41
|
-
.thumbnails { display: flex; gap: 8px; margin: 0; padding: 12px 16px; overflow-x: auto; border-top: 1px solid var(--orionplace-border); list-style: none; }
|
|
42
|
-
.thumbnails li { flex-shrink: 0; }
|
|
43
|
-
.thumbnails button { display: block; width: 56px; height: 56px; padding: 0; overflow: hidden; border: 1px solid var(--orionplace-border); background: var(--orionplace-surface); cursor: pointer; }
|
|
44
|
-
.thumbnails button[aria-current='true'],
|
|
45
|
-
.thumbnails button:focus-visible { border-color: var(--orionplace-text); }
|
|
46
|
-
@media (hover: hover) {
|
|
47
|
-
.thumbnails button:hover {
|
|
48
|
-
border-color: var(--orionplace-text);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
.thumbnails img { width: 100%; height: 100%; object-fit: contain; }
|
|
52
|
-
.caption { margin: 0; padding: 4px 16px 12px; color: var(--orionplace-muted); font-size: 14px; line-height: 1.5rem; text-align: center; }
|
|
53
|
-
.zoom { margin-left: auto; }
|
|
54
|
-
.zoom svg { width: 1.25rem; height: 1.25rem; }
|
|
55
|
-
.fitted { display: contents; }
|
|
56
|
-
.zoomed { position: absolute; inset: 0; overflow: auto; }
|
|
57
|
-
.fullImage { display: block; width: auto; height: auto; max-width: none !important; max-height: none !important; margin: auto; }
|
|
58
|
-
.zoomIn { cursor: zoom-in; }
|
|
59
|
-
.zoomOut { cursor: zoom-out; }
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { useEffect, useRef, useState } from 'react';
|
|
4
|
-
import type { KeyboardEvent, MouseEvent, TouchEvent } from 'react';
|
|
5
|
-
import type { IProductFeedbackImage } from '@/interfaces/orionplace/products/IProduct';
|
|
6
|
-
import { useOrionplaceSelections } from '@/providers/OrionplaceProvider';
|
|
7
|
-
import { reviewLabels } from '@/lib/orionplace/reviewLabels';
|
|
8
|
-
import { featureLabels } from '@/lib/orionplace/featureLabels';
|
|
9
|
-
import { productPhotoAfterSwipe } from '@/lib/orionplace/productPhotos';
|
|
10
|
-
import {
|
|
11
|
-
createPageScrollLock,
|
|
12
|
-
restoreFocus,
|
|
13
|
-
} from '@/lib/orionplace/modalWindow';
|
|
14
|
-
import { OrionplaceImage } from '@/components/orionplace/shared/OrionplaceImage';
|
|
15
|
-
import styles from './ProductReviewImageViewer.module.css';
|
|
16
|
-
|
|
17
|
-
// `label` and `alt` name the product's own photos on the product page.
|
|
18
|
-
// `captions` are shown under each image (blog article images have them);
|
|
19
|
-
// `wide` lets screenshots and other detailed images use more of the screen.
|
|
20
|
-
export interface ProductReviewImageViewerProps {
|
|
21
|
-
images: IProductFeedbackImage[];
|
|
22
|
-
index?: number;
|
|
23
|
-
label?: string;
|
|
24
|
-
alt?: string;
|
|
25
|
-
captions?: string[];
|
|
26
|
-
wide?: boolean;
|
|
27
|
-
onChange?: (photo: { id: number; index: number }) => void;
|
|
28
|
-
onClose?: () => void;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function ProductReviewImageViewer({
|
|
32
|
-
images,
|
|
33
|
-
index = 0,
|
|
34
|
-
label,
|
|
35
|
-
alt,
|
|
36
|
-
captions,
|
|
37
|
-
wide = false,
|
|
38
|
-
onChange,
|
|
39
|
-
onClose,
|
|
40
|
-
}: ProductReviewImageViewerProps) {
|
|
41
|
-
const localeCode = useOrionplaceSelections((state) => state.localeCode);
|
|
42
|
-
const labels = reviewLabels(localeCode);
|
|
43
|
-
const common = featureLabels(localeCode);
|
|
44
|
-
const dialog = useRef<HTMLDialogElement>(null);
|
|
45
|
-
const swipeStart = useRef<{ x: number; y: number } | undefined>(undefined);
|
|
46
|
-
const [mounted, setMounted] = useState(false);
|
|
47
|
-
const [active, setActive] = useState(() => validIndex(index, images.length));
|
|
48
|
-
const current = images[active];
|
|
49
|
-
const several = images.length > 1;
|
|
50
|
-
const caption = captions?.[active]?.trim() ?? '';
|
|
51
|
-
// A wide viewer can show the image at its own size; the stage then scrolls.
|
|
52
|
-
const [zoomed, setZoomed] = useState(false);
|
|
53
|
-
const toggleZoom = () => setZoomed((value) => wide && !value);
|
|
54
|
-
|
|
55
|
-
useEffect(() => {
|
|
56
|
-
setMounted(true);
|
|
57
|
-
}, []);
|
|
58
|
-
|
|
59
|
-
useEffect(() => {
|
|
60
|
-
setActive(validIndex(index, images.length));
|
|
61
|
-
}, [images, index]);
|
|
62
|
-
|
|
63
|
-
// Another photo opens fitted to the screen.
|
|
64
|
-
useEffect(() => {
|
|
65
|
-
setZoomed(false);
|
|
66
|
-
}, [active]);
|
|
67
|
-
|
|
68
|
-
useEffect(() => {
|
|
69
|
-
const element = dialog.current;
|
|
70
|
-
if (!mounted || !element) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const pageScroll = createPageScrollLock();
|
|
74
|
-
const opener =
|
|
75
|
-
document.activeElement instanceof HTMLElement
|
|
76
|
-
? document.activeElement
|
|
77
|
-
: undefined;
|
|
78
|
-
pageScroll.lock();
|
|
79
|
-
element.showModal();
|
|
80
|
-
return () => {
|
|
81
|
-
element.close();
|
|
82
|
-
pageScroll.unlock();
|
|
83
|
-
restoreFocus(opener);
|
|
84
|
-
};
|
|
85
|
-
}, [mounted]);
|
|
86
|
-
|
|
87
|
-
function select(position: number) {
|
|
88
|
-
const photo = images[position];
|
|
89
|
-
if (!photo || position === active) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
setActive(position);
|
|
93
|
-
onChange?.({ id: photo.id, index: position });
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function show(step: number) {
|
|
97
|
-
if (images.length > 0) {
|
|
98
|
-
select((active + step + images.length) % images.length);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function photoLabel(position: number) {
|
|
103
|
-
return `${alt || labels.image} ${position + 1}`;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// A sideways swipe steps to the next or previous photo, as on the page.
|
|
107
|
-
function startSwipe(event: TouchEvent<HTMLDivElement>) {
|
|
108
|
-
const touch = event.touches[0];
|
|
109
|
-
swipeStart.current =
|
|
110
|
-
touch && event.touches.length === 1
|
|
111
|
-
? { x: touch.clientX, y: touch.clientY }
|
|
112
|
-
: undefined;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
function endSwipe(event: TouchEvent<HTMLDivElement>) {
|
|
116
|
-
const touch = event.changedTouches[0];
|
|
117
|
-
const start = swipeStart.current;
|
|
118
|
-
swipeStart.current = undefined;
|
|
119
|
-
if (!start || !touch || !several || zoomed) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
select(
|
|
123
|
-
productPhotoAfterSwipe(
|
|
124
|
-
active,
|
|
125
|
-
images.length,
|
|
126
|
-
touch.clientX - start.x,
|
|
127
|
-
touch.clientY - start.y,
|
|
128
|
-
),
|
|
129
|
-
);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
function onKeyDown(event: KeyboardEvent<HTMLDialogElement>) {
|
|
133
|
-
if (!several) {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
const actions: Record<string, () => void> = {
|
|
137
|
-
ArrowLeft: () => show(-1),
|
|
138
|
-
ArrowRight: () => show(1),
|
|
139
|
-
Home: () => select(0),
|
|
140
|
-
End: () => select(images.length - 1),
|
|
141
|
-
};
|
|
142
|
-
const target = actions[event.key];
|
|
143
|
-
if (target) {
|
|
144
|
-
event.preventDefault();
|
|
145
|
-
target();
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
function onDialogClick(event: MouseEvent<HTMLDialogElement>) {
|
|
150
|
-
const bounds = dialog.current?.getBoundingClientRect();
|
|
151
|
-
if (
|
|
152
|
-
event.target === dialog.current && bounds &&
|
|
153
|
-
(event.clientX < bounds.left || event.clientX > bounds.right ||
|
|
154
|
-
event.clientY < bounds.top || event.clientY > bounds.bottom)
|
|
155
|
-
) {
|
|
156
|
-
onClose?.();
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if (!mounted) {
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
return (
|
|
165
|
-
<dialog
|
|
166
|
-
data-stable-modal="fixed"
|
|
167
|
-
ref={dialog}
|
|
168
|
-
className={wide ? `${styles.viewer} ${styles.wide}` : styles.viewer}
|
|
169
|
-
aria-label={label || labels.photoViewer}
|
|
170
|
-
data-feature-part="ProductReviewImageViewer"
|
|
171
|
-
data-review-image-viewer
|
|
172
|
-
onCancel={(event) => {
|
|
173
|
-
event.preventDefault();
|
|
174
|
-
onClose?.();
|
|
175
|
-
}}
|
|
176
|
-
onClick={onDialogClick}
|
|
177
|
-
onKeyDown={onKeyDown}
|
|
178
|
-
>
|
|
179
|
-
<div className={styles.content}>
|
|
180
|
-
<header className={styles.header}>
|
|
181
|
-
<p aria-live="polite" data-review-image-position>
|
|
182
|
-
{active + 1} / {images.length}
|
|
183
|
-
</p>
|
|
184
|
-
{wide ? (
|
|
185
|
-
<button
|
|
186
|
-
type="button"
|
|
187
|
-
className={styles.zoom}
|
|
188
|
-
aria-label={zoomed ? labels.zoomOut : labels.zoomIn}
|
|
189
|
-
aria-pressed={zoomed}
|
|
190
|
-
data-review-image-zoom
|
|
191
|
-
onClick={toggleZoom}
|
|
192
|
-
>
|
|
193
|
-
<svg
|
|
194
|
-
viewBox="0 0 24 24"
|
|
195
|
-
fill="none"
|
|
196
|
-
stroke="currentColor"
|
|
197
|
-
strokeWidth="1.5"
|
|
198
|
-
aria-hidden="true"
|
|
199
|
-
>
|
|
200
|
-
<circle cx="10.5" cy="10.5" r="6.5" />
|
|
201
|
-
<path d="m15.5 15.5 5 5M7.5 10.5h6" />
|
|
202
|
-
{zoomed ? null : <path d="M10.5 7.5v6" />}
|
|
203
|
-
</svg>
|
|
204
|
-
</button>
|
|
205
|
-
) : null}
|
|
206
|
-
<button
|
|
207
|
-
type="button"
|
|
208
|
-
aria-label={common.close}
|
|
209
|
-
data-review-image-close
|
|
210
|
-
onClick={() => onClose?.()}
|
|
211
|
-
>
|
|
212
|
-
<span aria-hidden="true">×</span>
|
|
213
|
-
</button>
|
|
214
|
-
</header>
|
|
215
|
-
<div
|
|
216
|
-
className={several && !zoomed ? `${styles.stage} ${styles.swipe}` : styles.stage}
|
|
217
|
-
data-review-image-stage
|
|
218
|
-
onTouchStart={startSwipe}
|
|
219
|
-
onTouchEnd={endSwipe}
|
|
220
|
-
>
|
|
221
|
-
{/* At full size the image scrolls inside the stage; the arrows stay in place. */}
|
|
222
|
-
{current && (
|
|
223
|
-
<div
|
|
224
|
-
className={zoomed ? styles.zoomed : styles.fitted}
|
|
225
|
-
data-review-image-zoomed={zoomed || undefined}
|
|
226
|
-
>
|
|
227
|
-
<OrionplaceImage
|
|
228
|
-
key={current.id}
|
|
229
|
-
src={current.image}
|
|
230
|
-
alt={photoLabel(active)}
|
|
231
|
-
className={[
|
|
232
|
-
zoomed ? styles.fullImage : styles.mainImage,
|
|
233
|
-
wide ? (zoomed ? styles.zoomOut : styles.zoomIn) : '',
|
|
234
|
-
].join(' ').trim()}
|
|
235
|
-
onClick={toggleZoom}
|
|
236
|
-
/>
|
|
237
|
-
</div>
|
|
238
|
-
)}
|
|
239
|
-
{several && (
|
|
240
|
-
<>
|
|
241
|
-
<button
|
|
242
|
-
type="button"
|
|
243
|
-
className={`${styles.arrow} ${styles.previous}`}
|
|
244
|
-
aria-label={labels.previousImage}
|
|
245
|
-
data-review-image-previous
|
|
246
|
-
onClick={() => show(-1)}
|
|
247
|
-
>
|
|
248
|
-
<svg
|
|
249
|
-
viewBox="0 0 24 24"
|
|
250
|
-
fill="none"
|
|
251
|
-
stroke="currentColor"
|
|
252
|
-
strokeWidth="1.5"
|
|
253
|
-
aria-hidden="true"
|
|
254
|
-
>
|
|
255
|
-
<path d="m15 5-7 7 7 7" />
|
|
256
|
-
</svg>
|
|
257
|
-
</button>
|
|
258
|
-
<button
|
|
259
|
-
type="button"
|
|
260
|
-
className={`${styles.arrow} ${styles.next}`}
|
|
261
|
-
aria-label={labels.nextImage}
|
|
262
|
-
data-review-image-next
|
|
263
|
-
onClick={() => show(1)}
|
|
264
|
-
>
|
|
265
|
-
<svg
|
|
266
|
-
viewBox="0 0 24 24"
|
|
267
|
-
fill="none"
|
|
268
|
-
stroke="currentColor"
|
|
269
|
-
strokeWidth="1.5"
|
|
270
|
-
aria-hidden="true"
|
|
271
|
-
>
|
|
272
|
-
<path d="m9 5 7 7-7 7" />
|
|
273
|
-
</svg>
|
|
274
|
-
</button>
|
|
275
|
-
</>
|
|
276
|
-
)}
|
|
277
|
-
</div>
|
|
278
|
-
{caption ? (
|
|
279
|
-
<p className={styles.caption} data-review-image-caption>
|
|
280
|
-
{caption}
|
|
281
|
-
</p>
|
|
282
|
-
) : null}
|
|
283
|
-
{several && (
|
|
284
|
-
<ol className={styles.thumbnails}>
|
|
285
|
-
{images.map((photo, position) => (
|
|
286
|
-
<li key={photo.id}>
|
|
287
|
-
<button
|
|
288
|
-
type="button"
|
|
289
|
-
aria-label={photoLabel(position)}
|
|
290
|
-
aria-current={position === active || undefined}
|
|
291
|
-
data-review-image-thumbnail={position}
|
|
292
|
-
onClick={() => select(position)}
|
|
293
|
-
>
|
|
294
|
-
<OrionplaceImage
|
|
295
|
-
src={photo.image}
|
|
296
|
-
alt=""
|
|
297
|
-
loading="lazy"
|
|
298
|
-
/>
|
|
299
|
-
</button>
|
|
300
|
-
</li>
|
|
301
|
-
))}
|
|
302
|
-
</ol>
|
|
303
|
-
)}
|
|
304
|
-
</div>
|
|
305
|
-
</dialog>
|
|
306
|
-
);
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
function validIndex(index: number, length: number) {
|
|
310
|
-
const position = Math.trunc(index);
|
|
311
|
-
return position >= 0 && position < length ? position : 0;
|
|
312
|
-
}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
# ProductReviews
|
|
2
|
-
|
|
3
|
-
## English
|
|
4
|
-
|
|
5
|
-
`ProductReviews` presents reviews for a product, for a seller's products or for
|
|
6
|
-
the signed-in customer's activity page. The host passes the current review
|
|
7
|
-
page, parent reply chain, pagination, rating totals and request state. On mount,
|
|
8
|
-
filter, sort, tab and page changes, `onLoad` receives both the required endpoint
|
|
9
|
-
name and its `IProductFeedbackListRequest`. Product scope takes priority over
|
|
10
|
-
seller scope.
|
|
11
|
-
|
|
12
|
-
For a product or seller with rating totals, the component shows the average and
|
|
13
|
-
rating distribution. Selecting an active rating again clears that filter.
|
|
14
|
-
Photo-only, newest, highest and lowest controls request a fresh first page. The
|
|
15
|
-
photo tab renders `ProductReviewGallery`; selecting a thumbnail reports a
|
|
16
|
-
one-review request through `onPhotoReviewLoad`.
|
|
17
|
-
|
|
18
|
-
Review actions report their exact targets. `onReaction` receives the feedback
|
|
19
|
-
ID and helpful or unhelpful value. `onOpenReplies` receives the parent review
|
|
20
|
-
and the load action for its replies (public list, current ordering, no rating
|
|
21
|
-
or photo filters, since replies have no rating of their own); the host then
|
|
22
|
-
supplies the refreshed counters, parent chain and reply page. The Replies
|
|
23
|
-
button shows `total_c_approved_direct_replies`: the approved direct replies in
|
|
24
|
-
this store group, the same list that opens. `total_c_approved_replies` counts
|
|
25
|
-
the whole discussion of a root review and is shown only when an older backend
|
|
26
|
-
omits the new field. Only reviews left in this storefront's store group are
|
|
27
|
-
listed. `onBack` receives
|
|
28
|
-
the load action for the level above; at the top level it returns to the
|
|
29
|
-
starting tab with the current filters.
|
|
30
|
-
`onEdit` must return the confirmed preload response before the edit form opens.
|
|
31
|
-
`onSubmit` receives the form values plus the product, edit or reply context and
|
|
32
|
-
may return `false` to keep the form open. After a save the component switches
|
|
33
|
-
to Mine and requests that list through `onLoad`, as the saved review waits for
|
|
34
|
-
moderation there. `useOrionplaceReviews` runs one review request at a time, so a
|
|
35
|
-
second click on a reaction is ignored until the first one is answered, and shows
|
|
36
|
-
a failed preload, save or reaction in `error`. A failed save whose errors all
|
|
37
|
-
belong to the form's stars or text (`rating`, `text`) is shown only under those
|
|
38
|
-
fields, through `ratingError` and `textError`; `error` stays hidden while that
|
|
39
|
-
form is open. Guest write, reply and reaction actions call `onSignInRequired`.
|
|
40
|
-
|
|
41
|
-
### Props
|
|
42
|
-
|
|
43
|
-
| Prop | Meaning |
|
|
44
|
-
| -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
45
|
-
| `productId?: number` | ID of the product handled by ProductReviews. |
|
|
46
|
-
| `sellerId?: number` | ID of the seller handled by ProductReviews. |
|
|
47
|
-
| `own?: boolean` | Shows the signed-in customer’s records instead of the public list. |
|
|
48
|
-
| `reviews?: readonly IProductReview[]` | Reviews rendered by the component or passed to the account section. |
|
|
49
|
-
| `parents?: readonly IProductReview[]` | Reviews that own the currently displayed replies. |
|
|
50
|
-
| `pagination?: Partial<IApiPagination>` | Current API pagination values. |
|
|
51
|
-
| `stats?: Readonly<Record<string, number>>` | Review totals and rating statistics returned for the current scope; reviews without a rating (0) and replies are not counted. |
|
|
52
|
-
| `loaded?: boolean` | Distinguishes a confirmed empty result from data that has not loaded yet. |
|
|
53
|
-
| `pending?: boolean` | Shows the loading state and blocks duplicate actions. |
|
|
54
|
-
| `error?: string` | Customer-visible error for the component request; omit it when no request failed. |
|
|
55
|
-
| `galleryImages?: readonly IProductReviewImage[]` | Review photos returned for the current gallery page. |
|
|
56
|
-
| `galleryPagination?: Partial<IApiPagination>` | Current pagination values for the review-photo gallery. |
|
|
57
|
-
| `galleryLoaded?: boolean` | Distinguishes a confirmed empty photo gallery from one that has not loaded. |
|
|
58
|
-
| `galleryPending?: boolean` | Shows that the gallery request is running and blocks duplicate actions. |
|
|
59
|
-
| `galleryError?: string` | Customer-visible error from the gallery request. |
|
|
60
|
-
| `onLoad?: (action: ProductReviewsLoadAction) => void` | Called when the component needs its primary data. The callback payload is shown in its type. |
|
|
61
|
-
| `onGalleryLoad?: (request: IProductFeedbackImagesRequest) => void` | Called when the review gallery needs another photo page. The callback payload is shown in its type. |
|
|
62
|
-
| `onPhotoReviewLoad?: (action: ProductReviewsLoadAction) => void` | Called when a review owning a selected photo must be loaded. The callback payload is shown in its type. |
|
|
63
|
-
| `onSignInRequired?: () => void` | Called when the requested action requires sign-in. The callback has no payload. |
|
|
64
|
-
| `onOpenReplies?: (review: IProductReview, action: ProductReviewsLoadAction) => void` | Called when the visitor opens replies for a review or comment; `action` loads the reply page. |
|
|
65
|
-
| `onBack?: (action: ProductReviewsLoadAction) => void` | Called when the visitor chooses Back; `action` loads the level above. |
|
|
66
|
-
| `onEdit?: (review: IProductReview) => Promise<IProductFeedbackPreloadResponse["page_data"]> \| IProductFeedbackPreloadResponse["page_data"]` | Called when the visitor starts editing the current record. The callback payload is shown in its type. |
|
|
67
|
-
| `onSubmit?: (value: ProductReviewFormValue, context: ProductReviewsSubmitContext) => Promise<boolean \| void> \| boolean \| void` | Called when the visitor submits the confirmed form values. The callback payload is shown in its type. |
|
|
68
|
-
| `onReaction?: (request: IProductFeedbackReactionRequest, review: IProductReview) => void` | Called when the visitor changes a review reaction. The callback payload is shown in its type. |
|
|
69
|
-
|
|
70
|
-
## Русский
|
|
71
|
-
|
|
72
|
-
`ProductReviews` показывает отзывы об одном товаре, о товарах продавца или
|
|
73
|
-
отзывы вошедшего покупателя в разделе активности. Родитель передаёт текущую
|
|
74
|
-
страницу отзывов, цепочку родительских ответов, пагинацию, количества оценок и
|
|
75
|
-
состояние запроса. После монтирования, при изменении фильтра, сортировки,
|
|
76
|
-
вкладки или страницы `onLoad` получает имя нужного метода и точный
|
|
77
|
-
`IProductFeedbackListRequest`. Если переданы и товар, и продавец, используется
|
|
78
|
-
товар.
|
|
79
|
-
|
|
80
|
-
При наличии статистики товара или продавца компонент показывает среднюю оценку
|
|
81
|
-
и распределение оценок. Повторный выбор активной оценки снимает этот фильтр.
|
|
82
|
-
Фильтр фотографий и варианты сортировки запрашивают новую первую страницу.
|
|
83
|
-
Вкладка фотографий выводит `ProductReviewGallery`; выбор миниатюры передаёт в
|
|
84
|
-
`onPhotoReviewLoad` запрос одного полного отзыва.
|
|
85
|
-
|
|
86
|
-
Каждое действие передаёт точную цель. `onReaction` получает ID отзыва и выбор
|
|
87
|
-
«полезно» или «бесполезно». `onOpenReplies` получает родительский отзыв и
|
|
88
|
-
запрос его ответов (публичный список, текущая сортировка, без фильтров оценки и
|
|
89
|
-
фотографий, так как у ответов нет своей оценки), после чего родитель передаёт
|
|
90
|
-
обновлённые счётчики, цепочку и страницу ответов. Кнопка «Ответы» показывает
|
|
91
|
-
`total_c_approved_direct_replies` — одобренные прямые ответы в этой группе
|
|
92
|
-
магазинов, то есть тот же список, который открывается.
|
|
93
|
-
`total_c_approved_replies` считает всё обсуждение корневого отзыва и
|
|
94
|
-
показывается, только если старый бэкенд не присылает новое поле. В списке только
|
|
95
|
-
отзывы, оставленные в группе магазинов этой витрины. `onBack` получает запрос
|
|
96
|
-
уровня выше; на верхнем уровне он возвращает исходную вкладку с текущими
|
|
97
|
-
фильтрами.
|
|
98
|
-
`onEdit` должен вернуть подтверждённый ответ предварительной загрузки, и только
|
|
99
|
-
после этого откроется форма изменения. `onSubmit` получает значения формы и
|
|
100
|
-
контекст товара, изменения или ответа; значение `false` оставляет форму
|
|
101
|
-
открытой. После сохранения компонент переключается на «Мои» и запрашивает этот
|
|
102
|
-
список через `onLoad`: сохранённый отзыв ждёт там проверки. `useOrionplaceReviews`
|
|
103
|
-
выполняет один запрос отзывов за раз, поэтому повторный клик по реакции
|
|
104
|
-
игнорируется до ответа на первый, а ошибка предварительной загрузки, сохранения
|
|
105
|
-
или реакции показывается в `error`. Неудачное сохранение, все ошибки которого
|
|
106
|
-
относятся к звёздам или тексту формы (`rating`, `text`), показывается только под
|
|
107
|
-
этими полями через `ratingError` и `textError`; пока форма открыта, `error`
|
|
108
|
-
скрыт. Для гостя написание отзыва, ответ и реакция вызывают `onSignInRequired`.
|
|
109
|
-
|
|
110
|
-
### Свойства
|
|
111
|
-
|
|
112
|
-
| Свойство | Назначение |
|
|
113
|
-
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
114
|
-
| `productId?: number` | ID товара, с которым работает ProductReviews. |
|
|
115
|
-
| `sellerId?: number` | ID продавца, с которым работает ProductReviews. |
|
|
116
|
-
| `own?: boolean` | Показывает записи вошедшего покупателя вместо общего списка. |
|
|
117
|
-
| `reviews?: readonly IProductReview[]` | Отзывы компонента или блока аккаунта. |
|
|
118
|
-
| `parents?: readonly IProductReview[]` | Отзывы, которым принадлежат показанные ответы. |
|
|
119
|
-
| `pagination?: Partial<IApiPagination>` | Текущие данные пагинации API. |
|
|
120
|
-
| `stats?: Readonly<Record<string, number>>` | Количество отзывов и статистика рейтинга для текущего набора; отзывы без оценки (0) и ответы не учитываются. |
|
|
121
|
-
| `loaded?: boolean` | Отличает подтверждённый пустой результат от ещё не загруженных данных. |
|
|
122
|
-
| `pending?: boolean` | Показывает загрузку и блокирует повторные действия. |
|
|
123
|
-
| `error?: string` | Ошибка запроса для покупателя; не передавайте её, если запрос не завершился ошибкой. |
|
|
124
|
-
| `galleryImages?: readonly IProductReviewImage[]` | Фотографии отзывов на текущей странице галереи. |
|
|
125
|
-
| `galleryPagination?: Partial<IApiPagination>` | Текущая пагинация галереи фотографий отзывов. |
|
|
126
|
-
| `galleryLoaded?: boolean` | Отличает подтверждённую пустую галерею от ещё не загруженной. |
|
|
127
|
-
| `galleryPending?: boolean` | Показывает выполнение запроса галереи и блокирует повторные действия. |
|
|
128
|
-
| `galleryError?: string` | Ошибка запроса галереи, которую видит покупатель. |
|
|
129
|
-
| `onLoad?: (action: ProductReviewsLoadAction) => void` | Вызывается, когда компоненту нужны основные данные. Данные обработчика указаны в его типе. |
|
|
130
|
-
| `onGalleryLoad?: (request: IProductFeedbackImagesRequest) => void` | Вызывается, когда галерее отзывов нужна другая страница фотографий. Данные обработчика указаны в его типе. |
|
|
131
|
-
| `onPhotoReviewLoad?: (action: ProductReviewsLoadAction) => void` | Вызывается, когда нужно загрузить отзыв выбранной фотографии. Данные обработчика указаны в его типе. |
|
|
132
|
-
| `onSignInRequired?: () => void` | Вызывается, когда для запрошенного действия нужен вход. Обработчик не получает данные. |
|
|
133
|
-
| `onOpenReplies?: (review: IProductReview, action: ProductReviewsLoadAction) => void` | Вызывается, когда покупатель открывает ответы на отзыв или комментарий; `action` загружает страницу ответов. |
|
|
134
|
-
| `onBack?: (action: ProductReviewsLoadAction) => void` | Вызывается, когда покупатель выбирает «Назад»; `action` загружает уровень выше. |
|
|
135
|
-
| `onEdit?: (review: IProductReview) => Promise<IProductFeedbackPreloadResponse["page_data"]> \| IProductFeedbackPreloadResponse["page_data"]` | Вызывается, когда покупатель начинает редактировать текущую запись. Данные обработчика указаны в его типе. |
|
|
136
|
-
| `onSubmit?: (value: ProductReviewFormValue, context: ProductReviewsSubmitContext) => Promise<boolean \| void> \| boolean \| void` | Вызывается, когда покупатель отправляет подтверждённые значения формы. Данные обработчика указаны в его типе. |
|
|
137
|
-
| `onReaction?: (request: IProductFeedbackReactionRequest, review: IProductReview) => void` | Вызывается, когда покупатель меняет реакцию на отзыв. Данные обработчика указаны в его типе. |
|