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,915 +0,0 @@
1
- 'use client';
2
-
3
- import { useEffect, useRef, useState } from 'react';
4
- import {
5
- useOrionplace,
6
- useOrionplaceSelections,
7
- } from '@/providers/OrionplaceProvider';
8
- import { selectProfile } from '@/stores/orionplace';
9
- import type {
10
- IApiPagination,
11
- IProfileResponse,
12
- } from '@/interfaces/orionplace/accounts/IProfileData';
13
- import type { IPaymentMethod } from '@/interfaces/orionplace/cart/ICartData';
14
- import {
15
- EInvoiceStatus,
16
- type IInvoice,
17
- type IInvoiceCreateRequest,
18
- type IInvoicesRequest,
19
- type IInvoicesResponse,
20
- } from '@/interfaces/orionplace/payments/IInvoice';
21
- import type { IStorefrontPayment } from '@/interfaces/orionplace/shared/IStorefrontControls';
22
- import type { ITransformValue } from '@/interfaces/orionplace/shared/ITransformValue';
23
- import { formatCurrency } from '@/lib/orionplace/currency';
24
- import { featureLabels } from '@/lib/orionplace/featureLabels';
25
- import { mergePagination } from '@/lib/orionplace/featureData';
26
- import { getAvailableNestedValueFromObject } from '@/lib/orionplace/presentation';
27
- import {
28
- walletComment,
29
- walletOutgoing,
30
- walletPurpose,
31
- walletRelation,
32
- type IWalletRelation,
33
- type WalletPurpose,
34
- } from '@/lib/orionplace/walletTransaction';
35
- import { PaymentPanel } from '@/components/orionplace/payments/PaymentPanel';
36
- import { OrionplaceEmptyState } from '@/components/orionplace/shared/OrionplaceEmptyState';
37
- import { OrionplaceImage } from '@/components/orionplace/shared/OrionplaceImage';
38
- import { StorefrontPagination } from '@/components/orionplace/shared/StorefrontPagination';
39
- import { WalletBalance } from './WalletBalance';
40
- import { WalletTopUpForm } from './WalletTopUpForm';
41
- import styles from './StorefrontWallet.module.css';
42
- import { apiErrorMessage } from '@/lib/orionplace/api';
43
-
44
- type InvoicesPage = NonNullable<IInvoicesResponse['page_data']>;
45
- type ProfilePage = NonNullable<IProfileResponse['page_data']>;
46
- export type WalletCategory = Extract<
47
- NonNullable<IInvoicesRequest['filters']>['invoice_type'],
48
- 'wallet' | 'orders' | 'paid_subs'
49
- >;
50
-
51
- export interface WalletLoadAction {
52
- endpoint: 'invoices_get';
53
- request: IInvoicesRequest;
54
- signal: AbortSignal;
55
- }
56
-
57
- export interface WalletMethodsAction {
58
- endpoint: 'invoices_payment_methods_get';
59
- request: {
60
- filters: {
61
- is_from_balance_payment: false;
62
- is_payment_on_delivery: false;
63
- };
64
- };
65
- signal: AbortSignal;
66
- }
67
-
68
- export interface WalletCreateAction {
69
- endpoint: 'invoices_create';
70
- request: IInvoiceCreateRequest;
71
- signal: AbortSignal;
72
- }
73
-
74
- export interface WalletCancelAction {
75
- endpoint: 'invoices_cancel_invoice';
76
- request: Record<string, never>;
77
- path: { invoice_id: number };
78
- signal: AbortSignal;
79
- }
80
-
81
- export interface WalletProfileAction {
82
- endpoint: 'profile_get';
83
- request: { filters: Record<string, never> };
84
- signal: AbortSignal;
85
- }
86
-
87
- export interface StorefrontWalletProps {
88
- initialData?: InvoicesPage;
89
- initialCategory?: WalletCategory;
90
- initialError?: string;
91
- loadOnMount?: boolean;
92
- ordersHref?: (orderId: number, locale: string) => string;
93
- subscriptionsHref?: (locale: string) => string;
94
- onLoad: (action: WalletLoadAction) => Promise<InvoicesPage> | InvoicesPage;
95
- onLoadMethods: (
96
- action: WalletMethodsAction,
97
- ) => Promise<IPaymentMethod[]> | IPaymentMethod[];
98
- onCreate: (
99
- action: WalletCreateAction,
100
- ) => Promise<IStorefrontPayment> | IStorefrontPayment;
101
- onCancel: (action: WalletCancelAction) => Promise<IInvoice> | IInvoice;
102
- onLoadProfile: (
103
- action: WalletProfileAction,
104
- ) => Promise<ProfilePage> | ProfilePage;
105
- onPageChange?: (page: number) => void;
106
- onCategoryChange?: (category: WalletCategory) => void;
107
- }
108
-
109
- const icons = {
110
- wallet: 'M3 7h16v12H3zM3 7l12-3v3M16 13h.01M19 11h-4v4h4',
111
- history: 'M12 7v5l3 2M3 12a9 9 0 1 0 3-6.7M3 4v4h4',
112
- invoice: 'M6 3h12v18l-3-2-3 2-3-2-3 2zM9 8h6M9 12h6',
113
- topUp: 'M3 7h16v12H3zM11 10v6M8 13h6',
114
- deduction: 'M3 7h16v12H3zM8 13h6',
115
- orderPayment: 'M5 8h14l-1 12H6zM9 8V6a3 3 0 0 1 6 0v2',
116
- subscriptionPayment:
117
- 'M4 12a8 8 0 0 1 14-5.3L20 9M20 4v5h-5M20 12a8 8 0 0 1-14 5.3L4 15M4 20v-5h5',
118
- bonus: 'M4 11h16v9H4zM3 7h18v4H3zM12 7v13M12 7c-2-4-6-3-5 0M12 7c2-4 6-3 5 0',
119
- refund: 'M9 14 4 9l5-5M4 9h11a5 5 0 0 1 0 10h-3',
120
- } as const;
121
-
122
- function Icon({ path }: { path: string }) {
123
- return (
124
- <svg
125
- viewBox="0 0 24 24"
126
- fill="none"
127
- stroke="currentColor"
128
- strokeWidth="1.5"
129
- strokeLinecap="round"
130
- strokeLinejoin="round"
131
- aria-hidden="true"
132
- >
133
- <path d={path} />
134
- </svg>
135
- );
136
- }
137
-
138
- function fieldsFrom(reason: unknown) {
139
- const record =
140
- reason && typeof reason === 'object'
141
- ? (reason as Record<string, unknown>)
142
- : {};
143
- const source = record.fields ?? record.form_errors;
144
- if (!source || typeof source !== 'object' || Array.isArray(source)) {
145
- return {};
146
- }
147
- return Object.fromEntries(
148
- Object.entries(source).flatMap(([key, entry]) => {
149
- const values = Array.isArray(entry) ? entry : [entry];
150
- const messages = values
151
- .map((item) =>
152
- typeof item === 'string'
153
- ? item
154
- : item && typeof item === 'object' && 'message' in item
155
- ? String(item.message)
156
- : '',
157
- )
158
- .filter(Boolean);
159
- return messages.length ? [[key, messages.join('\n')]] : [];
160
- }),
161
- );
162
- }
163
-
164
- function failureMessage(reason: unknown, fallback: string) {
165
- return apiErrorMessage(reason) || fallback;
166
- }
167
-
168
- export function StorefrontWallet({
169
- initialData,
170
- initialCategory = 'wallet',
171
- initialError = '',
172
- loadOnMount = true,
173
- ordersHref = (id, locale) =>
174
- `/orders?order=${id}&locale=${encodeURIComponent(locale)}`,
175
- subscriptionsHref = (locale) =>
176
- `/subscriptions?locale=${encodeURIComponent(locale)}`,
177
- onLoad,
178
- onLoadMethods,
179
- onCreate,
180
- onCancel,
181
- onLoadProfile,
182
- onPageChange,
183
- onCategoryChange,
184
- }: StorefrontWalletProps) {
185
- const profile = useOrionplace(selectProfile);
186
- const selections = useOrionplaceSelections((state) => state);
187
- const labels = featureLabels(selections.localeCode);
188
- const callbacks = useRef({
189
- onLoad,
190
- onLoadMethods,
191
- onCreate,
192
- onCancel,
193
- onLoadProfile,
194
- });
195
- callbacks.current = {
196
- onLoad,
197
- onLoadMethods,
198
- onCreate,
199
- onCancel,
200
- onLoadProfile,
201
- };
202
- const active = useRef<AbortController | undefined>(undefined);
203
- const initialized = useRef(false);
204
- const [invoices, setInvoices] = useState(initialData?.data ?? []);
205
- const [methods, setMethods] = useState<IPaymentMethod[]>([]);
206
- const [pagination, setPagination] = useState<Partial<IApiPagination>>(
207
- initialData?.rpag ?? { page: 1 },
208
- );
209
- const [category, setCategory] = useState<WalletCategory>(initialCategory);
210
- const [payment, setPayment] = useState<IStorefrontPayment>();
211
- const [wallet, setWallet] = useState<Record<string, ITransformValue>>();
212
- const [topUp, setTopUp] = useState(false);
213
- const [loaded, setLoaded] = useState(initialData !== undefined);
214
- const [confirmation, setConfirmation] = useState<number>();
215
- const [pending, setPending] = useState(
216
- loadOnMount && initialData === undefined,
217
- );
218
- const [error, setError] = useState(initialError);
219
- const [fields, setFields] = useState<Record<string, string>>({});
220
-
221
- async function run(
222
- work: (controller: AbortController) => Promise<void>,
223
- withFields = false,
224
- ) {
225
- if (active.current) {
226
- return;
227
- }
228
- const controller = new AbortController();
229
- active.current = controller;
230
- setPending(true);
231
- setError('');
232
- if (withFields) {
233
- setFields({});
234
- }
235
-
236
- try {
237
- await work(controller);
238
- } catch (reason) {
239
- if (!controller.signal.aborted) {
240
- setError(failureMessage(reason, labels.failed));
241
- if (withFields) {
242
- setFields(fieldsFrom(reason));
243
- }
244
- }
245
- } finally {
246
- if (active.current === controller) {
247
- active.current = undefined;
248
- setPending(false);
249
- }
250
- }
251
- }
252
-
253
- async function fetchInvoices(
254
- controller: AbortController,
255
- page = 1,
256
- nextCategory = category,
257
- ) {
258
- const result = await callbacks.current.onLoad({
259
- endpoint: 'invoices_get',
260
- request: {
261
- filters: { invoice_type: nextCategory },
262
- paginate: { page, pp_items: 10 },
263
- },
264
- signal: controller.signal,
265
- });
266
- if (controller.signal.aborted) {
267
- return;
268
- }
269
- setInvoices(result.data);
270
- setPagination((current) => mergePagination(current, result.rpag));
271
- setLoaded(true);
272
- }
273
-
274
- function load(page = 1, nextCategory = category) {
275
- onPageChange?.(page);
276
- void run((controller) => fetchInvoices(controller, page, nextCategory));
277
- }
278
-
279
- function selectCategory(nextCategory: WalletCategory) {
280
- if (pending || nextCategory === category) {
281
- return;
282
- }
283
- setCategory(nextCategory);
284
- setPagination({ page: 1 });
285
- onCategoryChange?.(nextCategory);
286
- load(1, nextCategory);
287
- }
288
-
289
- function openTopUp() {
290
- void run(async (controller) => {
291
- const result = await callbacks.current.onLoadMethods({
292
- endpoint: 'invoices_payment_methods_get',
293
- request: {
294
- filters: {
295
- is_from_balance_payment: false,
296
- is_payment_on_delivery: false,
297
- },
298
- },
299
- signal: controller.signal,
300
- });
301
- if (!controller.signal.aborted) {
302
- setMethods(result);
303
- setTopUp(true);
304
- }
305
- });
306
- }
307
-
308
- function create(request: IInvoiceCreateRequest) {
309
- void run(async (controller) => {
310
- const nextPayment = await callbacks.current.onCreate({
311
- endpoint: 'invoices_create',
312
- request,
313
- signal: controller.signal,
314
- });
315
- if (controller.signal.aborted) {
316
- return;
317
- }
318
- setPayment(nextPayment);
319
- setTopUp(false);
320
- // The new top-up is a wallet invoice: show that category from page 1.
321
- if (category !== 'wallet') {
322
- setCategory('wallet');
323
- onCategoryChange?.('wallet');
324
- }
325
- setPagination({ page: 1 });
326
- await fetchInvoices(controller, 1, 'wallet');
327
- }, true);
328
- }
329
-
330
- function refreshPayment(close = false) {
331
- void run(async (controller) => {
332
- if (close) {
333
- setPayment(undefined);
334
- }
335
- await fetchInvoices(controller, pagination.page ?? 1, category);
336
- const page = await callbacks.current.onLoadProfile({
337
- endpoint: 'profile_get',
338
- request: { filters: {} },
339
- signal: controller.signal,
340
- });
341
- if (controller.signal.aborted) {
342
- return;
343
- }
344
- const current = page.profile_info.find((item) => item.id === profile?.id);
345
- if (current?.wallet) {
346
- setWallet(current.wallet);
347
- }
348
- });
349
- }
350
-
351
- function cancel(invoice: IInvoice) {
352
- if (
353
- invoice.status.int !== EInvoiceStatus.CREATED ||
354
- invoice.transaction_type !== 'wallet'
355
- ) {
356
- return;
357
- }
358
- void run(async (controller) => {
359
- const updated = await callbacks.current.onCancel({
360
- endpoint: 'invoices_cancel_invoice',
361
- request: {},
362
- path: { invoice_id: invoice.id },
363
- signal: controller.signal,
364
- });
365
- if (controller.signal.aborted) {
366
- return;
367
- }
368
- setInvoices((current) =>
369
- current.map((item) => (item.id === updated.id ? updated : item)),
370
- );
371
- setConfirmation(undefined);
372
- await fetchInvoices(controller, pagination.page ?? 1, category);
373
- });
374
- }
375
-
376
- function relationLink(relation: IWalletRelation) {
377
- if (relation.kind === 'order') {
378
- return {
379
- href: ordersHref(relation.id, selections.localeCode),
380
- label: `${labels.wallet.relatedOrder} #${relation.id}`,
381
- hint: labels.wallet.openOrder,
382
- };
383
- }
384
- return {
385
- href: subscriptionsHref(selections.localeCode),
386
- label: `${labels.wallet.relatedSubscription} #${relation.id}`,
387
- hint: labels.wallet.openSubscription,
388
- };
389
- }
390
-
391
- function statusTone(status: EInvoiceStatus) {
392
- if (status === EInvoiceStatus.COMPLETED) {
393
- return 'success';
394
- }
395
- if (status === EInvoiceStatus.CREATED) {
396
- return 'attention';
397
- }
398
- if (status === EInvoiceStatus.FAILED || status === EInvoiceStatus.FRAUD) {
399
- return 'danger';
400
- }
401
- return 'neutral';
402
- }
403
-
404
- // The state name in the reader's language; a state the storefront does
405
- // not know yet keeps the backend's name.
406
- function statusLabel(status: IInvoice['status']) {
407
- return labels.wallet.statuses[status.int] ?? status.text;
408
- }
409
-
410
- function money(amounts: IInvoice['amount']) {
411
- return formatCurrency(
412
- amounts[selections.currencyId]?.transform_value,
413
- selections.init?.currencies[selections.currencyId],
414
- selections.localeCode,
415
- );
416
- }
417
-
418
- function amountClass(amounts: IInvoice['amount']) {
419
- const value = Number(amounts[selections.currencyId]?.transform_value);
420
- if (!Number.isFinite(value) || value === 0) {
421
- return '';
422
- }
423
- return value < 0 ? styles.negative : styles.positive;
424
- }
425
-
426
- // A payment reads as money going out: a minus and the text colour.
427
- function invoiceAmount(amounts: IInvoice['amount'], outgoing: boolean) {
428
- const value = amounts[selections.currencyId]?.transform_value;
429
- const text = formatCurrency(
430
- outgoing && value != null ? Math.abs(Number(value)) : value,
431
- selections.init?.currencies[selections.currencyId],
432
- selections.localeCode,
433
- );
434
-
435
- return outgoing && Number(value) ? `−${text}` : text;
436
- }
437
-
438
- useEffect(() => {
439
- if (initialized.current || !loadOnMount) {
440
- return;
441
- }
442
- initialized.current = true;
443
- if (initialData) {
444
- setPending(false);
445
- return;
446
- }
447
- load(1, initialCategory);
448
- }, [loadOnMount, initialCategory]);
449
-
450
- useEffect(
451
- () => () => {
452
- active.current?.abort();
453
- active.current = undefined;
454
- initialized.current = false;
455
- },
456
- [],
457
- );
458
-
459
- const tabs: WalletCategory[] = ['wallet', 'orders', 'paid_subs'];
460
-
461
- return (
462
- <section
463
- className={styles.root}
464
- aria-busy={pending}
465
- data-feature-part="StorefrontWallet"
466
- >
467
- <div className={styles.heading}>
468
- <h1>{labels.wallet.title}</h1>
469
- <p>{labels.wallet.description}</p>
470
- </div>
471
-
472
- <div className={styles.balance}>
473
- <div className={styles.balanceIdentity}>
474
- <span
475
- className={styles.iconTile}
476
- aria-hidden="true"
477
- >
478
- <Icon path={icons.wallet} />
479
- </span>
480
- <WalletBalance
481
- label={labels.balance}
482
- wallet={wallet}
483
- />
484
- </div>
485
- <button
486
- type="button"
487
- className={`${styles.button} ${styles.primary}`}
488
- data-wallet-top-up
489
- disabled={pending}
490
- aria-label={labels.wallet.topUp}
491
- onClick={openTopUp}
492
- >
493
- <svg
494
- viewBox="0 0 20 20"
495
- fill="none"
496
- stroke="currentColor"
497
- strokeWidth="1.5"
498
- strokeLinecap="round"
499
- strokeLinejoin="round"
500
- aria-hidden="true"
501
- >
502
- <path d="M10 4.5v11M4.5 10h11" />
503
- </svg>
504
- {labels.wallet.topUpAction}
505
- </button>
506
- </div>
507
-
508
- {error ? (
509
- <p
510
- className={styles.notice}
511
- role="alert"
512
- >
513
- {error}
514
- </p>
515
- ) : null}
516
-
517
- {topUp ? (
518
- <WalletTopUpForm
519
- methods={methods}
520
- pending={pending}
521
- errors={fields}
522
- onSubmit={create}
523
- onCancel={() => setTopUp(false)}
524
- />
525
- ) : null}
526
-
527
- {payment ? (
528
- <PaymentPanel
529
- payment={payment}
530
- pending={pending}
531
- onRefresh={() => refreshPayment(false)}
532
- onClose={() => refreshPayment(true)}
533
- />
534
- ) : null}
535
-
536
- <section className={styles.panel}>
537
- <div className={styles.panelHeading}>
538
- <h2>
539
- <Icon path={icons.history} />
540
- {labels.wallet.history}
541
- </h2>
542
- <button
543
- className={styles.textButton}
544
- type="button"
545
- disabled={pending}
546
- onClick={() => load(pagination.page ?? 1)}
547
- >
548
- <svg
549
- className={styles.refreshIcon}
550
- viewBox="0 0 20 20"
551
- fill="none"
552
- stroke="currentColor"
553
- strokeWidth="1.5"
554
- strokeLinecap="round"
555
- strokeLinejoin="round"
556
- aria-hidden="true"
557
- >
558
- <path d="M15.5 8A6 6 0 0 0 4.7 6.5M4.5 3.5v3h3" />
559
- <path d="M4.5 12a6 6 0 0 0 10.8 1.5M15.5 16.5v-3h-3" />
560
- </svg>
561
- {labels.refresh}
562
- </button>
563
- </div>
564
-
565
- <nav
566
- className={styles.tabs}
567
- aria-label={labels.wallet.history}
568
- >
569
- {tabs.map((tab) => (
570
- <button
571
- className={styles.tab}
572
- key={tab}
573
- type="button"
574
- aria-current={category === tab ? 'page' : undefined}
575
- disabled={pending}
576
- onClick={() => selectCategory(tab)}
577
- >
578
- {labels.wallet[tab]}
579
- </button>
580
- ))}
581
- </nav>
582
-
583
- {pending && !loaded ? (
584
- <p
585
- className={`${styles.loading} op-feature-loading`}
586
- role="status"
587
- >
588
- <span className={styles.screenReaderOnly}>{labels.loading}</span>
589
- </p>
590
- ) : loaded && !invoices.length ? (
591
- <div className={styles.empty}>
592
- <OrionplaceEmptyState
593
- kind="wallet"
594
- message={labels.wallet.empty}
595
- />
596
- </div>
597
- ) : (
598
- <ul className={styles.rows}>
599
- {invoices.map((invoice) => {
600
- const relation = walletRelation(invoice);
601
- const link = relation ? relationLink(relation) : null;
602
- const purpose = walletPurpose(invoice);
603
- const comment = walletComment(invoice);
604
- const method = getAvailableNestedValueFromObject(
605
- invoice.payment_method?.locale,
606
- selections.localeCode,
607
- 'payment_name',
608
- );
609
- const methodLogo = invoice.payment_method?.logo;
610
- const purposeKey = purpose ?? 'invoice';
611
- const outgoing = walletOutgoing(purpose);
612
- const title = purpose
613
- ? labels.wallet.purpose[purpose]
614
- : labels.wallet.invoice;
615
- return (
616
- <li
617
- key={invoice.id}
618
- className={styles.row}
619
- data-wallet-invoice
620
- >
621
- <span
622
- className={`${styles.iconTile} ${styles.rowTile}`}
623
- aria-hidden="true"
624
- >
625
- {methodLogo ? (
626
- <OrionplaceImage
627
- src={methodLogo}
628
- alt=""
629
- width={40}
630
- height={40}
631
- ariaHidden
632
- />
633
- ) : (
634
- <Icon
635
- path={
636
- icons[purposeKey as WalletPurpose] ?? icons.invoice
637
- }
638
- />
639
- )}
640
- </span>
641
- <div className={styles.rowMain}>
642
- <div className={styles.rowHeading}>
643
- <span
644
- className={styles.number}
645
- data-wallet-invoice-number
646
- >
647
- {labels.wallet.invoice} #{invoice.id}
648
- </span>
649
- <span className={styles.meta}>
650
- {invoice.dates.created.date}{' '}
651
- {invoice.dates.created.time}
652
- {method ? (
653
- <>
654
- {' '}
655
- · <span data-wallet-method>{method}</span>
656
- </>
657
- ) : null}
658
- </span>
659
- </div>
660
- <p
661
- className={styles.purpose}
662
- data-wallet-purpose
663
- >
664
- {title}
665
- </p>
666
- {link ? (
667
- <a
668
- className={styles.relation}
669
- href={link.href}
670
- aria-label={link.hint}
671
- title={link.hint}
672
- >
673
- {link.label}
674
- </a>
675
- ) : null}
676
- </div>
677
- <div className={styles.amount}>
678
- <span
679
- className={styles.badge}
680
- data-tone={statusTone(invoice.status.int)}
681
- >
682
- {statusLabel(invoice.status)}
683
- </span>
684
- <span
685
- className={`${styles.amountValue} ${outgoing ? '' : amountClass(invoice.amount)}`.trim()}
686
- >
687
- {invoiceAmount(invoice.amount, outgoing)}
688
- </span>
689
- </div>
690
- <div className={styles.rowDetails}>
691
- {invoice.merchant_transaction_id || comment ? (
692
- <Reference
693
- transaction={invoice.merchant_transaction_id}
694
- comment={comment ?? ''}
695
- transactionLabel={labels.wallet.transactionId}
696
- commentLabel={labels.wallet.comment}
697
- />
698
- ) : null}
699
- {invoice.refunds?.length ? (
700
- <ul
701
- className={styles.refunds}
702
- aria-label={labels.wallet.refunds}
703
- data-wallet-refunds
704
- >
705
- {invoice.refunds.map((refund) => (
706
- <li
707
- key={refund.id}
708
- className={styles.refund}
709
- data-wallet-refund
710
- >
711
- <Icon path={icons.refund} />
712
- <div className={styles.refundCopy}>
713
- <div className={styles.rowHeading}>
714
- <span className={styles.number}>
715
- {labels.wallet.invoice} #{refund.id}
716
- </span>
717
- <span className={styles.meta}>
718
- {refund.dates.created.date}{' '}
719
- {refund.dates.created.time}
720
- </span>
721
- </div>
722
- <p>
723
- {labels.wallet.purpose.refund} ·{' '}
724
- {refund.to_balance
725
- ? labels.wallet.refundToBalance
726
- : labels.wallet.refundToMethod}
727
- </p>
728
- </div>
729
- <div className={styles.amount}>
730
- <span
731
- className={styles.badge}
732
- data-tone={statusTone(refund.status.int)}
733
- >
734
- {statusLabel(refund.status)}
735
- </span>
736
- <span
737
- className={`${styles.amountValue} ${amountClass(refund.amount)}`.trim()}
738
- >
739
- {money(refund.amount)}
740
- </span>
741
- </div>
742
- {refund.merchant_transaction_id ||
743
- refund.comment ? (
744
- <div className={styles.refundReference}>
745
- <Reference
746
- transaction={refund.merchant_transaction_id}
747
- comment={refund.comment}
748
- transactionLabel={labels.wallet.transactionId}
749
- commentLabel={labels.wallet.comment}
750
- />
751
- </div>
752
- ) : null}
753
- </li>
754
- ))}
755
- </ul>
756
- ) : null}
757
- <div className={styles.actions}>
758
- {invoice.status.int === EInvoiceStatus.CREATED &&
759
- invoice.payment_generated_link ? (
760
- <button
761
- className={styles.button}
762
- type="button"
763
- data-invoice-pay
764
- disabled={pending}
765
- onClick={() =>
766
- setPayment({
767
- link: invoice.payment_generated_link,
768
- link_type: invoice.link_type,
769
- })
770
- }
771
- >
772
- <svg
773
- viewBox="0 0 20 20"
774
- fill="none"
775
- stroke="currentColor"
776
- strokeWidth="1.5"
777
- strokeLinecap="round"
778
- strokeLinejoin="round"
779
- aria-hidden="true"
780
- >
781
- <rect
782
- x="2.5"
783
- y="4.5"
784
- width="15"
785
- height="11"
786
- />
787
- <path d="M2.5 8h15M5.5 12.5h3" />
788
- </svg>
789
- {labels.wallet.pay}
790
- </button>
791
- ) : null}
792
- {invoice.status.int === EInvoiceStatus.CREATED &&
793
- invoice.transaction_type === 'wallet' ? (
794
- <button
795
- className={styles.button}
796
- type="button"
797
- disabled={pending}
798
- data-invoice-cancel
799
- onClick={() => setConfirmation(invoice.id)}
800
- >
801
- <svg
802
- viewBox="0 0 20 20"
803
- fill="none"
804
- stroke="currentColor"
805
- strokeWidth="1.5"
806
- strokeLinecap="round"
807
- strokeLinejoin="round"
808
- aria-hidden="true"
809
- >
810
- <circle
811
- cx="10"
812
- cy="10"
813
- r="7.5"
814
- />
815
- <path d="M7.5 7.5l5 5m0-5-5 5" />
816
- </svg>
817
- {labels.wallet.cancelInvoice}
818
- </button>
819
- ) : null}
820
- </div>
821
- {confirmation === invoice.id ? (
822
- <div className={styles.confirmation}>
823
- <p>{labels.wallet.cancelQuestion}</p>
824
- <div className={styles.confirmationActions}>
825
- <button
826
- className={styles.button}
827
- type="button"
828
- disabled={pending}
829
- onClick={() => cancel(invoice)}
830
- >
831
- <svg
832
- viewBox="0 0 20 20"
833
- fill="none"
834
- stroke="currentColor"
835
- strokeWidth="1.5"
836
- strokeLinecap="round"
837
- strokeLinejoin="round"
838
- aria-hidden="true"
839
- >
840
- <circle
841
- cx="10"
842
- cy="10"
843
- r="7.5"
844
- />
845
- <path d="M7.5 7.5l5 5m0-5-5 5" />
846
- </svg>
847
- {labels.wallet.cancelInvoice}
848
- </button>
849
- <button
850
- className={styles.button}
851
- type="button"
852
- disabled={pending}
853
- onClick={() => setConfirmation(undefined)}
854
- >
855
- <svg
856
- viewBox="0 0 20 20"
857
- fill="none"
858
- stroke="currentColor"
859
- strokeWidth="1.5"
860
- strokeLinecap="round"
861
- strokeLinejoin="round"
862
- aria-hidden="true"
863
- >
864
- <path d="M16 10H4m4-4-4 4 4 4" />
865
- </svg>
866
- {labels.back}
867
- </button>
868
- </div>
869
- </div>
870
- ) : null}
871
- </div>
872
- </li>
873
- );
874
- })}
875
- </ul>
876
- )}
877
- </section>
878
-
879
- <StorefrontPagination
880
- pagination={pagination}
881
- pending={pending}
882
- onChange={(page) => load(page)}
883
- />
884
- </section>
885
- );
886
- }
887
-
888
- function Reference({
889
- transaction,
890
- comment,
891
- transactionLabel,
892
- commentLabel,
893
- }: {
894
- transaction: string;
895
- comment: string;
896
- transactionLabel: string;
897
- commentLabel: string;
898
- }) {
899
- return (
900
- <dl className={styles.reference}>
901
- {transaction ? (
902
- <div>
903
- <dt>{transactionLabel}</dt>
904
- <dd>{transaction}</dd>
905
- </div>
906
- ) : null}
907
- {comment ? (
908
- <div className={styles.note}>
909
- <dt>{commentLabel}</dt>
910
- <dd>{comment}</dd>
911
- </div>
912
- ) : null}
913
- </dl>
914
- );
915
- }