@vtex/faststore 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/LICENSE +21 -0
- package/README.md +95 -0
- package/dist/actions.json +334 -0
- package/dist/catalog.json +6615 -0
- package/dist/client.d.ts +17 -0
- package/dist/client.js +8 -0
- package/dist/components.d.ts +87 -0
- package/dist/components.js +87 -0
- package/dist/content-types.json +684 -0
- package/dist/core/dist/actions/mock-action.d.ts +24 -0
- package/dist/core/dist/actions/mock-action.js +28 -0
- package/dist/core/dist/actions/mock-action.js.map +1 -0
- package/dist/core/dist/actions/registry.d.ts +24 -0
- package/dist/core/dist/actions/registry.js +28 -0
- package/dist/core/dist/actions/registry.js.map +1 -0
- package/dist/core/dist/define-component.d.ts +100 -0
- package/dist/core/dist/define-component.js +8 -0
- package/dist/core/dist/define-component.js.map +1 -0
- package/dist/core/dist/define-content-type.d.ts +95 -0
- package/dist/core/dist/define-content-type.js +283 -0
- package/dist/core/dist/define-content-type.js.map +1 -0
- package/dist/core/dist/index.d.ts +7 -0
- package/dist/core/dist/index.js +5 -0
- package/dist/core/dist/schema/generated/schema.d.ts +28 -0
- package/dist/core/dist/types.d.ts +1 -0
- package/dist/docs/access-code-field.md +100 -0
- package/dist/docs/access-code-sign-in.md +174 -0
- package/dist/docs/account-entry-point.md +155 -0
- package/dist/docs/address-summary.md +50 -0
- package/dist/docs/buy-button.md +162 -0
- package/dist/docs/carousel.md +105 -0
- package/dist/docs/cart-item.md +162 -0
- package/dist/docs/cart-totalizer.md +197 -0
- package/dist/docs/cart.md +495 -0
- package/dist/docs/client-preferences.md +184 -0
- package/dist/docs/client-profile-form.md +192 -0
- package/dist/docs/client-profile.md +117 -0
- package/dist/docs/container.md +97 -0
- package/dist/docs/document-field.md +97 -0
- package/dist/docs/email-field.md +93 -0
- package/dist/docs/email-identification.md +102 -0
- package/dist/docs/footer-copyright.md +112 -0
- package/dist/docs/footer-link-group.md +162 -0
- package/dist/docs/footer-root.md +145 -0
- package/dist/docs/footer-social.md +151 -0
- package/dist/docs/free-shipping-progress.md +87 -0
- package/dist/docs/gallery.md +84 -0
- package/dist/docs/header-root.md +150 -0
- package/dist/docs/identity-edit.md +88 -0
- package/dist/docs/identity-summary.md +106 -0
- package/dist/docs/incentives.md +151 -0
- package/dist/docs/logo.md +135 -0
- package/dist/docs/meter.md +67 -0
- package/dist/docs/navigation-link-list.md +171 -0
- package/dist/docs/navigation-link.md +163 -0
- package/dist/docs/navigation-menu.md +264 -0
- package/dist/docs/payment-methods.md +139 -0
- package/dist/docs/phone-field.md +106 -0
- package/dist/docs/postal-code-field.md +126 -0
- package/dist/docs/pricing.md +499 -0
- package/dist/docs/product-gallery.md +409 -0
- package/dist/docs/product-information.md +295 -0
- package/dist/docs/product-list.md +170 -0
- package/dist/docs/product-quantity.md +88 -0
- package/dist/docs/product-shelf.md +141 -0
- package/dist/docs/promotion.md +109 -0
- package/dist/docs/region.md +225 -0
- package/dist/docs/session.md +123 -0
- package/dist/docs/shipping-address.md +390 -0
- package/dist/docs/shipping-simulator.md +147 -0
- package/dist/docs/sign-in-form.md +117 -0
- package/dist/docs/tabs.md +176 -0
- package/dist/docs/toast.md +124 -0
- package/dist/docs/variant-selector.md +450 -0
- package/dist/graphql/define-subgraph.d.ts +12 -0
- package/dist/graphql/define-subgraph.js +15 -0
- package/dist/graphql/define-subgraph.js.map +1 -0
- package/dist/graphql/gql.d.ts +10 -0
- package/dist/graphql/gql.js +16 -0
- package/dist/graphql/gql.js.map +1 -0
- package/dist/graphql/types.d.ts +88 -0
- package/dist/graphql.d.ts +4 -0
- package/dist/graphql.js +3 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +5 -0
- package/dist/internal/client.d.ts +24 -0
- package/dist/internal/client.js +23 -0
- package/dist/internal/content.d.ts +2 -0
- package/dist/internal/content.js +2 -0
- package/dist/internal/server.d.ts +7 -0
- package/dist/internal/server.js +6 -0
- package/dist/matter/access-code-sign-in/access-code-sign-in.d.ts +111 -0
- package/dist/matter/access-code-sign-in/access-code-sign-in.js +387 -0
- package/dist/matter/access-code-sign-in/access-code-sign-in.js.map +1 -0
- package/dist/matter/account-entry-point/account-entry-point.d.ts +64 -0
- package/dist/matter/account-entry-point/account-entry-point.js +151 -0
- package/dist/matter/account-entry-point/account-entry-point.js.map +1 -0
- package/dist/matter/breadcrumb/breadcrumb.d.ts +40 -0
- package/dist/matter/breadcrumb/breadcrumb.js +155 -0
- package/dist/matter/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/matter/buy-button/buy-button.d.ts +95 -0
- package/dist/matter/buy-button/buy-button.js +259 -0
- package/dist/matter/buy-button/buy-button.js.map +1 -0
- package/dist/matter/cart/cart-namespace.d.ts +48 -0
- package/dist/matter/cart/cart-namespace.js +50 -0
- package/dist/matter/cart/cart-namespace.js.map +1 -0
- package/dist/matter/cart/cart.d.ts +312 -0
- package/dist/matter/cart/cart.js +1034 -0
- package/dist/matter/cart/cart.js.map +1 -0
- package/dist/matter/cart-item/cart-item.d.ts +103 -0
- package/dist/matter/cart-item/cart-item.js +672 -0
- package/dist/matter/cart-item/cart-item.js.map +1 -0
- package/dist/matter/cart-item-compositions/cart-item-compositions.d.ts +49 -0
- package/dist/matter/cart-item-compositions/cart-item-compositions.js +165 -0
- package/dist/matter/cart-item-compositions/cart-item-compositions.js.map +1 -0
- package/dist/matter/cart-item-customizations/cart-item-customizations.d.ts +28 -0
- package/dist/matter/cart-item-customizations/cart-item-customizations.js +73 -0
- package/dist/matter/cart-item-customizations/cart-item-customizations.js.map +1 -0
- package/dist/matter/cart-item-discounts/cart-item-discounts.d.ts +33 -0
- package/dist/matter/cart-item-discounts/cart-item-discounts.js +70 -0
- package/dist/matter/cart-item-discounts/cart-item-discounts.js.map +1 -0
- package/dist/matter/cart-item-seller-info/cart-item-seller-info.d.ts +24 -0
- package/dist/matter/cart-item-seller-info/cart-item-seller-info.js +54 -0
- package/dist/matter/cart-item-seller-info/cart-item-seller-info.js.map +1 -0
- package/dist/matter/cart-item-variations/cart-item-variations.d.ts +27 -0
- package/dist/matter/cart-item-variations/cart-item-variations.js +69 -0
- package/dist/matter/cart-item-variations/cart-item-variations.js.map +1 -0
- package/dist/matter/cart-totalizer/cart-totalizer.d.ts +78 -0
- package/dist/matter/cart-totalizer/cart-totalizer.js +220 -0
- package/dist/matter/cart-totalizer/cart-totalizer.js.map +1 -0
- package/dist/matter/client-preferences/client-preferences.d.ts +50 -0
- package/dist/matter/client-preferences/client-preferences.js +206 -0
- package/dist/matter/client-preferences/client-preferences.js.map +1 -0
- package/dist/matter/client-profile/client-profile.d.ts +59 -0
- package/dist/matter/client-profile/client-profile.js +185 -0
- package/dist/matter/client-profile/client-profile.js.map +1 -0
- package/dist/matter/client-profile-form/client-profile-form.d.ts +126 -0
- package/dist/matter/client-profile-form/client-profile-form.js +660 -0
- package/dist/matter/client-profile-form/client-profile-form.js.map +1 -0
- package/dist/matter/delivery-options/delivery-options-accordion.d.ts +30 -0
- package/dist/matter/delivery-options/delivery-options-accordion.js +189 -0
- package/dist/matter/delivery-options/delivery-options-accordion.js.map +1 -0
- package/dist/matter/delivery-options/delivery-options-controller.d.ts +49 -0
- package/dist/matter/delivery-options/delivery-options-controller.js +203 -0
- package/dist/matter/delivery-options/delivery-options-controller.js.map +1 -0
- package/dist/matter/delivery-options/delivery-options.d.ts +31 -0
- package/dist/matter/delivery-options/delivery-options.js +103 -0
- package/dist/matter/delivery-options/delivery-options.js.map +1 -0
- package/dist/matter/delivery-options/use-delivery-option-selection.d.ts +9 -0
- package/dist/matter/delivery-options/use-delivery-option-selection.js +76 -0
- package/dist/matter/delivery-options/use-delivery-option-selection.js.map +1 -0
- package/dist/matter/email-identification/email-identification.d.ts +37 -0
- package/dist/matter/email-identification/email-identification.js +111 -0
- package/dist/matter/email-identification/email-identification.js.map +1 -0
- package/dist/matter/free-shipping-progress/free-shipping-progress.d.ts +44 -0
- package/dist/matter/free-shipping-progress/free-shipping-progress.js +170 -0
- package/dist/matter/free-shipping-progress/free-shipping-progress.js.map +1 -0
- package/dist/matter/identity-edit/identity-edit.d.ts +52 -0
- package/dist/matter/identity-edit/identity-edit.js +148 -0
- package/dist/matter/identity-edit/identity-edit.js.map +1 -0
- package/dist/matter/identity-summary/identity-summary.d.ts +128 -0
- package/dist/matter/identity-summary/identity-summary.js +344 -0
- package/dist/matter/identity-summary/identity-summary.js.map +1 -0
- package/dist/matter/pricing/pricing.d.ts +162 -0
- package/dist/matter/pricing/pricing.js +793 -0
- package/dist/matter/pricing/pricing.js.map +1 -0
- package/dist/matter/product-gallery/product-gallery.d.ts +23 -0
- package/dist/matter/product-gallery/product-gallery.js +188 -0
- package/dist/matter/product-gallery/product-gallery.js.map +1 -0
- package/dist/matter/product-information/product-information.d.ts +61 -0
- package/dist/matter/product-information/product-information.js +355 -0
- package/dist/matter/product-information/product-information.js.map +1 -0
- package/dist/matter/product-list/product-list.d.ts +86 -0
- package/dist/matter/product-list/product-list.js +342 -0
- package/dist/matter/product-list/product-list.js.map +1 -0
- package/dist/matter/product-quantity/product-quantity.d.ts +50 -0
- package/dist/matter/product-quantity/product-quantity.js +111 -0
- package/dist/matter/product-quantity/product-quantity.js.map +1 -0
- package/dist/matter/product-shelf/product-shelf.d.ts +125 -0
- package/dist/matter/product-shelf/product-shelf.js +376 -0
- package/dist/matter/product-shelf/product-shelf.js.map +1 -0
- package/dist/matter/region/region.d.ts +211 -0
- package/dist/matter/region/region.js +579 -0
- package/dist/matter/region/region.js.map +1 -0
- package/dist/matter/session/session.d.ts +58 -0
- package/dist/matter/session/session.js +112 -0
- package/dist/matter/session/session.js.map +1 -0
- package/dist/matter/shipping-address/country-descriptors.js +101 -0
- package/dist/matter/shipping-address/country-descriptors.js.map +1 -0
- package/dist/matter/shipping-address/shipping-address.d.ts +284 -0
- package/dist/matter/shipping-address/shipping-address.js +1036 -0
- package/dist/matter/shipping-address/shipping-address.js.map +1 -0
- package/dist/matter/shipping-simulator/shipping-simulator.d.ts +143 -0
- package/dist/matter/shipping-simulator/shipping-simulator.js +644 -0
- package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -0
- package/dist/matter/sign-in-form/sign-in-form.d.ts +79 -0
- package/dist/matter/sign-in-form/sign-in-form.js +226 -0
- package/dist/matter/sign-in-form/sign-in-form.js.map +1 -0
- package/dist/matter/variant-selector/variant-selector.d.ts +183 -0
- package/dist/matter/variant-selector/variant-selector.js +840 -0
- package/dist/matter/variant-selector/variant-selector.js.map +1 -0
- package/dist/message-locales.json +7 -0
- package/dist/particles/access-code-field/access-code-field.d.ts +33 -0
- package/dist/particles/access-code-field/access-code-field.js +95 -0
- package/dist/particles/access-code-field/access-code-field.js.map +1 -0
- package/dist/particles/accordion/accordion.d.ts +45 -0
- package/dist/particles/accordion/accordion.js +156 -0
- package/dist/particles/accordion/accordion.js.map +1 -0
- package/dist/particles/address-summary/address-summary.d.ts +50 -0
- package/dist/particles/address-summary/address-summary.js +129 -0
- package/dist/particles/address-summary/address-summary.js.map +1 -0
- package/dist/particles/badge/badge.d.ts +10 -0
- package/dist/particles/badge/badge.js +27 -0
- package/dist/particles/badge/badge.js.map +1 -0
- package/dist/particles/button/button.d.ts +18 -0
- package/dist/particles/button/button.js +37 -0
- package/dist/particles/button/button.js.map +1 -0
- package/dist/particles/carousel/carousel.d.ts +60 -0
- package/dist/particles/carousel/carousel.js +335 -0
- package/dist/particles/carousel/carousel.js.map +1 -0
- package/dist/particles/checkbox/checkbox.d.ts +40 -0
- package/dist/particles/checkbox/checkbox.js +82 -0
- package/dist/particles/checkbox/checkbox.js.map +1 -0
- package/dist/particles/container/container.d.ts +20 -0
- package/dist/particles/container/container.js +36 -0
- package/dist/particles/container/container.js.map +1 -0
- package/dist/particles/dialog/dialog.d.ts +54 -0
- package/dist/particles/dialog/dialog.js +192 -0
- package/dist/particles/dialog/dialog.js.map +1 -0
- package/dist/particles/document-field/document-field.d.ts +61 -0
- package/dist/particles/document-field/document-field.js +146 -0
- package/dist/particles/document-field/document-field.js.map +1 -0
- package/dist/particles/drawer/drawer.d.ts +52 -0
- package/dist/particles/drawer/drawer.js +183 -0
- package/dist/particles/drawer/drawer.js.map +1 -0
- package/dist/particles/email-field/email-field.d.ts +37 -0
- package/dist/particles/email-field/email-field.js +106 -0
- package/dist/particles/email-field/email-field.js.map +1 -0
- package/dist/particles/field/field.d.ts +50 -0
- package/dist/particles/field/field.js +133 -0
- package/dist/particles/field/field.js.map +1 -0
- package/dist/particles/fieldset/fieldset.d.ts +16 -0
- package/dist/particles/fieldset/fieldset.js +52 -0
- package/dist/particles/fieldset/fieldset.js.map +1 -0
- package/dist/particles/footer-copyright/footer-copyright.d.ts +32 -0
- package/dist/particles/footer-copyright/footer-copyright.js +50 -0
- package/dist/particles/footer-copyright/footer-copyright.js.map +1 -0
- package/dist/particles/footer-link-group/footer-link-group.d.ts +66 -0
- package/dist/particles/footer-link-group/footer-link-group.js +154 -0
- package/dist/particles/footer-link-group/footer-link-group.js.map +1 -0
- package/dist/particles/footer-root/footer-root.d.ts +21 -0
- package/dist/particles/footer-root/footer-root.js +38 -0
- package/dist/particles/footer-root/footer-root.js.map +1 -0
- package/dist/particles/footer-social/footer-social.d.ts +79 -0
- package/dist/particles/footer-social/footer-social.js +176 -0
- package/dist/particles/footer-social/footer-social.js.map +1 -0
- package/dist/particles/gallery/gallery.d.ts +181 -0
- package/dist/particles/gallery/gallery.js +920 -0
- package/dist/particles/gallery/gallery.js.map +1 -0
- package/dist/particles/header-root/header-root.d.ts +21 -0
- package/dist/particles/header-root/header-root.js +38 -0
- package/dist/particles/header-root/header-root.js.map +1 -0
- package/dist/particles/icon/icon.d.ts +22 -0
- package/dist/particles/icon/icon.js +48 -0
- package/dist/particles/icon/icon.js.map +1 -0
- package/dist/particles/image/image.d.ts +13 -0
- package/dist/particles/image/image.js +59 -0
- package/dist/particles/image/image.js.map +1 -0
- package/dist/particles/incentives/incentives.d.ts +85 -0
- package/dist/particles/incentives/incentives.js +200 -0
- package/dist/particles/incentives/incentives.js.map +1 -0
- package/dist/particles/input/input.d.ts +9 -0
- package/dist/particles/input/input.js +28 -0
- package/dist/particles/input/input.js.map +1 -0
- package/dist/particles/logo/logo.d.ts +55 -0
- package/dist/particles/logo/logo.js +96 -0
- package/dist/particles/logo/logo.js.map +1 -0
- package/dist/particles/menu/menu.d.ts +103 -0
- package/dist/particles/menu/menu.js +409 -0
- package/dist/particles/menu/menu.js.map +1 -0
- package/dist/particles/menubar/menubar.d.ts +18 -0
- package/dist/particles/menubar/menubar.js +42 -0
- package/dist/particles/menubar/menubar.js.map +1 -0
- package/dist/particles/meter/meter.d.ts +36 -0
- package/dist/particles/meter/meter.js +132 -0
- package/dist/particles/meter/meter.js.map +1 -0
- package/dist/particles/navigation-link/navigation-link.d.ts +43 -0
- package/dist/particles/navigation-link/navigation-link.js +82 -0
- package/dist/particles/navigation-link/navigation-link.js.map +1 -0
- package/dist/particles/navigation-link-list/navigation-link-list.d.ts +59 -0
- package/dist/particles/navigation-link-list/navigation-link-list.js +103 -0
- package/dist/particles/navigation-link-list/navigation-link-list.js.map +1 -0
- package/dist/particles/navigation-menu/navigation-menu.d.ts +78 -0
- package/dist/particles/navigation-menu/navigation-menu.js +295 -0
- package/dist/particles/navigation-menu/navigation-menu.js.map +1 -0
- package/dist/particles/number-field/number-field.d.ts +46 -0
- package/dist/particles/number-field/number-field.js +169 -0
- package/dist/particles/number-field/number-field.js.map +1 -0
- package/dist/particles/password-field/password-field.d.ts +31 -0
- package/dist/particles/password-field/password-field.js +109 -0
- package/dist/particles/password-field/password-field.js.map +1 -0
- package/dist/particles/payment-methods/payment-methods.d.ts +72 -0
- package/dist/particles/payment-methods/payment-methods.js +151 -0
- package/dist/particles/payment-methods/payment-methods.js.map +1 -0
- package/dist/particles/phone-field/phone-field.d.ts +67 -0
- package/dist/particles/phone-field/phone-field.js +250 -0
- package/dist/particles/phone-field/phone-field.js.map +1 -0
- package/dist/particles/popover/popover.d.ts +68 -0
- package/dist/particles/popover/popover.js +284 -0
- package/dist/particles/popover/popover.js.map +1 -0
- package/dist/particles/postal-code-field/postal-code-field.d.ts +75 -0
- package/dist/particles/postal-code-field/postal-code-field.js +169 -0
- package/dist/particles/postal-code-field/postal-code-field.js.map +1 -0
- package/dist/particles/promotion/promotion.d.ts +46 -0
- package/dist/particles/promotion/promotion.js +78 -0
- package/dist/particles/promotion/promotion.js.map +1 -0
- package/dist/particles/quantity-selector/quantity-selector.d.ts +30 -0
- package/dist/particles/quantity-selector/quantity-selector.js +116 -0
- package/dist/particles/quantity-selector/quantity-selector.js.map +1 -0
- package/dist/particles/radio/radio.d.ts +36 -0
- package/dist/particles/radio/radio.js +76 -0
- package/dist/particles/radio/radio.js.map +1 -0
- package/dist/particles/scroll-area/scroll-area.d.ts +36 -0
- package/dist/particles/scroll-area/scroll-area.js +145 -0
- package/dist/particles/scroll-area/scroll-area.js.map +1 -0
- package/dist/particles/select/select.d.ts +125 -0
- package/dist/particles/select/select.js +478 -0
- package/dist/particles/select/select.js.map +1 -0
- package/dist/particles/separator/separator.d.ts +12 -0
- package/dist/particles/separator/separator.js +33 -0
- package/dist/particles/separator/separator.js.map +1 -0
- package/dist/particles/shared/input-mask.d.ts +5 -0
- package/dist/particles/shared/input-mask.js +58 -0
- package/dist/particles/shared/input-mask.js.map +1 -0
- package/dist/particles/spinner/spinner.d.ts +13 -0
- package/dist/particles/spinner/spinner.js +31 -0
- package/dist/particles/spinner/spinner.js.map +1 -0
- package/dist/particles/switch/switch.d.ts +27 -0
- package/dist/particles/switch/switch.js +59 -0
- package/dist/particles/switch/switch.js.map +1 -0
- package/dist/particles/tabs/tabs.d.ts +45 -0
- package/dist/particles/tabs/tabs.js +164 -0
- package/dist/particles/tabs/tabs.js.map +1 -0
- package/dist/particles/text/text.d.ts +24 -0
- package/dist/particles/text/text.js +40 -0
- package/dist/particles/text/text.js.map +1 -0
- package/dist/particles/toast/toast.d.ts +83 -0
- package/dist/particles/toast/toast.js +194 -0
- package/dist/particles/toast/toast.js.map +1 -0
- package/dist/particles/toggle/toggle.d.ts +26 -0
- package/dist/particles/toggle/toggle.js +61 -0
- package/dist/particles/toggle/toggle.js.map +1 -0
- package/dist/particles/tooltip/tooltip.d.ts +61 -0
- package/dist/particles/tooltip/tooltip.js +240 -0
- package/dist/particles/tooltip/tooltip.js.map +1 -0
- package/dist/schema.graphql +2953 -0
- package/dist/sdk/actions/cart-action-provider.d.ts +19 -0
- package/dist/sdk/actions/cart-action-provider.js +23 -0
- package/dist/sdk/actions/cart-action-provider.js.map +1 -0
- package/dist/sdk/actions/identity-action-provider.d.ts +15 -0
- package/dist/sdk/actions/identity-action-provider.js +19 -0
- package/dist/sdk/actions/identity-action-provider.js.map +1 -0
- package/dist/sdk/actions/index.d.ts +7 -0
- package/dist/sdk/actions/index.js +6 -0
- package/dist/sdk/actions/inject-actions.d.ts +14 -0
- package/dist/sdk/actions/inject-actions.js +36 -0
- package/dist/sdk/actions/inject-actions.js.map +1 -0
- package/dist/sdk/actions/region-action-provider.d.ts +15 -0
- package/dist/sdk/actions/region-action-provider.js +19 -0
- package/dist/sdk/actions/region-action-provider.js.map +1 -0
- package/dist/sdk/actions/session-action-provider.d.ts +15 -0
- package/dist/sdk/actions/session-action-provider.js +19 -0
- package/dist/sdk/actions/session-action-provider.js.map +1 -0
- package/dist/sdk/actions/shipping-action-provider.d.ts +15 -0
- package/dist/sdk/actions/shipping-action-provider.js +19 -0
- package/dist/sdk/actions/shipping-action-provider.js.map +1 -0
- package/dist/sdk/actions/types.d.ts +21 -0
- package/dist/sdk/cache/storefront-cache.js +35 -0
- package/dist/sdk/cache/storefront-cache.js.map +1 -0
- package/dist/sdk/cart/operations.d.ts +31 -0
- package/dist/sdk/cart/operations.js +215 -0
- package/dist/sdk/cart/operations.js.map +1 -0
- package/dist/sdk/cart/optimistic.d.ts +24 -0
- package/dist/sdk/cart/optimistic.js +164 -0
- package/dist/sdk/cart/optimistic.js.map +1 -0
- package/dist/sdk/cart/use-cart-actions.d.ts +56 -0
- package/dist/sdk/cart/use-cart-actions.js +348 -0
- package/dist/sdk/cart/use-cart-actions.js.map +1 -0
- package/dist/sdk/cart/use-cart-validate-on-open.js +50 -0
- package/dist/sdk/cart/use-cart-validate-on-open.js.map +1 -0
- package/dist/sdk/cart/write-gate.js +54 -0
- package/dist/sdk/cart/write-gate.js.map +1 -0
- package/dist/sdk/client/assert-api-url.js +20 -0
- package/dist/sdk/client/assert-api-url.js.map +1 -0
- package/dist/sdk/client/create-client.d.ts +23 -0
- package/dist/sdk/client/create-client.js +46 -0
- package/dist/sdk/client/create-client.js.map +1 -0
- package/dist/sdk/client/fetch-page-data.d.ts +39 -0
- package/dist/sdk/client/fetch-page-data.js +33 -0
- package/dist/sdk/client/fetch-page-data.js.map +1 -0
- package/dist/sdk/client/register-preload-query.d.ts +24 -0
- package/dist/sdk/client/register-preload-query.js +33 -0
- package/dist/sdk/client/register-preload-query.js.map +1 -0
- package/dist/sdk/content/create-content-runtime.d.ts +68 -0
- package/dist/sdk/content/create-content-runtime.js +503 -0
- package/dist/sdk/content/create-content-runtime.js.map +1 -0
- package/dist/sdk/context/headers.d.ts +15 -0
- package/dist/sdk/context/headers.js +21 -0
- package/dist/sdk/context/headers.js.map +1 -0
- package/dist/sdk/context/storefront-context.d.ts +11 -0
- package/dist/sdk/context/storefront-context.js +29 -0
- package/dist/sdk/context/storefront-context.js.map +1 -0
- package/dist/sdk/data/data-override-context.d.ts +12 -0
- package/dist/sdk/data/data-override-context.js +19 -0
- package/dist/sdk/data/data-override-context.js.map +1 -0
- package/dist/sdk/data/entity-subscriber.js +28 -0
- package/dist/sdk/data/entity-subscriber.js.map +1 -0
- package/dist/sdk/data/hot-data-provider.d.ts +19 -0
- package/dist/sdk/data/hot-data-provider.js +33 -0
- package/dist/sdk/data/hot-data-provider.js.map +1 -0
- package/dist/sdk/data/index.d.ts +8 -0
- package/dist/sdk/data/index.js +8 -0
- package/dist/sdk/data/list-item-ref-context.d.ts +20 -0
- package/dist/sdk/data/list-item-ref-context.js +11 -0
- package/dist/sdk/data/list-item-ref-context.js.map +1 -0
- package/dist/sdk/data/multiple-reactive-data-provider.d.ts +32 -0
- package/dist/sdk/data/multiple-reactive-data-provider.js +20 -0
- package/dist/sdk/data/multiple-reactive-data-provider.js.map +1 -0
- package/dist/sdk/data/page-reactive-data-root.d.ts +53 -0
- package/dist/sdk/data/page-reactive-data-root.js +153 -0
- package/dist/sdk/data/page-reactive-data-root.js.map +1 -0
- package/dist/sdk/data/reactive-data-provider.d.ts +25 -0
- package/dist/sdk/data/reactive-data-provider.js +24 -0
- package/dist/sdk/data/reactive-data-provider.js.map +1 -0
- package/dist/sdk/data/reactive-list-item-data-provider.d.ts +26 -0
- package/dist/sdk/data/reactive-list-item-data-provider.js +42 -0
- package/dist/sdk/data/reactive-list-item-data-provider.js.map +1 -0
- package/dist/sdk/data/use-reactive-entity.js +40 -0
- package/dist/sdk/data/use-reactive-entity.js.map +1 -0
- package/dist/sdk/format/client.d.ts +12 -0
- package/dist/sdk/format/client.js +20 -0
- package/dist/sdk/format/client.js.map +1 -0
- package/dist/sdk/format/formatters.d.ts +32 -0
- package/dist/sdk/format/formatters.js +45 -0
- package/dist/sdk/format/formatters.js.map +1 -0
- package/dist/sdk/generated/fragment-types.js +23 -0
- package/dist/sdk/generated/fragment-types.js.map +1 -0
- package/dist/sdk/generated/gql.js +51 -0
- package/dist/sdk/generated/gql.js.map +1 -0
- package/dist/sdk/generated/graphql.d.ts +622 -0
- package/dist/sdk/generated/graphql.js +11917 -0
- package/dist/sdk/generated/graphql.js.map +1 -0
- package/dist/sdk/graphql-tag.d.ts +10 -0
- package/dist/sdk/graphql-tag.js +21 -0
- package/dist/sdk/graphql-tag.js.map +1 -0
- package/dist/sdk/i18n/client.d.ts +4 -0
- package/dist/sdk/i18n/client.js +4 -0
- package/dist/sdk/i18n/locales.d.ts +8 -0
- package/dist/sdk/i18n/locales.js +57 -0
- package/dist/sdk/i18n/locales.js.map +1 -0
- package/dist/sdk/i18n/messages/en-US.js +24 -0
- package/dist/sdk/i18n/messages/en-US.js.map +1 -0
- package/dist/sdk/i18n/messages/en-US.json +19 -0
- package/dist/sdk/i18n/messages/en-US.json.d.ts +23 -0
- package/dist/sdk/i18n/messages/es-ES.js +24 -0
- package/dist/sdk/i18n/messages/es-ES.js.map +1 -0
- package/dist/sdk/i18n/messages/es-ES.json +19 -0
- package/dist/sdk/i18n/messages/pt-BR.js +24 -0
- package/dist/sdk/i18n/messages/pt-BR.js.map +1 -0
- package/dist/sdk/i18n/messages/pt-BR.json +19 -0
- package/dist/sdk/i18n/provider.d.ts +1 -0
- package/dist/sdk/i18n/provider.js +30 -0
- package/dist/sdk/i18n/provider.js.map +1 -0
- package/dist/sdk/i18n/server.d.ts +28 -0
- package/dist/sdk/i18n/server.js +59 -0
- package/dist/sdk/i18n/server.js.map +1 -0
- package/dist/sdk/identity/operations.d.ts +34 -0
- package/dist/sdk/identity/operations.js +78 -0
- package/dist/sdk/identity/operations.js.map +1 -0
- package/dist/sdk/identity/use-identity-actions.d.ts +62 -0
- package/dist/sdk/identity/use-identity-actions.js +180 -0
- package/dist/sdk/identity/use-identity-actions.js.map +1 -0
- package/dist/sdk/provider/index.d.ts +2 -0
- package/dist/sdk/provider/index.js +2 -0
- package/dist/sdk/provider/storefront-provider.d.ts +32 -0
- package/dist/sdk/provider/storefront-provider.js +111 -0
- package/dist/sdk/provider/storefront-provider.js.map +1 -0
- package/dist/sdk/region/operations.d.ts +6 -0
- package/dist/sdk/region/region-operations.d.ts +30 -0
- package/dist/sdk/region/region-operations.js +23 -0
- package/dist/sdk/region/region-operations.js.map +1 -0
- package/dist/sdk/region/use-region-actions.d.ts +23 -0
- package/dist/sdk/region/use-region-actions.js +66 -0
- package/dist/sdk/region/use-region-actions.js.map +1 -0
- package/dist/sdk/seller.js +11 -0
- package/dist/sdk/seller.js.map +1 -0
- package/dist/sdk/session/auth-operations.d.ts +47 -0
- package/dist/sdk/session/auth-operations.js +79 -0
- package/dist/sdk/session/auth-operations.js.map +1 -0
- package/dist/sdk/session/operations.d.ts +6 -0
- package/dist/sdk/session/use-session-actions.d.ts +27 -0
- package/dist/sdk/session/use-session-actions.js +126 -0
- package/dist/sdk/session/use-session-actions.js.map +1 -0
- package/dist/sdk/shipping/cart-operations.d.ts +3 -0
- package/dist/sdk/shipping/cart-operations.js +33 -0
- package/dist/sdk/shipping/cart-operations.js.map +1 -0
- package/dist/sdk/shipping/operations.d.ts +3 -0
- package/dist/sdk/shipping/operations.js +33 -0
- package/dist/sdk/shipping/operations.js.map +1 -0
- package/dist/sdk/shipping/option-select-operations.d.ts +24 -0
- package/dist/sdk/shipping/option-select-operations.js +45 -0
- package/dist/sdk/shipping/option-select-operations.js.map +1 -0
- package/dist/sdk/shipping/request-timeout.js +41 -0
- package/dist/sdk/shipping/request-timeout.js.map +1 -0
- package/dist/sdk/shipping/shipping-operations.d.ts +38 -0
- package/dist/sdk/shipping/shipping-operations.js +77 -0
- package/dist/sdk/shipping/shipping-operations.js.map +1 -0
- package/dist/sdk/shipping/use-cart-shipping-simulation.d.ts +7 -0
- package/dist/sdk/shipping/use-cart-shipping-simulation.js +72 -0
- package/dist/sdk/shipping/use-cart-shipping-simulation.js.map +1 -0
- package/dist/sdk/shipping/use-shipping-actions.d.ts +27 -0
- package/dist/sdk/shipping/use-shipping-actions.js +113 -0
- package/dist/sdk/shipping/use-shipping-actions.js.map +1 -0
- package/dist/sdk/shipping/use-shipping-simulation.d.ts +7 -0
- package/dist/sdk/shipping/use-shipping-simulation.js +72 -0
- package/dist/sdk/shipping/use-shipping-simulation.js.map +1 -0
- package/dist/sdk/state/cart.d.ts +42 -0
- package/dist/sdk/state/cart.js +64 -0
- package/dist/sdk/state/cart.js.map +1 -0
- package/dist/sdk/state/index.js +3 -0
- package/dist/sdk/state/variant-selector.d.ts +17 -0
- package/dist/sdk/state/variant-selector.js +14 -0
- package/dist/sdk/state/variant-selector.js.map +1 -0
- package/dist/utils/safe-href.js +63 -0
- package/dist/utils/safe-href.js.map +1 -0
- package/package.json +84 -0
- package/src/styles/tailwind.css +32 -0
|
@@ -0,0 +1,1036 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { defineComponent } from "../../core/dist/define-component.js";
|
|
3
|
+
import "../../core/dist/index.js";
|
|
4
|
+
import { Field } from "../../particles/field/field.js";
|
|
5
|
+
import { useDataOverride } from "../../sdk/data/data-override-context.js";
|
|
6
|
+
import { AddressSummary, AddressSummaryRoot } from "../../particles/address-summary/address-summary.js";
|
|
7
|
+
import { Select } from "../../particles/select/select.js";
|
|
8
|
+
import "../../sdk/shipping/shipping-operations.js";
|
|
9
|
+
import { getAvailableCountries, getCountryDescriptor } from "./country-descriptors.js";
|
|
10
|
+
import { cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
11
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
//#region src/matter/shipping-address/shipping-address.tsx
|
|
13
|
+
/**
|
|
14
|
+
* Shipping address step (T2 — Enter and save the delivery address).
|
|
15
|
+
* Single-file matter per ADR-0001; batches form state and writes once via shipping.setAddress.
|
|
16
|
+
* Controls are thin context-bound components that read/write draft state (specs/shipping-address-step.md).
|
|
17
|
+
*/
|
|
18
|
+
const fragment = `
|
|
19
|
+
fragment ShippingAddressData on Query {
|
|
20
|
+
shipping {
|
|
21
|
+
__typename
|
|
22
|
+
id
|
|
23
|
+
address {
|
|
24
|
+
__typename
|
|
25
|
+
id
|
|
26
|
+
recipientName
|
|
27
|
+
postalCode
|
|
28
|
+
country
|
|
29
|
+
street
|
|
30
|
+
number
|
|
31
|
+
complement
|
|
32
|
+
neighborhood
|
|
33
|
+
city
|
|
34
|
+
state
|
|
35
|
+
}
|
|
36
|
+
savedAddresses {
|
|
37
|
+
__typename
|
|
38
|
+
id
|
|
39
|
+
recipientName
|
|
40
|
+
postalCode
|
|
41
|
+
country
|
|
42
|
+
street
|
|
43
|
+
number
|
|
44
|
+
complement
|
|
45
|
+
neighborhood
|
|
46
|
+
city
|
|
47
|
+
state
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
clientProfile {
|
|
51
|
+
__typename
|
|
52
|
+
firstName
|
|
53
|
+
lastName
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
`;
|
|
57
|
+
const SHIPPING_ADDRESS_CONTEXT_UNSET = Symbol("ShippingAddressContextUnset");
|
|
58
|
+
const ShippingAddressContext = createContext(SHIPPING_ADDRESS_CONTEXT_UNSET);
|
|
59
|
+
function useShippingAddressContext() {
|
|
60
|
+
const ctx = useContext(ShippingAddressContext);
|
|
61
|
+
if (ctx === SHIPPING_ADDRESS_CONTEXT_UNSET) throw new Error("ShippingAddress components must be used inside ShippingAddressRoot.");
|
|
62
|
+
return ctx;
|
|
63
|
+
}
|
|
64
|
+
const SHIPPING_ADDRESS_DRAWER_CONTEXT_UNSET = Symbol("ShippingAddressDrawerContextUnset");
|
|
65
|
+
const ShippingAddressDrawerContext = createContext(SHIPPING_ADDRESS_DRAWER_CONTEXT_UNSET);
|
|
66
|
+
function useShippingAddressDrawerContext() {
|
|
67
|
+
const ctx = useContext(ShippingAddressDrawerContext);
|
|
68
|
+
if (ctx === SHIPPING_ADDRESS_DRAWER_CONTEXT_UNSET) throw new Error("ShippingAddressSavedAddressDrawerController and ShippingAddressSavedAddressSubmit must be used inside ShippingAddressRoot.");
|
|
69
|
+
return ctx;
|
|
70
|
+
}
|
|
71
|
+
const SHIPPING_ADDRESS_SECTION_CONTEXT_UNSET = Symbol("ShippingAddressSectionContextUnset");
|
|
72
|
+
const ShippingAddressSectionContext = createContext(SHIPPING_ADDRESS_SECTION_CONTEXT_UNSET);
|
|
73
|
+
function useShippingAddressSectionContext() {
|
|
74
|
+
const ctx = useContext(ShippingAddressSectionContext);
|
|
75
|
+
if (ctx === SHIPPING_ADDRESS_SECTION_CONTEXT_UNSET) throw new Error("ShippingAddressSummaryView, ShippingAddressEditForm, ShippingAddressEditButton and ShippingAddressCancelButton must be used inside ShippingAddressEditController.");
|
|
76
|
+
return ctx;
|
|
77
|
+
}
|
|
78
|
+
const ShippingAddressRootDefinition = defineComponent({
|
|
79
|
+
name: "ShippingAddressRoot",
|
|
80
|
+
importPath: "@vtex/faststore/components",
|
|
81
|
+
component: ShippingAddressRoot,
|
|
82
|
+
fragment,
|
|
83
|
+
fetchStrategy: "reactive",
|
|
84
|
+
providesContext: "shipping-address",
|
|
85
|
+
actions: { shipping: ["setAddress"] },
|
|
86
|
+
editor: {
|
|
87
|
+
label: "Shipping Address Root",
|
|
88
|
+
category: "content"
|
|
89
|
+
},
|
|
90
|
+
schema: { defaultCountry: {
|
|
91
|
+
type: "string",
|
|
92
|
+
default: "BRA",
|
|
93
|
+
label: "Default country (ISO-3)"
|
|
94
|
+
} },
|
|
95
|
+
guideline: "Country-adaptive single-address delivery form; batches all fields and writes once via shipping.setAddress. See shipping-address.md."
|
|
96
|
+
});
|
|
97
|
+
const ShippingAddressRecipientNameControlDefinition = defineComponent({
|
|
98
|
+
name: "ShippingAddressRecipientNameControl",
|
|
99
|
+
importPath: "@vtex/faststore/components",
|
|
100
|
+
component: ShippingAddressRecipientNameControl,
|
|
101
|
+
requiresContext: "shipping-address",
|
|
102
|
+
editor: {
|
|
103
|
+
label: "Recipient Name Control",
|
|
104
|
+
category: "action"
|
|
105
|
+
},
|
|
106
|
+
schema: {},
|
|
107
|
+
guideline: "Recipient-name input field; required for submit. Must be a descendant of ShippingAddressRoot."
|
|
108
|
+
});
|
|
109
|
+
const ShippingAddressStreetControlDefinition = defineComponent({
|
|
110
|
+
name: "ShippingAddressStreetControl",
|
|
111
|
+
importPath: "@vtex/faststore/components",
|
|
112
|
+
component: ShippingAddressStreetControl,
|
|
113
|
+
requiresContext: "shipping-address",
|
|
114
|
+
editor: {
|
|
115
|
+
label: "Street Control",
|
|
116
|
+
category: "action"
|
|
117
|
+
},
|
|
118
|
+
schema: {},
|
|
119
|
+
guideline: "Street name input field. Must be a descendant of ShippingAddressRoot."
|
|
120
|
+
});
|
|
121
|
+
const ShippingAddressNumberControlDefinition = defineComponent({
|
|
122
|
+
name: "ShippingAddressNumberControl",
|
|
123
|
+
importPath: "@vtex/faststore/components",
|
|
124
|
+
component: ShippingAddressNumberControl,
|
|
125
|
+
requiresContext: "shipping-address",
|
|
126
|
+
editor: {
|
|
127
|
+
label: "Number Control",
|
|
128
|
+
category: "action"
|
|
129
|
+
},
|
|
130
|
+
schema: {},
|
|
131
|
+
guideline: "Street number input field. Must be a descendant of ShippingAddressRoot."
|
|
132
|
+
});
|
|
133
|
+
const ShippingAddressCityControlDefinition = defineComponent({
|
|
134
|
+
name: "ShippingAddressCityControl",
|
|
135
|
+
importPath: "@vtex/faststore/components",
|
|
136
|
+
component: ShippingAddressCityControl,
|
|
137
|
+
requiresContext: "shipping-address",
|
|
138
|
+
editor: {
|
|
139
|
+
label: "City Control",
|
|
140
|
+
category: "action"
|
|
141
|
+
},
|
|
142
|
+
schema: {},
|
|
143
|
+
guideline: "City name input field. Must be a descendant of ShippingAddressRoot."
|
|
144
|
+
});
|
|
145
|
+
const ShippingAddressStateControlDefinition = defineComponent({
|
|
146
|
+
name: "ShippingAddressStateControl",
|
|
147
|
+
importPath: "@vtex/faststore/components",
|
|
148
|
+
component: ShippingAddressStateControl,
|
|
149
|
+
requiresContext: "shipping-address",
|
|
150
|
+
editor: {
|
|
151
|
+
label: "State Control",
|
|
152
|
+
category: "action"
|
|
153
|
+
},
|
|
154
|
+
schema: {},
|
|
155
|
+
guideline: "State/province input field. Must be a descendant of ShippingAddressRoot."
|
|
156
|
+
});
|
|
157
|
+
const ShippingAddressPostalCodeControlDefinition = defineComponent({
|
|
158
|
+
name: "ShippingAddressPostalCodeControl",
|
|
159
|
+
importPath: "@vtex/faststore/components",
|
|
160
|
+
component: ShippingAddressPostalCodeControl,
|
|
161
|
+
requiresContext: "shipping-address",
|
|
162
|
+
editor: {
|
|
163
|
+
label: "Postal Code Control",
|
|
164
|
+
category: "action"
|
|
165
|
+
},
|
|
166
|
+
schema: {},
|
|
167
|
+
guideline: "Postal code input field. Must be a descendant of ShippingAddressRoot."
|
|
168
|
+
});
|
|
169
|
+
const ShippingAddressComplementControlDefinition = defineComponent({
|
|
170
|
+
name: "ShippingAddressComplementControl",
|
|
171
|
+
importPath: "@vtex/faststore/components",
|
|
172
|
+
component: ShippingAddressComplementControl,
|
|
173
|
+
requiresContext: "shipping-address",
|
|
174
|
+
editor: {
|
|
175
|
+
label: "Complement Control",
|
|
176
|
+
category: "action"
|
|
177
|
+
},
|
|
178
|
+
schema: {},
|
|
179
|
+
guideline: "Complement (apartment, suite, etc.) input field. Must be a descendant of ShippingAddressRoot."
|
|
180
|
+
});
|
|
181
|
+
const ShippingAddressNeighborhoodControlDefinition = defineComponent({
|
|
182
|
+
name: "ShippingAddressNeighborhoodControl",
|
|
183
|
+
importPath: "@vtex/faststore/components",
|
|
184
|
+
component: ShippingAddressNeighborhoodControl,
|
|
185
|
+
requiresContext: "shipping-address",
|
|
186
|
+
editor: {
|
|
187
|
+
label: "Neighborhood Control",
|
|
188
|
+
category: "action"
|
|
189
|
+
},
|
|
190
|
+
schema: {},
|
|
191
|
+
guideline: "Neighborhood (bairro) input field; shown only for countries that have this field (BR in v1). Must be a descendant of ShippingAddressRoot."
|
|
192
|
+
});
|
|
193
|
+
const ShippingAddressCountryControlDefinition = defineComponent({
|
|
194
|
+
name: "ShippingAddressCountryControl",
|
|
195
|
+
importPath: "@vtex/faststore/components",
|
|
196
|
+
component: ShippingAddressCountryControl,
|
|
197
|
+
requiresContext: "shipping-address",
|
|
198
|
+
editor: {
|
|
199
|
+
label: "Country Control",
|
|
200
|
+
category: "action"
|
|
201
|
+
},
|
|
202
|
+
schema: { label: {
|
|
203
|
+
type: "string",
|
|
204
|
+
default: "país",
|
|
205
|
+
label: "Field label"
|
|
206
|
+
} },
|
|
207
|
+
guideline: "Country selector; lists only countries with an implemented descriptor. Must be a descendant of ShippingAddressRoot."
|
|
208
|
+
});
|
|
209
|
+
const ShippingAddressSavedListDefinition = defineComponent({
|
|
210
|
+
name: "ShippingAddressSavedList",
|
|
211
|
+
importPath: "@vtex/faststore/components",
|
|
212
|
+
component: ShippingAddressSavedList,
|
|
213
|
+
requiresContext: "shipping-address",
|
|
214
|
+
editor: {
|
|
215
|
+
label: "Saved Address List",
|
|
216
|
+
category: "commerce"
|
|
217
|
+
},
|
|
218
|
+
schema: {},
|
|
219
|
+
guideline: "List of saved addresses for logged-in shoppers; renders only if savedAddresses is non-empty. Must be a descendant of ShippingAddressRoot."
|
|
220
|
+
});
|
|
221
|
+
const ShippingAddressSavedOptionDefinition = defineComponent({
|
|
222
|
+
name: "ShippingAddressSavedOption",
|
|
223
|
+
importPath: "@vtex/faststore/components",
|
|
224
|
+
component: ShippingAddressSavedOption,
|
|
225
|
+
requiresContext: "shipping-address",
|
|
226
|
+
editor: {
|
|
227
|
+
label: "Saved Address Option",
|
|
228
|
+
category: "commerce"
|
|
229
|
+
},
|
|
230
|
+
schema: { id: {
|
|
231
|
+
type: "string",
|
|
232
|
+
label: "Saved address ID"
|
|
233
|
+
} },
|
|
234
|
+
guideline: "A single saved address option; renders its address via the same AddressSummary particle (through its own AddressSummaryRoot) used by ShippingAddressSelectedSummary, so both share one formatting implementation. Must be a descendant of ShippingAddressSavedList."
|
|
235
|
+
});
|
|
236
|
+
const ShippingAddressSubmitDefinition = defineComponent({
|
|
237
|
+
name: "ShippingAddressSubmit",
|
|
238
|
+
importPath: "@vtex/faststore/components",
|
|
239
|
+
component: ShippingAddressSubmit,
|
|
240
|
+
requiresContext: "shipping-address",
|
|
241
|
+
editor: {
|
|
242
|
+
label: "Shipping Address Submit",
|
|
243
|
+
category: "action"
|
|
244
|
+
},
|
|
245
|
+
schema: {
|
|
246
|
+
label: {
|
|
247
|
+
type: "string",
|
|
248
|
+
default: "salvar endereço",
|
|
249
|
+
label: "Button label"
|
|
250
|
+
},
|
|
251
|
+
pendingLabel: {
|
|
252
|
+
type: "string",
|
|
253
|
+
default: "salvando...",
|
|
254
|
+
label: "Pending label"
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
guideline: "Submit button; dispatches the batched address write. Disabled until recipient name is non-blank. Must be a descendant of ShippingAddressRoot."
|
|
258
|
+
});
|
|
259
|
+
const ShippingAddressErrorDefinition = defineComponent({
|
|
260
|
+
name: "ShippingAddressError",
|
|
261
|
+
importPath: "@vtex/faststore/components",
|
|
262
|
+
component: ShippingAddressError,
|
|
263
|
+
requiresContext: "shipping-address",
|
|
264
|
+
editor: {
|
|
265
|
+
label: "Shipping Address Error",
|
|
266
|
+
category: "commerce"
|
|
267
|
+
},
|
|
268
|
+
schema: {},
|
|
269
|
+
guideline: "Error banner; shows domain validation errors inline or a generic upstream-error state. Must be a descendant of ShippingAddressRoot."
|
|
270
|
+
});
|
|
271
|
+
const ShippingAddressSavedAddressDrawerControllerDefinition = defineComponent({
|
|
272
|
+
name: "ShippingAddressSavedAddressDrawerController",
|
|
273
|
+
importPath: "@vtex/faststore/components",
|
|
274
|
+
component: ShippingAddressSavedAddressDrawerController,
|
|
275
|
+
requiresContext: "shipping-address",
|
|
276
|
+
editor: {
|
|
277
|
+
label: "Saved Address Drawer Controller",
|
|
278
|
+
category: "action"
|
|
279
|
+
},
|
|
280
|
+
schema: {},
|
|
281
|
+
guideline: "Wraps a single DrawerRoot child (the saved-address selection drawer) and makes it controlled by the shipping-address drawer state: open state and blocked-dismissal-while-submitting are handled here, so do not set raw open/onOpenChange on the wrapped DrawerRoot. Compose as the parent of DrawerRoot, with the drawer trigger and popup as DrawerRoot descendants, same pattern as CartOpenOnAdd wrapping the mini-cart DrawerRoot. Must be inside ShippingAddressRoot."
|
|
282
|
+
});
|
|
283
|
+
const ShippingAddressSavedAddressSubmitDefinition = defineComponent({
|
|
284
|
+
name: "ShippingAddressSavedAddressSubmit",
|
|
285
|
+
importPath: "@vtex/faststore/components",
|
|
286
|
+
component: ShippingAddressSavedAddressSubmit,
|
|
287
|
+
requiresContext: "shipping-address",
|
|
288
|
+
editor: {
|
|
289
|
+
label: "Saved Address Submit",
|
|
290
|
+
category: "action"
|
|
291
|
+
},
|
|
292
|
+
schema: {
|
|
293
|
+
label: {
|
|
294
|
+
type: "string",
|
|
295
|
+
default: "selecionar",
|
|
296
|
+
label: "Button label"
|
|
297
|
+
},
|
|
298
|
+
pendingLabel: {
|
|
299
|
+
type: "string",
|
|
300
|
+
default: "selecionando...",
|
|
301
|
+
label: "Pending label"
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
guideline: "The drawer's \"selecionar\" submit button; independent submitting state from the main form's Submit (Decision 7); no-ops when the selected saved address is already the current one (Decision 8). Must be inside the saved-address drawer's DrawerPopup and inside ShippingAddressRoot."
|
|
305
|
+
});
|
|
306
|
+
const ShippingAddressSelectedSummaryDefinition = defineComponent({
|
|
307
|
+
name: "ShippingAddressSelectedSummary",
|
|
308
|
+
importPath: "@vtex/faststore/components",
|
|
309
|
+
component: ShippingAddressSelectedSummary,
|
|
310
|
+
requiresContext: "shipping-address",
|
|
311
|
+
providesContext: "address-summary",
|
|
312
|
+
editor: {
|
|
313
|
+
label: "Selected Address Summary",
|
|
314
|
+
category: "commerce"
|
|
315
|
+
},
|
|
316
|
+
schema: {},
|
|
317
|
+
guideline: "Provides the current delivery address to the generic AddressSummary particle via AddressSummaryRoot context, and renders the default AddressSummary when composed with no children. Compose AddressSummaryRecipient / Street / Locality directly to choose the order or drop a line. Self-gates to null when there is no current address yet. Must be a descendant of ShippingAddressRoot."
|
|
318
|
+
});
|
|
319
|
+
const ShippingAddressEditControllerDefinition = defineComponent({
|
|
320
|
+
name: "ShippingAddressEditController",
|
|
321
|
+
importPath: "@vtex/faststore/components",
|
|
322
|
+
component: ShippingAddressEditController,
|
|
323
|
+
requiresContext: "shipping-address",
|
|
324
|
+
providesContext: "shipping-address-section",
|
|
325
|
+
editor: {
|
|
326
|
+
label: "Shipping Address Edit Controller",
|
|
327
|
+
category: "commerce"
|
|
328
|
+
},
|
|
329
|
+
schema: {},
|
|
330
|
+
guideline: "Owns the view/edit toggle for the delivery address section: defaults to view when a current address exists, edit otherwise; switches back to view automatically whenever setAddress succeeds (main form submit or saved-address drawer submit), without ShippingAddressSubmit/ShippingAddressSavedAddressSubmit needing to know about this mode. Compose a ShippingAddressSummaryView holding SelectedSummary + EditButton and a ShippingAddressEditForm holding the form Controls/Submit/Error. Self-contained: it decides from its own data and the shopper's own presses, so no other section opens it and finishing it opens nothing. Must be inside ShippingAddressRoot."
|
|
331
|
+
});
|
|
332
|
+
const ShippingAddressSummaryViewDefinition = defineComponent({
|
|
333
|
+
name: "ShippingAddressSummaryView",
|
|
334
|
+
importPath: "@vtex/faststore/components",
|
|
335
|
+
component: ShippingAddressSummaryView,
|
|
336
|
+
requiresContext: "shipping-address-section",
|
|
337
|
+
editor: {
|
|
338
|
+
label: "Shipping Address Summary View",
|
|
339
|
+
category: "commerce"
|
|
340
|
+
},
|
|
341
|
+
schema: {},
|
|
342
|
+
guideline: "Renders its children only while the delivery section shows the saved-address summary, and nothing while it shows the form. Compose SelectedSummary and a ShippingAddressEditButton inside. Takes no props: which state it gates is which component it is. Must be inside a ShippingAddressEditController."
|
|
343
|
+
});
|
|
344
|
+
const ShippingAddressEditFormDefinition = defineComponent({
|
|
345
|
+
name: "ShippingAddressEditForm",
|
|
346
|
+
importPath: "@vtex/faststore/components",
|
|
347
|
+
component: ShippingAddressEditForm,
|
|
348
|
+
requiresContext: "shipping-address-section",
|
|
349
|
+
editor: {
|
|
350
|
+
label: "Shipping Address Edit Form",
|
|
351
|
+
category: "commerce"
|
|
352
|
+
},
|
|
353
|
+
schema: {},
|
|
354
|
+
guideline: "Renders its children only while the delivery section shows the address form, and nothing while it shows the summary. Compose the Controls, Submit and Error parts inside. Must be inside a ShippingAddressEditController."
|
|
355
|
+
});
|
|
356
|
+
const ShippingAddressEditButtonDefinition = defineComponent({
|
|
357
|
+
name: "ShippingAddressEditButton",
|
|
358
|
+
importPath: "@vtex/faststore/components",
|
|
359
|
+
component: ShippingAddressEditButton,
|
|
360
|
+
requiresContext: "shipping-address-section",
|
|
361
|
+
editor: {
|
|
362
|
+
label: "Shipping Address Edit Button",
|
|
363
|
+
category: "action"
|
|
364
|
+
},
|
|
365
|
+
schema: { label: {
|
|
366
|
+
type: "string",
|
|
367
|
+
default: "editar",
|
|
368
|
+
label: "Button label"
|
|
369
|
+
} },
|
|
370
|
+
guideline: "CTA that switches the view/edit mode to edit. Typically placed inside a ShippingAddressSummaryView, next to SelectedSummary. Must be inside ShippingAddressEditController."
|
|
371
|
+
});
|
|
372
|
+
const ShippingAddressCancelButtonDefinition = defineComponent({
|
|
373
|
+
name: "ShippingAddressCancelButton",
|
|
374
|
+
importPath: "@vtex/faststore/components",
|
|
375
|
+
component: ShippingAddressCancelButton,
|
|
376
|
+
requiresContext: "shipping-address-section",
|
|
377
|
+
editor: {
|
|
378
|
+
label: "Shipping Address Cancel Button",
|
|
379
|
+
category: "action"
|
|
380
|
+
},
|
|
381
|
+
schema: { label: {
|
|
382
|
+
type: "string",
|
|
383
|
+
default: "cancelar",
|
|
384
|
+
label: "Button label"
|
|
385
|
+
} },
|
|
386
|
+
guideline: "Returns the delivery section to its summary without saving. Place it inside a ShippingAddressEditForm so a shopper who opened the form has a way back that does not depend on a successful write. Must be inside ShippingAddressEditController."
|
|
387
|
+
});
|
|
388
|
+
/**
|
|
389
|
+
* ShippingAddressRoot owns the batched form state, manages the current descriptor,
|
|
390
|
+
* and provides context to child Controls. It handles submit dispatch and error tracking.
|
|
391
|
+
*/
|
|
392
|
+
function ShippingAddressRoot({ defaultCountry = "BRA", className, children, $data: $dataProp, $actions }) {
|
|
393
|
+
const $data = useDataOverride($dataProp);
|
|
394
|
+
const currentAddress = $data?.shipping?.address;
|
|
395
|
+
const savedAddresses = $data?.shipping?.savedAddresses ?? [];
|
|
396
|
+
const clientProfile = $data?.clientProfile;
|
|
397
|
+
const joinedProfileName = [clientProfile?.firstName, clientProfile?.lastName].filter(Boolean).join(" ");
|
|
398
|
+
const seedDraft = useCallback(() => ({
|
|
399
|
+
recipientName: currentAddress?.recipientName ?? joinedProfileName,
|
|
400
|
+
postalCode: currentAddress?.postalCode ?? "",
|
|
401
|
+
country: currentAddress?.country ?? defaultCountry,
|
|
402
|
+
street: currentAddress?.street ?? "",
|
|
403
|
+
number: currentAddress?.number ?? "",
|
|
404
|
+
complement: currentAddress?.complement ?? "",
|
|
405
|
+
neighborhood: currentAddress?.neighborhood ?? "",
|
|
406
|
+
city: currentAddress?.city ?? "",
|
|
407
|
+
state: currentAddress?.state ?? ""
|
|
408
|
+
}), [
|
|
409
|
+
currentAddress,
|
|
410
|
+
joinedProfileName,
|
|
411
|
+
defaultCountry
|
|
412
|
+
]);
|
|
413
|
+
const [draft, setDraft] = useState(seedDraft);
|
|
414
|
+
const [submitting, setSubmitting] = useState(false);
|
|
415
|
+
const [errors, setErrors] = useState([]);
|
|
416
|
+
const [upstreamError, setUpstreamError] = useState(false);
|
|
417
|
+
const [selectedSavedId, setSelectedSavedId] = useState();
|
|
418
|
+
const [savedAddressDrawerOpen, setSavedAddressDrawerOpen] = useState(false);
|
|
419
|
+
const [drawerSubmitting, setDrawerSubmitting] = useState(false);
|
|
420
|
+
const [submitSuccessSignal, setSubmitSuccessSignal] = useState(0);
|
|
421
|
+
const [touchedFields, setTouchedFields] = useState(() => /* @__PURE__ */ new Set());
|
|
422
|
+
const discardDraft = useCallback(() => {
|
|
423
|
+
setTouchedFields(/* @__PURE__ */ new Set());
|
|
424
|
+
setDraft(seedDraft());
|
|
425
|
+
setErrors([]);
|
|
426
|
+
setUpstreamError(false);
|
|
427
|
+
}, [seedDraft]);
|
|
428
|
+
const currentAddressSnapshot = JSON.stringify(currentAddress ?? null);
|
|
429
|
+
const clientProfileSnapshot = JSON.stringify(clientProfile ?? null);
|
|
430
|
+
useEffect(() => {
|
|
431
|
+
setDraft((prev) => {
|
|
432
|
+
return {
|
|
433
|
+
recipientName: touchedFields.has("recipientName") ? prev.recipientName : currentAddress?.recipientName ?? (joinedProfileName || prev.recipientName),
|
|
434
|
+
postalCode: touchedFields.has("postalCode") ? prev.postalCode : currentAddress?.postalCode ?? prev.postalCode,
|
|
435
|
+
country: touchedFields.has("country") ? prev.country : currentAddress?.country ?? prev.country,
|
|
436
|
+
street: touchedFields.has("street") ? prev.street : currentAddress?.street ?? prev.street,
|
|
437
|
+
number: touchedFields.has("number") ? prev.number : currentAddress?.number ?? prev.number,
|
|
438
|
+
complement: touchedFields.has("complement") ? prev.complement : currentAddress?.complement ?? prev.complement,
|
|
439
|
+
neighborhood: touchedFields.has("neighborhood") ? prev.neighborhood : currentAddress?.neighborhood ?? prev.neighborhood,
|
|
440
|
+
city: touchedFields.has("city") ? prev.city : currentAddress?.city ?? prev.city,
|
|
441
|
+
state: touchedFields.has("state") ? prev.state : currentAddress?.state ?? prev.state
|
|
442
|
+
};
|
|
443
|
+
});
|
|
444
|
+
}, [
|
|
445
|
+
currentAddressSnapshot,
|
|
446
|
+
clientProfileSnapshot,
|
|
447
|
+
touchedFields
|
|
448
|
+
]);
|
|
449
|
+
const currentAddressId = currentAddress?.id ?? void 0;
|
|
450
|
+
const formattedCurrentAddress = useMemo(() => {
|
|
451
|
+
if (!currentAddress) return void 0;
|
|
452
|
+
return {
|
|
453
|
+
recipientName: currentAddress.recipientName ?? "",
|
|
454
|
+
postalCode: currentAddress.postalCode ?? "",
|
|
455
|
+
country: currentAddress.country ?? "",
|
|
456
|
+
street: currentAddress.street ?? "",
|
|
457
|
+
number: currentAddress.number ?? "",
|
|
458
|
+
complement: currentAddress.complement ?? "",
|
|
459
|
+
neighborhood: currentAddress.neighborhood ?? "",
|
|
460
|
+
city: currentAddress.city ?? "",
|
|
461
|
+
state: currentAddress.state ?? ""
|
|
462
|
+
};
|
|
463
|
+
}, [currentAddress]);
|
|
464
|
+
const descriptor = getCountryDescriptor(draft.country);
|
|
465
|
+
const mappedSavedAddresses = useMemo(() => savedAddresses.map((saved) => ({
|
|
466
|
+
id: saved.id ?? "",
|
|
467
|
+
address: {
|
|
468
|
+
recipientName: saved.recipientName ?? "",
|
|
469
|
+
postalCode: saved.postalCode ?? "",
|
|
470
|
+
country: saved.country ?? "",
|
|
471
|
+
street: saved.street ?? "",
|
|
472
|
+
number: saved.number ?? "",
|
|
473
|
+
complement: saved.complement ?? "",
|
|
474
|
+
neighborhood: saved.neighborhood ?? "",
|
|
475
|
+
city: saved.city ?? "",
|
|
476
|
+
state: saved.state ?? ""
|
|
477
|
+
}
|
|
478
|
+
})), [savedAddresses]);
|
|
479
|
+
const setDraftField = useCallback((field, value) => {
|
|
480
|
+
setTouchedFields((prev) => prev.has(field) ? prev : new Set(prev).add(field));
|
|
481
|
+
setDraft((prev) => ({
|
|
482
|
+
...prev,
|
|
483
|
+
[field]: value
|
|
484
|
+
}));
|
|
485
|
+
}, []);
|
|
486
|
+
const selectSavedAddress = useCallback((id) => {
|
|
487
|
+
setSelectedSavedId(id);
|
|
488
|
+
if (id) {
|
|
489
|
+
const saved = mappedSavedAddresses.find((s) => s.id === id);
|
|
490
|
+
if (saved?.address) {
|
|
491
|
+
setTouchedFields((prev) => /* @__PURE__ */ new Set([...prev, ...Object.keys(saved.address)]));
|
|
492
|
+
setDraft((prev) => ({
|
|
493
|
+
...prev,
|
|
494
|
+
...saved.address,
|
|
495
|
+
recipientName: saved.address.recipientName || joinedProfileName
|
|
496
|
+
}));
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}, [mappedSavedAddresses, joinedProfileName]);
|
|
500
|
+
const isFormValid = draft.recipientName.trim().length > 0;
|
|
501
|
+
const handleSubmit = useCallback(async () => {
|
|
502
|
+
if (!isFormValid || submitting) return;
|
|
503
|
+
if (!$actions?.shipping?.setAddress) return;
|
|
504
|
+
setSubmitting(true);
|
|
505
|
+
setErrors([]);
|
|
506
|
+
setUpstreamError(false);
|
|
507
|
+
try {
|
|
508
|
+
const isFieldActive = (field) => descriptor?.fields.some((f) => f.name === field) ?? false;
|
|
509
|
+
const addressFields = {
|
|
510
|
+
recipientName: draft.recipientName.trim(),
|
|
511
|
+
postalCode: draft.postalCode,
|
|
512
|
+
country: draft.country,
|
|
513
|
+
...isFieldActive("street") ? { street: draft.street } : {},
|
|
514
|
+
...isFieldActive("number") ? { number: draft.number } : {},
|
|
515
|
+
...isFieldActive("complement") ? { complement: draft.complement } : {},
|
|
516
|
+
...isFieldActive("neighborhood") ? { neighborhood: draft.neighborhood } : {},
|
|
517
|
+
...isFieldActive("city") ? { city: draft.city } : {},
|
|
518
|
+
...isFieldActive("state") ? { state: draft.state } : {}
|
|
519
|
+
};
|
|
520
|
+
const input = selectedSavedId ? {
|
|
521
|
+
savedAddressId: selectedSavedId,
|
|
522
|
+
...addressFields
|
|
523
|
+
} : addressFields;
|
|
524
|
+
const userErrors = await $actions.shipping.setAddress(input);
|
|
525
|
+
if (userErrors.length === 0) {
|
|
526
|
+
setErrors([]);
|
|
527
|
+
setSubmitSuccessSignal((n) => n + 1);
|
|
528
|
+
} else if (userErrors.some((e) => e.code === "NETWORK_ERROR")) {
|
|
529
|
+
setErrors([]);
|
|
530
|
+
setUpstreamError(true);
|
|
531
|
+
} else setErrors(userErrors);
|
|
532
|
+
} catch (error) {
|
|
533
|
+
console.error("[ShippingAddress] setAddress failed:", error);
|
|
534
|
+
setUpstreamError(true);
|
|
535
|
+
setErrors([]);
|
|
536
|
+
} finally {
|
|
537
|
+
setSubmitting(false);
|
|
538
|
+
}
|
|
539
|
+
}, [
|
|
540
|
+
isFormValid,
|
|
541
|
+
submitting,
|
|
542
|
+
$actions?.shipping?.setAddress,
|
|
543
|
+
draft,
|
|
544
|
+
selectedSavedId,
|
|
545
|
+
descriptor
|
|
546
|
+
]);
|
|
547
|
+
const handleDrawerSubmit = useCallback(async () => {
|
|
548
|
+
if (!selectedSavedId) return;
|
|
549
|
+
if (currentAddressId !== void 0 && selectedSavedId === currentAddressId) {
|
|
550
|
+
setSavedAddressDrawerOpen(false);
|
|
551
|
+
return;
|
|
552
|
+
}
|
|
553
|
+
const selectedAddress = mappedSavedAddresses.find((s) => s.id === selectedSavedId);
|
|
554
|
+
if (!selectedAddress) return;
|
|
555
|
+
if (!selectedAddress.address.recipientName?.trim()) {
|
|
556
|
+
setSavedAddressDrawerOpen(false);
|
|
557
|
+
return;
|
|
558
|
+
}
|
|
559
|
+
if (!$actions?.shipping?.setAddress) return;
|
|
560
|
+
setDrawerSubmitting(true);
|
|
561
|
+
setErrors([]);
|
|
562
|
+
setUpstreamError(false);
|
|
563
|
+
try {
|
|
564
|
+
const input = {
|
|
565
|
+
savedAddressId: selectedSavedId,
|
|
566
|
+
recipientName: selectedAddress.address.recipientName || "",
|
|
567
|
+
postalCode: selectedAddress.address.postalCode || "",
|
|
568
|
+
country: selectedAddress.address.country || "",
|
|
569
|
+
street: selectedAddress.address.street || "",
|
|
570
|
+
number: selectedAddress.address.number || "",
|
|
571
|
+
complement: selectedAddress.address.complement || "",
|
|
572
|
+
neighborhood: selectedAddress.address.neighborhood || "",
|
|
573
|
+
city: selectedAddress.address.city || "",
|
|
574
|
+
state: selectedAddress.address.state || ""
|
|
575
|
+
};
|
|
576
|
+
const userErrors = await $actions.shipping.setAddress(input);
|
|
577
|
+
if (userErrors.length === 0) {
|
|
578
|
+
setErrors([]);
|
|
579
|
+
setSavedAddressDrawerOpen(false);
|
|
580
|
+
setSubmitSuccessSignal((n) => n + 1);
|
|
581
|
+
} else if (userErrors.some((e) => e.code === "NETWORK_ERROR")) {
|
|
582
|
+
setErrors([]);
|
|
583
|
+
setUpstreamError(true);
|
|
584
|
+
} else setErrors(userErrors);
|
|
585
|
+
} catch (error) {
|
|
586
|
+
console.error("[ShippingAddress] drawer submit failed:", error);
|
|
587
|
+
setUpstreamError(true);
|
|
588
|
+
setErrors([]);
|
|
589
|
+
} finally {
|
|
590
|
+
setDrawerSubmitting(false);
|
|
591
|
+
}
|
|
592
|
+
}, [
|
|
593
|
+
selectedSavedId,
|
|
594
|
+
currentAddressId,
|
|
595
|
+
mappedSavedAddresses,
|
|
596
|
+
$actions?.shipping?.setAddress
|
|
597
|
+
]);
|
|
598
|
+
const contextValue = {
|
|
599
|
+
draft,
|
|
600
|
+
setDraftField,
|
|
601
|
+
descriptor,
|
|
602
|
+
savedAddresses: mappedSavedAddresses,
|
|
603
|
+
selectedSavedId,
|
|
604
|
+
setSelectedSavedId: selectSavedAddress,
|
|
605
|
+
submitting,
|
|
606
|
+
errors,
|
|
607
|
+
upstreamError,
|
|
608
|
+
handleSubmit,
|
|
609
|
+
currentAddressId,
|
|
610
|
+
currentAddress: formattedCurrentAddress,
|
|
611
|
+
submitSuccessSignal,
|
|
612
|
+
isFormValid,
|
|
613
|
+
discardDraft
|
|
614
|
+
};
|
|
615
|
+
const drawerContextValue = {
|
|
616
|
+
savedAddressDrawerOpen,
|
|
617
|
+
setSavedAddressDrawerOpen,
|
|
618
|
+
drawerSubmitting,
|
|
619
|
+
handleDrawerSubmit
|
|
620
|
+
};
|
|
621
|
+
return /* @__PURE__ */ jsx(ShippingAddressContext.Provider, {
|
|
622
|
+
value: contextValue,
|
|
623
|
+
children: /* @__PURE__ */ jsx(ShippingAddressDrawerContext.Provider, {
|
|
624
|
+
value: drawerContextValue,
|
|
625
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
626
|
+
className,
|
|
627
|
+
"data-fs-shipping-address": "",
|
|
628
|
+
children
|
|
629
|
+
})
|
|
630
|
+
})
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* RecipientNameControl — the only client-validated field (US-4, US-6).
|
|
635
|
+
* Pre-filled from clientProfile, editable, required.
|
|
636
|
+
*/
|
|
637
|
+
function ShippingAddressRecipientNameControl({ className }) {
|
|
638
|
+
const { draft, setDraftField, descriptor, submitting } = useShippingAddressContext();
|
|
639
|
+
if (!descriptor?.fields.some((f) => f.name === "recipientName")) return null;
|
|
640
|
+
const label = (descriptor?.fields.find((f) => f.name === "recipientName"))?.label ?? "nome do destinatário";
|
|
641
|
+
return /* @__PURE__ */ jsxs(Field.Root, {
|
|
642
|
+
className,
|
|
643
|
+
"data-fs-shipping-address-field": "recipient-name",
|
|
644
|
+
disabled: submitting,
|
|
645
|
+
children: [/* @__PURE__ */ jsx(Field.Label, { children: label }), /* @__PURE__ */ jsx(Field.Control, {
|
|
646
|
+
value: draft.recipientName,
|
|
647
|
+
onChange: (e) => setDraftField("recipientName", e.currentTarget.value)
|
|
648
|
+
})]
|
|
649
|
+
});
|
|
650
|
+
}
|
|
651
|
+
/** StreetControl */
|
|
652
|
+
function ShippingAddressStreetControl({ className }) {
|
|
653
|
+
const { draft, setDraftField, descriptor, submitting } = useShippingAddressContext();
|
|
654
|
+
const fieldDescriptor = descriptor?.fields.find((f) => f.name === "street");
|
|
655
|
+
if (!fieldDescriptor) return null;
|
|
656
|
+
return /* @__PURE__ */ jsxs(Field.Root, {
|
|
657
|
+
className,
|
|
658
|
+
"data-fs-shipping-address-field": "street",
|
|
659
|
+
disabled: submitting,
|
|
660
|
+
children: [/* @__PURE__ */ jsx(Field.Label, { children: fieldDescriptor.label }), /* @__PURE__ */ jsx(Field.Control, {
|
|
661
|
+
value: draft.street,
|
|
662
|
+
onChange: (e) => setDraftField("street", e.currentTarget.value)
|
|
663
|
+
})]
|
|
664
|
+
});
|
|
665
|
+
}
|
|
666
|
+
/** NumberControl */
|
|
667
|
+
function ShippingAddressNumberControl({ className }) {
|
|
668
|
+
const { draft, setDraftField, descriptor, submitting } = useShippingAddressContext();
|
|
669
|
+
const fieldDescriptor = descriptor?.fields.find((f) => f.name === "number");
|
|
670
|
+
if (!fieldDescriptor) return null;
|
|
671
|
+
return /* @__PURE__ */ jsxs(Field.Root, {
|
|
672
|
+
className,
|
|
673
|
+
"data-fs-shipping-address-field": "number",
|
|
674
|
+
disabled: submitting,
|
|
675
|
+
children: [/* @__PURE__ */ jsx(Field.Label, { children: fieldDescriptor.label }), /* @__PURE__ */ jsx(Field.Control, {
|
|
676
|
+
value: draft.number,
|
|
677
|
+
onChange: (e) => setDraftField("number", e.currentTarget.value)
|
|
678
|
+
})]
|
|
679
|
+
});
|
|
680
|
+
}
|
|
681
|
+
/** CityControl */
|
|
682
|
+
function ShippingAddressCityControl({ className }) {
|
|
683
|
+
const { draft, setDraftField, descriptor, submitting } = useShippingAddressContext();
|
|
684
|
+
const fieldDescriptor = descriptor?.fields.find((f) => f.name === "city");
|
|
685
|
+
if (!fieldDescriptor) return null;
|
|
686
|
+
return /* @__PURE__ */ jsxs(Field.Root, {
|
|
687
|
+
className,
|
|
688
|
+
"data-fs-shipping-address-field": "city",
|
|
689
|
+
disabled: submitting,
|
|
690
|
+
children: [/* @__PURE__ */ jsx(Field.Label, { children: fieldDescriptor.label }), /* @__PURE__ */ jsx(Field.Control, {
|
|
691
|
+
value: draft.city,
|
|
692
|
+
onChange: (e) => setDraftField("city", e.currentTarget.value)
|
|
693
|
+
})]
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
/** StateControl */
|
|
697
|
+
function ShippingAddressStateControl({ className }) {
|
|
698
|
+
const { draft, setDraftField, descriptor, submitting } = useShippingAddressContext();
|
|
699
|
+
const fieldDescriptor = descriptor?.fields.find((f) => f.name === "state");
|
|
700
|
+
if (!fieldDescriptor) return null;
|
|
701
|
+
return /* @__PURE__ */ jsxs(Field.Root, {
|
|
702
|
+
className,
|
|
703
|
+
"data-fs-shipping-address-field": "state",
|
|
704
|
+
disabled: submitting,
|
|
705
|
+
children: [/* @__PURE__ */ jsx(Field.Label, { children: fieldDescriptor.label }), /* @__PURE__ */ jsx(Field.Control, {
|
|
706
|
+
value: draft.state,
|
|
707
|
+
onChange: (e) => setDraftField("state", e.currentTarget.value)
|
|
708
|
+
})]
|
|
709
|
+
});
|
|
710
|
+
}
|
|
711
|
+
/** PostalCodeControl */
|
|
712
|
+
function ShippingAddressPostalCodeControl({ className }) {
|
|
713
|
+
const { draft, setDraftField, descriptor, submitting } = useShippingAddressContext();
|
|
714
|
+
const fieldDescriptor = descriptor?.fields.find((f) => f.name === "postalCode");
|
|
715
|
+
if (!fieldDescriptor) return null;
|
|
716
|
+
return /* @__PURE__ */ jsxs(Field.Root, {
|
|
717
|
+
className,
|
|
718
|
+
"data-fs-shipping-address-field": "postal-code",
|
|
719
|
+
disabled: submitting,
|
|
720
|
+
children: [/* @__PURE__ */ jsx(Field.Label, { children: fieldDescriptor.label }), /* @__PURE__ */ jsx(Field.Control, {
|
|
721
|
+
value: draft.postalCode,
|
|
722
|
+
onChange: (e) => setDraftField("postalCode", e.currentTarget.value)
|
|
723
|
+
})]
|
|
724
|
+
});
|
|
725
|
+
}
|
|
726
|
+
/** ComplementControl */
|
|
727
|
+
function ShippingAddressComplementControl({ className }) {
|
|
728
|
+
const { draft, setDraftField, descriptor, submitting } = useShippingAddressContext();
|
|
729
|
+
const fieldDescriptor = descriptor?.fields.find((f) => f.name === "complement");
|
|
730
|
+
if (!fieldDescriptor) return null;
|
|
731
|
+
return /* @__PURE__ */ jsxs(Field.Root, {
|
|
732
|
+
className,
|
|
733
|
+
"data-fs-shipping-address-field": "complement",
|
|
734
|
+
disabled: submitting,
|
|
735
|
+
children: [/* @__PURE__ */ jsx(Field.Label, { children: fieldDescriptor.label }), /* @__PURE__ */ jsx(Field.Control, {
|
|
736
|
+
value: draft.complement,
|
|
737
|
+
onChange: (e) => setDraftField("complement", e.currentTarget.value)
|
|
738
|
+
})]
|
|
739
|
+
});
|
|
740
|
+
}
|
|
741
|
+
/** NeighborhoodControl (BR-specific in v1) */
|
|
742
|
+
function ShippingAddressNeighborhoodControl({ className }) {
|
|
743
|
+
const { draft, setDraftField, descriptor, submitting } = useShippingAddressContext();
|
|
744
|
+
const fieldDescriptor = descriptor?.fields.find((f) => f.name === "neighborhood");
|
|
745
|
+
if (!fieldDescriptor) return null;
|
|
746
|
+
return /* @__PURE__ */ jsxs(Field.Root, {
|
|
747
|
+
className,
|
|
748
|
+
"data-fs-shipping-address-field": "neighborhood",
|
|
749
|
+
disabled: submitting,
|
|
750
|
+
children: [/* @__PURE__ */ jsx(Field.Label, { children: fieldDescriptor.label }), /* @__PURE__ */ jsx(Field.Control, {
|
|
751
|
+
value: draft.neighborhood,
|
|
752
|
+
onChange: (e) => setDraftField("neighborhood", e.currentTarget.value)
|
|
753
|
+
})]
|
|
754
|
+
});
|
|
755
|
+
}
|
|
756
|
+
/** CountryControl — lists only countries with a descriptor (US-2, first criterion) */
|
|
757
|
+
function ShippingAddressCountryControl({ className, label = "país" }) {
|
|
758
|
+
const { draft, setDraftField, setSelectedSavedId, submitting } = useShippingAddressContext();
|
|
759
|
+
const countryOptions = getAvailableCountries().map((iso) => {
|
|
760
|
+
return {
|
|
761
|
+
value: iso,
|
|
762
|
+
label: getCountryDescriptor(iso)?.label ?? iso
|
|
763
|
+
};
|
|
764
|
+
});
|
|
765
|
+
const handleCountryChange = (value) => {
|
|
766
|
+
if (!value) return;
|
|
767
|
+
if (getCountryDescriptor(value)) {
|
|
768
|
+
setDraftField("country", value);
|
|
769
|
+
setSelectedSavedId(void 0);
|
|
770
|
+
}
|
|
771
|
+
};
|
|
772
|
+
return /* @__PURE__ */ jsxs(Field.Root, {
|
|
773
|
+
className,
|
|
774
|
+
"data-fs-shipping-address-field": "country",
|
|
775
|
+
disabled: submitting,
|
|
776
|
+
children: [/* @__PURE__ */ jsx(Field.Label, { children: label }), /* @__PURE__ */ jsxs(Select.Root, {
|
|
777
|
+
value: draft.country,
|
|
778
|
+
onValueChange: handleCountryChange,
|
|
779
|
+
disabled: submitting,
|
|
780
|
+
children: [/* @__PURE__ */ jsxs(Select.Trigger, { children: [/* @__PURE__ */ jsx(Select.Value, { children: (value) => value ? getCountryDescriptor(value)?.label ?? value : value }), /* @__PURE__ */ jsx(Select.Icon, { children: "▾" })] }), /* @__PURE__ */ jsx(Select.Portal, { children: /* @__PURE__ */ jsx(Select.Positioner, { children: /* @__PURE__ */ jsx(Select.Popup, { children: /* @__PURE__ */ jsx(Select.List, { children: countryOptions.map((option) => /* @__PURE__ */ jsx(Select.Item, {
|
|
781
|
+
value: option.value,
|
|
782
|
+
label: option.label,
|
|
783
|
+
children: option.label
|
|
784
|
+
}, option.value)) }) }) }) })]
|
|
785
|
+
})]
|
|
786
|
+
});
|
|
787
|
+
}
|
|
788
|
+
/**
|
|
789
|
+
* ShippingAddressSavedList — renders only when savedAddresses is non-empty (logged-in signal).
|
|
790
|
+
*/
|
|
791
|
+
function ShippingAddressSavedList({ className }) {
|
|
792
|
+
const { savedAddresses } = useShippingAddressContext();
|
|
793
|
+
if (savedAddresses.length === 0) return null;
|
|
794
|
+
return /* @__PURE__ */ jsx("div", {
|
|
795
|
+
className,
|
|
796
|
+
"data-fs-shipping-address-saved-list": "",
|
|
797
|
+
children: savedAddresses.map((saved) => /* @__PURE__ */ jsx(ShippingAddressSavedOption, { id: saved.id }, saved.id))
|
|
798
|
+
});
|
|
799
|
+
}
|
|
800
|
+
/**
|
|
801
|
+
* ShippingAddressSavedOption — selectable saved address; populates draft on selection.
|
|
802
|
+
* Includes isCurrent visual variant to mark the address matching the current cart address (Decision 8).
|
|
803
|
+
*/
|
|
804
|
+
function ShippingAddressSavedOption({ id, className }) {
|
|
805
|
+
const { savedAddresses, selectedSavedId, setSelectedSavedId, currentAddressId } = useShippingAddressContext();
|
|
806
|
+
const saved = savedAddresses.find((s) => s.id === id);
|
|
807
|
+
if (!saved) return null;
|
|
808
|
+
const isSelected = selectedSavedId === id;
|
|
809
|
+
const isCurrent = currentAddressId !== void 0 && currentAddressId === id;
|
|
810
|
+
const hasAddressContent = Boolean(saved.address.recipientName || saved.address.street || saved.address.city || saved.address.neighborhood);
|
|
811
|
+
const inputId = `saved-address-${id}`;
|
|
812
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
813
|
+
className,
|
|
814
|
+
"data-fs-shipping-address-saved-option": "",
|
|
815
|
+
...isSelected ? { "data-fs-shipping-address-saved-option-selected": "" } : {},
|
|
816
|
+
...isCurrent ? { "data-fs-shipping-address-saved-option-current": "" } : {},
|
|
817
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
818
|
+
id: inputId,
|
|
819
|
+
type: "radio",
|
|
820
|
+
name: "saved-address",
|
|
821
|
+
value: id,
|
|
822
|
+
checked: isSelected,
|
|
823
|
+
onChange: () => setSelectedSavedId(id)
|
|
824
|
+
}), /* @__PURE__ */ jsx("label", {
|
|
825
|
+
htmlFor: inputId,
|
|
826
|
+
children: hasAddressContent ? /* @__PURE__ */ jsx(AddressSummaryRoot, {
|
|
827
|
+
address: saved.address,
|
|
828
|
+
children: /* @__PURE__ */ jsx(AddressSummary, {})
|
|
829
|
+
}) : `Endereço ${id}`
|
|
830
|
+
})]
|
|
831
|
+
});
|
|
832
|
+
}
|
|
833
|
+
/**
|
|
834
|
+
* ShippingAddressSubmit — dispatches the batched submit; reflects pending state.
|
|
835
|
+
*/
|
|
836
|
+
function ShippingAddressSubmit({ className, label = "salvar endereço", pendingLabel = "salvando..." }) {
|
|
837
|
+
const { submitting, handleSubmit, isFormValid } = useShippingAddressContext();
|
|
838
|
+
return /* @__PURE__ */ jsx("button", {
|
|
839
|
+
type: "button",
|
|
840
|
+
onClick: handleSubmit,
|
|
841
|
+
disabled: submitting || !isFormValid,
|
|
842
|
+
className,
|
|
843
|
+
"data-fs-shipping-address-submit": "",
|
|
844
|
+
...submitting ? { "data-fs-shipping-address-submit-pending": "" } : {},
|
|
845
|
+
children: submitting ? pendingLabel : label
|
|
846
|
+
});
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* ShippingAddressSavedAddressDrawerController — makes the wrapped DrawerRoot controlled by the
|
|
850
|
+
* shipping-address context's savedAddressDrawerOpen state, and blocks dismissal (Escape, backdrop
|
|
851
|
+
* click, close button) while drawerSubmitting is true by simply not forwarding the close request
|
|
852
|
+
* to the setter. Mirrors CartOpenOnAdd's cloneElement mechanism. Expects a single DrawerRoot child.
|
|
853
|
+
*/
|
|
854
|
+
function ShippingAddressSavedAddressDrawerController({ children }) {
|
|
855
|
+
const { savedAddressDrawerOpen, setSavedAddressDrawerOpen, drawerSubmitting } = useShippingAddressDrawerContext();
|
|
856
|
+
if (!isValidElement(children)) return children;
|
|
857
|
+
return cloneElement(children, {
|
|
858
|
+
open: savedAddressDrawerOpen,
|
|
859
|
+
onOpenChange: (next) => {
|
|
860
|
+
if (!next && drawerSubmitting) return;
|
|
861
|
+
setSavedAddressDrawerOpen(next);
|
|
862
|
+
}
|
|
863
|
+
});
|
|
864
|
+
}
|
|
865
|
+
/**
|
|
866
|
+
* ShippingAddressSavedAddressSubmit — the drawer's "selecionar" submit button; independent
|
|
867
|
+
* submitting state from the main form's Submit (Decision 7); no-ops when the selected saved
|
|
868
|
+
* address is already the current one (Decision 8).
|
|
869
|
+
*/
|
|
870
|
+
function ShippingAddressSavedAddressSubmit({ className, label = "selecionar", pendingLabel = "selecionando..." }) {
|
|
871
|
+
const { selectedSavedId } = useShippingAddressContext();
|
|
872
|
+
const { drawerSubmitting, handleDrawerSubmit } = useShippingAddressDrawerContext();
|
|
873
|
+
return /* @__PURE__ */ jsx("button", {
|
|
874
|
+
type: "button",
|
|
875
|
+
onClick: handleDrawerSubmit,
|
|
876
|
+
disabled: drawerSubmitting || !selectedSavedId,
|
|
877
|
+
className,
|
|
878
|
+
"data-fs-shipping-address-saved-address-submit": "",
|
|
879
|
+
...drawerSubmitting ? { "data-fs-shipping-address-saved-address-submit-pending": "" } : {},
|
|
880
|
+
children: drawerSubmitting ? pendingLabel : label
|
|
881
|
+
});
|
|
882
|
+
}
|
|
883
|
+
/**
|
|
884
|
+
* ShippingAddressSelectedSummary — provides the current delivery address via AddressSummaryRoot's
|
|
885
|
+
* context and renders it through AddressSummary. Composed lines go through that same wrapper rather
|
|
886
|
+
* than replacing it, because AddressSummaryRoot renders no DOM and `className` would have nowhere to
|
|
887
|
+
* land. Self-gating on currentAddress: renders null when there is none yet, rather than an empty
|
|
888
|
+
* provider with nothing meaningful to show.
|
|
889
|
+
*/
|
|
890
|
+
function ShippingAddressSelectedSummary({ className, children }) {
|
|
891
|
+
const { currentAddress } = useShippingAddressContext();
|
|
892
|
+
if (!currentAddress) return null;
|
|
893
|
+
return /* @__PURE__ */ jsx(AddressSummaryRoot, {
|
|
894
|
+
address: currentAddress,
|
|
895
|
+
children: /* @__PURE__ */ jsx(AddressSummary, {
|
|
896
|
+
className,
|
|
897
|
+
children
|
|
898
|
+
})
|
|
899
|
+
});
|
|
900
|
+
}
|
|
901
|
+
/**
|
|
902
|
+
* ShippingAddressEditController — owns the view/edit mode. Defaults to 'view' when a current
|
|
903
|
+
* address exists, 'edit' otherwise (derived reactively from currentAddressId, so it self-corrects
|
|
904
|
+
* if the address arrives asynchronously after mount, same issue as the draft-sync effect above).
|
|
905
|
+
* Once the shopper explicitly toggles (via ShippingAddressEditButton) or a submit succeeds, the
|
|
906
|
+
* explicit mode takes over. Does not render any DOM itself; provides ShippingAddressSectionContext
|
|
907
|
+
* to ShippingAddressSummaryView/ShippingAddressEditForm/ShippingAddressEditButton descendants.
|
|
908
|
+
*/
|
|
909
|
+
function ShippingAddressEditController({ children }) {
|
|
910
|
+
const { currentAddressId, submitSuccessSignal } = useShippingAddressContext();
|
|
911
|
+
const [explicitMode, setExplicitMode] = useState(void 0);
|
|
912
|
+
const lastHandledSignal = useRef(submitSuccessSignal);
|
|
913
|
+
useEffect(() => {
|
|
914
|
+
if (submitSuccessSignal !== lastHandledSignal.current) {
|
|
915
|
+
lastHandledSignal.current = submitSuccessSignal;
|
|
916
|
+
setExplicitMode("view");
|
|
917
|
+
}
|
|
918
|
+
}, [submitSuccessSignal]);
|
|
919
|
+
const mode = explicitMode ?? (currentAddressId !== void 0 ? "view" : "edit");
|
|
920
|
+
const modeContextValue = useMemo(() => ({
|
|
921
|
+
mode,
|
|
922
|
+
setMode: setExplicitMode
|
|
923
|
+
}), [mode]);
|
|
924
|
+
return /* @__PURE__ */ jsx(ShippingAddressSectionContext.Provider, {
|
|
925
|
+
value: modeContextValue,
|
|
926
|
+
children
|
|
927
|
+
});
|
|
928
|
+
}
|
|
929
|
+
/** Renders its children only while the section shows the saved-address summary. */
|
|
930
|
+
function ShippingAddressSummaryView({ children }) {
|
|
931
|
+
const { mode } = useShippingAddressSectionContext();
|
|
932
|
+
if (mode !== "view") return null;
|
|
933
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
934
|
+
}
|
|
935
|
+
/** Renders its children only while the section shows the address form. */
|
|
936
|
+
function ShippingAddressEditForm({ children }) {
|
|
937
|
+
const { mode } = useShippingAddressSectionContext();
|
|
938
|
+
if (mode !== "edit") return null;
|
|
939
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
940
|
+
}
|
|
941
|
+
/**
|
|
942
|
+
* ShippingAddressEditButton — CTA that switches the mode to 'edit'. Has no knowledge of why the
|
|
943
|
+
* mode might currently be 'view' (a current address, or a just-completed submit) — it only writes
|
|
944
|
+
* the mode forward.
|
|
945
|
+
*/
|
|
946
|
+
function ShippingAddressEditButton({ className, label = "editar", children }) {
|
|
947
|
+
const { setMode } = useShippingAddressSectionContext();
|
|
948
|
+
return /* @__PURE__ */ jsx("button", {
|
|
949
|
+
type: "button",
|
|
950
|
+
onClick: () => setMode("edit"),
|
|
951
|
+
className,
|
|
952
|
+
"data-fs-shipping-address-edit-button": "",
|
|
953
|
+
children: children ?? label
|
|
954
|
+
});
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* ShippingAddressCancelButton — returns the section to its summary without writing. Without it a
|
|
958
|
+
* shopper who opens the form can only leave through a successful `setAddress`, and blanking the
|
|
959
|
+
* recipient disables Submit, which leaves the section stuck open over the summary it replaced.
|
|
960
|
+
*/
|
|
961
|
+
function ShippingAddressCancelButton({ className, label = "cancelar", children }) {
|
|
962
|
+
const { setMode } = useShippingAddressSectionContext();
|
|
963
|
+
const { discardDraft } = useShippingAddressContext();
|
|
964
|
+
return /* @__PURE__ */ jsx("button", {
|
|
965
|
+
type: "button",
|
|
966
|
+
onClick: () => {
|
|
967
|
+
discardDraft();
|
|
968
|
+
setMode("view");
|
|
969
|
+
},
|
|
970
|
+
className,
|
|
971
|
+
"data-fs-shipping-address-cancel-button": "",
|
|
972
|
+
children: children ?? label
|
|
973
|
+
});
|
|
974
|
+
}
|
|
975
|
+
/**
|
|
976
|
+
* ShippingAddressError — renders domain userErrors inline, or generic upstream error state.
|
|
977
|
+
*/
|
|
978
|
+
function ShippingAddressError({ className }) {
|
|
979
|
+
const { errors, upstreamError } = useShippingAddressContext();
|
|
980
|
+
if (errors.length === 0 && !upstreamError) return null;
|
|
981
|
+
return /* @__PURE__ */ jsx("div", {
|
|
982
|
+
className,
|
|
983
|
+
"data-fs-shipping-address-error": "",
|
|
984
|
+
children: upstreamError ? /* @__PURE__ */ jsx("div", { children: "Não foi possível salvar este endereço. Revise os dados e tente novamente." }) : /* @__PURE__ */ jsx("ul", { children: errors.map((error, idx) => /* @__PURE__ */ jsx("li", { children: error.message }, idx)) })
|
|
985
|
+
});
|
|
986
|
+
}
|
|
987
|
+
const ShippingAddress = {
|
|
988
|
+
Root: ShippingAddressRoot,
|
|
989
|
+
RootDefinition: ShippingAddressRootDefinition,
|
|
990
|
+
RecipientNameControl: ShippingAddressRecipientNameControl,
|
|
991
|
+
RecipientNameControlDefinition: ShippingAddressRecipientNameControlDefinition,
|
|
992
|
+
StreetControl: ShippingAddressStreetControl,
|
|
993
|
+
StreetControlDefinition: ShippingAddressStreetControlDefinition,
|
|
994
|
+
NumberControl: ShippingAddressNumberControl,
|
|
995
|
+
NumberControlDefinition: ShippingAddressNumberControlDefinition,
|
|
996
|
+
CityControl: ShippingAddressCityControl,
|
|
997
|
+
CityControlDefinition: ShippingAddressCityControlDefinition,
|
|
998
|
+
StateControl: ShippingAddressStateControl,
|
|
999
|
+
StateControlDefinition: ShippingAddressStateControlDefinition,
|
|
1000
|
+
PostalCodeControl: ShippingAddressPostalCodeControl,
|
|
1001
|
+
PostalCodeControlDefinition: ShippingAddressPostalCodeControlDefinition,
|
|
1002
|
+
ComplementControl: ShippingAddressComplementControl,
|
|
1003
|
+
ComplementControlDefinition: ShippingAddressComplementControlDefinition,
|
|
1004
|
+
NeighborhoodControl: ShippingAddressNeighborhoodControl,
|
|
1005
|
+
NeighborhoodControlDefinition: ShippingAddressNeighborhoodControlDefinition,
|
|
1006
|
+
CountryControl: ShippingAddressCountryControl,
|
|
1007
|
+
CountryControlDefinition: ShippingAddressCountryControlDefinition,
|
|
1008
|
+
SavedList: ShippingAddressSavedList,
|
|
1009
|
+
SavedListDefinition: ShippingAddressSavedListDefinition,
|
|
1010
|
+
SavedOption: ShippingAddressSavedOption,
|
|
1011
|
+
SavedOptionDefinition: ShippingAddressSavedOptionDefinition,
|
|
1012
|
+
Submit: ShippingAddressSubmit,
|
|
1013
|
+
SubmitDefinition: ShippingAddressSubmitDefinition,
|
|
1014
|
+
SavedAddressDrawerController: ShippingAddressSavedAddressDrawerController,
|
|
1015
|
+
SavedAddressDrawerControllerDefinition: ShippingAddressSavedAddressDrawerControllerDefinition,
|
|
1016
|
+
SavedAddressSubmit: ShippingAddressSavedAddressSubmit,
|
|
1017
|
+
SavedAddressSubmitDefinition: ShippingAddressSavedAddressSubmitDefinition,
|
|
1018
|
+
SelectedSummary: ShippingAddressSelectedSummary,
|
|
1019
|
+
SelectedSummaryDefinition: ShippingAddressSelectedSummaryDefinition,
|
|
1020
|
+
EditController: ShippingAddressEditController,
|
|
1021
|
+
EditControllerDefinition: ShippingAddressEditControllerDefinition,
|
|
1022
|
+
SummaryView: ShippingAddressSummaryView,
|
|
1023
|
+
SummaryViewDefinition: ShippingAddressSummaryViewDefinition,
|
|
1024
|
+
EditForm: ShippingAddressEditForm,
|
|
1025
|
+
EditFormDefinition: ShippingAddressEditFormDefinition,
|
|
1026
|
+
EditButton: ShippingAddressEditButton,
|
|
1027
|
+
EditButtonDefinition: ShippingAddressEditButtonDefinition,
|
|
1028
|
+
CancelButton: ShippingAddressCancelButton,
|
|
1029
|
+
CancelButtonDefinition: ShippingAddressCancelButtonDefinition,
|
|
1030
|
+
Error: ShippingAddressError,
|
|
1031
|
+
ErrorDefinition: ShippingAddressErrorDefinition
|
|
1032
|
+
};
|
|
1033
|
+
//#endregion
|
|
1034
|
+
export { ShippingAddress, ShippingAddressCancelButton, ShippingAddressCancelButtonDefinition, ShippingAddressCityControl, ShippingAddressCityControlDefinition, ShippingAddressComplementControl, ShippingAddressComplementControlDefinition, ShippingAddressCountryControl, ShippingAddressCountryControlDefinition, ShippingAddressEditButton, ShippingAddressEditButtonDefinition, ShippingAddressEditController, ShippingAddressEditControllerDefinition, ShippingAddressEditForm, ShippingAddressEditFormDefinition, ShippingAddressError, ShippingAddressErrorDefinition, ShippingAddressNeighborhoodControl, ShippingAddressNeighborhoodControlDefinition, ShippingAddressNumberControl, ShippingAddressNumberControlDefinition, ShippingAddressPostalCodeControl, ShippingAddressPostalCodeControlDefinition, ShippingAddressRecipientNameControl, ShippingAddressRecipientNameControlDefinition, ShippingAddressRoot, ShippingAddressRootDefinition, ShippingAddressSavedAddressDrawerController, ShippingAddressSavedAddressDrawerControllerDefinition, ShippingAddressSavedAddressSubmit, ShippingAddressSavedAddressSubmitDefinition, ShippingAddressSavedList, ShippingAddressSavedListDefinition, ShippingAddressSavedOption, ShippingAddressSavedOptionDefinition, ShippingAddressSelectedSummary, ShippingAddressSelectedSummaryDefinition, ShippingAddressStateControl, ShippingAddressStateControlDefinition, ShippingAddressStreetControl, ShippingAddressStreetControlDefinition, ShippingAddressSubmit, ShippingAddressSubmitDefinition, ShippingAddressSummaryView, ShippingAddressSummaryViewDefinition };
|
|
1035
|
+
|
|
1036
|
+
//# sourceMappingURL=shipping-address.js.map
|