@shadowmkj/plugin-ecommerce 3.85.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +22 -0
- package/README.md +3 -0
- package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -0
- package/dist/collections/addresses/createAddressesCollection.js +73 -0
- package/dist/collections/addresses/createAddressesCollection.js.map +1 -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.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.map +1 -0
- package/dist/collections/addresses/hooks/beforeChange.js +16 -0
- package/dist/collections/addresses/hooks/beforeChange.js.map +1 -0
- package/dist/collections/carts/beforeChange.d.ts.map +1 -0
- package/dist/collections/carts/beforeChange.js +49 -0
- package/dist/collections/carts/beforeChange.js.map +1 -0
- package/dist/collections/carts/createCartsCollection.d.ts.map +1 -0
- package/dist/collections/carts/createCartsCollection.js +194 -0
- package/dist/collections/carts/createCartsCollection.js.map +1 -0
- package/dist/collections/carts/endpoints/addItem.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/addItem.js +54 -0
- package/dist/collections/carts/endpoints/addItem.js.map +1 -0
- package/dist/collections/carts/endpoints/clearCart.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/clearCart.js +41 -0
- package/dist/collections/carts/endpoints/clearCart.js.map +1 -0
- package/dist/collections/carts/endpoints/mergeCart.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/mergeCart.js +72 -0
- package/dist/collections/carts/endpoints/mergeCart.js.map +1 -0
- package/dist/collections/carts/endpoints/removeItem.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/removeItem.js +51 -0
- package/dist/collections/carts/endpoints/removeItem.js.map +1 -0
- package/dist/collections/carts/endpoints/updateItem.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/updateItem.js +95 -0
- package/dist/collections/carts/endpoints/updateItem.js.map +1 -0
- package/dist/collections/carts/hasCartSecretAccess.d.ts.map +1 -0
- package/dist/collections/carts/hasCartSecretAccess.js +24 -0
- package/dist/collections/carts/hasCartSecretAccess.js.map +1 -0
- package/dist/collections/carts/operations/addItem.d.ts.map +1 -0
- package/dist/collections/carts/operations/addItem.js +95 -0
- package/dist/collections/carts/operations/addItem.js.map +1 -0
- package/dist/collections/carts/operations/clearCart.d.ts.map +1 -0
- package/dist/collections/carts/operations/clearCart.js +53 -0
- package/dist/collections/carts/operations/clearCart.js.map +1 -0
- package/dist/collections/carts/operations/createRequestWithSecret.d.ts.map +1 -0
- package/dist/collections/carts/operations/createRequestWithSecret.js +21 -0
- package/dist/collections/carts/operations/createRequestWithSecret.js.map +1 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.d.ts.map +1 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.js +25 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.js.map +1 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js +358 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js.map +1 -0
- package/dist/collections/carts/operations/mergeCart.d.ts.map +1 -0
- package/dist/collections/carts/operations/mergeCart.js +144 -0
- package/dist/collections/carts/operations/mergeCart.js.map +1 -0
- package/dist/collections/carts/operations/removeItem.d.ts.map +1 -0
- package/dist/collections/carts/operations/removeItem.js +69 -0
- package/dist/collections/carts/operations/removeItem.js.map +1 -0
- package/dist/collections/carts/operations/types.d.ts.map +1 -0
- package/dist/collections/carts/operations/types.js +7 -0
- package/dist/collections/carts/operations/types.js.map +1 -0
- package/dist/collections/carts/operations/updateItem.d.ts.map +1 -0
- package/dist/collections/carts/operations/updateItem.js +110 -0
- package/dist/collections/carts/operations/updateItem.js.map +1 -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.map +1 -0
- package/dist/collections/orders/createOrdersCollection.js +163 -0
- package/dist/collections/orders/createOrdersCollection.js.map +1 -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.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.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.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.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.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +58 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.js +107 -0
- package/dist/collections/variants/createVariantsCollection/index.js.map +1 -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.map +1 -0
- package/dist/endpoints/confirmOrder.js +150 -0
- package/dist/endpoints/confirmOrder.js.map +1 -0
- package/dist/endpoints/initiatePayment.d.ts.map +1 -0
- package/dist/endpoints/initiatePayment.js +226 -0
- package/dist/endpoints/initiatePayment.js.map +1 -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.map +1 -0
- package/dist/exports/client/react.js +5 -0
- package/dist/exports/client/react.js.map +1 -0
- package/dist/exports/payments/cod.d.ts +2 -0
- package/dist/exports/payments/cod.d.ts.map +1 -0
- package/dist/exports/payments/cod.js +3 -0
- package/dist/exports/payments/cod.js.map +1 -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.map +1 -0
- package/dist/exports/rsc.js +4 -0
- package/dist/exports/rsc.js.map +1 -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.map +1 -0
- package/dist/fields/amountField.js +33 -0
- package/dist/fields/amountField.js.map +1 -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.map +1 -0
- package/dist/fields/currencyField.js +29 -0
- package/dist/fields/currencyField.js.map +1 -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.map +1 -0
- package/dist/fields/pricesField.js +54 -0
- package/dist/fields/pricesField.js.map +1 -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.map +1 -0
- package/dist/fields/variantsFields.js +48 -0
- package/dist/fields/variantsFields.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +258 -0
- package/dist/index.js.map +1 -0
- package/dist/payments/adapters/cod/confirmOrder.d.ts +5 -0
- package/dist/payments/adapters/cod/confirmOrder.d.ts.map +1 -0
- package/dist/payments/adapters/cod/confirmOrder.js +83 -0
- package/dist/payments/adapters/cod/confirmOrder.js.map +1 -0
- package/dist/payments/adapters/cod/confirmOrder.spec.js +166 -0
- package/dist/payments/adapters/cod/confirmOrder.spec.js.map +1 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.d.ts +5 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.d.ts.map +1 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.js +18 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.js.map +1 -0
- package/dist/payments/adapters/cod/index.d.ts +12 -0
- package/dist/payments/adapters/cod/index.d.ts.map +1 -0
- package/dist/payments/adapters/cod/index.js +64 -0
- package/dist/payments/adapters/cod/index.js.map +1 -0
- package/dist/payments/adapters/cod/initiatePayment.d.ts +5 -0
- package/dist/payments/adapters/cod/initiatePayment.d.ts.map +1 -0
- package/dist/payments/adapters/cod/initiatePayment.js +91 -0
- package/dist/payments/adapters/cod/initiatePayment.js.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.js +113 -0
- package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.spec.js +166 -0
- package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +1 -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 +61 -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.map +1 -0
- package/dist/payments/adapters/stripe/initiatePayment.js +113 -0
- package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -0
- package/dist/react/provider/index.d.ts.map +1 -0
- package/dist/react/provider/index.js +1094 -0
- package/dist/react/provider/index.js.map +1 -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/index.d.ts.map +1 -0
- package/dist/translations/index.js +84 -0
- package/dist/translations/index.js.map +1 -0
- package/dist/translations/languages/ar.d.ts.map +1 -0
- package/dist/translations/languages/ar.js +92 -0
- package/dist/translations/languages/ar.js.map +1 -0
- package/dist/translations/languages/az.d.ts.map +1 -0
- package/dist/translations/languages/az.js +92 -0
- package/dist/translations/languages/az.js.map +1 -0
- package/dist/translations/languages/bg.d.ts.map +1 -0
- package/dist/translations/languages/bg.js +92 -0
- package/dist/translations/languages/bg.js.map +1 -0
- package/dist/translations/languages/ca.d.ts.map +1 -0
- package/dist/translations/languages/ca.js +92 -0
- package/dist/translations/languages/ca.js.map +1 -0
- package/dist/translations/languages/cs.d.ts.map +1 -0
- package/dist/translations/languages/cs.js +92 -0
- package/dist/translations/languages/cs.js.map +1 -0
- package/dist/translations/languages/da.d.ts.map +1 -0
- package/dist/translations/languages/da.js +92 -0
- package/dist/translations/languages/da.js.map +1 -0
- package/dist/translations/languages/de.d.ts.map +1 -0
- package/dist/translations/languages/de.js +92 -0
- package/dist/translations/languages/de.js.map +1 -0
- package/dist/translations/languages/en.d.ts.map +1 -0
- package/dist/translations/languages/en.js +92 -0
- package/dist/translations/languages/en.js.map +1 -0
- package/dist/translations/languages/es.d.ts.map +1 -0
- package/dist/translations/languages/es.js +92 -0
- package/dist/translations/languages/es.js.map +1 -0
- package/dist/translations/languages/et.d.ts.map +1 -0
- package/dist/translations/languages/et.js +92 -0
- package/dist/translations/languages/et.js.map +1 -0
- package/dist/translations/languages/fa.d.ts.map +1 -0
- package/dist/translations/languages/fa.js +92 -0
- package/dist/translations/languages/fa.js.map +1 -0
- package/dist/translations/languages/fr.d.ts.map +1 -0
- package/dist/translations/languages/fr.js +92 -0
- package/dist/translations/languages/fr.js.map +1 -0
- package/dist/translations/languages/he.d.ts.map +1 -0
- package/dist/translations/languages/he.js +92 -0
- package/dist/translations/languages/he.js.map +1 -0
- package/dist/translations/languages/hr.d.ts.map +1 -0
- package/dist/translations/languages/hr.js +92 -0
- package/dist/translations/languages/hr.js.map +1 -0
- package/dist/translations/languages/hu.d.ts.map +1 -0
- package/dist/translations/languages/hu.js +92 -0
- package/dist/translations/languages/hu.js.map +1 -0
- package/dist/translations/languages/hy.d.ts.map +1 -0
- package/dist/translations/languages/hy.js +92 -0
- package/dist/translations/languages/hy.js.map +1 -0
- package/dist/translations/languages/is.d.ts.map +1 -0
- package/dist/translations/languages/is.js +92 -0
- package/dist/translations/languages/is.js.map +1 -0
- package/dist/translations/languages/it.d.ts.map +1 -0
- package/dist/translations/languages/it.js +92 -0
- package/dist/translations/languages/it.js.map +1 -0
- package/dist/translations/languages/ja.d.ts.map +1 -0
- package/dist/translations/languages/ja.js +92 -0
- package/dist/translations/languages/ja.js.map +1 -0
- package/dist/translations/languages/ko.d.ts.map +1 -0
- package/dist/translations/languages/ko.js +92 -0
- package/dist/translations/languages/ko.js.map +1 -0
- package/dist/translations/languages/lt.d.ts.map +1 -0
- package/dist/translations/languages/lt.js +92 -0
- package/dist/translations/languages/lt.js.map +1 -0
- package/dist/translations/languages/my.d.ts.map +1 -0
- package/dist/translations/languages/my.js +92 -0
- package/dist/translations/languages/my.js.map +1 -0
- package/dist/translations/languages/nb.d.ts.map +1 -0
- package/dist/translations/languages/nb.js +92 -0
- package/dist/translations/languages/nb.js.map +1 -0
- package/dist/translations/languages/nl.d.ts.map +1 -0
- package/dist/translations/languages/nl.js +92 -0
- package/dist/translations/languages/nl.js.map +1 -0
- package/dist/translations/languages/pl.d.ts.map +1 -0
- package/dist/translations/languages/pl.js +92 -0
- package/dist/translations/languages/pl.js.map +1 -0
- package/dist/translations/languages/pt.d.ts.map +1 -0
- package/dist/translations/languages/pt.js +92 -0
- package/dist/translations/languages/pt.js.map +1 -0
- package/dist/translations/languages/ro.d.ts.map +1 -0
- package/dist/translations/languages/ro.js +92 -0
- package/dist/translations/languages/ro.js.map +1 -0
- package/dist/translations/languages/rs.d.ts.map +1 -0
- package/dist/translations/languages/rs.js +92 -0
- package/dist/translations/languages/rs.js.map +1 -0
- package/dist/translations/languages/rsLatin.d.ts.map +1 -0
- package/dist/translations/languages/rsLatin.js +92 -0
- package/dist/translations/languages/rsLatin.js.map +1 -0
- package/dist/translations/languages/ru.d.ts.map +1 -0
- package/dist/translations/languages/ru.js +92 -0
- package/dist/translations/languages/ru.js.map +1 -0
- package/dist/translations/languages/sk.d.ts.map +1 -0
- package/dist/translations/languages/sk.js +92 -0
- package/dist/translations/languages/sk.js.map +1 -0
- package/dist/translations/languages/sl.d.ts.map +1 -0
- package/dist/translations/languages/sl.js +92 -0
- package/dist/translations/languages/sl.js.map +1 -0
- package/dist/translations/languages/sv.d.ts.map +1 -0
- package/dist/translations/languages/sv.js +92 -0
- package/dist/translations/languages/sv.js.map +1 -0
- package/dist/translations/languages/ta.d.ts.map +1 -0
- package/dist/translations/languages/ta.js +92 -0
- package/dist/translations/languages/ta.js.map +1 -0
- package/dist/translations/languages/th.d.ts.map +1 -0
- package/dist/translations/languages/th.js +92 -0
- package/dist/translations/languages/th.js.map +1 -0
- package/dist/translations/languages/tr.d.ts.map +1 -0
- package/dist/translations/languages/tr.js +92 -0
- package/dist/translations/languages/tr.js.map +1 -0
- package/dist/translations/languages/uk.d.ts.map +1 -0
- package/dist/translations/languages/uk.js +92 -0
- package/dist/translations/languages/uk.js.map +1 -0
- package/dist/translations/languages/vi.d.ts.map +1 -0
- package/dist/translations/languages/vi.js +92 -0
- package/dist/translations/languages/vi.js.map +1 -0
- package/dist/translations/languages/zh.d.ts.map +1 -0
- package/dist/translations/languages/zh.js +92 -0
- package/dist/translations/languages/zh.js.map +1 -0
- package/dist/translations/languages/zhTw.d.ts.map +1 -0
- package/dist/translations/languages/zhTw.js +92 -0
- package/dist/translations/languages/zhTw.js.map +1 -0
- package/dist/translations/translation-schema.json +343 -0
- package/dist/translations/types.d.ts.map +1 -0
- package/dist/translations/types.js +3 -0
- package/dist/translations/types.js.map +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/utilities.d.ts.map +1 -0
- package/dist/types/utilities.js +3 -0
- package/dist/types/utilities.js.map +1 -0
- package/dist/ui/PriceCell/index.d.ts.map +1 -0
- package/dist/ui/PriceCell/index.js +36 -0
- package/dist/ui/PriceCell/index.js.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.d.ts.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.js +147 -0
- package/dist/ui/PriceInput/FormattedInput.js.map +1 -0
- package/dist/ui/PriceInput/index.css +35 -0
- package/dist/ui/PriceInput/index.d.ts.map +1 -0
- package/dist/ui/PriceInput/index.js +21 -0
- package/dist/ui/PriceInput/index.js.map +1 -0
- package/dist/ui/PriceRowLabel/index.css +13 -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.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.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.css +37 -0
- package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/index.js +81 -0
- package/dist/ui/VariantOptionsSelector/index.js.map +1 -0
- package/dist/ui/utilities.d.ts.map +1 -0
- package/dist/ui/utilities.js +40 -0
- package/dist/ui/utilities.js.map +1 -0
- package/dist/utilities/accessComposition.d.ts.map +1 -0
- package/dist/utilities/accessComposition.js +103 -0
- package/dist/utilities/accessComposition.js.map +1 -0
- package/dist/utilities/accessComposition.spec.js +765 -0
- package/dist/utilities/accessComposition.spec.js.map +1 -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/defaultProductsValidation.spec.js +384 -0
- package/dist/utilities/defaultProductsValidation.spec.js.map +1 -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.map +1 -0
- package/dist/utilities/getCollectionSlugMap.js +36 -0
- package/dist/utilities/getCollectionSlugMap.js.map +1 -0
- package/dist/utilities/getCollectionSlugMap.spec.js +254 -0
- package/dist/utilities/getCollectionSlugMap.spec.js.map +1 -0
- package/dist/utilities/pushTypeScriptProperties.d.ts.map +1 -0
- package/dist/utilities/pushTypeScriptProperties.js +37 -0
- package/dist/utilities/pushTypeScriptProperties.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -0
- package/dist/utilities/sanitizePluginConfig.js +75 -0
- package/dist/utilities/sanitizePluginConfig.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.spec.js +516 -0
- package/dist/utilities/sanitizePluginConfig.spec.js.map +1 -0
- package/package.json +114 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2018-2025 Payload CMS, Inc. <info@payloadcms.com>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
'Software'), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
19
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
20
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
21
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
22
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAddressesCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/addresses/createAddressesCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAMrE,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,IAAI,CACV,YAAY,EACZ,yBAAyB,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,GAAG,iBAAiB,CAC7F,CAAA;IACD;;OAEG;IACH,aAAa,EAAE,KAAK,EAAE,CAAA;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,gBA2EzD,CAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { accessOR } from '../../utilities/accessComposition.js';
|
|
2
|
+
import { defaultCountries } from './defaultCountries.js';
|
|
3
|
+
import { beforeChange } from './hooks/beforeChange.js';
|
|
4
|
+
export const createAddressesCollection = (props)=>{
|
|
5
|
+
const { access, addressFields, customersSlug = 'users' } = props || {};
|
|
6
|
+
const { supportedCountries: supportedCountriesFromProps } = props || {};
|
|
7
|
+
const supportedCountries = supportedCountriesFromProps || defaultCountries;
|
|
8
|
+
const hasOnlyOneCountry = supportedCountries && supportedCountries.length === 1;
|
|
9
|
+
const fields = [
|
|
10
|
+
{
|
|
11
|
+
name: 'customer',
|
|
12
|
+
type: 'relationship',
|
|
13
|
+
admin: {
|
|
14
|
+
position: 'sidebar'
|
|
15
|
+
},
|
|
16
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
17
|
+
t('plugin-ecommerce:customer'),
|
|
18
|
+
relationTo: customersSlug
|
|
19
|
+
},
|
|
20
|
+
...addressFields.map((field)=>{
|
|
21
|
+
if ('name' in field && field.name === 'country') {
|
|
22
|
+
return {
|
|
23
|
+
name: 'country',
|
|
24
|
+
type: 'select',
|
|
25
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
26
|
+
t('plugin-ecommerce:addressCountry'),
|
|
27
|
+
options: supportedCountries || defaultCountries,
|
|
28
|
+
required: true,
|
|
29
|
+
...supportedCountries && supportedCountries?.[0] && hasOnlyOneCountry ? {
|
|
30
|
+
defaultValue: supportedCountries?.[0].value
|
|
31
|
+
} : {}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return field;
|
|
35
|
+
})
|
|
36
|
+
];
|
|
37
|
+
const baseConfig = {
|
|
38
|
+
slug: 'addresses',
|
|
39
|
+
access: {
|
|
40
|
+
create: access.isAuthenticated,
|
|
41
|
+
delete: accessOR(access.isAdmin, access.isDocumentOwner),
|
|
42
|
+
read: accessOR(access.isAdmin, access.isDocumentOwner),
|
|
43
|
+
update: accessOR(access.isAdmin, access.isDocumentOwner)
|
|
44
|
+
},
|
|
45
|
+
admin: {
|
|
46
|
+
description: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
47
|
+
t('plugin-ecommerce:addressesCollectionDescription'),
|
|
48
|
+
group: 'Ecommerce',
|
|
49
|
+
hidden: true,
|
|
50
|
+
useAsTitle: 'createdAt'
|
|
51
|
+
},
|
|
52
|
+
fields,
|
|
53
|
+
hooks: {
|
|
54
|
+
beforeChange: [
|
|
55
|
+
beforeChange({
|
|
56
|
+
isCustomer: access.isCustomer ?? access.customerOnlyFieldAccess
|
|
57
|
+
})
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
labels: {
|
|
61
|
+
plural: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
62
|
+
t('plugin-ecommerce:addresses'),
|
|
63
|
+
singular: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
64
|
+
t('plugin-ecommerce:address')
|
|
65
|
+
},
|
|
66
|
+
timestamps: true
|
|
67
|
+
};
|
|
68
|
+
return {
|
|
69
|
+
...baseConfig
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=createAddressesCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/addresses/createAddressesCollection.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { AccessConfig, CountryType } from '../../types/index.js'\n\nimport { accessOR } from '../../utilities/accessComposition.js'\nimport { defaultCountries } from './defaultCountries.js'\nimport { beforeChange } from './hooks/beforeChange.js'\n\ntype Props = {\n access: Pick<\n AccessConfig,\n 'customerOnlyFieldAccess' | 'isAdmin' | 'isAuthenticated' | 'isCustomer' | 'isDocumentOwner'\n >\n /**\n * Array of fields used for capturing the address data. Use this over overrides to customise the fields here as it's reused across the plugin.\n */\n addressFields: Field[]\n /**\n * Slug of the customers collection, defaults to 'users'.\n */\n customersSlug?: string\n supportedCountries?: CountryType[]\n}\n\nexport const createAddressesCollection: (props: Props) => CollectionConfig = (props) => {\n const { access, addressFields, customersSlug = 'users' } = props || {}\n\n const { supportedCountries: supportedCountriesFromProps } = props || {}\n const supportedCountries = supportedCountriesFromProps || defaultCountries\n const hasOnlyOneCountry = supportedCountries && supportedCountries.length === 1\n\n const fields: Field[] = [\n {\n name: 'customer',\n type: 'relationship',\n admin: {\n position: 'sidebar',\n },\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:customer'),\n relationTo: customersSlug,\n },\n ...addressFields.map((field) => {\n if ('name' in field && field.name === 'country') {\n return {\n name: 'country',\n type: 'select',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressCountry'),\n options: supportedCountries || defaultCountries,\n required: true,\n ...(supportedCountries && supportedCountries?.[0] && hasOnlyOneCountry\n ? {\n defaultValue: supportedCountries?.[0].value,\n }\n : {}),\n } as Field\n }\n\n return field\n }),\n ]\n\n const baseConfig: CollectionConfig = {\n slug: 'addresses',\n access: {\n create: access.isAuthenticated,\n delete: accessOR(access.isAdmin, access.isDocumentOwner),\n read: accessOR(access.isAdmin, access.isDocumentOwner),\n update: accessOR(access.isAdmin, access.isDocumentOwner),\n },\n admin: {\n description: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressesCollectionDescription'),\n group: 'Ecommerce',\n hidden: true,\n useAsTitle: 'createdAt',\n },\n fields,\n hooks: {\n beforeChange: [\n beforeChange({ isCustomer: access.isCustomer ?? access.customerOnlyFieldAccess }),\n ],\n },\n labels: {\n plural: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addresses'),\n singular: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:address'),\n },\n timestamps: true,\n }\n\n return { ...baseConfig }\n}\n"],"names":["accessOR","defaultCountries","beforeChange","createAddressesCollection","props","access","addressFields","customersSlug","supportedCountries","supportedCountriesFromProps","hasOnlyOneCountry","length","fields","name","type","admin","position","label","t","relationTo","map","field","options","required","defaultValue","value","baseConfig","slug","create","isAuthenticated","delete","isAdmin","isDocumentOwner","read","update","description","group","hidden","useAsTitle","hooks","isCustomer","customerOnlyFieldAccess","labels","plural","singular","timestamps"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,uCAAsC;AAC/D,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,YAAY,QAAQ,0BAAyB;AAkBtD,OAAO,MAAMC,4BAAgE,CAACC;IAC5E,MAAM,EAAEC,MAAM,EAAEC,aAAa,EAAEC,gBAAgB,OAAO,EAAE,GAAGH,SAAS,CAAC;IAErE,MAAM,EAAEI,oBAAoBC,2BAA2B,EAAE,GAAGL,SAAS,CAAC;IACtE,MAAMI,qBAAqBC,+BAA+BR;IAC1D,MAAMS,oBAAoBF,sBAAsBA,mBAAmBG,MAAM,KAAK;IAE9E,MAAMC,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;YACJC,YAAYZ;QACd;WACGD,cAAcc,GAAG,CAAC,CAACC;YACpB,IAAI,UAAUA,SAASA,MAAMR,IAAI,KAAK,WAAW;gBAC/C,OAAO;oBACLA,MAAM;oBACNC,MAAM;oBACNG,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;wBAC/DA,EAAE;oBACJI,SAASd,sBAAsBP;oBAC/BsB,UAAU;oBACV,GAAIf,sBAAsBA,oBAAoB,CAAC,EAAE,IAAIE,oBACjD;wBACEc,cAAchB,oBAAoB,CAAC,EAAE,CAACiB;oBACxC,IACA,CAAC,CAAC;gBACR;YACF;YAEA,OAAOJ;QACT;KACD;IAED,MAAMK,aAA+B;QACnCC,MAAM;QACNtB,QAAQ;YACNuB,QAAQvB,OAAOwB,eAAe;YAC9BC,QAAQ9B,SAASK,OAAO0B,OAAO,EAAE1B,OAAO2B,eAAe;YACvDC,MAAMjC,SAASK,OAAO0B,OAAO,EAAE1B,OAAO2B,eAAe;YACrDE,QAAQlC,SAASK,OAAO0B,OAAO,EAAE1B,OAAO2B,eAAe;QACzD;QACAjB,OAAO;YACLoB,aAAa,CAAC,EAAEjB,CAAC,EAAE,GACjB,+DAA+D;gBAC/DA,EAAE;YACJkB,OAAO;YACPC,QAAQ;YACRC,YAAY;QACd;QACA1B;QACA2B,OAAO;YACLrC,cAAc;gBACZA,aAAa;oBAAEsC,YAAYnC,OAAOmC,UAAU,IAAInC,OAAOoC,uBAAuB;gBAAC;aAChF;QACH;QACAC,QAAQ;YACNC,QAAQ,CAAC,EAAEzB,CAAC,EAAE,GACZ,+DAA+D;gBAC/DA,EAAE;YACJ0B,UAAU,CAAC,EAAE1B,CAAC,EAAE,GACd,+DAA+D;gBAC/DA,EAAE;QACN;QACA2B,YAAY;IACd;IAEA,OAAO;QAAE,GAAGnB,UAAU;IAAC;AACzB,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultAddressFields.d.ts","sourceRoot":"","sources":["../../../src/collections/addresses/defaultAddressFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,eAAO,MAAM,oBAAoB,EAAE,MAAM,KAAK,EAgF7C,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export const defaultAddressFields = ()=>{
|
|
2
|
+
return [
|
|
3
|
+
{
|
|
4
|
+
name: 'title',
|
|
5
|
+
type: 'text',
|
|
6
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
7
|
+
t('plugin-ecommerce:addressTitle')
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
name: 'firstName',
|
|
11
|
+
type: 'text',
|
|
12
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
13
|
+
t('plugin-ecommerce:addressFirstName')
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'lastName',
|
|
17
|
+
type: 'text',
|
|
18
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
19
|
+
t('plugin-ecommerce:addressLastName')
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'company',
|
|
23
|
+
type: 'text',
|
|
24
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
25
|
+
t('plugin-ecommerce:addressCompany')
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'addressLine1',
|
|
29
|
+
type: 'text',
|
|
30
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
31
|
+
t('plugin-ecommerce:addressLine1')
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'addressLine2',
|
|
35
|
+
type: 'text',
|
|
36
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
37
|
+
t('plugin-ecommerce:addressLine2')
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'city',
|
|
41
|
+
type: 'text',
|
|
42
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
43
|
+
t('plugin-ecommerce:addressCity')
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'state',
|
|
47
|
+
type: 'text',
|
|
48
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
49
|
+
t('plugin-ecommerce:addressState')
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'postalCode',
|
|
53
|
+
type: 'text',
|
|
54
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
55
|
+
t('plugin-ecommerce:addressPostalCode')
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'country',
|
|
59
|
+
type: 'text',
|
|
60
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
61
|
+
t('plugin-ecommerce:addressCountry')
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'phone',
|
|
65
|
+
type: 'text',
|
|
66
|
+
label: ({ t })=>// @ts-expect-error - translations are not typed in plugins yet
|
|
67
|
+
t('plugin-ecommerce:addressPhone')
|
|
68
|
+
}
|
|
69
|
+
];
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=defaultAddressFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/addresses/defaultAddressFields.ts"],"sourcesContent":["import type { Field } from 'payload'\n\nexport const defaultAddressFields: () => Field[] = () => {\n return [\n {\n name: 'title',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressTitle'),\n },\n {\n name: 'firstName',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressFirstName'),\n },\n {\n name: 'lastName',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressLastName'),\n },\n {\n name: 'company',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressCompany'),\n },\n {\n name: 'addressLine1',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressLine1'),\n },\n {\n name: 'addressLine2',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressLine2'),\n },\n {\n name: 'city',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressCity'),\n },\n {\n name: 'state',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressState'),\n },\n {\n name: 'postalCode',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressPostalCode'),\n },\n {\n name: 'country',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressCountry'),\n },\n {\n name: 'phone',\n type: 'text',\n label: ({ t }) =>\n // @ts-expect-error - translations are not typed in plugins yet\n t('plugin-ecommerce:addressPhone'),\n },\n ]\n}\n"],"names":["defaultAddressFields","name","type","label","t"],"mappings":"AAEA,OAAO,MAAMA,uBAAsC;IACjD,OAAO;QACL;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;QACA;YACEH,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GACX,+DAA+D;gBAC/DA,EAAE;QACN;KACD;AACH,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultCountries.d.ts","sourceRoot":"","sources":["../../../src/collections/addresses/defaultCountries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAyCzC,CAAA"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default list of countries supported for forms and payments.
|
|
3
|
+
* This can be overriden or reused in other parts of the application.
|
|
4
|
+
*
|
|
5
|
+
* The label is the human-readable name of the country, and the value is the ISO 3166-1 alpha-2 code.
|
|
6
|
+
*/ export const defaultCountries = [
|
|
7
|
+
{
|
|
8
|
+
label: 'United States',
|
|
9
|
+
value: 'US'
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
label: 'United Kingdom',
|
|
13
|
+
value: 'GB'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
label: 'Canada',
|
|
17
|
+
value: 'CA'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
label: 'Australia',
|
|
21
|
+
value: 'AU'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
label: 'Austria',
|
|
25
|
+
value: 'AT'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
label: 'Belgium',
|
|
29
|
+
value: 'BE'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: 'Brazil',
|
|
33
|
+
value: 'BR'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: 'Bulgaria',
|
|
37
|
+
value: 'BG'
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: 'Cyprus',
|
|
41
|
+
value: 'CY'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
label: 'Czech Republic',
|
|
45
|
+
value: 'CZ'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
label: 'Denmark',
|
|
49
|
+
value: 'DK'
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
label: 'Estonia',
|
|
53
|
+
value: 'EE'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
label: 'Finland',
|
|
57
|
+
value: 'FI'
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
label: 'France',
|
|
61
|
+
value: 'FR'
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
label: 'Germany',
|
|
65
|
+
value: 'DE'
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
label: 'Greece',
|
|
69
|
+
value: 'GR'
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
label: 'Hong Kong',
|
|
73
|
+
value: 'HK'
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
label: 'Hungary',
|
|
77
|
+
value: 'HU'
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
label: 'India',
|
|
81
|
+
value: 'IN'
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
label: 'Ireland',
|
|
85
|
+
value: 'IE'
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
label: 'Italy',
|
|
89
|
+
value: 'IT'
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
label: 'Japan',
|
|
93
|
+
value: 'JP'
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
label: 'Latvia',
|
|
97
|
+
value: 'LV'
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
label: 'Lithuania',
|
|
101
|
+
value: 'LT'
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
label: 'Luxembourg',
|
|
105
|
+
value: 'LU'
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
label: 'Malaysia',
|
|
109
|
+
value: 'MY'
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
label: 'Malta',
|
|
113
|
+
value: 'MT'
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
label: 'Mexico',
|
|
117
|
+
value: 'MX'
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
label: 'Netherlands',
|
|
121
|
+
value: 'NL'
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
label: 'New Zealand',
|
|
125
|
+
value: 'NZ'
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
label: 'Norway',
|
|
129
|
+
value: 'NO'
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
label: 'Poland',
|
|
133
|
+
value: 'PL'
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
label: 'Portugal',
|
|
137
|
+
value: 'PT'
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
label: 'Romania',
|
|
141
|
+
value: 'RO'
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
label: 'Singapore',
|
|
145
|
+
value: 'SG'
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
label: 'Slovakia',
|
|
149
|
+
value: 'SK'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
label: 'Slovenia',
|
|
153
|
+
value: 'SI'
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
label: 'Spain',
|
|
157
|
+
value: 'ES'
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
label: 'Sweden',
|
|
161
|
+
value: 'SE'
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
label: 'Switzerland',
|
|
165
|
+
value: 'CH'
|
|
166
|
+
}
|
|
167
|
+
];
|
|
168
|
+
|
|
169
|
+
//# sourceMappingURL=defaultCountries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/addresses/defaultCountries.ts"],"sourcesContent":["import type { CountryType } from '../../types/index.js'\n\n/**\n * Default list of countries supported for forms and payments.\n * This can be overriden or reused in other parts of the application.\n *\n * The label is the human-readable name of the country, and the value is the ISO 3166-1 alpha-2 code.\n */\nexport const defaultCountries: CountryType[] = [\n { label: 'United States', value: 'US' },\n { label: 'United Kingdom', value: 'GB' },\n { label: 'Canada', value: 'CA' },\n { label: 'Australia', value: 'AU' },\n { label: 'Austria', value: 'AT' },\n { label: 'Belgium', value: 'BE' },\n { label: 'Brazil', value: 'BR' },\n { label: 'Bulgaria', value: 'BG' },\n { label: 'Cyprus', value: 'CY' },\n { label: 'Czech Republic', value: 'CZ' },\n { label: 'Denmark', value: 'DK' },\n { label: 'Estonia', value: 'EE' },\n { label: 'Finland', value: 'FI' },\n { label: 'France', value: 'FR' },\n { label: 'Germany', value: 'DE' },\n { label: 'Greece', value: 'GR' },\n { label: 'Hong Kong', value: 'HK' },\n { label: 'Hungary', value: 'HU' },\n { label: 'India', value: 'IN' },\n { label: 'Ireland', value: 'IE' },\n { label: 'Italy', value: 'IT' },\n { label: 'Japan', value: 'JP' },\n { label: 'Latvia', value: 'LV' },\n { label: 'Lithuania', value: 'LT' },\n { label: 'Luxembourg', value: 'LU' },\n { label: 'Malaysia', value: 'MY' },\n { label: 'Malta', value: 'MT' },\n { label: 'Mexico', value: 'MX' },\n { label: 'Netherlands', value: 'NL' },\n { label: 'New Zealand', value: 'NZ' },\n { label: 'Norway', value: 'NO' },\n { label: 'Poland', value: 'PL' },\n { label: 'Portugal', value: 'PT' },\n { label: 'Romania', value: 'RO' },\n { label: 'Singapore', value: 'SG' },\n { label: 'Slovakia', value: 'SK' },\n { label: 'Slovenia', value: 'SI' },\n { label: 'Spain', value: 'ES' },\n { label: 'Sweden', value: 'SE' },\n { label: 'Switzerland', value: 'CH' },\n]\n"],"names":["defaultCountries","label","value"],"mappings":"AAEA;;;;;CAKC,GACD,OAAO,MAAMA,mBAAkC;IAC7C;QAAEC,OAAO;QAAiBC,OAAO;IAAK;IACtC;QAAED,OAAO;QAAkBC,OAAO;IAAK;IACvC;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAaC,OAAO;IAAK;IAClC;QAAED,OAAO;QAAWC,OAAO;IAAK;IAChC;QAAED,OAAO;QAAWC,OAAO;IAAK;IAChC;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAYC,OAAO;IAAK;IACjC;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAkBC,OAAO;IAAK;IACvC;QAAED,OAAO;QAAWC,OAAO;IAAK;IAChC;QAAED,OAAO;QAAWC,OAAO;IAAK;IAChC;QAAED,OAAO;QAAWC,OAAO;IAAK;IAChC;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAWC,OAAO;IAAK;IAChC;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAaC,OAAO;IAAK;IAClC;QAAED,OAAO;QAAWC,OAAO;IAAK;IAChC;QAAED,OAAO;QAASC,OAAO;IAAK;IAC9B;QAAED,OAAO;QAAWC,OAAO;IAAK;IAChC;QAAED,OAAO;QAASC,OAAO;IAAK;IAC9B;QAAED,OAAO;QAASC,OAAO;IAAK;IAC9B;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAaC,OAAO;IAAK;IAClC;QAAED,OAAO;QAAcC,OAAO;IAAK;IACnC;QAAED,OAAO;QAAYC,OAAO;IAAK;IACjC;QAAED,OAAO;QAASC,OAAO;IAAK;IAC9B;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAeC,OAAO;IAAK;IACpC;QAAED,OAAO;QAAeC,OAAO;IAAK;IACpC;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAYC,OAAO;IAAK;IACjC;QAAED,OAAO;QAAWC,OAAO;IAAK;IAChC;QAAED,OAAO;QAAaC,OAAO;IAAK;IAClC;QAAED,OAAO;QAAYC,OAAO;IAAK;IACjC;QAAED,OAAO;QAAYC,OAAO;IAAK;IACjC;QAAED,OAAO;QAASC,OAAO;IAAK;IAC9B;QAAED,OAAO;QAAUC,OAAO;IAAK;IAC/B;QAAED,OAAO;QAAeC,OAAO;IAAK;CACrC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beforeChange.d.ts","sourceRoot":"","sources":["../../../../src/collections/addresses/hooks/beforeChange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEtE,UAAU,KAAK;IACb,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB;AAED,eAAO,MAAM,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,0BAgBzC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const beforeChange = ({ isCustomer })=>async ({ data, req })=>{
|
|
2
|
+
if (!isCustomer) {
|
|
3
|
+
return data;
|
|
4
|
+
}
|
|
5
|
+
const userIsCustomer = await isCustomer({
|
|
6
|
+
req
|
|
7
|
+
});
|
|
8
|
+
// Ensure that the customer field is set to the current user's ID if the user is a customer.
|
|
9
|
+
// Admins can set to any customer.
|
|
10
|
+
if (req.user && userIsCustomer) {
|
|
11
|
+
data.customer = req.user.id;
|
|
12
|
+
}
|
|
13
|
+
return data;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=beforeChange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/collections/addresses/hooks/beforeChange.ts"],"sourcesContent":["import type { CollectionBeforeChangeHook, FieldAccess } from 'payload'\n\ninterface Props {\n isCustomer?: FieldAccess\n}\n\nexport const beforeChange: (args: Props) => CollectionBeforeChangeHook =\n ({ isCustomer }) =>\n async ({ data, req }) => {\n if (!isCustomer) {\n return data\n }\n\n const userIsCustomer = await isCustomer({ req })\n\n // Ensure that the customer field is set to the current user's ID if the user is a customer.\n // Admins can set to any customer.\n if (req.user && userIsCustomer) {\n data.customer = req.user.id\n }\n\n return data\n }\n"],"names":["beforeChange","isCustomer","data","req","userIsCustomer","user","customer","id"],"mappings":"AAMA,OAAO,MAAMA,eACX,CAAC,EAAEC,UAAU,EAAE,GACf,OAAO,EAAEC,IAAI,EAAEC,GAAG,EAAE;QAClB,IAAI,CAACF,YAAY;YACf,OAAOC;QACT;QAEA,MAAME,iBAAiB,MAAMH,WAAW;YAAEE;QAAI;QAE9C,4FAA4F;QAC5F,kCAAkC;QAClC,IAAIA,IAAIE,IAAI,IAAID,gBAAgB;YAC9BF,KAAKI,QAAQ,GAAGH,IAAIE,IAAI,CAACE,EAAE;QAC7B;QAEA,OAAOL;IACT,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beforeChange.d.ts","sourceRoot":"","sources":["../../../src/collections/carts/beforeChange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAIzD,KAAK,KAAK,GAAG;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,0BAwD7C,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
export const beforeChangeCart = ({ productsSlug, variantsSlug })=>async ({ data, operation, req })=>{
|
|
3
|
+
// Generate a secret for guest cart access on creation
|
|
4
|
+
if (operation === 'create' && !data.customer && !data.secret) {
|
|
5
|
+
// Generate a cryptographically secure random string
|
|
6
|
+
const secret = crypto.randomBytes(20).toString('hex');
|
|
7
|
+
data.secret = secret;
|
|
8
|
+
// Store in context so afterRead hook can include it in the creation response
|
|
9
|
+
if (!req.context) {
|
|
10
|
+
req.context = {};
|
|
11
|
+
}
|
|
12
|
+
req.context.newCartSecret = secret;
|
|
13
|
+
}
|
|
14
|
+
// Update subtotal based on items in the cart
|
|
15
|
+
if (data.items && Array.isArray(data.items)) {
|
|
16
|
+
const priceField = `priceIn${data.currency}`;
|
|
17
|
+
let subtotal = 0;
|
|
18
|
+
for (const item of data.items){
|
|
19
|
+
if (item.variant) {
|
|
20
|
+
const id = typeof item.variant === 'object' ? item.variant.id : item.variant;
|
|
21
|
+
const variant = await req.payload.findByID({
|
|
22
|
+
id,
|
|
23
|
+
collection: variantsSlug,
|
|
24
|
+
depth: 0,
|
|
25
|
+
select: {
|
|
26
|
+
[priceField]: true
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
subtotal += variant[priceField] * item.quantity;
|
|
30
|
+
} else {
|
|
31
|
+
const id = typeof item.product === 'object' ? item.product.id : item.product;
|
|
32
|
+
const product = await req.payload.findByID({
|
|
33
|
+
id,
|
|
34
|
+
collection: productsSlug,
|
|
35
|
+
depth: 0,
|
|
36
|
+
select: {
|
|
37
|
+
[priceField]: true
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
subtotal += product[priceField] * item.quantity;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
data.subtotal = subtotal;
|
|
44
|
+
} else {
|
|
45
|
+
data.subtotal = 0;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=beforeChange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/carts/beforeChange.ts"],"sourcesContent":["import type { CollectionBeforeChangeHook } from 'payload'\n\nimport crypto from 'crypto'\n\ntype Props = {\n productsSlug: string\n variantsSlug: string\n}\n\nexport const beforeChangeCart: (args: Props) => CollectionBeforeChangeHook =\n ({ productsSlug, variantsSlug }) =>\n async ({ data, operation, req }) => {\n // Generate a secret for guest cart access on creation\n if (operation === 'create' && !data.customer && !data.secret) {\n // Generate a cryptographically secure random string\n const secret = crypto.randomBytes(20).toString('hex')\n data.secret = secret\n\n // Store in context so afterRead hook can include it in the creation response\n if (!req.context) {\n req.context = {}\n }\n req.context.newCartSecret = secret\n }\n\n // Update subtotal based on items in the cart\n if (data.items && Array.isArray(data.items)) {\n const priceField = `priceIn${data.currency}`\n\n let subtotal = 0\n\n for (const item of data.items) {\n if (item.variant) {\n const id = typeof item.variant === 'object' ? item.variant.id : item.variant\n\n const variant = await req.payload.findByID({\n id,\n collection: variantsSlug,\n depth: 0,\n select: {\n [priceField]: true,\n },\n })\n\n subtotal += variant[priceField] * item.quantity\n } else {\n const id = typeof item.product === 'object' ? item.product.id : item.product\n\n const product = await req.payload.findByID({\n id,\n collection: productsSlug,\n depth: 0,\n select: {\n [priceField]: true,\n },\n })\n\n subtotal += product[priceField] * item.quantity\n }\n }\n\n data.subtotal = subtotal\n } else {\n data.subtotal = 0\n }\n }\n"],"names":["crypto","beforeChangeCart","productsSlug","variantsSlug","data","operation","req","customer","secret","randomBytes","toString","context","newCartSecret","items","Array","isArray","priceField","currency","subtotal","item","variant","id","payload","findByID","collection","depth","select","quantity","product"],"mappings":"AAEA,OAAOA,YAAY,SAAQ;AAO3B,OAAO,MAAMC,mBACX,CAAC,EAAEC,YAAY,EAAEC,YAAY,EAAE,GAC/B,OAAO,EAAEC,IAAI,EAAEC,SAAS,EAAEC,GAAG,EAAE;QAC7B,sDAAsD;QACtD,IAAID,cAAc,YAAY,CAACD,KAAKG,QAAQ,IAAI,CAACH,KAAKI,MAAM,EAAE;YAC5D,oDAAoD;YACpD,MAAMA,SAASR,OAAOS,WAAW,CAAC,IAAIC,QAAQ,CAAC;YAC/CN,KAAKI,MAAM,GAAGA;YAEd,6EAA6E;YAC7E,IAAI,CAACF,IAAIK,OAAO,EAAE;gBAChBL,IAAIK,OAAO,GAAG,CAAC;YACjB;YACAL,IAAIK,OAAO,CAACC,aAAa,GAAGJ;QAC9B;QAEA,6CAA6C;QAC7C,IAAIJ,KAAKS,KAAK,IAAIC,MAAMC,OAAO,CAACX,KAAKS,KAAK,GAAG;YAC3C,MAAMG,aAAa,CAAC,OAAO,EAAEZ,KAAKa,QAAQ,EAAE;YAE5C,IAAIC,WAAW;YAEf,KAAK,MAAMC,QAAQf,KAAKS,KAAK,CAAE;gBAC7B,IAAIM,KAAKC,OAAO,EAAE;oBAChB,MAAMC,KAAK,OAAOF,KAAKC,OAAO,KAAK,WAAWD,KAAKC,OAAO,CAACC,EAAE,GAAGF,KAAKC,OAAO;oBAE5E,MAAMA,UAAU,MAAMd,IAAIgB,OAAO,CAACC,QAAQ,CAAC;wBACzCF;wBACAG,YAAYrB;wBACZsB,OAAO;wBACPC,QAAQ;4BACN,CAACV,WAAW,EAAE;wBAChB;oBACF;oBAEAE,YAAYE,OAAO,CAACJ,WAAW,GAAGG,KAAKQ,QAAQ;gBACjD,OAAO;oBACL,MAAMN,KAAK,OAAOF,KAAKS,OAAO,KAAK,WAAWT,KAAKS,OAAO,CAACP,EAAE,GAAGF,KAAKS,OAAO;oBAE5E,MAAMA,UAAU,MAAMtB,IAAIgB,OAAO,CAACC,QAAQ,CAAC;wBACzCF;wBACAG,YAAYtB;wBACZuB,OAAO;wBACPC,QAAQ;4BACN,CAACV,WAAW,EAAE;wBAChB;oBACF;oBAEAE,YAAYU,OAAO,CAACZ,WAAW,GAAGG,KAAKQ,QAAQ;gBACjD;YACF;YAEAvB,KAAKc,QAAQ,GAAGA;QAClB,OAAO;YACLd,KAAKc,QAAQ,GAAG;QAClB;IACF,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCartsCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/carts/createCartsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAe5D,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,iBAAiB,GAAG,iBAAiB,CAAC,CAAA;IACvF;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,gBAqMrD,CAAA"}
|