@dropins/storefront-account 0.1.0-alpha9 → 1.0.0-beta2

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 (113) hide show
  1. package/api/createCustomerAddress/graphql/createCustomerAddress.graphql.d.ts +1 -1
  2. package/api/fragments.d.ts +4 -0
  3. package/api/getAttributesForm/graphql/getAttributesForm.graphql.d.ts +1 -1
  4. package/api/getCountries/getCountries.d.ts +6 -2
  5. package/api/getCountries/graphql/getCountries.graphql.d.ts +1 -1
  6. package/api/getCustomer/graphql/getCustomer.graphql.d.ts +1 -1
  7. package/api/getCustomerAddress/graphql/getCustomerAddress.graphql.d.ts +1 -1
  8. package/api/getOrderHistoryList/getOrderHistoryList.d.ts +2 -2
  9. package/api/getOrderHistoryList/graphql/getOrderHistoryList.graphql.d.ts +1 -1
  10. package/api/getRegions/getRegions.d.ts +4 -1
  11. package/api/getStoreConfig/getStoreConfig.d.ts +4 -0
  12. package/api/getStoreConfig/graphql/getStoreConfig.graphql.d.ts +2 -0
  13. package/api/getStoreConfig/index.d.ts +2 -0
  14. package/api/graphql/CustomerAddressFragment.graphql.d.ts +2 -0
  15. package/api/graphql/CustomerFragment.graphql.d.ts +2 -0
  16. package/api/graphql/OrderSummaryFragment.graphql.d.ts +2 -0
  17. package/api/index.d.ts +4 -0
  18. package/api/initialize/initialize.d.ts +7 -1
  19. package/api/removeCustomerAddress/graphql/removeCustomerAddress.graphql.d.ts +1 -1
  20. package/api/updateCustomer/graphql/updateCustomer.graphql.d.ts +2 -0
  21. package/api/updateCustomer/index.d.ts +2 -0
  22. package/api/updateCustomer/updateCustomer.d.ts +2 -0
  23. package/api/updateCustomerAddress/graphql/updateCustomerAddress.graphql.d.ts +1 -1
  24. package/api/updateCustomerEmail/graphql/updateCustomerEmail.graphql.d.ts +2 -0
  25. package/api/updateCustomerEmail/index.d.ts +2 -0
  26. package/api/updateCustomerEmail/updateCustomerEmail.d.ts +5 -0
  27. package/api/updateCustomerPassword/graphql/updateCustomerPassword.graphql.d.ts +2 -0
  28. package/api/updateCustomerPassword/index.d.ts +2 -0
  29. package/api/updateCustomerPassword/updateCustomerPassword.d.ts +4 -0
  30. package/api.js +3 -9
  31. package/chunks/CustomerInformationCard.js +3 -0
  32. package/chunks/getOrderHistoryList.js +123 -76
  33. package/chunks/getStoreConfig.js +12 -0
  34. package/chunks/removeCustomerAddress.js +90 -4
  35. package/chunks/updateCustomer.js +57 -0
  36. package/components/ChangePassword/ChangePassword.d.ts +5 -0
  37. package/components/ChangePassword/index.d.ts +3 -0
  38. package/components/CustomerInformationCard/CustomerInformationCard.d.ts +5 -0
  39. package/components/CustomerInformationCard/index.d.ts +3 -0
  40. package/components/EditCustomerInformation/EditCustomerInformation.d.ts +5 -0
  41. package/components/EditCustomerInformation/index.d.ts +3 -0
  42. package/components/Form/Form.d.ts +4 -3
  43. package/components/index.d.ts +3 -0
  44. package/configs/defaultAttributePreset.config.d.ts +1 -0
  45. package/configs/mockDefaultAddress.config.d.ts +9 -40
  46. package/configs/mockOrdersList.config.d.ts +110 -2
  47. package/containers/AddressForm.js +3 -1
  48. package/containers/Addresses.js +3 -1
  49. package/containers/CustomerInformation/CustomerInformation.d.ts +5 -0
  50. package/containers/CustomerInformation/index.d.ts +3 -0
  51. package/containers/CustomerInformation.d.ts +3 -0
  52. package/containers/CustomerInformation.js +3 -0
  53. package/containers/OrdersList.js +3 -1
  54. package/containers/index.d.ts +1 -0
  55. package/data/models/customer-address.d.ts +3 -3
  56. package/data/models/customer.d.ts +9 -2
  57. package/data/models/index.d.ts +1 -0
  58. package/data/models/order-history-list.d.ts +20 -4
  59. package/data/models/region.d.ts +1 -0
  60. package/data/models/store-config.d.ts +6 -0
  61. package/data/transforms/index.d.ts +1 -0
  62. package/data/transforms/transform-countries.d.ts +6 -2
  63. package/data/transforms/transform-customer-address.d.ts +0 -1
  64. package/data/transforms/transform-order-history-list.d.ts +2 -2
  65. package/data/transforms/transform-store-config.d.ts +5 -0
  66. package/hooks/components/useChangePassword.d.ts +26 -0
  67. package/hooks/components/useForm.d.ts +7 -5
  68. package/hooks/components/usePasswordValidationMessage.d.ts +16 -0
  69. package/hooks/containers/useAddressForm.d.ts +18 -7
  70. package/hooks/containers/useAddresses.d.ts +3 -1
  71. package/hooks/containers/useCustomerInformation.d.ts +50 -0
  72. package/hooks/containers/useGetStoreConfigs.d.ts +7 -0
  73. package/hooks/containers/useOrderSelectList.d.ts +2 -0
  74. package/hooks/containers/useOrdersList.d.ts +8 -3
  75. package/hooks/useInLineAlert.d.ts +7 -0
  76. package/hooks/useIsMobile.d.ts +2 -0
  77. package/i18n/en_US.json.d.ts +109 -43
  78. package/lib/areRequiredFieldsValid.d.ts +6 -0
  79. package/lib/getFieldsConfig.d.ts +1 -22
  80. package/lib/getFormValuesFromRef.d.ts +5 -0
  81. package/lib/initializeFormDataAndErrors.d.ts +10 -0
  82. package/lib/normalizeAttributes.d.ts +1 -1
  83. package/lib/normalizeGetAddressData.d.ts +6 -0
  84. package/lib/prepareNormalizedData.d.ts +21 -0
  85. package/lib/sortingAddressesList.d.ts +5 -0
  86. package/lib/transformDefaultValuesAddresses.d.ts +11 -0
  87. package/lib/transformSessionData.d.ts +6 -0
  88. package/lib/validationChangePassword.d.ts +17 -0
  89. package/lib/validationFields.d.ts +2 -1
  90. package/lib/validationUniqueSymbolsPassword.d.ts +2 -0
  91. package/package.json +1 -1
  92. package/render.js +5 -3
  93. package/types/addressForm.types.d.ts +11 -6
  94. package/types/addresses.types.d.ts +41 -7
  95. package/types/api/getCountries.types.d.ts +4 -0
  96. package/types/api/getCustomer.types.d.ts +10 -0
  97. package/types/api/getCustomerAddress.type.d.ts +5 -1
  98. package/types/api/getOrderHistoryList.types.d.ts +17 -0
  99. package/types/api/storeConfig.types.d.ts +14 -0
  100. package/types/api/updateCustomerPassword.types.d.ts +15 -0
  101. package/types/customerInformation.types.d.ts +61 -0
  102. package/types/form.types.d.ts +24 -8
  103. package/types/index.d.ts +4 -1
  104. package/types/notification.types.d.ts +19 -0
  105. package/types/ordersList.types.d.ts +18 -2
  106. package/chunks/AddressFormWrapper.js +0 -1
  107. package/chunks/AddressFormWrapper2.js +0 -1
  108. package/chunks/checkIsFunction.js +0 -1
  109. package/chunks/convertCase.js +0 -1
  110. package/chunks/transform-customer-address.js +0 -1
  111. package/chunks/updateCustomerAddress.js +0 -78
  112. package/hooks/api/useCountryRegionOptions.d.ts +0 -7
  113. package/types/translations.types.d.ts +0 -9
