@payloadcms/plugin-ecommerce 4.0.0-internal.293e026 → 4.0.0-internal.2a3c3bc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +6 -0
  3. package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -1
  4. package/dist/collections/addresses/createAddressesCollection.js +1 -0
  5. package/dist/collections/addresses/createAddressesCollection.js.map +1 -1
  6. package/dist/collections/addresses/hooks/beforeChange.d.ts.map +1 -1
  7. package/dist/collections/addresses/hooks/beforeChange.js +3 -2
  8. package/dist/collections/addresses/hooks/beforeChange.js.map +1 -1
  9. package/dist/collections/carts/beforeChange.d.ts.map +1 -1
  10. package/dist/collections/carts/beforeChange.js +2 -0
  11. package/dist/collections/carts/beforeChange.js.map +1 -1
  12. package/dist/collections/carts/createCartsCollection.d.ts.map +1 -1
  13. package/dist/collections/carts/createCartsCollection.js +1 -0
  14. package/dist/collections/carts/createCartsCollection.js.map +1 -1
  15. package/dist/collections/carts/endpoints/addItem.d.ts.map +1 -1
  16. package/dist/collections/carts/endpoints/clearCart.d.ts.map +1 -1
  17. package/dist/collections/carts/endpoints/mergeCart.d.ts.map +1 -1
  18. package/dist/collections/carts/endpoints/removeItem.d.ts.map +1 -1
  19. package/dist/collections/carts/endpoints/updateItem.d.ts.map +1 -1
  20. package/dist/collections/carts/hasCartSecretAccess.d.ts.map +1 -1
  21. package/dist/collections/carts/operations/addItem.d.ts.map +1 -1
  22. package/dist/collections/carts/operations/clearCart.d.ts.map +1 -1
  23. package/dist/collections/carts/operations/createRequestWithSecret.d.ts.map +1 -1
  24. package/dist/collections/carts/operations/mergeCart.d.ts.map +1 -1
  25. package/dist/collections/carts/operations/removeItem.d.ts.map +1 -1
  26. package/dist/collections/carts/operations/updateItem.d.ts.map +1 -1
  27. package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -1
  28. package/dist/collections/orders/createOrdersCollection.js +1 -0
  29. package/dist/collections/orders/createOrdersCollection.js.map +1 -1
  30. package/dist/collections/products/createProductsCollection.d.ts.map +1 -1
  31. package/dist/collections/products/createProductsCollection.js +1 -0
  32. package/dist/collections/products/createProductsCollection.js.map +1 -1
  33. package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -1
  34. package/dist/collections/transactions/createTransactionsCollection.js +1 -0
  35. package/dist/collections/transactions/createTransactionsCollection.js.map +1 -1
  36. package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -1
  37. package/dist/collections/variants/createVariantOptionsCollection.js +1 -0
  38. package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -1
  39. package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -1
  40. package/dist/collections/variants/createVariantTypesCollection.js +1 -0
  41. package/dist/collections/variants/createVariantTypesCollection.js.map +1 -1
  42. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -1
  43. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +2 -0
  44. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -1
  45. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -1
  46. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +1 -0
  47. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -1
  48. package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -1
  49. package/dist/collections/variants/createVariantsCollection/index.js +1 -0
  50. package/dist/collections/variants/createVariantsCollection/index.js.map +1 -1
  51. package/dist/endpoints/confirmOrder.d.ts.map +1 -1
  52. package/dist/endpoints/confirmOrder.js +306 -44
  53. package/dist/endpoints/confirmOrder.js.map +1 -1
  54. package/dist/endpoints/initiatePayment.d.ts.map +1 -1
  55. package/dist/endpoints/initiatePayment.js +2 -0
  56. package/dist/endpoints/initiatePayment.js.map +1 -1
  57. package/dist/exports/types.d.ts +1 -1
  58. package/dist/exports/types.d.ts.map +1 -1
  59. package/dist/exports/types.js.map +1 -1
  60. package/dist/fields/pricesField.d.ts.map +1 -1
  61. package/dist/fields/pricesField.js +39 -39
  62. package/dist/fields/pricesField.js.map +1 -1
  63. package/dist/fields/statusField.d.ts.map +1 -1
  64. package/dist/fields/statusField.js +5 -0
  65. package/dist/fields/statusField.js.map +1 -1
  66. package/dist/index.d.ts +1 -2
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +7 -2
  69. package/dist/index.js.map +1 -1
  70. package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -1
  71. package/dist/payments/adapters/stripe/confirmOrder.js +108 -75
  72. package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -1
  73. package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -1
  74. package/dist/payments/adapters/stripe/initiatePayment.js +1 -0
  75. package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -1
  76. package/dist/payments/adapters/stripe/validateSettlement.d.ts +37 -0
  77. package/dist/payments/adapters/stripe/validateSettlement.d.ts.map +1 -0
  78. package/dist/payments/adapters/stripe/validateSettlement.js +157 -0
  79. package/dist/payments/adapters/stripe/validateSettlement.js.map +1 -0
  80. package/dist/react/provider/index.d.ts.map +1 -1
  81. package/dist/react/provider/index.js +75 -34
  82. package/dist/react/provider/index.js.map +1 -1
  83. package/dist/react/provider/utilities.d.ts.map +1 -1
  84. package/dist/translations/languages/ar.d.ts.map +1 -1
  85. package/dist/translations/languages/az.d.ts.map +1 -1
  86. package/dist/translations/languages/bg.d.ts.map +1 -1
  87. package/dist/translations/languages/ca.d.ts.map +1 -1
  88. package/dist/translations/languages/cs.d.ts.map +1 -1
  89. package/dist/translations/languages/da.d.ts.map +1 -1
  90. package/dist/translations/languages/de.d.ts.map +1 -1
  91. package/dist/translations/languages/en.d.ts.map +1 -1
  92. package/dist/translations/languages/es.d.ts.map +1 -1
  93. package/dist/translations/languages/et.d.ts.map +1 -1
  94. package/dist/translations/languages/fa.d.ts.map +1 -1
  95. package/dist/translations/languages/fr.d.ts.map +1 -1
  96. package/dist/translations/languages/he.d.ts.map +1 -1
  97. package/dist/translations/languages/hr.d.ts.map +1 -1
  98. package/dist/translations/languages/hu.d.ts.map +1 -1
  99. package/dist/translations/languages/hy.d.ts.map +1 -1
  100. package/dist/translations/languages/is.d.ts.map +1 -1
  101. package/dist/translations/languages/it.d.ts.map +1 -1
  102. package/dist/translations/languages/ja.d.ts.map +1 -1
  103. package/dist/translations/languages/ko.d.ts.map +1 -1
  104. package/dist/translations/languages/lt.d.ts.map +1 -1
  105. package/dist/translations/languages/my.d.ts.map +1 -1
  106. package/dist/translations/languages/nb.d.ts.map +1 -1
  107. package/dist/translations/languages/nl.d.ts.map +1 -1
  108. package/dist/translations/languages/pl.d.ts.map +1 -1
  109. package/dist/translations/languages/pt.d.ts.map +1 -1
  110. package/dist/translations/languages/ro.d.ts.map +1 -1
  111. package/dist/translations/languages/rs.d.ts.map +1 -1
  112. package/dist/translations/languages/rsLatin.d.ts.map +1 -1
  113. package/dist/translations/languages/ru.d.ts.map +1 -1
  114. package/dist/translations/languages/sk.d.ts.map +1 -1
  115. package/dist/translations/languages/sl.d.ts.map +1 -1
  116. package/dist/translations/languages/sv.d.ts.map +1 -1
  117. package/dist/translations/languages/ta.d.ts.map +1 -1
  118. package/dist/translations/languages/th.d.ts.map +1 -1
  119. package/dist/translations/languages/tr.d.ts.map +1 -1
  120. package/dist/translations/languages/uk.d.ts.map +1 -1
  121. package/dist/translations/languages/vi.d.ts.map +1 -1
  122. package/dist/translations/languages/zh.d.ts.map +1 -1
  123. package/dist/translations/languages/zhTw.d.ts.map +1 -1
  124. package/dist/types/index.d.ts +33 -7
  125. package/dist/types/index.d.ts.map +1 -1
  126. package/dist/types/index.js.map +1 -1
  127. package/dist/ui/PriceInput/FormattedInput.js +2 -2
  128. package/dist/ui/PriceInput/FormattedInput.js.map +1 -1
  129. package/dist/ui/PriceInput/index.css +19 -31
  130. package/dist/ui/PriceInput/index.d.ts.map +1 -1
  131. package/dist/ui/PriceInput/index.js.map +1 -1
  132. package/dist/ui/PriceRowLabel/index.css +2 -2
  133. package/dist/ui/VariantOptionsSelector/index.css +8 -10
  134. package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -1
  135. package/dist/ui/VariantOptionsSelector/index.js +3 -1
  136. package/dist/ui/VariantOptionsSelector/index.js.map +1 -1
  137. package/dist/ui/utilities.d.ts.map +1 -1
  138. package/dist/utilities/accessComposition.d.ts.map +1 -1
  139. package/dist/utilities/getCollectionSlugMap.d.ts.map +1 -1
  140. package/dist/utilities/pushTypeScriptProperties.d.ts.map +1 -1
  141. package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -1
  142. package/package.json +10 -10
  143. package/dist/@types/assets.d.js +0 -2
  144. package/dist/@types/assets.d.js.map +0 -1
  145. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js +0 -358
  146. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js.map +0 -1
  147. package/dist/payments/adapters/stripe/confirmOrder.spec.js +0 -166
  148. package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +0 -1
  149. package/dist/utilities/accessComposition.spec.js +0 -765
  150. package/dist/utilities/accessComposition.spec.js.map +0 -1
  151. package/dist/utilities/defaultProductsValidation.spec.js +0 -384
  152. package/dist/utilities/defaultProductsValidation.spec.js.map +0 -1
  153. package/dist/utilities/getCollectionSlugMap.spec.js +0 -254
  154. package/dist/utilities/getCollectionSlugMap.spec.js.map +0 -1
  155. package/dist/utilities/sanitizePluginConfig.spec.js +0 -516
  156. package/dist/utilities/sanitizePluginConfig.spec.js.map +0 -1
