@sonic-equipment/ui 132.0.0 → 134.0.0

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 (130) hide show
  1. package/dist/address/address.d.ts +2 -13
  2. package/dist/algolia/{algolia-intialization.js → algolia-initialization.js} +7 -0
  3. package/dist/algolia/algolia-insights-provider.js +7 -0
  4. package/dist/algolia/algolia-search-provider.js +19 -0
  5. package/dist/algolia/use-algolia-insights.d.ts +13 -6
  6. package/dist/algolia/use-algolia-insights.js +93 -10
  7. package/dist/buttons/add-to-cart-button/connected-add-to-cart-button.js +1 -1
  8. package/dist/buttons/button/button.d.ts +4 -1
  9. package/dist/buttons/button/button.js +3 -2
  10. package/dist/country-selector/country-select/country-select.d.ts +1 -0
  11. package/dist/country-selector/country-select/country-select.js +2 -2
  12. package/dist/delivery-time/delivery-time.js +6 -5
  13. package/dist/display/info-display/info-display.d.ts +7 -0
  14. package/dist/display/info-display/info-display.js +8 -0
  15. package/dist/display/info-display/info-display.module.css.js +3 -0
  16. package/dist/exports.d.ts +20 -7
  17. package/dist/forms/checkbox/checkbox.d.ts +2 -1
  18. package/dist/forms/checkbox/checkbox.js +2 -2
  19. package/dist/forms/field-error/field-error.d.ts +2 -1
  20. package/dist/forms/field-error/field-error.js +3 -2
  21. package/dist/forms/input/input.d.ts +2 -0
  22. package/dist/forms/input/input.js +5 -3
  23. package/dist/forms/input/input.module.css.js +1 -1
  24. package/dist/forms/label/label.d.ts +3 -1
  25. package/dist/forms/label/label.js +3 -2
  26. package/dist/forms/switch/switch.d.ts +3 -1
  27. package/dist/forms/switch/switch.js +2 -2
  28. package/dist/forms/text-field/password-reveal-toggle/password-reveal-toggle.d.ts +10 -0
  29. package/dist/forms/text-field/password-reveal-toggle/password-reveal-toggle.js +18 -0
  30. package/dist/forms/text-field/password-reveal-toggle/password-reveal-toggle.module.css.js +3 -0
  31. package/dist/forms/text-field/text-field.d.ts +5 -3
  32. package/dist/forms/text-field/text-field.js +11 -3
  33. package/dist/forms/text-field/text-field.module.css.js +1 -1
  34. package/dist/forms/textarea/textarea.d.ts +1 -0
  35. package/dist/forms/textarea/textarea.js +3 -2
  36. package/dist/global-search/plugins/categories-plugin.js +2 -1
  37. package/dist/global-search/plugins/popular-categories-plugin.js +2 -0
  38. package/dist/global-search/plugins/query-suggestions-plugin.js +1 -0
  39. package/dist/global-search/plugins/quick-access-plugin.js +2 -2
  40. package/dist/global-search/search-result-panel/sections/with-results.js +0 -1
  41. package/dist/icons/stroke/stroke-dehashed-icon.js +7 -0
  42. package/dist/icons/stroke/stroke-hashed-icon.js +7 -0
  43. package/dist/index.js +22 -9
  44. package/dist/info-icon-tooltip/info-icon-tooltip.d.ts +7 -0
  45. package/dist/info-icon-tooltip/info-icon-tooltip.js +20 -0
  46. package/dist/info-icon-tooltip/info-icon-tooltip.module.css.js +3 -0
  47. package/dist/intl/translation-id.d.ts +1 -1
  48. package/dist/pages/checkout/cart-page/cart-page.js +6 -9
  49. package/dist/pages/checkout/cart-page/components/empty-cart-page.d.ts +1 -0
  50. package/dist/pages/checkout/cart-page/components/empty-cart-page.js +11 -0
  51. package/dist/pages/checkout/components/billing-and-invoice-information.d.ts +7 -0
  52. package/dist/pages/checkout/components/billing-and-invoice-information.js +12 -0
  53. package/dist/pages/checkout/components/billing-and-invoice-information.module.css.js +3 -0
  54. package/dist/pages/checkout/constants.d.ts +8 -0
  55. package/dist/pages/checkout/constants.js +10 -0
  56. package/dist/pages/checkout/layouts/checkout-page-layout/components/checkout-page-section.module.css.js +1 -1
  57. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page-content.d.ts +5 -0
  58. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page-content.js +83 -0
  59. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page.d.ts +4 -0
  60. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page.js +41 -0
  61. package/dist/pages/checkout/order-confirmation-page/order-confirmation-page.module.css.js +3 -0
  62. package/dist/{checkout → pages/checkout/payment-page/components}/adyen-payment.js +5 -5
  63. package/dist/pages/checkout/payment-page/components/adyen-payment.module.css.js +3 -0
  64. package/dist/{checkout → pages/checkout/payment-page/components}/payment.d.ts +4 -2
  65. package/dist/pages/checkout/payment-page/components/payment.js +288 -0
  66. package/dist/pages/checkout/payment-page/components/payment.module.css.js +3 -0
  67. package/dist/pages/checkout/payment-page/payment-page-content.d.ts +15 -0
  68. package/dist/pages/checkout/payment-page/payment-page-content.js +43 -0
  69. package/dist/pages/checkout/payment-page/payment-page.js +13 -41
  70. package/dist/{checkout → pages/checkout/payment-page/utils}/parse-amount.js +1 -1
  71. package/dist/pages/checkout/shipping-page/components/edit-address.js +11 -7
  72. package/dist/pages/checkout/shipping-page/hooks/use-patch-shipping-details.d.ts +12 -0
  73. package/dist/pages/checkout/shipping-page/hooks/use-patch-shipping-details.js +21 -0
  74. package/dist/pages/checkout/shipping-page/shipping-page-content.d.ts +14 -0
  75. package/dist/pages/checkout/shipping-page/shipping-page-content.js +40 -0
  76. package/dist/pages/checkout/shipping-page/shipping-page.js +55 -78
  77. package/dist/pages/checkout/shipping-page/shipping-page.module.css.js +1 -1
  78. package/dist/pages/components/page/page.d.ts +3 -2
  79. package/dist/pages/components/page/page.js +3 -2
  80. package/dist/pages/components/page-meta-data/page-meta-data.d.ts +3 -4
  81. package/dist/pages/components/page-meta-data/page-meta-data.js +2 -2
  82. package/dist/pages/product/product-details-page/components/product-details-panel/product-details-panel.js +11 -1
  83. package/dist/pages/product/product-details-page/product-details-page.js +2 -10
  84. package/dist/pages/product/product-details-page/product-details.js +10 -4
  85. package/dist/pages/product/product-listing-page/product-listing-page-data-types.d.ts +1 -1
  86. package/dist/pages/product/product-listing-page/product-listing-page.js +2 -10
  87. package/dist/pages/product/product-listing-page/product-listing-product-overview/product-listing-product-overview.js +0 -1
  88. package/dist/pages/product/product-listing-page/product-listing.js +8 -1
  89. package/dist/pages/product/search-result-page/search-result-product-overview/search-result-product-overview.js +0 -1
  90. package/dist/pages/product/search-result-page/search-results-page.js +4 -7
  91. package/dist/shared/api/bff/model/bff.model.d.ts +4 -4
  92. package/dist/shared/api/bff/services/bff-service.js +1 -4
  93. package/dist/shared/api/storefront/hooks/cart/use-fetch-cart-by-id.d.ts +8 -0
  94. package/dist/shared/api/storefront/hooks/cart/use-fetch-cart-by-id.js +20 -0
  95. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-count.d.ts +1 -1
  96. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart-count.js +3 -3
  97. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart.d.ts +2 -5
  98. package/dist/shared/api/storefront/hooks/cart/use-fetch-current-cart.js +3 -16
  99. package/dist/shared/api/storefront/hooks/cart/use-patch-cart.js +11 -8
  100. package/dist/shared/api/storefront/hooks/cart/use-place-order.js +2 -2
  101. package/dist/shared/fetch/request.d.ts +18 -13
  102. package/dist/shared/fetch/request.js +22 -9
  103. package/dist/shared/ga/use-data-layer.d.ts +7 -3
  104. package/dist/shared/ga/use-data-layer.js +6 -1
  105. package/dist/shared/model/address.d.ts +13 -0
  106. package/dist/shared/providers/react-query-container.d.ts +2 -1
  107. package/dist/shared/providers/react-query-container.js +2 -2
  108. package/dist/shared/utils/date.d.ts +2 -0
  109. package/dist/shared/utils/date.js +11 -1
  110. package/dist/shared/utils/promise.d.ts +2 -0
  111. package/dist/shared/utils/promise.js +9 -0
  112. package/dist/sign-in-form/sign-in-form.d.ts +19 -0
  113. package/dist/sign-in-form/sign-in-form.js +49 -0
  114. package/dist/sign-in-form/sign-in-form.module.css.js +3 -0
  115. package/dist/styles.css +532 -314
  116. package/dist/tooltip/tooltip.d.ts +3 -2
  117. package/dist/tooltip/tooltip.js +12 -6
  118. package/package.json +1 -1
  119. package/dist/checkout/adyen-payment.module.css.js +0 -3
  120. package/dist/checkout/payment.js +0 -213
  121. package/dist/checkout/payment.module.css.js +0 -3
  122. package/dist/shared/utils/wait.d.ts +0 -1
  123. package/dist/shared/utils/wait.js +0 -5
  124. /package/dist/algolia/{algolia-intialization.d.ts → algolia-initialization.d.ts} +0 -0
  125. /package/dist/{checkout → pages/checkout/payment-page/components}/adyen-payment.d.ts +0 -0
  126. /package/dist/{checkout → pages/checkout/payment-page/hooks}/use-get-adyen-redirect-result.d.ts +0 -0
  127. /package/dist/{checkout → pages/checkout/payment-page/hooks}/use-get-adyen-redirect-result.js +0 -0
  128. /package/dist/{checkout → pages/checkout/payment-page/hooks}/use-has-returned-from-adyen.d.ts +0 -0
  129. /package/dist/{checkout → pages/checkout/payment-page/hooks}/use-has-returned-from-adyen.js +0 -0
  130. /package/dist/{checkout → pages/checkout/payment-page/utils}/parse-amount.d.ts +0 -0