@@ -0,0 +1,21 @@
1
+ import { Country, RegionTransform } from '../data/models';
2
+
3
+ type Field = {
4
+ customUpperCode: string;
5
+ defaultValue?: string | boolean | number;
6
+ options?: any[];
7
+ required?: boolean;
8
+ disabled?: boolean;
9
+ };
10
+ interface ProcessFieldsProps {
11
+ fields: Field[];
12
+ countryOptions: Country[];
13
+ regionOptions: RegionTransform[];
14
+ isRequiredRegion: boolean;
15
+ isRequiredPostCode: boolean;
16
+ disableField: boolean;
17
+ addressId?: string | number;
18
+ }
19
+ declare const _default: ({ fields, addressId, countryOptions, disableField, regionOptions, isRequiredRegion, isRequiredPostCode, }: ProcessFieldsProps) => Field[];
20
+ export default _default;
21
+ //# sourceMappingURL=prepareNormalizedData.d.ts.map
@@ -0,0 +1,5 @@
1
+ import { CustomerAddressesModel } from '../data/models';
2
+
3
+ declare const _default: (data: CustomerAddressesModel[], selectShipping: boolean, selectBilling: boolean) => CustomerAddressesModel[];
4
+ export default _default;
5
+ //# sourceMappingURL=sortingAddressesList.d.ts.map
@@ -0,0 +1,11 @@
1
+ import { CustomerAddressesModel } from '../data/models';
2
+
3
+ type CustomAttributesType = {
4
+ customAttributes?: {
5
+ code: string;
6
+ value: string;
7
+ }[];
8
+ };
9
+ export declare const transformDefaultValuesAddresses: (address?: CustomerAddressesModel & CustomAttributesType) => CustomerAddressesModel;
10
+ export {};
11
+ //# sourceMappingURL=transformDefaultValuesAddresses.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { RegionTransform } from '../data/models';
2
+
3
+ type InputData = Record<string, any>;
4
+ declare const _default: (input: InputData, regions: RegionTransform[]) => InputData;
5
+ export default _default;
6
+ //# sourceMappingURL=transformSessionData.d.ts.map
@@ -0,0 +1,17 @@
1
+ interface PasswordValidationParams {
2
+ currentPassword: string;
3
+ newPassword: string;
4
+ confirmPassword: string;
5
+ translations: Record<string, string>;
6
+ }
7
+ interface PasswordErrors {
8
+ currentPassword: string;
9
+ newPassword: string;
10
+ confirmPassword: string;
11
+ }
12
+ export declare const validationChangePassword: ({ currentPassword, newPassword, confirmPassword, translations, }: PasswordValidationParams) => {
13
+ isValid: boolean;
14
+ errors: PasswordErrors;
15
+ };
16
+ export {};
17
+ //# sourceMappingURL=validationChangePassword.d.ts.map
@@ -2,7 +2,8 @@ type TranslationList = Record<string, string>;
2
2
  type ErrorsList = Record<string, string>;
3
3
  export type ValidationFieldsConfig = {
4
4
  validateRules: Record<string, string>[];
5
- code: string;
5
+ code?: string;
6
+ customUpperCode: string;
6
7
  required: boolean;
7
8
  };
