@payloadcms/plugin-ecommerce 4.0.0-internal.38b7f1d → 4.0.0-internal.3b50481

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 (138) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +6 -0
  3. package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -1
  4. package/dist/collections/addresses/createAddressesCollection.js +1 -0
  5. package/dist/collections/addresses/createAddressesCollection.js.map +1 -1
  6. package/dist/collections/addresses/hooks/beforeChange.d.ts.map +1 -1
  7. package/dist/collections/addresses/hooks/beforeChange.js +3 -2
  8. package/dist/collections/addresses/hooks/beforeChange.js.map +1 -1
  9. package/dist/collections/carts/beforeChange.d.ts.map +1 -1
  10. package/dist/collections/carts/beforeChange.js +2 -0
  11. package/dist/collections/carts/beforeChange.js.map +1 -1
  12. package/dist/collections/carts/createCartsCollection.d.ts.map +1 -1
  13. package/dist/collections/carts/createCartsCollection.js +1 -0
  14. package/dist/collections/carts/createCartsCollection.js.map +1 -1
  15. package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -1
  16. package/dist/collections/orders/createOrdersCollection.js +1 -0
  17. package/dist/collections/orders/createOrdersCollection.js.map +1 -1
  18. package/dist/collections/products/createProductsCollection.d.ts.map +1 -1
  19. package/dist/collections/products/createProductsCollection.js +1 -0
  20. package/dist/collections/products/createProductsCollection.js.map +1 -1
  21. package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -1
  22. package/dist/collections/transactions/createTransactionsCollection.js +1 -0
  23. package/dist/collections/transactions/createTransactionsCollection.js.map +1 -1
  24. package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -1
  25. package/dist/collections/variants/createVariantOptionsCollection.js +1 -0
  26. package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -1
  27. package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -1
  28. package/dist/collections/variants/createVariantTypesCollection.js +1 -0
  29. package/dist/collections/variants/createVariantTypesCollection.js.map +1 -1
  30. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -1
  31. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +2 -0
  32. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -1
  33. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -1
  34. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +1 -0
  35. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -1
  36. package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -1
  37. package/dist/collections/variants/createVariantsCollection/index.js +1 -0
  38. package/dist/collections/variants/createVariantsCollection/index.js.map +1 -1
  39. package/dist/endpoints/confirmOrder.d.ts.map +1 -1
  40. package/dist/endpoints/confirmOrder.js +306 -44
  41. package/dist/endpoints/confirmOrder.js.map +1 -1
  42. package/dist/endpoints/initiatePayment.d.ts.map +1 -1
  43. package/dist/endpoints/initiatePayment.js +2 -0
  44. package/dist/endpoints/initiatePayment.js.map +1 -1
  45. package/dist/exports/types.d.ts +1 -1
  46. package/dist/exports/types.d.ts.map +1 -1
  47. package/dist/exports/types.js.map +1 -1
  48. package/dist/fields/pricesField.d.ts.map +1 -1
  49. package/dist/fields/pricesField.js +39 -39
  50. package/dist/fields/pricesField.js.map +1 -1
  51. package/dist/fields/statusField.d.ts.map +1 -1
  52. package/dist/fields/statusField.js +5 -0
  53. package/dist/fields/statusField.js.map +1 -1
  54. package/dist/index.d.ts +1 -2
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +25 -24
  57. package/dist/index.js.map +1 -1
  58. package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -1
  59. package/dist/payments/adapters/stripe/confirmOrder.js +108 -75
  60. package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -1
  61. package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -1
  62. package/dist/payments/adapters/stripe/initiatePayment.js +1 -0
  63. package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -1
  64. package/dist/payments/adapters/stripe/validateSettlement.d.ts +37 -0
  65. package/dist/payments/adapters/stripe/validateSettlement.d.ts.map +1 -0
  66. package/dist/payments/adapters/stripe/validateSettlement.js +157 -0
  67. package/dist/payments/adapters/stripe/validateSettlement.js.map +1 -0
  68. package/dist/react/provider/index.d.ts.map +1 -1
  69. package/dist/react/provider/index.js +75 -34
  70. package/dist/react/provider/index.js.map +1 -1
  71. package/dist/translations/languages/ar.d.ts.map +1 -1
  72. package/dist/translations/languages/az.d.ts.map +1 -1
  73. package/dist/translations/languages/bg.d.ts.map +1 -1
  74. package/dist/translations/languages/ca.d.ts.map +1 -1
  75. package/dist/translations/languages/cs.d.ts.map +1 -1
  76. package/dist/translations/languages/da.d.ts.map +1 -1
  77. package/dist/translations/languages/de.d.ts.map +1 -1
  78. package/dist/translations/languages/en.d.ts.map +1 -1
  79. package/dist/translations/languages/es.d.ts.map +1 -1
  80. package/dist/translations/languages/et.d.ts.map +1 -1
  81. package/dist/translations/languages/fa.d.ts.map +1 -1
  82. package/dist/translations/languages/fr.d.ts.map +1 -1
  83. package/dist/translations/languages/he.d.ts.map +1 -1
  84. package/dist/translations/languages/hr.d.ts.map +1 -1
  85. package/dist/translations/languages/hu.d.ts.map +1 -1
  86. package/dist/translations/languages/hy.d.ts.map +1 -1
  87. package/dist/translations/languages/is.d.ts.map +1 -1
  88. package/dist/translations/languages/it.d.ts.map +1 -1
  89. package/dist/translations/languages/ja.d.ts.map +1 -1
  90. package/dist/translations/languages/ko.d.ts.map +1 -1
  91. package/dist/translations/languages/lt.d.ts.map +1 -1
  92. package/dist/translations/languages/my.d.ts.map +1 -1
  93. package/dist/translations/languages/nb.d.ts.map +1 -1
  94. package/dist/translations/languages/nl.d.ts.map +1 -1
  95. package/dist/translations/languages/pl.d.ts.map +1 -1
  96. package/dist/translations/languages/pt.d.ts.map +1 -1
  97. package/dist/translations/languages/ro.d.ts.map +1 -1
  98. package/dist/translations/languages/rs.d.ts.map +1 -1
  99. package/dist/translations/languages/rsLatin.d.ts.map +1 -1
  100. package/dist/translations/languages/ru.d.ts.map +1 -1
  101. package/dist/translations/languages/sk.d.ts.map +1 -1
  102. package/dist/translations/languages/sl.d.ts.map +1 -1
  103. package/dist/translations/languages/sv.d.ts.map +1 -1
  104. package/dist/translations/languages/ta.d.ts.map +1 -1
  105. package/dist/translations/languages/th.d.ts.map +1 -1
  106. package/dist/translations/languages/tr.d.ts.map +1 -1
  107. package/dist/translations/languages/uk.d.ts.map +1 -1
  108. package/dist/translations/languages/vi.d.ts.map +1 -1
  109. package/dist/translations/languages/zh.d.ts.map +1 -1
  110. package/dist/translations/languages/zhTw.d.ts.map +1 -1
  111. package/dist/types/index.d.ts +33 -7
  112. package/dist/types/index.d.ts.map +1 -1
  113. package/dist/types/index.js.map +1 -1
  114. package/dist/ui/PriceInput/FormattedInput.js +2 -2
  115. package/dist/ui/PriceInput/FormattedInput.js.map +1 -1
  116. package/dist/ui/PriceInput/index.css +19 -31
  117. package/dist/ui/PriceInput/index.d.ts.map +1 -1
  118. package/dist/ui/PriceInput/index.js.map +1 -1
  119. package/dist/ui/PriceRowLabel/index.css +2 -2
  120. package/dist/ui/VariantOptionsSelector/index.css +8 -10
  121. package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -1
  122. package/dist/ui/VariantOptionsSelector/index.js +3 -1
  123. package/dist/ui/VariantOptionsSelector/index.js.map +1 -1
  124. package/dist/utilities/pushTypeScriptProperties.js +1 -1
  125. package/dist/utilities/pushTypeScriptProperties.js.map +1 -1
  126. package/package.json +10 -10
  127. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js +0 -358
  128. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js.map +0 -1
  129. package/dist/payments/adapters/stripe/confirmOrder.spec.js +0 -166
  130. package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +0 -1
  131. package/dist/utilities/accessComposition.spec.js +0 -765
  132. package/dist/utilities/accessComposition.spec.js.map +0 -1
  133. package/dist/utilities/defaultProductsValidation.spec.js +0 -384
  134. package/dist/utilities/defaultProductsValidation.spec.js.map +0 -1
  135. package/dist/utilities/getCollectionSlugMap.spec.js +0 -254
  136. package/dist/utilities/getCollectionSlugMap.spec.js.map +0 -1
  137. package/dist/utilities/sanitizePluginConfig.spec.js +0 -516
  138. package/dist/utilities/sanitizePluginConfig.spec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/exports/types.ts"],"sourcesContent":["export type {\n CollectionOverride,\n CollectionSlugMap,\n ContextProps,\n CountryType,\n CurrenciesConfig,\n Currency,\n EcommerceCollections,\n EcommerceConfig,\n EcommerceContextType,\n EcommercePluginConfig,\n PaymentAdapter,\n PaymentAdapterArgs,\n PaymentAdapterClient,\n PaymentAdapterClientArgs,\n ProductsValidation,\n SanitizedEcommercePluginConfig,\n} from '../types/index.js'\n\nexport type { TypedEcommerce } from '../types/utilities.js'\n"],"names":[],"mappings":"AAmBA,WAA2D"}
