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.
Files changed (669) hide show
  1. package/README.md +7 -614
  2. package/bin/orionplace-react.mjs +10 -176
  3. package/package.json +7 -59
  4. package/LICENSE +0 -21
  5. package/runtime/app.d.mts +0 -6
  6. package/runtime/app.mjs +0 -48
  7. package/runtime/marketplace.d.mts +0 -129
  8. package/runtime/marketplace.mjs +0 -905
  9. package/src/install.mjs +0 -356
  10. package/src/project-readme.mjs +0 -442
  11. package/src/service.mjs +0 -186
  12. package/src/setup.mjs +0 -274
  13. package/src/sitemap.mjs +0 -93
  14. package/src/update.mjs +0 -36
  15. package/src/validation.mjs +0 -27
  16. package/templates/app/StorefrontShell.tsx +0 -443
  17. package/templates/app/[[...path]]/page.app.tsx +0 -11
  18. package/templates/app/_storefront/ActivityPage.tsx +0 -23
  19. package/templates/app/_storefront/AddressesPage.tsx +0 -29
  20. package/templates/app/_storefront/AppRoutes.tsx +0 -184
  21. package/templates/app/_storefront/ArticlePage.tsx +0 -84
  22. package/templates/app/_storefront/CartPage.tsx +0 -53
  23. package/templates/app/_storefront/CatalogPage.tsx +0 -37
  24. package/templates/app/_storefront/CategoryPage.tsx +0 -68
  25. package/templates/app/_storefront/ContactPage.tsx +0 -32
  26. package/templates/app/_storefront/HomePage.tsx +0 -140
  27. package/templates/app/_storefront/JournalPage.tsx +0 -36
  28. package/templates/app/_storefront/LogoutPage.tsx +0 -91
  29. package/templates/app/_storefront/ManufacturersPage.tsx +0 -64
  30. package/templates/app/_storefront/OrdersPage.tsx +0 -129
  31. package/templates/app/_storefront/PrivacyPage.tsx +0 -15
  32. package/templates/app/_storefront/ProductPage.tsx +0 -113
  33. package/templates/app/_storefront/ProfilePage.tsx +0 -75
  34. package/templates/app/_storefront/PromoPage.tsx +0 -66
  35. package/templates/app/_storefront/PromocodesPage.tsx +0 -17
  36. package/templates/app/_storefront/SearchPage.tsx +0 -225
  37. package/templates/app/_storefront/SellersPage.tsx +0 -166
  38. package/templates/app/_storefront/StorefrontErrorRoute.tsx +0 -42
  39. package/templates/app/_storefront/StorefrontPageMetadata.tsx +0 -117
  40. package/templates/app/_storefront/StorefrontPageStatus.tsx +0 -61
  41. package/templates/app/_storefront/StorefrontProductStructuredData.tsx +0 -77
  42. package/templates/app/_storefront/StoresPage.tsx +0 -53
  43. package/templates/app/_storefront/SubscriptionsPage.tsx +0 -62
  44. package/templates/app/_storefront/SupportPage.tsx +0 -141
  45. package/templates/app/_storefront/TariffsPage.tsx +0 -180
  46. package/templates/app/_storefront/UnsubscribePage.tsx +0 -29
  47. package/templates/app/_storefront/WalletPage.tsx +0 -78
  48. package/templates/app/_storefront/WishlistPage.tsx +0 -79
  49. package/templates/app/_storefront/storefrontRoutes.tsx +0 -769
  50. package/templates/app/_storefront/useAccountWallet.ts +0 -27
  51. package/templates/app/_storefront/useBlogComments.ts +0 -389
  52. package/templates/app/_storefront/useProductSearch.ts +0 -242
  53. package/templates/app/_storefront/useStorefrontNavigation.ts +0 -36
  54. package/templates/app/activity/page.tsx +0 -9
  55. package/templates/app/addresses/page.tsx +0 -9
  56. package/templates/app/api/[...orionplace]/route.ts +0 -21
  57. package/templates/app/browse/page.tsx +0 -27
  58. package/templates/app/cart/page.tsx +0 -9
  59. package/templates/app/catalog/page.tsx +0 -9
  60. package/templates/app/category/[id]/page.tsx +0 -9
  61. package/templates/app/contact/page.tsx +0 -9
  62. package/templates/app/error.tsx +0 -7
  63. package/templates/app/featured/page.tsx +0 -9
  64. package/templates/app/global-error.tsx +0 -61
  65. package/templates/app/globals.css +0 -58
  66. package/templates/app/journal/[id]/page.tsx +0 -9
  67. package/templates/app/journal/page.tsx +0 -9
  68. package/templates/app/layout.app.tsx +0 -20
  69. package/templates/app/layout.tsx +0 -66
  70. package/templates/app/logout/page.tsx +0 -9
  71. package/templates/app/manufacturers/page.tsx +0 -9
  72. package/templates/app/not-found.tsx +0 -5
  73. package/templates/app/orders/page.tsx +0 -9
  74. package/templates/app/page.module.css +0 -137
  75. package/templates/app/page.tsx +0 -9
  76. package/templates/app/privacy/page.tsx +0 -9
  77. package/templates/app/product/[id]/page.tsx +0 -9
  78. package/templates/app/profile/page.tsx +0 -9
  79. package/templates/app/promo/[id]/page.tsx +0 -9
  80. package/templates/app/promocodes/page.tsx +0 -9
  81. package/templates/app/ps3/blog/[...orionplace]/route.ts +0 -13
  82. package/templates/app/robots.txt/route.ts +0 -11
  83. package/templates/app/sellers/page.tsx +0 -9
  84. package/templates/app/sitemap.xml/route.ts +0 -12
  85. package/templates/app/storefront.module.css +0 -406
  86. package/templates/app/stores/page.tsx +0 -9
  87. package/templates/app/subscriptions/page.tsx +0 -9
  88. package/templates/app/tariffs/[slug]/[id]/page.tsx +0 -9
  89. package/templates/app/tariffs/page.tsx +0 -9
  90. package/templates/app/tickets/page.tsx +0 -9
  91. package/templates/app/unsubscribe/page.tsx +0 -9
  92. package/templates/app/wallet/page.tsx +0 -9
  93. package/templates/app/wishlist/page.tsx +0 -9
  94. package/templates/components/orionplace/account/AccountActivity.README.md +0 -70
  95. package/templates/components/orionplace/account/AccountActivity.module.css +0 -16
  96. package/templates/components/orionplace/account/AccountActivity.tsx +0 -94
  97. package/templates/components/orionplace/account/AccountPromocodes.README.md +0 -70
  98. package/templates/components/orionplace/account/AccountPromocodes.module.css +0 -92
  99. package/templates/components/orionplace/account/AccountPromocodes.tsx +0 -257
  100. package/templates/components/orionplace/account/AccountSection.README.md +0 -46
  101. package/templates/components/orionplace/account/AccountSection.module.css +0 -110
  102. package/templates/components/orionplace/account/AccountSection.tsx +0 -109
  103. package/templates/components/orionplace/account/ProfileAvatar.README.md +0 -48
  104. package/templates/components/orionplace/account/ProfileAvatar.module.css +0 -31
  105. package/templates/components/orionplace/account/ProfileAvatar.tsx +0 -138
  106. package/templates/components/orionplace/account/ProfileDeleteAccount.README.md +0 -59
  107. package/templates/components/orionplace/account/ProfileDeleteAccount.module.css +0 -51
  108. package/templates/components/orionplace/account/ProfileDeleteAccount.tsx +0 -171
  109. package/templates/components/orionplace/account/ProfileDetailsForm.README.md +0 -48
  110. package/templates/components/orionplace/account/ProfileDetailsForm.module.css +0 -35
  111. package/templates/components/orionplace/account/ProfileDetailsForm.tsx +0 -183
  112. package/templates/components/orionplace/account/ProfileEmailSettings.README.md +0 -52
  113. package/templates/components/orionplace/account/ProfileEmailSettings.module.css +0 -51
  114. package/templates/components/orionplace/account/ProfileEmailSettings.tsx +0 -276
  115. package/templates/components/orionplace/account/ProfilePasswordForm.README.md +0 -45
  116. package/templates/components/orionplace/account/ProfilePasswordForm.module.css +0 -43
  117. package/templates/components/orionplace/account/ProfilePasswordForm.tsx +0 -227
  118. package/templates/components/orionplace/account/ProfileSignIn.README.md +0 -64
  119. package/templates/components/orionplace/account/ProfileSignIn.module.css +0 -86
  120. package/templates/components/orionplace/account/ProfileSignIn.tsx +0 -463
  121. package/templates/components/orionplace/account/SignInHistory.README.md +0 -52
  122. package/templates/components/orionplace/account/SignInHistory.module.css +0 -81
  123. package/templates/components/orionplace/account/SignInHistory.tsx +0 -231
  124. package/templates/components/orionplace/account/StorefrontLogout.README.md +0 -48
  125. package/templates/components/orionplace/account/StorefrontLogout.module.css +0 -166
  126. package/templates/components/orionplace/account/StorefrontLogout.tsx +0 -73
  127. package/templates/components/orionplace/account/StorefrontProfile.README.md +0 -71
  128. package/templates/components/orionplace/account/StorefrontProfile.module.css +0 -65
  129. package/templates/components/orionplace/account/StorefrontProfile.tsx +0 -189
  130. package/templates/components/orionplace/account/account.module.css +0 -1180
  131. package/templates/components/orionplace/account/profile.module.css +0 -696
  132. package/templates/components/orionplace/address/AddressForm.README.md +0 -152
  133. package/templates/components/orionplace/address/AddressForm.module.css +0 -336
  134. package/templates/components/orionplace/address/AddressForm.tsx +0 -827
  135. package/templates/components/orionplace/address/StorefrontAddresses.README.md +0 -99
  136. package/templates/components/orionplace/address/StorefrontAddresses.module.css +0 -271
  137. package/templates/components/orionplace/address/StorefrontAddresses.tsx +0 -438
  138. package/templates/components/orionplace/banners/MainBanner.README.md +0 -65
  139. package/templates/components/orionplace/banners/MainBanner.module.css +0 -112
  140. package/templates/components/orionplace/banners/MainBanner.tsx +0 -159
  141. package/templates/components/orionplace/blog/BlogArticle.README.md +0 -183
  142. package/templates/components/orionplace/blog/BlogArticle.module.css +0 -333
  143. package/templates/components/orionplace/blog/BlogArticle.tsx +0 -545
  144. package/templates/components/orionplace/blog/BlogCommentForm.README.md +0 -51
  145. package/templates/components/orionplace/blog/BlogCommentForm.module.css +0 -93
  146. package/templates/components/orionplace/blog/BlogCommentForm.tsx +0 -125
  147. package/templates/components/orionplace/blog/BlogComments.README.md +0 -98
  148. package/templates/components/orionplace/blog/BlogComments.module.css +0 -151
  149. package/templates/components/orionplace/blog/BlogComments.tsx +0 -590
  150. package/templates/components/orionplace/blog/BlogPostCard.README.md +0 -51
  151. package/templates/components/orionplace/blog/BlogPostCard.module.css +0 -167
  152. package/templates/components/orionplace/blog/BlogPostCard.tsx +0 -177
  153. package/templates/components/orionplace/blog/BlogPostGroup.README.md +0 -49
  154. package/templates/components/orionplace/blog/BlogPostGroup.module.css +0 -37
  155. package/templates/components/orionplace/blog/BlogPostGroup.tsx +0 -129
  156. package/templates/components/orionplace/blog/StorefrontJournal.README.md +0 -105
  157. package/templates/components/orionplace/blog/StorefrontJournal.module.css +0 -387
  158. package/templates/components/orionplace/blog/StorefrontJournal.tsx +0 -549
  159. package/templates/components/orionplace/branding/BrandLogos.README.md +0 -29
  160. package/templates/components/orionplace/branding/BrandLogos.module.css +0 -7
  161. package/templates/components/orionplace/branding/BrandLogos.tsx +0 -30
  162. package/templates/components/orionplace/cart/CartCheckoutDetails.README.md +0 -96
  163. package/templates/components/orionplace/cart/CartCheckoutDetails.module.css +0 -159
  164. package/templates/components/orionplace/cart/CartCheckoutDetails.tsx +0 -381
  165. package/templates/components/orionplace/cart/CartDeliverySelector.README.md +0 -166
  166. package/templates/components/orionplace/cart/CartDeliverySelector.module.css +0 -105
  167. package/templates/components/orionplace/cart/CartDeliverySelector.tsx +0 -679
  168. package/templates/components/orionplace/cart/CartItemOptions.README.md +0 -172
  169. package/templates/components/orionplace/cart/CartItemOptions.module.css +0 -113
  170. package/templates/components/orionplace/cart/CartItemOptions.tsx +0 -503
  171. package/templates/components/orionplace/cart/CartLineItem.README.md +0 -138
  172. package/templates/components/orionplace/cart/CartLineItem.module.css +0 -57
  173. package/templates/components/orionplace/cart/CartLineItem.tsx +0 -263
  174. package/templates/components/orionplace/cart/CartPreview.README.md +0 -99
  175. package/templates/components/orionplace/cart/CartPreview.module.css +0 -225
  176. package/templates/components/orionplace/cart/CartPreview.tsx +0 -188
  177. package/templates/components/orionplace/cart/DeliveryMap.README.md +0 -65
  178. package/templates/components/orionplace/cart/DeliveryMap.module.css +0 -32
  179. package/templates/components/orionplace/cart/DeliveryMap.tsx +0 -131
  180. package/templates/components/orionplace/cart/StorefrontCart.README.md +0 -281
  181. package/templates/components/orionplace/cart/StorefrontCart.module.css +0 -460
  182. package/templates/components/orionplace/cart/StorefrontCart.tsx +0 -937
  183. package/templates/components/orionplace/catalog/CatalogHeader.README.md +0 -136
  184. package/templates/components/orionplace/catalog/CatalogHeader.module.css +0 -387
  185. package/templates/components/orionplace/catalog/CatalogHeader.tsx +0 -644
  186. package/templates/components/orionplace/catalog/CatalogRepresentative.README.md +0 -68
  187. package/templates/components/orionplace/catalog/CatalogRepresentative.tsx +0 -51
  188. package/templates/components/orionplace/catalog/StorefrontCatalog.README.md +0 -120
  189. package/templates/components/orionplace/catalog/StorefrontCatalog.module.css +0 -179
  190. package/templates/components/orionplace/catalog/StorefrontCatalog.tsx +0 -304
  191. package/templates/components/orionplace/categories/CategoryGroup.README.md +0 -68
  192. package/templates/components/orionplace/categories/CategoryGroup.module.css +0 -110
  193. package/templates/components/orionplace/categories/CategoryGroup.tsx +0 -123
  194. package/templates/components/orionplace/categories/StorefrontCategory.README.md +0 -155
  195. package/templates/components/orionplace/categories/StorefrontCategory.module.css +0 -148
  196. package/templates/components/orionplace/categories/StorefrontCategory.tsx +0 -225
  197. package/templates/components/orionplace/contact/AboutPage.README.md +0 -40
  198. package/templates/components/orionplace/contact/AboutPage.module.css +0 -216
  199. package/templates/components/orionplace/contact/AboutPage.tsx +0 -191
  200. package/templates/components/orionplace/contact/ContactForm.README.md +0 -93
  201. package/templates/components/orionplace/contact/ContactForm.module.css +0 -264
  202. package/templates/components/orionplace/contact/ContactForm.tsx +0 -382
  203. package/templates/components/orionplace/contact/EmailUnsubscribe.README.md +0 -67
  204. package/templates/components/orionplace/contact/EmailUnsubscribe.module.css +0 -95
  205. package/templates/components/orionplace/contact/EmailUnsubscribe.tsx +0 -130
  206. package/templates/components/orionplace/contact/StorefrontContact.README.md +0 -73
  207. package/templates/components/orionplace/contact/StorefrontContact.module.css +0 -101
  208. package/templates/components/orionplace/contact/StorefrontContact.tsx +0 -62
  209. package/templates/components/orionplace/currencies/MainCurrencySwitcher.README.md +0 -37
  210. package/templates/components/orionplace/currencies/MainCurrencySwitcher.tsx +0 -68
  211. package/templates/components/orionplace/events/EventEnrollmentDialog.README.md +0 -108
  212. package/templates/components/orionplace/events/EventEnrollmentDialog.module.css +0 -110
  213. package/templates/components/orionplace/events/EventEnrollmentDialog.tsx +0 -315
  214. package/templates/components/orionplace/events/EventsBlock.README.md +0 -58
  215. package/templates/components/orionplace/events/EventsBlock.module.css +0 -101
  216. package/templates/components/orionplace/events/EventsBlock.tsx +0 -109
  217. package/templates/components/orionplace/legal/CookieNotice.README.md +0 -42
  218. package/templates/components/orionplace/legal/CookieNotice.module.css +0 -48
  219. package/templates/components/orionplace/legal/CookieNotice.tsx +0 -82
  220. package/templates/components/orionplace/legal/StorefrontPrivacy.README.md +0 -49
  221. package/templates/components/orionplace/legal/StorefrontPrivacy.module.css +0 -166
  222. package/templates/components/orionplace/legal/StorefrontPrivacy.tsx +0 -83
  223. package/templates/components/orionplace/locale/MainLanguageSwitcher.README.md +0 -46
  224. package/templates/components/orionplace/locale/MainLanguageSwitcher.module.css +0 -196
  225. package/templates/components/orionplace/locale/MainLanguageSwitcher.tsx +0 -387
  226. package/templates/components/orionplace/manufacturers/ManufacturerIndex.README.md +0 -83
  227. package/templates/components/orionplace/manufacturers/ManufacturerIndex.module.css +0 -271
  228. package/templates/components/orionplace/manufacturers/ManufacturerIndex.tsx +0 -218
  229. package/templates/components/orionplace/manufacturers/StorefrontManufacturers.README.md +0 -122
  230. package/templates/components/orionplace/manufacturers/StorefrontManufacturers.module.css +0 -92
  231. package/templates/components/orionplace/manufacturers/StorefrontManufacturers.tsx +0 -455
  232. package/templates/components/orionplace/orders/OrderDetails.README.md +0 -116
  233. package/templates/components/orionplace/orders/OrderDetails.module.css +0 -730
  234. package/templates/components/orionplace/orders/OrderDetails.tsx +0 -693
  235. package/templates/components/orionplace/orders/OrderPaymentForm.README.md +0 -92
  236. package/templates/components/orionplace/orders/OrderPaymentForm.module.css +0 -105
  237. package/templates/components/orionplace/orders/OrderPaymentForm.tsx +0 -90
  238. package/templates/components/orionplace/orders/StorefrontOrders.README.md +0 -131
  239. package/templates/components/orionplace/orders/StorefrontOrders.module.css +0 -633
  240. package/templates/components/orionplace/orders/StorefrontOrders.tsx +0 -922
  241. package/templates/components/orionplace/payments/PaymentPanel.README.md +0 -114
  242. package/templates/components/orionplace/payments/PaymentPanel.module.css +0 -134
  243. package/templates/components/orionplace/payments/PaymentPanel.tsx +0 -76
  244. package/templates/components/orionplace/products/HoverImageViewer.README.md +0 -62
  245. package/templates/components/orionplace/products/HoverImageViewer.module.css +0 -88
  246. package/templates/components/orionplace/products/HoverImageViewer.tsx +0 -179
  247. package/templates/components/orionplace/products/ProductCard.README.md +0 -154
  248. package/templates/components/orionplace/products/ProductCard.module.css +0 -333
  249. package/templates/components/orionplace/products/ProductCard.tsx +0 -730
  250. package/templates/components/orionplace/products/ProductCardActions.README.md +0 -84
  251. package/templates/components/orionplace/products/ProductCardActions.module.css +0 -146
  252. package/templates/components/orionplace/products/ProductCardActions.tsx +0 -311
  253. package/templates/components/orionplace/products/ProductCardBadges.README.md +0 -44
  254. package/templates/components/orionplace/products/ProductCardBadges.module.css +0 -15
  255. package/templates/components/orionplace/products/ProductCardBadges.tsx +0 -78
  256. package/templates/components/orionplace/products/ProductCardDescription.README.md +0 -33
  257. package/templates/components/orionplace/products/ProductCardDescription.module.css +0 -6
  258. package/templates/components/orionplace/products/ProductCardDescription.tsx +0 -43
  259. package/templates/components/orionplace/products/ProductCardFavorite.README.md +0 -52
  260. package/templates/components/orionplace/products/ProductCardFavorite.module.css +0 -64
  261. package/templates/components/orionplace/products/ProductCardFavorite.tsx +0 -90
  262. package/templates/components/orionplace/products/ProductCardPrice.README.md +0 -33
  263. package/templates/components/orionplace/products/ProductCardPrice.module.css +0 -22
  264. package/templates/components/orionplace/products/ProductCardPrice.tsx +0 -50
  265. package/templates/components/orionplace/products/ProductCardRating.README.md +0 -33
  266. package/templates/components/orionplace/products/ProductCardRating.module.css +0 -7
  267. package/templates/components/orionplace/products/ProductCardRating.tsx +0 -56
  268. package/templates/components/orionplace/products/ProductCardSeller.README.md +0 -36
  269. package/templates/components/orionplace/products/ProductCardSeller.module.css +0 -31
  270. package/templates/components/orionplace/products/ProductCardSeller.tsx +0 -61
  271. package/templates/components/orionplace/products/ProductCardStockNotice.README.md +0 -36
  272. package/templates/components/orionplace/products/ProductCardStockNotice.module.css +0 -8
  273. package/templates/components/orionplace/products/ProductCardStockNotice.tsx +0 -35
  274. package/templates/components/orionplace/products/ProductCardTitle.README.md +0 -30
  275. package/templates/components/orionplace/products/ProductCardTitle.module.css +0 -13
  276. package/templates/components/orionplace/products/ProductCardTitle.tsx +0 -31
  277. package/templates/components/orionplace/products/ProductCardVariants.README.md +0 -77
  278. package/templates/components/orionplace/products/ProductCardVariants.module.css +0 -97
  279. package/templates/components/orionplace/products/ProductCardVariants.tsx +0 -350
  280. package/templates/components/orionplace/products/ProductGroup.README.md +0 -91
  281. package/templates/components/orionplace/products/ProductGroup.module.css +0 -64
  282. package/templates/components/orionplace/products/ProductGroup.tsx +0 -186
  283. package/templates/components/orionplace/products/ProductPreorderDialog.README.md +0 -89
  284. package/templates/components/orionplace/products/ProductPreorderDialog.module.css +0 -320
  285. package/templates/components/orionplace/products/ProductPreorderDialog.tsx +0 -346
  286. package/templates/components/orionplace/products/ProductReviewForm.README.md +0 -72
  287. package/templates/components/orionplace/products/ProductReviewForm.module.css +0 -217
  288. package/templates/components/orionplace/products/ProductReviewForm.tsx +0 -288
  289. package/templates/components/orionplace/products/ProductReviewGallery.README.md +0 -61
  290. package/templates/components/orionplace/products/ProductReviewGallery.module.css +0 -108
  291. package/templates/components/orionplace/products/ProductReviewGallery.tsx +0 -110
  292. package/templates/components/orionplace/products/ProductReviewImageViewer.README.md +0 -60
  293. package/templates/components/orionplace/products/ProductReviewImageViewer.module.css +0 -59
  294. package/templates/components/orionplace/products/ProductReviewImageViewer.tsx +0 -312
  295. package/templates/components/orionplace/products/ProductReviews.README.md +0 -137
  296. package/templates/components/orionplace/products/ProductReviews.module.css +0 -602
  297. package/templates/components/orionplace/products/ProductReviews.tsx +0 -944
  298. package/templates/components/orionplace/products/ProductSecondaryVariantModal.README.md +0 -67
  299. package/templates/components/orionplace/products/ProductSecondaryVariantModal.module.css +0 -79
  300. package/templates/components/orionplace/products/ProductSecondaryVariantModal.tsx +0 -324
  301. package/templates/components/orionplace/products/ProductSpecificationsDialog.README.md +0 -52
  302. package/templates/components/orionplace/products/ProductSpecificationsDialog.module.css +0 -138
  303. package/templates/components/orionplace/products/ProductSpecificationsDialog.tsx +0 -117
  304. package/templates/components/orionplace/products/StorefrontProduct.README.md +0 -200
  305. package/templates/components/orionplace/products/StorefrontProduct.module.css +0 -767
  306. package/templates/components/orionplace/products/StorefrontProduct.tsx +0 -1339
  307. package/templates/components/orionplace/products/StorefrontWishlist.README.md +0 -162
  308. package/templates/components/orionplace/products/StorefrontWishlist.module.css +0 -71
  309. package/templates/components/orionplace/products/StorefrontWishlist.tsx +0 -402
  310. package/templates/components/orionplace/promo/PromoProducts.README.md +0 -133
  311. package/templates/components/orionplace/promo/PromoProducts.module.css +0 -68
  312. package/templates/components/orionplace/promo/PromoProducts.tsx +0 -345
  313. package/templates/components/orionplace/search/MainSearch.README.md +0 -73
  314. package/templates/components/orionplace/search/MainSearch.module.css +0 -202
  315. package/templates/components/orionplace/search/MainSearch.tsx +0 -217
  316. package/templates/components/orionplace/search/ProductSearchResults.README.md +0 -166
  317. package/templates/components/orionplace/search/ProductSearchResults.module.css +0 -361
  318. package/templates/components/orionplace/search/ProductSearchResults.tsx +0 -359
  319. package/templates/components/orionplace/search/SearchFilters.README.md +0 -109
  320. package/templates/components/orionplace/search/SearchFilters.module.css +0 -274
  321. package/templates/components/orionplace/search/SearchFilters.tsx +0 -439
  322. package/templates/components/orionplace/sellers/SellerFilters.README.md +0 -66
  323. package/templates/components/orionplace/sellers/SellerFilters.module.css +0 -232
  324. package/templates/components/orionplace/sellers/SellerFilters.tsx +0 -201
  325. package/templates/components/orionplace/sellers/SellerPhotoGallery.README.md +0 -72
  326. package/templates/components/orionplace/sellers/SellerPhotoGallery.module.css +0 -314
  327. package/templates/components/orionplace/sellers/SellerPhotoGallery.tsx +0 -335
  328. package/templates/components/orionplace/sellers/SellerSummary.README.md +0 -62
  329. package/templates/components/orionplace/sellers/SellerSummary.module.css +0 -182
  330. package/templates/components/orionplace/sellers/SellerSummary.tsx +0 -107
  331. package/templates/components/orionplace/sellers/StorefrontSellers.README.md +0 -120
  332. package/templates/components/orionplace/sellers/StorefrontSellers.module.css +0 -147
  333. package/templates/components/orionplace/sellers/StorefrontSellers.tsx +0 -360
  334. package/templates/components/orionplace/shared/OrionplaceAvatar.README.md +0 -35
  335. package/templates/components/orionplace/shared/OrionplaceAvatar.module.css +0 -35
  336. package/templates/components/orionplace/shared/OrionplaceAvatar.tsx +0 -61
  337. package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.README.md +0 -33
  338. package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.module.css +0 -81
  339. package/templates/components/orionplace/shared/OrionplaceBreadcrumbs.tsx +0 -91
  340. package/templates/components/orionplace/shared/OrionplaceEmptyState.README.md +0 -37
  341. package/templates/components/orionplace/shared/OrionplaceEmptyState.module.css +0 -126
  342. package/templates/components/orionplace/shared/OrionplaceEmptyState.tsx +0 -78
  343. package/templates/components/orionplace/shared/OrionplaceImage.README.md +0 -45
  344. package/templates/components/orionplace/shared/OrionplaceImage.module.css +0 -22
  345. package/templates/components/orionplace/shared/OrionplaceImage.tsx +0 -97
  346. package/templates/components/orionplace/shared/OrionplaceInfoHint.README.md +0 -31
  347. package/templates/components/orionplace/shared/OrionplaceInfoHint.module.css +0 -59
  348. package/templates/components/orionplace/shared/OrionplaceInfoHint.tsx +0 -126
  349. package/templates/components/orionplace/shared/OrionplacePasswordInput.README.md +0 -39
  350. package/templates/components/orionplace/shared/OrionplacePasswordInput.module.css +0 -79
  351. package/templates/components/orionplace/shared/OrionplacePasswordInput.tsx +0 -103
  352. package/templates/components/orionplace/shared/OrionplaceSearchSelect.README.md +0 -97
  353. package/templates/components/orionplace/shared/OrionplaceSearchSelect.module.css +0 -246
  354. package/templates/components/orionplace/shared/OrionplaceSearchSelect.tsx +0 -367
  355. package/templates/components/orionplace/shared/OrionplaceSelect.README.md +0 -69
  356. package/templates/components/orionplace/shared/OrionplaceSelect.module.css +0 -233
  357. package/templates/components/orionplace/shared/OrionplaceSelect.tsx +0 -439
  358. package/templates/components/orionplace/shared/StorefrontErrorPage.README.md +0 -52
  359. package/templates/components/orionplace/shared/StorefrontErrorPage.module.css +0 -141
  360. package/templates/components/orionplace/shared/StorefrontErrorPage.tsx +0 -103
  361. package/templates/components/orionplace/shared/StorefrontPagination.README.md +0 -45
  362. package/templates/components/orionplace/shared/StorefrontPagination.module.css +0 -69
  363. package/templates/components/orionplace/shared/StorefrontPagination.tsx +0 -158
  364. package/templates/components/orionplace/shared/dialogs.css +0 -36
  365. package/templates/components/orionplace/shared/emptyStateArt.ts +0 -231
  366. package/templates/components/orionplace/shared/features.module.css +0 -162
  367. package/templates/components/orionplace/social/SocialLinks.README.md +0 -16
  368. package/templates/components/orionplace/social/SocialLinks.module.css +0 -36
  369. package/templates/components/orionplace/social/SocialLinks.tsx +0 -59
  370. package/templates/components/orionplace/storefront/StorefrontAccount.README.md +0 -59
  371. package/templates/components/orionplace/storefront/StorefrontAccount.module.css +0 -159
  372. package/templates/components/orionplace/storefront/StorefrontAccount.tsx +0 -303
  373. package/templates/components/orionplace/storefront/StorefrontCartButton.README.md +0 -47
  374. package/templates/components/orionplace/storefront/StorefrontCartButton.module.css +0 -88
  375. package/templates/components/orionplace/storefront/StorefrontCartButton.tsx +0 -54
  376. package/templates/components/orionplace/storefront/StorefrontFooter.README.md +0 -55
  377. package/templates/components/orionplace/storefront/StorefrontFooter.module.css +0 -118
  378. package/templates/components/orionplace/storefront/StorefrontFooter.tsx +0 -168
  379. package/templates/components/orionplace/storefront/StorefrontHeader.README.md +0 -150
  380. package/templates/components/orionplace/storefront/StorefrontHeader.module.css +0 -186
  381. package/templates/components/orionplace/storefront/StorefrontHeader.tsx +0 -389
  382. package/templates/components/orionplace/storefront/StorefrontHome.README.md +0 -138
  383. package/templates/components/orionplace/storefront/StorefrontHome.module.css +0 -116
  384. package/templates/components/orionplace/storefront/StorefrontHome.tsx +0 -282
  385. package/templates/components/orionplace/storefront/StorefrontWishlistButton.README.md +0 -51
  386. package/templates/components/orionplace/storefront/StorefrontWishlistButton.module.css +0 -95
  387. package/templates/components/orionplace/storefront/StorefrontWishlistButton.tsx +0 -80
  388. package/templates/components/orionplace/stores/StorefrontStores.README.md +0 -87
  389. package/templates/components/orionplace/stores/StorefrontStores.module.css +0 -218
  390. package/templates/components/orionplace/stores/StorefrontStores.tsx +0 -397
  391. package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.README.md +0 -183
  392. package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.module.css +0 -347
  393. package/templates/components/orionplace/subscriptions/StorefrontSubscriptions.tsx +0 -884
  394. package/templates/components/orionplace/subscriptions/StorefrontTariff.README.md +0 -124
  395. package/templates/components/orionplace/subscriptions/StorefrontTariff.module.css +0 -311
  396. package/templates/components/orionplace/subscriptions/StorefrontTariff.tsx +0 -485
  397. package/templates/components/orionplace/subscriptions/StorefrontTariffs.README.md +0 -115
  398. package/templates/components/orionplace/subscriptions/StorefrontTariffs.module.css +0 -219
  399. package/templates/components/orionplace/subscriptions/StorefrontTariffs.tsx +0 -367
  400. package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.README.md +0 -67
  401. package/templates/components/orionplace/subscriptions/SubscriptionCancelDialog.tsx +0 -175
  402. package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.README.md +0 -95
  403. package/templates/components/orionplace/subscriptions/SubscriptionChangeDialog.tsx +0 -634
  404. package/templates/components/orionplace/subscriptions/SubscriptionDialog.module.css +0 -453
  405. package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.README.md +0 -75
  406. package/templates/components/orionplace/subscriptions/SubscriptionExtendDialog.tsx +0 -384
  407. package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.README.md +0 -116
  408. package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.module.css +0 -168
  409. package/templates/components/orionplace/subscriptions/SubscriptionPlanSummary.tsx +0 -236
  410. package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.README.md +0 -123
  411. package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.module.css +0 -57
  412. package/templates/components/orionplace/subscriptions/SubscriptionRemoteDetails.tsx +0 -101
  413. package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.README.md +0 -109
  414. package/templates/components/orionplace/subscriptions/SubscriptionRenewalDialog.tsx +0 -253
  415. package/templates/components/orionplace/support/StorefrontSupport.README.md +0 -157
  416. package/templates/components/orionplace/support/StorefrontSupport.tsx +0 -1040
  417. package/templates/components/orionplace/support/Support.module.css +0 -1133
  418. package/templates/components/orionplace/support/TicketConversation.README.md +0 -105
  419. package/templates/components/orionplace/support/TicketConversation.tsx +0 -502
  420. package/templates/components/orionplace/support/TicketImage.README.md +0 -52
  421. package/templates/components/orionplace/support/TicketImage.tsx +0 -254
  422. package/templates/components/orionplace/support/TicketItemCard.README.md +0 -66
  423. package/templates/components/orionplace/support/TicketItemCard.tsx +0 -140
  424. package/templates/components/orionplace/support/TicketMessageForm.README.md +0 -88
  425. package/templates/components/orionplace/support/TicketMessageForm.tsx +0 -261
  426. package/templates/components/orionplace/support/TicketSubscriptionCard.README.md +0 -53
  427. package/templates/components/orionplace/support/TicketSubscriptionCard.tsx +0 -118
  428. package/templates/components/orionplace/tariffs/TariffCard.README.md +0 -108
  429. package/templates/components/orionplace/tariffs/TariffCard.module.css +0 -86
  430. package/templates/components/orionplace/tariffs/TariffCard.tsx +0 -225
  431. package/templates/components/orionplace/tariffs/TariffCardDescription.README.md +0 -40
  432. package/templates/components/orionplace/tariffs/TariffCardDescription.module.css +0 -72
  433. package/templates/components/orionplace/tariffs/TariffCardDescription.tsx +0 -58
  434. package/templates/components/orionplace/tariffs/TariffCardFeatures.README.md +0 -58
  435. package/templates/components/orionplace/tariffs/TariffCardFeatures.module.css +0 -60
  436. package/templates/components/orionplace/tariffs/TariffCardFeatures.tsx +0 -140
  437. package/templates/components/orionplace/tariffs/TariffCardImage.README.md +0 -36
  438. package/templates/components/orionplace/tariffs/TariffCardImage.module.css +0 -8
  439. package/templates/components/orionplace/tariffs/TariffCardImage.tsx +0 -32
  440. package/templates/components/orionplace/tariffs/TariffCardPrices.README.md +0 -82
  441. package/templates/components/orionplace/tariffs/TariffCardPrices.module.css +0 -142
  442. package/templates/components/orionplace/tariffs/TariffCardPrices.tsx +0 -191
  443. package/templates/components/orionplace/tariffs/TariffCardTitle.README.md +0 -32
  444. package/templates/components/orionplace/tariffs/TariffCardTitle.module.css +0 -9
  445. package/templates/components/orionplace/tariffs/TariffCardTitle.tsx +0 -29
  446. package/templates/components/orionplace/tariffs/TariffCards.README.md +0 -88
  447. package/templates/components/orionplace/tariffs/TariffCards.module.css +0 -24
  448. package/templates/components/orionplace/tariffs/TariffCards.tsx +0 -44
  449. package/templates/components/orionplace/tariffs/TariffSubscriptionModal.README.md +0 -92
  450. package/templates/components/orionplace/tariffs/TariffSubscriptionModal.module.css +0 -214
  451. package/templates/components/orionplace/tariffs/TariffSubscriptionModal.tsx +0 -299
  452. package/templates/components/orionplace/theme/OrionplaceThemeProvider.README.md +0 -30
  453. package/templates/components/orionplace/theme/OrionplaceThemeProvider.module.css +0 -8
  454. package/templates/components/orionplace/theme/OrionplaceThemeProvider.tsx +0 -32
  455. package/templates/components/orionplace/units/UnitSwitcher.README.md +0 -35
  456. package/templates/components/orionplace/units/UnitSwitcher.tsx +0 -58
  457. package/templates/components/orionplace/wallet/StorefrontWallet.README.md +0 -154
  458. package/templates/components/orionplace/wallet/StorefrontWallet.module.css +0 -507
  459. package/templates/components/orionplace/wallet/StorefrontWallet.tsx +0 -915
  460. package/templates/components/orionplace/wallet/WalletBalance.README.md +0 -46
  461. package/templates/components/orionplace/wallet/WalletBalance.module.css +0 -46
  462. package/templates/components/orionplace/wallet/WalletBalance.tsx +0 -51
  463. package/templates/components/orionplace/wallet/WalletTopUpForm.README.md +0 -54
  464. package/templates/components/orionplace/wallet/WalletTopUpForm.module.css +0 -152
  465. package/templates/components/orionplace/wallet/WalletTopUpForm.tsx +0 -181
  466. package/templates/hooks/useAccountActivity.ts +0 -251
  467. package/templates/hooks/useAccountAddresses.ts +0 -81
  468. package/templates/hooks/useAccountPromocodes.ts +0 -91
  469. package/templates/hooks/useOrionplaceActionMenu.ts +0 -118
  470. package/templates/hooks/useOrionplaceAddressForm.ts +0 -262
  471. package/templates/hooks/useOrionplaceApi.ts +0 -98
  472. package/templates/hooks/useOrionplaceAppLoad.ts +0 -66
  473. package/templates/hooks/useOrionplaceBlogReading.ts +0 -351
  474. package/templates/hooks/useOrionplaceDialog.ts +0 -85
  475. package/templates/hooks/useOrionplaceHomeProducts.ts +0 -97
  476. package/templates/hooks/useOrionplaceMap.tsx +0 -230
  477. package/templates/hooks/useOrionplaceMediaFormat.ts +0 -33
  478. package/templates/hooks/useOrionplaceProduct.ts +0 -28
  479. package/templates/hooks/useOrionplaceProfile.ts +0 -347
  480. package/templates/hooks/useOrionplaceReviews.ts +0 -352
  481. package/templates/hooks/useOrionplaceStableHeight.ts +0 -65
  482. package/templates/hooks/useOrionplaceStorefront.tsx +0 -575
  483. package/templates/hooks/useOrionplaceTariffPurchase.ts +0 -212
  484. package/templates/interfaces/orionplace/accounts/IContact.ts +0 -21
  485. package/templates/interfaces/orionplace/accounts/IEmailNotificationLocale.ts +0 -17
  486. package/templates/interfaces/orionplace/accounts/IEmailVerification.ts +0 -59
  487. package/templates/interfaces/orionplace/accounts/IProfileActions.ts +0 -38
  488. package/templates/interfaces/orionplace/accounts/IProfileData.ts +0 -125
  489. package/templates/interfaces/orionplace/accounts/IProfileMedia.ts +0 -17
  490. package/templates/interfaces/orionplace/accounts/IStorefrontProfile.ts +0 -54
  491. package/templates/interfaces/orionplace/address/IAddressCitySuggestion.ts +0 -19
  492. package/templates/interfaces/orionplace/address/IAddressEditor.ts +0 -9
  493. package/templates/interfaces/orionplace/address/IAddressLocationSuggestion.ts +0 -22
  494. package/templates/interfaces/orionplace/address/IAddressRegionSearch.ts +0 -30
  495. package/templates/interfaces/orionplace/address/IAddressSuggestion.ts +0 -20
  496. package/templates/interfaces/orionplace/address/IUserAddress.ts +0 -87
  497. package/templates/interfaces/orionplace/apiBase/TMethod.ts +0 -1
  498. package/templates/interfaces/orionplace/appBase/IAppLoad.ts +0 -16
  499. package/templates/interfaces/orionplace/appBase/IAppLoadCommon.ts +0 -47
  500. package/templates/interfaces/orionplace/appBase/IApploadUserProfile.ts +0 -15
  501. package/templates/interfaces/orionplace/appBase/IForm.ts +0 -21
  502. package/templates/interfaces/orionplace/appBase/ISEO.ts +0 -21
  503. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonBanner.ts +0 -11
  504. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonContact.ts +0 -8
  505. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonCurrency.ts +0 -15
  506. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonEvents.ts +0 -18
  507. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLocale.ts +0 -14
  508. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLogos.ts +0 -6
  509. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonPath.ts +0 -22
  510. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSEO.ts +0 -26
  511. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSocial.ts +0 -15
  512. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonTariff.ts +0 -7
  513. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonUnit.ts +0 -12
  514. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVariables.ts +0 -8
  515. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVisualSettings.ts +0 -11
  516. package/templates/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonWalletValue.ts +0 -3
  517. package/templates/interfaces/orionplace/blog/IBlogApi.ts +0 -247
  518. package/templates/interfaces/orionplace/blog/IBlogPostPreview.ts +0 -30
  519. package/templates/interfaces/orionplace/cart/ICartActions.ts +0 -67
  520. package/templates/interfaces/orionplace/cart/ICartData.ts +0 -382
  521. package/templates/interfaces/orionplace/cart/ICartDeliveryActions.ts +0 -68
  522. package/templates/interfaces/orionplace/cart/ICartModal.ts +0 -22
  523. package/templates/interfaces/orionplace/cart/IDeliveryMap.ts +0 -29
  524. package/templates/interfaces/orionplace/catalog/ICatalogDirectory.ts +0 -75
  525. package/templates/interfaces/orionplace/category/ICategory.ts +0 -41
  526. package/templates/interfaces/orionplace/domains/IDomain.ts +0 -13
  527. package/templates/interfaces/orionplace/forms/ICustomerSubfilter.ts +0 -19
  528. package/templates/interfaces/orionplace/index.ts +0 -64
  529. package/templates/interfaces/orionplace/marketing/IPromoActions.ts +0 -51
  530. package/templates/interfaces/orionplace/orders/IOrderActions.ts +0 -99
  531. package/templates/interfaces/orionplace/orders/IOrderHistory.ts +0 -259
  532. package/templates/interfaces/orionplace/orders/IProductPreorder.ts +0 -31
  533. package/templates/interfaces/orionplace/payments/IInvoice.ts +0 -147
  534. package/templates/interfaces/orionplace/products/IProduct.ts +0 -262
  535. package/templates/interfaces/orionplace/products/IProductFeedbackApi.ts +0 -218
  536. package/templates/interfaces/orionplace/products/IProductSearchApi.ts +0 -146
  537. package/templates/interfaces/orionplace/products/IProductSearchFacets.ts +0 -35
  538. package/templates/interfaces/orionplace/products/IProductSecondaryVariantRequest.ts +0 -15
  539. package/templates/interfaces/orionplace/products/IProductSpecification.ts +0 -14
  540. package/templates/interfaces/orionplace/products/IWishlist.ts +0 -22
  541. package/templates/interfaces/orionplace/sellers/ISellerDirectory.ts +0 -70
  542. package/templates/interfaces/orionplace/shared/IBreadcrumb.ts +0 -10
  543. package/templates/interfaces/orionplace/shared/IGeoCoordinates.ts +0 -4
  544. package/templates/interfaces/orionplace/shared/IStorefrontControls.ts +0 -6
  545. package/templates/interfaces/orionplace/shared/ITransformValue.ts +0 -3
  546. package/templates/interfaces/orionplace/state.ts +0 -4
  547. package/templates/interfaces/orionplace/stores/IStoreDirectory.ts +0 -63
  548. package/templates/interfaces/orionplace/subscribeOptions/ISubscribeOption.ts +0 -9
  549. package/templates/interfaces/orionplace/subscribeTariff/ISubscribeTariff.ts +0 -56
  550. package/templates/interfaces/orionplace/subscribeTariff/ITariffSelection.ts +0 -11
  551. package/templates/interfaces/orionplace/subscribes/ISubscribe.ts +0 -28
  552. package/templates/interfaces/orionplace/subscribes/ISubscriptionApi.ts +0 -127
  553. package/templates/interfaces/orionplace/tickets/ICustomerTicketApi.ts +0 -223
  554. package/templates/interfaces/orionplace/transport.ts +0 -34
  555. package/templates/lib/orionplace/accountLabels.ts +0 -29
  556. package/templates/lib/orionplace/activityLabels.ts +0 -96
  557. package/templates/lib/orionplace/activityPresentation.ts +0 -9
  558. package/templates/lib/orionplace/addressChanges.ts +0 -26
  559. package/templates/lib/orionplace/addressPresentation.ts +0 -58
  560. package/templates/lib/orionplace/api.ts +0 -326
  561. package/templates/lib/orionplace/appLoadClient.ts +0 -80
  562. package/templates/lib/orionplace/appLoadResult.ts +0 -120
  563. package/templates/lib/orionplace/appLoadServer.ts +0 -183
  564. package/templates/lib/orionplace/blogArticle.ts +0 -122
  565. package/templates/lib/orionplace/blogArticleHtml.ts +0 -371
  566. package/templates/lib/orionplace/blogComments.ts +0 -102
  567. package/templates/lib/orionplace/blogImageViewer.ts +0 -84
  568. package/templates/lib/orionplace/blogJournal.ts +0 -128
  569. package/templates/lib/orionplace/blogLabels.ts +0 -158
  570. package/templates/lib/orionplace/blogPresentation.ts +0 -67
  571. package/templates/lib/orionplace/blogProductPlacements.ts +0 -105
  572. package/templates/lib/orionplace/browseLabels.ts +0 -145
  573. package/templates/lib/orionplace/cartAddress.ts +0 -86
  574. package/templates/lib/orionplace/cartController.ts +0 -104
  575. package/templates/lib/orionplace/cartLabels.ts +0 -390
  576. package/templates/lib/orionplace/cartOptions.ts +0 -115
  577. package/templates/lib/orionplace/cartPreview.ts +0 -135
  578. package/templates/lib/orionplace/cartPromo.ts +0 -150
  579. package/templates/lib/orionplace/cartShipment.ts +0 -61
  580. package/templates/lib/orionplace/cartSnapshot.ts +0 -21
  581. package/templates/lib/orionplace/catalog.ts +0 -150
  582. package/templates/lib/orionplace/categoryLabels.ts +0 -29
  583. package/templates/lib/orionplace/contact.ts +0 -47
  584. package/templates/lib/orionplace/contactLabels.ts +0 -152
  585. package/templates/lib/orionplace/currency.ts +0 -128
  586. package/templates/lib/orionplace/deliveryMap.ts +0 -86
  587. package/templates/lib/orionplace/directoryLabels.ts +0 -198
  588. package/templates/lib/orionplace/domain.ts +0 -21
  589. package/templates/lib/orionplace/errorPageLabels.ts +0 -89
  590. package/templates/lib/orionplace/eventEnrollment.ts +0 -22
  591. package/templates/lib/orionplace/featureData.ts +0 -28
  592. package/templates/lib/orionplace/featureLabels.ts +0 -406
  593. package/templates/lib/orionplace/featuredLabels.ts +0 -38
  594. package/templates/lib/orionplace/footerLabels.ts +0 -53
  595. package/templates/lib/orionplace/guestSession.ts +0 -55
  596. package/templates/lib/orionplace/headerLabels.ts +0 -98
  597. package/templates/lib/orionplace/homeContent.ts +0 -193
  598. package/templates/lib/orionplace/homeLabels.ts +0 -74
  599. package/templates/lib/orionplace/htmlText.ts +0 -51
  600. package/templates/lib/orionplace/manufacturerDirectory.ts +0 -71
  601. package/templates/lib/orionplace/manufacturerIndex.ts +0 -107
  602. package/templates/lib/orionplace/modalWindow.ts +0 -109
  603. package/templates/lib/orionplace/nativeApp.ts +0 -365
  604. package/templates/lib/orionplace/navigation.tsx +0 -121
  605. package/templates/lib/orionplace/notice.ts +0 -22
  606. package/templates/lib/orionplace/orderLabels.ts +0 -458
  607. package/templates/lib/orionplace/orderPresentation.ts +0 -574
  608. package/templates/lib/orionplace/pageMetadata.ts +0 -361
  609. package/templates/lib/orionplace/pageSeo.ts +0 -662
  610. package/templates/lib/orionplace/paginationScroll.ts +0 -131
  611. package/templates/lib/orionplace/phone.ts +0 -22
  612. package/templates/lib/orionplace/presentation.ts +0 -84
  613. package/templates/lib/orionplace/privacyLabels.ts +0 -273
  614. package/templates/lib/orionplace/productActionLabels.ts +0 -87
  615. package/templates/lib/orionplace/productAvailability.ts +0 -30
  616. package/templates/lib/orionplace/productGallery.ts +0 -64
  617. package/templates/lib/orionplace/productLabels.ts +0 -119
  618. package/templates/lib/orionplace/productListLocation.ts +0 -130
  619. package/templates/lib/orionplace/productPage.ts +0 -308
  620. package/templates/lib/orionplace/productPhotos.ts +0 -67
  621. package/templates/lib/orionplace/productSearch.ts +0 -280
  622. package/templates/lib/orionplace/productSeller.ts +0 -56
  623. package/templates/lib/orionplace/productStructuredData.ts +0 -221
  624. package/templates/lib/orionplace/profile.ts +0 -169
  625. package/templates/lib/orionplace/profileLabels.ts +0 -227
  626. package/templates/lib/orionplace/promoLabels.ts +0 -111
  627. package/templates/lib/orionplace/promoPresentation.ts +0 -381
  628. package/templates/lib/orionplace/reviewLabels.ts +0 -256
  629. package/templates/lib/orionplace/reviewPresentation.ts +0 -64
  630. package/templates/lib/orionplace/reviewScope.ts +0 -38
  631. package/templates/lib/orionplace/searchFilters.ts +0 -99
  632. package/templates/lib/orionplace/searchHistory.ts +0 -144
  633. package/templates/lib/orionplace/sellerDirectory.ts +0 -120
  634. package/templates/lib/orionplace/seo.ts +0 -52
  635. package/templates/lib/orionplace/serverApi.ts +0 -158
  636. package/templates/lib/orionplace/serverLocale.ts +0 -29
  637. package/templates/lib/orionplace/serverMetadata.ts +0 -93
  638. package/templates/lib/orionplace/serverRecords.ts +0 -31
  639. package/templates/lib/orionplace/serverRoute.tsx +0 -59
  640. package/templates/lib/orionplace/sessionLabels.ts +0 -38
  641. package/templates/lib/orionplace/signInReturn.ts +0 -89
  642. package/templates/lib/orionplace/storeDirectory.ts +0 -47
  643. package/templates/lib/orionplace/storefrontRecords.ts +0 -42
  644. package/templates/lib/orionplace/subscriptionChanges.ts +0 -120
  645. package/templates/lib/orionplace/subscriptionLabels.ts +0 -100
  646. package/templates/lib/orionplace/subscriptionManageLabels.ts +0 -422
  647. package/templates/lib/orionplace/subscriptionPlans.ts +0 -122
  648. package/templates/lib/orionplace/subscriptionRemote.ts +0 -85
  649. package/templates/lib/orionplace/subscriptionUsage.ts +0 -58
  650. package/templates/lib/orionplace/tariffLabels.ts +0 -176
  651. package/templates/lib/orionplace/tariffPage.ts +0 -54
  652. package/templates/lib/orionplace/tariffVariables.ts +0 -174
  653. package/templates/lib/orionplace/tariffs.ts +0 -241
  654. package/templates/lib/orionplace/ticketItems.ts +0 -75
  655. package/templates/lib/orionplace/ticketLabels.ts +0 -428
  656. package/templates/lib/orionplace/ticketLocation.ts +0 -79
  657. package/templates/lib/orionplace/ticketRequests.ts +0 -70
  658. package/templates/lib/orionplace/walletTransaction.ts +0 -105
  659. package/templates/orionplace/COMPONENT-DOWNLOAD.md +0 -66
  660. package/templates/orionplace/COMPONENTS.md +0 -35
  661. package/templates/providers/OrionplaceProvider.tsx +0 -191
  662. package/templates/proxy.ts +0 -63
  663. package/templates/stores/orionplace.ts +0 -282
  664. package/templates/stores/orionplaceBrowse.ts +0 -89
  665. package/templates/stores/orionplaceCatalog.ts +0 -162
  666. package/templates/stores/orionplaceProducts.ts +0 -389
  667. package/templates/stores/orionplaceScope.ts +0 -104
  668. package/templates/stores/orionplaceSelections.ts +0 -130
  669. 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
- }