8
9
  export declare enum InputValidation {
@@ -0,0 +1,2 @@
1
+ export declare const validationUniqueSymbolsPassword: (password: string, uniqueSymbolsCount: number) => boolean;
2
+ //# sourceMappingURL=validationUniqueSymbolsPassword.d.ts.map
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-account", "version": "0.1.0-alpha9", "@dropins/elsie": "0.31.0"}
1
+ {"name": "@dropins/storefront-account", "version": "1.0.0-beta2", "@dropins/elsie": "~0.37.0"}
package/render.js CHANGED
@@ -1,3 +1,5 @@
1
- (function(o,i){try{if(typeof document<"u"){const r=document.createElement("style"),n=i.styleId;for(const d in i.attributes)r.setAttribute(d,i.attributes[d]);r.setAttribute("data-dropin",n),r.appendChild(document.createTextNode(o));const a=document.querySelector('style[data-dropin="sdk"]');if(a)a.after(r);else{const d=document.querySelector('link[rel="stylesheet"], style');d?d.before(r):document.head.append(r)}}}catch(r){console.error("dropin-styles (injectCodeFunction)",r)}})(`.dropin-orders-list-header{margin-bottom:var(--spacing-medium)}.dropin-orders-list--date-select{margin-bottom:var(--spacing-xbig)}.dropin-orders-list--date-select span{display:inline-block;font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);margin-bottom:var(--spacing-xsmall)}.dropin-orders-list--date-select .dropin-picker{max-width:224px}
2
- .dropin-form{display:flex;flex-direction:column;gap:var(--spacing-medium)}@media (min-width: 768px){.dropin-form{display:grid;grid-template-columns:repeat(2,1fr)}.dropin-form>.dropin-field:nth-child(1),.dropin-form>.dropin-field:nth-child(2){grid-column:span 1}.dropin-form>.dropin-field:nth-child(3),.dropin-form>.dropin-field:nth-child(4),.dropin-form>.dropin-field:nth-child(5){grid-column:span 2}.dropin-form>.dropin-field:nth-child(6),.dropin-form>.dropin-field:nth-child(7){grid-column:span 1}.dropin-form>.dropin-field:nth-child(8),.dropin-form>.dropin-field:nth-child(9){grid-column:span 1}.dropin-form>.dropin-field:nth-child(n+10){grid-column:span 2}}.dropin-form [class$=-hidden]{position:absolute;opacity:0;height:0;width:0;overflow:hidden;clip:rect(0,0,0,0)}.dropin-address-card{border-radius:var(--shape-border-radius-1);margin-bottom:var(--spacing-small);border-width:var(--shape-border-width-1)}.dropin-address-card .dropin-card__content{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-small) 0px;grid-template-areas:"description action" "labels action"}.dropin-address-card .dropin-address-card__action{display:flex;justify-content:flex-end;align-items:baseline;cursor:pointer;grid-area:action}.dropin-address-card .dropin-address-card__action--editbutton{margin-left:var(--spacing-small)}.dropin-address-card .dropin-address-card__action button{padding:0}.dropin-address-card .dropin-address-card__action button:hover{text-decoration:underline}.dropin-address-card .dropin-address-card__description{grid-area:description;margin:0;padding:0}.dropin-address-card .dropin-address-card__description p{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);color:var(--color-neutral-800);margin:0;padding:0;display:inline;overflow:hidden}.dropin-address-card .dropin-address-card__description p:nth-child(1),.dropin-address-card .dropin-address-card__description p:nth-child(2){margin:0 0 var(--spacing-small) 0;color:var(--color-neutral-800);font:var(--type-button-2-font);text-align:left;font-weight:500;cursor:default}.dropin-address-card__description p{margin-bottom:var(--spacing-small)}.dropin-address-card .dropin-address-card__description p:nth-child(1),.dropin-address-card .dropin-address-card__description p:nth-child(5),.dropin-address-card .dropin-address-card__description p:nth-child(7){float:left;width:auto;margin-right:var(--spacing-xsmall)}.dropin-address-card .dropin-address-card__description p:nth-child(2),.dropin-address-card .dropin-address-card__description p:nth-child(6),.dropin-address-card .dropin-address-card__description p:nth-child(8){display:inline;width:50%}.dropin-address-card .dropin-address-card__description p:nth-child(2):after,.dropin-address-card .dropin-address-card__description p:nth-child(6):after,.dropin-address-card .dropin-address-card__description p:nth-child(8):after{content:"\\a";white-space:pre;display:block;height:var(--spacing-small)}.dropin-address-card .dropin-address-card__description p:nth-child(3),.dropin-address-card .dropin-address-card__description p:nth-child(4),.dropin-address-card .dropin-address-card__description p:nth-child(n+9){display:block;width:100%;margin-bottom:var(--spacing-small)}.dropin-address-card .dropin-address-card__labels{display:flex;gap:0 var(--spacing-xsmall);grid-area:labels}.dropin-account-loaders--card-loader{margin-bottom:var(--spacing-small);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-radius:var(--shape-border-radius-1)}.dropin-account-loaders--picker-loader div:first-child{max-width:200px}.dropin-account-loaders--picker-loader div:nth-child(3){max-width:400px}.dropin-actions-address{cursor:pointer;padding:var(--spacing-xsmall) var(--spacing-medium);border-radius:var(--shape-border-radius-1);border:var(--shape-border-width-1) solid var(--color-neutral-400);background-color:var(--color-neutral-50);width:100%;height:88px;display:flex;align-items:center;justify-content:space-between}.dropin-actions-address--title{font:var(--type-button-2-font);letter-spacing:var(--type-button-2-letter-spacing)}.dropin-actions-address svg{stroke:var(--shape-icon-stroke-4);color:var(--color-neutral-800)}.dropin-address-modal{position:relative;padding:var(--spacing-xbig) var(--spacing-xxbig) var(--spacing-xxbig) var(--spacing-xxbig);width:100%;margin:auto;max-width:721px}.dropin-modal__body--medium>.dropin-modal__header-title,.dropin-modal__body--full>.dropin-modal__header-title,.dropin-address-modal .dropin-modal__content{margin:0;align-items:center}.dropin-address-modal .dropin-modal__header-title-content h3{font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);margin:0;padding:0}.dropin-address-modal .dropin-address-modal__spinner{position:absolute;top:0;left:0;background-color:var(--color-neutral-200);opacity:.8;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1}.dropin-address-modal p{color:var(--color-neutral-800);font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);margin-bottom:var(--spacing-medium)}.dropin-address-modal .dropin-address-modal__wrapper--buttons{display:flex;align-items:center;justify-content:right;gap:0 var(--spacing-small)}.dropin-empty-list{margin-bottom:var(--spacing-small);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-radius:var(--shape-border-radius-1)}.dropin-empty-list.dropin-empty-list--minified,.dropin-empty-list .dropin-card{border:none}.dropin-empty-list .dropin-card__content{gap:0;padding:var(--spacing-xxbig)}.dropin-empty-list.dropin-empty-list--minified .dropin-card__content{flex-direction:row;align-items:center;padding:var(--spacing-big) var(--spacing-small)}.dropin-empty-list .dropin-card__content svg{width:64px;height:64px;margin-bottom:var(--spacing-medium)}.dropin-empty-list.dropin-empty-list--minified .dropin-card__content svg{margin:0 var(--spacing-small) 0 0;width:32px;height:32px}.dropin-empty-list .dropin-card__content svg path{fill:var(--color-neutral-800)}.dropin-empty-list.dropin-empty-list--minified .dropin-card__content svg path{fill:var(--color-neutral-500)}.dropin-empty-list .dropin-card__content p{font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);color:var(--color-neutral-800)}.dropin-empty-list.dropin-empty-list--minified .dropin-card__content p{font:var(--type-body-1-strong-font);color:var(--color-neutral-800)}.dropin-orders-list-action{margin:0;padding:0;border:none;background-color:transparent;cursor:pointer;text-decoration:none}.dropin-orders-list-action--minifiedView{width:100%;text-align:left;font:var(--type-body-1-default-font)}.dropin-orders-list-action.dropin-orders-list-action--minifiedView:hover{text-decoration:none}.dropin-orders-list-action--minifiedView .dropin-orders-list-action__card-wrapper{display:flex;justify-content:space-between;align-items:center;color:var(--color-neutral-800);height:calc(88px - var(--spacing-small) * 2)}.dropin-orders-list-action__card-wrapper>p{font:var(--type-button-2-font);letter-spacing:var(--type-button-2-letter-spacing)}.dropin-orders-list-action__card-wrapper svg,.dropin-orders-list-action svg{color:var(--color-neutral-800)}.dropin-orders-list-action--minifiedView .dropin-card--secondary{border-width:var(--shape-border-width-1);border-radius:var(--shape-border-radius-1)}.dropin-orders-list-action--minifiedView .dropin-card__content{padding:var(--spacing-small) var(--spacing-medium)}.dropin-orders-list-action--minifiedView p{font:var(--type-body-1-strong-font)}.dropin-orders-list-card{height:100%;margin-bottom:var(--spacing-small);border-width:var(--shape-border-width-1);border-radius:var(--shape-border-radius-1)}.dropin-orders-list-card .dropin-card__content{padding:var(--spacing-medium);display:grid;grid-template-areas:"content actions" "imageList actions";gap:0;max-height:100%}.dropin-orders-list-card .dropin-orders-list-card--content{grid-area:content;margin-bottom:var(--spacing-small)}.dropin-orders-list-card .dropin-orders-list-card--content>div:first-child{font-weight:500}.dropin-orders-list-card .dropin-orders-list-card--content p,.dropin-orders-list-card .dropin-orders-list-card--content div{padding:0;text-align:left;font:var(--type-body-1-default-font);margin-bottom:var(--spacing-small);color:var(--color-neutral-800)}.dropin-orders-list-card .dropin-orders-list-card--content p:last-child{margin:0}.dropin-orders-list-card .dropin-orders-list-card--content div{font:var(--type-button-2-font);margin-bottom:var(--spacing-small)}.dropin-orders-list-card .dropin-orders-list-card--actions{grid-area:actions}.dropin-orders-list-card .dropin-orders-list-card--images{max-width:calc(6 * 65px + 5 * var(--spacing-small));grid-area:imageList;display:grid;grid-template-columns:repeat(auto-fill,65px);grid-template-rows:65px;gap:var(--spacing-small);overflow:hidden}.dropin-orders-list-card .dropin-orders-list-card--images img{object-fit:contain;width:65px;height:65px}.dropin-orders-list-card .dropin-orders-list-card--actions{position:relative;align-self:center;margin-left:auto}@media (min-width: 768px){.dropin-orders-list-card .dropin-card__content{max-height:290px}.dropin-orders-list-card.dropin-orders-list-card--full .dropin-card__content{max-height:100%}}.dropin-addresses-header{margin-bottom:var(--spacing-medium)}.dropin-addresses-wrapper{box-sizing:border-box;position:relative}.dropin-addresses-wrapper .dropin-addresses__footer .dropin-card--secondary{border:var(--shape-border-width-1) solid var(--color-neutral-400);border-radius:var(--shape-border-radius-1)}.dropin-address-form-wrapper{box-sizing:border-box;background-color:var(--color-neutral-50)}.dropin-address-form-wrapper--notification{margin-bottom:var(--spacing-medium)}.dropin-address-form-wrapper--title{color:var(--color-neutral-800);font:var(--type-headline-2-strong-font);letter-spacing:var(--type-headline-2-strong-letter-spacing);margin-bottom:var(--spacing-medium)}.dropin-address-form-wrapper--buttons{display:flex;align-items:center;justify-content:end;gap:0 var(--spacing-medium);margin-top:var(--spacing-medium)}.dropin-address-form-wrapper--buttons button{min-width:142px}`,{styleId:"account"});
3
- import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{Render as t}from"@dropins/tools/lib.js";import{useState as o,useEffect as n}from"@dropins/tools/preact-hooks.js";import{UIProvider as l}from"@dropins/tools/components.js";import{events as m}from"@dropins/tools/event-bus.js";const c={EmptyList:{minifiedView:{Addresses:{message:"No saved addresses"},OrdersList:{message:"No orders"}},fullSizeView:{Addresses:{message:"No saved addresses"},OrdersList:{message:"No orders"}}},OrdersList:{minifiedView:{containerTitle:"Recent orders",viewAllOrdersButton:"View all orders",OrdersListCard:{orderNumber:"Order number:",itemsAmount:"items"}},fullSizeView:{containerTitle:"Your orders",titleSelectOrder:"Date order placed",OrdersListCard:{orderNumber:"Order number:",itemsAmount:"items"},OrdersListSelectDate:{pastSixMonths:"Past 6 months",currentYear:"Current year",viewAll:"View all"}}},Addresses:{minifiedView:{containerTitle:"Addresses",editAddressFormTitle:"Edit address",viewAllAddressesButton:"View address list",addressCard:{actionRemove:"Remove",actionEdit:"Edit",cardLabelShipping:"Shipping",cardLabelBilling:"Billing"},removeAddressModal:{title:"Remove address",description:"Are you sure you would like to remove this address?",actionCancel:"Cancel",actionConfirm:"Remove"}},fullSizeView:{containerTitle:"Addresses",editAddressFormTitle:"Edit address",newAddressFormTitle:"Add address",addNewAddressButton:"Create new",addressCard:{actionRemove:"Remove",actionEdit:"Edit",cardLabelShipping:"Shipping",cardLabelBilling:"Billing"},removeAddressModal:{title:"Remove address",description:"Are you sure you would like to remove this address?",actionCancel:"Cancel",actionConfirm:"Remove"}}},AddressForm:{formText:{secondaryButton:"Cancel",primaryButton:"Save",defaultShippingLabel:"Set as default shipping address",defaultBillingLabel:"Set as default billing address"}},FormText:{requiredFieldError:"This is a required field.",numericError:"Only numeric values are allowed.",alphaNumWithSpacesError:"Only alphanumeric characters and spaces are allowed.",alphaNumericError:"Only alphanumeric characters are allowed.",alphaError:"Only alphabetic characters are allowed.",emailError:"Please enter a valid email address.",dateError:"Please enter a valid date.",dateLengthError:"Date must be between {min} and {max}.",urlError:"Please enter a valid URL, e.g., http://www.adobe.com.",lengthTextError:"Text length must be between {min} and {max} characters."}},u={Account:c},p={default:u},w=({children:s})=>{const[d,a]=o("en_US");return n(()=>{const e=m.on("locale",i=>{a(i)},{eager:!0});return()=>{e==null||e.off()}},[]),r(l,{lang:d,langDefinitions:p,children:s})},S=new t(r(w,{}));export{S as render};
1
+ /*! Copyright 2024 Adobe
2
+ All Rights Reserved. */
3
+ (function(e,r){try{if(typeof document<"u"){const a=document.createElement("style"),o=r.styleId;for(const t in r.attributes)a.setAttribute(t,r.attributes[t]);a.setAttribute("data-dropin",o),a.appendChild(document.createTextNode(e));const c=document.querySelector('style[data-dropin="sdk"]');if(c)c.after(a);else{const t=document.querySelector('link[rel="stylesheet"], style');t?t.before(a):document.head.append(a)}}}catch(a){console.error("dropin-styles (injectCodeFunction)",a)}})(`.account-orders-list-header{margin-bottom:var(--spacing-medium)}.account-orders-list ul{list-style:none;margin:0;padding:0}.account-orders-list__date-select{margin-bottom:var(--spacing-xbig)}.account-orders-list__date-select span{display:inline-block;font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);margin-bottom:var(--spacing-xsmall)}.account-orders-list__date-select .dropin-picker{max-width:224px}
4
+ .account-form{display:grid;flex-direction:column;gap:var(--spacing-medium)}@media (min-width: 768px){.account-form{display:grid;grid-template-columns:repeat(2,1fr)}.account-form>.dropin-field:nth-child(1),.account-form>.dropin-field:nth-child(2){grid-column:span 1}.account-form>.dropin-field:nth-child(3),.account-form>.dropin-field:nth-child(4),.account-form>.dropin-field:nth-child(5){grid-column:span 2}.account-form>.dropin-field:nth-child(6),.account-form>.dropin-field:nth-child(7){grid-column:span 1}.account-form>.dropin-field:nth-child(8),.account-form>.dropin-field:nth-child(9){grid-column:span 1}.account-form>.dropin-field:nth-child(n+10){grid-column:span 2}}.account-form [class$=-hidden]{position:absolute;opacity:0;height:0;width:0;overflow:hidden;clip:rect(0,0,0,0)}.account-account-loaders--card-loader{margin-bottom:var(--spacing-small)}.account-account-loaders--picker-loader div:first-child{max-width:200px}.account-account-loaders--picker-loader div:nth-child(3){max-width:400px}.account-address-card{margin-bottom:var(--spacing-small)}.account-address-card .dropin-card__content{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-small) 0px;grid-template-areas:"description action" "labels action"}.account-address-card .account-address-card__action{display:flex;justify-content:flex-end;align-items:baseline;cursor:pointer;grid-area:action}.account-address-card .account-address-card__action--editbutton{margin-left:var(--spacing-small)}.account-address-card .account-address-card__action button{padding:0}.account-address-card .account-address-card__action button:hover{text-decoration:underline}.account-address-card .account-address-card__description{grid-area:description;margin:0;padding:0}.account-address-card .account-address-card__labels{display:flex;gap:0 var(--spacing-xsmall);grid-area:labels}.account-address-card .account-address-card__description p{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);line-height:var(--spacing-xbig);color:var(--color-neutral-800);padding:0;margin:0 var(--spacing-xsmall) 0 0}.account-address-card .account-address-card__description p:nth-child(1),.account-address-card .account-address-card__description p:nth-child(2){margin:0 var(--spacing-xsmall) var(--spacing-xsmall) 0;color:var(--color-neutral-800);font:var(--type-button-2-font);font-weight:500;cursor:default}.account-address-card .account-address-card__description p:nth-child(1),.account-address-card .account-address-card__description p:nth-child(3),.account-address-card .account-address-card__description p:nth-child(4),.account-address-card .account-address-card__description p:nth-child(6){float:left}.account-actions-address{cursor:pointer;padding:var(--spacing-xsmall) var(--spacing-medium);border-radius:var(--shape-border-radius-2);border:var(--shape-border-width-2) solid var(--color-neutral-400);background-color:var(--color-neutral-50);width:100%;height:88px;display:flex;align-items:center;justify-content:space-between}.account-actions-address--selectable{max-width:100%;width:auto}.account-actions-address__title{font:var(--type-button-2-font);letter-spacing:var(--type-button-2-letter-spacing)}.account-actions-address svg{stroke:var(--shape-icon-stroke-4);color:var(--color-neutral-800)}.account-address-modal{position:relative;padding:var(--spacing-xbig) var(--spacing-xxbig) var(--spacing-xxbig) var(--spacing-xxbig);width:100%;margin:auto;max-width:721px}.dropin-modal__body--medium>.dropin-modal__header-title,.dropin-modal__body--full>.dropin-modal__header-title,.account-address-modal .dropin-modal__content{margin:0;align-items:center}.account-address-modal .dropin-modal__header-title-content h3{font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);margin:0;padding:0}.account-address-modal .account-address-modal__spinner{position:absolute;top:0;left:0;background-color:var(--color-neutral-200);opacity:.8;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1}.account-address-modal p{color:var(--color-neutral-800);font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);margin-bottom:var(--spacing-medium)}.account-address-modal .account-address-modal__buttons{display:flex;align-items:center;justify-content:right;gap:0 var(--spacing-small)}.account-empty-list{margin-bottom:var(--spacing-small)}.account-empty-list.account-empty-list--minified,.account-empty-list .dropin-card{border:none}.account-empty-list .dropin-card__content{gap:0;padding:var(--spacing-xxbig)}.account-empty-list.account-empty-list--minified .dropin-card__content{flex-direction:row;align-items:center;padding:var(--spacing-big) var(--spacing-small)}.account-empty-list .dropin-card__content svg{width:64px;height:64px;margin-bottom:var(--spacing-medium)}.account-empty-list.account-empty-list--minified .dropin-card__content svg{margin:0 var(--spacing-small) 0 0;width:32px;height:32px}.account-empty-list .dropin-card__content svg path{fill:var(--color-neutral-800)}.account-empty-list.account-empty-list--minified .dropin-card__content svg path{fill:var(--color-neutral-500)}.account-empty-list .dropin-card__content p{font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);color:var(--color-neutral-800)}.account-empty-list.account-empty-list--minified .dropin-card__content p{font:var(--type-body-1-strong-font);color:var(--color-neutral-800)}.account-orders-list-action{margin:0;padding:0;border:none;background-color:transparent;cursor:pointer;text-decoration:none}a.account-orders-list-action:focus-visible{display:inline-block}.account-orders-list-action--minifiedView{width:100%;text-align:left;font:var(--type-body-1-default-font)}.account-orders-list-action.account-orders-list-action--minifiedView:hover{text-decoration:none}.account-orders-list-action--minifiedView .account-orders-list-action__card-wrapper{display:flex;justify-content:space-between;align-items:center;color:var(--color-neutral-800);height:calc(88px - var(--spacing-small) * 2)}.account-orders-list-action__card-wrapper>p{font:var(--type-button-2-font);letter-spacing:var(--type-button-2-letter-spacing)}.account-orders-list-action__card-wrapper svg,.account-orders-list-action svg{color:var(--color-neutral-800)}.account-orders-list-action--minifiedView .dropin-card__content{padding:var(--spacing-small) var(--spacing-medium)}.account-orders-list-action--minifiedView p{font:var(--type-body-1-strong-font)}.account-orders-list-card{height:100%;margin-bottom:var(--spacing-small)}.account-orders-list-card .dropin-card__content{padding:var(--spacing-medium);display:grid;grid-template-areas:"content actions" "imageList actions";gap:0;max-height:100%}.account-orders-list-card .account-orders-list-card__content{grid-area:content;margin-bottom:var(--spacing-small)}.account-orders-list-card__content--quantity{font-weight:500;color:var(--color-neutral-800)}.account-orders-list-card__content--track_number,.account-orders-list-card__content--return_number{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.account-orders-list-card .account-orders-list-card__content>div:first-child{font-weight:500}.account-orders-list-card .account-orders-list-card__content p,.account-orders-list-card .account-orders-list-card__content div{padding:0;text-align:left;font:var(--type-body-1-default-font);margin:0 0 var(--spacing-small) 0;color:var(--color-neutral-800)}.account-orders-list-card p.account-orders-list-card__content--product-name{margin:0}.account-orders-list-card .account-orders-list-card__content p:last-child{margin:0}.account-orders-list-card .account-orders-list-card__content div{font:var(--type-button-2-font);margin-bottom:var(--spacing-small)}.account-orders-list-card .account-orders-list-card__actions{grid-area:actions}.account-orders-list-card .account-orders-list-card__images{overflow:auto}.account-orders-list-card .account-orders-list-card__images .dropin-content-grid__content{grid-template-columns:repeat(6,max-content)!important}.account-orders-list-card .account-orders-list-card__images-3 .dropin-content-grid__content{grid-template-columns:repeat(3,max-content)!important}.account-orders-list-card .account-orders-list-card__images img{object-fit:contain;width:65px;height:65px}.account-orders-list-card .account-orders-list-card__actions{position:relative;align-self:center;margin-left:auto}@media (min-width: 768px){.account-orders-list-card.account-orders-list-card--full .dropin-card__content{max-height:100%}}.account-addresses-header{margin-bottom:var(--spacing-medium)}.account-addresses-wrapper{box-sizing:border-box;position:relative}.account-addresses-wrapper--select-view{position:relative;margin:0;padding:0;border:none}.account-addresses-wrapper--select-view input[type=radio]{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden}.account-addresses-wrapper--select-view .account-addresses-wrapper__label{cursor:pointer;display:block;border-radius:0}.account-addresses-wrapper--select-view .account-addresses-wrapper__label .account-address-card{border-radius:0}.account-addresses-wrapper--select-view .account-addresses-wrapper__label:nth-child(2){border-radius:var(--shape-border-radius-1) var(--shape-border-radius-1) 0 0}.account-addresses-wrapper--select-view>.account-addresses-wrapper__label:nth-child(2)>.account-address-card{border-radius:var(--shape-border-radius-1) var(--shape-border-radius-1) 0 0}.account-addresses-wrapper--select-view>.account-addresses-wrapper__label:last-child,.account-addresses-wrapper--select-view>.account-addresses-wrapper__label:last-child>.account-actions-address.account-actions-address--address{border-radius:0 0 var(--shape-border-radius-1) var(--shape-border-radius-1)}.account-addresses-wrapper--select-view .account-addresses-wrapper__label .account-address-card,.account-addresses-wrapper--select-view .account-addresses-wrapper__label .account-actions-address.account-actions-address--address{background-color:var(--color-neutral-200)}.account-addresses-wrapper--select-view input[type=radio]:checked+.account-addresses-wrapper__label>.account-address-card{border:var(--shape-border-width-1) solid var(--color-neutral-900);position:relative}.account-addresses-wrapper--select-view input[type=radio]:focus+.account-addresses-wrapper__label>.account-address-card{border:var(--shape-border-width-1) solid var(--color-neutral-900);outline:var(--spacing-xxsmall) solid var(--color-button-focus);position:relative}.account-addresses-wrapper--select-view input[type=radio]:checked+.account-addresses-wrapper__label>.account-addresses-form__footer__wrapper{border:var(--shape-border-width-1) solid var(--color-neutral-900);position:relative}.account-addresses-wrapper--select-view input[type=radio]:checked+.account-addresses-wrapper__label .account-address-card,.account-addresses-wrapper--select-view input[type=radio]:checked+.account-addresses-wrapper__label .account-actions-address.account-actions-address--address{background-color:var(--color-neutral-50)}.account-addresses-wrapper--select-view .account-address-card{margin:0}.account-addresses-wrapper--select-view .account-addresses-form__footer__wrapper{padding:var(--spacing-medium)}.account-address-form-wrapper{box-sizing:border-box;background-color:var(--color-neutral-50)}.account-address-form-wrapper__notification{margin-bottom:var(--spacing-medium)}.account-address-form-wrapper__title{color:var(--color-neutral-800);font:var(--type-headline-2-strong-font);letter-spacing:var(--type-headline-2-strong-letter-spacing);margin-bottom:var(--spacing-medium)}.account-address-form-wrapper__buttons{display:flex;align-items:center;justify-content:end;gap:0 var(--spacing-medium);margin-top:var(--spacing-medium)}.account-address-form-wrapper__buttons--empty{gap:0;margin:0;padding:0;display:inline-block}.account-address-form-wrapper__buttons button{min-width:142px}.account-change-password .dropin-card__content{gap:0}.account-change-password__title,.account-change-password .account-change-password__notification,.account-change-password .account-change-password__fields .account-change-password__fields-item{margin-bottom:var(--spacing-medium)}.account-change-password .account-change-password__fields .account-change-password__fields-item:last-child{margin-bottom:0}.account-change-password .account-change-password__actions{display:flex;justify-content:right;align-items:center;gap:0 var(--grid-3-gutters);margin-top:var(--spacing-xlarge)}.account-change-password .account-change-password__actions button{min-width:144px}.account-edit-customer-information__title{margin-bottom:var(--spacing-medium)}.account-edit-customer-information .dropin-card__content{gap:0}.account-edit-customer-information .account-edit-customer-information__notification{margin-bottom:var(--spacing-medium)}.account-edit-customer-information .account-edit-customer-information-form__field:nth-child(n+3),.account-edit-customer-information .account-edit-customer-information__password{grid-column:span 2}.account-edit-customer-information .account-edit-customer-information__actions{display:flex;justify-content:end;align-items:center;gap:0 var(--grid-2-gutters);grid-column:span 2}.account-edit-customer-information .account-edit-customer-information__actions button{min-width:144px}.customer-information__title{margin-bottom:var(--spacing-medium)}.account-customer-information-card-short{margin-bottom:var(--spacing-small)}.account-customer-information-card .dropin-card__content{gap:0}.account-customer-information-card__wrapper{display:grid;grid-template-columns:1fr auto;align-items:start}.account-customer-information-card .account-customer-information-card__actions{display:flex;justify-content:space-between;align-items:center;gap:0 var(--grid-2-gutters)}.account-customer-information-card .account-customer-information-card__actions button{cursor:pointer;margin:0;padding:0}.account-customer-information-card__content p{font:var(--type-body-1-default-font);margin:0 var(--spacing-xsmall) 0 0;line-height:var(--spacing-xbig);padding:0}.account-customer-information-card__content p:nth-child(1),.account-customer-information-card__content p:nth-child(2){font:var(--type-body-1-strong-font);font-weight:500;margin:0 var(--spacing-xsmall) var(--spacing-xsmall) 0}.account-customer-information-card__content p:nth-child(1){float:left}`,{styleId:"account"});
5
+ import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{Render as o}from"@dropins/tools/lib.js";import{useState as n,useEffect as i}from"@dropins/tools/preact-hooks.js";import{UIProvider as l}from"@dropins/tools/components.js";import{events as c}from"@dropins/tools/event-bus.js";const m={minifiedView:{CustomerInformation:{containerTitle:"Account settings",genderMale:"Male",genderFemale:"Female",changePassword:{passwordValidationMessage:{chartTwoSymbols:"Use characters and numbers or symbols",chartThreeSymbols:"Use characters, numbers and symbols",chartFourSymbols:"Use uppercase characters, lowercase characters, numbers and symbols",messageLengthPassword:"At least {minLength} characters long",passwordMismatch:"Passwords do not match. Please make sure both password fields are identical",incorrectCurrentPassword:"The current password you entered is incorrect. Please check and try again.",passwordUpdateMessage:"Your password has been updated"},containerTitle:"Change password",currentPassword:{placeholder:"Password",floatingLabel:"Password"},newPassword:{placeholder:"New Password",floatingLabel:"New Password"},confirmPassword:{placeholder:"Confirm new password",floatingLabel:"Confirm new password"},buttonSecondary:"Cancel",buttonPrimary:"Save"},customerInformationCard:{buttonSecondary:"Change password",buttonPrimary:"Edit",accountCreation:"Account creation date"},editCustomerInformation:{containerTitle:"Edit details",buttonSecondary:"Cancel",buttonPrimary:"Save",accountSuccess:"Your account information has been updated.",accountError:"Your account information has not been updated.",passwordField:{placeholder:"Password",floatingLabel:"Password"}}},Addresses:{containerTitle:"Addresses",editAddressFormTitle:"Edit address",differentAddressFormTitle:"Deliver to new address",viewAllAddressesButton:"View address list",differentAddressButton:"Use a different address",addressCard:{actionRemove:"Remove",actionEdit:"Edit",cardLabelShipping:"Shipping",cardLabelBilling:"Billing",defaultLabelText:"DEFAULT"},removeAddressModal:{title:"Remove address",description:"Are you sure you would like to remove this address?",actionCancel:"Cancel",actionConfirm:"Remove"}},OrdersList:{containerTitle:"Recent orders",viewAllOrdersButton:"View all orders",ariaLabelLink:"Redirect to full order information",dateOrderPlaced:"Date order placed",OrdersListCard:{orderNumber:"Order number:",itemsAmount:"items",carrier:"Carrier:",returns:"Return(s):",orderDate:"Placed on"},OrdersListSelectDate:{pastSixMonths:"Past 6 months",currentYear:"Current year",viewAll:"View all"}},EmptyList:{Addresses:{message:"No saved addresses"},OrdersList:{message:"No orders"}}},fullSizeView:{Addresses:{containerTitle:"Addresses",editAddressFormTitle:"Edit address",differentAddressFormTitle:"Deliver to new address",newAddressFormTitle:"Add address",addNewAddressButton:"Create new",differentAddressButton:"Use a different address",addressCard:{actionRemove:"Remove",actionEdit:"Edit",cardLabelShipping:"Shipping",cardLabelBilling:"Billing",defaultLabelText:"DEFAULT"},removeAddressModal:{title:"Remove address",description:"Are you sure you would like to remove this address?",actionCancel:"Cancel",actionConfirm:"Remove"}},OrdersList:{containerTitle:"Your orders",ariaLabelLink:"Redirect to full order information",dateOrderPlaced:"Date order placed",OrdersListCard:{orderNumber:"Order number:",itemsAmount:"items",carrier:"Carrier:",returns:"Return(s):",orderDate:"Placed on"},OrdersListSelectDate:{pastSixMonths:"Past 6 months",currentYear:"Current year",viewAll:"View all"}},EmptyList:{Addresses:{message:"No saved addresses"},OrdersList:{message:"No orders"}}},AddressForm:{formText:{secondaryButton:"Cancel",primaryButton:"Save",defaultShippingLabel:"Set as default shipping address",defaultBillingLabel:"Set as default billing address",saveAddressBook:"Save in address book"}},FormText:{requiredFieldError:"This is a required field.",numericError:"Only numeric values are allowed.",alphaNumWithSpacesError:"Only alphanumeric characters and spaces are allowed.",alphaNumericError:"Only alphanumeric characters are allowed.",alphaError:"Only alphabetic characters are allowed.",emailError:"Please enter a valid email address.",dateError:"Please enter a valid date.",dateLengthError:"Date must be between {min} and {max}.",urlError:"Please enter a valid URL, e.g., http://www.adobe.com.",lengthTextError:"Text length must be between {min} and {max} characters."}},u={Account:m},w={default:u},p=({children:a})=>{const[s,t]=n("en_US");return i(()=>{const e=c.on("locale",d=>{t(d)},{eager:!0});return()=>{e==null||e.off()}},[]),r(l,{lang:s,langDefinitions:w,children:a})},L=new o(r(p,{}));export{L as render};
@@ -1,9 +1,9 @@
1
1
  import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
- import { AttributesFormModel, Country } from '../data/models';
2
+ import { CustomerAddressesModel } from '../data/models';
3
3
 
4
4
  interface AddressFormActionsContext {
5
- handleUpdateAddress?: (event: Event, valid: boolean) => void;
6
- handleCreateAddress?: (event: Event, valid: boolean) => void;
5
+ handleUpdateAddress?: (event: Event, valid: boolean) => Promise<void | null | undefined>;
6
+ handleCreateAddress?: (event: Event, valid: boolean) => Promise<void | null | undefined>;
7
7
  addressId: string | number;
8
8
  }
9
9
  interface AddressFormInputsContext {
@@ -12,10 +12,16 @@ interface AddressFormInputsContext {
12
12
  };
13
13
  }
14
14
  export interface AddressFormProps {
15
+ hideActionFormButtons?: boolean;
16
+ formName?: string;
17
+ showFormLoader?: boolean;
18
+ showSaveCheckBox?: boolean;
19
+ saveCheckBoxValue?: boolean;
20
+ forwardFormRef?: HTMLInputElement;
15
21
  addressFormId?: string;
16
22
  className?: string;
17
23
  addressesFormTitle?: string;
18
- inputsDefaultValueSet?: AttributesFormModel;
24
+ inputsDefaultValueSet?: CustomerAddressesModel;
19
25
  shippingCheckBoxValue?: boolean;
20
26
  billingCheckBoxValue?: boolean;
21
27
  showShippingCheckBox?: boolean;
@@ -34,8 +40,7 @@ export interface AddressFormProps {
34
40
  }
35
41
  export interface AddressFormWrapperProps extends AddressFormProps {
36
42
  }
37
- export interface useAddressFormProps extends Omit<AddressFormProps, 'className' | 'addressesFormTitle' | 'handleCloseForm'> {
38
- countryRegionOptions: Record<string, Country[]>;
43
+ export interface useAddressFormProps extends Omit<AddressFormProps, 'className' | 'addressesFormTitle' | 'handleCloseForm' | 'forwardFormRef' | 'hideActionFormButtons'> {
39
44
  }
40
45
  export {};
41
46
  //# sourceMappingURL=addressForm.types.d.ts.map
@@ -1,16 +1,40 @@
1
1
  import { HTMLAttributes } from 'preact/compat';
2
- import { AttributesFormModel, CustomerAddressesModel } from '../data/models';
2
+ import { CustomerAddressesModel } from '../data/models';
3
3
  import { FieldsProps } from './form.types';
4
+ import { SlotProps } from '@dropins/tools/types/elsie/src/src/lib';
4
5
 
5
6
  export interface DefaultCheckBox extends Omit<FieldsProps, 'options'> {
6
7
  }
8
+ export interface AddressCardContext {
9
+ addressData: {
10
+ label?: string | null;
11
+ name?: string;
12
+ orderNumber?: number;
13
+ value?: string;
14
+ }[];
15
+ }
7
16
  export interface AddressesProps {
17
+ hideActionFormButtons?: boolean;
18
+ formName?: string;
19
+ slots?: {
20
+ [key: string]: SlotProps;
21
+ };
22
+ title?: string;
23
+ addressFormTitle?: string;
24
+ defaultSelectAddressId?: number | string;
25
+ showFormLoader?: boolean;
26
+ forwardFormRef?: HTMLInputElement;
27
+ selectShipping?: boolean;
28
+ selectBilling?: boolean;
29
+ showSaveCheckBox?: boolean;
30
+ saveCheckBoxValue?: boolean;
31
+ selectable?: boolean;
8
32
  className?: string;
9
33
  withHeader?: boolean;
10
34
  minifiedView: boolean;
11
35
  withActionsInMinifiedView?: boolean;
12
36
  withActionsInFullSizeView?: boolean;
13
- inputsDefaultValueSet?: AttributesFormModel;
37
+ inputsDefaultValueSet?: CustomerAddressesModel;
14
38
  addressesFormTitle?: string;
15
39
  showShippingCheckBox?: boolean;
16
40
  showBillingCheckBox?: boolean;
@@ -19,17 +43,26 @@ export interface AddressesProps {
19
43
  routeAddressesPage?: () => string;
20
44
  onSuccess?: () => void;
21
45
  onError?: (error: string) => void;
46
+ onSubmit?: () => Promise<void>;
47
+ onAddressData?: (values: {} | CustomerAddressesModel | undefined) => void;
22
48
  }
23
49
  export interface AddressesWrapperProps extends AddressesProps {
24
50
  }
25
- export interface useAddressesProps extends Omit<AddressesProps, 'className' | 'inputsDefaultValueSet' | 'addressesFormTitle' | 'shippingCheckBoxValue' | 'billingCheckBoxValue'> {
51
+ export interface useAddressesProps extends Omit<AddressesProps, 'className' | 'inputsDefaultValueSet' | 'addressesFormTitle' | 'shippingCheckBoxValue' | 'billingCheckBoxValue' | 'showFormLoader' | 'title' | 'slots' | 'formName' | 'hideActionFormButtons'> {
26
52
  }
27
53
  export interface KeysSortOrderProps {
28
- name?: string;
54
+ name: string;
29
55
  orderNumber?: number;
30
56
  label?: string | null;
31
57
  }
32
58
  export interface AddressCardProps {
59
+ slots?: {
60
+ [key: string]: SlotProps;
61
+ };
62
+ selectShipping?: boolean;
63
+ selectBilling?: boolean;
64
+ selectable?: boolean;
65
+ variant?: 'secondary' | 'primary';
33
66
  minifiedView: boolean;
34
67
  addressData: CustomerAddressesModel | undefined;
35
68
  keysSortOrder?: KeysSortOrderProps[];
@@ -39,10 +72,11 @@ export interface AddressCardProps {
39
72
  handleRenderForm?: () => void | undefined;
40
73
  }
41
74
  export interface AddressActionsProps extends HTMLAttributes<HTMLButtonElement> {
42
- minifiedView: boolean;
43
- addNewAddress: boolean;
75
+ selectable?: boolean;
76
+ minifiedView?: boolean;
77
+ addNewAddress?: boolean;
44
78
  viewAllAddressesText?: string;
45
- routeAddressesPage: () => void;
79
+ routeAddressesPage: (event: Event) => void;
46
80
  }
47
81
  export interface AddressModalProps {
48
82
  minifiedView: boolean;
@@ -1,5 +1,9 @@
1
1
  export interface CountriesFormResponse {
2
2
  data: {
3
+ storeConfig: {
4
+ countries_with_required_region: string;
5
+ optional_zip_countries: string;
6
+ };
3
7
  countries: {
4
8
  two_letter_abbreviation: string;
5
9
  full_name_locale: string;
@@ -1,9 +1,19 @@
1
1
  export interface getCustomerShortResponse {
2
2
  data: {
3
3
  customer: {
4
+ custom_attributes: {
5
+ code: string;
6
+ value: string | number | boolean;
7
+ }[];
4
8
  firstname: string;
5
9
  lastname: string;
6
10
  email: string;
11
+ date_of_birth: string;
12
+ gender: 1 | 2;
13
+ middlename: string;
14
+ prefix: string;
15
+ suffix: string;
16
+ created_at: string;
7
17
  };
8
18
  };
9
19
  errors?: {
@@ -4,6 +4,10 @@ export type RegionProps = {
4
4
  region_id: string | number;
5
5
  };
6
6
  export interface UserAddressesProps {
7
+ middlename: string;
8
+ fax: string;
9
+ prefix: string;
10
+ suffix: string;
7
11
  firstname: string;
8
12
  lastname: string;
9
13
  city: string;
@@ -15,7 +19,7 @@ export interface UserAddressesProps {
15
19
  vat_id: string;
16
20
  postcode: string;
17
21
  street: string | string[] | [];
18
- street_2?: string;
22
+ street_multiline_2?: string;
19
23
  default_shipping: boolean;
20
24
  default_billing: boolean;
21
25
  custom_attributesV2: {
@@ -9,6 +9,11 @@ export interface ProductProps {
9
9
  };
10
10
  }
11
11
  export interface OrderItemProps {
12
+ quantity_ordered?: number;
13
+ quantity_shipped?: number;
14
+ quantity_invoiced?: number;
15
+ url_key: string;
16
+ sku: string;
12
17
  status: string;
13
18
  product_name: string;
14
19
  id: string;
@@ -46,6 +51,7 @@ export interface OrderProps {
46
51
  order_date: string;
47
52
  carrier: string;
48
53
  items: OrderItemProps[];
54
+ returns?: ReturnProps[];
49
55
  total: TotalProps;
50
56
  status: string;
51
57
  id: string;
@@ -61,10 +67,21 @@ export interface OrdersProps {
61
67
  items: OrderProps[];
62
68
  date_of_first_order: string;
63
69
  }
70
+ export interface ReturnsProps {
71
+ items: ReturnProps[];
72
+ }
73
+ export interface ReturnProps {
74
+ uid: string;
75
+ number: string;
76
+ order: {
77
+ id: string;
78
+ };
79
+ }
64
80
  export interface OrderHistoryListResponse {
65
81
  data: {
66
82
  customer?: {
67
83
  orders: OrdersProps;
84
+ returns: ReturnsProps;
68
85
  };
69
86
  };
70
87
  errors?: {
@@ -0,0 +1,14 @@
1
+ export interface StoreConfigProps {
2
+ base_media_url: string;
3
+ minimum_password_length: number;
4
+ required_character_classes_number: string;
5
+ }
6
+ export interface GetStoreConfigResponse {
7
+ data: {
8
+ storeConfig: StoreConfigProps;
9
+ };
10
+ errors?: {
11
+ message: string;
12
+ }[];
13
+ }
14
+ //# sourceMappingURL=storeConfig.types.d.ts.map
@@ -0,0 +1,15 @@
1
+ export interface ChangeCustomerPasswordProps {
2
+ currentPassword: string;
3
+ newPassword: string;
4
+ }
5
+ export interface ChangeCustomerPasswordResponse {
6
+ data: {
7
+ changeCustomerPassword: {
8
+ email: string;
9
+ };
10
+ };
11
+ errors?: {
12
+ message: string;
13
+ }[];
14
+ }
15
+ //# sourceMappingURL=updateCustomerPassword.types.d.ts.map
@@ -0,0 +1,61 @@
1
+ import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
+ import { AttributesFormModel } from '../data/models';
3
+ import { InLineAlertProps } from './notification.types';
4
+ import { KeysSortOrderProps } from './addresses.types';
5
+
6
+ type PasswordConfigsProps = {
7
+ minLength: number;
8
+ requiredCharacterClasses: number;
9
+ } | null;
10
+ export type CustomerDataProps = KeysSortOrderProps & {
11
+ value: string | number | boolean;
12
+ };
13
+ export interface CustomerDataContext {
14
+ customerData: CustomerDataProps[];
15
+ }
16
+ export interface CustomerInformationProps {
17
+ className: string;
18
+ withHeader: boolean;
19
+ slots?: {
20
+ CustomerData?: SlotProps<CustomerDataContext>;
21
+ };
22
+ }
23
+ export interface ChangePasswordProps {
24
+ inLineAlertProps: InLineAlertProps;
25
+ handleHideChangePassword: (clearState?: () => void) => void;
26
+ handleSetInLineAlert: (value?: InLineAlertProps) => void;
27
+ }
28
+ export interface CustomerInformationCardProps {
29
+ createdAt: string;
30
+ orderedCustomerData: CustomerDataProps[];
31
+ slots?: {
32
+ CustomerData?: SlotProps<CustomerDataContext>;
33
+ };
34
+ showChangePassword: boolean;
35
+ showEditForm: boolean;
36
+ handleShowChangePassword: () => void;
37
+ handleShowEditForm: () => void;
38
+ }
39
+ export interface EditCustomerInformationProps {
40
+ inLineAlertProps: InLineAlertProps;
41
+ errorPasswordEmpty: boolean;
42
+ passwordValue: string;
43
+ showPasswordOnEmailChange: boolean;
44
+ formFieldsList: AttributesFormModel[] | [];
45
+ submitLoading: boolean;
46
+ handleUpdateCustomerInformation: (event: SubmitEvent, isValid: boolean) => Promise<void | null | undefined>;
47
+ handleHideEditForm: (clearState?: () => void) => void;
48
+ handleInputChange: (value: Record<string, string | number | boolean>) => void;
49
+ handleSetPassword: (value: string) => void;
50
+ handleOnBlurPassword: (event: Event) => void;
51
+ }
52
+ export interface UseCustomerInformationProps {
53
+ handleSetInLineAlert: (value?: InLineAlertProps) => void;
54
+ }
55
+ export interface UseChangePasswordProps {
56
+ passwordConfigs: PasswordConfigsProps;
57
+ handleSetInLineAlert: (value?: InLineAlertProps) => void;
58
+ handleHideChangePassword: (clearState?: () => void) => void;
59
+ }
60
+ export {};
61
+ //# sourceMappingURL=customerInformation.types.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { SlotProps } from '@dropins/tools/types/elsie/src/src/lib';
2
- import { AttributesFormModel, Country, FieldEnumList } from '../data/models';
2
+ import { AttributesFormModel, Country, FieldEnumList, RegionTransform } from '../data/models';
3
3
 
4
4
  export interface FieldsProps extends Omit<AttributesFormModel, 'options'> {
5
5
  className?: string;
@@ -12,20 +12,32 @@ interface AddressFormInputsContext {
12
12
  handleChange: (event: Event) => void;
13
13
  };
14
14
  }
15
+ export type FormRef = {
16
+ handleValidationSubmit: () => boolean;
17
+ isDataValid: boolean;
18
+ };
15
19
  export interface FormProps {
16
- fieldsConfig: FieldsProps[] | [];
20
+ isWaitingForResponse?: boolean;
21
+ showSaveCheckBox?: boolean;
22
+ saveCheckBoxAddress?: boolean;
23
+ handleSaveCheckBoxAddress?: (event: Event) => void;
24
+ regionOptions?: RegionTransform[] | [];
25
+ slots?: {
26
+ AddressFormInputs?: SlotProps<AddressFormInputsContext>;
27
+ };
28
+ forwardFormRef?: HTMLInputElement | any;
29
+ fieldsConfig?: FieldsProps[] | [];
17
30
  name?: string;
18
31
  className?: string;
19
32
  children?: any;
20
33
  loading?: boolean;
34
+ showFormLoader?: boolean;
21
35
  onSubmit?: (event: SubmitEvent, isValid: boolean) => Promise<void | null | undefined>;
22
- handleSetCountryCode: (value: string) => void;
23
- slots?: {
24
- AddressFormInputs?: SlotProps<AddressFormInputsContext>;
25
- };
26
- onChange?: (values: Record<string, FormDataEntryValue>, inputValue: Record<string, string>, event: Event) => void;
36
+ onChange?: (values: Record<string, unknown>, inputValue: Record<string, string>, event: Event) => void;
37
+ setInputChange?: (values: Record<string, string | number | boolean>) => void;
27
38
  }
28
- export interface useFormProps extends Omit<FormProps, 'children' | 'className' | 'name'> {
39
+ export interface useFormProps extends Omit<FormProps, 'children' | 'className' | 'name' | 'forwardFormRef' | 'showSaveCheckBox' | 'saveCheckBoxAddress' | 'handleSaveCheckBoxAddress'> {
40
+ formName: string;
29
41
  }
30
42
  export interface FormInputsProps {
31
43
  className?: string;
@@ -35,6 +47,10 @@ export interface FormInputsProps {
35
47
  loading?: boolean;
36
48
  onChange?: (event: Event) => void;
37
49
  onBlur?: (event: Event) => void;
50
+ onFocus?: (event: Event) => void;
51
+ slots?: {
52
+ [key: string]: SlotProps;
53
+ };
38
54
  }
39
55
  export {};
40
56
  //# sourceMappingURL=form.types.d.ts.map
package/types/index.d.ts CHANGED
@@ -10,7 +10,10 @@ export * from './api/updateCustomerAddress.types';
10
10
  export * from './api/getCustomer.types';
11
11
  export * from './api/removeCustomerAddress.types';
12
12
  export * from './api/getOrderHistoryList.types';
13
+ export * from './api/updateCustomerPassword.types';
14
+ export * from './api/storeConfig.types';
13
15
  export * from './ordersList.types';
14
- export * from './translations.types';
15
16
  export * from './emptyList.types';
17
+ export * from './customerInformation.types';
18
+ export * from './notification.types';
16
19
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { VNode } from 'preact';
2
+ import { HTMLAttributes } from 'preact/compat';
3
+
4
+ export type AdditionalActionsAlertProps = Array<{
5
+ label: string;
6
+ onClick: (event: Event) => void;
7
+ }>;
8
+ export interface InLineAlertProps {
9
+ type?: 'success' | 'warning' | 'error';
10
+ text?: string;
11
+ icon?: VNode<HTMLAttributes<SVGSVGElement>>;
12
+ }
13
+ export type statusTypes = '' | 'success' | 'error' | 'pending';
14
+ export interface ValidateLengthConfigProps {
15
+ status?: statusTypes;
16
+ icon?: statusTypes;
17
+ message?: string;
18
+ }
19
+ //# sourceMappingURL=notification.types.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
2
  import { HTMLAttributes } from 'preact/compat';
3
- import { OrderDetails } from '../data/models';
3
+ import { OrderDetails, OrderItem, ShipmentsTracingModel } from '../data/models';
4
4
 
5
5
  export interface OrdersListActionContext {
6
6
  orderHistoryListItem: OrderDetails;
@@ -18,19 +18,34 @@ export interface OrdersListProps extends HTMLAttributes<HTMLDivElement> {
18
18
  };
19
19
  routeOrdersList?: () => string;
20
20
  routeOrderDetails?: () => string;
21
+ routeReturnDetails?: (params: {
22
+ orderNumber: string;
23
+ orderToken: string;
24
+ returnNumber: string;
25
+ }) => string;
21
26
  withFilter?: boolean;
22
27
  ordersInMinifiedView?: 1 | 2 | 3;
23
28
  pageSize: number;
29
+ routeTracking?: (shipping: ShipmentsTracingModel) => string;
30
+ routeOrderProduct?: (product: OrderItem) => string;
24
31
  }
25
32
  export interface OrdersListWrapperProps extends OrdersListProps {
26
33
  }
27
34
  export interface OrdersListCardProps extends HTMLAttributes<HTMLDivElement> {
35
+ placeholderImage: string;
28
36
  minifiedView: boolean;
29
37
  item: OrderDetails;
30
38
  withThumbnails: boolean;
31
39
  slots?: {
32
40
  OrdersListCard?: SlotProps<OrdersListCardContext>;
33
41
  };
42
+ routeTracking?: (shipping: ShipmentsTracingModel) => string;
43
+ routeOrderProduct?: (product: OrderItem) => string;
44
+ routeReturnDetails?: (params: {
45
+ orderNumber: string;
46
+ orderToken: string;
47
+ returnNumber: string;
48
+ }) => string;
34
49
  }
35
50
  export interface OrdersListActionProps {
36
51
  minifiedView: boolean;
@@ -39,7 +54,8 @@ export interface OrdersListActionProps {
39
54
  routeOrdersList?: () => string;
40
55
  routeOrderDetails?: (orderNumber?: string, orderToken?: string) => string;
41
56
  }
42
- export interface useOrdersListProps {
57
+ export interface UseOrdersListProps {
58
+ selectedPage: number;
43
59
  minifiedView?: boolean;
44
60
  pageSize: number;
45
61
  ordersInMinifiedView: number;