orionplace-nuxt 0.1.2 → 0.2.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 (520) hide show
  1. package/README.md +711 -24
  2. package/bin/orionplace-nuxt.mjs +39 -11
  3. package/package.json +26 -6
  4. package/runtime/api.mjs +4 -1
  5. package/runtime/domain.mjs +4 -2
  6. package/runtime/marketplace.mjs +287 -211
  7. package/src/asset-loading-plugin.mjs +10 -0
  8. package/src/module.mjs +44 -14
  9. package/src/project-readme.mjs +507 -35
  10. package/src/setup.mjs +100 -51
  11. package/src/update.mjs +36 -0
  12. package/src/validation.mjs +6 -0
  13. package/templates/.vscode/settings.json +5 -0
  14. package/templates/app/app.vue +48 -0
  15. package/templates/app/assets/css/orionplace-tokens.css +21 -0
  16. package/templates/app/assets/css/orionplace.css +28 -0
  17. package/templates/app/components/orionplace/account/AccountActivity.README.md +31 -0
  18. package/templates/app/components/orionplace/account/AccountActivity.vue +61 -0
  19. package/templates/app/components/orionplace/account/AccountPromocodes.README.md +50 -0
  20. package/templates/app/components/orionplace/account/AccountPromocodes.vue +267 -0
  21. package/templates/app/components/orionplace/account/AccountSection.README.md +31 -0
  22. package/templates/app/components/orionplace/account/AccountSection.vue +132 -0
  23. package/templates/app/components/orionplace/account/ProfileAvatar.vue +139 -0
  24. package/templates/app/components/orionplace/account/ProfileDeleteAccount.vue +161 -0
  25. package/templates/app/components/orionplace/account/ProfileDetailsForm.vue +172 -0
  26. package/templates/app/components/orionplace/account/ProfileEmailSettings.vue +269 -0
  27. package/templates/app/components/orionplace/account/ProfilePasswordForm.vue +201 -0
  28. package/templates/app/components/orionplace/account/ProfileSignIn.vue +446 -0
  29. package/templates/app/components/orionplace/account/SignInHistory.README.md +27 -0
  30. package/templates/app/components/orionplace/account/SignInHistory.vue +218 -0
  31. package/templates/app/components/orionplace/account/StorefrontLogout.README.md +15 -0
  32. package/templates/app/components/orionplace/account/StorefrontLogout.vue +109 -0
  33. package/templates/app/components/orionplace/account/StorefrontProfile.README.md +145 -0
  34. package/templates/app/components/orionplace/account/StorefrontProfile.vue +168 -0
  35. package/templates/app/components/orionplace/account/account.css +1047 -0
  36. package/templates/app/components/orionplace/account/profile.css +696 -0
  37. package/templates/app/components/orionplace/address/AddressForm.README.md +67 -0
  38. package/templates/app/components/orionplace/address/AddressForm.vue +537 -0
  39. package/templates/app/components/orionplace/address/StorefrontAddresses.README.md +44 -0
  40. package/templates/app/components/orionplace/address/StorefrontAddresses.vue +438 -0
  41. package/templates/app/components/orionplace/banners/MainBanner.vue +171 -0
  42. package/templates/app/components/orionplace/banners/examples/BannerExample.vue +6 -0
  43. package/templates/app/components/orionplace/blog/BlogArticle.README.md +44 -0
  44. package/templates/app/components/orionplace/blog/BlogArticle.vue +829 -0
  45. package/templates/app/components/orionplace/blog/BlogCommentForm.README.md +28 -0
  46. package/templates/app/components/orionplace/blog/BlogCommentForm.vue +129 -0
  47. package/templates/app/components/orionplace/blog/BlogComments.README.md +36 -0
  48. package/templates/app/components/orionplace/blog/BlogComments.vue +373 -0
  49. package/templates/app/components/orionplace/blog/BlogPostCard.vue +307 -0
  50. package/templates/app/components/orionplace/blog/BlogPostGroup.vue +108 -0
  51. package/templates/app/components/orionplace/blog/StorefrontJournal.README.md +42 -0
  52. package/templates/app/components/orionplace/blog/StorefrontJournal.vue +669 -0
  53. package/templates/app/components/orionplace/branding/BrandLogos.vue +25 -0
  54. package/templates/app/components/orionplace/branding/examples/BrandLogosExample.vue +6 -0
  55. package/templates/app/components/orionplace/cart/CartCheckoutDetails.README.md +81 -0
  56. package/templates/app/components/orionplace/cart/CartCheckoutDetails.vue +367 -0
  57. package/templates/app/components/orionplace/cart/CartDeliverySelector.README.md +95 -0
  58. package/templates/app/components/orionplace/cart/CartDeliverySelector.vue +724 -0
  59. package/templates/app/components/orionplace/cart/CartItemOptions.README.md +98 -0
  60. package/templates/app/components/orionplace/cart/CartItemOptions.vue +693 -0
  61. package/templates/app/components/orionplace/cart/CartLineItem.README.md +70 -0
  62. package/templates/app/components/orionplace/cart/CartLineItem.vue +271 -0
  63. package/templates/app/components/orionplace/cart/CartPreview.README.md +43 -0
  64. package/templates/app/components/orionplace/cart/CartPreview.vue +263 -0
  65. package/templates/app/components/orionplace/cart/DeliveryMap.README.md +48 -0
  66. package/templates/app/components/orionplace/cart/DeliveryMap.vue +155 -0
  67. package/templates/app/components/orionplace/cart/StorefrontCart.README.md +89 -0
  68. package/templates/app/components/orionplace/cart/StorefrontCart.vue +689 -0
  69. package/templates/app/components/orionplace/catalog/CatalogHeader.vue +681 -0
  70. package/templates/app/components/orionplace/catalog/CatalogRepresentative.vue +59 -0
  71. package/templates/app/components/orionplace/catalog/StorefrontCatalog.README.md +35 -0
  72. package/templates/app/components/orionplace/catalog/StorefrontCatalog.vue +179 -0
  73. package/templates/app/components/orionplace/catalog/examples/CatalogHeaderExample.vue +6 -0
  74. package/templates/app/components/orionplace/categories/CategoryGroup.vue +125 -0
  75. package/templates/app/components/orionplace/categories/StorefrontCategory.README.md +60 -0
  76. package/templates/app/components/orionplace/categories/StorefrontCategory.vue +277 -0
  77. package/templates/app/components/orionplace/categories/examples/CategoryGroupExample.vue +7 -0
  78. package/templates/app/components/orionplace/contact/AboutPage.README.md +23 -0
  79. package/templates/app/components/orionplace/contact/AboutPage.vue +409 -0
  80. package/templates/app/components/orionplace/contact/ContactForm.README.md +29 -0
  81. package/templates/app/components/orionplace/contact/ContactForm.vue +289 -0
  82. package/templates/app/components/orionplace/contact/EmailUnsubscribe.README.md +27 -0
  83. package/templates/app/components/orionplace/contact/EmailUnsubscribe.vue +95 -0
  84. package/templates/app/components/orionplace/contact/StorefrontContact.README.md +18 -0
  85. package/templates/app/components/orionplace/contact/StorefrontContact.vue +89 -0
  86. package/templates/app/components/orionplace/contact/examples/ContactExample.vue +6 -0
  87. package/templates/app/components/orionplace/currencies/MainCurrencySwitcher.vue +80 -0
  88. package/templates/app/components/orionplace/currencies/examples/CurrencyExample.vue +6 -0
  89. package/templates/app/components/orionplace/events/EventEnrollmentDialog.README.md +58 -0
  90. package/templates/app/components/orionplace/events/EventEnrollmentDialog.vue +294 -0
  91. package/templates/app/components/orionplace/events/EventsBlock.vue +138 -0
  92. package/templates/app/components/orionplace/events/examples/EventsExample.vue +6 -0
  93. package/templates/app/components/orionplace/locale/MainLanguageSwitcher.vue +506 -0
  94. package/templates/app/components/orionplace/locale/examples/LocaleExample.vue +6 -0
  95. package/templates/app/components/orionplace/manufacturers/ManufacturerIndex.README.md +36 -0
  96. package/templates/app/components/orionplace/manufacturers/ManufacturerIndex.vue +495 -0
  97. package/templates/app/components/orionplace/manufacturers/StorefrontManufacturers.README.md +30 -0
  98. package/templates/app/components/orionplace/manufacturers/StorefrontManufacturers.vue +263 -0
  99. package/templates/app/components/orionplace/orders/OrderDetails.README.md +39 -0
  100. package/templates/app/components/orionplace/orders/OrderDetails.vue +1074 -0
  101. package/templates/app/components/orionplace/orders/OrderPaymentForm.README.md +59 -0
  102. package/templates/app/components/orionplace/orders/OrderPaymentForm.vue +73 -0
  103. package/templates/app/components/orionplace/orders/StorefrontOrders.README.md +39 -0
  104. package/templates/app/components/orionplace/orders/StorefrontOrders.vue +869 -0
  105. package/templates/app/components/orionplace/orders/orders.css +612 -0
  106. package/templates/app/components/orionplace/payments/PaymentPanel.README.md +76 -0
  107. package/templates/app/components/orionplace/payments/PaymentPanel.vue +108 -0
  108. package/templates/app/components/orionplace/products/HoverImageViewer.vue +190 -0
  109. package/templates/app/components/orionplace/products/ProductCard.README.md +63 -0
  110. package/templates/app/components/orionplace/products/ProductCard.vue +897 -0
  111. package/templates/app/components/orionplace/products/ProductCardActions.README.md +33 -0
  112. package/templates/app/components/orionplace/products/ProductCardActions.vue +412 -0
  113. package/templates/app/components/orionplace/products/ProductCardBadges.vue +83 -0
  114. package/templates/app/components/orionplace/products/ProductCardDescription.vue +46 -0
  115. package/templates/app/components/orionplace/products/ProductCardFavorite.vue +99 -0
  116. package/templates/app/components/orionplace/products/ProductCardPrice.vue +66 -0
  117. package/templates/app/components/orionplace/products/ProductCardRating.vue +65 -0
  118. package/templates/app/components/orionplace/products/ProductCardSeller.vue +66 -0
  119. package/templates/app/components/orionplace/products/ProductCardStockNotice.vue +43 -0
  120. package/templates/app/components/orionplace/products/ProductCardTitle.vue +46 -0
  121. package/templates/app/components/orionplace/products/ProductCardVariants.vue +388 -0
  122. package/templates/app/components/orionplace/products/ProductGroup.vue +257 -0
  123. package/templates/app/components/orionplace/products/ProductPreorderDialog.README.md +22 -0
  124. package/templates/app/components/orionplace/products/ProductPreorderDialog.vue +471 -0
  125. package/templates/app/components/orionplace/products/ProductReviewForm.README.md +39 -0
  126. package/templates/app/components/orionplace/products/ProductReviewForm.vue +312 -0
  127. package/templates/app/components/orionplace/products/ProductReviewGallery.README.md +28 -0
  128. package/templates/app/components/orionplace/products/ProductReviewGallery.vue +141 -0
  129. package/templates/app/components/orionplace/products/ProductReviewImageViewer.README.md +51 -0
  130. package/templates/app/components/orionplace/products/ProductReviewImageViewer.vue +351 -0
  131. package/templates/app/components/orionplace/products/ProductReviews.README.md +70 -0
  132. package/templates/app/components/orionplace/products/ProductReviews.vue +1025 -0
  133. package/templates/app/components/orionplace/products/ProductSecondaryVariantModal.vue +460 -0
  134. package/templates/app/components/orionplace/products/ProductSpecificationsDialog.README.md +65 -0
  135. package/templates/app/components/orionplace/products/ProductSpecificationsDialog.vue +174 -0
  136. package/templates/app/components/orionplace/products/StorefrontProduct.README.md +52 -0
  137. package/templates/app/components/orionplace/products/StorefrontProduct.vue +1466 -0
  138. package/templates/app/components/orionplace/products/StorefrontWishlist.README.md +33 -0
  139. package/templates/app/components/orionplace/products/StorefrontWishlist.vue +290 -0
  140. package/templates/app/components/orionplace/products/examples/FeaturedExample.vue +6 -0
  141. package/templates/app/components/orionplace/products/examples/FeaturedHoverImageViewerExample.vue +14 -0
  142. package/templates/app/components/orionplace/products/examples/FeaturedProductCardActionsExample.vue +14 -0
  143. package/templates/app/components/orionplace/products/examples/FeaturedProductCardBadgesExample.vue +14 -0
  144. package/templates/app/components/orionplace/products/examples/FeaturedProductCardDescriptionExample.vue +14 -0
  145. package/templates/app/components/orionplace/products/examples/FeaturedProductCardExample.vue +14 -0
  146. package/templates/app/components/orionplace/products/examples/FeaturedProductCardFavoriteExample.vue +14 -0
  147. package/templates/app/components/orionplace/products/examples/FeaturedProductCardPriceExample.vue +14 -0
  148. package/templates/app/components/orionplace/products/examples/FeaturedProductCardRatingExample.vue +14 -0
  149. package/templates/app/components/orionplace/products/examples/FeaturedProductCardSellerExample.vue +14 -0
  150. package/templates/app/components/orionplace/products/examples/FeaturedProductCardStockNoticeExample.vue +14 -0
  151. package/templates/app/components/orionplace/products/examples/FeaturedProductCardTitleExample.vue +14 -0
  152. package/templates/app/components/orionplace/products/examples/FeaturedProductCardVariantsExample.vue +14 -0
  153. package/templates/app/components/orionplace/products/examples/ProductsExample.vue +6 -0
  154. package/templates/app/components/orionplace/products/examples/ProductsHoverImageViewerExample.vue +13 -0
  155. package/templates/app/components/orionplace/products/examples/ProductsProductCardActionsExample.vue +13 -0
  156. package/templates/app/components/orionplace/products/examples/ProductsProductCardBadgesExample.vue +13 -0
  157. package/templates/app/components/orionplace/products/examples/ProductsProductCardDescriptionExample.vue +13 -0
  158. package/templates/app/components/orionplace/products/examples/ProductsProductCardExample.vue +13 -0
  159. package/templates/app/components/orionplace/products/examples/ProductsProductCardFavoriteExample.vue +13 -0
  160. package/templates/app/components/orionplace/products/examples/ProductsProductCardPriceExample.vue +13 -0
  161. package/templates/app/components/orionplace/products/examples/ProductsProductCardRatingExample.vue +13 -0
  162. package/templates/app/components/orionplace/products/examples/ProductsProductCardSellerExample.vue +13 -0
  163. package/templates/app/components/orionplace/products/examples/ProductsProductCardStockNoticeExample.vue +13 -0
  164. package/templates/app/components/orionplace/products/examples/ProductsProductCardTitleExample.vue +13 -0
  165. package/templates/app/components/orionplace/products/examples/ProductsProductCardVariantsExample.vue +13 -0
  166. package/templates/app/components/orionplace/promo/PromoProducts.README.md +45 -0
  167. package/templates/app/components/orionplace/promo/PromoProducts.vue +287 -0
  168. package/templates/app/components/orionplace/search/MainSearch.vue +342 -0
  169. package/templates/app/components/orionplace/search/ProductSearchResults.README.md +81 -0
  170. package/templates/app/components/orionplace/search/ProductSearchResults.vue +458 -0
  171. package/templates/app/components/orionplace/search/SearchFilters.vue +546 -0
  172. package/templates/app/components/orionplace/search/examples/MainSearchExample.vue +6 -0
  173. package/templates/app/components/orionplace/sellers/SellerFilters.README.md +32 -0
  174. package/templates/app/components/orionplace/sellers/SellerFilters.vue +317 -0
  175. package/templates/app/components/orionplace/sellers/SellerPhotoGallery.README.md +45 -0
  176. package/templates/app/components/orionplace/sellers/SellerPhotoGallery.vue +406 -0
  177. package/templates/app/components/orionplace/sellers/SellerSummary.README.md +33 -0
  178. package/templates/app/components/orionplace/sellers/SellerSummary.vue +162 -0
  179. package/templates/app/components/orionplace/sellers/StorefrontSellers.README.md +73 -0
  180. package/templates/app/components/orionplace/sellers/StorefrontSellers.vue +300 -0
  181. package/templates/app/components/orionplace/shared/OrionplaceAvatar.README.md +30 -0
  182. package/templates/app/components/orionplace/shared/OrionplaceAvatar.vue +83 -0
  183. package/templates/app/components/orionplace/shared/OrionplaceBreadcrumbs.README.md +65 -0
  184. package/templates/app/components/orionplace/shared/OrionplaceBreadcrumbs.vue +118 -0
  185. package/templates/app/components/orionplace/shared/OrionplaceEmptyState.README.md +38 -0
  186. package/templates/app/components/orionplace/shared/OrionplaceEmptyState.vue +143 -0
  187. package/templates/app/components/orionplace/shared/OrionplaceImage.vue +84 -0
  188. package/templates/app/components/orionplace/shared/OrionplaceInfoHint.README.md +32 -0
  189. package/templates/app/components/orionplace/shared/OrionplaceInfoHint.vue +158 -0
  190. package/templates/app/components/orionplace/shared/OrionplacePasswordInput.README.md +30 -0
  191. package/templates/app/components/orionplace/shared/OrionplacePasswordInput.vue +197 -0
  192. package/templates/app/components/orionplace/shared/OrionplaceSearchSelect.README.md +38 -0
  193. package/templates/app/components/orionplace/shared/OrionplaceSearchSelect.vue +411 -0
  194. package/templates/app/components/orionplace/shared/OrionplaceSelect.README.md +31 -0
  195. package/templates/app/components/orionplace/shared/OrionplaceSelect.vue +525 -0
  196. package/templates/app/components/orionplace/shared/StorefrontErrorPage.README.md +55 -0
  197. package/templates/app/components/orionplace/shared/StorefrontErrorPage.vue +151 -0
  198. package/templates/app/components/orionplace/shared/StorefrontPagination.README.md +45 -0
  199. package/templates/app/components/orionplace/shared/StorefrontPagination.vue +101 -0
  200. package/templates/app/components/orionplace/shared/dialogs.css +36 -0
  201. package/templates/app/components/orionplace/shared/features.css +364 -0
  202. package/templates/app/components/orionplace/social/SocialLinks.vue +72 -0
  203. package/templates/app/components/orionplace/social/examples/SocialLinksExample.vue +6 -0
  204. package/templates/app/components/orionplace/storefront/StorefrontAccount.README.md +47 -0
  205. package/templates/app/components/orionplace/storefront/StorefrontAccount.vue +332 -0
  206. package/templates/app/components/orionplace/storefront/StorefrontCartButton.vue +68 -0
  207. package/templates/app/components/orionplace/storefront/StorefrontFooter.README.md +26 -0
  208. package/templates/app/components/orionplace/storefront/StorefrontFooter.vue +222 -0
  209. package/templates/app/components/orionplace/storefront/StorefrontHeader.README.md +93 -0
  210. package/templates/app/components/orionplace/storefront/StorefrontHeader.vue +509 -0
  211. package/templates/app/components/orionplace/storefront/StorefrontHome.README.md +79 -0
  212. package/templates/app/components/orionplace/storefront/StorefrontHome.vue +315 -0
  213. package/templates/app/components/orionplace/storefront/StorefrontWishlistButton.vue +105 -0
  214. package/templates/app/components/orionplace/storefront/examples/StorefrontAccountExample.vue +7 -0
  215. package/templates/app/components/orionplace/stores/StorefrontStores.README.md +41 -0
  216. package/templates/app/components/orionplace/stores/StorefrontStores.vue +345 -0
  217. package/templates/app/components/orionplace/subscriptions/StorefrontSubscriptions.README.md +151 -0
  218. package/templates/app/components/orionplace/subscriptions/StorefrontSubscriptions.vue +851 -0
  219. package/templates/app/components/orionplace/subscriptions/StorefrontTariff.README.md +38 -0
  220. package/templates/app/components/orionplace/subscriptions/StorefrontTariff.vue +535 -0
  221. package/templates/app/components/orionplace/subscriptions/StorefrontTariffs.README.md +36 -0
  222. package/templates/app/components/orionplace/subscriptions/StorefrontTariffs.vue +395 -0
  223. package/templates/app/components/orionplace/subscriptions/SubscriptionCancelDialog.README.md +39 -0
  224. package/templates/app/components/orionplace/subscriptions/SubscriptionCancelDialog.vue +292 -0
  225. package/templates/app/components/orionplace/subscriptions/SubscriptionChangeDialog.README.md +85 -0
  226. package/templates/app/components/orionplace/subscriptions/SubscriptionChangeDialog.vue +874 -0
  227. package/templates/app/components/orionplace/subscriptions/SubscriptionExtendDialog.README.md +53 -0
  228. package/templates/app/components/orionplace/subscriptions/SubscriptionExtendDialog.vue +536 -0
  229. package/templates/app/components/orionplace/subscriptions/SubscriptionPlanSummary.README.md +101 -0
  230. package/templates/app/components/orionplace/subscriptions/SubscriptionPlanSummary.vue +286 -0
  231. package/templates/app/components/orionplace/subscriptions/SubscriptionRemoteDetails.README.md +138 -0
  232. package/templates/app/components/orionplace/subscriptions/SubscriptionRemoteDetails.vue +134 -0
  233. package/templates/app/components/orionplace/subscriptions/SubscriptionRenewalDialog.README.md +85 -0
  234. package/templates/app/components/orionplace/subscriptions/SubscriptionRenewalDialog.vue +364 -0
  235. package/templates/app/components/orionplace/support/StorefrontSupport.README.md +39 -0
  236. package/templates/app/components/orionplace/support/StorefrontSupport.vue +484 -0
  237. package/templates/app/components/orionplace/support/TicketConversation.README.md +38 -0
  238. package/templates/app/components/orionplace/support/TicketConversation.vue +524 -0
  239. package/templates/app/components/orionplace/support/TicketImage.README.md +27 -0
  240. package/templates/app/components/orionplace/support/TicketImage.vue +186 -0
  241. package/templates/app/components/orionplace/support/TicketItemCard.README.md +59 -0
  242. package/templates/app/components/orionplace/support/TicketItemCard.vue +177 -0
  243. package/templates/app/components/orionplace/support/TicketMessageForm.README.md +35 -0
  244. package/templates/app/components/orionplace/support/TicketMessageForm.vue +258 -0
  245. package/templates/app/components/orionplace/support/TicketSubscriptionCard.README.md +40 -0
  246. package/templates/app/components/orionplace/support/TicketSubscriptionCard.vue +154 -0
  247. package/templates/app/components/orionplace/tariffs/TariffCard.README.md +12 -0
  248. package/templates/app/components/orionplace/tariffs/TariffCard.vue +241 -0
  249. package/templates/app/components/orionplace/tariffs/TariffCardDescription.README.md +12 -0
  250. package/templates/app/components/orionplace/tariffs/TariffCardDescription.vue +97 -0
  251. package/templates/app/components/orionplace/tariffs/TariffCardFeatures.README.md +14 -0
  252. package/templates/app/components/orionplace/tariffs/TariffCardFeatures.vue +172 -0
  253. package/templates/app/components/orionplace/tariffs/TariffCardImage.README.md +12 -0
  254. package/templates/app/components/orionplace/tariffs/TariffCardImage.vue +33 -0
  255. package/templates/app/components/orionplace/tariffs/TariffCardPrices.README.md +12 -0
  256. package/templates/app/components/orionplace/tariffs/TariffCardPrices.vue +280 -0
  257. package/templates/app/components/orionplace/tariffs/TariffCardTitle.README.md +12 -0
  258. package/templates/app/components/orionplace/tariffs/TariffCardTitle.vue +30 -0
  259. package/templates/app/components/orionplace/tariffs/TariffCards.README.md +12 -0
  260. package/templates/app/components/orionplace/tariffs/TariffCards.vue +94 -0
  261. package/templates/app/components/orionplace/tariffs/TariffSubscriptionModal.README.md +31 -0
  262. package/templates/app/components/orionplace/tariffs/TariffSubscriptionModal.vue +411 -0
  263. package/templates/app/components/orionplace/tariffs/examples/TariffCardDescriptionExample.vue +13 -0
  264. package/templates/app/components/orionplace/tariffs/examples/TariffCardExample.vue +13 -0
  265. package/templates/app/components/orionplace/tariffs/examples/TariffCardFeaturesExample.vue +14 -0
  266. package/templates/app/components/orionplace/tariffs/examples/TariffCardImageExample.vue +13 -0
  267. package/templates/app/components/orionplace/tariffs/examples/TariffCardPricesExample.vue +13 -0
  268. package/templates/app/components/orionplace/tariffs/examples/TariffCardTitleExample.vue +13 -0
  269. package/templates/app/components/orionplace/tariffs/examples/TariffCardsExample.vue +6 -0
  270. package/templates/app/components/orionplace/theme/OrionplaceThemeProvider.vue +38 -0
  271. package/templates/app/components/orionplace/units/UnitSwitcher.vue +71 -0
  272. package/templates/app/components/orionplace/units/examples/LengthExample.vue +6 -0
  273. package/templates/app/components/orionplace/units/examples/WeightExample.vue +6 -0
  274. package/templates/app/components/orionplace/wallet/StorefrontWallet.README.md +117 -0
  275. package/templates/app/components/orionplace/wallet/StorefrontWallet.vue +863 -0
  276. package/templates/app/components/orionplace/wallet/WalletBalance.vue +47 -0
  277. package/templates/app/components/orionplace/wallet/WalletTopUpForm.README.md +32 -0
  278. package/templates/app/components/orionplace/wallet/WalletTopUpForm.vue +224 -0
  279. package/templates/app/components/orionplace/wallet/examples/WalletExample.vue +6 -0
  280. package/templates/app/composables/useOrionplaceActionMenu.ts +126 -0
  281. package/templates/app/composables/useOrionplaceAddressEditor.ts +343 -0
  282. package/templates/app/composables/useOrionplaceAddresses.ts +75 -0
  283. package/templates/app/composables/useOrionplaceApi.ts +174 -0
  284. package/templates/app/composables/useOrionplaceAppLoad.ts +74 -0
  285. package/templates/app/composables/useOrionplaceBlogComments.ts +325 -0
  286. package/templates/app/composables/useOrionplaceBlogReading.ts +270 -0
  287. package/templates/app/composables/useOrionplaceCart.ts +226 -0
  288. package/templates/app/composables/useOrionplaceCartPreview.ts +142 -0
  289. package/templates/app/composables/useOrionplaceCategoryLink.ts +24 -0
  290. package/templates/app/composables/useOrionplaceCategoryProducts.ts +16 -0
  291. package/templates/app/composables/useOrionplaceFeature.ts +100 -0
  292. package/templates/app/composables/useOrionplaceFeaturedProducts.ts +14 -0
  293. package/templates/app/composables/useOrionplaceGeolocation.ts +28 -0
  294. package/templates/app/composables/useOrionplaceHomeProducts.ts +90 -0
  295. package/templates/app/composables/useOrionplaceManufacturerIndex.ts +83 -0
  296. package/templates/app/composables/useOrionplaceMap.ts +240 -0
  297. package/templates/app/composables/useOrionplaceMediaFormat.ts +24 -0
  298. package/templates/app/composables/useOrionplaceMissingPage.ts +67 -0
  299. package/templates/app/composables/useOrionplaceOrders.ts +185 -0
  300. package/templates/app/composables/useOrionplacePageSeo.ts +38 -0
  301. package/templates/app/composables/useOrionplaceProductActions.ts +116 -0
  302. package/templates/app/composables/useOrionplaceProductLink.ts +24 -0
  303. package/templates/app/composables/useOrionplaceProductSearch.ts +259 -0
  304. package/templates/app/composables/useOrionplaceProductVariants.ts +176 -0
  305. package/templates/app/composables/useOrionplaceProfile.ts +309 -0
  306. package/templates/app/composables/useOrionplaceProgress.ts +89 -0
  307. package/templates/app/composables/useOrionplaceReviews.ts +242 -0
  308. package/templates/app/composables/useOrionplaceSearchHistory.ts +23 -0
  309. package/templates/app/composables/useOrionplaceSearchScopeNames.ts +99 -0
  310. package/templates/app/composables/useOrionplaceServerData.ts +72 -0
  311. package/templates/app/composables/useOrionplaceSignIn.ts +66 -0
  312. package/templates/app/composables/useOrionplaceStableHeight.ts +69 -0
  313. package/templates/app/composables/useOrionplaceStorefront.ts +29 -0
  314. package/templates/app/composables/useOrionplaceSubscriptions.ts +217 -0
  315. package/templates/app/composables/useOrionplaceTheme.ts +27 -0
  316. package/templates/app/composables/useOrionplaceTicketSubject.ts +180 -0
  317. package/templates/app/composables/useOrionplaceTickets.ts +335 -0
  318. package/templates/app/composables/useOrionplaceWallet.ts +166 -0
  319. package/templates/app/error.vue +108 -0
  320. package/templates/app/interfaces/orionplace/accounts/IContact.ts +21 -0
  321. package/templates/app/interfaces/orionplace/accounts/IEmailNotificationLocale.ts +17 -0
  322. package/templates/app/interfaces/orionplace/accounts/IEmailVerification.ts +59 -0
  323. package/templates/app/interfaces/orionplace/accounts/IProfileActions.ts +38 -0
  324. package/templates/app/interfaces/orionplace/accounts/IProfileData.ts +123 -0
  325. package/templates/app/interfaces/orionplace/accounts/IProfileMedia.ts +17 -0
  326. package/templates/app/interfaces/orionplace/accounts/IStorefrontProfile.ts +54 -0
  327. package/templates/app/interfaces/orionplace/address/IAddressCitySuggestion.ts +19 -0
  328. package/templates/app/interfaces/orionplace/address/IAddressEditor.ts +9 -0
  329. package/templates/app/interfaces/orionplace/address/IAddressLocationSuggestion.ts +22 -0
  330. package/templates/app/interfaces/orionplace/address/IAddressRegionSearch.ts +30 -0
  331. package/templates/app/interfaces/orionplace/address/IAddressSuggestion.ts +20 -0
  332. package/templates/app/interfaces/orionplace/address/IUserAddress.ts +87 -0
  333. package/templates/app/interfaces/orionplace/apiBase/TMethod.ts +1 -0
  334. package/templates/app/interfaces/orionplace/appBase/IAppLoad.ts +16 -0
  335. package/templates/app/interfaces/orionplace/appBase/IAppLoadCommon.ts +45 -0
  336. package/templates/app/interfaces/orionplace/appBase/IApploadUserProfile.ts +13 -0
  337. package/templates/app/interfaces/orionplace/appBase/IForm.ts +21 -0
  338. package/templates/app/interfaces/orionplace/appBase/ISEO.ts +21 -0
  339. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonBanner.ts +11 -0
  340. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonContact.ts +8 -0
  341. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonCurrency.ts +15 -0
  342. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonEvents.ts +18 -0
  343. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLocale.ts +14 -0
  344. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonLogos.ts +6 -0
  345. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonPath.ts +22 -0
  346. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSEO.ts +26 -0
  347. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonSocial.ts +15 -0
  348. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonTariff.ts +7 -0
  349. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonUnit.ts +12 -0
  350. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVariables.ts +8 -0
  351. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonVisualSettings.ts +11 -0
  352. package/templates/app/interfaces/orionplace/appBase/appLoadCommon/IAppLoadCommonWalletValue.ts +3 -0
  353. package/templates/app/interfaces/orionplace/blog/IBlogApi.ts +247 -0
  354. package/templates/app/interfaces/orionplace/blog/IBlogPostPreview.ts +30 -0
  355. package/templates/app/interfaces/orionplace/cart/ICartActions.ts +67 -0
  356. package/templates/app/interfaces/orionplace/cart/ICartData.ts +382 -0
  357. package/templates/app/interfaces/orionplace/cart/ICartDeliveryActions.ts +68 -0
  358. package/templates/app/interfaces/orionplace/cart/ICartModal.ts +22 -0
  359. package/templates/app/interfaces/orionplace/cart/IDeliveryMap.ts +29 -0
  360. package/templates/app/interfaces/orionplace/catalog/ICatalogDirectory.ts +75 -0
  361. package/templates/app/interfaces/orionplace/category/ICategory.ts +41 -0
  362. package/templates/app/interfaces/orionplace/domains/IDomain.ts +13 -0
  363. package/templates/app/interfaces/orionplace/forms/ICustomerSubfilter.ts +19 -0
  364. package/templates/app/interfaces/orionplace/index.ts +57 -0
  365. package/templates/app/interfaces/orionplace/marketing/IPromoActions.ts +51 -0
  366. package/templates/app/interfaces/orionplace/orders/IOrderActions.ts +99 -0
  367. package/templates/app/interfaces/orionplace/orders/IOrderHistory.ts +259 -0
  368. package/templates/app/interfaces/orionplace/orders/IProductPreorder.ts +31 -0
  369. package/templates/app/interfaces/orionplace/payments/IInvoice.ts +147 -0
  370. package/templates/app/interfaces/orionplace/products/IProduct.ts +262 -0
  371. package/templates/app/interfaces/orionplace/products/IProductFeedbackApi.ts +218 -0
  372. package/templates/app/interfaces/orionplace/products/IProductSearchApi.ts +146 -0
  373. package/templates/app/interfaces/orionplace/products/IProductSearchFacets.ts +35 -0
  374. package/templates/app/interfaces/orionplace/products/IProductSecondaryVariantRequest.ts +15 -0
  375. package/templates/app/interfaces/orionplace/products/IProductSpecification.ts +14 -0
  376. package/templates/app/interfaces/orionplace/products/IWishlist.ts +22 -0
  377. package/templates/app/interfaces/orionplace/sellers/ISellerDirectory.ts +70 -0
  378. package/templates/app/interfaces/orionplace/shared/IBreadcrumb.ts +10 -0
  379. package/templates/app/interfaces/orionplace/shared/IGeoCoordinates.ts +4 -0
  380. package/templates/app/interfaces/orionplace/shared/IStorefrontControls.ts +13 -0
  381. package/templates/app/interfaces/orionplace/shared/ITransformValue.ts +3 -0
  382. package/templates/app/interfaces/orionplace/state.ts +4 -0
  383. package/templates/app/interfaces/orionplace/stores/IStoreDirectory.ts +63 -0
  384. package/templates/app/interfaces/orionplace/subscribeOptions/ISubscribeOption.ts +9 -0
  385. package/templates/app/interfaces/orionplace/subscribeTariff/ISubscribeTariff.ts +56 -0
  386. package/templates/app/interfaces/orionplace/subscribeTariff/ITariffSelection.ts +11 -0
  387. package/templates/app/interfaces/orionplace/subscribes/ISubscribe.ts +28 -0
  388. package/templates/app/interfaces/orionplace/subscribes/ISubscriptionApi.ts +125 -0
  389. package/templates/app/interfaces/orionplace/tickets/ICustomerTicketApi.ts +223 -0
  390. package/templates/app/interfaces/orionplace/transport.ts +34 -0
  391. package/templates/app/layouts/default.vue +376 -0
  392. package/templates/app/middleware/00.orionplace.global.ts +27 -0
  393. package/templates/app/middleware/01.orionplace-sellers.global.ts +15 -0
  394. package/templates/app/middleware/orionplace-account.ts +40 -0
  395. package/templates/app/pages/activity.vue +19 -0
  396. package/templates/app/pages/addresses.vue +23 -0
  397. package/templates/app/pages/browse.vue +246 -0
  398. package/templates/app/pages/cart.vue +20 -0
  399. package/templates/app/pages/catalog.vue +17 -0
  400. package/templates/app/pages/category/[id].vue +142 -0
  401. package/templates/app/pages/contact.vue +17 -0
  402. package/templates/app/pages/featured.vue +144 -0
  403. package/templates/app/pages/index.vue +194 -0
  404. package/templates/app/pages/journal/[id].vue +128 -0
  405. package/templates/app/pages/journal/index.vue +67 -0
  406. package/templates/app/pages/logout.vue +71 -0
  407. package/templates/app/pages/manufacturers.vue +33 -0
  408. package/templates/app/pages/orders.vue +40 -0
  409. package/templates/app/pages/product/[id].vue +126 -0
  410. package/templates/app/pages/profile.vue +118 -0
  411. package/templates/app/pages/promo/[id].vue +67 -0
  412. package/templates/app/pages/promocodes.vue +21 -0
  413. package/templates/app/pages/sellers.vue +203 -0
  414. package/templates/app/pages/stores.vue +36 -0
  415. package/templates/app/pages/subscriptions.vue +21 -0
  416. package/templates/app/pages/tariffs/[slug]/[id].vue +126 -0
  417. package/templates/app/pages/tariffs/index.vue +50 -0
  418. package/templates/app/pages/tickets.vue +56 -0
  419. package/templates/app/pages/unsubscribe.vue +32 -0
  420. package/templates/app/pages/wallet.vue +23 -0
  421. package/templates/app/pages/wishlist.vue +48 -0
  422. package/templates/app/stores/orionplace.ts +493 -0
  423. package/templates/app/stores/orionplaceBrowse.ts +79 -0
  424. package/templates/app/stores/orionplaceCatalog.ts +121 -0
  425. package/templates/app/stores/orionplaceDomainAccess.ts +55 -0
  426. package/templates/app/stores/orionplaceProducts.ts +249 -0
  427. package/templates/app/stores/orionplaceSelections.ts +132 -0
  428. package/templates/app/themes/orionplace.ts +108 -0
  429. package/templates/app/utils/orionplace/accountLabels.ts +22 -0
  430. package/templates/app/utils/orionplace/activityLabels.ts +65 -0
  431. package/templates/app/utils/orionplace/activityPresentation.ts +16 -0
  432. package/templates/app/utils/orionplace/addressChanges.ts +26 -0
  433. package/templates/app/utils/orionplace/addressRegions.ts +17 -0
  434. package/templates/app/utils/orionplace/api.ts +333 -0
  435. package/templates/app/utils/orionplace/blogArticleHtml.ts +318 -0
  436. package/templates/app/utils/orionplace/blogComments.ts +133 -0
  437. package/templates/app/utils/orionplace/blogLabels.ts +111 -0
  438. package/templates/app/utils/orionplace/blogLayout.ts +95 -0
  439. package/templates/app/utils/orionplace/breadcrumbLabels.ts +11 -0
  440. package/templates/app/utils/orionplace/browseLabels.ts +98 -0
  441. package/templates/app/utils/orionplace/cartAddress.ts +94 -0
  442. package/templates/app/utils/orionplace/cartLabels.ts +261 -0
  443. package/templates/app/utils/orionplace/cartOptions.ts +143 -0
  444. package/templates/app/utils/orionplace/cartPreview.ts +108 -0
  445. package/templates/app/utils/orionplace/cartPromo.ts +150 -0
  446. package/templates/app/utils/orionplace/cartShipment.ts +74 -0
  447. package/templates/app/utils/orionplace/cartSnapshot.ts +20 -0
  448. package/templates/app/utils/orionplace/catalog.ts +106 -0
  449. package/templates/app/utils/orionplace/category.ts +52 -0
  450. package/templates/app/utils/orionplace/categoryLabels.ts +31 -0
  451. package/templates/app/utils/orionplace/contactLabels.ts +102 -0
  452. package/templates/app/utils/orionplace/currency.ts +128 -0
  453. package/templates/app/utils/orionplace/deliveryMap.ts +89 -0
  454. package/templates/app/utils/orionplace/directoryLabels.ts +131 -0
  455. package/templates/app/utils/orionplace/emptyStateArt.ts +231 -0
  456. package/templates/app/utils/orionplace/errorPageLabels.ts +80 -0
  457. package/templates/app/utils/orionplace/featureData.ts +25 -0
  458. package/templates/app/utils/orionplace/featureLabels.ts +271 -0
  459. package/templates/app/utils/orionplace/featuredLabels.ts +28 -0
  460. package/templates/app/utils/orionplace/files.ts +71 -0
  461. package/templates/app/utils/orionplace/footerLabels.ts +35 -0
  462. package/templates/app/utils/orionplace/guestSession.ts +50 -0
  463. package/templates/app/utils/orionplace/headerLabels.ts +68 -0
  464. package/templates/app/utils/orionplace/homeContent.ts +129 -0
  465. package/templates/app/utils/orionplace/homeLabels.ts +52 -0
  466. package/templates/app/utils/orionplace/htmlText.ts +59 -0
  467. package/templates/app/utils/orionplace/links.ts +14 -0
  468. package/templates/app/utils/orionplace/manufacturerIndex.ts +91 -0
  469. package/templates/app/utils/orionplace/modalWindow.ts +109 -0
  470. package/templates/app/utils/orionplace/nativeApp.ts +361 -0
  471. package/templates/app/utils/orionplace/notice.ts +22 -0
  472. package/templates/app/utils/orionplace/orderLabels.ts +309 -0
  473. package/templates/app/utils/orionplace/orderPresentation.ts +586 -0
  474. package/templates/app/utils/orionplace/pageSeo.ts +274 -0
  475. package/templates/app/utils/orionplace/paginationScroll.ts +131 -0
  476. package/templates/app/utils/orionplace/phone.ts +22 -0
  477. package/templates/app/utils/orionplace/presentation.ts +72 -0
  478. package/templates/app/utils/orionplace/productActionLabels.ts +60 -0
  479. package/templates/app/utils/orionplace/productActions.ts +547 -0
  480. package/templates/app/utils/orionplace/productAvailability.ts +36 -0
  481. package/templates/app/utils/orionplace/productGallery.ts +72 -0
  482. package/templates/app/utils/orionplace/productLabels.ts +82 -0
  483. package/templates/app/utils/orionplace/productManufacturer.ts +30 -0
  484. package/templates/app/utils/orionplace/productPage.ts +46 -0
  485. package/templates/app/utils/orionplace/productPhotos.ts +67 -0
  486. package/templates/app/utils/orionplace/productSearchScope.ts +237 -0
  487. package/templates/app/utils/orionplace/productSeller.ts +51 -0
  488. package/templates/app/utils/orionplace/profile.ts +136 -0
  489. package/templates/app/utils/orionplace/profileLabels.ts +151 -0
  490. package/templates/app/utils/orionplace/promoLabels.ts +75 -0
  491. package/templates/app/utils/orionplace/promoPresentation.ts +381 -0
  492. package/templates/app/utils/orionplace/reviewLabels.ts +172 -0
  493. package/templates/app/utils/orionplace/reviewScope.ts +41 -0
  494. package/templates/app/utils/orionplace/richText.ts +13 -0
  495. package/templates/app/utils/orionplace/searchFilters.ts +99 -0
  496. package/templates/app/utils/orionplace/searchHistory.ts +144 -0
  497. package/templates/app/utils/orionplace/sellerDirectory.ts +134 -0
  498. package/templates/app/utils/orionplace/seo.ts +52 -0
  499. package/templates/app/utils/orionplace/serverCookies.ts +88 -0
  500. package/templates/app/utils/orionplace/sessionLabels.ts +27 -0
  501. package/templates/app/utils/orionplace/signInReturn.ts +89 -0
  502. package/templates/app/utils/orionplace/storeDirectory.ts +50 -0
  503. package/templates/app/utils/orionplace/subscriptionChanges.ts +167 -0
  504. package/templates/app/utils/orionplace/subscriptionLabels.ts +67 -0
  505. package/templates/app/utils/orionplace/subscriptionManageLabels.ts +307 -0
  506. package/templates/app/utils/orionplace/subscriptionPlans.ts +162 -0
  507. package/templates/app/utils/orionplace/subscriptionRemote.ts +110 -0
  508. package/templates/app/utils/orionplace/subscriptionUsage.ts +82 -0
  509. package/templates/app/utils/orionplace/tariffLabels.ts +130 -0
  510. package/templates/app/utils/orionplace/tariffPage.ts +77 -0
  511. package/templates/app/utils/orionplace/tariffVariables.ts +165 -0
  512. package/templates/app/utils/orionplace/tariffs.ts +284 -0
  513. package/templates/app/utils/orionplace/ticketItems.ts +87 -0
  514. package/templates/app/utils/orionplace/ticketLabels.ts +335 -0
  515. package/templates/app/utils/orionplace/ticketLocation.ts +79 -0
  516. package/templates/app/utils/orionplace/walletTransaction.ts +135 -0
  517. package/templates/app/utils/orionplaceAppLoad.ts +73 -0
  518. package/templates/orionplace/COMPONENT-DOWNLOAD.md +40 -0
  519. package/templates/orionplace/COMPONENTS.md +1983 -0
  520. package/templates/orionplace/THEMES.md +94 -0