@@ -114,7 +114,7 @@ export const FormattedInput = ({ id: idFromProps, currency: currencyFromProps, d
114
114
  required: required
115
115
  }),
116
116
  /*#__PURE__*/ _jsxs("div", {
117
- className: `${baseClass}Container`,
117
+ className: `${baseClass}Container form-input-group`,
118
118
  children: [
119
119
  /*#__PURE__*/ _jsx("div", {
120
120
  className: `${baseClass}CurrencySymbol`,
@@ -123,7 +123,7 @@ export const FormattedInput = ({ id: idFromProps, currency: currencyFromProps, d
123
123
  })
124
124
  }),
125
125
  /*#__PURE__*/ _jsx("input", {
126
- className: `${baseClass}Input`,
126
+ className: `${baseClass}Input form-input`,
127
127
  disabled: disabled || readOnly,
128
128
  id: id,
129
129
  onBlur: handleInputBlur,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ui/PriceInput/FormattedInput.tsx"],"sourcesContent":["'use client'\n\nimport type { StaticDescription, StaticLabel } from 'payload'\n\nimport { FieldDescription, FieldLabel, useField, useFormFields } from '@payloadcms/ui'\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { Currency } from '../../types/index.js'\n\nimport { USD } from '../../currencies/index.js'\nimport { convertFromBaseValue, convertToBaseValue } from '../utilities.js'\n\ninterface Props {\n currency?: Currency\n description?: StaticDescription\n disabled?: boolean\n error?: string\n id?: string\n label?: StaticLabel\n path: string\n placeholder?: string\n readOnly?: boolean\n required?: boolean\n supportedCurrencies: Currency[]\n}\n\nconst baseClass = 'formattedPrice'\n\nexport const FormattedInput: React.FC<Props> = ({\n id: idFromProps,\n currency: currencyFromProps,\n description,\n disabled = false,\n label,\n path,\n placeholder = '0.00',\n readOnly,\n required,\n supportedCurrencies,\n}) => {\n const { setValue, value } = useField<number>({ path })\n const [displayValue, setDisplayValue] = useState<string>('')\n\n const inputRef = useRef<HTMLInputElement>(null)\n const isFirstRender = useRef(true)\n const debounceTimer = useRef<NodeJS.Timeout | null>(null)\n\n const parentPath = path.split('.').slice(0, -1).join('.')\n const currencyPath = parentPath ? `${parentPath}.currency` : 'currency'\n\n const currencyFromSelectField = useFormFields(([fields, _]) => fields[currencyPath])\n\n const currencyCode = currencyFromProps?.code ?? (currencyFromSelectField?.value as string)\n const id = idFromProps || path\n\n const currency = useMemo<Currency>(() => {\n if (currencyCode && supportedCurrencies) {\n const foundCurrency = supportedCurrencies.find(\n (supportedCurrency) => supportedCurrency.code === currencyCode,\n )\n\n return foundCurrency ?? supportedCurrencies[0] ?? USD\n }\n\n return supportedCurrencies[0] ?? USD\n }, [currencyCode, supportedCurrencies])\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n\n if (value === undefined || value === null) {\n setDisplayValue('')\n } else {\n setDisplayValue(convertFromBaseValue({ baseValue: value, currency }))\n }\n }\n }, [currency, value, currencyFromProps])\n\n const updateValue = useCallback(\n (inputValue: string) => {\n if (inputValue === '') {\n setValue(null)\n\n return\n }\n\n const baseValue = convertToBaseValue({ currency, displayValue: inputValue })\n\n setValue(baseValue)\n },\n [currency, setValue],\n )\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value\n\n if (!/^\\d*(?:\\.\\d*)?$/.test(inputValue) && inputValue !== '') {\n return\n }\n\n setDisplayValue(inputValue)\n\n // Clear any existing timer\n if (debounceTimer.current) {\n clearTimeout(debounceTimer.current)\n }\n\n // Only update the base value after a delay to avoid formatting while typing\n debounceTimer.current = setTimeout(() => {\n updateValue(inputValue)\n }, 500)\n },\n [updateValue, setDisplayValue],\n )\n\n const handleInputBlur = useCallback(() => {\n if (displayValue === '') {\n return\n }\n\n // Clear any pending debounce\n if (debounceTimer.current) {\n clearTimeout(debounceTimer.current)\n debounceTimer.current = null\n }\n\n const baseValue = convertToBaseValue({ currency, displayValue })\n const formattedValue = convertFromBaseValue({ baseValue, currency })\n\n if (value != baseValue) {\n setValue(baseValue)\n }\n\n setDisplayValue(formattedValue)\n }, [currency, displayValue, setValue, value])\n\n return (\n <div className={`field-type number ${baseClass}`}>\n {label && <FieldLabel as=\"label\" htmlFor={id} label={label} required={required} />}\n\n <div className={`${baseClass}Container`}>\n <div className={`${baseClass}CurrencySymbol`}>\n <span>{currency.symbol}</span>\n </div>\n\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}Input`}\n disabled={disabled || readOnly}\n id={id}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n placeholder={placeholder}\n ref={inputRef}\n type=\"text\"\n value={displayValue}\n />\n </div>\n <FieldDescription\n className={`${baseClass}Description`}\n description={description}\n path={path}\n />\n </div>\n )\n}\n"],"names":["FieldDescription","FieldLabel","useField","useFormFields","useCallback","useEffect","useMemo","useRef","useState","USD","convertFromBaseValue","convertToBaseValue","baseClass","FormattedInput","id","idFromProps","currency","currencyFromProps","description","disabled","label","path","placeholder","readOnly","required","supportedCurrencies","setValue","value","displayValue","setDisplayValue","inputRef","isFirstRender","debounceTimer","parentPath","split","slice","join","currencyPath","currencyFromSelectField","fields","_","currencyCode","code","foundCurrency","find","supportedCurrency","current","undefined","baseValue","updateValue","inputValue","handleInputChange","e","target","test","clearTimeout","setTimeout","handleInputBlur","formattedValue","div","className","as","htmlFor","span","symbol","input","onBlur","onChange","ref","type"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/ui/PriceInput/FormattedInput.tsx"],"sourcesContent":["'use client'\n\nimport type { StaticDescription, StaticLabel } from 'payload'\n\nimport { FieldDescription, FieldLabel, useField, useFormFields } from '@payloadcms/ui'\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { Currency } from '../../types/index.js'\n\nimport { USD } from '../../currencies/index.js'\nimport { convertFromBaseValue, convertToBaseValue } from '../utilities.js'\n\ninterface Props {\n currency?: Currency\n description?: StaticDescription\n disabled?: boolean\n error?: string\n id?: string\n label?: StaticLabel\n path: string\n placeholder?: string\n readOnly?: boolean\n required?: boolean\n supportedCurrencies: Currency[]\n}\n\nconst baseClass = 'formattedPrice'\n\nexport const FormattedInput: React.FC<Props> = ({\n id: idFromProps,\n currency: currencyFromProps,\n description,\n disabled = false,\n label,\n path,\n placeholder = '0.00',\n readOnly,\n required,\n supportedCurrencies,\n}) => {\n const { setValue, value } = useField<number>({ path })\n const [displayValue, setDisplayValue] = useState<string>('')\n\n const inputRef = useRef<HTMLInputElement>(null)\n const isFirstRender = useRef(true)\n const debounceTimer = useRef<NodeJS.Timeout | null>(null)\n\n const parentPath = path.split('.').slice(0, -1).join('.')\n const currencyPath = parentPath ? `${parentPath}.currency` : 'currency'\n\n const currencyFromSelectField = useFormFields(([fields, _]) => fields[currencyPath])\n\n const currencyCode = currencyFromProps?.code ?? (currencyFromSelectField?.value as string)\n const id = idFromProps || path\n\n const currency = useMemo<Currency>(() => {\n if (currencyCode && supportedCurrencies) {\n const foundCurrency = supportedCurrencies.find(\n (supportedCurrency) => supportedCurrency.code === currencyCode,\n )\n\n return foundCurrency ?? supportedCurrencies[0] ?? USD\n }\n\n return supportedCurrencies[0] ?? USD\n }, [currencyCode, supportedCurrencies])\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n\n if (value === undefined || value === null) {\n setDisplayValue('')\n } else {\n setDisplayValue(convertFromBaseValue({ baseValue: value, currency }))\n }\n }\n }, [currency, value, currencyFromProps])\n\n const updateValue = useCallback(\n (inputValue: string) => {\n if (inputValue === '') {\n setValue(null)\n\n return\n }\n\n const baseValue = convertToBaseValue({ currency, displayValue: inputValue })\n\n setValue(baseValue)\n },\n [currency, setValue],\n )\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value\n\n if (!/^\\d*(?:\\.\\d*)?$/.test(inputValue) && inputValue !== '') {\n return\n }\n\n setDisplayValue(inputValue)\n\n // Clear any existing timer\n if (debounceTimer.current) {\n clearTimeout(debounceTimer.current)\n }\n\n // Only update the base value after a delay to avoid formatting while typing\n debounceTimer.current = setTimeout(() => {\n updateValue(inputValue)\n }, 500)\n },\n [updateValue, setDisplayValue],\n )\n\n const handleInputBlur = useCallback(() => {\n if (displayValue === '') {\n return\n }\n\n // Clear any pending debounce\n if (debounceTimer.current) {\n clearTimeout(debounceTimer.current)\n debounceTimer.current = null\n }\n\n const baseValue = convertToBaseValue({ currency, displayValue })\n const formattedValue = convertFromBaseValue({ baseValue, currency })\n\n if (value != baseValue) {\n setValue(baseValue)\n }\n\n setDisplayValue(formattedValue)\n }, [currency, displayValue, setValue, value])\n\n return (\n <div className={`field-type number ${baseClass}`}>\n {label && <FieldLabel as=\"label\" htmlFor={id} label={label} required={required} />}\n\n <div className={`${baseClass}Container form-input-group`}>\n <div className={`${baseClass}CurrencySymbol`}>\n <span>{currency.symbol}</span>\n </div>\n\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}Input form-input`}\n disabled={disabled || readOnly}\n id={id}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n placeholder={placeholder}\n ref={inputRef}\n type=\"text\"\n value={displayValue}\n />\n </div>\n <FieldDescription\n className={`${baseClass}Description`}\n description={description}\n path={path}\n />\n </div>\n )\n}\n"],"names":["FieldDescription","FieldLabel","useField","useFormFields","useCallback","useEffect","useMemo","useRef","useState","USD","convertFromBaseValue","convertToBaseValue","baseClass","FormattedInput","id","idFromProps","currency","currencyFromProps","description","disabled","label","path","placeholder","readOnly","required","supportedCurrencies","setValue","value","displayValue","setDisplayValue","inputRef","isFirstRender","debounceTimer","parentPath","split","slice","join","currencyPath","currencyFromSelectField","fields","_","currencyCode","code","foundCurrency","find","supportedCurrency","current","undefined","baseValue","updateValue","inputValue","handleInputChange","e","target","test","clearTimeout","setTimeout","handleInputBlur","formattedValue","div","className","as","htmlFor","span","symbol","input","onBlur","onChange","ref","type"],"mappings":"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"}
@@ -1,35 +1,23 @@
1
- .formattedPrice {
2
- .formattedPriceLabel {
3
- display: block;
4
- margin-bottom: 0.5rem;
5
- font-size: 0.875rem;
6
- font-weight: 500;
7
- color: #333;
8
- }
9
-
10
- .formattedPriceContainer {
11
- display: flex;
12
- position: relative;
13
- }
1
+ @layer payload-default {
2
+ .formattedPrice {
3
+ .formattedPriceCurrencySymbol {
4
+ position: absolute;
5
+ inset-inline-start: var(--field-padding-inline);
6
+ top: 50%;
7
+ transform: translateY(-50%);
8
+ color: var(--color-text-secondary);
9
+ user-select: none;
10
+ pointer-events: none;
11
+ z-index: 1;
12
+ }
14
13
 
15
- .formattedPriceCurrencySymbol {
16
- position: absolute;
17
- left: 10px;
18
- top: 50%;
19
- transform: translateY(calc(-50%));
20
- color: var(--theme-elevation-500);
21
- user-select: none;
22
- pointer-events: none;
23
- }
24
-
25
- .formattedPriceInput {
26
- padding: 0.5rem 0.5rem 0.5rem 1.75rem;
27
- min-width: 2rem;
28
- width: fit-content;
29
- max-width: 10rem;
30
- }
14
+ .formattedPriceInput {
15
+ /* Reserve space for the absolutely-positioned currency symbol prefix */
16
+ padding-inline-start: var(--spacer-4);
17
+ }
31
18
 
32
- .formattedPriceDescription {
33
- max-width: 46rem;
19
+ .formattedPriceDescription {
20
+ max-width: 75ch;
21
+ }
34
22
  }
35
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/PriceInput/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAItE,KAAK,KAAK,GAAG;IACX,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8BtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/PriceInput/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAItE,KAAK,KAAK,GAAG;IACX,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA6BtC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ui/PriceInput/index.tsx"],"sourcesContent":["import type { NumberFieldServerProps } from 'payload'\n\nimport './index.css'\n\nimport type { CurrenciesConfig, Currency } from '../../types/index.js'\n\nimport { FormattedInput } from './FormattedInput.js'\n\ntype Props = {\n currenciesConfig: CurrenciesConfig\n currency?: Currency\n path: string\n} & NumberFieldServerProps\n\nexport const PriceInput: React.FC<Props> = (args) => {\n const {\n clientField: { label },\n currenciesConfig,\n currency: currencyFromProps,\n field,\n i18n: { t },\n i18n,\n path,\n readOnly,\n } = args\n\n const description = field.admin?.description\n ? typeof field.admin.description === 'function'\n ? // @ts-expect-error - weird type issue on 't' here\n field.admin.description({ i18n, t })\n : field.admin.description\n : undefined\n\n return (\n <FormattedInput\n currency={currencyFromProps}\n description={description}\n label={label}\n path={path}\n readOnly={readOnly}\n required={field.required}\n supportedCurrencies={currenciesConfig?.supportedCurrencies}\n />\n )\n}\n"],"names":["FormattedInput","PriceInput","args","clientField","label","currenciesConfig","currency","currencyFromProps","field","i18n","t","path","readOnly","description","admin","undefined","required","supportedCurrencies"],"mappings":";AAEA,OAAO,cAAa;AAIpB,SAASA,cAAc,QAAQ,sBAAqB;AAQpD,OAAO,MAAMC,aAA8B,CAACC;IAC1C,MAAM,EACJC,aAAa,EAAEC,KAAK,EAAE,EACtBC,gBAAgB,EAChBC,UAAUC,iBAAiB,EAC3BC,KAAK,EACLC,MAAM,EAAEC,CAAC,EAAE,EACXD,IAAI,EACJE,IAAI,EACJC,QAAQ,EACT,GAAGV;IAEJ,MAAMW,cAAcL,MAAMM,KAAK,EAAED,cAC7B,OAAOL,MAAMM,KAAK,CAACD,WAAW,KAAK,aAEjCL,MAAMM,KAAK,CAACD,WAAW,CAAC;QAAEJ;QAAMC;IAAE,KAClCF,MAAMM,KAAK,CAACD,WAAW,GACzBE;IAEJ,qBACE,KAACf;QACCM,UAAUC;QACVM,aAAaA;QACbT,OAAOA;QACPO,MAAMA;QACNC,UAAUA;QACVI,UAAUR,MAAMQ,QAAQ;QACxBC,qBAAqBZ,kBAAkBY;;AAG7C,EAAC"}
1
+ {"version":3,"sources":["../../../src/ui/PriceInput/index.tsx"],"sourcesContent":["import type { NumberFieldServerProps } from 'payload'\n\nimport './index.css'\n\nimport type { CurrenciesConfig, Currency } from '../../types/index.js'\n\nimport { FormattedInput } from './FormattedInput.js'\n\ntype Props = {\n currenciesConfig: CurrenciesConfig\n currency?: Currency\n path: string\n} & NumberFieldServerProps\n\nexport const PriceInput: React.FC<Props> = (args) => {\n const {\n clientField: { label },\n currenciesConfig,\n currency: currencyFromProps,\n field,\n i18n: { t },\n i18n,\n path,\n readOnly,\n } = args\n\n const description = field.admin?.description\n ? typeof field.admin.description === 'function'\n ? field.admin.description({ i18n, t })\n : field.admin.description\n : undefined\n\n return (\n <FormattedInput\n currency={currencyFromProps}\n description={description}\n label={label}\n path={path}\n readOnly={readOnly}\n required={field.required}\n supportedCurrencies={currenciesConfig?.supportedCurrencies}\n />\n )\n}\n"],"names":["FormattedInput","PriceInput","args","clientField","label","currenciesConfig","currency","currencyFromProps","field","i18n","t","path","readOnly","description","admin","undefined","required","supportedCurrencies"],"mappings":";AAEA,OAAO,cAAa;AAIpB,SAASA,cAAc,QAAQ,sBAAqB;AAQpD,OAAO,MAAMC,aAA8B,CAACC;IAC1C,MAAM,EACJC,aAAa,EAAEC,KAAK,EAAE,EACtBC,gBAAgB,EAChBC,UAAUC,iBAAiB,EAC3BC,KAAK,EACLC,MAAM,EAAEC,CAAC,EAAE,EACXD,IAAI,EACJE,IAAI,EACJC,QAAQ,EACT,GAAGV;IAEJ,MAAMW,cAAcL,MAAMM,KAAK,EAAED,cAC7B,OAAOL,MAAMM,KAAK,CAACD,WAAW,KAAK,aACjCL,MAAMM,KAAK,CAACD,WAAW,CAAC;QAAEJ;QAAMC;IAAE,KAClCF,MAAMM,KAAK,CAACD,WAAW,GACzBE;IAEJ,qBACE,KAACf;QACCM,UAAUC;QACVM,aAAaA;QACbT,OAAOA;QACPO,MAAMA;QACNC,UAAUA;QACVI,UAAUR,MAAMQ,QAAQ;QACxBC,qBAAqBZ,kBAAkBY;;AAG7C,EAAC"}
@@ -2,12 +2,12 @@
2
2
  .priceRowLabel {
3
3
  display: flex;
4
4
  align-items: center;
5
- gap: calc(var(--base) * 1);
5
+ gap: var(--spacer-3);
6
6
  }
7
7
 
8
8
  .priceValue {
9
9
  display: flex;
10
10
  align-items: center;
11
- gap: calc(var(--base) * 0.25);
11
+ gap: var(--spacer-1);
12
12
  }
13
13
  }
@@ -1,26 +1,24 @@
1
1
  @layer payload-default {
2
2
  .variantOptionsSelector {
3
- margin-top: calc(var(--spacing-field) * 2);
4
- margin-bottom: calc(var(--spacing-field) * 2);
3
+ margin-block: var(--spacer-2);
5
4
  }
6
5
 
7
6
  .variantOptionsSelectorHeading {
8
- font-size: calc(var(--base) * 1);
9
- font-weight: 500;
7
+ font-size: var(--text-body-large-font-size);
10
8
  color: var(--color-text);
11
- margin-bottom: calc(var(--base) * 0.5);
9
+ margin-block-end: var(--spacer-2);
12
10
  }
13
11
 
14
12
  .variantOptionsSelectorItem {
15
13
  display: flex;
16
14
  flex-direction: column;
17
- gap: 0;
15
+ gap: var(--spacer-2);
18
16
  }
19
17
 
20
18
  .variantOptionsSelectorList {
21
19
  display: flex;
22
20
  flex-direction: column;
23
- gap: calc(var(--base) * 0.75);
21
+ gap: var(--spacer-3);
24
22
  }
25
23
 
26
24
  .variantOptionsSelectorError {
@@ -29,9 +27,9 @@
29
27
 
30
28
  .variantOptionsSelectorErrorWrapper {
31
29
  &.showError {
32
- border-radius: 2px;
33
- outline: 1px solid var(--theme-error-400);
34
- outline-offset: 2px;
30
+ border-radius: var(--radius-small);
31
+ outline: var(--stroke-width-small) solid var(--field-color-border-error);
32
+ outline-offset: var(--stroke-width-medium);
35
33
  }
36
34
  }
37
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/VariantOptionsSelector/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAKrD,OAAO,aAAa,CAAA;AAGpB,KAAK,KAAK,GAAG,EAAE,GAAG,sBAAsB,CAAA;AAExC,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8ElD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/VariantOptionsSelector/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAKrD,OAAO,aAAa,CAAA;AAGpB,KAAK,KAAK,GAAG,EAAE,GAAG,sBAAsB,CAAA;AAExC,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgFlD,CAAA"}
@@ -14,6 +14,7 @@ export const VariantOptionsSelector = async (props)=>{
14
14
  collection: productsSlug,
15
15
  depth: 0,
16
16
  draft: true,
17
+ overrideAccess: true,
17
18
  select: {
18
19
  variants: true,
19
20
  variantTypes: true
@@ -37,7 +38,8 @@ export const VariantOptionsSelector = async (props)=>{
37
38
  options: {
38
39
  sort: 'value'
39
40
  }
40
- }
41
+ },
42
+ overrideAccess: true
41
43
  });
42
44
  if (variantType) {
43
45
  variantTypes.push(variantType);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ui/VariantOptionsSelector/index.tsx"],"sourcesContent":["import type { SelectFieldServerProps } from 'payload'\n\nimport { FieldLabel } from '@payloadcms/ui'\n\nimport { ErrorBox } from './ErrorBox.js'\nimport './index.css'\nimport { OptionsSelect } from './OptionsSelect.js'\n\ntype Props = {} & SelectFieldServerProps\n\nexport const VariantOptionsSelector: React.FC<Props> = async (props) => {\n const { clientField, data, field, path, req, user } = props\n const { label } = clientField\n\n // Get collection slugs from field custom prop, with defaults for backwards compatibility\n const productsSlug = (field.custom?.productsSlug as string) || 'products'\n const variantTypesSlug = (field.custom?.variantTypesSlug as string) || 'variantTypes'\n\n const product = await req.payload.findByID({\n id: data.product,\n collection: productsSlug,\n depth: 0,\n draft: true,\n select: {\n variants: true,\n variantTypes: true,\n },\n user,\n })\n\n // @ts-expect-error - TODO: Fix types\n const existingVariantOptions = product.variants?.docs?.map((variant) => variant.options) ?? []\n\n const variantTypeIDs = product.variantTypes\n\n const variantTypes = []\n\n // Need to get the variant types separately so that the options are populated\n // @ts-expect-error - TODO: Fix types\n if (variantTypeIDs?.length && variantTypeIDs.length > 0) {\n // @ts-expect-error - TODO: Fix types\n for (const variantTypeID of variantTypeIDs) {\n const variantType = await req.payload.findByID({\n id: variantTypeID,\n collection: variantTypesSlug,\n depth: 1,\n joins: {\n options: {\n sort: 'value',\n },\n },\n })\n\n if (variantType) {\n variantTypes.push(variantType)\n }\n }\n }\n\n return (\n <div className=\"variantOptionsSelector\">\n <div className=\"variantOptionsSelectorHeading\">\n <FieldLabel as=\"span\" label={label} />\n </div>\n\n <ErrorBox existingOptions={existingVariantOptions} path={path}>\n <div className=\"variantOptionsSelectorList\">\n {variantTypes.map((type) => {\n // @ts-expect-error - TODO: Fix types\n const options = type.options.docs.map((option) => ({\n label: option.label,\n value: option.id,\n }))\n\n return (\n <OptionsSelect\n field={clientField}\n key={type.name}\n label={type.label || type.name}\n options={options}\n path={path}\n />\n )\n })}\n </div>\n </ErrorBox>\n </div>\n )\n}\n"],"names":["FieldLabel","ErrorBox","OptionsSelect","VariantOptionsSelector","props","clientField","data","field","path","req","user","label","productsSlug","custom","variantTypesSlug","product","payload","findByID","id","collection","depth","draft","select","variants","variantTypes","existingVariantOptions","docs","map","variant","options","variantTypeIDs","length","variantTypeID","variantType","joins","sort","push","div","className","as","existingOptions","type","option","value","name"],"mappings":";AAEA,SAASA,UAAU,QAAQ,iBAAgB;AAE3C,SAASC,QAAQ,QAAQ,gBAAe;AACxC,OAAO,cAAa;AACpB,SAASC,aAAa,QAAQ,qBAAoB;AAIlD,OAAO,MAAMC,yBAA0C,OAAOC;IAC5D,MAAM,EAAEC,WAAW,EAAEC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGN;IACtD,MAAM,EAAEO,KAAK,EAAE,GAAGN;IAElB,yFAAyF;IACzF,MAAMO,eAAe,AAACL,MAAMM,MAAM,EAAED,gBAA2B;IAC/D,MAAME,mBAAmB,AAACP,MAAMM,MAAM,EAAEC,oBAA+B;IAEvE,MAAMC,UAAU,MAAMN,IAAIO,OAAO,CAACC,QAAQ,CAAC;QACzCC,IAAIZ,KAAKS,OAAO;QAChBI,YAAYP;QACZQ,OAAO;QACPC,OAAO;QACPC,QAAQ;YACNC,UAAU;YACVC,cAAc;QAChB;QACAd;IACF;IAEA,qCAAqC;IACrC,MAAMe,yBAAyBV,QAAQQ,QAAQ,EAAEG,MAAMC,IAAI,CAACC,UAAYA,QAAQC,OAAO,KAAK,EAAE;IAE9F,MAAMC,iBAAiBf,QAAQS,YAAY;IAE3C,MAAMA,eAAe,EAAE;IAEvB,6EAA6E;IAC7E,qCAAqC;IACrC,IAAIM,gBAAgBC,UAAUD,eAAeC,MAAM,GAAG,GAAG;QACvD,qCAAqC;QACrC,KAAK,MAAMC,iBAAiBF,eAAgB;YAC1C,MAAMG,cAAc,MAAMxB,IAAIO,OAAO,CAACC,QAAQ,CAAC;gBAC7CC,IAAIc;gBACJb,YAAYL;gBACZM,OAAO;gBACPc,OAAO;oBACLL,SAAS;wBACPM,MAAM;oBACR;gBACF;YACF;YAEA,IAAIF,aAAa;gBACfT,aAAaY,IAAI,CAACH;YACpB;QACF;IACF;IAEA,qBACE,MAACI;QAAIC,WAAU;;0BACb,KAACD;gBAAIC,WAAU;0BACb,cAAA,KAACtC;oBAAWuC,IAAG;oBAAO5B,OAAOA;;;0BAG/B,KAACV;gBAASuC,iBAAiBf;gBAAwBjB,MAAMA;0BACvD,cAAA,KAAC6B;oBAAIC,WAAU;8BACZd,aAAaG,GAAG,CAAC,CAACc;wBACjB,qCAAqC;wBACrC,MAAMZ,UAAUY,KAAKZ,OAAO,CAACH,IAAI,CAACC,GAAG,CAAC,CAACe,SAAY,CAAA;gCACjD/B,OAAO+B,OAAO/B,KAAK;gCACnBgC,OAAOD,OAAOxB,EAAE;4BAClB,CAAA;wBAEA,qBACE,KAAChB;4BACCK,OAAOF;4BAEPM,OAAO8B,KAAK9B,KAAK,IAAI8B,KAAKG,IAAI;4BAC9Bf,SAASA;4BACTrB,MAAMA;2BAHDiC,KAAKG,IAAI;oBAMpB;;;;;AAKV,EAAC"}
1
+ {"version":3,"sources":["../../../src/ui/VariantOptionsSelector/index.tsx"],"sourcesContent":["import type { SelectFieldServerProps } from 'payload'\n\nimport { FieldLabel } from '@payloadcms/ui'\n\nimport { ErrorBox } from './ErrorBox.js'\nimport './index.css'\nimport { OptionsSelect } from './OptionsSelect.js'\n\ntype Props = {} & SelectFieldServerProps\n\nexport const VariantOptionsSelector: React.FC<Props> = async (props) => {\n const { clientField, data, field, path, req, user } = props\n const { label } = clientField\n\n // Get collection slugs from field custom prop, with defaults for backwards compatibility\n const productsSlug = (field.custom?.productsSlug as string) || 'products'\n const variantTypesSlug = (field.custom?.variantTypesSlug as string) || 'variantTypes'\n\n const product = await req.payload.findByID({\n id: data.product,\n collection: productsSlug,\n depth: 0,\n draft: true,\n overrideAccess: true,\n select: {\n variants: true,\n variantTypes: true,\n },\n user,\n })\n\n // @ts-expect-error - TODO: Fix types\n const existingVariantOptions = product.variants?.docs?.map((variant) => variant.options) ?? []\n\n const variantTypeIDs = product.variantTypes\n\n const variantTypes = []\n\n // Need to get the variant types separately so that the options are populated\n // @ts-expect-error - TODO: Fix types\n if (variantTypeIDs?.length && variantTypeIDs.length > 0) {\n // @ts-expect-error - TODO: Fix types\n for (const variantTypeID of variantTypeIDs) {\n const variantType = await req.payload.findByID({\n id: variantTypeID,\n collection: variantTypesSlug,\n depth: 1,\n joins: {\n options: {\n sort: 'value',\n },\n },\n overrideAccess: true,\n })\n\n if (variantType) {\n variantTypes.push(variantType)\n }\n }\n }\n\n return (\n <div className=\"variantOptionsSelector\">\n <div className=\"variantOptionsSelectorHeading\">\n <FieldLabel as=\"span\" label={label} />\n </div>\n\n <ErrorBox existingOptions={existingVariantOptions} path={path}>\n <div className=\"variantOptionsSelectorList\">\n {variantTypes.map((type) => {\n // @ts-expect-error - TODO: Fix types\n const options = type.options.docs.map((option) => ({\n label: option.label,\n value: option.id,\n }))\n\n return (\n <OptionsSelect\n field={clientField}\n key={type.name}\n label={type.label || type.name}\n options={options}\n path={path}\n />\n )\n })}\n </div>\n </ErrorBox>\n </div>\n )\n}\n"],"names":["FieldLabel","ErrorBox","OptionsSelect","VariantOptionsSelector","props","clientField","data","field","path","req","user","label","productsSlug","custom","variantTypesSlug","product","payload","findByID","id","collection","depth","draft","overrideAccess","select","variants","variantTypes","existingVariantOptions","docs","map","variant","options","variantTypeIDs","length","variantTypeID","variantType","joins","sort","push","div","className","as","existingOptions","type","option","value","name"],"mappings":";AAEA,SAASA,UAAU,QAAQ,iBAAgB;AAE3C,SAASC,QAAQ,QAAQ,gBAAe;AACxC,OAAO,cAAa;AACpB,SAASC,aAAa,QAAQ,qBAAoB;AAIlD,OAAO,MAAMC,yBAA0C,OAAOC;IAC5D,MAAM,EAAEC,WAAW,EAAEC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGN;IACtD,MAAM,EAAEO,KAAK,EAAE,GAAGN;IAElB,yFAAyF;IACzF,MAAMO,eAAe,AAACL,MAAMM,MAAM,EAAED,gBAA2B;IAC/D,MAAME,mBAAmB,AAACP,MAAMM,MAAM,EAAEC,oBAA+B;IAEvE,MAAMC,UAAU,MAAMN,IAAIO,OAAO,CAACC,QAAQ,CAAC;QACzCC,IAAIZ,KAAKS,OAAO;QAChBI,YAAYP;QACZQ,OAAO;QACPC,OAAO;QACPC,gBAAgB;QAChBC,QAAQ;YACNC,UAAU;YACVC,cAAc;QAChB;QACAf;IACF;IAEA,qCAAqC;IACrC,MAAMgB,yBAAyBX,QAAQS,QAAQ,EAAEG,MAAMC,IAAI,CAACC,UAAYA,QAAQC,OAAO,KAAK,EAAE;IAE9F,MAAMC,iBAAiBhB,QAAQU,YAAY;IAE3C,MAAMA,eAAe,EAAE;IAEvB,6EAA6E;IAC7E,qCAAqC;IACrC,IAAIM,gBAAgBC,UAAUD,eAAeC,MAAM,GAAG,GAAG;QACvD,qCAAqC;QACrC,KAAK,MAAMC,iBAAiBF,eAAgB;YAC1C,MAAMG,cAAc,MAAMzB,IAAIO,OAAO,CAACC,QAAQ,CAAC;gBAC7CC,IAAIe;gBACJd,YAAYL;gBACZM,OAAO;gBACPe,OAAO;oBACLL,SAAS;wBACPM,MAAM;oBACR;gBACF;gBACAd,gBAAgB;YAClB;YAEA,IAAIY,aAAa;gBACfT,aAAaY,IAAI,CAACH;YACpB;QACF;IACF;IAEA,qBACE,MAACI;QAAIC,WAAU;;0BACb,KAACD;gBAAIC,WAAU;0BACb,cAAA,KAACvC;oBAAWwC,IAAG;oBAAO7B,OAAOA;;;0BAG/B,KAACV;gBAASwC,iBAAiBf;gBAAwBlB,MAAMA;0BACvD,cAAA,KAAC8B;oBAAIC,WAAU;8BACZd,aAAaG,GAAG,CAAC,CAACc;wBACjB,qCAAqC;wBACrC,MAAMZ,UAAUY,KAAKZ,OAAO,CAACH,IAAI,CAACC,GAAG,CAAC,CAACe,SAAY,CAAA;gCACjDhC,OAAOgC,OAAOhC,KAAK;gCACnBiC,OAAOD,OAAOzB,EAAE;4BAClB,CAAA;wBAEA,qBACE,KAAChB;4BACCK,OAAOF;4BAEPM,OAAO+B,KAAK/B,KAAK,IAAI+B,KAAKG,IAAI;4BAC9Bf,SAASA;4BACTtB,MAAMA;2BAHDkC,KAAKG,IAAI;oBAMpB;;;;;AAKV,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/ui/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,6BAGhC;IACD,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB,KAAG,MAaH,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,0BAGlC;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;CACnB,KAAG,MAUH,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,kCAIzB;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAG,MAQH,CAAA"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/ui/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,gCAG5B;IACD,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB,KAAG,MAaH,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,6BAG9B;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;CACnB,KAAG,MAUH,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,qCAIrB;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAG,MAQH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"accessComposition.d.ts","sourceRoot":"","sources":["../../src/utilities/accessComposition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,SAAS,CAAA;AAI5C;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,iBAAiB,MAAM,EAAE,KAAG,MA0BvD,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,iBAAiB,MAAM,EAAE,KAAG,MA0BxD,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GACtB,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,OAAO,EAC7C,gBAAgB,MAAM,EACtB,WAAU,MAAoB,KAC7B,MAQF,CAAA"}
1
+ {"version":3,"file":"accessComposition.d.ts","sourceRoot":"","sources":["../../src/utilities/accessComposition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,SAAS,CAAA;AAI5C;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,uBAAwB,MAAM,EAAE,KAAG,MA0BvD,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,SAAS,uBAAwB,MAAM,EAAE,KAAG,MA0BxD,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,cACX,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,OAAO,kBAC7B,MAAM,aACZ,MAAM,KACf,MAQF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCollectionSlugMap.d.ts","sourceRoot":"","sources":["../../src/utilities/getCollectionSlugMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAE1F,KAAK,KAAK,GAAG;IACX,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,qBAAqB,EAAE,8BAA8B,CAAA;CACtD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,4CAGlC,KAAK,KAAG,iBAiCV,CAAA"}
1
+ {"version":3,"file":"getCollectionSlugMap.d.ts","sourceRoot":"","sources":["../../src/utilities/getCollectionSlugMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAE1F,KAAK,KAAK,GAAG;IACX,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,qBAAqB,EAAE,8BAA8B,CAAA;CACtD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,+CAG9B,KAAK,KAAG,iBAiCV,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pushTypeScriptProperties.d.ts","sourceRoot":"","sources":["../../src/utilities/pushTypeScriptProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAE1F,eAAO,MAAM,wBAAwB,GAAI,oCAGtC;IACD,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,WAAW,CAAA;IACvB,qBAAqB,EAAE,8BAA8B,CAAA;CACtD,KAAG,WAoCH,CAAA"}
1
+ {"version":3,"file":"pushTypeScriptProperties.d.ts","sourceRoot":"","sources":["../../src/utilities/pushTypeScriptProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAE1F,eAAO,MAAM,wBAAwB,uCAGlC;IACD,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,WAAW,CAAA;IACvB,qBAAqB,EAAE,8BAA8B,CAAA;CACtD,KAAG,WAoCH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizePluginConfig.d.ts","sourceRoot":"","sources":["../../src/utilities/sanitizePluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAK9F,KAAK,KAAK,GAAG;IACX,YAAY,EAAE,qBAAqB,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,kBAAkB,KAAK,KAAG,8BA6F9D,CAAA"}
1
+ {"version":3,"file":"sanitizePluginConfig.d.ts","sourceRoot":"","sources":["../../src/utilities/sanitizePluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAK9F,KAAK,KAAK,GAAG;IACX,YAAY,EAAE,qBAAqB,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,oBAAoB,qBAAsB,KAAK,KAAG,8BA6F9D,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-ecommerce",
3
- "version": "4.0.0-internal.293e026",
3
+ "version": "4.0.0-internal.2a3c3bc",
4
4
  "description": "Ecommerce plugin for Payload",
5
5
  "keywords": [
6
6
  "payload",
@@ -74,23 +74,23 @@
74
74
  ],
75
75
  "dependencies": {
76
76
  "qs-esm": "8.0.1",
77
- "@payloadcms/ui": "4.0.0-internal.293e026",
78
- "@payloadcms/translations": "4.0.0-internal.293e026"
77
+ "@payloadcms/translations": "4.0.0-internal.2a3c3bc",
78
+ "@payloadcms/ui": "4.0.0-internal.2a3c3bc"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@types/json-schema": "7.0.15",
82
- "@types/react": "19.2.14",
83
- "@types/react-dom": "19.2.3",
82
+ "@types/react": "19.3.0",
83
+ "@types/react-dom": "19.3.0",
84
84
  "stripe": "18.3.0",
85
+ "@payloadcms/next": "4.0.0-internal.2a3c3bc",
85
86
  "@payloadcms/eslint-config": "3.28.0",
86
- "@payloadcms/translations": "4.0.0-internal.293e026",
87
- "@payloadcms/next": "4.0.0-internal.293e026",
88
- "payload": "4.0.0-internal.293e026"
87
+ "@payloadcms/translations": "4.0.0-internal.2a3c3bc",
88
+ "payload": "4.0.0-internal.2a3c3bc"
89
89
  },
90
90
  "peerDependencies": {
91
91
  "react": "^19.0.1 || ^19.1.2 || ^19.2.1",
92
92
  "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
93
- "payload": "4.0.0-internal.293e026"
93
+ "payload": "4.0.0-internal.2a3c3bc"
94
94
  },
95
95
  "publishConfig": {
96
96
  "registry": "https://registry.npmjs.org/"
@@ -102,7 +102,7 @@
102
102
  "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
103
103
  "build:types": "tsc --emitDeclarationOnly --outDir dist",
104
104
  "clean": "rimraf -g {dist,*.tsbuildinfo}",
105
- "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
105
+ "copyfiles": "copyfiles -u 1 -e \"**/*.spec.*\" \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
106
106
  "lint": "eslint .",
107
107
  "lint:fix": "eslint . --fix"
108
108
  }
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=assets.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/@types/assets.d.ts"],"names":[],"mappings":""}