@@ -1,9 +1,10 @@
1
1
  import { ReactElement, ReactNode } from 'react';
2
2
  import { Placement } from 'react-aria';
3
3
  export interface TooltipProps {
4
+ children: ReactNode;
5
+ className?: string;
4
6
  offset?: number;
5
7
  placement?: Placement;
6
- text: string | ReactNode;
7
8
  trigger?: ReactElement;
8
9
  }
9
- export declare function Tooltip({ offset, placement, text, trigger, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function Tooltip({ children, className, offset, placement, trigger, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,9 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useRef, useMemo, cloneElement } from 'react';
3
+ import { usePress } from 'react-aria';
3
4
  import { DialogTrigger, Popover, OverlayArrow, Dialog } from 'react-aria-components';
4
5
  import { IconButton } from '../buttons/icon-button/icon-button.js';
6
+ import clsx from 'clsx';
5
7
  import { StrokeInformationIcon } from '../icons/stroke/stroke-information-icon.js';
6
8
  import { useDisclosure } from '../shared/hooks/use-disclosure.js';
7
9
  import styles from './tooltip.module.css.js';
@@ -9,13 +11,17 @@ import styles from './tooltip.module.css.js';
9
11
  function InfoIcon(props) {
10
12
  return (jsx(IconButton, { ...props, className: styles.trigger, children: jsx(StrokeInformationIcon, {}) }));
11
13
  }
12
- function Tooltip({ offset, placement = 'bottom', text, trigger = jsx(InfoIcon, {}), }) {
13
- const { isOpen, setIsOpen, toggle } = useDisclosure();
14
- const triggerRef = useRef(null);
14
+ function TriggerButton({ buttonRef, className, trigger, }) {
15
+ const { pressProps } = usePress({ ref: buttonRef });
15
16
  const triggerWithHandler = useMemo(() => cloneElement(trigger, {
16
- onClick: toggle,
17
- }), [trigger, toggle]);
18
- return (jsxs(DialogTrigger, { isOpen: isOpen, onOpenChange: setIsOpen, children: [jsx("div", { ref: triggerRef, className: styles['trigger-wrapper'], children: triggerWithHandler }), jsxs(Popover, { className: styles.popover, offset: offset, placement: placement, triggerRef: triggerRef, children: [jsx(OverlayArrow, { className: styles.arrow, children: jsx("svg", { height: 12, viewBox: "0 0 12 12", width: 12, children: jsx("path", { d: "M0 0 L6 6 L12 0" }) }) }), jsx(Dialog, { className: styles.dialog, children: text })] })] }));
17
+ ...pressProps,
18
+ }), [trigger, pressProps]);
19
+ return (jsx("div", { ref: buttonRef, className: clsx(className, styles['trigger-wrapper']), children: triggerWithHandler }));
20
+ }
21
+ function Tooltip({ children, className, offset, placement = 'bottom', trigger = jsx(InfoIcon, {}), }) {
22
+ const { isOpen, setIsOpen } = useDisclosure();
23
+ const triggerRef = useRef(null);
24
+ return (jsxs(DialogTrigger, { isOpen: isOpen, onOpenChange: setIsOpen, children: [jsx(TriggerButton, { buttonRef: triggerRef, className: className, trigger: trigger }), jsxs(Popover, { className: styles.popover, offset: offset, placement: placement, triggerRef: triggerRef, children: [jsx(OverlayArrow, { className: styles.arrow, children: jsx("svg", { height: 12, viewBox: "0 0 12 12", width: 12, children: jsx("path", { d: "M0 0 L6 6 L12 0" }) }) }), jsx(Dialog, { className: styles.dialog, children: children })] })] }));
19
25
  }
20
26
 
21
27
  export { Tooltip };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonic-equipment/ui",
3
- "version": "132.0.0",
3
+ "version": "134.0.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -1,3 +0,0 @@
1
- var styles = {"loading":"adyen-payment-module-liZWP"};
2
-
3
- export { styles as default };
@@ -1,213 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { useRef, useState, useMemo, useEffect, useCallback } from 'react';
3
- import { Form } from 'react-aria-components';
4
- import { Address } from '../address/address.js';
5
- import { Accordion } from '../collapsables/accordion/accordion.js';
6
- import { AccordionItem } from '../collapsables/accordion/accordion-item.js';
7
- import { Checkbox } from '../forms/checkbox/checkbox.js';
8
- import { Label } from '../forms/label/label.js';
9
- import { Select } from '../forms/select/select.js';
10
- import { TextField } from '../forms/text-field/text-field.js';
11
- import { FormattedMessage } from '../intl/formatted-message.js';
12
- import { useFormattedMessage } from '../intl/use-formatted-message.js';
13
- import { usePatchSession } from '../shared/api/storefront/hooks/authentication/use-patch-session.js';
14
- import { usePatchCart } from '../shared/api/storefront/hooks/cart/use-patch-cart.js';
15
- import { usePlaceOrder } from '../shared/api/storefront/hooks/cart/use-place-order.js';
16
- import { useInvalidateAdyen } from '../shared/api/storefront/hooks/payment/use-invalidate-adyen.js';
17
- import { validateVATNumber } from '../shared/api/storefront/services/finance-service.js';
18
- import { useDebouncedCallback } from '../shared/hooks/use-debounced-callback.js';
19
- import { currencySymbolToISO } from '../shared/model/currency.js';
20
- import { Tooltip } from '../tooltip/tooltip.js';
21
- import { AdyenPayment } from './adyen-payment.js';
22
- import { useHasReturnedFromAdyen } from './use-has-returned-from-adyen.js';
23
- import styles from './payment.module.css.js';
24
-
25
- function Payment({ atp, cart: _cart, form, onError: _onError, onPaymentComplete, onProcessing, onValidating, }) {
26
- const { isLoading: isPatchingCart, mutate: patchCart } = usePatchCart();
27
- const { isLoading: isPatchingSession } = usePatchSession();
28
- const { isLoading: isPlacingCart, mutate: placeOrder } = usePlaceOrder();
29
- const dropinRef = useRef(null);
30
- const [paymentError, setPaymentError] = useState();
31
- const [apiError, setAPIError] = useState();
32
- const invalidateAdyen = useInvalidateAdyen();
33
- const [isValidatingVAT, setIsValidatingVAT] = useState(false);
34
- const t = useFormattedMessage();
35
- const cartRef = useRef(_cart);
36
- const cart = cartRef.current;
37
- const hasAtp = atp.length > 0 && atp[0]?.date !== null;
38
- const [asSoonAsPossible, setAsSoonAsPossible] = useState(!hasAtp);
39
- const [deliveryDate, setDeliveryDate] = useState(cart.requestedDeliveryDateDisplay?.toString() || '');
40
- const hasReturnedFromAdyen = useHasReturnedFromAdyen();
41
- const countryCode = _cart.billTo?.country?.abbreviation;
42
- const isProcessing = useMemo(() => hasReturnedFromAdyen || isPlacingCart, [isPlacingCart, hasReturnedFromAdyen]);
43
- useEffect(() => {
44
- cartRef.current = _cart;
45
- }, [_cart]);
46
- useEffect(() => {
47
- onValidating(isValidatingVAT || isPatchingSession);
48
- }, [isPatchingSession, isValidatingVAT, onValidating]);
49
- useEffect(() => {
50
- onProcessing(isPatchingCart);
51
- }, [isPatchingCart, onProcessing]);
52
- useEffect(() => {
53
- onProcessing(isProcessing);
54
- }, [isProcessing, onProcessing]);
55
- const [validationErrors, setValidationErrors] = useState({});
56
- const atpSelectOptions = atp.reduce((acc, atp) => ({
57
- ...acc,
58
- [atp.date || '']: atp.displayDate,
59
- }), {});
60
- const paymentMethodOptions = cart.paymentOptions?.paymentMethods?.reduce((acc, method) => {
61
- acc[method.name] = t(`paymentMethod.${method.description}`);
62
- return acc;
63
- }, {});
64
- const debouncedValidator = useDebouncedCallback(async (value) => {
65
- if (!value)
66
- return setValidationErrors({});
67
- if (value.length < 8) {
68
- return setValidationErrors({
69
- ...validationErrors,
70
- vatNumber: t('validation.tooShort'),
71
- });
72
- }
73
- try {
74
- setIsValidatingVAT(true);
75
- const response = await validateVATNumber({ vatNumber: value });
76
- if (response.isValid) {
77
- setValidationErrors(prev => {
78
- delete prev.vatNumber;
79
- return prev;
80
- });
81
- }
82
- else {
83
- setValidationErrors({
84
- ...validationErrors,
85
- vatNumber: t('validation.invalid'),
86
- });
87
- }
88
- }
89
- catch {
90
- setValidationErrors({
91
- ...validationErrors,
92
- vatNumber: t('validation.invalid'),
93
- });
94
- }
95
- finally {
96
- setIsValidatingVAT(false);
97
- }
98
- }, 500);
99
- const isAdyenPayment = cart.paymentMethod?.name !== 'PBI' &&
100
- cart.paymentOptions &&
101
- cart.billTo?.id &&
102
- countryCode;
103
- async function onSubmit(e) {
104
- const formData = new FormData(e.currentTarget);
105
- const cart = cartRef.current;
106
- setValidationErrors(prev => prev); // NOTE: This makes sure the form is revalidated on submit
107
- if (Object.keys(validationErrors).length > 0)
108
- return;
109
- if (isAdyenPayment) {
110
- /* Adyen Payment */
111
- if (!dropinRef.current) {
112
- console.warn('Adyen Dropin not ready');
113
- return;
114
- }
115
- dropinRef.current.showValidation();
116
- if (!dropinRef.current.isValid)
117
- return;
118
- try {
119
- await patchCart({
120
- cart: {
121
- ...cart,
122
- customerVatNumber: formData.get('vatNumber')?.toString(),
123
- poNumber: formData.get('poNumber')?.toString(),
124
- properties: {
125
- ...cart.properties,
126
- industry: formData.get('industry')?.toString() || '',
127
- },
128
- requestedDeliveryDate: formData.get('deliveryDate')?.toString(),
129
- },
130
- });
131
- }
132
- catch (error) {
133
- console.error(error);
134
- setAPIError(error);
135
- }
136
- try {
137
- dropinRef.current.submit();
138
- }
139
- catch (error) {
140
- console.error(error);
141
- setPaymentError(error);
142
- }
143
- }
144
- else {
145
- /* Pay by Invoice */
146
- const cart = cartRef.current;
147
- try {
148
- await placeOrder({ cart });
149
- }
150
- catch (error) {
151
- console.error(error);
152
- setAPIError(error);
153
- }
154
- return onPaymentComplete();
155
- }
156
- }
157
- const onComplete = useCallback(async (result) => {
158
- const cart = cartRef.current;
159
- try {
160
- await placeOrder({
161
- cart: {
162
- ...cart,
163
- paymentMethod: null,
164
- paymentOptions: {
165
- ...cart.paymentOptions, // Hack needed to make B2B happy
166
- adyenPspReference: result.pspReference,
167
- isAdyenDropIn: true,
168
- },
169
- },
170
- });
171
- }
172
- catch (error) {
173
- console.error(error);
174
- setAPIError(error);
175
- }
176
- return onPaymentComplete();
177
- }, [onPaymentComplete, placeOrder]);
178
- const onError = useCallback((error, result) => {
179
- invalidateAdyen();
180
- // invalidateCurrentCart()
181
- setPaymentError(error);
182
- console.error(error);
183
- _onError?.(error, result);
184
- }, [_onError, invalidateAdyen]);
185
- return (jsxs(Form, { className: styles['payment-form'], "data-test-selector": "paymentForm", id: form, onSubmit: e => {
186
- e.preventDefault();
187
- onSubmit(e);
188
- }, validationErrors: validationErrors, children: [Boolean(apiError) && (jsx("div", { className: styles['error-message'], children: jsx(FormattedMessage, { id: "An unexpected error occured" }) })), hasAtp && (jsxs("div", { className: styles['delivery-date'], children: [jsx(Select, { showLabel: true, "data-test-selector": "deliveryDateSelect", isDisabled: hasReturnedFromAdyen || asSoonAsPossible, isRequired: !asSoonAsPossible, label: t('Select a desired delivery date'), name: "deliveryDate", onChange: setDeliveryDate, options: atpSelectOptions, selectedOption: deliveryDate, variant: "solid" }, String(asSoonAsPossible)), jsxs("div", { className: styles['asap-checkbox'], children: [jsx(Checkbox, { "data-test-selector": "asapCheckbox", isDisabled: hasReturnedFromAdyen || !hasAtp, isSelected: asSoonAsPossible, onChange: checked => {
189
- setAsSoonAsPossible(checked);
190
- if (checked)
191
- setDeliveryDate('');
192
- }, children: jsx(FormattedMessage, { id: "As soon as possible" }) }), jsx(Tooltip, { text: t('Selecting As Soon As Possible will enable us to send the products to you as they become available.') })] })] })), jsx(Select, { isRequired: true, "data-test-selector": "industrySelect", defaultSelectedOption: cart.properties.industry, isDisabled: hasReturnedFromAdyen, label: t('Industry'), name: "industry", options: {
193
- /* eslint-disable sort-keys-fix/sort-keys-fix */
194
- PP: 'Private User',
195
- AU: 'Automotive',
196
- MC: 'Motorcycle',
197
- BC: 'Bicycle',
198
- TR: 'Truck',
199
- AG: 'Agricultural',
200
- AV: 'Aviation',
201
- MA: 'Maritime',
202
- OT: 'Other',
203
- /* eslint-enable sort-keys-fix/sort-keys-fix */
204
- }, variant: "solid" }), jsx(TextField, { showLabel: true, defaultValue: cart.customerVatNumber, isDisabled: hasReturnedFromAdyen || isProcessing, label: t('VAT Number'), name: "vatNumber", onInput: e => debouncedValidator(e.target.value), validate: () => validationErrors.vatNumber ?? true }), jsx(TextField, { showLabel: true, defaultValue: cart.poNumber, isDisabled: hasReturnedFromAdyen || isProcessing, label: t('PO Number'), name: "poNumber" }), paymentMethodOptions && Object.keys(paymentMethodOptions).length > 1 && (jsx(Select, { "data-test-selector": "paymentMethodSelect", defaultSelectedOption: cart.paymentOptions?.paymentMethods?.[0]?.name || 'ADY', isDisabled: (hasReturnedFromAdyen ||
205
- (cart.paymentOptions?.paymentMethods &&
206
- cart.paymentOptions.paymentMethods.length <= 1)) ??
207
- true, label: t('Payment method'), name: "paymentMethod", options: paymentMethodOptions, variant: "solid" })), isAdyenPayment && cart.billTo && (jsx(AdyenPayment, { amount: cart.orderGrandTotal, cartId: cart.trackId, countryCode: countryCode, currencyCode: currencySymbolToISO[cart.currencySymbol], customerId: cart.billTo.id, dropinRef: dropinRef, environment: "test", onComplete: onComplete, onError: onError, orderAmount: cart.orderGrandTotal, returnUrl: typeof window === 'undefined'
208
- ? ''
209
- : // eslint-disable-next-line ssr-friendly/no-dom-globals-in-react-fc
210
- `https://sonicequipment.commerce.insitesandbox.com${window.location.pathname}${window.location.search ? `${window.location.search}` : ''}` })), Boolean(paymentError) && (jsx("div", { className: styles['error-message'], children: jsx(FormattedMessage, { id: "An error occurred while processing your payment. Please try again." }) })), jsxs("div", { className: styles['invoice-and-shipping'], children: [jsx(Label, { children: jsx(FormattedMessage, { id: "Billing and shipping address" }) }), jsx(Accordion, { variant: "select", children: jsx(AccordionItem, { id: "invoice-and-shipping", title: "Factuur- en verzendinformatie", children: jsxs("div", { className: styles['content'], children: [jsx("section", { className: styles.section, children: jsxs("div", { children: [jsx("p", { className: styles.label, children: jsx(FormattedMessage, { id: "Billing address" }) }), jsx(Address, { address1: cart.billTo?.address1, address2: cart.billTo?.address2, address3: cart.billTo?.address3, city: cart.billTo?.city, companyName: cart.billTo?.companyName, country: cart.billTo?.country?.name, email: cart.billTo?.email, phone: cart.billTo?.phone, postalCode: cart.billTo?.postalCode })] }) }), jsx("section", { className: styles.section, children: jsxs("div", { children: [jsx("p", { className: styles.label, children: jsx(FormattedMessage, { id: "Shipping address" }) }), jsx(Address, { address1: cart.shipTo?.address1, address2: cart.shipTo?.address2, address3: cart.shipTo?.address3, city: cart.shipTo?.city, companyName: cart.shipTo?.companyName, country: cart.shipTo?.country?.name, email: cart.shipTo?.email, phone: cart.shipTo?.phone, postalCode: cart.shipTo?.postalCode })] }) })] }) }) })] })] }));
211
- }
212
-
213
- export { Payment };
@@ -1,3 +0,0 @@
1
- var styles = {"error-message":"payment-module-cF0-P","payment-form":"payment-module-XsBSV","delivery-date":"payment-module-yoZKM","asap-checkbox":"payment-module-iKZK1","invoice-and-shipping":"payment-module-RHQBy","content":"payment-module-3hHuC","section":"payment-module-Vdgdo","label":"payment-module-Hpq8j"};
2
-
3
- export { styles as default };
@@ -1 +0,0 @@
1
- export declare function wait(ms: number): Promise<unknown>;
@@ -1,5 +0,0 @@
1
- function wait(ms) {
2
- return new Promise(resolve => setTimeout(resolve, ms));
3
- }
4
-
5
- export { wait };