@@ -0,0 +1,262 @@
1
+ import type { ITransformValue } from '@/interfaces/orionplace/shared/ITransformValue';
2
+
3
+ export interface IProduct {
4
+ id: number;
5
+ product_group_id: number;
6
+ whishlist_id?: number | null;
7
+ main_category?: number | null;
8
+ subscription_id?: number | null;
9
+ is_digital?: boolean;
10
+ locale: Record<string, Partial<IProductLocale>>;
11
+ discount: number;
12
+ cart_counts?: IProductCartCounts | null;
13
+ base_price_dict: Record<string, ITransformValue>;
14
+ product_price_dict: Record<string, ITransformValue>;
15
+ images?: IProductImages | null;
16
+ weight_dict?: Record<string, ITransformValue>;
17
+ length_dict?: IProductDimensions;
18
+ variants: IProductVariants;
19
+ flags: IProductFlags;
20
+ seller: IProductSeller;
21
+ status: IProductStatus;
22
+ c_real_left: number;
23
+ date_updated?: string | null;
24
+ feedback_stat: IProductFeedbackStat;
25
+ related?: IProductRelated | null;
26
+ secondary_variants?: IProductSecondaryVariants | null;
27
+ feedback_allowed?: boolean;
28
+ attributes?: IProductAttribute[] | Record<string, IProductAttribute>;
29
+ videos?: IProductVideo[];
30
+ manufacture?: IProductManufacture | null;
31
+ refunds?: IProductRefunds | null;
32
+ feedbacks?: IProductFeedbacks | null;
33
+ }
34
+
35
+ export type IAppLoadProduct = Omit<IProduct, 'seller'> & {
36
+ seller_id: number;
37
+ };
38
+
39
+ export interface IProductAttribute {
40
+ id: number;
41
+ names: IProductAttributeName[];
42
+ locales: Record<string, string>;
43
+ }
44
+
45
+ export interface IProductAttributeName {
46
+ id: number;
47
+ locale: Record<string, Record<string, string>>;
48
+ }
49
+
50
+ export interface IProductVideo {
51
+ id: number;
52
+ product_video: string | null;
53
+ product: number;
54
+ preview: string | null;
55
+ }
56
+
57
+ export interface IProductManufacture {
58
+ id: number;
59
+ name: string;
60
+ image: string | null;
61
+ small_image: string | null;
62
+ }
63
+
64
+ export interface IProductRefunds {
65
+ customer_max_refund_days: number;
66
+ max_refund_days_with_defect: number;
67
+ }
68
+
69
+ export interface IProductFeedbacks {
70
+ feedbacks?: {
71
+ data: IProductFeedback[];
72
+ rpag?: IProductPagination;
73
+ };
74
+ stats?: Record<string, number>;
75
+ c_feedback_images?: number;
76
+ image_row?: { data: unknown[]; rpag?: IProductPagination };
77
+ our_feedback_id?: number | null;
78
+ }
79
+
80
+ export interface IProductFeedback {
81
+ id: number;
82
+ rating?: number;
83
+ text?: string;
84
+ date_created?: IProductFeedbackDate | null;
85
+ user?: IProductFeedbackUser;
86
+ images?: IProductFeedbackImage[];
87
+ [key: string]: unknown;
88
+ }
89
+
90
+ export interface IProductFeedbackDate {
91
+ date: string;
92
+ time: string;
93
+ days_ago: number | string;
94
+ word: [number, string] | string;
95
+ minutes_ago?: number | string;
96
+ }
97
+
98
+ export interface IProductFeedbackUser {
99
+ id: number;
100
+ first_name: string;
101
+ last_name: string;
102
+ logo: string | null;
103
+ }
104
+
105
+ export interface IProductFeedbackImage {
106
+ id: number;
107
+ image: string;
108
+ }
109
+
110
+ export interface IProductPagination {
111
+ has_next?: boolean;
112
+ has_previous?: boolean;
113
+ page?: number;
114
+ pages?: number;
115
+ total_count?: number;
116
+ selected_count?: number;
117
+ }
118
+
119
+ export interface IProductFeedbackStat {
120
+ c_feedbacks: number;
121
+ avg_raiting: number | string;
122
+ }
123
+
124
+ export interface IProductStatus {
125
+ status: EProductStatus;
126
+ status_display: string;
127
+ }
128
+
129
+ export const EProductStatus = {
130
+ PUBLISHED: 2,
131
+ PUBLISHED_AS_OPTION: 1,
132
+ UNPUBLISHED: 0,
133
+ TEMPORARY_STOPPED: -1,
134
+ LOW_SALE_STOCK: -2,
135
+ LOW_STOCK: -3,
136
+ INCOMPLETE: -4,
137
+ ON_MODERATION: -5,
138
+ } as const;
139
+ export type EProductStatus =
140
+ (typeof EProductStatus)[keyof typeof EProductStatus];
141
+
142
+ export interface IProductSeller {
143
+ id: number;
144
+ name: string;
145
+ raiting: number | string;
146
+ avatar?: string | null;
147
+ is_accepting_preorders?: boolean;
148
+ }
149
+
150
+ export interface IProductSearchSeller {
151
+ id: number;
152
+ is_accepting_preorders?: boolean;
153
+ }
154
+
155
+ export interface IProductFlags {
156
+ flag_is_new?: boolean | null;
157
+ flag_is_soon_be_out?: boolean;
158
+ flag_is_popular?: boolean | null;
159
+ flag_is_good_deal?: boolean | null;
160
+ }
161
+
162
+ export interface IProductVariants {
163
+ main_variant?: IProductVariant;
164
+ }
165
+
166
+ export interface IProductVariant {
167
+ id: number;
168
+ value: IProductVariantValue[];
169
+ locale: Record<string, string>;
170
+ is_color: boolean;
171
+ second_exists: boolean;
172
+ }
173
+
174
+ export interface IProductVariantValue {
175
+ id: number;
176
+ color: string;
177
+ locale: Record<string, string>;
178
+ c_published: number;
179
+ reload_product?: number | null;
180
+ }
181
+
182
+ export interface IProductDimensions {
183
+ length: Record<string, ITransformValue>;
184
+ width: Record<string, ITransformValue>;
185
+ height: Record<string, ITransformValue>;
186
+ }
187
+
188
+ export interface IProductImages {
189
+ small: string[];
190
+ full: string[];
191
+ }
192
+
193
+ export interface IProductCartCounts {
194
+ modal_quantity?: number | null;
195
+ cart_id?: number | null;
196
+ cart_item_price_no_discount?: Record<string, ITransformValue>;
197
+ cart_item_price_after_promo?: Record<string, ITransformValue>;
198
+ quantity?: number | null;
199
+ c_can_not_ship?: number | null;
200
+ c_stock_left?: number | null;
201
+ cart_item_price_before_promo?: Record<string, ITransformValue>;
202
+ regular_discount_value?: Record<string, ITransformValue>;
203
+ promo_discount_value?: Record<string, ITransformValue>;
204
+ discount_total?: Record<string, ITransformValue>;
205
+ }
206
+
207
+ export interface IProductRelated {
208
+ data: IProduct[];
209
+ }
210
+
211
+ export interface IProductSecondaryVariants {
212
+ secondary: IProductSecondaryVariantInfo;
213
+ variants: IProductSecondaryVariant[];
214
+ }
215
+
216
+ export interface IProductSecondaryVariantInfo {
217
+ id: number;
218
+ is_color: boolean;
219
+ locale: Record<string, string>;
220
+ value: null;
221
+ }
222
+
223
+ export interface IProductSecondaryVariant {
224
+ product: IProduct;
225
+ value: IProductSecondaryVariantValue;
226
+ }
227
+
228
+ export interface IProductSecondaryVariantValue {
229
+ id: number;
230
+ locale: Record<string, string>;
231
+ color: string;
232
+ }
233
+
234
+ export interface IProductLocale {
235
+ id?: number;
236
+ product_name?: string;
237
+ product_title?: string;
238
+ product_slug?: string;
239
+ meta_description?: string;
240
+ meta_keywords?: string;
241
+ product_description?: string;
242
+ short_description?: string;
243
+ }
244
+
245
+ export type IProductsListNames =
246
+ | 'main'
247
+ | 'new'
248
+ | 'featured'
249
+ | 'seller'
250
+ | 'manufacturer'
251
+ | 'productAlerts'
252
+ | 'productAlertsRelated'
253
+ | 'cart'
254
+ | 'cartPreview'
255
+ | 'cartUndeliverable'
256
+ | 'orders'
257
+ | 'feedbacks';
258
+
259
+ export interface IProcessingProduct {
260
+ id: number;
261
+ listName: IProductsListNames;
262
+ }
@@ -0,0 +1,218 @@
1
+ import type { ApiFormError } from '@/interfaces/orionplace/transport';
2
+ import type {
3
+ IApiDateTime,
4
+ IApiPagination,
5
+ IApiPaginationRequest,
6
+ } from '@/interfaces/orionplace/accounts/IProfileData';
7
+ import type {
8
+ IProduct,
9
+ IProductFeedback,
10
+ IProductFeedbackImage,
11
+ IProductFeedbackUser,
12
+ } from '@/interfaces/orionplace/products/IProduct';
13
+
14
+ export const EProductFeedbackStatus = {
15
+ DENIED: -1,
16
+ PENDING: 0,
17
+ APROOVED: 1,
18
+ } as const;
19
+ export type EProductFeedbackStatus =
20
+ (typeof EProductFeedbackStatus)[keyof typeof EProductFeedbackStatus];
21
+
22
+ export interface IProductReview extends IProductFeedback {
23
+ text: string;
24
+ rating: number;
25
+ user: IProductFeedbackUser;
26
+ status: {
27
+ int: EProductFeedbackStatus;
28
+ text: string;
29
+ };
30
+ date_created: IApiDateTime;
31
+ total_c_likes: number;
32
+ total_c_dislikes: number;
33
+ // A root review: approved replies in its whole discussion; a reply: its approved direct replies.
34
+ total_c_approved_replies: number;
35
+ // Approved direct replies in this store group: the list reply_of_parent opens.
36
+ total_c_approved_direct_replies?: number;
37
+ total_c_replies: number;
38
+ images: IProductFeedbackImage[];
39
+ c_images: number;
40
+ user_like?: boolean | null;
41
+ my_reply_exist?: boolean;
42
+ replies?: IProductReview[];
43
+ reply_info: {
44
+ main_reply: number | null;
45
+ reply_to: number | null;
46
+ };
47
+ product?: IProduct | null;
48
+ }
49
+
50
+ export interface IProductFeedbackListRequest {
51
+ filters?: {
52
+ id?: number;
53
+ self_id?: number;
54
+ id_in?: number[] | string;
55
+ for_product?: number;
56
+ rating?: number[];
57
+ status?: EProductFeedbackStatus;
58
+ c_images_gte?: number;
59
+ product_seller?: number;
60
+ single_category?: number;
61
+ reply_of_parent?: number;
62
+ main_parent?: number;
63
+ ordering?:
64
+ | 'date_created'
65
+ | '-date_created'
66
+ | 'status'
67
+ | '-status'
68
+ | 'rating'
69
+ | '-rating'
70
+ | 'feedback_importance'
71
+ | '-feedback_importance'
72
+ | 'id'
73
+ | '-id';
74
+ };
75
+ paginate?: IApiPaginationRequest;
76
+ }
77
+
78
+ export interface IProductFeedbackListResponse {
79
+ form_errors: Record<string, ApiFormError[]> | null;
80
+ success_message: string | null;
81
+ page_data: {
82
+ feedbacks: {
83
+ data: IProductReview[];
84
+ rpag: IApiPagination;
85
+ };
86
+ stats?: Record<string, number>;
87
+ image_row?: {
88
+ images: {
89
+ data: IProductReviewImage[];
90
+ rpag: IApiPagination;
91
+ };
92
+ };
93
+ } | null;
94
+ }
95
+
96
+ export interface IMyProductFeedbacksResponse {
97
+ form_errors: Record<string, ApiFormError[]> | null;
98
+ success_message: string | null;
99
+ page_data: {
100
+ feedbacks: {
101
+ data: IProductReview[];
102
+ rpag: IApiPagination;
103
+ };
104
+ parents?: IProductReview[];
105
+ } | null;
106
+ }
107
+
108
+ export interface IProductFeedbackCreateRequest {
109
+ for_product: number;
110
+ text: string;
111
+ rating?: number;
112
+ reply_to?: number | null;
113
+ }
114
+
115
+ export interface IProductFeedbackEditRequest {
116
+ text: string;
117
+ rating?: number;
118
+ images_to_delete?: number[] | null;
119
+ }
120
+
121
+ export interface IProductFeedbackCreateResponse {
122
+ form_errors: Record<string, ApiFormError[]> | null;
123
+ success_message: string | null;
124
+ page_data: {
125
+ id: number;
126
+ state: {
127
+ int: EProductFeedbackStatus;
128
+ text: string;
129
+ };
130
+ feedback: IProductReview[];
131
+ } | null;
132
+ }
133
+
134
+ export interface IProductFeedbackEditResponse {
135
+ form_errors: Record<string, ApiFormError[]> | null;
136
+ success_message: string | null;
137
+ page_data: {
138
+ state: {
139
+ int: EProductFeedbackStatus;
140
+ text: string;
141
+ };
142
+ feedback: IProductReview[];
143
+ } | null;
144
+ }
145
+
146
+ export interface IProductFeedbackPreloadRequest {
147
+ reply_id: number;
148
+ }
149
+
150
+ export interface IProductFeedbackPreloadResponse {
151
+ form_errors: Record<string, ApiFormError[]> | null;
152
+ success_message: string | null;
153
+ page_data: {
154
+ id: number;
155
+ text: string;
156
+ rating: number;
157
+ status: {
158
+ int: EProductFeedbackStatus;
159
+ text: string;
160
+ };
161
+ got_reply: boolean;
162
+ // True for a reply: replies have no rating (0) and no stars to choose.
163
+ is_reply?: boolean;
164
+ images: IProductFeedbackImage[];
165
+ } | null;
166
+ }
167
+
168
+ export interface IProductFeedbackReactionRequest {
169
+ feedback: number;
170
+ like_or_dislike?: boolean;
171
+ }
172
+
173
+ export interface IProductFeedbackReactionResponse {
174
+ form_errors: Record<string, ApiFormError[]> | null;
175
+ success_message: string | null;
176
+ page_data: {
177
+ likes: number;
178
+ dislikes: number;
179
+ } | null;
180
+ }
181
+
182
+ export interface IProductFeedbackCountersResponse {
183
+ form_errors: Record<string, ApiFormError[]> | null;
184
+ success_message: string | null;
185
+ page_data: {
186
+ total_c_likes: number;
187
+ total_c_dislikes: number;
188
+ total_c_replies: number;
189
+ // Correctly spelled copy of total_c_aprooved_replies in newer backends.
190
+ total_c_approved_replies?: number;
191
+ total_c_approved_direct_replies?: number;
192
+ total_c_aprooved_replies: number;
193
+ } | null;
194
+ }
195
+
196
+ export interface IProductReviewImage extends IProductFeedbackImage {
197
+ feedback_id: number;
198
+ feedback_rating: number;
199
+ }
200
+
201
+ export interface IProductFeedbackImagesRequest {
202
+ filters?: {
203
+ product?: number;
204
+ feedback?: number;
205
+ product_seller?: number;
206
+ product_manufacture?: number;
207
+ };
208
+ paginate?: IApiPaginationRequest;
209
+ }
210
+
211
+ export interface IProductFeedbackImagesResponse {
212
+ form_errors: Record<string, ApiFormError[]> | null;
213
+ success_message: string | null;
214
+ page_data: {
215
+ data: IProductReviewImage[];
216
+ rpag: IApiPagination;
217
+ } | null;
218
+ }
@@ -0,0 +1,146 @@
1
+ import type { ApiFormError } from '@/interfaces/orionplace/transport';
2
+ import type {
3
+ IApiPagination,
4
+ IApiPaginationRequest,
5
+ } from '@/interfaces/orionplace/accounts/IProfileData';
6
+ import type {
7
+ IProduct,
8
+ IProductSecondaryVariantInfo,
9
+ IProductSecondaryVariantValue,
10
+ } from '@/interfaces/orionplace/products/IProduct';
11
+ import type {
12
+ ICurrencyAmounts,
13
+ IUnitValues,
14
+ ICategoryDirectoryEntry,
15
+ IPromoDefinition,
16
+ } from '@/interfaces/orionplace/cart/ICartData';
17
+ import type { IManufacturer } from '@/interfaces/orionplace/catalog/ICatalogDirectory';
18
+ import type { ISellerDirectoryEntry } from '@/interfaces/orionplace/sellers/ISellerDirectory';
19
+
20
+ export interface IProductSearchFilters {
21
+ search_string?: string;
22
+ id?: number;
23
+ id_in?: number[] | string;
24
+ categories?: number[];
25
+ product_group?: number[];
26
+ product_owner?: number[];
27
+ product_owner_name?: string;
28
+ product_manufacture?: number[];
29
+ physical_store?: number;
30
+ is_related_for?: number;
31
+ show_whishlist?: boolean;
32
+ subscription_exists?: boolean;
33
+ only_featured?: boolean;
34
+ only_new?: boolean;
35
+ with_discount?: boolean;
36
+ is_good_for_promo?: number;
37
+ price_currency?: number;
38
+ price_from?: number;
39
+ price_to?: number;
40
+ avg_raiting_from?: number;
41
+ avg_raiting_to?: number;
42
+ c_aprooved_feedbacks_from?: number;
43
+ c_aprooved_feedbacks_to?: number;
44
+ price_discount_from?: number;
45
+ price_discount_to?: number;
46
+ owner_rating_from?: number;
47
+ // weight_from and weight_to are read in this unit, as the length, width and
48
+ // height bounds are read in length_search_by.
49
+ weight_search_by?: number;
50
+ weight_from?: number;
51
+ weight_to?: number;
52
+ length_search_by?: number;
53
+ length_from?: number;
54
+ length_to?: number;
55
+ width_from?: number;
56
+ width_to?: number;
57
+ height_from?: number;
58
+ height_to?: number;
59
+ from_modal?: true | string;
60
+ ordering?:
61
+ | 'popularity'
62
+ | '-popularity'
63
+ | 'avg_raiting'
64
+ | '-avg_raiting'
65
+ | 'real_price_usd'
66
+ | '-real_price_usd'
67
+ | 'flag_is_new'
68
+ | '-flag_is_new'
69
+ | 'flag_is_good_deal'
70
+ | '-flag_is_good_deal';
71
+ [key: `variant_${number}`]: number[] | undefined;
72
+ }
73
+
74
+ export interface IProductSearchRequest {
75
+ filters?: IProductSearchFilters;
76
+ paginate?: IApiPaginationRequest;
77
+ }
78
+
79
+ export interface IProductVariantFilter {
80
+ id: number;
81
+ locale: Record<string, {
82
+ variant_type_name?: string;
83
+ }>;
84
+ options: (IProductSecondaryVariantValue & {
85
+ count: number;
86
+ })[];
87
+ }
88
+
89
+ export interface IProductSearchRanges {
90
+ min_price: ICurrencyAmounts;
91
+ max_price: ICurrencyAmounts;
92
+ min_weight: IUnitValues;
93
+ max_weight: IUnitValues;
94
+ min_length: IUnitValues;
95
+ max_length: IUnitValues;
96
+ min_width: IUnitValues;
97
+ max_width: IUnitValues;
98
+ min_height: IUnitValues;
99
+ max_height: IUnitValues;
100
+ }
101
+
102
+ export interface IProductSearchChoices {
103
+ manufacture: (IManufacturer & {
104
+ count?: number;
105
+ })[];
106
+ sellers: ISellerDirectoryEntry[];
107
+ categories: ICategoryDirectoryEntry[];
108
+ measures: IProductSearchRanges;
109
+ discounts: {
110
+ any: number;
111
+ };
112
+ raiting_above_45: number;
113
+ }
114
+
115
+ export interface IProductSearchResponse {
116
+ form_errors: Record<string, ApiFormError[]> | null;
117
+ success_message: string | null;
118
+ page_data: {
119
+ products?: {
120
+ data: IProduct[];
121
+ rpag: IApiPagination;
122
+ };
123
+ min_max?: IProductSearchRanges;
124
+ variants?: Record<string, IProductVariantFilter>;
125
+ selects?: IProductSearchChoices;
126
+ c_cat_products?: number;
127
+ promo?: IPromoDefinition | null;
128
+ } | null;
129
+ }
130
+
131
+ export interface IProductSecondaryVariantsRequest {
132
+ product_group: number;
133
+ main_variant_value: number;
134
+ }
135
+
136
+ export interface IProductSecondaryVariantsResponse {
137
+ form_errors: Record<string, ApiFormError[]> | null;
138
+ success_message: string | null;
139
+ page_data: {
140
+ secondary: IProductSecondaryVariantInfo | Record<string, never>;
141
+ variants: {
142
+ product: IProduct | null;
143
+ value: IProductSecondaryVariantValue | null;
144
+ }[];
145
+ } | null;
146
+ }
@@ -0,0 +1,35 @@
1
+ export interface IProductSearchFacets {
2
+ selects: {
3
+ categories?: {
4
+ id: number;
5
+ count: number;
6
+ locale: Record<string, { cg_name?: string }>;
7
+ }[];
8
+ sellers?: { id: number; seller_name: string; count: number }[];
9
+ measures?: {
10
+ min_price?: Record<string, { transform_value: number }>;
11
+ max_price?: Record<string, { transform_value: number }>;
12
+ };
13
+ discounts?: { any: number };
14
+ raiting_above_45?: number;
15
+ manufacture?: { id: number; name: string; count: number }[];
16
+ };
17
+ variants?: Record<
18
+ string,
19
+ {
20
+ id: number;
21
+ locale: Record<string, { variant_type_name?: string }>;
22
+ options: {
23
+ id: number;
24
+ locale: Record<string, string>;
25
+ color?: string;
26
+ count: number;
27
+ }[];
28
+ }
29
+ >;
30
+ }
31
+
32
+ export type ProductFacetSelection = Record<
33
+ string,
34
+ number[] | string | number | boolean | undefined
35
+ >;
@@ -0,0 +1,15 @@
1
+ import type {
2
+ IProductSecondaryVariants,
3
+ IProductVariantValue,
4
+ } from '@/interfaces/orionplace/products/IProduct';
5
+
6
+ export interface IProductSecondaryVariantRequest {
7
+ product: number;
8
+ productGroup: number;
9
+ variant: IProductVariantValue;
10
+ }
11
+
12
+ export interface IProductSecondaryVariantState {
13
+ status: 'loading' | 'ready' | 'failed' | 'unavailable';
14
+ data?: IProductSecondaryVariants;
15
+ }
@@ -0,0 +1,14 @@
1
+ import type { IBreadcrumbTarget } from '@/interfaces/orionplace/shared/IBreadcrumb';
2
+
3
+ export interface IProductSpecificationRow {
4
+ key: string;
5
+ label: string;
6
+ value: string;
7
+ to?: IBreadcrumbTarget;
8
+ }
9
+
10
+ export interface IProductSpecificationGroup {
11
+ key: string;
12
+ title: string;
13
+ rows: IProductSpecificationRow[];
14
+ }
@@ -0,0 +1,22 @@
1
+ import type { ApiFormError } from '@/interfaces/orionplace/transport';
2
+
3
+ export interface IWishlistAddRequest {
4
+ product: number;
5
+ }
6
+
7
+ export interface IWishlistAddResponse {
8
+ form_errors: Record<string, ApiFormError[]> | null;
9
+ success_message: string | null;
10
+ page_data: {
11
+ wish_id?: number;
12
+ count: number;
13
+ } | null;
14
+ }
15
+
16
+ export interface IWishlistRemoveResponse {
17
+ form_errors: Record<string, ApiFormError[]> | null;
18
+ success_message: string | null;
19
+ page_data: {
20
+ count: number;
21
+ } | null;
22
+ }