@shadowmkj/plugin-ecommerce 3.85.1

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 (369) hide show
  1. package/LICENSE.md +22 -0
  2. package/README.md +3 -0
  3. package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -0
  4. package/dist/collections/addresses/createAddressesCollection.js +73 -0
  5. package/dist/collections/addresses/createAddressesCollection.js.map +1 -0
  6. package/dist/collections/addresses/defaultAddressFields.d.ts.map +1 -0
  7. package/dist/collections/addresses/defaultAddressFields.js +72 -0
  8. package/dist/collections/addresses/defaultAddressFields.js.map +1 -0
  9. package/dist/collections/addresses/defaultCountries.d.ts.map +1 -0
  10. package/dist/collections/addresses/defaultCountries.js +169 -0
  11. package/dist/collections/addresses/defaultCountries.js.map +1 -0
  12. package/dist/collections/addresses/hooks/beforeChange.d.ts.map +1 -0
  13. package/dist/collections/addresses/hooks/beforeChange.js +16 -0
  14. package/dist/collections/addresses/hooks/beforeChange.js.map +1 -0
  15. package/dist/collections/carts/beforeChange.d.ts.map +1 -0
  16. package/dist/collections/carts/beforeChange.js +49 -0
  17. package/dist/collections/carts/beforeChange.js.map +1 -0
  18. package/dist/collections/carts/createCartsCollection.d.ts.map +1 -0
  19. package/dist/collections/carts/createCartsCollection.js +194 -0
  20. package/dist/collections/carts/createCartsCollection.js.map +1 -0
  21. package/dist/collections/carts/endpoints/addItem.d.ts.map +1 -0
  22. package/dist/collections/carts/endpoints/addItem.js +54 -0
  23. package/dist/collections/carts/endpoints/addItem.js.map +1 -0
  24. package/dist/collections/carts/endpoints/clearCart.d.ts.map +1 -0
  25. package/dist/collections/carts/endpoints/clearCart.js +41 -0
  26. package/dist/collections/carts/endpoints/clearCart.js.map +1 -0
  27. package/dist/collections/carts/endpoints/mergeCart.d.ts.map +1 -0
  28. package/dist/collections/carts/endpoints/mergeCart.js +72 -0
  29. package/dist/collections/carts/endpoints/mergeCart.js.map +1 -0
  30. package/dist/collections/carts/endpoints/removeItem.d.ts.map +1 -0
  31. package/dist/collections/carts/endpoints/removeItem.js +51 -0
  32. package/dist/collections/carts/endpoints/removeItem.js.map +1 -0
  33. package/dist/collections/carts/endpoints/updateItem.d.ts.map +1 -0
  34. package/dist/collections/carts/endpoints/updateItem.js +95 -0
  35. package/dist/collections/carts/endpoints/updateItem.js.map +1 -0
  36. package/dist/collections/carts/hasCartSecretAccess.d.ts.map +1 -0
  37. package/dist/collections/carts/hasCartSecretAccess.js +24 -0
  38. package/dist/collections/carts/hasCartSecretAccess.js.map +1 -0
  39. package/dist/collections/carts/operations/addItem.d.ts.map +1 -0
  40. package/dist/collections/carts/operations/addItem.js +95 -0
  41. package/dist/collections/carts/operations/addItem.js.map +1 -0
  42. package/dist/collections/carts/operations/clearCart.d.ts.map +1 -0
  43. package/dist/collections/carts/operations/clearCart.js +53 -0
  44. package/dist/collections/carts/operations/clearCart.js.map +1 -0
  45. package/dist/collections/carts/operations/createRequestWithSecret.d.ts.map +1 -0
  46. package/dist/collections/carts/operations/createRequestWithSecret.js +21 -0
  47. package/dist/collections/carts/operations/createRequestWithSecret.js.map +1 -0
  48. package/dist/collections/carts/operations/defaultCartItemMatcher.d.ts.map +1 -0
  49. package/dist/collections/carts/operations/defaultCartItemMatcher.js +25 -0
  50. package/dist/collections/carts/operations/defaultCartItemMatcher.js.map +1 -0
  51. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js +358 -0
  52. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js.map +1 -0
  53. package/dist/collections/carts/operations/mergeCart.d.ts.map +1 -0
  54. package/dist/collections/carts/operations/mergeCart.js +144 -0
  55. package/dist/collections/carts/operations/mergeCart.js.map +1 -0
  56. package/dist/collections/carts/operations/removeItem.d.ts.map +1 -0
  57. package/dist/collections/carts/operations/removeItem.js +69 -0
  58. package/dist/collections/carts/operations/removeItem.js.map +1 -0
  59. package/dist/collections/carts/operations/types.d.ts.map +1 -0
  60. package/dist/collections/carts/operations/types.js +7 -0
  61. package/dist/collections/carts/operations/types.js.map +1 -0
  62. package/dist/collections/carts/operations/updateItem.d.ts.map +1 -0
  63. package/dist/collections/carts/operations/updateItem.js +110 -0
  64. package/dist/collections/carts/operations/updateItem.js.map +1 -0
  65. package/dist/collections/carts/statusBeforeRead.d.ts.map +1 -0
  66. package/dist/collections/carts/statusBeforeRead.js +18 -0
  67. package/dist/collections/carts/statusBeforeRead.js.map +1 -0
  68. package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -0
  69. package/dist/collections/orders/createOrdersCollection.js +163 -0
  70. package/dist/collections/orders/createOrdersCollection.js.map +1 -0
  71. package/dist/collections/products/createProductsCollection.d.ts.map +1 -0
  72. package/dist/collections/products/createProductsCollection.js +62 -0
  73. package/dist/collections/products/createProductsCollection.js.map +1 -0
  74. package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -0
  75. package/dist/collections/transactions/createTransactionsCollection.js +157 -0
  76. package/dist/collections/transactions/createTransactionsCollection.js.map +1 -0
  77. package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -0
  78. package/dist/collections/variants/createVariantOptionsCollection.js +53 -0
  79. package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -0
  80. package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -0
  81. package/dist/collections/variants/createVariantTypesCollection.js +49 -0
  82. package/dist/collections/variants/createVariantTypesCollection.js.map +1 -0
  83. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -0
  84. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +38 -0
  85. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -0
  86. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -0
  87. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +58 -0
  88. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -0
  89. package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -0
  90. package/dist/collections/variants/createVariantsCollection/index.js +107 -0
  91. package/dist/collections/variants/createVariantsCollection/index.js.map +1 -0
  92. package/dist/currencies/index.d.ts.map +1 -0
  93. package/dist/currencies/index.js +20 -0
  94. package/dist/currencies/index.js.map +1 -0
  95. package/dist/endpoints/confirmOrder.d.ts.map +1 -0
  96. package/dist/endpoints/confirmOrder.js +150 -0
  97. package/dist/endpoints/confirmOrder.js.map +1 -0
  98. package/dist/endpoints/initiatePayment.d.ts.map +1 -0
  99. package/dist/endpoints/initiatePayment.js +226 -0
  100. package/dist/endpoints/initiatePayment.js.map +1 -0
  101. package/dist/exports/client/index.d.ts.map +1 -0
  102. package/dist/exports/client/index.js +4 -0
  103. package/dist/exports/client/index.js.map +1 -0
  104. package/dist/exports/client/react.d.ts.map +1 -0
  105. package/dist/exports/client/react.js +5 -0
  106. package/dist/exports/client/react.js.map +1 -0
  107. package/dist/exports/payments/cod.d.ts +2 -0
  108. package/dist/exports/payments/cod.d.ts.map +1 -0
  109. package/dist/exports/payments/cod.js +3 -0
  110. package/dist/exports/payments/cod.js.map +1 -0
  111. package/dist/exports/payments/stripe.d.ts.map +1 -0
  112. package/dist/exports/payments/stripe.js +3 -0
  113. package/dist/exports/payments/stripe.js.map +1 -0
  114. package/dist/exports/rsc.d.ts.map +1 -0
  115. package/dist/exports/rsc.js +4 -0
  116. package/dist/exports/rsc.js.map +1 -0
  117. package/dist/exports/types.d.ts.map +1 -0
  118. package/dist/exports/types.js +3 -0
  119. package/dist/exports/types.js.map +1 -0
  120. package/dist/fields/amountField.d.ts.map +1 -0
  121. package/dist/fields/amountField.js +33 -0
  122. package/dist/fields/amountField.js.map +1 -0
  123. package/dist/fields/cartItemsField.d.ts.map +1 -0
  124. package/dist/fields/cartItemsField.js +55 -0
  125. package/dist/fields/cartItemsField.js.map +1 -0
  126. package/dist/fields/currencyField.d.ts.map +1 -0
  127. package/dist/fields/currencyField.js +29 -0
  128. package/dist/fields/currencyField.js.map +1 -0
  129. package/dist/fields/inventoryField.d.ts.map +1 -0
  130. package/dist/fields/inventoryField.js +16 -0
  131. package/dist/fields/inventoryField.js.map +1 -0
  132. package/dist/fields/pricesField.d.ts.map +1 -0
  133. package/dist/fields/pricesField.js +54 -0
  134. package/dist/fields/pricesField.js.map +1 -0
  135. package/dist/fields/statusField.d.ts.map +1 -0
  136. package/dist/fields/statusField.js +49 -0
  137. package/dist/fields/statusField.js.map +1 -0
  138. package/dist/fields/variantsFields.d.ts.map +1 -0
  139. package/dist/fields/variantsFields.js +48 -0
  140. package/dist/fields/variantsFields.js.map +1 -0
  141. package/dist/index.d.ts.map +1 -0
  142. package/dist/index.js +258 -0
  143. package/dist/index.js.map +1 -0
  144. package/dist/payments/adapters/cod/confirmOrder.d.ts +5 -0
  145. package/dist/payments/adapters/cod/confirmOrder.d.ts.map +1 -0
  146. package/dist/payments/adapters/cod/confirmOrder.js +83 -0
  147. package/dist/payments/adapters/cod/confirmOrder.js.map +1 -0
  148. package/dist/payments/adapters/cod/confirmOrder.spec.js +166 -0
  149. package/dist/payments/adapters/cod/confirmOrder.spec.js.map +1 -0
  150. package/dist/payments/adapters/cod/endpoints/webhooks.d.ts +5 -0
  151. package/dist/payments/adapters/cod/endpoints/webhooks.d.ts.map +1 -0
  152. package/dist/payments/adapters/cod/endpoints/webhooks.js +18 -0
  153. package/dist/payments/adapters/cod/endpoints/webhooks.js.map +1 -0
  154. package/dist/payments/adapters/cod/index.d.ts +12 -0
  155. package/dist/payments/adapters/cod/index.d.ts.map +1 -0
  156. package/dist/payments/adapters/cod/index.js +64 -0
  157. package/dist/payments/adapters/cod/index.js.map +1 -0
  158. package/dist/payments/adapters/cod/initiatePayment.d.ts +5 -0
  159. package/dist/payments/adapters/cod/initiatePayment.d.ts.map +1 -0
  160. package/dist/payments/adapters/cod/initiatePayment.js +91 -0
  161. package/dist/payments/adapters/cod/initiatePayment.js.map +1 -0
  162. package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -0
  163. package/dist/payments/adapters/stripe/confirmOrder.js +113 -0
  164. package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -0
  165. package/dist/payments/adapters/stripe/confirmOrder.spec.js +166 -0
  166. package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +1 -0
  167. package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts.map +1 -0
  168. package/dist/payments/adapters/stripe/endpoints/webhooks.js +53 -0
  169. package/dist/payments/adapters/stripe/endpoints/webhooks.js.map +1 -0
  170. package/dist/payments/adapters/stripe/index.d.ts +61 -0
  171. package/dist/payments/adapters/stripe/index.d.ts.map +1 -0
  172. package/dist/payments/adapters/stripe/index.js +68 -0
  173. package/dist/payments/adapters/stripe/index.js.map +1 -0
  174. package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -0
  175. package/dist/payments/adapters/stripe/initiatePayment.js +113 -0
  176. package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -0
  177. package/dist/react/provider/index.d.ts.map +1 -0
  178. package/dist/react/provider/index.js +1094 -0
  179. package/dist/react/provider/index.js.map +1 -0
  180. package/dist/react/provider/utilities.d.ts.map +1 -0
  181. package/dist/react/provider/utilities.js +13 -0
  182. package/dist/react/provider/utilities.js.map +1 -0
  183. package/dist/translations/index.d.ts.map +1 -0
  184. package/dist/translations/index.js +84 -0
  185. package/dist/translations/index.js.map +1 -0
  186. package/dist/translations/languages/ar.d.ts.map +1 -0
  187. package/dist/translations/languages/ar.js +92 -0
  188. package/dist/translations/languages/ar.js.map +1 -0
  189. package/dist/translations/languages/az.d.ts.map +1 -0
  190. package/dist/translations/languages/az.js +92 -0
  191. package/dist/translations/languages/az.js.map +1 -0
  192. package/dist/translations/languages/bg.d.ts.map +1 -0
  193. package/dist/translations/languages/bg.js +92 -0
  194. package/dist/translations/languages/bg.js.map +1 -0
  195. package/dist/translations/languages/ca.d.ts.map +1 -0
  196. package/dist/translations/languages/ca.js +92 -0
  197. package/dist/translations/languages/ca.js.map +1 -0
  198. package/dist/translations/languages/cs.d.ts.map +1 -0
  199. package/dist/translations/languages/cs.js +92 -0
  200. package/dist/translations/languages/cs.js.map +1 -0
  201. package/dist/translations/languages/da.d.ts.map +1 -0
  202. package/dist/translations/languages/da.js +92 -0
  203. package/dist/translations/languages/da.js.map +1 -0
  204. package/dist/translations/languages/de.d.ts.map +1 -0
  205. package/dist/translations/languages/de.js +92 -0
  206. package/dist/translations/languages/de.js.map +1 -0
  207. package/dist/translations/languages/en.d.ts.map +1 -0
  208. package/dist/translations/languages/en.js +92 -0
  209. package/dist/translations/languages/en.js.map +1 -0
  210. package/dist/translations/languages/es.d.ts.map +1 -0
  211. package/dist/translations/languages/es.js +92 -0
  212. package/dist/translations/languages/es.js.map +1 -0
  213. package/dist/translations/languages/et.d.ts.map +1 -0
  214. package/dist/translations/languages/et.js +92 -0
  215. package/dist/translations/languages/et.js.map +1 -0
  216. package/dist/translations/languages/fa.d.ts.map +1 -0
  217. package/dist/translations/languages/fa.js +92 -0
  218. package/dist/translations/languages/fa.js.map +1 -0
  219. package/dist/translations/languages/fr.d.ts.map +1 -0
  220. package/dist/translations/languages/fr.js +92 -0
  221. package/dist/translations/languages/fr.js.map +1 -0
  222. package/dist/translations/languages/he.d.ts.map +1 -0
  223. package/dist/translations/languages/he.js +92 -0
  224. package/dist/translations/languages/he.js.map +1 -0
  225. package/dist/translations/languages/hr.d.ts.map +1 -0
  226. package/dist/translations/languages/hr.js +92 -0
  227. package/dist/translations/languages/hr.js.map +1 -0
  228. package/dist/translations/languages/hu.d.ts.map +1 -0
  229. package/dist/translations/languages/hu.js +92 -0
  230. package/dist/translations/languages/hu.js.map +1 -0
  231. package/dist/translations/languages/hy.d.ts.map +1 -0
  232. package/dist/translations/languages/hy.js +92 -0
  233. package/dist/translations/languages/hy.js.map +1 -0
  234. package/dist/translations/languages/is.d.ts.map +1 -0
  235. package/dist/translations/languages/is.js +92 -0
  236. package/dist/translations/languages/is.js.map +1 -0
  237. package/dist/translations/languages/it.d.ts.map +1 -0
  238. package/dist/translations/languages/it.js +92 -0
  239. package/dist/translations/languages/it.js.map +1 -0
  240. package/dist/translations/languages/ja.d.ts.map +1 -0
  241. package/dist/translations/languages/ja.js +92 -0
  242. package/dist/translations/languages/ja.js.map +1 -0
  243. package/dist/translations/languages/ko.d.ts.map +1 -0
  244. package/dist/translations/languages/ko.js +92 -0
  245. package/dist/translations/languages/ko.js.map +1 -0
  246. package/dist/translations/languages/lt.d.ts.map +1 -0
  247. package/dist/translations/languages/lt.js +92 -0
  248. package/dist/translations/languages/lt.js.map +1 -0
  249. package/dist/translations/languages/my.d.ts.map +1 -0
  250. package/dist/translations/languages/my.js +92 -0
  251. package/dist/translations/languages/my.js.map +1 -0
  252. package/dist/translations/languages/nb.d.ts.map +1 -0
  253. package/dist/translations/languages/nb.js +92 -0
  254. package/dist/translations/languages/nb.js.map +1 -0
  255. package/dist/translations/languages/nl.d.ts.map +1 -0
  256. package/dist/translations/languages/nl.js +92 -0
  257. package/dist/translations/languages/nl.js.map +1 -0
  258. package/dist/translations/languages/pl.d.ts.map +1 -0
  259. package/dist/translations/languages/pl.js +92 -0
  260. package/dist/translations/languages/pl.js.map +1 -0
  261. package/dist/translations/languages/pt.d.ts.map +1 -0
  262. package/dist/translations/languages/pt.js +92 -0
  263. package/dist/translations/languages/pt.js.map +1 -0
  264. package/dist/translations/languages/ro.d.ts.map +1 -0
  265. package/dist/translations/languages/ro.js +92 -0
  266. package/dist/translations/languages/ro.js.map +1 -0
  267. package/dist/translations/languages/rs.d.ts.map +1 -0
  268. package/dist/translations/languages/rs.js +92 -0
  269. package/dist/translations/languages/rs.js.map +1 -0
  270. package/dist/translations/languages/rsLatin.d.ts.map +1 -0
  271. package/dist/translations/languages/rsLatin.js +92 -0
  272. package/dist/translations/languages/rsLatin.js.map +1 -0
  273. package/dist/translations/languages/ru.d.ts.map +1 -0
  274. package/dist/translations/languages/ru.js +92 -0
  275. package/dist/translations/languages/ru.js.map +1 -0
  276. package/dist/translations/languages/sk.d.ts.map +1 -0
  277. package/dist/translations/languages/sk.js +92 -0
  278. package/dist/translations/languages/sk.js.map +1 -0
  279. package/dist/translations/languages/sl.d.ts.map +1 -0
  280. package/dist/translations/languages/sl.js +92 -0
  281. package/dist/translations/languages/sl.js.map +1 -0
  282. package/dist/translations/languages/sv.d.ts.map +1 -0
  283. package/dist/translations/languages/sv.js +92 -0
  284. package/dist/translations/languages/sv.js.map +1 -0
  285. package/dist/translations/languages/ta.d.ts.map +1 -0
  286. package/dist/translations/languages/ta.js +92 -0
  287. package/dist/translations/languages/ta.js.map +1 -0
  288. package/dist/translations/languages/th.d.ts.map +1 -0
  289. package/dist/translations/languages/th.js +92 -0
  290. package/dist/translations/languages/th.js.map +1 -0
  291. package/dist/translations/languages/tr.d.ts.map +1 -0
  292. package/dist/translations/languages/tr.js +92 -0
  293. package/dist/translations/languages/tr.js.map +1 -0
  294. package/dist/translations/languages/uk.d.ts.map +1 -0
  295. package/dist/translations/languages/uk.js +92 -0
  296. package/dist/translations/languages/uk.js.map +1 -0
  297. package/dist/translations/languages/vi.d.ts.map +1 -0
  298. package/dist/translations/languages/vi.js +92 -0
  299. package/dist/translations/languages/vi.js.map +1 -0
  300. package/dist/translations/languages/zh.d.ts.map +1 -0
  301. package/dist/translations/languages/zh.js +92 -0
  302. package/dist/translations/languages/zh.js.map +1 -0
  303. package/dist/translations/languages/zhTw.d.ts.map +1 -0
  304. package/dist/translations/languages/zhTw.js +92 -0
  305. package/dist/translations/languages/zhTw.js.map +1 -0
  306. package/dist/translations/translation-schema.json +343 -0
  307. package/dist/translations/types.d.ts.map +1 -0
  308. package/dist/translations/types.js +3 -0
  309. package/dist/translations/types.js.map +1 -0
  310. package/dist/types/index.d.ts.map +1 -0
  311. package/dist/types/index.js +3 -0
  312. package/dist/types/index.js.map +1 -0
  313. package/dist/types/utilities.d.ts.map +1 -0
  314. package/dist/types/utilities.js +3 -0
  315. package/dist/types/utilities.js.map +1 -0
  316. package/dist/ui/PriceCell/index.d.ts.map +1 -0
  317. package/dist/ui/PriceCell/index.js +36 -0
  318. package/dist/ui/PriceCell/index.js.map +1 -0
  319. package/dist/ui/PriceInput/FormattedInput.d.ts.map +1 -0
  320. package/dist/ui/PriceInput/FormattedInput.js +147 -0
  321. package/dist/ui/PriceInput/FormattedInput.js.map +1 -0
  322. package/dist/ui/PriceInput/index.css +35 -0
  323. package/dist/ui/PriceInput/index.d.ts.map +1 -0
  324. package/dist/ui/PriceInput/index.js +21 -0
  325. package/dist/ui/PriceInput/index.js.map +1 -0
  326. package/dist/ui/PriceRowLabel/index.css +13 -0
  327. package/dist/ui/PriceRowLabel/index.d.ts.map +1 -0
  328. package/dist/ui/PriceRowLabel/index.js +66 -0
  329. package/dist/ui/PriceRowLabel/index.js.map +1 -0
  330. package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts.map +1 -0
  331. package/dist/ui/VariantOptionsSelector/ErrorBox.js +28 -0
  332. package/dist/ui/VariantOptionsSelector/ErrorBox.js.map +1 -0
  333. package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts.map +1 -0
  334. package/dist/ui/VariantOptionsSelector/OptionsSelect.js +71 -0
  335. package/dist/ui/VariantOptionsSelector/OptionsSelect.js.map +1 -0
  336. package/dist/ui/VariantOptionsSelector/index.css +37 -0
  337. package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -0
  338. package/dist/ui/VariantOptionsSelector/index.js +81 -0
  339. package/dist/ui/VariantOptionsSelector/index.js.map +1 -0
  340. package/dist/ui/utilities.d.ts.map +1 -0
  341. package/dist/ui/utilities.js +40 -0
  342. package/dist/ui/utilities.js.map +1 -0
  343. package/dist/utilities/accessComposition.d.ts.map +1 -0
  344. package/dist/utilities/accessComposition.js +103 -0
  345. package/dist/utilities/accessComposition.js.map +1 -0
  346. package/dist/utilities/accessComposition.spec.js +765 -0
  347. package/dist/utilities/accessComposition.spec.js.map +1 -0
  348. package/dist/utilities/defaultProductsValidation.d.ts.map +1 -0
  349. package/dist/utilities/defaultProductsValidation.js +40 -0
  350. package/dist/utilities/defaultProductsValidation.js.map +1 -0
  351. package/dist/utilities/defaultProductsValidation.spec.js +384 -0
  352. package/dist/utilities/defaultProductsValidation.spec.js.map +1 -0
  353. package/dist/utilities/errorCodes.d.ts.map +1 -0
  354. package/dist/utilities/errorCodes.js +4 -0
  355. package/dist/utilities/errorCodes.js.map +1 -0
  356. package/dist/utilities/getCollectionSlugMap.d.ts.map +1 -0
  357. package/dist/utilities/getCollectionSlugMap.js +36 -0
  358. package/dist/utilities/getCollectionSlugMap.js.map +1 -0
  359. package/dist/utilities/getCollectionSlugMap.spec.js +254 -0
  360. package/dist/utilities/getCollectionSlugMap.spec.js.map +1 -0
  361. package/dist/utilities/pushTypeScriptProperties.d.ts.map +1 -0
  362. package/dist/utilities/pushTypeScriptProperties.js +37 -0
  363. package/dist/utilities/pushTypeScriptProperties.js.map +1 -0
  364. package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -0
  365. package/dist/utilities/sanitizePluginConfig.js +75 -0
  366. package/dist/utilities/sanitizePluginConfig.js.map +1 -0
  367. package/dist/utilities/sanitizePluginConfig.spec.js +516 -0
  368. package/dist/utilities/sanitizePluginConfig.spec.js.map +1 -0
  369. package/package.json +114 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/react/provider/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultDocumentIDType, TypedUser } from 'payload'\n\nimport { deepMergeSimple, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type {\n AddressesCollection,\n CartsCollection,\n ContextProps,\n Currency,\n EcommerceConfig,\n EcommerceContextType,\n} from '../../types/index.js'\n\nconst defaultContext: EcommerceContextType = {\n addItem: async () => { },\n clearCart: async () => { },\n clearSession: () => { },\n config: {\n addressesSlug: 'addresses',\n api: {\n apiRoute: '/api',\n },\n cartsSlug: 'carts',\n customersSlug: 'users',\n },\n confirmOrder: async () => { },\n createAddress: async () => { },\n currenciesConfig: {\n defaultCurrency: 'USD',\n supportedCurrencies: [\n {\n code: 'USD',\n decimals: 2,\n label: 'US Dollar',\n symbol: '$',\n },\n ],\n },\n currency: {\n code: 'USD',\n decimals: 2,\n label: 'US Dollar',\n symbol: '$',\n },\n decrementItem: async () => { },\n incrementItem: async () => { },\n initiatePayment: async () => { },\n isLoading: false,\n mergeCart: async () => { },\n onLogin: async () => { },\n onLogout: () => { },\n paymentMethods: [],\n refreshCart: async () => { },\n removeItem: async () => { },\n setCurrency: () => { },\n updateAddress: async () => { },\n user: null,\n}\n\nconst EcommerceContext = createContext<EcommerceContextType>(defaultContext)\n\nconst defaultLocalStorage = {\n key: 'cart',\n}\n\nexport const EcommerceProvider: React.FC<ContextProps> = ({\n addressesSlug = 'addresses',\n api,\n cartsSlug = 'carts',\n children,\n currenciesConfig = {\n defaultCurrency: 'USD',\n supportedCurrencies: [\n {\n code: 'USD',\n decimals: 2,\n label: 'US Dollar',\n symbol: '$',\n },\n ],\n },\n customersSlug = 'users',\n debug = false,\n paymentMethods = [],\n syncLocalStorage = true,\n}) => {\n const localStorageConfig =\n syncLocalStorage && typeof syncLocalStorage === 'object'\n ? {\n ...defaultLocalStorage,\n ...syncLocalStorage,\n }\n : defaultLocalStorage\n\n const { apiRoute = '/api', cartsFetchQuery = {} } = api || {}\n const baseAPIURL = formatAdminURL({\n apiRoute,\n path: '',\n })\n\n const config = useMemo<EcommerceConfig>(\n () => ({\n addressesSlug,\n api: {\n apiRoute,\n },\n cartsSlug,\n customersSlug,\n }),\n [addressesSlug, apiRoute, cartsSlug, customersSlug],\n )\n\n const [isLoading, setIsLoading] = useState(false)\n\n const [user, setUser] = useState<null | TypedUser>(null)\n\n const [addresses, setAddresses] = useState<AddressesCollection[]>()\n\n const hasRendered = useRef(false)\n\n /**\n * The ID of the cart associated with the current session.\n * This is used to identify the cart in the database or local storage.\n * It can be null if no cart has been created yet.\n */\n const [cartID, setCartID] = useState<DefaultDocumentIDType>()\n /**\n * The secret for accessing guest carts without authentication.\n * This is generated when a guest user creates a cart.\n */\n const [cartSecret, setCartSecret] = useState<string | undefined>(undefined)\n const [cart, setCart] = useState<CartsCollection>()\n\n const [selectedCurrency, setSelectedCurrency] = useState<Currency>(\n () =>\n currenciesConfig.supportedCurrencies.find(\n (c) => c.code === currenciesConfig.defaultCurrency,\n )!,\n )\n\n const [selectedPaymentMethod, setSelectedPaymentMethod] = useState<null | string>(null)\n\n const cartQuery = useMemo(() => {\n const priceField = `priceIn${selectedCurrency.code}`\n\n const baseQuery = {\n depth: 0,\n populate: {\n products: {\n [priceField]: true,\n },\n variants: {\n options: true,\n [priceField]: true,\n },\n },\n select: {\n items: true,\n subtotal: true,\n },\n }\n\n return deepMergeSimple(baseQuery, cartsFetchQuery)\n }, [selectedCurrency.code, cartsFetchQuery])\n\n const createCart = useCallback(\n async (initialData: Record<string, unknown>) => {\n const query = qs.stringify(cartQuery)\n\n const response = await fetch(`${baseAPIURL}/${cartsSlug}?${query}`, {\n body: JSON.stringify({\n ...initialData,\n currency: selectedCurrency.code,\n customer: user?.id,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to create cart: ${errorText}`)\n }\n\n const data = await response.json()\n\n if (data.error) {\n throw new Error(`Cart creation error: ${data.error}`)\n }\n\n // Store the secret for guest cart access\n if (!user && data.doc?.secret) {\n setCartSecret(data.doc.secret)\n }\n\n return data.doc as CartsCollection\n },\n [baseAPIURL, cartQuery, cartsSlug, selectedCurrency.code, user],\n )\n\n const getCart = useCallback(\n async (cartID: DefaultDocumentIDType, options?: { secret?: string }) => {\n const query = qs.stringify({\n ...cartQuery,\n ...(options?.secret ? { secret: options.secret } : {}),\n })\n\n const response = await fetch(`${baseAPIURL}/${cartsSlug}/${cartID}?${query}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to fetch cart: ${errorText}`)\n }\n\n const data = await response.json()\n\n if (data.error) {\n throw new Error(`Cart fetch error: ${data.error}`)\n }\n\n return data as CartsCollection\n },\n [baseAPIURL, cartQuery, cartsSlug],\n )\n\n const refreshCart = useCallback<EcommerceContextType['refreshCart']>(async () => {\n if (!cartID) {\n return\n }\n const updatedCart = await getCart(cartID)\n setCart(updatedCart)\n }, [cartID, getCart])\n\n // Persist cart ID and secret to localStorage\n useEffect(() => {\n if (hasRendered.current) {\n if (syncLocalStorage) {\n if (cartID) {\n localStorage.setItem(localStorageConfig.key, cartID as string)\n } else {\n localStorage.removeItem(localStorageConfig.key)\n }\n\n if (cartSecret) {\n localStorage.setItem(`${localStorageConfig.key}_secret`, cartSecret)\n } else {\n localStorage.removeItem(`${localStorageConfig.key}_secret`)\n }\n }\n }\n }, [cartID, cartSecret, localStorageConfig.key, syncLocalStorage])\n\n const addItem: EcommerceContextType['addItem'] = useCallback(\n async (item, quantity = 1) => {\n setIsLoading(true)\n try {\n if (cartID) {\n // Use server-side endpoint for adding items\n const response = await fetch(`${baseAPIURL}/${cartsSlug}/${cartID}/add-item`, {\n body: JSON.stringify({\n item,\n quantity,\n secret: cartSecret,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to add item: ${errorText}`)\n }\n\n const result = await response.json()\n\n if (!result.success) {\n // Cart not found - reset state\n setCartID(undefined)\n setCart(undefined)\n setCartSecret(undefined)\n return\n }\n\n // Refresh cart with proper depth/populate settings for UI\n const refreshedCart = await getCart(cartID, { secret: cartSecret })\n setCart(refreshedCart)\n } else {\n // If no cartID exists, create a new cart with the item\n const newCart = await createCart({ items: [{ ...item, quantity }] })\n\n setCartID(newCart.id)\n setCart(newCart)\n }\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error adding item to cart:', error)\n }\n } finally {\n setIsLoading(false)\n }\n },\n [baseAPIURL, cartID, cartSecret, cartsSlug, createCart, debug, getCart],\n )\n\n const removeItem: EcommerceContextType['removeItem'] = useCallback(\n async (targetID) => {\n if (!cartID) {\n return\n }\n\n setIsLoading(true)\n try {\n const response = await fetch(`${baseAPIURL}/${cartsSlug}/${cartID}/remove-item`, {\n body: JSON.stringify({\n itemID: targetID,\n secret: cartSecret,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to remove item: ${errorText}`)\n }\n\n const result = await response.json()\n\n if (!result.success) {\n // Cart not found - reset state\n setCartID(undefined)\n setCart(undefined)\n setCartSecret(undefined)\n return\n }\n\n // Refresh cart with proper depth/populate settings for UI\n const refreshedCart = await getCart(cartID, { secret: cartSecret })\n setCart(refreshedCart)\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error removing item from cart:', error)\n }\n } finally {\n setIsLoading(false)\n }\n },\n [baseAPIURL, cartID, cartSecret, cartsSlug, debug, getCart],\n )\n\n const incrementItem: EcommerceContextType['incrementItem'] = useCallback(\n async (targetID) => {\n if (!cartID) {\n return\n }\n\n setIsLoading(true)\n try {\n const response = await fetch(`${baseAPIURL}/${cartsSlug}/${cartID}/update-item`, {\n body: JSON.stringify({\n itemID: targetID,\n quantity: { $inc: 1 },\n secret: cartSecret,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to increment item: ${errorText}`)\n }\n\n const result = await response.json()\n\n if (!result.success) {\n // Cart not found - reset state\n setCartID(undefined)\n setCart(undefined)\n setCartSecret(undefined)\n return\n }\n\n // Refresh cart with proper depth/populate settings for UI\n const refreshedCart = await getCart(cartID, { secret: cartSecret })\n setCart(refreshedCart)\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error incrementing item quantity:', error)\n }\n } finally {\n setIsLoading(false)\n }\n },\n [baseAPIURL, cartID, cartSecret, cartsSlug, debug, getCart],\n )\n\n const decrementItem: EcommerceContextType['decrementItem'] = useCallback(\n async (targetID) => {\n if (!cartID) {\n return\n }\n\n setIsLoading(true)\n try {\n const response = await fetch(`${baseAPIURL}/${cartsSlug}/${cartID}/update-item`, {\n body: JSON.stringify({\n itemID: targetID,\n quantity: { $inc: -1 },\n secret: cartSecret,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to decrement item: ${errorText}`)\n }\n\n const result = await response.json()\n\n if (!result.success) {\n // Cart not found - reset state\n setCartID(undefined)\n setCart(undefined)\n setCartSecret(undefined)\n return\n }\n\n // Refresh cart with proper depth/populate settings for UI\n const refreshedCart = await getCart(cartID, { secret: cartSecret })\n setCart(refreshedCart)\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error decrementing item quantity:', error)\n }\n } finally {\n setIsLoading(false)\n }\n },\n [baseAPIURL, cartID, cartSecret, cartsSlug, debug, getCart],\n )\n\n const clearCart: EcommerceContextType['clearCart'] = useCallback(async () => {\n if (!cartID) {\n return\n }\n\n setIsLoading(true)\n try {\n const response = await fetch(`${baseAPIURL}/${cartsSlug}/${cartID}/clear`, {\n body: JSON.stringify({\n secret: cartSecret,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to clear cart: ${errorText}`)\n }\n\n const result = await response.json()\n\n if (!result.success) {\n // Cart not found - reset state\n setCartID(undefined)\n setCart(undefined)\n setCartSecret(undefined)\n return\n }\n\n // Refresh cart with proper depth/populate settings for UI\n const refreshedCart = await getCart(cartID, { secret: cartSecret })\n setCart(refreshedCart)\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error clearing cart:', error)\n }\n } finally {\n setIsLoading(false)\n }\n }, [baseAPIURL, cartID, cartSecret, cartsSlug, debug, getCart])\n\n const setCurrency: EcommerceContextType['setCurrency'] = useCallback(\n (currency) => {\n if (selectedCurrency.code === currency) {\n return\n }\n\n const foundCurrency = currenciesConfig.supportedCurrencies.find((c) => c.code === currency)\n if (!foundCurrency) {\n throw new Error(`Currency with code \"${currency}\" not found in config`)\n }\n\n setSelectedCurrency(foundCurrency)\n },\n [currenciesConfig.supportedCurrencies, selectedCurrency.code],\n )\n\n const initiatePayment = useCallback<EcommerceContextType['initiatePayment']>(\n async (paymentMethodID, options) => {\n const paymentMethod = paymentMethods.find((method) => method.name === paymentMethodID)\n\n if (!paymentMethod) {\n throw new Error(`Payment method with ID \"${paymentMethodID}\" not found`)\n }\n\n if (!cartID) {\n throw new Error(`No cart is provided.`)\n }\n\n setSelectedPaymentMethod(paymentMethodID)\n\n if (paymentMethod.initiatePayment) {\n try {\n const response = await fetch(`${baseAPIURL}/payments/${paymentMethodID}/initiate`, {\n body: JSON.stringify({\n cartID,\n currency: selectedCurrency.code,\n secret: cartSecret,\n ...(options?.additionalData || {}),\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const responseError = await response.text()\n throw new Error(responseError)\n }\n\n const responseData = await response.json()\n\n if (responseData.error) {\n throw new Error(responseData.error)\n }\n\n return responseData\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error initiating payment:', error)\n }\n throw new Error(error instanceof Error ? error.message : 'Failed to initiate payment')\n }\n } else {\n throw new Error(`Payment method \"${paymentMethodID}\" does not support payment initiation`)\n }\n },\n [baseAPIURL, cartID, cartSecret, debug, paymentMethods, selectedCurrency.code],\n )\n\n const confirmOrder = useCallback<EcommerceContextType['initiatePayment']>(\n async (paymentMethodID, options) => {\n if (!cartID) {\n throw new Error(`Cart is empty.`)\n }\n\n const paymentMethod = paymentMethods.find((pm) => pm.name === paymentMethodID)\n\n if (!paymentMethod) {\n throw new Error(`Payment method with ID \"${paymentMethodID}\" not found`)\n }\n\n if (paymentMethod.confirmOrder) {\n const response = await fetch(`${baseAPIURL}/payments/${paymentMethodID}/confirm-order`, {\n body: JSON.stringify({\n cartID,\n currency: selectedCurrency.code,\n secret: cartSecret,\n ...(options?.additionalData || {}),\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const responseError = await response.text()\n throw new Error(responseError)\n }\n\n const responseData = await response.json()\n\n if (responseData.error) {\n throw new Error(responseData.error)\n }\n\n return responseData\n } else {\n throw new Error(`Payment method \"${paymentMethodID}\" does not support order confirmation`)\n }\n },\n [baseAPIURL, cartID, cartSecret, paymentMethods, selectedCurrency.code],\n )\n\n const getUser = useCallback(async () => {\n try {\n const query = qs.stringify({\n depth: 0,\n select: {\n id: true,\n cart: true,\n },\n })\n\n const response = await fetch(`${baseAPIURL}/${customersSlug}/me?${query}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to fetch user: ${errorText}`)\n }\n\n const userData = await response.json()\n\n if (userData.error) {\n throw new Error(`User fetch error: ${userData.error}`)\n }\n\n if (userData.user) {\n setUser(userData.user as TypedUser)\n return userData.user as TypedUser\n }\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error fetching user:', error)\n }\n setUser(null)\n throw new Error(\n `Failed to fetch user: ${error instanceof Error ? error.message : 'Unknown error'}`,\n )\n }\n }, [baseAPIURL, customersSlug, debug])\n\n const getAddresses = useCallback(async () => {\n if (!user) {\n return\n }\n\n try {\n const query = qs.stringify({\n depth: 0,\n limit: 0,\n pagination: false,\n })\n\n const response = await fetch(`${baseAPIURL}/${addressesSlug}?${query}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n\n throw new Error(errorText)\n }\n\n const data = await response.json()\n\n if (data.error) {\n throw new Error(`Address fetch error: ${data.error}`)\n }\n\n if (data.docs && data.docs.length > 0) {\n setAddresses(data.docs)\n }\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error fetching addresses:', error)\n }\n setAddresses(undefined)\n throw new Error(\n `Failed to fetch addresses: ${error instanceof Error ? error.message : 'Unknown error'}`,\n )\n }\n }, [user, baseAPIURL, addressesSlug, debug])\n\n const updateAddress = useCallback<EcommerceContextType['updateAddress']>(\n async (addressID, address) => {\n if (!user) {\n throw new Error('User must be logged in to update or create an address')\n }\n\n try {\n const response = await fetch(`${baseAPIURL}/${addressesSlug}/${addressID}`, {\n body: JSON.stringify(address),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to update or create address: ${errorText}`)\n }\n\n const data = await response.json()\n\n if (data.error) {\n throw new Error(`Address update/create error: ${data.error}`)\n }\n\n // Refresh addresses after updating or creating\n await getAddresses()\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error updating or creating address:', error)\n }\n\n throw new Error(\n `Failed to update or create address: ${error instanceof Error ? error.message : 'Unknown error'}`,\n )\n }\n },\n [user, baseAPIURL, addressesSlug, getAddresses, debug],\n )\n\n const createAddress = useCallback<EcommerceContextType['createAddress']>(\n async (address) => {\n if (!user) {\n throw new Error('User must be logged in to update or create an address')\n }\n\n try {\n const response = await fetch(`${baseAPIURL}/${addressesSlug}`, {\n body: JSON.stringify(address),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to update or create address: ${errorText}`)\n }\n\n const data = await response.json()\n\n if (data.error) {\n throw new Error(`Address update/create error: ${data.error}`)\n }\n\n // Refresh addresses after updating or creating\n await getAddresses()\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error updating or creating address:', error)\n }\n\n throw new Error(\n `Failed to update or create address: ${error instanceof Error ? error.message : 'Unknown error'}`,\n )\n }\n },\n [user, baseAPIURL, addressesSlug, getAddresses, debug],\n )\n\n /**\n * Clears all ecommerce session data from state and localStorage.\n * Used during logout to ensure no user data persists.\n */\n const clearSession = useCallback(() => {\n setCart(undefined)\n setCartID(undefined)\n setCartSecret(undefined)\n setAddresses(undefined)\n setUser(null)\n\n if (syncLocalStorage) {\n localStorage.removeItem(localStorageConfig.key)\n localStorage.removeItem(`${localStorageConfig.key}_secret`)\n }\n }, [localStorageConfig.key, syncLocalStorage])\n\n /**\n * Called during logout. Clears all session data.\n */\n const onLogout = useCallback(() => {\n clearSession()\n }, [clearSession])\n\n /**\n * Merges items from a source cart into a target cart.\n * Useful for merging a guest cart into a user's existing cart after login.\n *\n * @param targetCartID - The ID of the cart to merge items into\n * @param sourceCartID - The ID of the cart to merge items from\n * @param sourceSecret - The secret for the source cart (required for guest carts)\n * @returns The merged cart\n */\n const mergeCart = useCallback<EcommerceContextType['mergeCart']>(\n async (targetCartID, sourceCartID, sourceSecret) => {\n setIsLoading(true)\n try {\n const response = await fetch(`${baseAPIURL}/${cartsSlug}/${targetCartID}/merge`, {\n body: JSON.stringify({\n sourceCartID,\n sourceSecret,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (!response.ok) {\n const errorText = await response.text()\n throw new Error(`Failed to merge carts: ${errorText}`)\n }\n\n const result = await response.json()\n\n if (!result.success) {\n throw new Error(result.message || 'Failed to merge carts')\n }\n\n // Refresh cart with proper depth/populate settings for UI\n const refreshedCart = await getCart(targetCartID)\n setCart(refreshedCart)\n setCartID(targetCartID)\n\n return refreshedCart\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error merging carts:', error)\n }\n throw error\n } finally {\n setIsLoading(false)\n }\n },\n [baseAPIURL, cartsSlug, debug, getCart],\n )\n\n /**\n * Called after login to properly set up cart state.\n * Handles merging guest cart with user's existing cart if applicable.\n */\n const onLogin = useCallback(async () => {\n // Store reference to any existing guest cart before fetching user\n const guestCartID = cartID\n const guestSecret = cartSecret\n\n // Fetch fresh user data\n const fetchedUser = await getUser()\n\n if (!fetchedUser) {\n // No user means login failed, keep current state\n return\n }\n\n // Clear the guest cart secret - authenticated users don't need it\n setCartSecret(undefined)\n if (syncLocalStorage) {\n localStorage.removeItem(`${localStorageConfig.key}_secret`)\n }\n\n // Check if user has an existing cart\n const userCartID =\n fetchedUser.cart?.docs && fetchedUser.cart.docs.length > 0\n ? typeof fetchedUser.cart.docs[0] === 'object'\n ? fetchedUser.cart.docs[0].id\n : fetchedUser.cart.docs[0]\n : undefined\n\n if (guestCartID && guestSecret) {\n // Guest had a cart - need to handle merge/transfer\n if (userCartID) {\n // User has existing cart - merge guest cart into user's cart\n try {\n await mergeCart(userCartID, guestCartID, guestSecret)\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error merging carts:', error)\n }\n // Fall back to user's cart\n const userCart = await getCart(userCartID)\n setCart(userCart)\n setCartID(userCartID)\n }\n } else {\n // User has no existing cart - transfer guest cart to user\n try {\n const response = await fetch(\n `${baseAPIURL}/${cartsSlug}/${guestCartID}?secret=${guestSecret}`,\n {\n body: JSON.stringify({\n customer: fetchedUser.id,\n secret: null, // Clear the secret since it's now owned by user\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n },\n )\n\n if (response.ok) {\n // Fetch updated cart\n const updatedCart = await getCart(guestCartID)\n setCart(updatedCart)\n setCartID(guestCartID)\n }\n } catch (error) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error transferring cart to user:', error)\n }\n }\n }\n } else if (userCartID) {\n // No guest cart, but user has a cart - fetch it\n const userCart = await getCart(userCartID)\n setCart(userCart)\n setCartID(userCartID)\n }\n\n // Update localStorage with user's cart ID (no secret needed)\n if (syncLocalStorage && cartID) {\n localStorage.setItem(localStorageConfig.key, cartID as string)\n }\n }, [\n baseAPIURL,\n cartID,\n cartSecret,\n cartsSlug,\n debug,\n getCart,\n getUser,\n localStorageConfig.key,\n mergeCart,\n syncLocalStorage,\n ])\n\n // If localStorage is enabled, restore cart from storage\n useEffect(() => {\n if (!hasRendered.current) {\n if (syncLocalStorage) {\n const storedCartID = localStorage.getItem(localStorageConfig.key)\n const storedSecret = localStorage.getItem(`${localStorageConfig.key}_secret`)\n\n if (storedCartID) {\n getCart(storedCartID, { secret: storedSecret || undefined })\n .then((fetchedCart) => {\n setCart(fetchedCart)\n setCartID(storedCartID as DefaultDocumentIDType)\n if (storedSecret) {\n setCartSecret(storedSecret)\n }\n })\n .catch((_) => {\n // console.error('Error fetching cart from localStorage:', error)\n // If there's an error fetching the cart, clear it from localStorage\n localStorage.removeItem(localStorageConfig.key)\n localStorage.removeItem(`${localStorageConfig.key}_secret`)\n setCartID(undefined)\n setCart(undefined)\n setCartSecret(undefined)\n })\n }\n }\n\n hasRendered.current = true\n\n void getUser().then((user) => {\n if (user && user.cart?.docs && user.cart.docs.length > 0) {\n // If the user has carts, we can set the cartID to the first cart\n const cartID =\n typeof user.cart.docs[0] === 'object' ? user.cart.docs[0].id : user.cart.docs[0]\n\n if (cartID) {\n getCart(cartID)\n .then((fetchedCart) => {\n setCart(fetchedCart)\n setCartID(cartID)\n })\n .catch((error) => {\n if (debug) {\n // eslint-disable-next-line no-console\n console.error('Error fetching user cart:', error)\n }\n\n setCart(undefined)\n setCartID(undefined)\n\n throw new Error(`Failed to fetch user cart: ${error.message}`)\n })\n }\n }\n })\n }\n }, [debug, getAddresses, getCart, getUser, localStorageConfig.key, syncLocalStorage])\n\n useEffect(() => {\n if (user) {\n // If the user is logged in, fetch their addresses\n void getAddresses()\n } else {\n // If no user is logged in, clear addresses\n setAddresses(undefined)\n }\n }, [getAddresses, user])\n\n return (\n <EcommerceContext\n value={{\n addItem,\n addresses,\n cart,\n clearCart,\n clearSession,\n config,\n confirmOrder,\n createAddress,\n currenciesConfig,\n currency: selectedCurrency,\n decrementItem,\n incrementItem,\n initiatePayment,\n isLoading,\n mergeCart,\n onLogin,\n onLogout,\n paymentMethods,\n refreshCart,\n removeItem,\n selectedPaymentMethod,\n setCurrency,\n updateAddress,\n user,\n }}\n >\n {children}\n </EcommerceContext>\n )\n}\n\nexport const useEcommerce = () => {\n const context = use(EcommerceContext)\n\n if (!context) {\n throw new Error('useEcommerce must be used within an EcommerceProvider')\n }\n\n return context\n}\n\nexport const useEcommerceConfig = () => {\n const { config } = useEcommerce()\n\n return config\n}\n\nexport const useCurrency = () => {\n const { currenciesConfig, currency, setCurrency } = useEcommerce()\n\n const formatCurrency = useCallback(\n (value?: null | number, options?: { currency?: Currency; locale?: string }): string => {\n if (value === undefined || value === null) {\n return ''\n }\n\n const currencyToUse = options?.currency || currency\n if (!currencyToUse) {\n return value.toString()\n }\n\n const { code, decimals, symbolDisplay } = currencyToUse\n\n const locale = options?.locale || 'en'\n\n return new Intl.NumberFormat(locale, {\n currency: code,\n currencyDisplay: symbolDisplay || 'symbol',\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals,\n style: 'currency',\n }).format(value / Math.pow(10, decimals))\n },\n [currency],\n )\n\n if (!currency) {\n throw new Error('useCurrency must be used within an EcommerceProvider')\n }\n\n return {\n currency,\n formatCurrency,\n setCurrency,\n supportedCurrencies: currenciesConfig.supportedCurrencies,\n }\n}\n\nexport function useCart<T extends CartsCollection>() {\n const {\n addItem,\n cart,\n clearCart,\n decrementItem,\n incrementItem,\n isLoading,\n refreshCart,\n removeItem,\n } = useEcommerce()\n\n if (!addItem) {\n throw new Error('useCart must be used within an EcommerceProvider')\n }\n\n return {\n addItem,\n cart: cart as T,\n clearCart,\n decrementItem,\n incrementItem,\n isLoading,\n refreshCart,\n removeItem,\n }\n}\n\nexport const usePayments = () => {\n const { confirmOrder, initiatePayment, isLoading, paymentMethods, selectedPaymentMethod } =\n useEcommerce()\n\n if (!initiatePayment) {\n throw new Error('usePayments must be used within an EcommerceProvider')\n }\n\n return { confirmOrder, initiatePayment, isLoading, paymentMethods, selectedPaymentMethod }\n}\n\nexport function useAddresses<T extends AddressesCollection>() {\n const { addresses, createAddress, isLoading, updateAddress } = useEcommerce()\n\n if (!createAddress) {\n throw new Error('usePayments must be used within an EcommerceProvider')\n }\n\n return { addresses: addresses as T[], createAddress, isLoading, updateAddress }\n}\n"],"names":["deepMergeSimple","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","defaultContext","addItem","clearCart","clearSession","config","addressesSlug","api","apiRoute","cartsSlug","customersSlug","confirmOrder","createAddress","currenciesConfig","defaultCurrency","supportedCurrencies","code","decimals","label","symbol","currency","decrementItem","incrementItem","initiatePayment","isLoading","mergeCart","onLogin","onLogout","paymentMethods","refreshCart","removeItem","setCurrency","updateAddress","user","EcommerceContext","defaultLocalStorage","key","EcommerceProvider","children","debug","syncLocalStorage","localStorageConfig","cartsFetchQuery","baseAPIURL","path","setIsLoading","setUser","addresses","setAddresses","hasRendered","cartID","setCartID","cartSecret","setCartSecret","undefined","cart","setCart","selectedCurrency","setSelectedCurrency","find","c","selectedPaymentMethod","setSelectedPaymentMethod","cartQuery","priceField","baseQuery","depth","populate","products","variants","options","select","items","subtotal","createCart","initialData","query","stringify","response","fetch","body","JSON","customer","id","credentials","headers","method","ok","errorText","text","Error","data","json","error","doc","secret","getCart","updatedCart","current","localStorage","setItem","item","quantity","result","success","refreshedCart","newCart","console","targetID","itemID","$inc","foundCurrency","paymentMethodID","paymentMethod","name","additionalData","responseError","responseData","message","pm","getUser","userData","getAddresses","limit","pagination","docs","length","addressID","address","targetCartID","sourceCartID","sourceSecret","guestCartID","guestSecret","fetchedUser","userCartID","userCart","storedCartID","getItem","storedSecret","then","fetchedCart","catch","_","value","useEcommerce","context","useEcommerceConfig","useCurrency","formatCurrency","currencyToUse","toString","symbolDisplay","locale","Intl","NumberFormat","currencyDisplay","maximumFractionDigits","minimumFractionDigits","style","format","Math","pow","useCart","usePayments","useAddresses"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../src/react/provider/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,oBAAoB,6BAG9B;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;CACnB,KAAG,MAUH,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Convert base value to display value with decimal point (e.g., 2500 to $25.00)
3
+ */ export const convertFromBaseValue = ({ baseValue, currency })=>{
4
+ if (!currency) {
5
+ return baseValue.toString();
6
+ }
7
+ // Convert from base value (e.g., cents) to decimal value (e.g., dollars)
8
+ const decimalValue = baseValue / Math.pow(10, currency.decimals);
9
+ // Format with the correct number of decimal places
10
+ return decimalValue.toFixed(currency.decimals);
11
+ };
12
+
13
+ //# sourceMappingURL=utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/react/provider/utilities.ts"],"sourcesContent":["import type { Currency } from '../../types/index.js'\n\n/**\n * Convert base value to display value with decimal point (e.g., 2500 to $25.00)\n */\nexport const convertFromBaseValue = ({\n baseValue,\n currency,\n}: {\n baseValue: number\n currency: Currency\n}): string => {\n if (!currency) {\n return baseValue.toString()\n }\n\n // Convert from base value (e.g., cents) to decimal value (e.g., dollars)\n const decimalValue = baseValue / Math.pow(10, currency.decimals)\n\n // Format with the correct number of decimal places\n return decimalValue.toFixed(currency.decimals)\n}\n"],"names":["convertFromBaseValue","baseValue","currency","toString","decimalValue","Math","pow","decimals","toFixed"],"mappings":"AAEA;;CAEC,GACD,OAAO,MAAMA,uBAAuB,CAAC,EACnCC,SAAS,EACTC,QAAQ,EAIT;IACC,IAAI,CAACA,UAAU;QACb,OAAOD,UAAUE,QAAQ;IAC3B;IAEA,yEAAyE;IACzE,MAAMC,eAAeH,YAAYI,KAAKC,GAAG,CAAC,IAAIJ,SAASK,QAAQ;IAE/D,mDAAmD;IACnD,OAAOH,aAAaI,OAAO,CAACN,SAASK,QAAQ;AAC/C,EAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AA2CjE,eAAO,MAAM,YAAY,EAyCpB,kBAAkB,CAAC,+BAA+B,CAAC,CAAA;AAExD,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAA;AAE7D,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,84 @@
1
+ import { ar } from './languages/ar.js';
2
+ import { az } from './languages/az.js';
3
+ import { bg } from './languages/bg.js';
4
+ import { ca } from './languages/ca.js';
5
+ import { cs } from './languages/cs.js';
6
+ import { da } from './languages/da.js';
7
+ import { de } from './languages/de.js';
8
+ import { en } from './languages/en.js';
9
+ import { es } from './languages/es.js';
10
+ import { et } from './languages/et.js';
11
+ import { fa } from './languages/fa.js';
12
+ import { fr } from './languages/fr.js';
13
+ import { he } from './languages/he.js';
14
+ import { hr } from './languages/hr.js';
15
+ import { hu } from './languages/hu.js';
16
+ import { hy } from './languages/hy.js';
17
+ import { is } from './languages/is.js';
18
+ import { it } from './languages/it.js';
19
+ import { ja } from './languages/ja.js';
20
+ import { ko } from './languages/ko.js';
21
+ import { lt } from './languages/lt.js';
22
+ import { my } from './languages/my.js';
23
+ import { nb } from './languages/nb.js';
24
+ import { nl } from './languages/nl.js';
25
+ import { pl } from './languages/pl.js';
26
+ import { pt } from './languages/pt.js';
27
+ import { ro } from './languages/ro.js';
28
+ import { rs } from './languages/rs.js';
29
+ import { rsLatin } from './languages/rsLatin.js';
30
+ import { ru } from './languages/ru.js';
31
+ import { sk } from './languages/sk.js';
32
+ import { sl } from './languages/sl.js';
33
+ import { sv } from './languages/sv.js';
34
+ import { ta } from './languages/ta.js';
35
+ import { th } from './languages/th.js';
36
+ import { tr } from './languages/tr.js';
37
+ import { uk } from './languages/uk.js';
38
+ import { vi } from './languages/vi.js';
39
+ import { zh } from './languages/zh.js';
40
+ import { zhTw } from './languages/zhTw.js';
41
+ export const translations = {
42
+ ar,
43
+ az,
44
+ bg,
45
+ ca,
46
+ cs,
47
+ da,
48
+ de,
49
+ en,
50
+ es,
51
+ et,
52
+ fa,
53
+ fr,
54
+ he,
55
+ hr,
56
+ hu,
57
+ hy,
58
+ is,
59
+ it,
60
+ ja,
61
+ ko,
62
+ lt,
63
+ my,
64
+ nb,
65
+ nl,
66
+ pl,
67
+ pt,
68
+ ro,
69
+ rs,
70
+ 'rs-latin': rsLatin,
71
+ ru,
72
+ sk,
73
+ sl,
74
+ sv,
75
+ ta,
76
+ th,
77
+ tr,
78
+ uk,
79
+ vi,
80
+ zh,
81
+ 'zh-TW': zhTw
82
+ };
83
+
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import type {\n GenericTranslationsObject,\n NestedKeysStripped,\n SupportedLanguages,\n} from '@payloadcms/translations'\n\nimport type { PluginDefaultTranslationsObject } from './types.js'\n\nimport { ar } from './languages/ar.js'\nimport { az } from './languages/az.js'\nimport { bg } from './languages/bg.js'\nimport { ca } from './languages/ca.js'\nimport { cs } from './languages/cs.js'\nimport { da } from './languages/da.js'\nimport { de } from './languages/de.js'\nimport { en } from './languages/en.js'\nimport { es } from './languages/es.js'\nimport { et } from './languages/et.js'\nimport { fa } from './languages/fa.js'\nimport { fr } from './languages/fr.js'\nimport { he } from './languages/he.js'\nimport { hr } from './languages/hr.js'\nimport { hu } from './languages/hu.js'\nimport { hy } from './languages/hy.js'\nimport { is } from './languages/is.js'\nimport { it } from './languages/it.js'\nimport { ja } from './languages/ja.js'\nimport { ko } from './languages/ko.js'\nimport { lt } from './languages/lt.js'\nimport { my } from './languages/my.js'\nimport { nb } from './languages/nb.js'\nimport { nl } from './languages/nl.js'\nimport { pl } from './languages/pl.js'\nimport { pt } from './languages/pt.js'\nimport { ro } from './languages/ro.js'\nimport { rs } from './languages/rs.js'\nimport { rsLatin } from './languages/rsLatin.js'\nimport { ru } from './languages/ru.js'\nimport { sk } from './languages/sk.js'\nimport { sl } from './languages/sl.js'\nimport { sv } from './languages/sv.js'\nimport { ta } from './languages/ta.js'\nimport { th } from './languages/th.js'\nimport { tr } from './languages/tr.js'\nimport { uk } from './languages/uk.js'\nimport { vi } from './languages/vi.js'\nimport { zh } from './languages/zh.js'\nimport { zhTw } from './languages/zhTw.js'\n\nexport const translations = {\n ar,\n az,\n bg,\n ca,\n cs,\n da,\n de,\n en,\n es,\n et,\n fa,\n fr,\n he,\n hr,\n hu,\n hy,\n is,\n it,\n ja,\n ko,\n lt,\n my,\n nb,\n nl,\n pl,\n pt,\n ro,\n rs,\n 'rs-latin': rsLatin,\n ru,\n sk,\n sl,\n sv,\n ta,\n th,\n tr,\n uk,\n vi,\n zh,\n 'zh-TW': zhTw,\n} as SupportedLanguages<PluginDefaultTranslationsObject>\n\nexport type EcommerceTranslations = GenericTranslationsObject\n\nexport type EcommerceTranslationKeys = NestedKeysStripped<EcommerceTranslations>\n"],"names":["ar","az","bg","ca","cs","da","de","en","es","et","fa","fr","he","hr","hu","hy","is","it","ja","ko","lt","my","nb","nl","pl","pt","ro","rs","rsLatin","ru","sk","sl","sv","ta","th","tr","uk","vi","zh","zhTw","translations"],"mappings":"AAQA,SAASA,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,OAAO,QAAQ,yBAAwB;AAChD,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,IAAI,QAAQ,sBAAqB;AAE1C,OAAO,MAAMC,eAAe;IAC1BxC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,YAAYC;IACZC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,SAASC;AACX,EAAwD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/ar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8F1B,CAAA;AAED,eAAO,MAAM,EAAE,EAAE,cAGhB,CAAA"}
@@ -0,0 +1,92 @@
1
+ export const arTranslations = {
2
+ $schema: './translation-schema.json',
3
+ 'plugin-ecommerce': {
4
+ abandoned: 'مهجور',
5
+ active: 'نشط',
6
+ address: 'عنوان',
7
+ addressCity: 'المدينة',
8
+ addressCompany: 'الشركة',
9
+ addressCountry: 'البلد',
10
+ addresses: 'العناوين',
11
+ addressesCollectionDescription: 'ترتبط العناوين بالعملاء وتُستخدم لملء معلومات الشحن والفواتير مسبقًا عند تقديم الطلبات.',
12
+ addressFirstName: 'الاسم الأول',
13
+ addressLastName: 'اسم العائلة',
14
+ addressLine1: 'العنوان 1',
15
+ addressLine2: 'العنوان 2',
16
+ addressPhone: 'الهاتف',
17
+ addressPostalCode: 'الرمز البريدي',
18
+ addressState: 'الولاية',
19
+ addressTitle: 'العنوان',
20
+ amount: 'المبلغ',
21
+ availableVariants: 'المتغيرات المتاحة',
22
+ billing: 'الفواتير',
23
+ billingAddress: 'عنوان الفواتير',
24
+ cancelled: 'ملغى',
25
+ cart: 'سلة التسوق',
26
+ carts: 'سلات التسوق',
27
+ cartsCollectionDescription: 'تمثل سلات التسوق اختيارات العميل من المنتجات التي ينوي شراءها. ترتبط بالعميل حيثما أمكن، والمستخدمون الضيوف ليس لديهم عميل مرتبط.',
28
+ cartSecret: 'رمز سلة التسوق السري',
29
+ completed: 'مكتمل',
30
+ currency: 'العملة',
31
+ currencyNotSet: 'العملة غير محددة.',
32
+ customer: 'العميل',
33
+ customerEmail: 'بريد العميل الإلكتروني',
34
+ customers: 'العملاء',
35
+ enableCurrencyPrice: `تفعيل سعر {{currency}}`,
36
+ enableVariants: 'تفعيل المتغيرات',
37
+ expired: 'منتهي الصلاحية',
38
+ failed: 'فشل',
39
+ inventory: 'المخزون',
40
+ item: 'عنصر',
41
+ items: 'عناصر',
42
+ open: 'مفتوح',
43
+ order: 'طلب',
44
+ orderDetails: 'تفاصيل الطلب',
45
+ orders: 'الطلبات',
46
+ ordersCollectionDescription: 'تمثل الطلبات نية العميل لشراء منتجات من متجرك. تتضمن تفاصيل مثل المنتجات المطلوبة والكميات والأسعار ومعلومات العميل وحالة الطلب.',
47
+ paymentMethod: 'طريقة الدفع',
48
+ paymentMethods: 'طرق الدفع',
49
+ pending: 'قيد الانتظار',
50
+ price: 'السعر',
51
+ priceIn: 'السعر ({{currency}})',
52
+ priceNotSet: 'السعر غير محدد.',
53
+ prices: 'الأسعار',
54
+ priceSetInVariants: 'السعر محدد في المتغيرات.',
55
+ processing: 'قيد المعالجة',
56
+ product: 'منتج',
57
+ productPriceDescription: 'سيُستخدم هذا السعر أيضًا لفرز وتصفية المنتجات. إذا كانت المتغيرات مفعلة، يمكنك إدخال أدنى أو متوسط السعر للمساعدة في البحث والتصفية، لكن هذا السعر لن يُستخدم عند الدفع.',
58
+ productRequired: 'المنتج مطلوب.',
59
+ products: 'منتجات',
60
+ purchased: 'تم الشراء',
61
+ purchasedAt: 'تاريخ الشراء',
62
+ quantity: 'الكمية',
63
+ refunded: 'تم الاسترداد',
64
+ shipping: 'الشحن',
65
+ shippingAddress: 'عنوان الشحن',
66
+ status: 'الحالة',
67
+ subtotal: 'المجموع الفرعي',
68
+ succeeded: 'نجح',
69
+ transaction: 'معاملة',
70
+ transactionDetails: 'تفاصيل المعاملة',
71
+ transactions: 'المعاملات',
72
+ transactionsCollectionDescription: 'تمثل المعاملات محاولات الدفع للطلب. يمكن أن يكون للطلب معاملات متعددة مرتبطة به، مثل محاولة دفع أولية واسترداد أو تعديلات لاحقة.',
73
+ variant: 'متغير',
74
+ variantOption: 'خيار المتغير',
75
+ variantOptions: 'خيارات المتغير',
76
+ variantOptionsAlreadyExists: 'هذا المزيج من المتغيرات مستخدم بالفعل من قبل متغير آخر. يرجى اختيار خيارات مختلفة.',
77
+ variantOptionsCollectionDescription: 'تحدد خيارات المتغير الخيارات التي يمكن أن يمتلكها نوع المتغير، مثل الأحمر أو الأبيض للألوان.',
78
+ variantOptionsRequired: 'خيارات المتغير مطلوبة.',
79
+ variantOptionsRequiredAll: 'جميع خيارات المتغير مطلوبة.',
80
+ variants: 'المتغيرات',
81
+ variantsCollectionDescription: 'تتيح لك متغيرات المنتج تقديم إصدارات مختلفة من المنتج، مثل الحجم أو اللون. تشير إلى خيارات متغيرات المنتج بناءً على أنواع المتغيرات المعتمدة.',
82
+ variantType: 'نوع المتغير',
83
+ variantTypes: 'أنواع المتغيرات',
84
+ variantTypesCollectionDescription: 'تُستخدم أنواع المتغيرات لتحديد الأنواع المختلفة من المتغيرات التي يمكن أن تمتلكها منتجاتك، مثل الحجم أو اللون. يمكن أن يكون لكل نوع متغير خيارات متعددة مرتبطة به.'
85
+ }
86
+ };
87
+ export const ar = {
88
+ dateFNSKey: 'ar',
89
+ translations: arTranslations
90
+ };
91
+
92
+ //# sourceMappingURL=ar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/translations/languages/ar.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const arTranslations = {\n $schema: './translation-schema.json',\n 'plugin-ecommerce': {\n abandoned: 'مهجور',\n active: 'نشط',\n address: 'عنوان',\n addressCity: 'المدينة',\n addressCompany: 'الشركة',\n addressCountry: 'البلد',\n addresses: 'العناوين',\n addressesCollectionDescription:\n 'ترتبط العناوين بالعملاء وتُستخدم لملء معلومات الشحن والفواتير مسبقًا عند تقديم الطلبات.',\n addressFirstName: 'الاسم الأول',\n addressLastName: 'اسم العائلة',\n addressLine1: 'العنوان 1',\n addressLine2: 'العنوان 2',\n addressPhone: 'الهاتف',\n addressPostalCode: 'الرمز البريدي',\n addressState: 'الولاية',\n addressTitle: 'العنوان',\n amount: 'المبلغ',\n availableVariants: 'المتغيرات المتاحة',\n billing: 'الفواتير',\n billingAddress: 'عنوان الفواتير',\n cancelled: 'ملغى',\n cart: 'سلة التسوق',\n carts: 'سلات التسوق',\n cartsCollectionDescription:\n 'تمثل سلات التسوق اختيارات العميل من المنتجات التي ينوي شراءها. ترتبط بالعميل حيثما أمكن، والمستخدمون الضيوف ليس لديهم عميل مرتبط.',\n cartSecret: 'رمز سلة التسوق السري',\n completed: 'مكتمل',\n currency: 'العملة',\n currencyNotSet: 'العملة غير محددة.',\n customer: 'العميل',\n customerEmail: 'بريد العميل الإلكتروني',\n customers: 'العملاء',\n enableCurrencyPrice: `تفعيل سعر {{currency}}`,\n enableVariants: 'تفعيل المتغيرات',\n expired: 'منتهي الصلاحية',\n failed: 'فشل',\n inventory: 'المخزون',\n item: 'عنصر',\n items: 'عناصر',\n open: 'مفتوح',\n order: 'طلب',\n orderDetails: 'تفاصيل الطلب',\n orders: 'الطلبات',\n ordersCollectionDescription:\n 'تمثل الطلبات نية العميل لشراء منتجات من متجرك. تتضمن تفاصيل مثل المنتجات المطلوبة والكميات والأسعار ومعلومات العميل وحالة الطلب.',\n paymentMethod: 'طريقة الدفع',\n paymentMethods: 'طرق الدفع',\n pending: 'قيد الانتظار',\n price: 'السعر',\n priceIn: 'السعر ({{currency}})',\n priceNotSet: 'السعر غير محدد.',\n prices: 'الأسعار',\n priceSetInVariants: 'السعر محدد في المتغيرات.',\n processing: 'قيد المعالجة',\n product: 'منتج',\n productPriceDescription:\n 'سيُستخدم هذا السعر أيضًا لفرز وتصفية المنتجات. إذا كانت المتغيرات مفعلة، يمكنك إدخال أدنى أو متوسط السعر للمساعدة في البحث والتصفية، لكن هذا السعر لن يُستخدم عند الدفع.',\n productRequired: 'المنتج مطلوب.',\n products: 'منتجات',\n purchased: 'تم الشراء',\n purchasedAt: 'تاريخ الشراء',\n quantity: 'الكمية',\n refunded: 'تم الاسترداد',\n shipping: 'الشحن',\n shippingAddress: 'عنوان الشحن',\n status: 'الحالة',\n subtotal: 'المجموع الفرعي',\n succeeded: 'نجح',\n transaction: 'معاملة',\n transactionDetails: 'تفاصيل المعاملة',\n transactions: 'المعاملات',\n transactionsCollectionDescription:\n 'تمثل المعاملات محاولات الدفع للطلب. يمكن أن يكون للطلب معاملات متعددة مرتبطة به، مثل محاولة دفع أولية واسترداد أو تعديلات لاحقة.',\n variant: 'متغير',\n variantOption: 'خيار المتغير',\n variantOptions: 'خيارات المتغير',\n variantOptionsAlreadyExists:\n 'هذا المزيج من المتغيرات مستخدم بالفعل من قبل متغير آخر. يرجى اختيار خيارات مختلفة.',\n variantOptionsCollectionDescription:\n 'تحدد خيارات المتغير الخيارات التي يمكن أن يمتلكها نوع المتغير، مثل الأحمر أو الأبيض للألوان.',\n variantOptionsRequired: 'خيارات المتغير مطلوبة.',\n variantOptionsRequiredAll: 'جميع خيارات المتغير مطلوبة.',\n variants: 'المتغيرات',\n variantsCollectionDescription:\n 'تتيح لك متغيرات المنتج تقديم إصدارات مختلفة من المنتج، مثل الحجم أو اللون. تشير إلى خيارات متغيرات المنتج بناءً على أنواع المتغيرات المعتمدة.',\n variantType: 'نوع المتغير',\n variantTypes: 'أنواع المتغيرات',\n variantTypesCollectionDescription:\n 'تُستخدم أنواع المتغيرات لتحديد الأنواع المختلفة من المتغيرات التي يمكن أن تمتلكها منتجاتك، مثل الحجم أو اللون. يمكن أن يكون لكل نوع متغير خيارات متعددة مرتبطة به.',\n },\n}\n\nexport const ar: PluginLanguage = {\n dateFNSKey: 'ar',\n translations: arTranslations,\n}\n"],"names":["arTranslations","$schema","abandoned","active","address","addressCity","addressCompany","addressCountry","addresses","addressesCollectionDescription","addressFirstName","addressLastName","addressLine1","addressLine2","addressPhone","addressPostalCode","addressState","addressTitle","amount","availableVariants","billing","billingAddress","cancelled","cart","carts","cartsCollectionDescription","cartSecret","completed","currency","currencyNotSet","customer","customerEmail","customers","enableCurrencyPrice","enableVariants","expired","failed","inventory","item","items","open","order","orderDetails","orders","ordersCollectionDescription","paymentMethod","paymentMethods","pending","price","priceIn","priceNotSet","prices","priceSetInVariants","processing","product","productPriceDescription","productRequired","products","purchased","purchasedAt","quantity","refunded","shipping","shippingAddress","status","subtotal","succeeded","transaction","transactionDetails","transactions","transactionsCollectionDescription","variant","variantOption","variantOptions","variantOptionsAlreadyExists","variantOptionsCollectionDescription","variantOptionsRequired","variantOptionsRequiredAll","variants","variantsCollectionDescription","variantType","variantTypes","variantTypesCollectionDescription","ar","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB;IAC5BC,SAAS;IACT,oBAAoB;QAClBC,WAAW;QACXC,QAAQ;QACRC,SAAS;QACTC,aAAa;QACbC,gBAAgB;QAChBC,gBAAgB;QAChBC,WAAW;QACXC,gCACE;QACFC,kBAAkB;QAClBC,iBAAiB;QACjBC,cAAc;QACdC,cAAc;QACdC,cAAc;QACdC,mBAAmB;QACnBC,cAAc;QACdC,cAAc;QACdC,QAAQ;QACRC,mBAAmB;QACnBC,SAAS;QACTC,gBAAgB;QAChBC,WAAW;QACXC,MAAM;QACNC,OAAO;QACPC,4BACE;QACFC,YAAY;QACZC,WAAW;QACXC,UAAU;QACVC,gBAAgB;QAChBC,UAAU;QACVC,eAAe;QACfC,WAAW;QACXC,qBAAqB,CAAC,sBAAsB,CAAC;QAC7CC,gBAAgB;QAChBC,SAAS;QACTC,QAAQ;QACRC,WAAW;QACXC,MAAM;QACNC,OAAO;QACPC,MAAM;QACNC,OAAO;QACPC,cAAc;QACdC,QAAQ;QACRC,6BACE;QACFC,eAAe;QACfC,gBAAgB;QAChBC,SAAS;QACTC,OAAO;QACPC,SAAS;QACTC,aAAa;QACbC,QAAQ;QACRC,oBAAoB;QACpBC,YAAY;QACZC,SAAS;QACTC,yBACE;QACFC,iBAAiB;QACjBC,UAAU;QACVC,WAAW;QACXC,aAAa;QACbC,UAAU;QACVC,UAAU;QACVC,UAAU;QACVC,iBAAiB;QACjBC,QAAQ;QACRC,UAAU;QACVC,WAAW;QACXC,aAAa;QACbC,oBAAoB;QACpBC,cAAc;QACdC,mCACE;QACFC,SAAS;QACTC,eAAe;QACfC,gBAAgB;QAChBC,6BACE;QACFC,qCACE;QACFC,wBAAwB;QACxBC,2BAA2B;QAC3BC,UAAU;QACVC,+BACE;QACFC,aAAa;QACbC,cAAc;QACdC,mCACE;IACJ;AACF,EAAC;AAED,OAAO,MAAMC,KAAqB;IAChCC,YAAY;IACZC,cAAcrF;AAChB,EAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"az.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/az.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8F1B,CAAA;AAED,eAAO,MAAM,EAAE,EAAE,cAGhB,CAAA"}
@@ -0,0 +1,92 @@
1
+ export const azTranslations = {
2
+ $schema: './translation-schema.json',
3
+ 'plugin-ecommerce': {
4
+ abandoned: 'Tərk edilmiş',
5
+ active: 'Aktiv',
6
+ address: 'Ünvan',
7
+ addressCity: 'Şəhər',
8
+ addressCompany: 'Şirkət',
9
+ addressCountry: 'Ölkə',
10
+ addresses: 'Ünvanlar',
11
+ addressesCollectionDescription: 'Ünvanlar müştərilərlə əlaqələndirilir və sifariş verərkən çatdırılma və faktura məlumatlarını əvvəlcədən doldurmaq üçün istifadə olunur.',
12
+ addressFirstName: 'Ad',
13
+ addressLastName: 'Soyad',
14
+ addressLine1: 'Ünvan 1',
15
+ addressLine2: 'Ünvan 2',
16
+ addressPhone: 'Telefon',
17
+ addressPostalCode: 'Poçt kodu',
18
+ addressState: 'Vilayət',
19
+ addressTitle: 'Başlıq',
20
+ amount: 'Məbləğ',
21
+ availableVariants: 'Mövcud variantlar',
22
+ billing: 'Faktura',
23
+ billingAddress: 'Faktura ünvanı',
24
+ cancelled: 'Ləğv edildi',
25
+ cart: 'Səbət',
26
+ carts: 'Səbətlər',
27
+ cartsCollectionDescription: 'Səbətlər müştərinin almaq niyyətində olduğu məhsulların seçimini təmsil edir. Mümkün olduqda müştəri ilə əlaqələndirilir və qonaq istifadəçilərin əlaqəli müştərisi yoxdur.',
28
+ cartSecret: 'Səbət sirri',
29
+ completed: 'Tamamlandı',
30
+ currency: 'Valyuta',
31
+ currencyNotSet: 'Valyuta təyin edilməyib.',
32
+ customer: 'Müştəri',
33
+ customerEmail: 'Müştəri e-poçtu',
34
+ customers: 'Müştərilər',
35
+ enableCurrencyPrice: `{{currency}} qiymətini aktivləşdir`,
36
+ enableVariants: 'Variantları aktivləşdir',
37
+ expired: 'Müddəti bitib',
38
+ failed: 'Uğursuz',
39
+ inventory: 'İnventar',
40
+ item: 'Element',
41
+ items: 'Elementlər',
42
+ open: 'Açıq',
43
+ order: 'Sifariş',
44
+ orderDetails: 'Sifariş detalları',
45
+ orders: 'Sifarişlər',
46
+ ordersCollectionDescription: 'Sifarişlər müştərinin mağazanızdan məhsul almaq niyyətini təmsil edir. Sifariş edilən məhsullar, miqdarlar, qiymətlər, müştəri məlumatları və sifariş statusu kimi detalları əhatə edir.',
47
+ paymentMethod: 'Ödəniş üsulu',
48
+ paymentMethods: 'Ödəniş üsulları',
49
+ pending: 'Gözləyir',
50
+ price: 'Qiymət',
51
+ priceIn: 'Qiymət ({{currency}})',
52
+ priceNotSet: 'Qiymət təyin edilməyib.',
53
+ prices: 'Qiymətlər',
54
+ priceSetInVariants: 'Qiymət variantlarda təyin edilib.',
55
+ processing: 'Emal olunur',
56
+ product: 'Məhsul',
57
+ productPriceDescription: 'Bu qiymət həmçinin məhsulları sıralamaq və filtrlə üçün istifadə olunacaq. Variantlar aktivdirsə, axtarış və filtrlə üçün kömək etmək üçün ən aşağı və ya orta qiyməti daxil edə bilərsiniz, lakin bu qiymət ödəniş zamanı istifadə olunmayacaq.',
58
+ productRequired: 'Məhsul tələb olunur.',
59
+ products: 'Məhsullar',
60
+ purchased: 'Satın alındı',
61
+ purchasedAt: 'Satın alınma tarixi',
62
+ quantity: 'Miqdar',
63
+ refunded: 'Geri qaytarıldı',
64
+ shipping: 'Çatdırılma',
65
+ shippingAddress: 'Çatdırılma ünvanı',
66
+ status: 'Status',
67
+ subtotal: 'Ara cəm',
68
+ succeeded: 'Uğurlu',
69
+ transaction: 'Əməliyyat',
70
+ transactionDetails: 'Əməliyyat detalları',
71
+ transactions: 'Əməliyyatlar',
72
+ transactionsCollectionDescription: 'Əməliyyatlar sifariş üçün edilən ödəniş cəhdlərini təmsil edir. Bir sifarişin bir neçə əməliyyatı ola bilər, məsələn, ilkin ödəniş cəhdi və sonrakı geri qaytarmalar və ya düzəlişlər.',
73
+ variant: 'Variant',
74
+ variantOption: 'Variant seçimi',
75
+ variantOptions: 'Variant seçimləri',
76
+ variantOptionsAlreadyExists: 'Bu variant kombinasiyası artıq başqa bir variant tərəfindən istifadə olunur. Zəhmət olmasa fərqli seçimlər edin.',
77
+ variantOptionsCollectionDescription: 'Variant seçimləri variant növünün malik ola biləcəyi seçimləri müəyyən edir, məsələn, rənglər üçün qırmızı və ya ağ.',
78
+ variantOptionsRequired: 'Variant seçimləri tələb olunur.',
79
+ variantOptionsRequiredAll: 'Bütün variant seçimləri tələb olunur.',
80
+ variants: 'Variantlar',
81
+ variantsCollectionDescription: 'Məhsul variantları məhsulun fərqli versiyalarını, məsələn, ölçü və ya rəng dəyişikliklərini təklif etməyə imkan verir. Təsdiqlənmiş variant növlərinə əsaslanaraq məhsulun variant seçimlərinə istinad edirlər.',
82
+ variantType: 'Variant növü',
83
+ variantTypes: 'Variant növləri',
84
+ variantTypesCollectionDescription: 'Variant növləri məhsullarınızın malik ola biləcəyi fərqli variant növlərini, məsələn, ölçü və ya rəng müəyyən etmək üçün istifadə olunur. Hər variant növünün bir neçə əlaqəli seçimi ola bilər.'
85
+ }
86
+ };
87
+ export const az = {
88
+ dateFNSKey: 'az',
89
+ translations: azTranslations
90
+ };
91
+
92
+ //# sourceMappingURL=az.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/translations/languages/az.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const azTranslations = {\n $schema: './translation-schema.json',\n 'plugin-ecommerce': {\n abandoned: 'Tərk edilmiş',\n active: 'Aktiv',\n address: 'Ünvan',\n addressCity: 'Şəhər',\n addressCompany: 'Şirkət',\n addressCountry: 'Ölkə',\n addresses: 'Ünvanlar',\n addressesCollectionDescription:\n 'Ünvanlar müştərilərlə əlaqələndirilir və sifariş verərkən çatdırılma və faktura məlumatlarını əvvəlcədən doldurmaq üçün istifadə olunur.',\n addressFirstName: 'Ad',\n addressLastName: 'Soyad',\n addressLine1: 'Ünvan 1',\n addressLine2: 'Ünvan 2',\n addressPhone: 'Telefon',\n addressPostalCode: 'Poçt kodu',\n addressState: 'Vilayət',\n addressTitle: 'Başlıq',\n amount: 'Məbləğ',\n availableVariants: 'Mövcud variantlar',\n billing: 'Faktura',\n billingAddress: 'Faktura ünvanı',\n cancelled: 'Ləğv edildi',\n cart: 'Səbət',\n carts: 'Səbətlər',\n cartsCollectionDescription:\n 'Səbətlər müştərinin almaq niyyətində olduğu məhsulların seçimini təmsil edir. Mümkün olduqda müştəri ilə əlaqələndirilir və qonaq istifadəçilərin əlaqəli müştərisi yoxdur.',\n cartSecret: 'Səbət sirri',\n completed: 'Tamamlandı',\n currency: 'Valyuta',\n currencyNotSet: 'Valyuta təyin edilməyib.',\n customer: 'Müştəri',\n customerEmail: 'Müştəri e-poçtu',\n customers: 'Müştərilər',\n enableCurrencyPrice: `{{currency}} qiymətini aktivləşdir`,\n enableVariants: 'Variantları aktivləşdir',\n expired: 'Müddəti bitib',\n failed: 'Uğursuz',\n inventory: 'İnventar',\n item: 'Element',\n items: 'Elementlər',\n open: 'Açıq',\n order: 'Sifariş',\n orderDetails: 'Sifariş detalları',\n orders: 'Sifarişlər',\n ordersCollectionDescription:\n 'Sifarişlər müştərinin mağazanızdan məhsul almaq niyyətini təmsil edir. Sifariş edilən məhsullar, miqdarlar, qiymətlər, müştəri məlumatları və sifariş statusu kimi detalları əhatə edir.',\n paymentMethod: 'Ödəniş üsulu',\n paymentMethods: 'Ödəniş üsulları',\n pending: 'Gözləyir',\n price: 'Qiymət',\n priceIn: 'Qiymət ({{currency}})',\n priceNotSet: 'Qiymət təyin edilməyib.',\n prices: 'Qiymətlər',\n priceSetInVariants: 'Qiymət variantlarda təyin edilib.',\n processing: 'Emal olunur',\n product: 'Məhsul',\n productPriceDescription:\n 'Bu qiymət həmçinin məhsulları sıralamaq və filtrlə üçün istifadə olunacaq. Variantlar aktivdirsə, axtarış və filtrlə üçün kömək etmək üçün ən aşağı və ya orta qiyməti daxil edə bilərsiniz, lakin bu qiymət ödəniş zamanı istifadə olunmayacaq.',\n productRequired: 'Məhsul tələb olunur.',\n products: 'Məhsullar',\n purchased: 'Satın alındı',\n purchasedAt: 'Satın alınma tarixi',\n quantity: 'Miqdar',\n refunded: 'Geri qaytarıldı',\n shipping: 'Çatdırılma',\n shippingAddress: 'Çatdırılma ünvanı',\n status: 'Status',\n subtotal: 'Ara cəm',\n succeeded: 'Uğurlu',\n transaction: 'Əməliyyat',\n transactionDetails: 'Əməliyyat detalları',\n transactions: 'Əməliyyatlar',\n transactionsCollectionDescription:\n 'Əməliyyatlar sifariş üçün edilən ödəniş cəhdlərini təmsil edir. Bir sifarişin bir neçə əməliyyatı ola bilər, məsələn, ilkin ödəniş cəhdi və sonrakı geri qaytarmalar və ya düzəlişlər.',\n variant: 'Variant',\n variantOption: 'Variant seçimi',\n variantOptions: 'Variant seçimləri',\n variantOptionsAlreadyExists:\n 'Bu variant kombinasiyası artıq başqa bir variant tərəfindən istifadə olunur. Zəhmət olmasa fərqli seçimlər edin.',\n variantOptionsCollectionDescription:\n 'Variant seçimləri variant növünün malik ola biləcəyi seçimləri müəyyən edir, məsələn, rənglər üçün qırmızı və ya ağ.',\n variantOptionsRequired: 'Variant seçimləri tələb olunur.',\n variantOptionsRequiredAll: 'Bütün variant seçimləri tələb olunur.',\n variants: 'Variantlar',\n variantsCollectionDescription:\n 'Məhsul variantları məhsulun fərqli versiyalarını, məsələn, ölçü və ya rəng dəyişikliklərini təklif etməyə imkan verir. Təsdiqlənmiş variant növlərinə əsaslanaraq məhsulun variant seçimlərinə istinad edirlər.',\n variantType: 'Variant növü',\n variantTypes: 'Variant növləri',\n variantTypesCollectionDescription:\n 'Variant növləri məhsullarınızın malik ola biləcəyi fərqli variant növlərini, məsələn, ölçü və ya rəng müəyyən etmək üçün istifadə olunur. Hər variant növünün bir neçə əlaqəli seçimi ola bilər.',\n },\n}\n\nexport const az: PluginLanguage = {\n dateFNSKey: 'az',\n translations: azTranslations,\n}\n"],"names":["azTranslations","$schema","abandoned","active","address","addressCity","addressCompany","addressCountry","addresses","addressesCollectionDescription","addressFirstName","addressLastName","addressLine1","addressLine2","addressPhone","addressPostalCode","addressState","addressTitle","amount","availableVariants","billing","billingAddress","cancelled","cart","carts","cartsCollectionDescription","cartSecret","completed","currency","currencyNotSet","customer","customerEmail","customers","enableCurrencyPrice","enableVariants","expired","failed","inventory","item","items","open","order","orderDetails","orders","ordersCollectionDescription","paymentMethod","paymentMethods","pending","price","priceIn","priceNotSet","prices","priceSetInVariants","processing","product","productPriceDescription","productRequired","products","purchased","purchasedAt","quantity","refunded","shipping","shippingAddress","status","subtotal","succeeded","transaction","transactionDetails","transactions","transactionsCollectionDescription","variant","variantOption","variantOptions","variantOptionsAlreadyExists","variantOptionsCollectionDescription","variantOptionsRequired","variantOptionsRequiredAll","variants","variantsCollectionDescription","variantType","variantTypes","variantTypesCollectionDescription","az","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB;IAC5BC,SAAS;IACT,oBAAoB;QAClBC,WAAW;QACXC,QAAQ;QACRC,SAAS;QACTC,aAAa;QACbC,gBAAgB;QAChBC,gBAAgB;QAChBC,WAAW;QACXC,gCACE;QACFC,kBAAkB;QAClBC,iBAAiB;QACjBC,cAAc;QACdC,cAAc;QACdC,cAAc;QACdC,mBAAmB;QACnBC,cAAc;QACdC,cAAc;QACdC,QAAQ;QACRC,mBAAmB;QACnBC,SAAS;QACTC,gBAAgB;QAChBC,WAAW;QACXC,MAAM;QACNC,OAAO;QACPC,4BACE;QACFC,YAAY;QACZC,WAAW;QACXC,UAAU;QACVC,gBAAgB;QAChBC,UAAU;QACVC,eAAe;QACfC,WAAW;QACXC,qBAAqB,CAAC,kCAAkC,CAAC;QACzDC,gBAAgB;QAChBC,SAAS;QACTC,QAAQ;QACRC,WAAW;QACXC,MAAM;QACNC,OAAO;QACPC,MAAM;QACNC,OAAO;QACPC,cAAc;QACdC,QAAQ;QACRC,6BACE;QACFC,eAAe;QACfC,gBAAgB;QAChBC,SAAS;QACTC,OAAO;QACPC,SAAS;QACTC,aAAa;QACbC,QAAQ;QACRC,oBAAoB;QACpBC,YAAY;QACZC,SAAS;QACTC,yBACE;QACFC,iBAAiB;QACjBC,UAAU;QACVC,WAAW;QACXC,aAAa;QACbC,UAAU;QACVC,UAAU;QACVC,UAAU;QACVC,iBAAiB;QACjBC,QAAQ;QACRC,UAAU;QACVC,WAAW;QACXC,aAAa;QACbC,oBAAoB;QACpBC,cAAc;QACdC,mCACE;QACFC,SAAS;QACTC,eAAe;QACfC,gBAAgB;QAChBC,6BACE;QACFC,qCACE;QACFC,wBAAwB;QACxBC,2BAA2B;QAC3BC,UAAU;QACVC,+BACE;QACFC,aAAa;QACbC,cAAc;QACdC,mCACE;IACJ;AACF,EAAC;AAED,OAAO,MAAMC,KAAqB;IAChCC,YAAY;IACZC,cAAcrF;AAChB,EAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bg.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/bg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8F1B,CAAA;AAED,eAAO,MAAM,EAAE,EAAE,cAGhB,CAAA"}
@@ -0,0 +1,92 @@
1
+ export const bgTranslations = {
2
+ $schema: './translation-schema.json',
3
+ 'plugin-ecommerce': {
4
+ abandoned: 'Изоставена',
5
+ active: 'Активен',
6
+ address: 'Адрес',
7
+ addressCity: 'Град',
8
+ addressCompany: 'Компания',
9
+ addressCountry: 'Държава',
10
+ addresses: 'Адреси',
11
+ addressesCollectionDescription: 'Адресите са свързани с клиенти и се използват за предварително попълване на информация за доставка и фактуриране при поръчки.',
12
+ addressFirstName: 'Име',
13
+ addressLastName: 'Фамилия',
14
+ addressLine1: 'Адрес 1',
15
+ addressLine2: 'Адрес 2',
16
+ addressPhone: 'Телефон',
17
+ addressPostalCode: 'Пощенски код',
18
+ addressState: 'Област',
19
+ addressTitle: 'Заглавие',
20
+ amount: 'Сума',
21
+ availableVariants: 'Налични варианти',
22
+ billing: 'Фактуриране',
23
+ billingAddress: 'Адрес за фактуриране',
24
+ cancelled: 'Отменена',
25
+ cart: 'Количка',
26
+ carts: 'Колички',
27
+ cartsCollectionDescription: 'Количките представляват избора на продукти, които клиентът възнамерява да закупи. Те са свързани с клиент, когато е възможно, а гостуващите потребители нямат свързан клиент.',
28
+ cartSecret: 'Таен код на количката',
29
+ completed: 'Завършена',
30
+ currency: 'Валута',
31
+ currencyNotSet: 'Валутата не е зададена.',
32
+ customer: 'Клиент',
33
+ customerEmail: 'Имейл на клиента',
34
+ customers: 'Клиенти',
35
+ enableCurrencyPrice: `Активиране на цена в {{currency}}`,
36
+ enableVariants: 'Активиране на варианти',
37
+ expired: 'Изтекла',
38
+ failed: 'Неуспешна',
39
+ inventory: 'Инвентар',
40
+ item: 'Артикул',
41
+ items: 'Артикули',
42
+ open: 'Отворена',
43
+ order: 'Поръчка',
44
+ orderDetails: 'Детайли на поръчката',
45
+ orders: 'Поръчки',
46
+ ordersCollectionDescription: 'Поръчките представляват намерението на клиента да закупи продукти от вашия магазин. Те включват детайли като поръчани продукти, количества, цени, информация за клиента и статус на поръчката.',
47
+ paymentMethod: 'Метод на плащане',
48
+ paymentMethods: 'Методи на плащане',
49
+ pending: 'Изчакваща',
50
+ price: 'Цена',
51
+ priceIn: 'Цена ({{currency}})',
52
+ priceNotSet: 'Цената не е зададена.',
53
+ prices: 'Цени',
54
+ priceSetInVariants: 'Цената е зададена във вариантите.',
55
+ processing: 'Обработва се',
56
+ product: 'Продукт',
57
+ productPriceDescription: 'Тази цена ще се използва и за сортиране и филтриране на продукти. Ако имате активирани варианти, можете да въведете най-ниската или средната цена за помощ при търсене и филтриране, но тази цена няма да се използва при плащане.',
58
+ productRequired: 'Изисква се продукт.',
59
+ products: 'Продукти',
60
+ purchased: 'Закупено',
61
+ purchasedAt: 'Закупено на',
62
+ quantity: 'Количество',
63
+ refunded: 'Възстановено',
64
+ shipping: 'Доставка',
65
+ shippingAddress: 'Адрес за доставка',
66
+ status: 'Статус',
67
+ subtotal: 'Междинна сума',
68
+ succeeded: 'Успешно',
69
+ transaction: 'Транзакция',
70
+ transactionDetails: 'Детайли на транзакцията',
71
+ transactions: 'Транзакции',
72
+ transactionsCollectionDescription: 'Транзакциите представляват опити за плащане, направени за поръчка. Една поръчка може да има множество свързани транзакции, като първоначален опит за плащане и последващи възстановявания или корекции.',
73
+ variant: 'Вариант',
74
+ variantOption: 'Опция на вариант',
75
+ variantOptions: 'Опции на варианти',
76
+ variantOptionsAlreadyExists: 'Тази комбинация от варианти вече се използва от друг вариант. Моля, изберете различни опции.',
77
+ variantOptionsCollectionDescription: 'Опциите на варианти определят опциите, които един тип вариант може да има, като червено или бяло за цветове.',
78
+ variantOptionsRequired: 'Изискват се опции на варианти.',
79
+ variantOptionsRequiredAll: 'Всички опции на варианти са задължителни.',
80
+ variants: 'Варианти',
81
+ variantsCollectionDescription: 'Вариантите на продуктите ви позволяват да предлагате различни версии на продукт, като размер или цвят. Те се позовават на опциите на вариантите на продукта въз основа на одобрените типове варианти.',
82
+ variantType: 'Тип вариант',
83
+ variantTypes: 'Типове варианти',
84
+ variantTypesCollectionDescription: 'Типовете варианти се използват за определяне на различните типове варианти, които вашите продукти могат да имат, като размер или цвят. Всеки тип вариант може да има множество свързани опции.'
85
+ }
86
+ };
87
+ export const bg = {
88
+ dateFNSKey: 'bg',
89
+ translations: bgTranslations
90
+ };
91
+
92
+ //# sourceMappingURL=bg.js.map