1
+ {"version":3,"sources":["../../src/exports/types.ts"],"sourcesContent":["export type {\n CollectionOverride,\n CollectionSlugMap,\n ContextProps,\n CountryType,\n CurrenciesConfig,\n Currency,\n EcommerceCollections,\n EcommerceConfig,\n EcommerceContextType,\n EcommercePluginConfig,\n PaymentAdapter,\n PaymentAdapterArgs,\n PaymentAdapterClient,\n PaymentAdapterClientArgs,\n ProductsValidation,\n SanitizedEcommercePluginConfig,\n UserWithCart,\n} from '../types/index.js'\n\nexport type { TypedEcommerce } from '../types/utilities.js'\n"],"names":[],"mappings":"AAoBA,WAA2D"}
@@ -1 +1 @@
1
- {"version":3,"file":"pricesField.d.ts","sourceRoot":"","sources":["../../src/fields/pricesField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIzD,KAAK,KAAK,GAAG;IACX;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,gBAAgB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,EAuDrD,CAAA"}
1
+ {"version":3,"file":"pricesField.d.ts","sourceRoot":"","sources":["../../src/fields/pricesField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAY,MAAM,SAAS,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIzD,KAAK,KAAK,GAAG;IACX;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,gBAAgB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,EAuDrD,CAAA"}
@@ -1,54 +1,54 @@
1
1
  import { amountField } from './amountField.js';
2
2
  export const pricesField = ({ conditionalPath, currenciesConfig })=>{
3
3
  const currencies = currenciesConfig.supportedCurrencies;
4
- const fields = currencies.map((currency)=>{
4
+ const rows = currencies.map((currency)=>{
5
5
  const name = `priceIn${currency.code}`;
6
6
  const path = conditionalPath ? `${conditionalPath}.${name}Enabled` : `${name}Enabled`;
7
7
  return {
8
- type: 'group',
9
- admin: {
10
- description: 'Prices for this product in different currencies.'
11
- },
8
+ type: 'row',
12
9
  fields: [
13
10
  {
14
- type: 'row',
15
- fields: [
16
- {
17
- name: `${name}Enabled`,
18
- type: 'checkbox',
19
- admin: {
20
- style: {
21
- alignSelf: 'baseline',
22
- flex: '0 0 auto'
23
- }
24
- },
25
- label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
26
- t('plugin-ecommerce:enableCurrencyPrice', {
27
- currency: currency.code
28
- })
29
- },
30
- amountField({
31
- currenciesConfig,
32
- currency,
33
- overrides: {
34
- name,
35
- admin: {
36
- condition: (_, siblingData)=>Boolean(siblingData?.[path]),
37
- description: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
38
- t('plugin-ecommerce:productPriceDescription')
39
- },
40
- // @ts-expect-error - translations are not typed in plugins yet
41
- label: ({ t })=>t('plugin-ecommerce:priceIn', {
42
- currency: currency.code
43
- })
44
- }
11
+ name: `${name}Enabled`,
12
+ type: 'checkbox',
13
+ admin: {
14
+ style: {
15
+ alignSelf: 'baseline',
16
+ flex: '0 0 auto'
17
+ }
18
+ },
19
+ label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
20
+ t('plugin-ecommerce:enableCurrencyPrice', {
21
+ currency: currency.code
45
22
  })
46
- ]
47
- }
23
+ },
24
+ amountField({
25
+ currenciesConfig,
26
+ currency,
27
+ overrides: {
28
+ name,
29
+ admin: {
30
+ condition: (_, siblingData)=>Boolean(siblingData?.[path]),
31
+ description: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
32
+ t('plugin-ecommerce:productPriceDescription')
33
+ },
34
+ // @ts-expect-error - translations are not typed in plugins yet
35
+ label: ({ t })=>t('plugin-ecommerce:priceIn', {
36
+ currency: currency.code
37
+ })
38
+ }
39
+ })
48
40
  ]
49
41
  };
50
42
  });
51
- return fields;
43
+ return [
44
+ {
45
+ type: 'group',
46
+ admin: {
47
+ description: 'Prices for this product in different currencies.'
48
+ },
49
+ fields: rows
50
+ }
51
+ ];
52
52
  };
53
53
 
54
54
  //# sourceMappingURL=pricesField.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/fields/pricesField.ts"],"sourcesContent":["import type { GroupField } from 'payload'\n\nimport type { CurrenciesConfig } from '../types/index.js'\n\nimport { amountField } from './amountField.js'\n\ntype Props = {\n /**\n * Use this to specify a path for the condition.\n */\n conditionalPath?: string\n currenciesConfig: CurrenciesConfig\n}\n\nexport const pricesField: (props: Props) => GroupField[] = ({\n conditionalPath,\n currenciesConfig,\n}) => {\n const currencies = currenciesConfig.supportedCurrencies\n\n const fields: GroupField[] = currencies.map((currency) => {\n const name = `priceIn${currency.code}`\n\n const path = conditionalPath ? `${conditionalPath}.${name}Enabled` : `${name}Enabled`\n\n return {\n type: 'group',\n admin: {\n description: 'Prices for this product in different currencies.',\n },\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: `${name}Enabled`,\n type: 'checkbox',\n admin: {\n style: {\n alignSelf: 'baseline',\n flex: '0 0 auto',\n },\n },\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:enableCurrencyPrice', { currency: currency.code }),\n },\n amountField({\n currenciesConfig,\n currency,\n overrides: {\n name,\n admin: {\n condition: (_, siblingData) => Boolean(siblingData?.[path]),\n description: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:productPriceDescription'),\n },\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:priceIn', { currency: currency.code }),\n },\n }),\n ],\n },\n ],\n }\n })\n\n return fields\n}\n"],"names":["amountField","pricesField","conditionalPath","currenciesConfig","currencies","supportedCurrencies","fields","map","currency","name","code","path","type","admin","description","style","alignSelf","flex","label","t","overrides","condition","_","siblingData","Boolean"],"mappings":"AAIA,SAASA,WAAW,QAAQ,mBAAkB;AAU9C,OAAO,MAAMC,cAA8C,CAAC,EAC1DC,eAAe,EACfC,gBAAgB,EACjB;IACC,MAAMC,aAAaD,iBAAiBE,mBAAmB;IAEvD,MAAMC,SAAuBF,WAAWG,GAAG,CAAC,CAACC;QAC3C,MAAMC,OAAO,CAAC,OAAO,EAAED,SAASE,IAAI,EAAE;QAEtC,MAAMC,OAAOT,kBAAkB,GAAGA,gBAAgB,CAAC,EAAEO,KAAK,OAAO,CAAC,GAAG,GAAGA,KAAK,OAAO,CAAC;QAErF,OAAO;YACLG,MAAM;YACNC,OAAO;gBACLC,aAAa;YACf;YACAR,QAAQ;gBACN;oBACEM,MAAM;oBACNN,QAAQ;wBACN;4BACEG,MAAM,GAAGA,KAAK,OAAO,CAAC;4BACtBG,MAAM;4BACNC,OAAO;gCACLE,OAAO;oCACLC,WAAW;oCACXC,MAAM;gCACR;4BACF;4BACAC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gCAC/DA,EAAE,wCAAwC;oCAAEX,UAAUA,SAASE,IAAI;gCAAC;wBACxE;wBACAV,YAAY;4BACVG;4BACAK;4BACAY,WAAW;gCACTX;gCACAI,OAAO;oCACLQ,WAAW,CAACC,GAAGC,cAAgBC,QAAQD,aAAa,CAACZ,KAAK;oCAC1DG,aAAa,CAAC,EAAEK,CAAC,EAAE,GACjB,+DAA+D;wCAC/DA,EAAE;gCACN;gCACA,+DAA+D;gCAC/DD,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE,4BAA4B;wCAAEX,UAAUA,SAASE,IAAI;oCAAC;4BAC5E;wBACF;qBACD;gBACH;aACD;QACH;IACF;IAEA,OAAOJ;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/fields/pricesField.ts"],"sourcesContent":["import type { GroupField, RowField } from 'payload'\n\nimport type { CurrenciesConfig } from '../types/index.js'\n\nimport { amountField } from './amountField.js'\n\ntype Props = {\n /**\n * Use this to specify a path for the condition.\n */\n conditionalPath?: string\n currenciesConfig: CurrenciesConfig\n}\n\nexport const pricesField: (props: Props) => GroupField[] = ({\n conditionalPath,\n currenciesConfig,\n}) => {\n const currencies = currenciesConfig.supportedCurrencies\n\n const rows: RowField[] = currencies.map((currency) => {\n const name = `priceIn${currency.code}`\n\n const path = conditionalPath ? `${conditionalPath}.${name}Enabled` : `${name}Enabled`\n\n return {\n type: 'row',\n fields: [\n {\n name: `${name}Enabled`,\n type: 'checkbox',\n admin: {\n style: {\n alignSelf: 'baseline',\n flex: '0 0 auto',\n },\n },\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:enableCurrencyPrice', { currency: currency.code }),\n },\n amountField({\n currenciesConfig,\n currency,\n overrides: {\n name,\n admin: {\n condition: (_, siblingData) => Boolean(siblingData?.[path]),\n description: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:productPriceDescription'),\n },\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:priceIn', { currency: currency.code }),\n },\n }),\n ],\n }\n })\n\n return [\n {\n type: 'group',\n admin: {\n description: 'Prices for this product in different currencies.',\n },\n fields: rows,\n },\n ]\n}\n"],"names":["amountField","pricesField","conditionalPath","currenciesConfig","currencies","supportedCurrencies","rows","map","currency","name","code","path","type","fields","admin","style","alignSelf","flex","label","t","overrides","condition","_","siblingData","Boolean","description"],"mappings":"AAIA,SAASA,WAAW,QAAQ,mBAAkB;AAU9C,OAAO,MAAMC,cAA8C,CAAC,EAC1DC,eAAe,EACfC,gBAAgB,EACjB;IACC,MAAMC,aAAaD,iBAAiBE,mBAAmB;IAEvD,MAAMC,OAAmBF,WAAWG,GAAG,CAAC,CAACC;QACvC,MAAMC,OAAO,CAAC,OAAO,EAAED,SAASE,IAAI,EAAE;QAEtC,MAAMC,OAAOT,kBAAkB,GAAGA,gBAAgB,CAAC,EAAEO,KAAK,OAAO,CAAC,GAAG,GAAGA,KAAK,OAAO,CAAC;QAErF,OAAO;YACLG,MAAM;YACNC,QAAQ;gBACN;oBACEJ,MAAM,GAAGA,KAAK,OAAO,CAAC;oBACtBG,MAAM;oBACNE,OAAO;wBACLC,OAAO;4BACLC,WAAW;4BACXC,MAAM;wBACR;oBACF;oBACAC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;wBAC/DA,EAAE,wCAAwC;4BAAEX,UAAUA,SAASE,IAAI;wBAAC;gBACxE;gBACAV,YAAY;oBACVG;oBACAK;oBACAY,WAAW;wBACTX;wBACAK,OAAO;4BACLO,WAAW,CAACC,GAAGC,cAAgBC,QAAQD,aAAa,CAACZ,KAAK;4BAC1Dc,aAAa,CAAC,EAAEN,CAAC,EAAE,GACjB,+DAA+D;gCAC/DA,EAAE;wBACN;wBACA,+DAA+D;wBAC/DD,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE,4BAA4B;gCAAEX,UAAUA,SAASE,IAAI;4BAAC;oBAC5E;gBACF;aACD;QACH;IACF;IAEA,OAAO;QACL;YACEE,MAAM;YACNE,OAAO;gBACLW,aAAa;YACf;YACAZ,QAAQP;QACV;KACD;AACH,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"statusField.d.ts","sourceRoot":"","sources":["../../src/fields/statusField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,SAAS,CA+BhD,CAAA;AAED,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,WAiB5C,CAAA"}
1
+ {"version":3,"file":"statusField.d.ts","sourceRoot":"","sources":["../../src/fields/statusField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,SAAS,CAoChD,CAAA;AAED,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,WAiB5C,CAAA"}
@@ -4,6 +4,11 @@ export const statusOptions = [
4
4
  label: ({ t })=>t('plugin-ecommerce:pending'),
5
5
  value: 'pending'
6
6
  },
7
+ {
8
+ // @ts-expect-error - translations are not typed in plugins yet
9
+ label: ({ t })=>t('plugin-ecommerce:processing'),
10
+ value: 'processing'
11
+ },
7
12
  {
8
13
  // @ts-expect-error - translations are not typed in plugins yet
9
14
  label: ({ t })=>t('plugin-ecommerce:succeeded'),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/fields/statusField.ts"],"sourcesContent":["import type { SelectField } from 'payload'\n\nexport const statusOptions: SelectField['options'] = [\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:pending'),\n value: 'pending',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:succeeded'),\n value: 'succeeded',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:failed'),\n value: 'failed',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:cancelled'),\n value: 'cancelled',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:expired'),\n value: 'expired',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:refunded'),\n value: 'refunded',\n },\n]\n\ntype Props = {\n overrides?: Partial<SelectField>\n}\n\nexport const statusField: (props?: Props) => SelectField = (props) => {\n const { overrides } = props || {}\n\n // @ts-expect-error - issue with payload types\n const field: SelectField = {\n name: 'status',\n type: 'select',\n defaultValue: 'pending',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:status'),\n options: statusOptions,\n required: true,\n ...overrides,\n }\n\n return field\n}\n"],"names":["statusOptions","label","t","value","statusField","props","overrides","field","name","type","defaultValue","options","required"],"mappings":"AAEA,OAAO,MAAMA,gBAAwC;IACnD;QACE,+DAA+D;QAC/DC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;CACD,CAAA;AAMD,OAAO,MAAMC,cAA8C,CAACC;IAC1D,MAAM,EAAEC,SAAS,EAAE,GAAGD,SAAS,CAAC;IAEhC,8CAA8C;IAC9C,MAAME,QAAqB;QACzBC,MAAM;QACNC,MAAM;QACNC,cAAc;QACdT,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;YAC/DA,EAAE;QACJS,SAASX;QACTY,UAAU;QACV,GAAGN,SAAS;IACd;IAEA,OAAOC;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/fields/statusField.ts"],"sourcesContent":["import type { SelectField } from 'payload'\n\nexport const statusOptions: SelectField['options'] = [\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:pending'),\n value: 'pending',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:processing'),\n value: 'processing',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:succeeded'),\n value: 'succeeded',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:failed'),\n value: 'failed',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:cancelled'),\n value: 'cancelled',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:expired'),\n value: 'expired',\n },\n {\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:refunded'),\n value: 'refunded',\n },\n]\n\ntype Props = {\n overrides?: Partial<SelectField>\n}\n\nexport const statusField: (props?: Props) => SelectField = (props) => {\n const { overrides } = props || {}\n\n // @ts-expect-error - issue with payload types\n const field: SelectField = {\n name: 'status',\n type: 'select',\n defaultValue: 'pending',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:status'),\n options: statusOptions,\n required: true,\n ...overrides,\n }\n\n return field\n}\n"],"names":["statusOptions","label","t","value","statusField","props","overrides","field","name","type","defaultValue","options","required"],"mappings":"AAEA,OAAO,MAAMA,gBAAwC;IACnD;QACE,+DAA+D;QAC/DC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACE,+DAA+D;QAC/DF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;CACD,CAAA;AAMD,OAAO,MAAMC,cAA8C,CAACC;IAC1D,MAAM,EAAEC,SAAS,EAAE,GAAGD,SAAS,CAAC;IAEhC,8CAA8C;IAC9C,MAAME,QAAqB;QACzBC,MAAM;QACNC,MAAM;QACNC,cAAc;QACdT,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;YAC/DA,EAAE;QACJS,SAASX;QACTY,UAAU;QACV,GAAGN,SAAS;IACd;IAEA,OAAOC;AACT,EAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import type { Config } from 'payload';
2
1
  import type { EcommercePluginConfig } from './types/index.js';
3
2
  import { createAddressesCollection } from './collections/addresses/createAddressesCollection.js';
4
3
  import { createCartsCollection } from './collections/carts/createCartsCollection.js';
@@ -8,7 +7,7 @@ import { createTransactionsCollection } from './collections/transactions/createT
8
7
  import { createVariantOptionsCollection } from './collections/variants/createVariantOptionsCollection.js';
9
8
  import { createVariantsCollection } from './collections/variants/createVariantsCollection/index.js';
10
9
  import { createVariantTypesCollection } from './collections/variants/createVariantTypesCollection.js';
11
- export declare const ecommercePlugin: (pluginConfig?: EcommercePluginConfig) => (incomingConfig: Config) => Promise<Config>;
10
+ export declare const ecommercePlugin: (options?: EcommercePluginConfig | undefined) => import("payload").Plugin;
12
11
  export { createAddressesCollection, createCartsCollection, createOrdersCollection, createProductsCollection, createTransactionsCollection, createVariantOptionsCollection, createVariantsCollection, createVariantTypesCollection, };
13
12
  export { addItem } from './collections/carts/operations/addItem.js';
14
13
  export { clearCart } from './collections/carts/operations/clearCart.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,SAAS,CAAA;AAK/C,OAAO,KAAK,EAAE,qBAAqB,EAAkC,MAAM,kBAAkB,CAAA;AAE7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAA;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,4DAA4D,CAAA;AACzG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAA;AACzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAA;AACnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAA;AAQrG,eAAO,MAAM,eAAe,kBACV,qBAAqB,sBACd,MAAM,KAAG,OAAO,CAAC,MAAM,CAqV7C,CAAA;AAEH,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,GAC7B,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAA;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAA;AACzE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAkC,MAAM,kBAAkB,CAAA;AAE7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAA;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,4DAA4D,CAAA;AACzG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAA;AACzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAA;AACnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAA;AAQrG,eAAO,MAAM,eAAe,2EAmV1B,CAAA;AAEF,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,GAC7B,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAA;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAA;AACzE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { deepMergeSimple } from 'payload/shared';
1
+ import { definePlugin } from 'payload';
2
2
  import { createAddressesCollection } from './collections/addresses/createAddressesCollection.js';
3
3
  import { createCartsCollection } from './collections/carts/createCartsCollection.js';
4
4
  import { createOrdersCollection } from './collections/orders/createOrdersCollection.js';
@@ -13,7 +13,9 @@ import { translations } from './translations/index.js';
13
13
  import { getCollectionSlugMap } from './utilities/getCollectionSlugMap.js';
14
14
  import { pushTypeScriptProperties } from './utilities/pushTypeScriptProperties.js';
15
15
  import { sanitizePluginConfig } from './utilities/sanitizePluginConfig.js';
16
- export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
16
+ export const ecommercePlugin = definePlugin({
17
+ slug: '@payloadcms/plugin-ecommerce',
18
+ plugin: async ({ config: incomingConfig, options: pluginConfig })=>{
17
19
  if (!pluginConfig) {
18
20
  return incomingConfig;
19
21
  }
@@ -121,6 +123,7 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
121
123
  customersSlug: collectionSlugMap.customers,
122
124
  enableVariants,
123
125
  productsSlug: collectionSlugMap.products,
126
+ transactionsSlug: collectionSlugMap.transactions,
124
127
  variantsSlug: collectionSlugMap.variants ?? 'variants'
125
128
  });
126
129
  const ordersCollection = sanitizedPluginConfig.orders && typeof sanitizedPluginConfig.orders === 'object' && 'ordersCollectionOverride' in sanitizedPluginConfig.orders && sanitizedPluginConfig.orders.ordersCollectionOverride ? await sanitizedPluginConfig.orders.ordersCollectionOverride({
@@ -202,32 +205,29 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
202
205
  if (!incomingConfig.i18n) {
203
206
  incomingConfig.i18n = {};
204
207
  }
205
- if (!incomingConfig.i18n?.translations) {
208
+ if (!incomingConfig.i18n.translations) {
206
209
  incomingConfig.i18n.translations = {};
207
210
  }
208
- incomingConfig.i18n.translations = deepMergeSimple(translations, incomingConfig.i18n?.translations);
209
211
  /**
210
- * Merge plugin translations
211
- */ if (!incomingConfig.i18n) {
212
- incomingConfig.i18n = {};
213
- }
214
- Object.entries(translations).forEach(([locale, pluginI18nObject])=>{
215
- const typedLocale = locale;
216
- if (!incomingConfig.i18n.translations) {
217
- incomingConfig.i18n.translations = {};
218
- }
219
- if (!(typedLocale in incomingConfig.i18n.translations)) {
220
- incomingConfig.i18n.translations[typedLocale] = {};
212
+ * Merge plugin translations — only for languages the user has enabled.
213
+ * Plugins run before sanitize, so `supportedLanguages` may be undefined; sanitize will
214
+ * default it to `{ en }`, so we mirror that here. Plugin-ecommerce translations always
215
+ * win over user-provided ones for the `plugin-ecommerce` namespace.
216
+ */ const supportedLanguageKeys = incomingConfig.i18n?.supportedLanguages ? Object.keys(incomingConfig.i18n.supportedLanguages) : [
217
+ 'en'
218
+ ];
219
+ for (const lang of supportedLanguageKeys){
220
+ const pluginEntry = translations[lang];
221
+ if (!pluginEntry) {
222
+ continue;
221
223
  }
222
- if (!('plugin-ecommerce' in incomingConfig.i18n.translations[typedLocale])) {
223
- ;
224
- incomingConfig.i18n.translations[typedLocale]['plugin-ecommerce'] = {};
225
- }
226
- ;
227
- incomingConfig.i18n.translations[typedLocale]['plugin-ecommerce'] = {
228
- ...pluginI18nObject.translations['plugin-ecommerce']
224
+ const typedLocale = lang;
225
+ const existing = incomingConfig.i18n.translations[typedLocale] ?? {};
226
+ incomingConfig.i18n.translations[typedLocale] = {
227
+ ...existing,
228
+ 'plugin-ecommerce': pluginEntry.translations['plugin-ecommerce']
229
229
  };
230
- });
230
+ }
231
231
  if (!incomingConfig.typescript) {
232
232
  incomingConfig.typescript = {};
233
233
  }
@@ -240,7 +240,8 @@ export const ecommercePlugin = (pluginConfig)=>async (incomingConfig)=>{
240
240
  sanitizedPluginConfig
241
241
  }));
242
242
  return incomingConfig;
243
- };
243
+ }
244
+ });
244
245
  export { createAddressesCollection, createCartsCollection, createOrdersCollection, createProductsCollection, createTransactionsCollection, createVariantOptionsCollection, createVariantsCollection, createVariantTypesCollection, };
245
246
  export { addItem } from './collections/carts/operations/addItem.js';
246
247
  export { clearCart } from './collections/carts/operations/clearCart.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { Config, Endpoint } from 'payload'\n\nimport { deepMergeSimple } from 'payload/shared'\n\nimport type { PluginDefaultTranslationsObject } from './translations/types.js'\nimport type { EcommercePluginConfig, SanitizedEcommercePluginConfig } from './types/index.js'\n\nimport { createAddressesCollection } from './collections/addresses/createAddressesCollection.js'\nimport { createCartsCollection } from './collections/carts/createCartsCollection.js'\nimport { createOrdersCollection } from './collections/orders/createOrdersCollection.js'\nimport { createProductsCollection } from './collections/products/createProductsCollection.js'\nimport { createTransactionsCollection } from './collections/transactions/createTransactionsCollection.js'\nimport { createVariantOptionsCollection } from './collections/variants/createVariantOptionsCollection.js'\nimport { createVariantsCollection } from './collections/variants/createVariantsCollection/index.js'\nimport { createVariantTypesCollection } from './collections/variants/createVariantTypesCollection.js'\nimport { confirmOrderHandler } from './endpoints/confirmOrder.js'\nimport { initiatePaymentHandler } from './endpoints/initiatePayment.js'\nimport { translations } from './translations/index.js'\nimport { getCollectionSlugMap } from './utilities/getCollectionSlugMap.js'\nimport { pushTypeScriptProperties } from './utilities/pushTypeScriptProperties.js'\nimport { sanitizePluginConfig } from './utilities/sanitizePluginConfig.js'\n\nexport const ecommercePlugin =\n (pluginConfig?: EcommercePluginConfig) =>\n async (incomingConfig: Config): Promise<Config> => {\n if (!pluginConfig) {\n return incomingConfig\n }\n\n const sanitizedPluginConfig = sanitizePluginConfig({ pluginConfig })\n\n const accessConfig = sanitizedPluginConfig.access\n\n // Ensure collections exists\n if (!incomingConfig.collections) {\n incomingConfig.collections = []\n }\n\n // Determine if variants are enabled based on products config\n const productsConfig =\n typeof sanitizedPluginConfig.products === 'boolean'\n ? sanitizedPluginConfig.products\n ? { variants: true }\n : undefined\n : sanitizedPluginConfig.products\n\n const enableVariants = Boolean(productsConfig?.variants)\n\n /**\n * Used to keep track of the slugs of collections in case they are overridden by the user.\n * Variant-related slugs are only included when variants are enabled.\n */\n const collectionSlugMap = getCollectionSlugMap({ enableVariants, sanitizedPluginConfig })\n\n const currenciesConfig: Required<SanitizedEcommercePluginConfig['currencies']> =\n sanitizedPluginConfig.currencies\n\n let addressFields\n\n if (sanitizedPluginConfig.addresses) {\n addressFields = sanitizedPluginConfig.addresses.addressFields\n\n const supportedCountries = sanitizedPluginConfig.addresses.supportedCountries\n\n const defaultAddressesCollection = createAddressesCollection({\n access: accessConfig,\n addressFields,\n customersSlug: collectionSlugMap.customers,\n supportedCountries,\n })\n\n const addressesCollection =\n sanitizedPluginConfig.addresses &&\n typeof sanitizedPluginConfig.addresses === 'object' &&\n 'addressesCollectionOverride' in sanitizedPluginConfig.addresses &&\n sanitizedPluginConfig.addresses.addressesCollectionOverride\n ? await sanitizedPluginConfig.addresses.addressesCollectionOverride({\n defaultCollection: defaultAddressesCollection,\n })\n : defaultAddressesCollection\n\n incomingConfig.collections.push(addressesCollection)\n }\n\n if (productsConfig) {\n if (productsConfig.variants) {\n const variantsConfig =\n typeof productsConfig.variants === 'boolean' ? undefined : productsConfig.variants\n\n const defaultVariantsCollection = createVariantsCollection({\n access: accessConfig,\n currenciesConfig,\n inventory: sanitizedPluginConfig.inventory,\n productsSlug: collectionSlugMap.products,\n variantOptionsSlug: collectionSlugMap.variantOptions ?? 'variantOptions',\n variantTypesSlug: collectionSlugMap.variantTypes ?? 'variantTypes',\n })\n\n const variants =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantsCollectionOverride' in variantsConfig &&\n variantsConfig.variantsCollectionOverride\n ? await variantsConfig.variantsCollectionOverride({\n defaultCollection: defaultVariantsCollection,\n })\n : defaultVariantsCollection\n\n const defaultVariantTypesCollection = createVariantTypesCollection({\n access: accessConfig,\n variantOptionsSlug: collectionSlugMap.variantOptions ?? 'variantOptions',\n })\n\n const variantTypes =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantTypesCollectionOverride' in variantsConfig &&\n variantsConfig.variantTypesCollectionOverride\n ? await variantsConfig.variantTypesCollectionOverride({\n defaultCollection: defaultVariantTypesCollection,\n })\n : defaultVariantTypesCollection\n\n const defaultVariantOptionsCollection = createVariantOptionsCollection({\n access: accessConfig,\n variantTypesSlug: collectionSlugMap.variantTypes ?? 'variantTypes',\n })\n\n const variantOptions =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantOptionsCollectionOverride' in variantsConfig &&\n variantsConfig.variantOptionsCollectionOverride\n ? await variantsConfig.variantOptionsCollectionOverride({\n defaultCollection: defaultVariantOptionsCollection,\n })\n : defaultVariantOptionsCollection\n\n incomingConfig.collections.push(variants, variantTypes, variantOptions)\n }\n\n const defaultProductsCollection = createProductsCollection({\n access: accessConfig,\n currenciesConfig,\n enableVariants,\n inventory: sanitizedPluginConfig.inventory,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n variantTypesSlug: collectionSlugMap.variantTypes ?? 'variantTypes',\n })\n\n const productsCollection =\n productsConfig &&\n 'productsCollectionOverride' in productsConfig &&\n productsConfig.productsCollectionOverride\n ? await productsConfig.productsCollectionOverride({\n defaultCollection: defaultProductsCollection,\n })\n : defaultProductsCollection\n\n incomingConfig.collections.push(productsCollection)\n\n if (sanitizedPluginConfig.carts) {\n const cartsConfig =\n typeof sanitizedPluginConfig.carts === 'object' ? sanitizedPluginConfig.carts : {}\n\n const defaultCartsCollection = createCartsCollection({\n access: accessConfig,\n allowGuestCarts: cartsConfig.allowGuestCarts,\n cartItemMatcher: cartsConfig.cartItemMatcher,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants: Boolean(productsConfig.variants),\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n })\n\n const cartsCollection =\n sanitizedPluginConfig.carts &&\n typeof sanitizedPluginConfig.carts === 'object' &&\n 'cartsCollectionOverride' in sanitizedPluginConfig.carts &&\n sanitizedPluginConfig.carts.cartsCollectionOverride\n ? await sanitizedPluginConfig.carts.cartsCollectionOverride({\n defaultCollection: defaultCartsCollection,\n })\n : defaultCartsCollection\n\n incomingConfig.collections.push(cartsCollection)\n }\n }\n\n if (sanitizedPluginConfig.orders) {\n const defaultOrdersCollection = createOrdersCollection({\n access: accessConfig,\n addressFields,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants,\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n })\n\n const ordersCollection =\n sanitizedPluginConfig.orders &&\n typeof sanitizedPluginConfig.orders === 'object' &&\n 'ordersCollectionOverride' in sanitizedPluginConfig.orders &&\n sanitizedPluginConfig.orders.ordersCollectionOverride\n ? await sanitizedPluginConfig.orders.ordersCollectionOverride({\n defaultCollection: defaultOrdersCollection,\n })\n : defaultOrdersCollection\n\n incomingConfig.collections.push(ordersCollection)\n }\n\n const paymentMethods = sanitizedPluginConfig.payments.paymentMethods\n\n if (sanitizedPluginConfig.payments) {\n if (paymentMethods.length) {\n if (!Array.isArray(incomingConfig.endpoints)) {\n incomingConfig.endpoints = []\n }\n\n const productsValidation =\n (typeof sanitizedPluginConfig.products === 'object' &&\n sanitizedPluginConfig.products.validation) ||\n undefined\n\n paymentMethods.forEach((paymentMethod) => {\n const methodPath = `/payments/${paymentMethod.name}`\n const endpoints: Endpoint[] = []\n\n const initiatePayment: Endpoint = {\n handler: initiatePaymentHandler({\n currenciesConfig,\n inventory: sanitizedPluginConfig.inventory,\n paymentMethod,\n productsSlug: collectionSlugMap.products,\n productsValidation,\n transactionsSlug: collectionSlugMap.transactions,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n }),\n method: 'post',\n path: `${methodPath}/initiate`,\n }\n\n const confirmOrder: Endpoint = {\n handler: confirmOrderHandler({\n cartsSlug: collectionSlugMap.carts,\n currenciesConfig,\n ordersSlug: collectionSlugMap.orders,\n paymentMethod,\n productsSlug: collectionSlugMap.products,\n productsValidation,\n transactionsSlug: collectionSlugMap.transactions,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n }),\n method: 'post',\n path: `${methodPath}/confirm-order`,\n }\n\n endpoints.push(initiatePayment, confirmOrder)\n\n // Attach any additional endpoints defined in the payment method\n if (paymentMethod.endpoints && paymentMethod.endpoints.length > 0) {\n const methodEndpoints = paymentMethod.endpoints.map((endpoint) => {\n const path = endpoint.path.startsWith('/') ? endpoint.path : `/${endpoint.path}`\n\n return {\n ...endpoint,\n path: `${methodPath}${path}`,\n }\n })\n\n endpoints.push(...methodEndpoints)\n }\n\n incomingConfig.endpoints!.push(...endpoints)\n })\n }\n }\n\n if (sanitizedPluginConfig.transactions) {\n const defaultTransactionsCollection = createTransactionsCollection({\n access: accessConfig,\n addressFields,\n cartsSlug: collectionSlugMap.carts,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants,\n ordersSlug: collectionSlugMap.orders,\n paymentMethods,\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n })\n\n const transactionsCollection =\n sanitizedPluginConfig.transactions &&\n typeof sanitizedPluginConfig.transactions === 'object' &&\n 'transactionsCollectionOverride' in sanitizedPluginConfig.transactions &&\n sanitizedPluginConfig.transactions.transactionsCollectionOverride\n ? await sanitizedPluginConfig.transactions.transactionsCollectionOverride({\n defaultCollection: defaultTransactionsCollection,\n })\n : defaultTransactionsCollection\n\n incomingConfig.collections.push(transactionsCollection)\n }\n\n if (!incomingConfig.i18n) {\n incomingConfig.i18n = {}\n }\n\n if (!incomingConfig.i18n?.translations) {\n incomingConfig.i18n.translations = {}\n }\n\n incomingConfig.i18n.translations = deepMergeSimple(\n translations,\n incomingConfig.i18n?.translations,\n )\n\n /**\n * Merge plugin translations\n */\n if (!incomingConfig.i18n) {\n incomingConfig.i18n = {}\n }\n Object.entries(translations).forEach(([locale, pluginI18nObject]) => {\n const typedLocale = locale as AcceptedLanguages\n if (!incomingConfig.i18n!.translations) {\n incomingConfig.i18n!.translations = {}\n }\n if (!(typedLocale in incomingConfig.i18n!.translations)) {\n incomingConfig.i18n!.translations[typedLocale] = {}\n }\n if (!('plugin-ecommerce' in incomingConfig.i18n!.translations[typedLocale]!)) {\n ;(incomingConfig.i18n!.translations[typedLocale] as PluginDefaultTranslationsObject)[\n 'plugin-ecommerce'\n ] = {} as PluginDefaultTranslationsObject['plugin-ecommerce']\n }\n\n ;(incomingConfig.i18n!.translations[typedLocale] as PluginDefaultTranslationsObject)[\n 'plugin-ecommerce'\n ] = {\n ...pluginI18nObject.translations['plugin-ecommerce'],\n }\n })\n\n if (!incomingConfig.typescript) {\n incomingConfig.typescript = {}\n }\n\n if (!incomingConfig.typescript.schema) {\n incomingConfig.typescript.schema = []\n }\n\n incomingConfig.typescript.schema.push((args) =>\n pushTypeScriptProperties({\n ...args,\n collectionSlugMap,\n sanitizedPluginConfig,\n }),\n )\n\n return incomingConfig\n }\n\nexport {\n createAddressesCollection,\n createCartsCollection,\n createOrdersCollection,\n createProductsCollection,\n createTransactionsCollection,\n createVariantOptionsCollection,\n createVariantsCollection,\n createVariantTypesCollection,\n}\n\nexport { addItem } from './collections/carts/operations/addItem.js'\nexport { clearCart } from './collections/carts/operations/clearCart.js'\nexport { defaultCartItemMatcher } from './collections/carts/operations/defaultCartItemMatcher.js'\nexport { removeItem } from './collections/carts/operations/removeItem.js'\nexport { isNumericOperator } from './collections/carts/operations/types.js'\nexport type {\n AddItemArgs,\n CartItemData,\n CartItemMatcher,\n CartItemMatcherArgs,\n CartOperationResult,\n ClearCartArgs,\n FieldWithOperator,\n NewCartItem,\n NumericOperator,\n RemoveItemArgs,\n UpdateItemArgs,\n} from './collections/carts/operations/types.js'\nexport { updateItem } from './collections/carts/operations/updateItem.js'\nexport { EUR, GBP, USD } from './currencies/index.js'\nexport { amountField } from './fields/amountField.js'\nexport { currencyField } from './fields/currencyField.js'\nexport { pricesField } from './fields/pricesField.js'\nexport { statusField } from './fields/statusField.js'\nexport { variantsFields } from './fields/variantsFields.js'\n"],"names":["deepMergeSimple","createAddressesCollection","createCartsCollection","createOrdersCollection","createProductsCollection","createTransactionsCollection","createVariantOptionsCollection","createVariantsCollection","createVariantTypesCollection","confirmOrderHandler","initiatePaymentHandler","translations","getCollectionSlugMap","pushTypeScriptProperties","sanitizePluginConfig","ecommercePlugin","pluginConfig","incomingConfig","sanitizedPluginConfig","accessConfig","access","collections","productsConfig","products","variants","undefined","enableVariants","Boolean","collectionSlugMap","currenciesConfig","currencies","addressFields","addresses","supportedCountries","defaultAddressesCollection","customersSlug","customers","addressesCollection","addressesCollectionOverride","defaultCollection","push","variantsConfig","defaultVariantsCollection","inventory","productsSlug","variantOptionsSlug","variantOptions","variantTypesSlug","variantTypes","variantsCollectionOverride","defaultVariantTypesCollection","variantTypesCollectionOverride","defaultVariantOptionsCollection","variantOptionsCollectionOverride","defaultProductsCollection","variantsSlug","productsCollection","productsCollectionOverride","carts","cartsConfig","defaultCartsCollection","allowGuestCarts","cartItemMatcher","cartsCollection","cartsCollectionOverride","orders","defaultOrdersCollection","ordersCollection","ordersCollectionOverride","paymentMethods","payments","length","Array","isArray","endpoints","productsValidation","validation","forEach","paymentMethod","methodPath","name","initiatePayment","handler","transactionsSlug","transactions","method","path","confirmOrder","cartsSlug","ordersSlug","methodEndpoints","map","endpoint","startsWith","defaultTransactionsCollection","transactionsCollection","transactionsCollectionOverride","i18n","Object","entries","locale","pluginI18nObject","typedLocale","typescript","schema","args","addItem","clearCart","defaultCartItemMatcher","removeItem","isNumericOperator","updateItem","EUR","GBP","USD","amountField","currencyField","pricesField","statusField","variantsFields"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { Endpoint } from 'payload'\n\nimport { definePlugin } from 'payload'\n\nimport type { PluginDefaultTranslationsObject } from './translations/types.js'\nimport type { EcommercePluginConfig, SanitizedEcommercePluginConfig } from './types/index.js'\n\nimport { createAddressesCollection } from './collections/addresses/createAddressesCollection.js'\nimport { createCartsCollection } from './collections/carts/createCartsCollection.js'\nimport { createOrdersCollection } from './collections/orders/createOrdersCollection.js'\nimport { createProductsCollection } from './collections/products/createProductsCollection.js'\nimport { createTransactionsCollection } from './collections/transactions/createTransactionsCollection.js'\nimport { createVariantOptionsCollection } from './collections/variants/createVariantOptionsCollection.js'\nimport { createVariantsCollection } from './collections/variants/createVariantsCollection/index.js'\nimport { createVariantTypesCollection } from './collections/variants/createVariantTypesCollection.js'\nimport { confirmOrderHandler } from './endpoints/confirmOrder.js'\nimport { initiatePaymentHandler } from './endpoints/initiatePayment.js'\nimport { translations } from './translations/index.js'\nimport { getCollectionSlugMap } from './utilities/getCollectionSlugMap.js'\nimport { pushTypeScriptProperties } from './utilities/pushTypeScriptProperties.js'\nimport { sanitizePluginConfig } from './utilities/sanitizePluginConfig.js'\n\nexport const ecommercePlugin = definePlugin<EcommercePluginConfig | undefined>({\n slug: '@payloadcms/plugin-ecommerce',\n plugin: async ({ config: incomingConfig, options: pluginConfig }) => {\n if (!pluginConfig) {\n return incomingConfig\n }\n\n const sanitizedPluginConfig = sanitizePluginConfig({ pluginConfig })\n\n const accessConfig = sanitizedPluginConfig.access\n\n // Ensure collections exists\n if (!incomingConfig.collections) {\n incomingConfig.collections = []\n }\n\n // Determine if variants are enabled based on products config\n const productsConfig =\n typeof sanitizedPluginConfig.products === 'boolean'\n ? sanitizedPluginConfig.products\n ? { variants: true }\n : undefined\n : sanitizedPluginConfig.products\n\n const enableVariants = Boolean(productsConfig?.variants)\n\n /**\n * Used to keep track of the slugs of collections in case they are overridden by the user.\n * Variant-related slugs are only included when variants are enabled.\n */\n const collectionSlugMap = getCollectionSlugMap({ enableVariants, sanitizedPluginConfig })\n\n const currenciesConfig: Required<SanitizedEcommercePluginConfig['currencies']> =\n sanitizedPluginConfig.currencies\n\n let addressFields\n\n if (sanitizedPluginConfig.addresses) {\n addressFields = sanitizedPluginConfig.addresses.addressFields\n\n const supportedCountries = sanitizedPluginConfig.addresses.supportedCountries\n\n const defaultAddressesCollection = createAddressesCollection({\n access: accessConfig,\n addressFields,\n customersSlug: collectionSlugMap.customers,\n supportedCountries,\n })\n\n const addressesCollection =\n sanitizedPluginConfig.addresses &&\n typeof sanitizedPluginConfig.addresses === 'object' &&\n 'addressesCollectionOverride' in sanitizedPluginConfig.addresses &&\n sanitizedPluginConfig.addresses.addressesCollectionOverride\n ? await sanitizedPluginConfig.addresses.addressesCollectionOverride({\n defaultCollection: defaultAddressesCollection,\n })\n : defaultAddressesCollection\n\n incomingConfig.collections.push(addressesCollection)\n }\n\n if (productsConfig) {\n if (productsConfig.variants) {\n const variantsConfig =\n typeof productsConfig.variants === 'boolean' ? undefined : productsConfig.variants\n\n const defaultVariantsCollection = createVariantsCollection({\n access: accessConfig,\n currenciesConfig,\n inventory: sanitizedPluginConfig.inventory,\n productsSlug: collectionSlugMap.products,\n variantOptionsSlug: collectionSlugMap.variantOptions ?? 'variantOptions',\n variantTypesSlug: collectionSlugMap.variantTypes ?? 'variantTypes',\n })\n\n const variants =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantsCollectionOverride' in variantsConfig &&\n variantsConfig.variantsCollectionOverride\n ? await variantsConfig.variantsCollectionOverride({\n defaultCollection: defaultVariantsCollection,\n })\n : defaultVariantsCollection\n\n const defaultVariantTypesCollection = createVariantTypesCollection({\n access: accessConfig,\n variantOptionsSlug: collectionSlugMap.variantOptions ?? 'variantOptions',\n })\n\n const variantTypes =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantTypesCollectionOverride' in variantsConfig &&\n variantsConfig.variantTypesCollectionOverride\n ? await variantsConfig.variantTypesCollectionOverride({\n defaultCollection: defaultVariantTypesCollection,\n })\n : defaultVariantTypesCollection\n\n const defaultVariantOptionsCollection = createVariantOptionsCollection({\n access: accessConfig,\n variantTypesSlug: collectionSlugMap.variantTypes ?? 'variantTypes',\n })\n\n const variantOptions =\n variantsConfig &&\n typeof variantsConfig === 'object' &&\n 'variantOptionsCollectionOverride' in variantsConfig &&\n variantsConfig.variantOptionsCollectionOverride\n ? await variantsConfig.variantOptionsCollectionOverride({\n defaultCollection: defaultVariantOptionsCollection,\n })\n : defaultVariantOptionsCollection\n\n incomingConfig.collections.push(variants, variantTypes, variantOptions)\n }\n\n const defaultProductsCollection = createProductsCollection({\n access: accessConfig,\n currenciesConfig,\n enableVariants,\n inventory: sanitizedPluginConfig.inventory,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n variantTypesSlug: collectionSlugMap.variantTypes ?? 'variantTypes',\n })\n\n const productsCollection =\n productsConfig &&\n 'productsCollectionOverride' in productsConfig &&\n productsConfig.productsCollectionOverride\n ? await productsConfig.productsCollectionOverride({\n defaultCollection: defaultProductsCollection,\n })\n : defaultProductsCollection\n\n incomingConfig.collections.push(productsCollection)\n\n if (sanitizedPluginConfig.carts) {\n const cartsConfig =\n typeof sanitizedPluginConfig.carts === 'object' ? sanitizedPluginConfig.carts : {}\n\n const defaultCartsCollection = createCartsCollection({\n access: accessConfig,\n allowGuestCarts: cartsConfig.allowGuestCarts,\n cartItemMatcher: cartsConfig.cartItemMatcher,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants: Boolean(productsConfig.variants),\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n })\n\n const cartsCollection =\n sanitizedPluginConfig.carts &&\n typeof sanitizedPluginConfig.carts === 'object' &&\n 'cartsCollectionOverride' in sanitizedPluginConfig.carts &&\n sanitizedPluginConfig.carts.cartsCollectionOverride\n ? await sanitizedPluginConfig.carts.cartsCollectionOverride({\n defaultCollection: defaultCartsCollection,\n })\n : defaultCartsCollection\n\n incomingConfig.collections.push(cartsCollection)\n }\n }\n\n if (sanitizedPluginConfig.orders) {\n const defaultOrdersCollection = createOrdersCollection({\n access: accessConfig,\n addressFields,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants,\n productsSlug: collectionSlugMap.products,\n transactionsSlug: collectionSlugMap.transactions,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n })\n\n const ordersCollection =\n sanitizedPluginConfig.orders &&\n typeof sanitizedPluginConfig.orders === 'object' &&\n 'ordersCollectionOverride' in sanitizedPluginConfig.orders &&\n sanitizedPluginConfig.orders.ordersCollectionOverride\n ? await sanitizedPluginConfig.orders.ordersCollectionOverride({\n defaultCollection: defaultOrdersCollection,\n })\n : defaultOrdersCollection\n\n incomingConfig.collections.push(ordersCollection)\n }\n\n const paymentMethods = sanitizedPluginConfig.payments.paymentMethods\n\n if (sanitizedPluginConfig.payments) {\n if (paymentMethods.length) {\n if (!Array.isArray(incomingConfig.endpoints)) {\n incomingConfig.endpoints = []\n }\n\n const productsValidation =\n (typeof sanitizedPluginConfig.products === 'object' &&\n sanitizedPluginConfig.products.validation) ||\n undefined\n\n paymentMethods.forEach((paymentMethod) => {\n const methodPath = `/payments/${paymentMethod.name}`\n const endpoints: Endpoint[] = []\n\n const initiatePayment: Endpoint = {\n handler: initiatePaymentHandler({\n currenciesConfig,\n inventory: sanitizedPluginConfig.inventory,\n paymentMethod,\n productsSlug: collectionSlugMap.products,\n productsValidation,\n transactionsSlug: collectionSlugMap.transactions,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n }),\n method: 'post',\n path: `${methodPath}/initiate`,\n }\n\n const confirmOrder: Endpoint = {\n handler: confirmOrderHandler({\n cartsSlug: collectionSlugMap.carts,\n currenciesConfig,\n ordersSlug: collectionSlugMap.orders,\n paymentMethod,\n productsSlug: collectionSlugMap.products,\n productsValidation,\n transactionsSlug: collectionSlugMap.transactions,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n }),\n method: 'post',\n path: `${methodPath}/confirm-order`,\n }\n\n endpoints.push(initiatePayment, confirmOrder)\n\n // Attach any additional endpoints defined in the payment method\n if (paymentMethod.endpoints && paymentMethod.endpoints.length > 0) {\n const methodEndpoints = paymentMethod.endpoints.map((endpoint) => {\n const path = endpoint.path.startsWith('/') ? endpoint.path : `/${endpoint.path}`\n\n return {\n ...endpoint,\n path: `${methodPath}${path}`,\n }\n })\n\n endpoints.push(...methodEndpoints)\n }\n\n incomingConfig.endpoints!.push(...endpoints)\n })\n }\n }\n\n if (sanitizedPluginConfig.transactions) {\n const defaultTransactionsCollection = createTransactionsCollection({\n access: accessConfig,\n addressFields,\n cartsSlug: collectionSlugMap.carts,\n currenciesConfig,\n customersSlug: collectionSlugMap.customers,\n enableVariants,\n ordersSlug: collectionSlugMap.orders,\n paymentMethods,\n productsSlug: collectionSlugMap.products,\n variantsSlug: collectionSlugMap.variants ?? 'variants',\n })\n\n const transactionsCollection =\n sanitizedPluginConfig.transactions &&\n typeof sanitizedPluginConfig.transactions === 'object' &&\n 'transactionsCollectionOverride' in sanitizedPluginConfig.transactions &&\n sanitizedPluginConfig.transactions.transactionsCollectionOverride\n ? await sanitizedPluginConfig.transactions.transactionsCollectionOverride({\n defaultCollection: defaultTransactionsCollection,\n })\n : defaultTransactionsCollection\n\n incomingConfig.collections.push(transactionsCollection)\n }\n\n if (!incomingConfig.i18n) {\n incomingConfig.i18n = {}\n }\n\n if (!incomingConfig.i18n.translations) {\n incomingConfig.i18n.translations = {}\n }\n\n /**\n * Merge plugin translations — only for languages the user has enabled.\n * Plugins run before sanitize, so `supportedLanguages` may be undefined; sanitize will\n * default it to `{ en }`, so we mirror that here. Plugin-ecommerce translations always\n * win over user-provided ones for the `plugin-ecommerce` namespace.\n */\n const supportedLanguageKeys = incomingConfig.i18n?.supportedLanguages\n ? Object.keys(incomingConfig.i18n.supportedLanguages)\n : ['en']\n\n for (const lang of supportedLanguageKeys) {\n const pluginEntry = translations[lang as keyof typeof translations]\n if (!pluginEntry) {\n continue\n }\n const typedLocale = lang as AcceptedLanguages\n const existing = (incomingConfig.i18n.translations[typedLocale] ?? {}) as Record<\n string,\n unknown\n >\n incomingConfig.i18n.translations[typedLocale] = {\n ...existing,\n 'plugin-ecommerce': pluginEntry.translations['plugin-ecommerce'],\n } as PluginDefaultTranslationsObject\n }\n\n if (!incomingConfig.typescript) {\n incomingConfig.typescript = {}\n }\n\n if (!incomingConfig.typescript.schema) {\n incomingConfig.typescript.schema = []\n }\n\n incomingConfig.typescript.schema.push((args) =>\n pushTypeScriptProperties({\n ...args,\n collectionSlugMap,\n sanitizedPluginConfig,\n }),\n )\n\n return incomingConfig\n },\n})\n\nexport {\n createAddressesCollection,\n createCartsCollection,\n createOrdersCollection,\n createProductsCollection,\n createTransactionsCollection,\n createVariantOptionsCollection,\n createVariantsCollection,\n createVariantTypesCollection,\n}\n\nexport { addItem } from './collections/carts/operations/addItem.js'\nexport { clearCart } from './collections/carts/operations/clearCart.js'\nexport { defaultCartItemMatcher } from './collections/carts/operations/defaultCartItemMatcher.js'\nexport { removeItem } from './collections/carts/operations/removeItem.js'\nexport { isNumericOperator } from './collections/carts/operations/types.js'\nexport type {\n AddItemArgs,\n CartItemData,\n CartItemMatcher,\n CartItemMatcherArgs,\n CartOperationResult,\n ClearCartArgs,\n FieldWithOperator,\n NewCartItem,\n NumericOperator,\n RemoveItemArgs,\n UpdateItemArgs,\n} from './collections/carts/operations/types.js'\nexport { updateItem } from './collections/carts/operations/updateItem.js'\nexport { EUR, GBP, USD } from './currencies/index.js'\nexport { amountField } from './fields/amountField.js'\nexport { currencyField } from './fields/currencyField.js'\nexport { pricesField } from './fields/pricesField.js'\nexport { statusField } from './fields/statusField.js'\nexport { variantsFields } from './fields/variantsFields.js'\n"],"names":["definePlugin","createAddressesCollection","createCartsCollection","createOrdersCollection","createProductsCollection","createTransactionsCollection","createVariantOptionsCollection","createVariantsCollection","createVariantTypesCollection","confirmOrderHandler","initiatePaymentHandler","translations","getCollectionSlugMap","pushTypeScriptProperties","sanitizePluginConfig","ecommercePlugin","slug","plugin","config","incomingConfig","options","pluginConfig","sanitizedPluginConfig","accessConfig","access","collections","productsConfig","products","variants","undefined","enableVariants","Boolean","collectionSlugMap","currenciesConfig","currencies","addressFields","addresses","supportedCountries","defaultAddressesCollection","customersSlug","customers","addressesCollection","addressesCollectionOverride","defaultCollection","push","variantsConfig","defaultVariantsCollection","inventory","productsSlug","variantOptionsSlug","variantOptions","variantTypesSlug","variantTypes","variantsCollectionOverride","defaultVariantTypesCollection","variantTypesCollectionOverride","defaultVariantOptionsCollection","variantOptionsCollectionOverride","defaultProductsCollection","variantsSlug","productsCollection","productsCollectionOverride","carts","cartsConfig","defaultCartsCollection","allowGuestCarts","cartItemMatcher","cartsCollection","cartsCollectionOverride","orders","defaultOrdersCollection","transactionsSlug","transactions","ordersCollection","ordersCollectionOverride","paymentMethods","payments","length","Array","isArray","endpoints","productsValidation","validation","forEach","paymentMethod","methodPath","name","initiatePayment","handler","method","path","confirmOrder","cartsSlug","ordersSlug","methodEndpoints","map","endpoint","startsWith","defaultTransactionsCollection","transactionsCollection","transactionsCollectionOverride","i18n","supportedLanguageKeys","supportedLanguages","Object","keys","lang","pluginEntry","typedLocale","existing","typescript","schema","args","addItem","clearCart","defaultCartItemMatcher","removeItem","isNumericOperator","updateItem","EUR","GBP","USD","amountField","currencyField","pricesField","statusField","variantsFields"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"confirmOrder.d.ts","sourceRoot":"","sources":["../../../../src/payments/adapters/stripe/confirmOrder.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,KAAK,KAAK,GAAG;IACX,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACxC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,WAAW,CAAC,cAAc,CAAC,CAAC,cAAc,CAsIpF,CAAA"}
1
+ {"version":3,"file":"confirmOrder.d.ts","sourceRoot":"","sources":["../../../../src/payments/adapters/stripe/confirmOrder.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,KAAK,GAAG;IACX,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACxC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC1C,CAAA;AAID,eAAO,MAAM,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,WAAW,CAAC,cAAc,CAAC,CAAC,cAAc,CAmFpF,CAAA"}