@payloadcms/plugin-ecommerce 0.0.1-beta.0 → 3.57.0-internal.46327a6
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.
- package/dist/collections/addresses/createAddressesCollection.d.ts +21 -0
- package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -0
- package/dist/collections/addresses/createAddressesCollection.js +71 -0
- package/dist/collections/addresses/createAddressesCollection.js.map +1 -0
- package/dist/collections/addresses/defaultAddressFields.d.ts +3 -0
- package/dist/collections/addresses/defaultAddressFields.d.ts.map +1 -0
- package/dist/collections/addresses/defaultAddressFields.js +72 -0
- package/dist/collections/addresses/defaultAddressFields.js.map +1 -0
- package/dist/collections/addresses/defaultCountries.d.ts +9 -0
- package/dist/collections/addresses/defaultCountries.d.ts.map +1 -0
- package/dist/collections/addresses/defaultCountries.js +169 -0
- package/dist/collections/addresses/defaultCountries.js.map +1 -0
- package/dist/collections/addresses/hooks/beforeChange.d.ts +8 -0
- package/dist/collections/addresses/hooks/beforeChange.d.ts.map +1 -0
- package/dist/collections/addresses/hooks/beforeChange.js +12 -0
- package/dist/collections/addresses/hooks/beforeChange.js.map +1 -0
- package/dist/collections/carts/beforeChange.d.ts +8 -0
- package/dist/collections/carts/beforeChange.d.ts.map +1 -0
- package/dist/collections/carts/beforeChange.js +37 -0
- package/dist/collections/carts/beforeChange.js.map +1 -0
- package/dist/collections/carts/createCartsCollection.d.ts +29 -0
- package/dist/collections/carts/createCartsCollection.d.ts.map +1 -0
- package/dist/collections/carts/createCartsCollection.js +138 -0
- package/dist/collections/carts/createCartsCollection.js.map +1 -0
- package/dist/collections/carts/statusBeforeRead.d.ts +3 -0
- package/dist/collections/carts/statusBeforeRead.d.ts.map +1 -0
- package/dist/collections/carts/statusBeforeRead.js +18 -0
- package/dist/collections/carts/statusBeforeRead.js.map +1 -0
- package/dist/collections/orders/createOrdersCollection.d.ts +34 -0
- package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -0
- package/dist/collections/orders/createOrdersCollection.js +162 -0
- package/dist/collections/orders/createOrdersCollection.js.map +1 -0
- package/dist/collections/products/createProductsCollection.d.ts +26 -0
- package/dist/collections/products/createProductsCollection.d.ts.map +1 -0
- package/dist/collections/products/createProductsCollection.js +62 -0
- package/dist/collections/products/createProductsCollection.js.map +1 -0
- package/dist/collections/transactions/createTransactionsCollection.d.ts +40 -0
- package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -0
- package/dist/collections/transactions/createTransactionsCollection.js +157 -0
- package/dist/collections/transactions/createTransactionsCollection.js.map +1 -0
- package/dist/collections/variants/createVariantOptionsCollection.d.ts +15 -0
- package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -0
- package/dist/collections/variants/createVariantOptionsCollection.js +53 -0
- package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -0
- package/dist/collections/variants/createVariantTypesCollection.d.ts +15 -0
- package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -0
- package/dist/collections/variants/createVariantTypesCollection.js +49 -0
- package/dist/collections/variants/createVariantTypesCollection.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts +8 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +38 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts +7 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +53 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.d.ts +24 -0
- package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.js +101 -0
- package/dist/collections/variants/createVariantsCollection/index.js.map +1 -0
- package/dist/currencies/index.d.ts +5 -0
- package/dist/currencies/index.d.ts.map +1 -0
- package/dist/currencies/index.js +20 -0
- package/dist/currencies/index.js.map +1 -0
- package/dist/endpoints/confirmOrder.d.ts +42 -0
- package/dist/endpoints/confirmOrder.d.ts.map +1 -0
- package/dist/endpoints/confirmOrder.js +143 -0
- package/dist/endpoints/confirmOrder.js.map +1 -0
- package/dist/endpoints/initiatePayment.d.ts +43 -0
- package/dist/endpoints/initiatePayment.d.ts.map +1 -0
- package/dist/endpoints/initiatePayment.js +220 -0
- package/dist/endpoints/initiatePayment.js.map +1 -0
- package/dist/exports/client/index.d.ts +3 -0
- package/dist/exports/client/index.d.ts.map +1 -0
- package/dist/exports/client/index.js +4 -0
- package/dist/exports/client/index.js.map +1 -0
- package/dist/exports/client/react.d.ts +4 -0
- package/dist/exports/client/react.d.ts.map +1 -0
- package/dist/exports/client/react.js +5 -0
- package/dist/exports/client/react.js.map +1 -0
- package/dist/exports/payments/stripe.d.ts +2 -0
- package/dist/exports/payments/stripe.d.ts.map +1 -0
- package/dist/exports/payments/stripe.js +3 -0
- package/dist/exports/payments/stripe.js.map +1 -0
- package/dist/exports/rsc.d.ts +3 -0
- package/dist/exports/rsc.d.ts.map +1 -0
- package/dist/exports/rsc.js +4 -0
- package/dist/exports/rsc.js.map +1 -0
- package/dist/exports/translations.d.ts +2 -0
- package/dist/exports/translations.d.ts.map +1 -0
- package/dist/exports/translations.js +3 -0
- package/dist/exports/translations.js.map +1 -0
- package/dist/exports/types.d.ts +2 -0
- package/dist/exports/types.d.ts.map +1 -0
- package/dist/exports/types.js +3 -0
- package/dist/exports/types.js.map +1 -0
- package/dist/fields/amountField.d.ts +13 -0
- package/dist/fields/amountField.d.ts.map +1 -0
- package/dist/fields/amountField.js +33 -0
- package/dist/fields/amountField.js.map +1 -0
- package/dist/fields/cartItemsField.d.ts +26 -0
- package/dist/fields/cartItemsField.d.ts.map +1 -0
- package/dist/fields/cartItemsField.js +55 -0
- package/dist/fields/cartItemsField.js.map +1 -0
- package/dist/fields/currencyField.d.ts +9 -0
- package/dist/fields/currencyField.d.ts.map +1 -0
- package/dist/fields/currencyField.js +29 -0
- package/dist/fields/currencyField.js.map +1 -0
- package/dist/fields/inventoryField.d.ts +7 -0
- package/dist/fields/inventoryField.d.ts.map +1 -0
- package/dist/fields/inventoryField.js +16 -0
- package/dist/fields/inventoryField.js.map +1 -0
- package/dist/fields/pricesField.d.ts +12 -0
- package/dist/fields/pricesField.d.ts.map +1 -0
- package/dist/fields/pricesField.js +54 -0
- package/dist/fields/pricesField.js.map +1 -0
- package/dist/fields/statusField.d.ts +8 -0
- package/dist/fields/statusField.d.ts.map +1 -0
- package/dist/fields/statusField.js +49 -0
- package/dist/fields/statusField.js.map +1 -0
- package/dist/fields/variantsFields.d.ts +14 -0
- package/dist/fields/variantsFields.d.ts.map +1 -0
- package/dist/fields/variantsFields.js +48 -0
- package/dist/fields/variantsFields.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +238 -0
- package/dist/index.js.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.d.ts +11 -0
- package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.js +101 -0
- package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts +13 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.js +53 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.js.map +1 -0
- package/dist/payments/adapters/stripe/index.d.ts +60 -0
- package/dist/payments/adapters/stripe/index.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/index.js +68 -0
- package/dist/payments/adapters/stripe/index.js.map +1 -0
- package/dist/payments/adapters/stripe/initiatePayment.d.ts +11 -0
- package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/initiatePayment.js +102 -0
- package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -0
- package/dist/react/provider/index.d.ts +41 -0
- package/dist/react/provider/index.d.ts.map +1 -0
- package/dist/react/provider/index.js +791 -0
- package/dist/react/provider/index.js.map +1 -0
- package/dist/react/provider/types.d.ts +171 -0
- package/dist/react/provider/types.d.ts.map +1 -0
- package/dist/react/provider/types.js +3 -0
- package/dist/react/provider/types.js.map +1 -0
- package/dist/react/provider/utilities.d.ts +9 -0
- package/dist/react/provider/utilities.d.ts.map +1 -0
- package/dist/react/provider/utilities.js +13 -0
- package/dist/react/provider/utilities.js.map +1 -0
- package/dist/translations/en.d.ts +3 -0
- package/dist/translations/en.d.ts.map +1 -0
- package/dist/translations/en.js +86 -0
- package/dist/translations/en.js.map +1 -0
- package/dist/translations/index.d.ts +7 -0
- package/dist/translations/index.d.ts.map +1 -0
- package/dist/translations/index.js +6 -0
- package/dist/translations/index.js.map +1 -0
- package/dist/types.d.ts +658 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/PriceCell/index.d.ts +12 -0
- package/dist/ui/PriceCell/index.d.ts.map +1 -0
- package/dist/ui/PriceCell/index.js +38 -0
- package/dist/ui/PriceCell/index.js.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.d.ts +17 -0
- package/dist/ui/PriceInput/FormattedInput.d.ts.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.js +146 -0
- package/dist/ui/PriceInput/FormattedInput.js.map +1 -0
- package/{src/ui/PriceInput/index.scss → dist/ui/PriceInput/index.css} +7 -0
- package/dist/ui/PriceInput/index.d.ts +11 -0
- package/dist/ui/PriceInput/index.d.ts.map +1 -0
- package/dist/ui/PriceInput/index.js +20 -0
- package/dist/ui/PriceInput/index.js.map +1 -0
- package/dist/ui/PriceRowLabel/index.d.ts +8 -0
- package/dist/ui/PriceRowLabel/index.d.ts.map +1 -0
- package/dist/ui/PriceRowLabel/index.js +66 -0
- package/dist/ui/PriceRowLabel/index.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts +8 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.js +28 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts +13 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.js +71 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/index.d.ts +6 -0
- package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/index.js +78 -0
- package/dist/ui/VariantOptionsSelector/index.js.map +1 -0
- package/dist/ui/utilities.d.ts +16 -0
- package/dist/ui/utilities.d.ts.map +1 -0
- package/dist/ui/utilities.js +26 -0
- package/dist/ui/utilities.js.map +1 -0
- package/dist/utilities/defaultProductsValidation.d.ts +3 -0
- package/dist/utilities/defaultProductsValidation.d.ts.map +1 -0
- package/dist/utilities/defaultProductsValidation.js +40 -0
- package/dist/utilities/defaultProductsValidation.js.map +1 -0
- package/dist/utilities/errorCodes.d.ts +3 -0
- package/dist/utilities/errorCodes.d.ts.map +1 -0
- package/dist/utilities/errorCodes.js +4 -0
- package/dist/utilities/errorCodes.js.map +1 -0
- package/dist/utilities/getCollectionSlugMap.d.ts +11 -0
- package/dist/utilities/getCollectionSlugMap.d.ts.map +1 -0
- package/dist/utilities/getCollectionSlugMap.js +25 -0
- package/dist/utilities/getCollectionSlugMap.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.d.ts +7 -0
- package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -0
- package/dist/utilities/sanitizePluginConfig.js +67 -0
- package/dist/utilities/sanitizePluginConfig.js.map +1 -0
- package/package.json +98 -1
- package/.prettierignore +0 -12
- package/.swcrc +0 -24
- package/eslint.config.js +0 -18
- package/src/addresses/addressesCollection.ts +0 -76
- package/src/addresses/defaultAddressFields.ts +0 -83
- package/src/addresses/defaultCountries.ts +0 -50
- package/src/carts/beforeChange.ts +0 -51
- package/src/carts/cartsCollection.ts +0 -146
- package/src/currencies/index.ts +0 -29
- package/src/endpoints/confirmOrder.ts +0 -312
- package/src/endpoints/initiatePayment.ts +0 -322
- package/src/exports/addresses.ts +0 -2
- package/src/exports/currencies.ts +0 -1
- package/src/exports/fields.ts +0 -5
- package/src/exports/orders.ts +0 -1
- package/src/exports/payments/stripe.ts +0 -1
- package/src/exports/plugin.ts +0 -1
- package/src/exports/products.ts +0 -1
- package/src/exports/react.ts +0 -8
- package/src/exports/transactions.ts +0 -1
- package/src/exports/translations.ts +0 -1
- package/src/exports/types.ts +0 -7
- package/src/exports/ui.ts +0 -3
- package/src/exports/variants.ts +0 -5
- package/src/fields/amountField.ts +0 -43
- package/src/fields/cartItemsField.ts +0 -84
- package/src/fields/currencyField.ts +0 -39
- package/src/fields/inventoryField.ts +0 -22
- package/src/fields/pricesField.ts +0 -65
- package/src/fields/statusField.ts +0 -57
- package/src/fields/variantsFields.ts +0 -56
- package/src/index.ts +0 -275
- package/src/orders/ordersCollection.ts +0 -157
- package/src/payments/adapters/stripe/confirmOrder.ts +0 -123
- package/src/payments/adapters/stripe/endpoints/webhooks.ts +0 -69
- package/src/payments/adapters/stripe/index.ts +0 -135
- package/src/payments/adapters/stripe/initiatePayment.ts +0 -131
- package/src/products/productsCollection.ts +0 -78
- package/src/react/provider/index.tsx +0 -893
- package/src/react/provider/types.ts +0 -184
- package/src/react/provider/utilities.ts +0 -22
- package/src/transactions/transactionsCollection.ts +0 -166
- package/src/translations/en.ts +0 -64
- package/src/translations/index.ts +0 -11
- package/src/types.ts +0 -403
- package/src/ui/PriceInput/FormattedInput.tsx +0 -134
- package/src/ui/PriceInput/index.tsx +0 -43
- package/src/ui/PriceInput/utilities.ts +0 -46
- package/src/ui/PriceRowLabel/index.tsx +0 -56
- package/src/ui/VariantOptionsSelector/ErrorBox.tsx +0 -27
- package/src/ui/VariantOptionsSelector/OptionsSelect.tsx +0 -78
- package/src/ui/VariantOptionsSelector/index.tsx +0 -83
- package/src/utilities/defaultProductsValidation.ts +0 -42
- package/src/utilities/errorCodes.ts +0 -14
- package/src/utilities/getCollectionSlugMap.ts +0 -84
- package/src/utilities/sanitizePluginConfig.ts +0 -80
- package/src/variants/variantOptionsCollection.ts +0 -59
- package/src/variants/variantTypesCollection.ts +0 -55
- package/src/variants/variantsCollection/hooks/beforeChange.ts +0 -47
- package/src/variants/variantsCollection/hooks/validateOptions.ts +0 -72
- package/src/variants/variantsCollection/index.ts +0 -119
- package/tsconfig.json +0 -7
- package/tsconfig.tsbuildinfo +0 -1
- /package/{src → dist}/translations/translation-schema.json +0 -0
- /package/{src → dist}/ui/PriceRowLabel/index.css +0 -0
- /package/{src → dist}/ui/VariantOptionsSelector/index.css +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/exports/types.ts"],"sourcesContent":["export type { Cart, CollectionOverride, CurrenciesConfig, EcommercePluginConfig } from '../types.js'\n"],"names":[],"mappings":"AAAA,WAAoG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { NumberField } from 'payload';
|
|
2
|
+
import type { CurrenciesConfig, Currency } from '../types.js';
|
|
3
|
+
type Props = {
|
|
4
|
+
currenciesConfig: CurrenciesConfig;
|
|
5
|
+
/**
|
|
6
|
+
* Use this specific currency for the field.
|
|
7
|
+
*/
|
|
8
|
+
currency?: Currency;
|
|
9
|
+
overrides?: Partial<NumberField>;
|
|
10
|
+
};
|
|
11
|
+
export declare const amountField: (props: Props) => NumberField;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=amountField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amountField.d.ts","sourceRoot":"","sources":["../../src/fields/amountField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE7D,KAAK,KAAK,GAAG;IACX,gBAAgB,EAAE,gBAAgB,CAAA;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,WAoC3C,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export const amountField = ({ currenciesConfig, currency, overrides })=>{
|
|
2
|
+
// @ts-expect-error - issue with payload types
|
|
3
|
+
const field = {
|
|
4
|
+
name: 'amount',
|
|
5
|
+
type: 'number',
|
|
6
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
7
|
+
t('plugin-ecommerce:amount'),
|
|
8
|
+
...overrides,
|
|
9
|
+
admin: {
|
|
10
|
+
components: {
|
|
11
|
+
Cell: {
|
|
12
|
+
clientProps: {
|
|
13
|
+
currenciesConfig,
|
|
14
|
+
currency
|
|
15
|
+
},
|
|
16
|
+
path: '@payloadcms/plugin-ecommerce/client#PriceCell'
|
|
17
|
+
},
|
|
18
|
+
Field: {
|
|
19
|
+
clientProps: {
|
|
20
|
+
currenciesConfig,
|
|
21
|
+
currency
|
|
22
|
+
},
|
|
23
|
+
path: '@payloadcms/plugin-ecommerce/rsc#PriceInput'
|
|
24
|
+
},
|
|
25
|
+
...overrides?.admin?.components
|
|
26
|
+
},
|
|
27
|
+
...overrides?.admin
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
return field;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=amountField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/fields/amountField.ts"],"sourcesContent":["import type { NumberField } from 'payload'\n\nimport type { CurrenciesConfig, Currency } from '../types.js'\n\ntype Props = {\n currenciesConfig: CurrenciesConfig\n /**\n * Use this specific currency for the field.\n */\n currency?: Currency\n overrides?: Partial<NumberField>\n}\n\nexport const amountField: (props: Props) => NumberField = ({\n currenciesConfig,\n currency,\n overrides,\n}) => {\n // @ts-expect-error - issue with payload types\n const field: NumberField = {\n name: 'amount',\n type: 'number',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:amount'),\n ...overrides,\n admin: {\n components: {\n Cell: {\n clientProps: {\n currenciesConfig,\n currency,\n },\n path: '@payloadcms/plugin-ecommerce/client#PriceCell',\n },\n Field: {\n clientProps: {\n currenciesConfig,\n currency,\n },\n path: '@payloadcms/plugin-ecommerce/rsc#PriceInput',\n },\n ...overrides?.admin?.components,\n },\n ...overrides?.admin,\n },\n }\n\n return field\n}\n"],"names":["amountField","currenciesConfig","currency","overrides","field","name","type","label","t","admin","components","Cell","clientProps","path","Field"],"mappings":"AAaA,OAAO,MAAMA,cAA6C,CAAC,EACzDC,gBAAgB,EAChBC,QAAQ,EACRC,SAAS,EACV;IACC,8CAA8C;IAC9C,MAAMC,QAAqB;QACzBC,MAAM;QACNC,MAAM;QACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;YAC/DA,EAAE;QACJ,GAAGL,SAAS;QACZM,OAAO;YACLC,YAAY;gBACVC,MAAM;oBACJC,aAAa;wBACXX;wBACAC;oBACF;oBACAW,MAAM;gBACR;gBACAC,OAAO;oBACLF,aAAa;wBACXX;wBACAC;oBACF;oBACAW,MAAM;gBACR;gBACA,GAAGV,WAAWM,OAAOC,UAAU;YACjC;YACA,GAAGP,WAAWM,KAAK;QACrB;IACF;IAEA,OAAOL;AACT,EAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ArrayField } from 'payload';
|
|
2
|
+
import type { CurrenciesConfig } from '../types.js';
|
|
3
|
+
type Props = {
|
|
4
|
+
/**
|
|
5
|
+
* Include this in order to enable support for currencies per item in the cart.
|
|
6
|
+
*/
|
|
7
|
+
currenciesConfig?: CurrenciesConfig;
|
|
8
|
+
enableVariants?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Enables individual prices for each item in the cart.
|
|
11
|
+
* Defaults to false.
|
|
12
|
+
*/
|
|
13
|
+
individualPrices?: boolean;
|
|
14
|
+
overrides?: Partial<ArrayField>;
|
|
15
|
+
/**
|
|
16
|
+
* Slug of the products collection, defaults to 'products'.
|
|
17
|
+
*/
|
|
18
|
+
productsSlug?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Slug of the variants collection, defaults to 'variants'.
|
|
21
|
+
*/
|
|
22
|
+
variantsSlug?: string;
|
|
23
|
+
};
|
|
24
|
+
export declare const cartItemsField: (props?: Props) => ArrayField;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=cartItemsField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cartItemsField.d.ts","sourceRoot":"","sources":["../../src/fields/cartItemsField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,SAAS,CAAA;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKnD,KAAK,KAAK,GAAG;IACX;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,UAyD/C,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { amountField } from './amountField.js';
|
|
2
|
+
import { currencyField } from './currencyField.js';
|
|
3
|
+
export const cartItemsField = (props)=>{
|
|
4
|
+
const { currenciesConfig, enableVariants = false, individualPrices, overrides, productsSlug = 'products', variantsSlug = 'variants' } = props || {};
|
|
5
|
+
const field = {
|
|
6
|
+
name: 'items',
|
|
7
|
+
type: 'array',
|
|
8
|
+
admin: {
|
|
9
|
+
initCollapsed: true
|
|
10
|
+
},
|
|
11
|
+
fields: [
|
|
12
|
+
{
|
|
13
|
+
name: 'product',
|
|
14
|
+
type: 'relationship',
|
|
15
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
16
|
+
t('plugin-ecommerce:product'),
|
|
17
|
+
relationTo: productsSlug
|
|
18
|
+
},
|
|
19
|
+
...enableVariants ? [
|
|
20
|
+
{
|
|
21
|
+
name: 'variant',
|
|
22
|
+
type: 'relationship',
|
|
23
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
24
|
+
t('plugin-ecommerce:variant'),
|
|
25
|
+
relationTo: variantsSlug
|
|
26
|
+
}
|
|
27
|
+
] : [],
|
|
28
|
+
{
|
|
29
|
+
name: 'quantity',
|
|
30
|
+
type: 'number',
|
|
31
|
+
defaultValue: 1,
|
|
32
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
33
|
+
t('plugin-ecommerce:quantity'),
|
|
34
|
+
min: 1,
|
|
35
|
+
required: true
|
|
36
|
+
},
|
|
37
|
+
...currenciesConfig && individualPrices ? [
|
|
38
|
+
amountField({
|
|
39
|
+
currenciesConfig
|
|
40
|
+
})
|
|
41
|
+
] : [],
|
|
42
|
+
...currenciesConfig ? [
|
|
43
|
+
currencyField({
|
|
44
|
+
currenciesConfig
|
|
45
|
+
})
|
|
46
|
+
] : []
|
|
47
|
+
],
|
|
48
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
49
|
+
t('plugin-ecommerce:cart'),
|
|
50
|
+
...overrides
|
|
51
|
+
};
|
|
52
|
+
return field;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=cartItemsField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/fields/cartItemsField.ts"],"sourcesContent":["import type { ArrayField, Field } from 'payload'\n\nimport type { CurrenciesConfig } from '../types.js'\n\nimport { amountField } from './amountField.js'\nimport { currencyField } from './currencyField.js'\n\ntype Props = {\n /**\n * Include this in order to enable support for currencies per item in the cart.\n */\n currenciesConfig?: CurrenciesConfig\n enableVariants?: boolean\n /**\n * Enables individual prices for each item in the cart.\n * Defaults to false.\n */\n individualPrices?: boolean\n overrides?: Partial<ArrayField>\n /**\n * Slug of the products collection, defaults to 'products'.\n */\n productsSlug?: string\n /**\n * Slug of the variants collection, defaults to 'variants'.\n */\n variantsSlug?: string\n}\n\nexport const cartItemsField: (props?: Props) => ArrayField = (props) => {\n const {\n currenciesConfig,\n enableVariants = false,\n individualPrices,\n overrides,\n productsSlug = 'products',\n variantsSlug = 'variants',\n } = props || {}\n\n const field: ArrayField = {\n name: 'items',\n type: 'array',\n admin: {\n initCollapsed: true,\n },\n fields: [\n {\n name: 'product',\n type: 'relationship',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:product'),\n relationTo: productsSlug,\n },\n ...(enableVariants\n ? [\n {\n name: 'variant',\n type: 'relationship',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:variant'),\n relationTo: variantsSlug,\n } as Field,\n ]\n : []),\n {\n name: 'quantity',\n type: 'number',\n defaultValue: 1,\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:quantity'),\n min: 1,\n required: true,\n },\n ...(currenciesConfig && individualPrices ? [amountField({ currenciesConfig })] : []),\n ...(currenciesConfig ? [currencyField({ currenciesConfig })] : []),\n ],\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:cart'),\n ...overrides,\n }\n\n return field\n}\n"],"names":["amountField","currencyField","cartItemsField","props","currenciesConfig","enableVariants","individualPrices","overrides","productsSlug","variantsSlug","field","name","type","admin","initCollapsed","fields","label","t","relationTo","defaultValue","min","required"],"mappings":"AAIA,SAASA,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,aAAa,QAAQ,qBAAoB;AAwBlD,OAAO,MAAMC,iBAAgD,CAACC;IAC5D,MAAM,EACJC,gBAAgB,EAChBC,iBAAiB,KAAK,EACtBC,gBAAgB,EAChBC,SAAS,EACTC,eAAe,UAAU,EACzBC,eAAe,UAAU,EAC1B,GAAGN,SAAS,CAAC;IAEd,MAAMO,QAAoB;QACxBC,MAAM;QACNC,MAAM;QACNC,OAAO;YACLC,eAAe;QACjB;QACAC,QAAQ;YACN;gBACEJ,MAAM;gBACNC,MAAM;gBACNI,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;oBAC/DA,EAAE;gBACJC,YAAYV;YACd;eACIH,iBACA;gBACE;oBACEM,MAAM;oBACNC,MAAM;oBACNI,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;wBAC/DA,EAAE;oBACJC,YAAYT;gBACd;aACD,GACD,EAAE;YACN;gBACEE,MAAM;gBACNC,MAAM;gBACNO,cAAc;gBACdH,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;oBAC/DA,EAAE;gBACJG,KAAK;gBACLC,UAAU;YACZ;eACIjB,oBAAoBE,mBAAmB;gBAACN,YAAY;oBAAEI;gBAAiB;aAAG,GAAG,EAAE;eAC/EA,mBAAmB;gBAACH,cAAc;oBAAEG;gBAAiB;aAAG,GAAG,EAAE;SAClE;QACDY,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;YAC/DA,EAAE;QACJ,GAAGV,SAAS;IACd;IAEA,OAAOG;AACT,EAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SelectField } from 'payload';
|
|
2
|
+
import type { CurrenciesConfig } from '../types.js';
|
|
3
|
+
type Props = {
|
|
4
|
+
currenciesConfig: CurrenciesConfig;
|
|
5
|
+
overrides?: Partial<SelectField>;
|
|
6
|
+
};
|
|
7
|
+
export declare const currencyField: (props: Props) => SelectField;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=currencyField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencyField.d.ts","sourceRoot":"","sources":["../../src/fields/currencyField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,KAAK,KAAK,GAAG;IACX,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,WA6B7C,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const currencyField = ({ currenciesConfig, overrides })=>{
|
|
2
|
+
const options = currenciesConfig.supportedCurrencies.map((currency)=>{
|
|
3
|
+
const label = currency.label ? `${currency.label} (${currency.code})` : currency.code;
|
|
4
|
+
return {
|
|
5
|
+
label,
|
|
6
|
+
value: currency.code
|
|
7
|
+
};
|
|
8
|
+
});
|
|
9
|
+
const defaultValue = currenciesConfig.defaultCurrency ?? currenciesConfig.supportedCurrencies.length === 1 ? currenciesConfig.supportedCurrencies[0]?.code : undefined;
|
|
10
|
+
// @ts-expect-error - issue with payload types
|
|
11
|
+
const field = {
|
|
12
|
+
name: 'currency',
|
|
13
|
+
type: 'select',
|
|
14
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
15
|
+
t('plugin-ecommerce:currency'),
|
|
16
|
+
...defaultValue && {
|
|
17
|
+
defaultValue
|
|
18
|
+
},
|
|
19
|
+
options,
|
|
20
|
+
...overrides,
|
|
21
|
+
admin: {
|
|
22
|
+
readOnly: currenciesConfig.supportedCurrencies.length === 1,
|
|
23
|
+
...overrides?.admin
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
return field;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=currencyField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/fields/currencyField.ts"],"sourcesContent":["import type { SelectField } from 'payload'\n\nimport type { CurrenciesConfig } from '../types.js'\n\ntype Props = {\n currenciesConfig: CurrenciesConfig\n overrides?: Partial<SelectField>\n}\n\nexport const currencyField: (props: Props) => SelectField = ({ currenciesConfig, overrides }) => {\n const options = currenciesConfig.supportedCurrencies.map((currency) => {\n const label = currency.label ? `${currency.label} (${currency.code})` : currency.code\n\n return {\n label,\n value: currency.code,\n }\n })\n\n const defaultValue =\n (currenciesConfig.defaultCurrency ?? currenciesConfig.supportedCurrencies.length === 1)\n ? currenciesConfig.supportedCurrencies[0]?.code\n : undefined\n\n // @ts-expect-error - issue with payload types\n const field: SelectField = {\n name: 'currency',\n type: 'select',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:currency'),\n ...(defaultValue && { defaultValue }),\n options,\n ...overrides,\n admin: { readOnly: currenciesConfig.supportedCurrencies.length === 1, ...overrides?.admin },\n }\n\n return field\n}\n"],"names":["currencyField","currenciesConfig","overrides","options","supportedCurrencies","map","currency","label","code","value","defaultValue","defaultCurrency","length","undefined","field","name","type","t","admin","readOnly"],"mappings":"AASA,OAAO,MAAMA,gBAA+C,CAAC,EAAEC,gBAAgB,EAAEC,SAAS,EAAE;IAC1F,MAAMC,UAAUF,iBAAiBG,mBAAmB,CAACC,GAAG,CAAC,CAACC;QACxD,MAAMC,QAAQD,SAASC,KAAK,GAAG,GAAGD,SAASC,KAAK,CAAC,EAAE,EAAED,SAASE,IAAI,CAAC,CAAC,CAAC,GAAGF,SAASE,IAAI;QAErF,OAAO;YACLD;YACAE,OAAOH,SAASE,IAAI;QACtB;IACF;IAEA,MAAME,eACJ,AAACT,iBAAiBU,eAAe,IAAIV,iBAAiBG,mBAAmB,CAACQ,MAAM,KAAK,IACjFX,iBAAiBG,mBAAmB,CAAC,EAAE,EAAEI,OACzCK;IAEN,8CAA8C;IAC9C,MAAMC,QAAqB;QACzBC,MAAM;QACNC,MAAM;QACNT,OAAO,CAAC,EAAEU,CAAC,EAAE,GACX,+DAA+D;YAC/DA,EAAE;QACJ,GAAIP,gBAAgB;YAAEA;QAAa,CAAC;QACpCP;QACA,GAAGD,SAAS;QACZgB,OAAO;YAAEC,UAAUlB,iBAAiBG,mBAAmB,CAACQ,MAAM,KAAK;YAAG,GAAGV,WAAWgB,KAAK;QAAC;IAC5F;IAEA,OAAOJ;AACT,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventoryField.d.ts","sourceRoot":"","sources":["../../src/fields/inventoryField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,WAe/C,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const inventoryField = (props)=>{
|
|
2
|
+
const { overrides } = props || {};
|
|
3
|
+
// @ts-expect-error - issue with payload types
|
|
4
|
+
const field = {
|
|
5
|
+
name: 'inventory',
|
|
6
|
+
type: 'number',
|
|
7
|
+
defaultValue: 0,
|
|
8
|
+
// @ts-expect-error - translations are not typed in plugins yet
|
|
9
|
+
label: ({ t })=>t('plugin-ecommerce:inventory'),
|
|
10
|
+
min: 0,
|
|
11
|
+
...overrides || {}
|
|
12
|
+
};
|
|
13
|
+
return field;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=inventoryField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/fields/inventoryField.ts"],"sourcesContent":["import type { NumberField } from 'payload'\n\ntype Props = {\n overrides?: Partial<NumberField>\n}\n\nexport const inventoryField: (props?: Props) => NumberField = (props) => {\n const { overrides } = props || {}\n\n // @ts-expect-error - issue with payload types\n const field: NumberField = {\n name: 'inventory',\n type: 'number',\n defaultValue: 0,\n // @ts-expect-error - translations are not typed in plugins yet\n label: ({ t }) => t('plugin-ecommerce:inventory'),\n min: 0,\n ...(overrides || {}),\n }\n\n return field\n}\n"],"names":["inventoryField","props","overrides","field","name","type","defaultValue","label","t","min"],"mappings":"AAMA,OAAO,MAAMA,iBAAiD,CAACC;IAC7D,MAAM,EAAEC,SAAS,EAAE,GAAGD,SAAS,CAAC;IAEhC,8CAA8C;IAC9C,MAAME,QAAqB;QACzBC,MAAM;QACNC,MAAM;QACNC,cAAc;QACd,+DAA+D;QAC/DC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,KAAK;QACL,GAAIP,aAAa,CAAC,CAAC;IACrB;IAEA,OAAOC;AACT,EAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { GroupField } from 'payload';
|
|
2
|
+
import type { CurrenciesConfig } from '../types.js';
|
|
3
|
+
type Props = {
|
|
4
|
+
/**
|
|
5
|
+
* Use this to specify a path for the condition.
|
|
6
|
+
*/
|
|
7
|
+
conditionalPath?: string;
|
|
8
|
+
currenciesConfig: CurrenciesConfig;
|
|
9
|
+
};
|
|
10
|
+
export declare const pricesField: (props: Props) => GroupField[];
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=pricesField.d.ts.map
|
|
@@ -0,0 +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,aAAa,CAAA;AAInD,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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { amountField } from './amountField.js';
|
|
2
|
+
export const pricesField = ({ conditionalPath, currenciesConfig })=>{
|
|
3
|
+
const currencies = currenciesConfig.supportedCurrencies;
|
|
4
|
+
const fields = currencies.map((currency)=>{
|
|
5
|
+
const name = `priceIn${currency.code}`;
|
|
6
|
+
const path = conditionalPath ? `${conditionalPath}.${name}Enabled` : `${name}Enabled`;
|
|
7
|
+
return {
|
|
8
|
+
type: 'group',
|
|
9
|
+
admin: {
|
|
10
|
+
description: 'Prices for this product in different currencies.'
|
|
11
|
+
},
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
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
|
+
}
|
|
45
|
+
})
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
return fields;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=pricesField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/fields/pricesField.ts"],"sourcesContent":["import type { GroupField } from 'payload'\n\nimport type { CurrenciesConfig } from '../types.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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SelectField } from 'payload';
|
|
2
|
+
export declare const statusOptions: SelectField['options'];
|
|
3
|
+
type Props = {
|
|
4
|
+
overrides?: Partial<SelectField>;
|
|
5
|
+
};
|
|
6
|
+
export declare const statusField: (props?: Props) => SelectField;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=statusField.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export const statusOptions = [
|
|
2
|
+
{
|
|
3
|
+
// @ts-expect-error - translations are not typed in plugins yet
|
|
4
|
+
label: ({ t })=>t('plugin-ecommerce:pending'),
|
|
5
|
+
value: 'pending'
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
// @ts-expect-error - translations are not typed in plugins yet
|
|
9
|
+
label: ({ t })=>t('plugin-ecommerce:succeeded'),
|
|
10
|
+
value: 'succeeded'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
// @ts-expect-error - translations are not typed in plugins yet
|
|
14
|
+
label: ({ t })=>t('plugin-ecommerce:failed'),
|
|
15
|
+
value: 'failed'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
// @ts-expect-error - translations are not typed in plugins yet
|
|
19
|
+
label: ({ t })=>t('plugin-ecommerce:cancelled'),
|
|
20
|
+
value: 'cancelled'
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
// @ts-expect-error - translations are not typed in plugins yet
|
|
24
|
+
label: ({ t })=>t('plugin-ecommerce:expired'),
|
|
25
|
+
value: 'expired'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
// @ts-expect-error - translations are not typed in plugins yet
|
|
29
|
+
label: ({ t })=>t('plugin-ecommerce:refunded'),
|
|
30
|
+
value: 'refunded'
|
|
31
|
+
}
|
|
32
|
+
];
|
|
33
|
+
export const statusField = (props)=>{
|
|
34
|
+
const { overrides } = props || {};
|
|
35
|
+
// @ts-expect-error - issue with payload types
|
|
36
|
+
const field = {
|
|
37
|
+
name: 'status',
|
|
38
|
+
type: 'select',
|
|
39
|
+
defaultValue: 'pending',
|
|
40
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
41
|
+
t('plugin-ecommerce:status'),
|
|
42
|
+
options: statusOptions,
|
|
43
|
+
required: true,
|
|
44
|
+
...overrides
|
|
45
|
+
};
|
|
46
|
+
return field;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=statusField.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Field } from 'payload';
|
|
2
|
+
type Props = {
|
|
3
|
+
/**
|
|
4
|
+
* Slug of the variants collection, defaults to 'variants'.
|
|
5
|
+
*/
|
|
6
|
+
variantsSlug?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Slug of the variant types collection, defaults to 'variantTypes'.
|
|
9
|
+
*/
|
|
10
|
+
variantTypesSlug?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const variantsFields: (props: Props) => Field[];
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=variantsFields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variantsFields.d.ts","sourceRoot":"","sources":["../../src/fields/variantsFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,KAAK,KAAK,GAAG;IACX;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EA+CnD,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export const variantsFields = ({ variantsSlug = 'variants', variantTypesSlug = 'variantTypes' })=>{
|
|
2
|
+
const fields = [
|
|
3
|
+
{
|
|
4
|
+
name: 'enableVariants',
|
|
5
|
+
type: 'checkbox',
|
|
6
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
7
|
+
t('plugin-ecommerce:enableVariants')
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
name: 'variantTypes',
|
|
11
|
+
type: 'relationship',
|
|
12
|
+
admin: {
|
|
13
|
+
condition: ({ enableVariants })=>Boolean(enableVariants)
|
|
14
|
+
},
|
|
15
|
+
hasMany: true,
|
|
16
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
17
|
+
t('plugin-ecommerce:variantTypes'),
|
|
18
|
+
relationTo: variantTypesSlug
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'variants',
|
|
22
|
+
type: 'join',
|
|
23
|
+
admin: {
|
|
24
|
+
condition: ({ enableVariants, variantTypes })=>{
|
|
25
|
+
const enabledVariants = Boolean(enableVariants);
|
|
26
|
+
const hasManyVariantTypes = Array.isArray(variantTypes) && variantTypes.length > 0;
|
|
27
|
+
return enabledVariants && hasManyVariantTypes;
|
|
28
|
+
},
|
|
29
|
+
defaultColumns: [
|
|
30
|
+
'title',
|
|
31
|
+
'options',
|
|
32
|
+
'inventory',
|
|
33
|
+
'prices',
|
|
34
|
+
'_status'
|
|
35
|
+
],
|
|
36
|
+
disableListColumn: true
|
|
37
|
+
},
|
|
38
|
+
collection: variantsSlug,
|
|
39
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
40
|
+
t('plugin-ecommerce:availableVariants'),
|
|
41
|
+
maxDepth: 2,
|
|
42
|
+
on: 'product'
|
|
43
|
+
}
|
|
44
|
+
];
|
|
45
|
+
return fields;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=variantsFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/fields/variantsFields.ts"],"sourcesContent":["import type { Field } from 'payload'\n\ntype Props = {\n /**\n * Slug of the variants collection, defaults to 'variants'.\n */\n variantsSlug?: string\n /**\n * Slug of the variant types collection, defaults to 'variantTypes'.\n */\n variantTypesSlug?: string\n}\n\nexport const variantsFields: (props: Props) => Field[] = ({\n variantsSlug = 'variants',\n variantTypesSlug = 'variantTypes',\n}) => {\n const fields: Field[] = [\n {\n name: 'enableVariants',\n type: 'checkbox',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:enableVariants'),\n },\n {\n name: 'variantTypes',\n type: 'relationship',\n admin: {\n condition: ({ enableVariants }) => Boolean(enableVariants),\n },\n hasMany: true,\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:variantTypes'),\n relationTo: variantTypesSlug,\n },\n {\n name: 'variants',\n type: 'join',\n admin: {\n condition: ({ enableVariants, variantTypes }) => {\n const enabledVariants = Boolean(enableVariants)\n const hasManyVariantTypes = Array.isArray(variantTypes) && variantTypes.length > 0\n\n return enabledVariants && hasManyVariantTypes\n },\n defaultColumns: ['title', 'options', 'inventory', 'prices', '_status'],\n disableListColumn: true,\n },\n collection: variantsSlug,\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:availableVariants'),\n maxDepth: 2,\n on: 'product',\n },\n ]\n\n return fields\n}\n"],"names":["variantsFields","variantsSlug","variantTypesSlug","fields","name","type","label","t","admin","condition","enableVariants","Boolean","hasMany","relationTo","variantTypes","enabledVariants","hasManyVariantTypes","Array","isArray","length","defaultColumns","disableListColumn","collection","maxDepth","on"],"mappings":"AAaA,OAAO,MAAMA,iBAA4C,CAAC,EACxDC,eAAe,UAAU,EACzBC,mBAAmB,cAAc,EAClC;IACC,MAAMC,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNG,OAAO;gBACLC,WAAW,CAAC,EAAEC,cAAc,EAAE,GAAKC,QAAQD;YAC7C;YACAE,SAAS;YACTN,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;YACJM,YAAYX;QACd;QACA;YACEE,MAAM;YACNC,MAAM;YACNG,OAAO;gBACLC,WAAW,CAAC,EAAEC,cAAc,EAAEI,YAAY,EAAE;oBAC1C,MAAMC,kBAAkBJ,QAAQD;oBAChC,MAAMM,sBAAsBC,MAAMC,OAAO,CAACJ,iBAAiBA,aAAaK,MAAM,GAAG;oBAEjF,OAAOJ,mBAAmBC;gBAC5B;gBACAI,gBAAgB;oBAAC;oBAAS;oBAAW;oBAAa;oBAAU;iBAAU;gBACtEC,mBAAmB;YACrB;YACAC,YAAYrB;YACZK,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;YACJgB,UAAU;YACVC,IAAI;QACN;KACD;IAED,OAAOrB;AACT,EAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Config } from 'payload';
|
|
2
|
+
import type { EcommercePluginConfig } from './types.js';
|
|
3
|
+
import { createAddressesCollection } from './collections/addresses/createAddressesCollection.js';
|
|
4
|
+
import { createCartsCollection } from './collections/carts/createCartsCollection.js';
|
|
5
|
+
import { createOrdersCollection } from './collections/orders/createOrdersCollection.js';
|
|
6
|
+
import { createProductsCollection } from './collections/products/createProductsCollection.js';
|
|
7
|
+
import { createTransactionsCollection } from './collections/transactions/createTransactionsCollection.js';
|
|
8
|
+
import { createVariantOptionsCollection } from './collections/variants/createVariantOptionsCollection.js';
|
|
9
|
+
import { createVariantsCollection } from './collections/variants/createVariantsCollection/index.js';
|
|
10
|
+
import { createVariantTypesCollection } from './collections/variants/createVariantTypesCollection.js';
|
|
11
|
+
export declare const ecommercePlugin: (pluginConfig?: EcommercePluginConfig) => (incomingConfig: Config) => Promise<Config>;
|
|
12
|
+
export { createAddressesCollection, createCartsCollection, createOrdersCollection, createProductsCollection, createTransactionsCollection, createVariantOptionsCollection, createVariantsCollection, createVariantTypesCollection, };
|
|
13
|
+
export { EUR, GBP, USD } from './currencies/index.js';
|
|
14
|
+
export { amountField } from './fields/amountField.js';
|
|
15
|
+
export { currencyField } from './fields/currencyField.js';
|
|
16
|
+
export { pricesField } from './fields/pricesField.js';
|
|
17
|
+
export { statusField } from './fields/statusField.js';
|
|
18
|
+
export { variantsFields } from './fields/variantsFields.js';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,SAAS,CAAA;AAI/C,OAAO,KAAK,EAAE,qBAAqB,EAAkC,MAAM,YAAY,CAAA;AAEvF,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;AAOrG,eAAO,MAAM,eAAe,kBACV,qBAAqB,sBACd,MAAM,KAAG,OAAO,CAAC,MAAM,CA6T7C,CAAA;AAEH,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,GAC7B,CAAA;AAED,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"}
|