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.
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 -593
  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 -617
  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 -108
  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,66 +0,0 @@
1
- # React component source archive
2
-
3
- ## English
4
-
5
- The archive contains the selected component, its local imports, CSS modules,
6
- shared theme and physical interfaces. Paths are relative to the React storefront
7
- project root. Keep the `@/` alias pointing to that root and preserve the directory
8
- structure when copying files.
9
-
10
- Use the archive inside an application initialized with `orionplace-react`. Its
11
- maintained package manifest supplies React, Next.js, Zustand and any imported
12
- third-party libraries. Components use the installed `OrionplaceProvider` and,
13
- where imported, `OrionplaceStorefrontProvider`. Initialize these providers from
14
- Application Load in the host application; callbacks and data props remain the
15
- application's responsibility. The selected component's README describes its
16
- specific request handlers and data requirements.
17
-
18
- `OrionplaceStorefrontProvider` runs the product card actions (cart, wishlist,
19
- stock alerts, preorders). When a guest clicks an action that needs an account,
20
- it opens the `/profile` sign-in page; pass `onSignIn={(location) => ...}` to
21
- open your own sign-in dialog instead. `location` holds the sign-in `path` and
22
- its `query`, including the `redirect` back to the current page.
23
-
24
- The provider also shows the preorder dialog over the page. With
25
- `preorderDialog={false}` it leaves the dialog to your page: render
26
- `ProductPreorderDialog` yourself (for example inline with `modal={false}`) from
27
- `preorder` (the product whose dialog is open), `preorderError` (its last
28
- refusal, for the dialog's `error`), `submitPreorder(selection)` and
29
- `closePreorder()` of `useOrionplaceStorefront()`; the card's preorder button
30
- still opens it through `onPreorder`.
31
-
32
- Import `app/globals.css` from the root layout. Component CSS modules and the
33
- shared theme are included with their original imports. This archive contains
34
- component source, not a separate application or backend configuration.
35
-
36
- ## Русский
37
-
38
- Архив содержит выбранный компонент, его локальные зависимости, CSS-модули,
39
- общую тему и физические интерфейсы. Пути указаны относительно корня проекта
40
- React-магазина. Сохраните структуру каталогов и настройте `@/` на корень проекта.
41
-
42
- Используйте архив в приложении, созданном через `orionplace-react`. Его
43
- поддерживаемый список зависимостей включает React, Next.js, Zustand и необходимые
44
- сторонние библиотеки. Компоненты используют установленный `OrionplaceProvider`
45
- и, где он импортируется, `OrionplaceStorefrontProvider`. Приложение инициализирует
46
- провайдеры данными Application Load и передаёт входящие данные и обработчики.
47
- README выбранного компонента описывает нужные ему запросы и данные.
48
-
49
- `OrionplaceStorefrontProvider` выполняет действия карточки товара (корзина,
50
- избранное, уведомления о поступлении, предзаказ). Когда гость нажимает действие,
51
- для которого нужен аккаунт, провайдер открывает страницу входа `/profile`;
52
- передайте `onSignIn={(location) => ...}`, чтобы вместо неё открыть свой диалог
53
- входа. В `location` есть путь страницы входа `path` и её параметры `query`,
54
- включая `redirect` для возврата на текущую страницу.
55
-
56
- Провайдер также показывает окно предзаказа поверх страницы. С
57
- `preorderDialog={false}` он оставляет окно вашей странице: отрисуйте
58
- `ProductPreorderDialog` сами (например, встроенным с `modal={false}`) по
59
- `preorder` (товар, для которого открыто окно), `preorderError` (последний отказ
60
- для `error` окна), `submitPreorder(selection)` и `closePreorder()` из
61
- `useOrionplaceStorefront()`; кнопка предзаказа на карточке по-прежнему
62
- открывает его через `onPreorder`.
63
-
64
- Подключите `app/globals.css` в корневом макете. CSS-модули и общая тема включены
65
- с исходными импортами. Архив содержит исходники компонента; конфигурация
66
- подключения к API остаётся в приложении.
@@ -1,35 +0,0 @@
1
- # React component contracts
2
- ## Cart, payment and subscription response fields
3
-
4
- Field ownership, IDs, empty values and confirmed changes / Владельцы полей, ID, пустые значения и подтверждённые изменения.
5
-
6
- | Component | Field guide / Описание полей |
7
- | --- | --- |
8
- | CartDeliverySelector | [EN / RU](../components/orionplace/cart/CartDeliverySelector.README.md) |
9
- | CartItemOptions | [EN / RU](../components/orionplace/cart/CartItemOptions.README.md) |
10
- | CartLineItem | [EN / RU](../components/orionplace/cart/CartLineItem.README.md) |
11
- | StorefrontWallet | [EN / RU](../components/orionplace/wallet/StorefrontWallet.README.md) |
12
- | PaymentPanel | [EN / RU](../components/orionplace/payments/PaymentPanel.README.md) |
13
- | StorefrontSubscriptions | [EN / RU](../components/orionplace/subscriptions/StorefrontSubscriptions.README.md) |
14
- | SubscriptionRenewalDialog | [EN / RU](../components/orionplace/subscriptions/SubscriptionRenewalDialog.README.md) |
15
- | SubscriptionPlanSummary | [EN / RU](../components/orionplace/subscriptions/SubscriptionPlanSummary.README.md) |
16
- | SubscriptionRemoteDetails | [EN / RU](../components/orionplace/subscriptions/SubscriptionRemoteDetails.README.md) |
17
- | OrderPaymentForm | [EN / RU](../components/orionplace/orders/OrderPaymentForm.README.md) |
18
-
19
- The API response tables also explain the following contracts / Таблицы ответов API также объясняют следующие контракты:
20
-
21
- | API | Contract / Контракт |
22
- | --- | --- |
23
- | [cart_guest_get](https://orionmarket.place/en/sandbox/api/cart_guest_get) · [RU](https://orionmarket.place/ru/sandbox/api/cart_guest_get) | Checkout options and saved choices / Опции оформления и сохранённый выбор |
24
- | [invoices_get](https://orionmarket.place/en/sandbox/api/invoices_get) · [RU](https://orionmarket.place/ru/sandbox/api/invoices_get) | Transaction direction and refunds / Направление платежей и возвраты |
25
- | [subscriptions_get](https://orionmarket.place/en/sandbox/api/subscriptions_get) · [RU](https://orionmarket.place/ru/sandbox/api/subscriptions_get) | Subscription state, renewal and service data / Состояние подписки, продление и данные сервиса |
26
- | [profile_promocodes_get](https://orionmarket.place/en/sandbox/api/profile_promocodes_get) · [RU](https://orionmarket.place/ru/sandbox/api/profile_promocodes_get) | Issued codes and promotion conditions / Выданные коды и условия акций |
27
- | [orders_create](https://orionmarket.place/en/sandbox/api/orders_create) · [RU](https://orionmarket.place/ru/sandbox/api/orders_create) | Failure fields and recovery / Поля ошибок и исправление |
28
- | [profile_orders_get](https://orionmarket.place/en/sandbox/api/profile_orders_get) · [RU](https://orionmarket.place/ru/sandbox/api/profile_orders_get) | Ordered options, returns and downloads / Купленные опции, возвраты и загрузки |
29
- | [subscriptions_guest_search](https://orionmarket.place/en/sandbox/api/subscriptions_guest_search) · [RU](https://orionmarket.place/ru/sandbox/api/subscriptions_guest_search) | Plan parameters, units and headings / Параметры тарифа, единицы и подписи |
30
-
31
- ## Cart loading / Загрузка корзины
32
-
33
- [StorefrontCart](../components/orionplace/cart/StorefrontCart.README.md): The cart shows loading until a snapshot or a request error is available. After a failed load, Refresh retries the request.
34
-
35
- Пока нет данных корзины или ошибки запроса, отображается загрузка. После ошибки кнопка «Обновить» повторяет загрузку.
@@ -1,191 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- createContext,
5
- useContext,
6
- useRef,
7
- useEffect,
8
- type ReactNode,
9
- } from 'react';
10
- import { useStore } from 'zustand';
11
- import {
12
- type OrionplaceState,
13
- type OrionplaceStore,
14
- } from '@/stores/orionplace';
15
- import {
16
- type OrionplaceSelectionsState,
17
- type OrionplaceSelectionsStore,
18
- } from '@/stores/orionplaceSelections';
19
- import {
20
- type OrionplaceProductsState,
21
- type OrionplaceProductsStore,
22
- } from '@/stores/orionplaceProducts';
23
- import {
24
- type OrionplaceCatalogState,
25
- type OrionplaceCatalogStore,
26
- createOrionplaceCatalogStore,
27
- } from '@/stores/orionplaceCatalog';
28
- import {
29
- type OrionplaceBrowseState,
30
- type OrionplaceBrowseStore,
31
- } from '@/stores/orionplaceBrowse';
32
- import {
33
- createOrionplaceStores,
34
- type OrionplaceStores,
35
- } from '@/stores/orionplaceScope';
36
- import type { AppLoadFailure, AppLoadResult } from '@/interfaces/orionplace';
37
- import type { IAppLoadCommon } from '@/interfaces/orionplace/appBase/IAppLoadCommon';
38
- import { selectInit } from '@/stores/orionplace';
39
-
40
- const OrionplaceContext = createContext<OrionplaceStore | null>(null);
41
- const SelectionsContext = createContext<OrionplaceSelectionsStore | null>(null);
42
- const ProductsContext = createContext<OrionplaceProductsStore | null>(null);
43
- const CatalogContext = createContext<OrionplaceCatalogStore | null>(null);
44
- const BrowseContext = createContext<OrionplaceBrowseStore | null>(null);
45
-
46
- export interface OrionplaceProviderProps {
47
- /** The server render's snapshot. Hydration reuses it instead of loading again. */
48
- result?: AppLoadResult | null;
49
- failure?: AppLoadFailure | null;
50
- locale?: string;
51
- children: ReactNode;
52
- }
53
-
54
- /** Creates one store for this browser session and keeps it across re-renders. */
55
- export function OrionplaceProvider({
56
- result = null,
57
- failure = null,
58
- locale,
59
- children,
60
- }: OrionplaceProviderProps) {
61
- const stores = useRef<OrionplaceStores>(null);
62
- if (!stores.current) {
63
- stores.current = createOrionplaceStores(result, failure, locale);
64
- }
65
-
66
- const current = stores.current;
67
-
68
- return (
69
- <OrionplaceContext.Provider value={current.store}>
70
- <SelectionsContext.Provider value={current.selections}>
71
- <ProductsContext.Provider value={current.products}>
72
- <CatalogContext.Provider value={current.catalog}>
73
- <BrowseContext.Provider value={current.browse}>
74
- {children}
75
- </BrowseContext.Provider>
76
- </CatalogContext.Provider>
77
- </ProductsContext.Provider>
78
- </SelectionsContext.Provider>
79
- </OrionplaceContext.Provider>
80
- );
81
- }
82
-
83
- export function OrionplaceCatalogSnapshotProvider({
84
- snapshot,
85
- children,
86
- }: {
87
- snapshot?: NonNullable<IAppLoadCommon['tariffs']>;
88
- children: ReactNode;
89
- }) {
90
- const init = useOrionplace(selectInit);
91
- const parent = useOrionplaceCatalogStore();
92
- const catalog = useRef<OrionplaceCatalogStore | null>(null);
93
- if (!catalog.current) {
94
- catalog.current = createOrionplaceCatalogStore(init);
95
- if (snapshot) {
96
- catalog.current.getState().setTariffs(snapshot);
97
- }
98
- }
99
- const current = catalog.current;
100
- useEffect(() => {
101
- current.getState().reconcile(init);
102
- if (snapshot) {
103
- current.getState().setTariffs(snapshot);
104
- }
105
- }, [current, init, snapshot]);
106
- return (
107
- <CatalogContext.Provider value={snapshot ? current : parent}>
108
- {children}
109
- </CatalogContext.Provider>
110
- );
111
- }
112
-
113
- function useStoreApi(): OrionplaceStore {
114
- const store = useContext(OrionplaceContext);
115
- if (!store) {
116
- throw new Error('Render this component inside <OrionplaceProvider>.');
117
- }
118
- return store;
119
- }
120
-
121
- /** Subscribes to one selected part of the marketplace state. */
122
- export function useOrionplace<T>(selector: (state: OrionplaceState) => T): T {
123
- return useStore(useStoreApi(), selector);
124
- }
125
-
126
- /** The store itself, for actions and one-off reads outside render. */
127
- export const useOrionplaceStore = useStoreApi;
128
-
129
- function useSelectionsStoreApi(): OrionplaceSelectionsStore {
130
- const store = useContext(SelectionsContext);
131
- if (!store) {
132
- throw new Error('Render this component inside <OrionplaceProvider>.');
133
- }
134
- return store;
135
- }
136
-
137
- export function useOrionplaceSelections<T>(
138
- selector: (state: OrionplaceSelectionsState) => T,
139
- ): T {
140
- return useStore(useSelectionsStoreApi(), selector);
141
- }
142
-
143
- export const useOrionplaceSelectionsStore = useSelectionsStoreApi;
144
-
145
- function useProductsStoreApi(): OrionplaceProductsStore {
146
- const store = useContext(ProductsContext);
147
- if (!store) {
148
- throw new Error('Render this component inside <OrionplaceProvider>.');
149
- }
150
- return store;
151
- }
152
-
153
- export function useOrionplaceProducts<T>(
154
- selector: (state: OrionplaceProductsState) => T,
155
- ): T {
156
- return useStore(useProductsStoreApi(), selector);
157
- }
158
-
159
- export const useOrionplaceProductsStore = useProductsStoreApi;
160
-
161
- function useCatalogStoreApi(): OrionplaceCatalogStore {
162
- const store = useContext(CatalogContext);
163
- if (!store) {
164
- throw new Error('Render this component inside <OrionplaceProvider>.');
165
- }
166
- return store;
167
- }
168
-
169
- export function useOrionplaceCatalog<T>(
170
- selector: (state: OrionplaceCatalogState) => T,
171
- ): T {
172
- return useStore(useCatalogStoreApi(), selector);
173
- }
174
-
175
- export const useOrionplaceCatalogStore = useCatalogStoreApi;
176
-
177
- function useBrowseStoreApi(): OrionplaceBrowseStore {
178
- const store = useContext(BrowseContext);
179
- if (!store) {
180
- throw new Error('Render this component inside <OrionplaceProvider>.');
181
- }
182
- return store;
183
- }
184
-
185
- export function useOrionplaceBrowse<T>(
186
- selector: (state: OrionplaceBrowseState) => T,
187
- ): T {
188
- return useStore(useBrowseStoreApi(), selector);
189
- }
190
-
191
- export const useOrionplaceBrowseStore = useBrowseStoreApi;
@@ -1,63 +0,0 @@
1
- import { NextResponse, type NextRequest } from 'next/server';
2
- import { marketplaceNoindexPath } from '@orionplace-runtime/marketplace.mjs';
3
- import {
4
- APP_LOAD_HANDOFF_HEADER,
5
- startAppLoad,
6
- } from '@/lib/orionplace/appLoadServer';
7
-
8
- /**
9
- * A full page load: not an in-app navigation (`RSC`), a prefetch or a public
10
- * file such as an image.
11
- */
12
- function pageLoad(request: NextRequest) {
13
- const accept = request.headers.get('accept') ?? '';
14
- return (
15
- request.method === 'GET' &&
16
- !request.headers.has('rsc') &&
17
- !request.headers.has('next-router-prefetch') &&
18
- !/\.[a-z0-9]+$/i.test(request.nextUrl.pathname) &&
19
- (!accept || accept.includes('text/html') || accept.includes('*/*'))
20
- );
21
- }
22
-
23
- /**
24
- * Personalized pages are never shared between visitors or storefront domains.
25
- * Next.js manages its own `Vary` header for pages; the API gateway sets the
26
- * storefront-domain `Vary` on its own responses.
27
- *
28
- * A full page load starts Application Load here and hands it to the render:
29
- * when it fails, the error page answers HTTP 503 like the Nuxt and SvelteKit
30
- * starters (an unknown address keeps its 404).
31
- */
32
- export async function proxy(request: NextRequest) {
33
- const forwarded = new Headers(request.headers);
34
- // Only this proxy names a started load; a visitor cannot pick one.
35
- forwarded.delete(APP_LOAD_HANDOFF_HEADER);
36
- forwarded.set(
37
- 'x-orionplace-page-url',
38
- request.nextUrl.pathname + request.nextUrl.search,
39
- );
40
- let unavailable = false;
41
- if (pageLoad(request)) {
42
- const { id, load } = startAppLoad(forwarded);
43
- forwarded.set(APP_LOAD_HANDOFF_HEADER, id);
44
- unavailable = Boolean((await load).failure);
45
- }
46
- const response = NextResponse.next({
47
- request: { headers: forwarded },
48
- ...(unavailable ? { status: 503 } : {}),
49
- });
50
- response.headers.set('Cache-Control', 'private, no-store');
51
- // Pages under ORIONPLACE_NOINDEX_PATHS stay out of search engines.
52
- if (marketplaceNoindexPath(request.nextUrl.pathname)) {
53
- response.headers.set('X-Robots-Tag', 'noindex, follow');
54
- }
55
- return response;
56
- }
57
-
58
- // The gateway sets its own headers for /api, /ps3 media, robots.txt and the
59
- // sitemap (public blog images keep the backend's browser cache rule); static
60
- // assets keep their caching.
61
- export const config = {
62
- matcher: ['/((?!api/|ps3/|_next/static|_next/image|favicon.ico|robots.txt|sitemap.xml).*)'],
63
- };
@@ -1,282 +0,0 @@
1
- import { createStore } from 'zustand/vanilla';
2
- import type {
3
- AppLoadFailure,
4
- AppLoadLoader,
5
- AppLoadResult,
6
- AppLoadStatus,
7
- IAppLoad,
8
- IAppLoadCommon,
9
- IAppLoadCommonCurrency,
10
- IAppLoadCommonLocale,
11
- IAppLoadCommonTariff,
12
- IAppLoadPath,
13
- IAppLoadPathObject,
14
- IApploadUserProfile,
15
- ICategory,
16
- IProduct,
17
- } from '@/interfaces/orionplace';
18
- import { appLoadFailure } from '@/lib/orionplace/appLoadResult';
19
- import { resolveAppLoadProducts } from '@/lib/orionplace/productSeller';
20
- import { guestAppLoadResult } from '@/lib/orionplace/guestSession';
21
-
22
- /** Shared empty values keep selector results referentially stable between renders. */
23
- const EMPTY_RECORD = Object.freeze({}) as Record<string, never>;
24
- const EMPTY_LIST = Object.freeze([]) as readonly never[];
25
- const EMPTY_PATHS = Object.freeze({}) as IAppLoadPathObject;
26
-
27
- export interface OrionplaceSnapshot {
28
- result: AppLoadResult | null;
29
- status: AppLoadStatus;
30
- failure: AppLoadFailure | null;
31
- endpoints: IAppLoadPathObject;
32
- }
33
-
34
- export interface OrionplaceState extends OrionplaceSnapshot {
35
- load: (
36
- loader: AppLoadLoader,
37
- force?: boolean,
38
- preserve?: boolean,
39
- ) => Promise<void>;
40
- endSession: (loader: AppLoadLoader) => Promise<void>;
41
- patchProfile: (patch: Partial<IApploadUserProfile>) => void;
42
- patchWallet: (wallet: NonNullable<IAppLoadCommon['wallet']>) => void;
43
- reset: () => void;
44
- }
45
-
46
- export type OrionplaceStore = ReturnType<typeof createOrionplaceStore>;
47
-
48
- /** Public and authenticated discovery are merged once per snapshot, without mutating the response. */
49
- function mergeEndpoints(result: AppLoadResult | null): IAppLoadPathObject {
50
- const page = result?.response.page_data;
51
- if (!page) {
52
- return EMPTY_PATHS;
53
- }
54
- const groups: IAppLoadPathObject[] = [page.unauth.paths];
55
- if (page.init.is_authenticated && page.auth) {
56
- groups.push(page.auth.paths);
57
- }
58
- const merged: IAppLoadPathObject = {};
59
- for (const group of groups) {
60
- for (const [section, paths] of Object.entries(group)) {
61
- merged[section] = { ...merged[section], ...paths };
62
- }
63
- }
64
- return merged;
65
- }
66
-
67
- /** Builds the hydration snapshot from a server render, without repeating the request. */
68
- export function initialSnapshot(
69
- result: AppLoadResult | null = null,
70
- failure: AppLoadFailure | null = null,
71
- ): OrionplaceSnapshot {
72
- return {
73
- result: failure ? null : result,
74
- status: failure ? 'error' : result ? 'success' : 'idle',
75
- failure,
76
- endpoints: failure ? EMPTY_PATHS : mergeEndpoints(result),
77
- };
78
- }
79
-
80
- /**
81
- * One store instance per server render and one per browser session.
82
- * Creating the store never starts a request; the loaders are passed to `load`.
83
- */
84
- export function createOrionplaceStore(
85
- snapshot: OrionplaceSnapshot = initialSnapshot(),
86
- ) {
87
- // These belong to this store instance, never serialized state or a module-level cache.
88
- let pending: Promise<void> | null = null;
89
- let controller: AbortController | null = null;
90
- let generation = 0;
91
-
92
- return createStore<OrionplaceState>()((set, get) => ({
93
- ...snapshot,
94
-
95
- patchProfile(patch) {
96
- set((state) => {
97
- const page = state.result?.response.page_data;
98
- if (!state.result || !page?.user) {
99
- return {};
100
- }
101
- return {
102
- result: {
103
- ...state.result,
104
- response: {
105
- ...state.result.response,
106
- page_data: {
107
- ...page,
108
- user: { ...page.user, ...patch },
109
- },
110
- },
111
- },
112
- };
113
- });
114
- },
115
-
116
- // A purchase changes only the balance: it is replaced in place, without
117
- // an Application Load that would unmount the page and its confirmation.
118
- patchWallet(wallet) {
119
- set((state) => {
120
- const page = state.result?.response.page_data;
121
- if (!state.result || !page?.init?.is_authenticated) {
122
- return {};
123
- }
124
- return {
125
- result: {
126
- ...state.result,
127
- response: {
128
- ...state.result.response,
129
- page_data: {
130
- ...page,
131
- init: { ...page.init, wallet },
132
- },
133
- },
134
- },
135
- };
136
- });
137
- },
138
-
139
- reset() {
140
- generation++;
141
- controller?.abort();
142
- controller = null;
143
- pending = null;
144
- set({
145
- result: null,
146
- failure: null,
147
- status: 'idle',
148
- endpoints: EMPTY_PATHS,
149
- });
150
- },
151
-
152
- endSession(loader) {
153
- const result = get().result;
154
- if (!result?.response.page_data.init.is_authenticated) {
155
- return pending ?? Promise.resolve();
156
- }
157
- generation++;
158
- controller?.abort();
159
- controller = null;
160
- pending = null;
161
- const guest = guestAppLoadResult(result);
162
- set({ result: guest, endpoints: mergeEndpoints(guest) });
163
- return get().load(loader, true, true);
164
- },
165
-
166
- load(
167
- loader: AppLoadLoader,
168
- force = false,
169
- preserve = false,
170
- ): Promise<void> {
171
- if (pending) {
172
- return pending;
173
- }
174
- // Reuse both server success and failure after hydration or navigation; retry is explicit.
175
- if (!force && get().status !== 'idle') {
176
- return Promise.resolve();
177
- }
178
- const current = ++generation;
179
- controller = new AbortController();
180
- const signal = controller.signal;
181
- if (!preserve) {
182
- set({
183
- result: null,
184
- failure: null,
185
- status: 'pending',
186
- endpoints: EMPTY_PATHS,
187
- });
188
- }
189
- pending = Promise.resolve()
190
- .then(() => loader(signal))
191
- .then((result) => {
192
- if (current !== generation) {
193
- return;
194
- }
195
- set({
196
- result,
197
- failure: null,
198
- status: 'success',
199
- endpoints: mergeEndpoints(result),
200
- });
201
- })
202
- .catch((error: unknown) => {
203
- if (current !== generation) {
204
- return;
205
- }
206
- set({
207
- result: null,
208
- endpoints: EMPTY_PATHS,
209
- failure: appLoadFailure(error),
210
- status: 'error',
211
- });
212
- })
213
- .finally(() => {
214
- if (current !== generation) {
215
- return;
216
- }
217
- pending = null;
218
- controller = null;
219
- });
220
- return pending;
221
- },
222
- }));
223
- }
224
-
225
- export const selectIsReady = (state: OrionplaceSnapshot): boolean =>
226
- state.status === 'success' && state.result !== null;
227
- export const selectStatus = (state: OrionplaceSnapshot): AppLoadStatus =>
228
- state.status;
229
- export const selectFailure = (
230
- state: OrionplaceSnapshot,
231
- ): AppLoadFailure | null => state.failure;
232
- export const selectResult = (state: OrionplaceSnapshot): AppLoadResult | null =>
233
- state.result;
234
- export const selectData = (state: OrionplaceSnapshot): IAppLoad | null =>
235
- state.result?.response.page_data ?? null;
236
- export const selectInit = (state: OrionplaceSnapshot): IAppLoadCommon | null =>
237
- selectData(state)?.init ?? null;
238
- export const selectProfile = (
239
- state: OrionplaceSnapshot,
240
- ): IApploadUserProfile | null => selectData(state)?.user ?? null;
241
- export const selectIsAuthenticated = (state: OrionplaceSnapshot): boolean =>
242
- selectInit(state)?.is_authenticated ?? false;
243
- export const selectLocales = (
244
- state: OrionplaceSnapshot,
245
- ): Record<string, IAppLoadCommonLocale> =>
246
- selectInit(state)?.locale ?? EMPTY_RECORD;
247
- export const selectCurrencies = (
248
- state: OrionplaceSnapshot,
249
- ): Record<string, IAppLoadCommonCurrency> =>
250
- selectInit(state)?.currencies ?? EMPTY_RECORD;
251
- export const selectCatalog = (
252
- state: OrionplaceSnapshot,
253
- ): readonly ICategory[] => selectInit(state)?.catalog ?? EMPTY_LIST;
254
- export const selectProducts = (
255
- state: OrionplaceSnapshot,
256
- ): readonly IProduct[] => {
257
- const init = selectInit(state);
258
- return init
259
- ? resolveAppLoadProducts(init.products, init.sellers)
260
- : EMPTY_LIST;
261
- };
262
- export const selectTariffs = (
263
- state: OrionplaceSnapshot,
264
- ): IAppLoadCommonTariff | null => selectInit(state)?.tariffs ?? null;
265
- export const selectPublicEndpoints = (
266
- state: OrionplaceSnapshot,
267
- ): IAppLoadPathObject => selectData(state)?.unauth.paths ?? EMPTY_PATHS;
268
- export const selectEndpoints = (
269
- state: OrionplaceSnapshot,
270
- ): IAppLoadPathObject => state.endpoints;
271
- export const selectAuthenticatedEndpoints = (
272
- state: OrionplaceSnapshot,
273
- ): IAppLoadPathObject =>
274
- selectIsAuthenticated(state)
275
- ? (selectData(state)?.auth?.paths ?? EMPTY_PATHS)
276
- : EMPTY_PATHS;
277
-
278
- /** Live discovery describes availability; the backend still checks permissions on every call. */
279
- export const selectEndpoint =
280
- (section: string, name: string) =>
281
- (state: OrionplaceSnapshot): IAppLoadPath | undefined =>
282
- state.endpoints[section]?.[name];