@vtex/faststore 0.0.7 → 0.0.10
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 +102 -0
- package/dist/actions.json +194 -1
- package/dist/catalog.json +3449 -1612
- package/dist/cli/index.d.ts +512 -63
- package/dist/cli/index.js +2098 -686
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/server-runtime.js +44 -24
- package/dist/cli/server-runtime.js.map +1 -1
- package/dist/client.d.ts +5 -1
- package/dist/client.js +5 -1
- package/dist/components.d.ts +42 -10
- package/dist/components.js +47 -15
- package/dist/content-types.json +823 -0
- package/dist/core/dist/define-component.d.ts +12 -2
- package/dist/docs/account-access-gate.md +4 -4
- package/dist/docs/account-address-book.md +519 -0
- package/dist/docs/account-entry-point.md +5 -5
- package/dist/docs/account-menu.md +7 -7
- package/dist/docs/account-saved-cards.md +301 -0
- package/dist/docs/alert-dialog.md +2 -2
- package/dist/docs/billing-address.md +17 -9
- package/dist/docs/binding-switcher.md +154 -0
- package/dist/docs/card-entry.md +38 -7
- package/dist/docs/card-summary.md +175 -0
- package/dist/docs/cardholder-document.md +16 -14
- package/dist/docs/cart-destination.md +238 -0
- package/dist/docs/cart-item.md +22 -4
- package/dist/docs/cart-totalizer.md +1 -1
- package/dist/docs/cart.md +126 -19
- package/dist/docs/client-profile-fieldset.md +7 -5
- package/dist/docs/copy-text.md +84 -0
- package/dist/docs/document-field.md +8 -8
- package/dist/docs/footer-link-group.md +2 -2
- package/dist/docs/footer-social.md +1 -1
- package/dist/docs/free-shipping-progress.md +13 -9
- package/dist/docs/header-root.md +1 -1
- package/dist/docs/incentives.md +4 -4
- package/dist/docs/logo.md +6 -6
- package/dist/docs/my-account-profile.md +4 -4
- package/dist/docs/navigation-link-list.md +2 -2
- package/dist/docs/navigation-link.md +3 -3
- package/dist/docs/order-cancel.md +52 -0
- package/dist/docs/order-delivery-address.md +63 -0
- package/dist/docs/order-delivery-group.md +83 -0
- package/dist/docs/order-details-back.md +41 -0
- package/dist/docs/order-details-header.md +48 -0
- package/dist/docs/order-list-row.md +46 -0
- package/dist/docs/order-list-search.md +101 -0
- package/dist/docs/order-list-views.md +97 -0
- package/dist/docs/order-list.md +94 -0
- package/dist/docs/order-payment.md +94 -0
- package/dist/docs/order-placed-date.md +49 -0
- package/dist/docs/order-placed-payment-summary.md +13 -15
- package/dist/docs/order-placed.md +225 -0
- package/dist/docs/order-progress.md +88 -0
- package/dist/docs/order-status-badge.md +91 -0
- package/dist/docs/order-summary.md +53 -0
- package/dist/docs/payment-method-badges.md +16 -5
- package/dist/docs/payment-methods.md +1 -1
- package/dist/docs/place-order.md +13 -9
- package/dist/docs/product-information.md +2 -2
- package/dist/docs/product-shelf.md +7 -0
- package/dist/docs/saved-cards.md +2 -2
- package/dist/docs/select.md +22 -10
- package/dist/docs/session.md +1 -1
- package/dist/docs/shipping-address.md +1 -1
- package/dist/docs/sign-in-redirect.md +7 -7
- package/dist/docs/toast.md +35 -13
- package/dist/index.d.ts +7 -2
- package/dist/index.js +2 -1
- package/dist/internal/client.d.ts +9 -1
- package/dist/internal/client.js +10 -2
- package/dist/internal/server.d.ts +8 -2
- package/dist/internal/server.js +8 -2
- package/dist/matter/account-access-gate/account-access-gate.d.ts +2 -1
- package/dist/matter/account-access-gate/account-access-gate.js +19 -16
- package/dist/matter/account-access-gate/account-access-gate.js.map +1 -1
- package/dist/matter/account-address-book/account-address-book-delete.d.ts +60 -0
- package/dist/matter/account-address-book/account-address-book-delete.js +184 -0
- package/dist/matter/account-address-book/account-address-book-delete.js.map +1 -0
- package/dist/matter/account-address-book/account-address-book-deliverability.d.ts +19 -0
- package/dist/matter/account-address-book/account-address-book-deliverability.js +50 -0
- package/dist/matter/account-address-book/account-address-book-deliverability.js.map +1 -0
- package/dist/matter/account-address-book/account-address-book-form-parts.d.ts +42 -0
- package/dist/matter/account-address-book/account-address-book-form-parts.js +146 -0
- package/dist/matter/account-address-book/account-address-book-form-parts.js.map +1 -0
- package/dist/matter/account-address-book/account-address-book-profile-notice.d.ts +25 -0
- package/dist/matter/account-address-book/account-address-book-profile-notice.js +72 -0
- package/dist/matter/account-address-book/account-address-book-profile-notice.js.map +1 -0
- package/dist/matter/account-address-book/account-address-book.d.ts +120 -0
- package/dist/matter/account-address-book/account-address-book.js +469 -0
- package/dist/matter/account-address-book/account-address-book.js.map +1 -0
- package/dist/matter/account-address-book/account-address-country-switch.js +59 -0
- package/dist/matter/account-address-book/account-address-country-switch.js.map +1 -0
- package/dist/matter/account-address-book/account-address-country.d.ts +36 -0
- package/dist/matter/account-address-book/account-address-country.js +151 -0
- package/dist/matter/account-address-book/account-address-country.js.map +1 -0
- package/dist/matter/account-address-book/account-address-first-line.js +11 -0
- package/dist/matter/account-address-book/account-address-first-line.js.map +1 -0
- package/dist/matter/account-address-book/account-address-form-context.d.ts +55 -0
- package/dist/matter/account-address-book/account-address-form-context.js +14 -0
- package/dist/matter/account-address-book/account-address-form-context.js.map +1 -0
- package/dist/matter/account-address-book/account-address-form.d.ts +85 -0
- package/dist/matter/account-address-book/account-address-form.js +946 -0
- package/dist/matter/account-address-book/account-address-form.js.map +1 -0
- package/dist/matter/account-address-book/account-address-postal-autofill.js +189 -0
- package/dist/matter/account-address-book/account-address-postal-autofill.js.map +1 -0
- package/dist/matter/account-address-book/account-address-record.d.ts +26 -0
- package/dist/matter/account-address-book/account-address-record.js +138 -0
- package/dist/matter/account-address-book/account-address-record.js.map +1 -0
- package/dist/matter/account-entry-point/account-entry-point.js +11 -11
- package/dist/matter/account-entry-point/account-entry-point.js.map +1 -1
- package/dist/matter/account-menu/account-menu.d.ts +7 -3
- package/dist/matter/account-menu/account-menu.js +69 -28
- package/dist/matter/account-menu/account-menu.js.map +1 -1
- package/dist/matter/account-saved-cards/account-saved-cards.d.ts +383 -0
- package/dist/matter/account-saved-cards/account-saved-cards.js +956 -0
- package/dist/matter/account-saved-cards/account-saved-cards.js.map +1 -0
- package/dist/matter/billing-address/billing-address.d.ts +30 -17
- package/dist/matter/billing-address/billing-address.js +128 -33
- package/dist/matter/billing-address/billing-address.js.map +1 -1
- package/dist/matter/breadcrumb/breadcrumb.js +2 -2
- package/dist/matter/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/matter/card-entry/card-capture.js +4 -3
- package/dist/matter/card-entry/card-capture.js.map +1 -1
- package/dist/matter/card-entry/card-entry.d.ts +5 -3
- package/dist/matter/card-entry/card-entry.js +77 -27
- package/dist/matter/card-entry/card-entry.js.map +1 -1
- package/dist/matter/cardholder-document/cardholder-document.d.ts +10 -9
- package/dist/matter/cardholder-document/cardholder-document.js +36 -16
- package/dist/matter/cardholder-document/cardholder-document.js.map +1 -1
- package/dist/matter/cart/cart-namespace.d.ts +5 -1
- package/dist/matter/cart/cart-namespace.js +5 -1
- package/dist/matter/cart/cart-namespace.js.map +1 -1
- package/dist/matter/cart/cart.d.ts +41 -6
- package/dist/matter/cart/cart.js +267 -54
- package/dist/matter/cart/cart.js.map +1 -1
- package/dist/matter/cart-destination/cart-destination.d.ts +222 -0
- package/dist/matter/cart-destination/cart-destination.js +613 -0
- package/dist/matter/cart-destination/cart-destination.js.map +1 -0
- package/dist/matter/cart-item/cart-item.d.ts +4 -2
- package/dist/matter/cart-item/cart-item.js +76 -17
- package/dist/matter/cart-item/cart-item.js.map +1 -1
- package/dist/matter/cart-totalizer/cart-totalizer.js +3 -2
- package/dist/matter/cart-totalizer/cart-totalizer.js.map +1 -1
- package/dist/matter/client-preferences/client-preferences-fieldset.js +1 -1
- package/dist/matter/client-profile-form/client-profile-fieldset.js +8 -5
- package/dist/matter/client-profile-form/client-profile-fieldset.js.map +1 -1
- package/dist/matter/free-shipping-progress/free-shipping-progress.d.ts +6 -3
- package/dist/matter/free-shipping-progress/free-shipping-progress.js +76 -33
- package/dist/matter/free-shipping-progress/free-shipping-progress.js.map +1 -1
- package/dist/matter/identity-edit/identity-edit.js +3 -3
- package/dist/matter/identity-edit/identity-edit.js.map +1 -1
- package/dist/matter/identity-summary/identity-summary.js +2 -2
- package/dist/matter/identity-summary/identity-summary.js.map +1 -1
- package/dist/matter/my-account-profile/my-account-profile.d.ts +3 -3
- package/dist/matter/my-account-profile/my-account-profile.js +4 -4
- package/dist/matter/my-account-profile/my-account-profile.js.map +1 -1
- package/dist/matter/order-cancel/order-cancel.d.ts +110 -0
- package/dist/matter/order-cancel/order-cancel.js +344 -0
- package/dist/matter/order-cancel/order-cancel.js.map +1 -0
- package/dist/matter/order-delivery-address/order-delivery-address.d.ts +73 -0
- package/dist/matter/order-delivery-address/order-delivery-address.js +172 -0
- package/dist/matter/order-delivery-address/order-delivery-address.js.map +1 -0
- package/dist/matter/order-delivery-group/order-delivery-group.d.ts +128 -0
- package/dist/matter/order-delivery-group/order-delivery-group.js +408 -0
- package/dist/matter/order-delivery-group/order-delivery-group.js.map +1 -0
- package/dist/matter/order-details-header/order-details-header.d.ts +104 -0
- package/dist/matter/order-details-header/order-details-header.js +190 -0
- package/dist/matter/order-details-header/order-details-header.js.map +1 -0
- package/dist/matter/order-list/customer-orders-filter.d.ts +12 -0
- package/dist/matter/order-list/customer-orders-filter.js +30 -0
- package/dist/matter/order-list/customer-orders-filter.js.map +1 -0
- package/dist/matter/order-list/order-list.d.ts +121 -0
- package/dist/matter/order-list/order-list.js +395 -0
- package/dist/matter/order-list/order-list.js.map +1 -0
- package/dist/matter/order-list-row/order-list-row.d.ts +44 -0
- package/dist/matter/order-list-row/order-list-row.js +127 -0
- package/dist/matter/order-list-row/order-list-row.js.map +1 -0
- package/dist/matter/order-list-search/order-list-search.d.ts +72 -0
- package/dist/matter/order-list-search/order-list-search.js +296 -0
- package/dist/matter/order-list-search/order-list-search.js.map +1 -0
- package/dist/matter/order-list-views/order-list-views.d.ts +65 -0
- package/dist/matter/order-list-views/order-list-views.js +154 -0
- package/dist/matter/order-list-views/order-list-views.js.map +1 -0
- package/dist/matter/order-payment/order-payment.d.ts +83 -0
- package/dist/matter/order-payment/order-payment.js +258 -0
- package/dist/matter/order-payment/order-payment.js.map +1 -0
- package/dist/matter/order-placed/order-placed-deliveries.d.ts +145 -0
- package/dist/matter/order-placed/order-placed-deliveries.js +380 -0
- package/dist/matter/order-placed/order-placed-deliveries.js.map +1 -0
- package/dist/matter/order-placed/order-placed.d.ts +122 -0
- package/dist/matter/order-placed/order-placed.js +452 -0
- package/dist/matter/order-placed/order-placed.js.map +1 -0
- package/dist/matter/order-placed-date/order-placed-date.d.ts +45 -0
- package/dist/matter/order-placed-date/order-placed-date.js +92 -0
- package/dist/matter/order-placed-date/order-placed-date.js.map +1 -0
- package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.d.ts +5 -8
- package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js +29 -81
- package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js.map +1 -1
- package/dist/matter/order-progress/order-progress.d.ts +85 -0
- package/dist/matter/order-progress/order-progress.js +203 -0
- package/dist/matter/order-progress/order-progress.js.map +1 -0
- package/dist/matter/order-summary/order-summary.d.ts +81 -0
- package/dist/matter/order-summary/order-summary.js +192 -0
- package/dist/matter/order-summary/order-summary.js.map +1 -0
- package/dist/matter/payment/cardholder-document-rule.d.ts +35 -0
- package/dist/matter/payment/cardholder-document-rule.js +35 -0
- package/dist/matter/payment/cardholder-document-rule.js.map +1 -0
- package/dist/matter/payment/payment-card-capture.js +38 -23
- package/dist/matter/payment/payment-card-capture.js.map +1 -1
- package/dist/matter/payment/payment-controller.js +11 -0
- package/dist/matter/payment/payment-controller.js.map +1 -1
- package/dist/matter/payment/payment-method-badges.js +4 -2
- package/dist/matter/payment/payment-method-badges.js.map +1 -1
- package/dist/matter/payment/payment.js +11 -0
- package/dist/matter/payment/payment.js.map +1 -1
- package/dist/matter/payment/use-payment-method-selection.d.ts +39 -0
- package/dist/matter/payment/use-payment-method-selection.js +30 -2
- package/dist/matter/payment/use-payment-method-selection.js.map +1 -1
- package/dist/matter/payment/use-payment-submit-gate.d.ts +16 -2
- package/dist/matter/payment/use-payment-submit-gate.js +42 -14
- package/dist/matter/payment/use-payment-submit-gate.js.map +1 -1
- package/dist/matter/place-order/place-order.d.ts +12 -7
- package/dist/matter/place-order/place-order.js +126 -103
- package/dist/matter/place-order/place-order.js.map +1 -1
- package/dist/matter/pricing/pricing.js +5 -5
- package/dist/matter/pricing/pricing.js.map +1 -1
- package/dist/matter/product-shelf/product-shelf.d.ts +7 -0
- package/dist/matter/product-shelf/product-shelf.js +115 -1
- package/dist/matter/product-shelf/product-shelf.js.map +1 -1
- package/dist/matter/region/region.js +1 -1
- package/dist/matter/saved-cards/saved-cards.js +26 -15
- package/dist/matter/saved-cards/saved-cards.js.map +1 -1
- package/dist/matter/session/session.js +2 -2
- package/dist/matter/session/session.js.map +1 -1
- package/dist/matter/shipping-address/country-descriptors.d.ts +1 -0
- package/dist/matter/shipping-address/country-descriptors.js +23 -1
- package/dist/matter/shipping-address/country-descriptors.js.map +1 -1
- package/dist/matter/shipping-address/shipping-address.js +62 -14
- package/dist/matter/shipping-address/shipping-address.js.map +1 -1
- package/dist/matter/shipping-simulator/shipping-simulator.d.ts +2 -2
- package/dist/matter/shipping-simulator/shipping-simulator.js +6 -2
- package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -1
- package/dist/matter/sign-in-redirect/sign-in-redirect.js +48 -10
- package/dist/matter/sign-in-redirect/sign-in-redirect.js.map +1 -1
- package/dist/matter/variant-selector/variant-selector.js +2 -2
- package/dist/matter/variant-selector/variant-selector.js.map +1 -1
- package/dist/particles/address-summary/address-summary.js +2 -2
- package/dist/particles/address-summary/address-summary.js.map +1 -1
- package/dist/particles/alert-dialog/alert-dialog.d.ts +5 -1
- package/dist/particles/alert-dialog/alert-dialog.js +5 -2
- package/dist/particles/alert-dialog/alert-dialog.js.map +1 -1
- package/dist/particles/binding-switcher/binding-switcher.d.ts +38 -0
- package/dist/particles/binding-switcher/binding-switcher.js +183 -0
- package/dist/particles/binding-switcher/binding-switcher.js.map +1 -0
- package/dist/particles/card-summary/card-network.d.ts +17 -0
- package/dist/particles/card-summary/card-network.js +25 -0
- package/dist/particles/card-summary/card-network.js.map +1 -0
- package/dist/particles/card-summary/card-summary.d.ts +83 -0
- package/dist/particles/card-summary/card-summary.js +188 -0
- package/dist/particles/card-summary/card-summary.js.map +1 -0
- package/dist/particles/copy-text/copy-text.d.ts +28 -0
- package/dist/particles/copy-text/copy-text.js +140 -0
- package/dist/particles/copy-text/copy-text.js.map +1 -0
- package/dist/particles/document-field/document-field.d.ts +34 -5
- package/dist/particles/document-field/document-field.js +115 -19
- package/dist/particles/document-field/document-field.js.map +1 -1
- package/dist/particles/field/field.js +1 -1
- package/dist/particles/field/field.js.map +1 -1
- package/dist/particles/footer-link-group/footer-link-group.d.ts +6 -2
- package/dist/particles/footer-link-group/footer-link-group.js +18 -7
- package/dist/particles/footer-link-group/footer-link-group.js.map +1 -1
- package/dist/particles/footer-social/footer-social.d.ts +1 -1
- package/dist/particles/footer-social/footer-social.js +1 -1
- package/dist/particles/footer-social/footer-social.js.map +1 -1
- package/dist/particles/incentives/incentives.d.ts +7 -3
- package/dist/particles/incentives/incentives.js +8 -3
- package/dist/particles/incentives/incentives.js.map +1 -1
- package/dist/particles/logo/logo.d.ts +3 -2
- package/dist/particles/logo/logo.js +20 -8
- package/dist/particles/logo/logo.js.map +1 -1
- package/dist/particles/navigation-link/navigation-link.d.ts +2 -3
- package/dist/particles/navigation-link/navigation-link.js +4 -4
- package/dist/particles/navigation-link/navigation-link.js.map +1 -1
- package/dist/particles/navigation-link-list/navigation-link-list.d.ts +6 -2
- package/dist/particles/navigation-link-list/navigation-link-list.js +18 -7
- package/dist/particles/navigation-link-list/navigation-link-list.js.map +1 -1
- package/dist/particles/order-details-back/order-details-back.d.ts +28 -0
- package/dist/particles/order-details-back/order-details-back.js +52 -0
- package/dist/particles/order-details-back/order-details-back.js.map +1 -0
- package/dist/particles/order-status-badge/order-status-badge.d.ts +19 -0
- package/dist/particles/order-status-badge/order-status-badge.js +50 -0
- package/dist/particles/order-status-badge/order-status-badge.js.map +1 -0
- package/dist/particles/payment-methods/payment-methods.d.ts +1 -1
- package/dist/particles/payment-methods/payment-methods.js +1 -1
- package/dist/particles/payment-methods/payment-methods.js.map +1 -1
- package/dist/particles/phone-field/phone-field.js +2 -2
- package/dist/particles/phone-field/phone-field.js.map +1 -1
- package/dist/particles/select/select.js +6 -6
- package/dist/particles/select/select.js.map +1 -1
- package/dist/particles/toast/toast.d.ts +21 -7
- package/dist/particles/toast/toast.js +76 -8
- package/dist/particles/toast/toast.js.map +1 -1
- package/dist/schema.graphql +1376 -126
- package/dist/sdk/actions/address-action-provider.d.ts +16 -0
- package/dist/sdk/actions/address-action-provider.js +20 -0
- package/dist/sdk/actions/address-action-provider.js.map +1 -0
- package/dist/sdk/actions/analytics-action-provider.js +1 -1
- package/dist/sdk/actions/index.d.ts +5 -1
- package/dist/sdk/actions/index.js +5 -1
- package/dist/sdk/actions/locale-action-provider.d.ts +16 -0
- package/dist/sdk/actions/locale-action-provider.js +20 -0
- package/dist/sdk/actions/locale-action-provider.js.map +1 -0
- package/dist/sdk/actions/order-action-provider.d.ts +12 -0
- package/dist/sdk/actions/order-action-provider.js +16 -0
- package/dist/sdk/actions/order-action-provider.js.map +1 -0
- package/dist/sdk/actions/saved-card-action-provider.d.ts +12 -0
- package/dist/sdk/actions/saved-card-action-provider.js +16 -0
- package/dist/sdk/actions/saved-card-action-provider.js.map +1 -0
- package/dist/sdk/actions/types.d.ts +10 -2
- package/dist/sdk/address/address-fields.js +38 -0
- package/dist/sdk/address/address-fields.js.map +1 -0
- package/dist/sdk/address/checkout-readiness.js +17 -0
- package/dist/sdk/address/checkout-readiness.js.map +1 -0
- package/dist/sdk/address/constants.js +60 -0
- package/dist/sdk/address/constants.js.map +1 -0
- package/dist/sdk/address/country-display.js +19 -0
- package/dist/sdk/address/country-display.js.map +1 -0
- package/dist/sdk/address/country-rules.js +30 -0
- package/dist/sdk/address/country-rules.js.map +1 -0
- package/dist/sdk/address/format-address.js +18 -0
- package/dist/sdk/address/format-address.js.map +1 -0
- package/dist/sdk/address/iso-countries.js +262 -0
- package/dist/sdk/address/iso-countries.js.map +1 -0
- package/dist/sdk/address/layouts.js +56 -0
- package/dist/sdk/address/layouts.js.map +1 -0
- package/dist/sdk/address/messages.js +97 -0
- package/dist/sdk/address/messages.js.map +1 -0
- package/dist/sdk/address/operations.d.ts +54 -0
- package/dist/sdk/address/operations.js +83 -0
- package/dist/sdk/address/operations.js.map +1 -0
- package/dist/sdk/address/postal-code-lookup-operations.js +23 -0
- package/dist/sdk/address/postal-code-lookup-operations.js.map +1 -0
- package/dist/sdk/address/postal-code.js +11 -0
- package/dist/sdk/address/postal-code.js.map +1 -0
- package/dist/sdk/address/schema.js +14 -0
- package/dist/sdk/address/schema.js.map +1 -0
- package/dist/sdk/address/server-fields.js +25 -0
- package/dist/sdk/address/server-fields.js.map +1 -0
- package/dist/sdk/address/switch-country.js +57 -0
- package/dist/sdk/address/switch-country.js.map +1 -0
- package/dist/sdk/address/types.d.ts +26 -0
- package/dist/sdk/address/use-address-actions.d.ts +29 -0
- package/dist/sdk/address/use-address-actions.js +247 -0
- package/dist/sdk/address/use-address-actions.js.map +1 -0
- package/dist/sdk/address/use-address-by-postal-code.js +57 -0
- package/dist/sdk/address/use-address-by-postal-code.js.map +1 -0
- package/dist/sdk/address/validate-address.js +62 -0
- package/dist/sdk/address/validate-address.js.map +1 -0
- package/dist/sdk/cache/storefront-cache.js +30 -4
- package/dist/sdk/cache/storefront-cache.js.map +1 -1
- package/dist/sdk/cart/operations.d.ts +2 -1
- package/dist/sdk/cart/operations.js +55 -1
- package/dist/sdk/cart/operations.js.map +1 -1
- package/dist/sdk/cart/optimistic.d.ts +30 -7
- package/dist/sdk/cart/optimistic.js +78 -41
- package/dist/sdk/cart/optimistic.js.map +1 -1
- package/dist/sdk/cart/use-cart-actions.d.ts +7 -0
- package/dist/sdk/cart/use-cart-actions.js +61 -15
- package/dist/sdk/cart/use-cart-actions.js.map +1 -1
- package/dist/sdk/cart/use-cart-sync-sales-channel.js +70 -0
- package/dist/sdk/cart/use-cart-sync-sales-channel.js.map +1 -0
- package/dist/sdk/client/fetch-page-data.d.ts +11 -0
- package/dist/sdk/client/fetch-page-data.js +12 -1
- package/dist/sdk/client/fetch-page-data.js.map +1 -1
- package/dist/sdk/content/create-content-runtime.js +1 -8
- package/dist/sdk/content/create-content-runtime.js.map +1 -1
- package/dist/sdk/data/failed-fields.js +23 -0
- package/dist/sdk/data/failed-fields.js.map +1 -0
- package/dist/sdk/data/index.js +2 -2
- package/dist/sdk/data/page-reactive-data-root.d.ts +45 -7
- package/dist/sdk/data/page-reactive-data-root.js +88 -12
- package/dist/sdk/data/page-reactive-data-root.js.map +1 -1
- package/dist/sdk/data/reactive-list-item-data-provider.js +2 -2
- package/dist/sdk/generated/fragment-types.js +2 -0
- package/dist/sdk/generated/fragment-types.js.map +1 -1
- package/dist/sdk/generated/gql.js +17 -11
- package/dist/sdk/generated/gql.js.map +1 -1
- package/dist/sdk/generated/graphql.d.ts +185 -46
- package/dist/sdk/generated/graphql.js +2587 -155
- package/dist/sdk/generated/graphql.js.map +1 -1
- package/dist/sdk/i18n/messages/en-US.js +157 -1
- package/dist/sdk/i18n/messages/en-US.json +157 -1
- package/dist/sdk/i18n/messages/en-US.json.d.ts +156 -0
- package/dist/sdk/i18n/messages/es-ES.js +157 -1
- package/dist/sdk/i18n/messages/es-ES.json +157 -1
- package/dist/sdk/i18n/messages/pt-BR.js +157 -1
- package/dist/sdk/i18n/messages/pt-BR.json +157 -1
- package/dist/sdk/i18n/provider.js +1 -1
- package/dist/sdk/i18n/provider.js.map +1 -1
- package/dist/sdk/locale/binding-switch-provider.d.ts +13 -0
- package/dist/sdk/locale/binding-switch-provider.js +20 -0
- package/dist/sdk/locale/binding-switch-provider.js.map +1 -0
- package/dist/sdk/locale/use-locale-actions.d.ts +16 -0
- package/dist/sdk/locale/use-locale-actions.js +70 -0
- package/dist/sdk/locale/use-locale-actions.js.map +1 -0
- package/dist/sdk/navigation/binding-switch.d.ts +39 -0
- package/dist/sdk/navigation/binding-switch.js +129 -0
- package/dist/sdk/navigation/binding-switch.js.map +1 -0
- package/dist/sdk/navigation/current-page.js +30 -0
- package/dist/sdk/navigation/current-page.js.map +1 -0
- package/dist/sdk/navigation/decode-route-params.d.ts +11 -0
- package/dist/sdk/navigation/decode-route-params.js +32 -0
- package/dist/sdk/navigation/decode-route-params.js.map +1 -0
- package/dist/sdk/navigation/not-found-log.d.ts +28 -0
- package/dist/sdk/navigation/not-found-log.js +133 -0
- package/dist/sdk/navigation/not-found-log.js.map +1 -0
- package/dist/sdk/navigation/path.js +25 -0
- package/dist/sdk/navigation/path.js.map +1 -0
- package/dist/sdk/navigation/redirect.d.ts +11 -0
- package/dist/sdk/navigation/redirect.js +22 -0
- package/dist/sdk/navigation/redirect.js.map +1 -0
- package/dist/sdk/navigation/report.js +70 -0
- package/dist/sdk/navigation/report.js.map +1 -0
- package/dist/sdk/navigation/resolve-storefront-href.d.ts +12 -0
- package/dist/sdk/navigation/resolve-storefront-href.js +214 -0
- package/dist/sdk/navigation/resolve-storefront-href.js.map +1 -0
- package/dist/sdk/navigation/route-identity-provider.d.ts +11 -0
- package/dist/sdk/navigation/route-identity-provider.js +20 -0
- package/dist/sdk/navigation/route-identity-provider.js.map +1 -0
- package/dist/sdk/navigation/route-map-provider.d.ts +19 -0
- package/dist/sdk/navigation/route-map-provider.js +29 -0
- package/dist/sdk/navigation/route-map-provider.js.map +1 -0
- package/dist/sdk/navigation/storefront-link.d.ts +16 -0
- package/dist/sdk/navigation/storefront-link.js +66 -0
- package/dist/sdk/navigation/storefront-link.js.map +1 -0
- package/dist/sdk/navigation/types.d.ts +45 -0
- package/dist/sdk/navigation/use-storefront-navigation.d.ts +26 -0
- package/dist/sdk/navigation/use-storefront-navigation.js +73 -0
- package/dist/sdk/navigation/use-storefront-navigation.js.map +1 -0
- package/dist/sdk/navigation/use-storefront-route.d.ts +26 -0
- package/dist/sdk/navigation/use-storefront-route.js +87 -0
- package/dist/sdk/navigation/use-storefront-route.js.map +1 -0
- package/dist/sdk/navigation/use-storefront-search-params.d.ts +11 -0
- package/dist/sdk/navigation/use-storefront-search-params.js +16 -0
- package/dist/sdk/navigation/use-storefront-search-params.js.map +1 -0
- package/dist/sdk/orders/completion-badge.d.ts +8 -0
- package/dist/sdk/orders/completion-badge.js +47 -0
- package/dist/sdk/orders/completion-badge.js.map +1 -0
- package/dist/sdk/orders/order-operations.d.ts +19 -0
- package/dist/sdk/orders/order-operations.js +21 -0
- package/dist/sdk/orders/order-operations.js.map +1 -0
- package/dist/sdk/orders/use-order-actions.d.ts +23 -0
- package/dist/sdk/orders/use-order-actions.js +62 -0
- package/dist/sdk/orders/use-order-actions.js.map +1 -0
- package/dist/sdk/payment/gateway-origin.js +26 -13
- package/dist/sdk/payment/gateway-origin.js.map +1 -1
- package/dist/sdk/payment/gateway.d.ts +14 -2
- package/dist/sdk/payment/gateway.js +32 -14
- package/dist/sdk/payment/gateway.js.map +1 -1
- package/dist/sdk/payment/operations.js +11 -0
- package/dist/sdk/payment/operations.js.map +1 -1
- package/dist/sdk/payment/submission-registry.d.ts +2 -1
- package/dist/sdk/payment/submission-registry.js +12 -8
- package/dist/sdk/payment/submission-registry.js.map +1 -1
- package/dist/sdk/payment/use-payment-actions.d.ts +5 -3
- package/dist/sdk/payment/use-payment-actions.js +5 -2
- package/dist/sdk/payment/use-payment-actions.js.map +1 -1
- package/dist/sdk/payment/use-place-order.d.ts +6 -3
- package/dist/sdk/payment/use-place-order.js +333 -143
- package/dist/sdk/payment/use-place-order.js.map +1 -1
- package/dist/sdk/saved-cards/operations.d.ts +16 -0
- package/dist/sdk/saved-cards/operations.js +41 -0
- package/dist/sdk/saved-cards/operations.js.map +1 -0
- package/dist/sdk/saved-cards/use-saved-card-actions.d.ts +26 -0
- package/dist/sdk/saved-cards/use-saved-card-actions.js +86 -0
- package/dist/sdk/saved-cards/use-saved-card-actions.js.map +1 -0
- package/dist/sdk/seo/page-alternates.d.ts +57 -0
- package/dist/sdk/seo/page-alternates.js +127 -0
- package/dist/sdk/seo/page-alternates.js.map +1 -0
- package/dist/sdk/shipping/shipping-operations.d.ts +1 -1
- package/dist/sdk/shipping/shipping-operations.js +13 -0
- package/dist/sdk/shipping/shipping-operations.js.map +1 -1
- package/dist/sdk/state/cart.d.ts +9 -2
- package/dist/sdk/state/cart.js +9 -2
- package/dist/sdk/state/cart.js.map +1 -1
- package/dist/utils/own-value.js +19 -0
- package/dist/utils/own-value.js.map +1 -0
- package/dist/utils/safe-href.d.ts +4 -4
- package/dist/utils/safe-href.js +31 -22
- package/dist/utils/safe-href.js.map +1 -1
- package/package.json +5 -1
- package/skills/storefront-asset/SKILL.md +111 -0
- package/skills/storefront-asset/references/api-side.md +153 -0
- package/skills/storefront-asset/references/findings.md +40 -0
- package/skills/storefront-asset/references/ui-side.md +94 -0
- package/src/styles/tailwind.css +28 -2
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
//#region src/sdk/address/iso-countries.ts
|
|
2
|
+
/**
|
|
3
|
+
* ISO 3166-1 alpha-3 to alpha-2, for the 249 officially assigned codes. An address stores the
|
|
4
|
+
* alpha-3 code and `Intl.DisplayNames` accepts only alpha-2, so a name needs this bridge. The table
|
|
5
|
+
* is the full standard rather than the countries `@vtex/country-forms` covers, because an address
|
|
6
|
+
* written by another channel can carry any country.
|
|
7
|
+
*/
|
|
8
|
+
const ALPHA2_BY_ALPHA3 = {
|
|
9
|
+
ABW: "AW",
|
|
10
|
+
AFG: "AF",
|
|
11
|
+
AGO: "AO",
|
|
12
|
+
AIA: "AI",
|
|
13
|
+
ALA: "AX",
|
|
14
|
+
ALB: "AL",
|
|
15
|
+
AND: "AD",
|
|
16
|
+
ARE: "AE",
|
|
17
|
+
ARG: "AR",
|
|
18
|
+
ARM: "AM",
|
|
19
|
+
ASM: "AS",
|
|
20
|
+
ATA: "AQ",
|
|
21
|
+
ATF: "TF",
|
|
22
|
+
ATG: "AG",
|
|
23
|
+
AUS: "AU",
|
|
24
|
+
AUT: "AT",
|
|
25
|
+
AZE: "AZ",
|
|
26
|
+
BDI: "BI",
|
|
27
|
+
BEL: "BE",
|
|
28
|
+
BEN: "BJ",
|
|
29
|
+
BES: "BQ",
|
|
30
|
+
BFA: "BF",
|
|
31
|
+
BGD: "BD",
|
|
32
|
+
BGR: "BG",
|
|
33
|
+
BHR: "BH",
|
|
34
|
+
BHS: "BS",
|
|
35
|
+
BIH: "BA",
|
|
36
|
+
BLM: "BL",
|
|
37
|
+
BLR: "BY",
|
|
38
|
+
BLZ: "BZ",
|
|
39
|
+
BMU: "BM",
|
|
40
|
+
BOL: "BO",
|
|
41
|
+
BRA: "BR",
|
|
42
|
+
BRB: "BB",
|
|
43
|
+
BRN: "BN",
|
|
44
|
+
BTN: "BT",
|
|
45
|
+
BVT: "BV",
|
|
46
|
+
BWA: "BW",
|
|
47
|
+
CAF: "CF",
|
|
48
|
+
CAN: "CA",
|
|
49
|
+
CCK: "CC",
|
|
50
|
+
CHE: "CH",
|
|
51
|
+
CHL: "CL",
|
|
52
|
+
CHN: "CN",
|
|
53
|
+
CIV: "CI",
|
|
54
|
+
CMR: "CM",
|
|
55
|
+
COD: "CD",
|
|
56
|
+
COG: "CG",
|
|
57
|
+
COK: "CK",
|
|
58
|
+
COL: "CO",
|
|
59
|
+
COM: "KM",
|
|
60
|
+
CPV: "CV",
|
|
61
|
+
CRI: "CR",
|
|
62
|
+
CUB: "CU",
|
|
63
|
+
CUW: "CW",
|
|
64
|
+
CXR: "CX",
|
|
65
|
+
CYM: "KY",
|
|
66
|
+
CYP: "CY",
|
|
67
|
+
CZE: "CZ",
|
|
68
|
+
DEU: "DE",
|
|
69
|
+
DJI: "DJ",
|
|
70
|
+
DMA: "DM",
|
|
71
|
+
DNK: "DK",
|
|
72
|
+
DOM: "DO",
|
|
73
|
+
DZA: "DZ",
|
|
74
|
+
ECU: "EC",
|
|
75
|
+
EGY: "EG",
|
|
76
|
+
ERI: "ER",
|
|
77
|
+
ESH: "EH",
|
|
78
|
+
ESP: "ES",
|
|
79
|
+
EST: "EE",
|
|
80
|
+
ETH: "ET",
|
|
81
|
+
FIN: "FI",
|
|
82
|
+
FJI: "FJ",
|
|
83
|
+
FLK: "FK",
|
|
84
|
+
FRA: "FR",
|
|
85
|
+
FRO: "FO",
|
|
86
|
+
FSM: "FM",
|
|
87
|
+
GAB: "GA",
|
|
88
|
+
GBR: "GB",
|
|
89
|
+
GEO: "GE",
|
|
90
|
+
GGY: "GG",
|
|
91
|
+
GHA: "GH",
|
|
92
|
+
GIB: "GI",
|
|
93
|
+
GIN: "GN",
|
|
94
|
+
GLP: "GP",
|
|
95
|
+
GMB: "GM",
|
|
96
|
+
GNB: "GW",
|
|
97
|
+
GNQ: "GQ",
|
|
98
|
+
GRC: "GR",
|
|
99
|
+
GRD: "GD",
|
|
100
|
+
GRL: "GL",
|
|
101
|
+
GTM: "GT",
|
|
102
|
+
GUF: "GF",
|
|
103
|
+
GUM: "GU",
|
|
104
|
+
GUY: "GY",
|
|
105
|
+
HKG: "HK",
|
|
106
|
+
HMD: "HM",
|
|
107
|
+
HND: "HN",
|
|
108
|
+
HRV: "HR",
|
|
109
|
+
HTI: "HT",
|
|
110
|
+
HUN: "HU",
|
|
111
|
+
IDN: "ID",
|
|
112
|
+
IMN: "IM",
|
|
113
|
+
IND: "IN",
|
|
114
|
+
IOT: "IO",
|
|
115
|
+
IRL: "IE",
|
|
116
|
+
IRN: "IR",
|
|
117
|
+
IRQ: "IQ",
|
|
118
|
+
ISL: "IS",
|
|
119
|
+
ISR: "IL",
|
|
120
|
+
ITA: "IT",
|
|
121
|
+
JAM: "JM",
|
|
122
|
+
JEY: "JE",
|
|
123
|
+
JOR: "JO",
|
|
124
|
+
JPN: "JP",
|
|
125
|
+
KAZ: "KZ",
|
|
126
|
+
KEN: "KE",
|
|
127
|
+
KGZ: "KG",
|
|
128
|
+
KHM: "KH",
|
|
129
|
+
KIR: "KI",
|
|
130
|
+
KNA: "KN",
|
|
131
|
+
KOR: "KR",
|
|
132
|
+
KWT: "KW",
|
|
133
|
+
LAO: "LA",
|
|
134
|
+
LBN: "LB",
|
|
135
|
+
LBR: "LR",
|
|
136
|
+
LBY: "LY",
|
|
137
|
+
LCA: "LC",
|
|
138
|
+
LIE: "LI",
|
|
139
|
+
LKA: "LK",
|
|
140
|
+
LSO: "LS",
|
|
141
|
+
LTU: "LT",
|
|
142
|
+
LUX: "LU",
|
|
143
|
+
LVA: "LV",
|
|
144
|
+
MAC: "MO",
|
|
145
|
+
MAF: "MF",
|
|
146
|
+
MAR: "MA",
|
|
147
|
+
MCO: "MC",
|
|
148
|
+
MDA: "MD",
|
|
149
|
+
MDG: "MG",
|
|
150
|
+
MDV: "MV",
|
|
151
|
+
MEX: "MX",
|
|
152
|
+
MHL: "MH",
|
|
153
|
+
MKD: "MK",
|
|
154
|
+
MLI: "ML",
|
|
155
|
+
MLT: "MT",
|
|
156
|
+
MMR: "MM",
|
|
157
|
+
MNE: "ME",
|
|
158
|
+
MNG: "MN",
|
|
159
|
+
MNP: "MP",
|
|
160
|
+
MOZ: "MZ",
|
|
161
|
+
MRT: "MR",
|
|
162
|
+
MSR: "MS",
|
|
163
|
+
MTQ: "MQ",
|
|
164
|
+
MUS: "MU",
|
|
165
|
+
MWI: "MW",
|
|
166
|
+
MYS: "MY",
|
|
167
|
+
MYT: "YT",
|
|
168
|
+
NAM: "NA",
|
|
169
|
+
NCL: "NC",
|
|
170
|
+
NER: "NE",
|
|
171
|
+
NFK: "NF",
|
|
172
|
+
NGA: "NG",
|
|
173
|
+
NIC: "NI",
|
|
174
|
+
NIU: "NU",
|
|
175
|
+
NLD: "NL",
|
|
176
|
+
NOR: "NO",
|
|
177
|
+
NPL: "NP",
|
|
178
|
+
NRU: "NR",
|
|
179
|
+
NZL: "NZ",
|
|
180
|
+
OMN: "OM",
|
|
181
|
+
PAK: "PK",
|
|
182
|
+
PAN: "PA",
|
|
183
|
+
PCN: "PN",
|
|
184
|
+
PER: "PE",
|
|
185
|
+
PHL: "PH",
|
|
186
|
+
PLW: "PW",
|
|
187
|
+
PNG: "PG",
|
|
188
|
+
POL: "PL",
|
|
189
|
+
PRI: "PR",
|
|
190
|
+
PRK: "KP",
|
|
191
|
+
PRT: "PT",
|
|
192
|
+
PRY: "PY",
|
|
193
|
+
PSE: "PS",
|
|
194
|
+
PYF: "PF",
|
|
195
|
+
QAT: "QA",
|
|
196
|
+
REU: "RE",
|
|
197
|
+
ROU: "RO",
|
|
198
|
+
RUS: "RU",
|
|
199
|
+
RWA: "RW",
|
|
200
|
+
SAU: "SA",
|
|
201
|
+
SDN: "SD",
|
|
202
|
+
SEN: "SN",
|
|
203
|
+
SGP: "SG",
|
|
204
|
+
SGS: "GS",
|
|
205
|
+
SHN: "SH",
|
|
206
|
+
SJM: "SJ",
|
|
207
|
+
SLB: "SB",
|
|
208
|
+
SLE: "SL",
|
|
209
|
+
SLV: "SV",
|
|
210
|
+
SMR: "SM",
|
|
211
|
+
SOM: "SO",
|
|
212
|
+
SPM: "PM",
|
|
213
|
+
SRB: "RS",
|
|
214
|
+
SSD: "SS",
|
|
215
|
+
STP: "ST",
|
|
216
|
+
SUR: "SR",
|
|
217
|
+
SVK: "SK",
|
|
218
|
+
SVN: "SI",
|
|
219
|
+
SWE: "SE",
|
|
220
|
+
SWZ: "SZ",
|
|
221
|
+
SXM: "SX",
|
|
222
|
+
SYC: "SC",
|
|
223
|
+
SYR: "SY",
|
|
224
|
+
TCA: "TC",
|
|
225
|
+
TCD: "TD",
|
|
226
|
+
TGO: "TG",
|
|
227
|
+
THA: "TH",
|
|
228
|
+
TJK: "TJ",
|
|
229
|
+
TKL: "TK",
|
|
230
|
+
TKM: "TM",
|
|
231
|
+
TLS: "TL",
|
|
232
|
+
TON: "TO",
|
|
233
|
+
TTO: "TT",
|
|
234
|
+
TUN: "TN",
|
|
235
|
+
TUR: "TR",
|
|
236
|
+
TUV: "TV",
|
|
237
|
+
TWN: "TW",
|
|
238
|
+
TZA: "TZ",
|
|
239
|
+
UGA: "UG",
|
|
240
|
+
UKR: "UA",
|
|
241
|
+
UMI: "UM",
|
|
242
|
+
URY: "UY",
|
|
243
|
+
USA: "US",
|
|
244
|
+
UZB: "UZ",
|
|
245
|
+
VAT: "VA",
|
|
246
|
+
VCT: "VC",
|
|
247
|
+
VEN: "VE",
|
|
248
|
+
VGB: "VG",
|
|
249
|
+
VIR: "VI",
|
|
250
|
+
VNM: "VN",
|
|
251
|
+
VUT: "VU",
|
|
252
|
+
WLF: "WF",
|
|
253
|
+
WSM: "WS",
|
|
254
|
+
YEM: "YE",
|
|
255
|
+
ZAF: "ZA",
|
|
256
|
+
ZMB: "ZM",
|
|
257
|
+
ZWE: "ZW"
|
|
258
|
+
};
|
|
259
|
+
//#endregion
|
|
260
|
+
export { ALPHA2_BY_ALPHA3 };
|
|
261
|
+
|
|
262
|
+
//# sourceMappingURL=iso-countries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso-countries.js","names":[],"sources":["../../../src/sdk/address/iso-countries.ts"],"sourcesContent":["/**\n * ISO 3166-1 alpha-3 to alpha-2, for the 249 officially assigned codes. An address stores the\n * alpha-3 code and `Intl.DisplayNames` accepts only alpha-2, so a name needs this bridge. The table\n * is the full standard rather than the countries `@vtex/country-forms` covers, because an address\n * written by another channel can carry any country.\n */\nexport const ALPHA2_BY_ALPHA3: Readonly<Record<string, string>> = {\n ABW: 'AW',\n AFG: 'AF',\n AGO: 'AO',\n AIA: 'AI',\n ALA: 'AX',\n ALB: 'AL',\n AND: 'AD',\n ARE: 'AE',\n ARG: 'AR',\n ARM: 'AM',\n ASM: 'AS',\n ATA: 'AQ',\n ATF: 'TF',\n ATG: 'AG',\n AUS: 'AU',\n AUT: 'AT',\n AZE: 'AZ',\n BDI: 'BI',\n BEL: 'BE',\n BEN: 'BJ',\n BES: 'BQ',\n BFA: 'BF',\n BGD: 'BD',\n BGR: 'BG',\n BHR: 'BH',\n BHS: 'BS',\n BIH: 'BA',\n BLM: 'BL',\n BLR: 'BY',\n BLZ: 'BZ',\n BMU: 'BM',\n BOL: 'BO',\n BRA: 'BR',\n BRB: 'BB',\n BRN: 'BN',\n BTN: 'BT',\n BVT: 'BV',\n BWA: 'BW',\n CAF: 'CF',\n CAN: 'CA',\n CCK: 'CC',\n CHE: 'CH',\n CHL: 'CL',\n CHN: 'CN',\n CIV: 'CI',\n CMR: 'CM',\n COD: 'CD',\n COG: 'CG',\n COK: 'CK',\n COL: 'CO',\n COM: 'KM',\n CPV: 'CV',\n CRI: 'CR',\n CUB: 'CU',\n CUW: 'CW',\n CXR: 'CX',\n CYM: 'KY',\n CYP: 'CY',\n CZE: 'CZ',\n DEU: 'DE',\n DJI: 'DJ',\n DMA: 'DM',\n DNK: 'DK',\n DOM: 'DO',\n DZA: 'DZ',\n ECU: 'EC',\n EGY: 'EG',\n ERI: 'ER',\n ESH: 'EH',\n ESP: 'ES',\n EST: 'EE',\n ETH: 'ET',\n FIN: 'FI',\n FJI: 'FJ',\n FLK: 'FK',\n FRA: 'FR',\n FRO: 'FO',\n FSM: 'FM',\n GAB: 'GA',\n GBR: 'GB',\n GEO: 'GE',\n GGY: 'GG',\n GHA: 'GH',\n GIB: 'GI',\n GIN: 'GN',\n GLP: 'GP',\n GMB: 'GM',\n GNB: 'GW',\n GNQ: 'GQ',\n GRC: 'GR',\n GRD: 'GD',\n GRL: 'GL',\n GTM: 'GT',\n GUF: 'GF',\n GUM: 'GU',\n GUY: 'GY',\n HKG: 'HK',\n HMD: 'HM',\n HND: 'HN',\n HRV: 'HR',\n HTI: 'HT',\n HUN: 'HU',\n IDN: 'ID',\n IMN: 'IM',\n IND: 'IN',\n IOT: 'IO',\n IRL: 'IE',\n IRN: 'IR',\n IRQ: 'IQ',\n ISL: 'IS',\n ISR: 'IL',\n ITA: 'IT',\n JAM: 'JM',\n JEY: 'JE',\n JOR: 'JO',\n JPN: 'JP',\n KAZ: 'KZ',\n KEN: 'KE',\n KGZ: 'KG',\n KHM: 'KH',\n KIR: 'KI',\n KNA: 'KN',\n KOR: 'KR',\n KWT: 'KW',\n LAO: 'LA',\n LBN: 'LB',\n LBR: 'LR',\n LBY: 'LY',\n LCA: 'LC',\n LIE: 'LI',\n LKA: 'LK',\n LSO: 'LS',\n LTU: 'LT',\n LUX: 'LU',\n LVA: 'LV',\n MAC: 'MO',\n MAF: 'MF',\n MAR: 'MA',\n MCO: 'MC',\n MDA: 'MD',\n MDG: 'MG',\n MDV: 'MV',\n MEX: 'MX',\n MHL: 'MH',\n MKD: 'MK',\n MLI: 'ML',\n MLT: 'MT',\n MMR: 'MM',\n MNE: 'ME',\n MNG: 'MN',\n MNP: 'MP',\n MOZ: 'MZ',\n MRT: 'MR',\n MSR: 'MS',\n MTQ: 'MQ',\n MUS: 'MU',\n MWI: 'MW',\n MYS: 'MY',\n MYT: 'YT',\n NAM: 'NA',\n NCL: 'NC',\n NER: 'NE',\n NFK: 'NF',\n NGA: 'NG',\n NIC: 'NI',\n NIU: 'NU',\n NLD: 'NL',\n NOR: 'NO',\n NPL: 'NP',\n NRU: 'NR',\n NZL: 'NZ',\n OMN: 'OM',\n PAK: 'PK',\n PAN: 'PA',\n PCN: 'PN',\n PER: 'PE',\n PHL: 'PH',\n PLW: 'PW',\n PNG: 'PG',\n POL: 'PL',\n PRI: 'PR',\n PRK: 'KP',\n PRT: 'PT',\n PRY: 'PY',\n PSE: 'PS',\n PYF: 'PF',\n QAT: 'QA',\n REU: 'RE',\n ROU: 'RO',\n RUS: 'RU',\n RWA: 'RW',\n SAU: 'SA',\n SDN: 'SD',\n SEN: 'SN',\n SGP: 'SG',\n SGS: 'GS',\n SHN: 'SH',\n SJM: 'SJ',\n SLB: 'SB',\n SLE: 'SL',\n SLV: 'SV',\n SMR: 'SM',\n SOM: 'SO',\n SPM: 'PM',\n SRB: 'RS',\n SSD: 'SS',\n STP: 'ST',\n SUR: 'SR',\n SVK: 'SK',\n SVN: 'SI',\n SWE: 'SE',\n SWZ: 'SZ',\n SXM: 'SX',\n SYC: 'SC',\n SYR: 'SY',\n TCA: 'TC',\n TCD: 'TD',\n TGO: 'TG',\n THA: 'TH',\n TJK: 'TJ',\n TKL: 'TK',\n TKM: 'TM',\n TLS: 'TL',\n TON: 'TO',\n TTO: 'TT',\n TUN: 'TN',\n TUR: 'TR',\n TUV: 'TV',\n TWN: 'TW',\n TZA: 'TZ',\n UGA: 'UG',\n UKR: 'UA',\n UMI: 'UM',\n URY: 'UY',\n USA: 'US',\n UZB: 'UZ',\n VAT: 'VA',\n VCT: 'VC',\n VEN: 'VE',\n VGB: 'VG',\n VIR: 'VI',\n VNM: 'VN',\n VUT: 'VU',\n WLF: 'WF',\n WSM: 'WS',\n YEM: 'YE',\n ZAF: 'ZA',\n ZMB: 'ZM',\n ZWE: 'ZW',\n};\n"],"mappings":";;;;;;;AAMA,MAAa,mBAAqD;CAChE,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { isCountryField } from "./constants.js";
|
|
2
|
+
//#region src/sdk/address/layouts.ts
|
|
3
|
+
/**
|
|
4
|
+
* A line is written as it prints, with each field in braces: `{city}, {state} {postalCode}`. The
|
|
5
|
+
* text before a field is its separator. Only the first field of a line has none.
|
|
6
|
+
*/
|
|
7
|
+
function parseLine(line) {
|
|
8
|
+
const parts = [];
|
|
9
|
+
let cursor = 0;
|
|
10
|
+
for (const match of line.matchAll(/\{(\w+)\}/g)) {
|
|
11
|
+
const field = match[1] ?? "";
|
|
12
|
+
const separator = line.slice(cursor, match.index);
|
|
13
|
+
cursor = match.index + match[0].length;
|
|
14
|
+
if (!isCountryField(field)) throw new Error(`Unknown address field "${field}" in layout line "${line}"`);
|
|
15
|
+
parts.push(separator === "" ? { field } : {
|
|
16
|
+
field,
|
|
17
|
+
separator
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return parts;
|
|
21
|
+
}
|
|
22
|
+
function layout(...lines) {
|
|
23
|
+
return lines.map(parseLine);
|
|
24
|
+
}
|
|
25
|
+
const NORTH_AMERICA = layout("{number} {street}", "{complement}", "{neighborhood}", "{city}, {state} {postalCode}");
|
|
26
|
+
const ISLES = layout("{number} {street}", "{complement}", "{neighborhood}", "{city}", "{state}", "{postalCode}");
|
|
27
|
+
function withStateLine(street, locality) {
|
|
28
|
+
return layout(street, "{complement}", "{neighborhood}", locality, "{state}");
|
|
29
|
+
}
|
|
30
|
+
/** Used for every country the library does not cover. */
|
|
31
|
+
const DEFAULT_LAYOUT = layout("{street}, {number}", "{complement}", "{neighborhood}", "{city}, {state} {postalCode}");
|
|
32
|
+
/**
|
|
33
|
+
* How each covered country prints an address. The library's field order is the form's, not the
|
|
34
|
+
* mail's, so it cannot stand in for this. Every layout places each of the seven fields once.
|
|
35
|
+
*/
|
|
36
|
+
const ADDRESS_LAYOUTS = {
|
|
37
|
+
BRA: layout("{street}, {number} - {complement}", "{neighborhood}", "{city} - {state}", "{postalCode}"),
|
|
38
|
+
USA: NORTH_AMERICA,
|
|
39
|
+
CAN: NORTH_AMERICA,
|
|
40
|
+
GBR: ISLES,
|
|
41
|
+
IRL: ISLES,
|
|
42
|
+
FRA: withStateLine("{number} {street}", "{postalCode} {city}"),
|
|
43
|
+
ITA: layout("{street}, {number}", "{complement}", "{neighborhood}", "{postalCode} {city} {state}"),
|
|
44
|
+
DEU: withStateLine("{street} {number}", "{postalCode} {city}"),
|
|
45
|
+
ARG: withStateLine("{street} {number}", "{postalCode} {city}"),
|
|
46
|
+
ESP: withStateLine("{street}, {number}", "{postalCode} {city}"),
|
|
47
|
+
MEX: layout("{street} {number}", "{complement}", "{neighborhood}", "{postalCode} {city}, {state}"),
|
|
48
|
+
COL: layout("{street} {number}", "{complement}", "{neighborhood}", "{city}, {state}", "{postalCode}"),
|
|
49
|
+
CHL: layout("{street} {number}", "{complement}", "{neighborhood}, {city}", "{state}", "{postalCode}"),
|
|
50
|
+
PER: layout("{street} {number}", "{complement}", "{neighborhood}, {city}", "{state} {postalCode}"),
|
|
51
|
+
ECU: layout("{street} {number}", "{complement}", "{neighborhood}", "{city} {postalCode}", "{state}")
|
|
52
|
+
};
|
|
53
|
+
//#endregion
|
|
54
|
+
export { ADDRESS_LAYOUTS, DEFAULT_LAYOUT };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=layouts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layouts.js","names":[],"sources":["../../../src/sdk/address/layouts.ts"],"sourcesContent":["import { isCountryField } from './constants.js';\nimport type { AddressDisplayLine, AddressDisplayPart } from './types.js';\n\n/**\n * A line is written as it prints, with each field in braces: `{city}, {state} {postalCode}`. The\n * text before a field is its separator. Only the first field of a line has none.\n */\nfunction parseLine(line: string): AddressDisplayLine {\n const parts: AddressDisplayPart[] = [];\n let cursor = 0;\n for (const match of line.matchAll(/\\{(\\w+)\\}/g)) {\n const field = match[1] ?? '';\n const separator = line.slice(cursor, match.index);\n cursor = match.index + match[0].length;\n if (!isCountryField(field)) {\n throw new Error(`Unknown address field \"${field}\" in layout line \"${line}\"`);\n }\n parts.push(separator === '' ? { field } : { field, separator });\n }\n return parts;\n}\n\nfunction layout(...lines: string[]): readonly AddressDisplayLine[] {\n return lines.map(parseLine);\n}\n\nconst NORTH_AMERICA = layout('{number} {street}', '{complement}', '{neighborhood}', '{city}, {state} {postalCode}');\n\nconst ISLES = layout('{number} {street}', '{complement}', '{neighborhood}', '{city}', '{state}', '{postalCode}');\n\nfunction withStateLine(street: string, locality: string): readonly AddressDisplayLine[] {\n return layout(street, '{complement}', '{neighborhood}', locality, '{state}');\n}\n\n/** Used for every country the library does not cover. */\nexport const DEFAULT_LAYOUT = layout(\n '{street}, {number}',\n '{complement}',\n '{neighborhood}',\n '{city}, {state} {postalCode}',\n);\n\n/**\n * How each covered country prints an address. The library's field order is the form's, not the\n * mail's, so it cannot stand in for this. Every layout places each of the seven fields once.\n */\nexport const ADDRESS_LAYOUTS: Readonly<Record<string, readonly AddressDisplayLine[]>> = {\n BRA: layout('{street}, {number} - {complement}', '{neighborhood}', '{city} - {state}', '{postalCode}'),\n USA: NORTH_AMERICA,\n CAN: NORTH_AMERICA,\n GBR: ISLES,\n IRL: ISLES,\n FRA: withStateLine('{number} {street}', '{postalCode} {city}'),\n ITA: layout('{street}, {number}', '{complement}', '{neighborhood}', '{postalCode} {city} {state}'),\n DEU: withStateLine('{street} {number}', '{postalCode} {city}'),\n ARG: withStateLine('{street} {number}', '{postalCode} {city}'),\n ESP: withStateLine('{street}, {number}', '{postalCode} {city}'),\n MEX: layout('{street} {number}', '{complement}', '{neighborhood}', '{postalCode} {city}, {state}'),\n COL: layout('{street} {number}', '{complement}', '{neighborhood}', '{city}, {state}', '{postalCode}'),\n CHL: layout('{street} {number}', '{complement}', '{neighborhood}, {city}', '{state}', '{postalCode}'),\n PER: layout('{street} {number}', '{complement}', '{neighborhood}, {city}', '{state} {postalCode}'),\n ECU: layout('{street} {number}', '{complement}', '{neighborhood}', '{city} {postalCode}', '{state}'),\n};\n"],"mappings":";;;;;;AAOA,SAAS,UAAU,MAAkC;CACnD,MAAM,QAA8B,CAAC;CACrC,IAAI,SAAS;CACb,KAAK,MAAM,SAAS,KAAK,SAAS,YAAY,GAAG;EAC/C,MAAM,QAAQ,MAAM,MAAM;EAC1B,MAAM,YAAY,KAAK,MAAM,QAAQ,MAAM,KAAK;EAChD,SAAS,MAAM,QAAQ,MAAM,EAAE,CAAC;EAChC,IAAI,CAAC,eAAe,KAAK,GACvB,MAAM,IAAI,MAAM,0BAA0B,MAAM,oBAAoB,KAAK,EAAE;EAE7E,MAAM,KAAK,cAAc,KAAK,EAAE,MAAM,IAAI;GAAE;GAAO;EAAU,CAAC;CAChE;CACA,OAAO;AACT;AAEA,SAAS,OAAO,GAAG,OAAgD;CACjE,OAAO,MAAM,IAAI,SAAS;AAC5B;AAEA,MAAM,gBAAgB,OAAO,qBAAqB,gBAAgB,kBAAkB,8BAA8B;AAElH,MAAM,QAAQ,OAAO,qBAAqB,gBAAgB,kBAAkB,UAAU,WAAW,cAAc;AAE/G,SAAS,cAAc,QAAgB,UAAiD;CACtF,OAAO,OAAO,QAAQ,gBAAgB,kBAAkB,UAAU,SAAS;AAC7E;;AAGA,MAAa,iBAAiB,OAC5B,sBACA,gBACA,kBACA,8BACF;;;;;AAMA,MAAa,kBAA2E;CACtF,KAAK,OAAO,qCAAqC,kBAAkB,oBAAoB,cAAc;CACrG,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK,cAAc,qBAAqB,qBAAqB;CAC7D,KAAK,OAAO,sBAAsB,gBAAgB,kBAAkB,6BAA6B;CACjG,KAAK,cAAc,qBAAqB,qBAAqB;CAC7D,KAAK,cAAc,qBAAqB,qBAAqB;CAC7D,KAAK,cAAc,sBAAsB,qBAAqB;CAC9D,KAAK,OAAO,qBAAqB,gBAAgB,kBAAkB,8BAA8B;CACjG,KAAK,OAAO,qBAAqB,gBAAgB,kBAAkB,mBAAmB,cAAc;CACpG,KAAK,OAAO,qBAAqB,gBAAgB,0BAA0B,WAAW,cAAc;CACpG,KAAK,OAAO,qBAAqB,gBAAgB,0BAA0B,sBAAsB;CACjG,KAAK,OAAO,qBAAqB,gBAAgB,kBAAkB,uBAAuB,SAAS;AACrG"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
//#region src/sdk/address/messages.ts
|
|
2
|
+
const POSTAL_CODE_PLACEHOLDER_PREFIX = "country-forms.address.postalCode.placeholder.";
|
|
3
|
+
const POSTAL_CODE_ERROR_PREFIX = "country-forms.validation.postalCode.";
|
|
4
|
+
/** The library's label key for a field, mapped by meaning: `state.label.COL` and `department.label` agree. */
|
|
5
|
+
const LABEL_IDS = {
|
|
6
|
+
"country-forms.address.postalCode.label": "fs/address.field.postal-code",
|
|
7
|
+
"country-forms.address.postalCode.label.GBR": "fs/address.field.postcode",
|
|
8
|
+
"country-forms.address.street.label": "fs/address.field.street",
|
|
9
|
+
"country-forms.address.number.label": "fs/address.field.number",
|
|
10
|
+
"country-forms.address.complement.label": "fs/address.field.complement",
|
|
11
|
+
"country-forms.address.neighborhood.label": "fs/address.field.neighborhood",
|
|
12
|
+
"country-forms.address.neighborhood.label.CHL": "fs/address.field.commune",
|
|
13
|
+
"country-forms.address.neighborhood.label.PER": "fs/address.field.district",
|
|
14
|
+
"country-forms.address.city.label": "fs/address.field.city",
|
|
15
|
+
"country-forms.address.city.label.ECU": "fs/address.field.city",
|
|
16
|
+
"country-forms.address.city.label.GBR": "fs/address.field.town",
|
|
17
|
+
"country-forms.address.city.label.COL": "fs/address.field.municipality",
|
|
18
|
+
"country-forms.address.city.label.PER": "fs/address.field.province",
|
|
19
|
+
"country-forms.address.state.label": "fs/address.field.state",
|
|
20
|
+
"country-forms.address.state.label.CHL": "fs/address.field.region",
|
|
21
|
+
"country-forms.address.state.label.COL": "fs/address.field.department",
|
|
22
|
+
"country-forms.address.state.label.PER": "fs/address.field.department",
|
|
23
|
+
"country-forms.address.state.label.ECU": "fs/address.field.province",
|
|
24
|
+
"country-forms.address.state.label.ITA": "fs/address.field.province",
|
|
25
|
+
"country-forms.address.state.label.GBR": "fs/address.field.county",
|
|
26
|
+
"country-forms.address.state.label.IRL": "fs/address.field.county",
|
|
27
|
+
"country-forms.address.department.label": "fs/address.field.department"
|
|
28
|
+
};
|
|
29
|
+
/** The label of a field whose library key this module does not know. */
|
|
30
|
+
const FIELD_LABEL_IDS = {
|
|
31
|
+
postalCode: "fs/address.field.postal-code",
|
|
32
|
+
street: "fs/address.field.street",
|
|
33
|
+
number: "fs/address.field.number",
|
|
34
|
+
complement: "fs/address.field.complement",
|
|
35
|
+
neighborhood: "fs/address.field.neighborhood",
|
|
36
|
+
state: "fs/address.field.state",
|
|
37
|
+
city: "fs/address.field.city"
|
|
38
|
+
};
|
|
39
|
+
const STREET_PLACEHOLDER_KEY = "country-forms.address.street.placeholder";
|
|
40
|
+
/** Examples in the stored, masked form. The library's own placeholders, one per country. */
|
|
41
|
+
const POSTAL_CODE_EXAMPLES = {
|
|
42
|
+
ARG: "C1425ABC",
|
|
43
|
+
BRA: "01310-100",
|
|
44
|
+
CAN: "K1A 0A9",
|
|
45
|
+
CHL: "8320000",
|
|
46
|
+
COL: "110111",
|
|
47
|
+
DEU: "10115",
|
|
48
|
+
ECU: "170150",
|
|
49
|
+
ESP: "28001",
|
|
50
|
+
FRA: "75001",
|
|
51
|
+
GBR: "SW1A 1AA",
|
|
52
|
+
IRL: "D02 AF30",
|
|
53
|
+
ITA: "00118",
|
|
54
|
+
MEX: "06600",
|
|
55
|
+
PER: "15074",
|
|
56
|
+
USA: "10001-1234"
|
|
57
|
+
};
|
|
58
|
+
function resolveLabelId(key, field, country) {
|
|
59
|
+
if (country === "BRA" && field === "postalCode") return "fs/address.field.cep";
|
|
60
|
+
return LABEL_IDS[key] ?? FIELD_LABEL_IDS[field];
|
|
61
|
+
}
|
|
62
|
+
function resolvePlaceholder(key, country) {
|
|
63
|
+
if (key === "country-forms.address.street.placeholder") return {
|
|
64
|
+
id: "fs/address.placeholder.street",
|
|
65
|
+
values: {}
|
|
66
|
+
};
|
|
67
|
+
const example = POSTAL_CODE_EXAMPLES[country];
|
|
68
|
+
if (key?.startsWith(POSTAL_CODE_PLACEHOLDER_PREFIX) && example !== void 0) return {
|
|
69
|
+
id: "fs/address.placeholder.postal-code",
|
|
70
|
+
values: { example }
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function error(code, messageId, values) {
|
|
74
|
+
return values === void 0 ? {
|
|
75
|
+
code,
|
|
76
|
+
messageId
|
|
77
|
+
} : {
|
|
78
|
+
code,
|
|
79
|
+
messageId,
|
|
80
|
+
values
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Turns the message key the library returned for a field into an error. A key this module does not
|
|
85
|
+
* know is `invalid`, so a newer library never produces an error the form cannot word.
|
|
86
|
+
*/
|
|
87
|
+
function resolveLibraryError(key, { country, maxLength }) {
|
|
88
|
+
if (key === "country-forms.validation.required") return error("required", "fs/address.error.required");
|
|
89
|
+
if (key === "country-forms.validation.maxLength" && maxLength !== void 0) return error("tooLong", "fs/address.error.too-long", { maxLength });
|
|
90
|
+
const example = POSTAL_CODE_EXAMPLES[country];
|
|
91
|
+
if (key.startsWith(POSTAL_CODE_ERROR_PREFIX) && example !== void 0) return error("invalid", country === "BRA" ? "fs/address.error.cep" : "fs/address.error.postal-code", { example });
|
|
92
|
+
return error("invalid", "fs/address.error.invalid");
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
export { LABEL_IDS, POSTAL_CODE_EXAMPLES, STREET_PLACEHOLDER_KEY, resolveLabelId, resolveLibraryError, resolvePlaceholder };
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","names":[],"sources":["../../../src/sdk/address/messages.ts"],"sourcesContent":["import type { MessageId } from '../i18n/client.js';\nimport type { AddressErrorCode, AddressFieldError, CountryFieldName } from './types.js';\n\nconst POSTAL_CODE_PLACEHOLDER_PREFIX = 'country-forms.address.postalCode.placeholder.';\nconst POSTAL_CODE_ERROR_PREFIX = 'country-forms.validation.postalCode.';\n\n/** The library's label key for a field, mapped by meaning: `state.label.COL` and `department.label` agree. */\nexport const LABEL_IDS: Readonly<Record<string, MessageId>> = {\n 'country-forms.address.postalCode.label': 'fs/address.field.postal-code',\n 'country-forms.address.postalCode.label.GBR': 'fs/address.field.postcode',\n 'country-forms.address.street.label': 'fs/address.field.street',\n 'country-forms.address.number.label': 'fs/address.field.number',\n 'country-forms.address.complement.label': 'fs/address.field.complement',\n 'country-forms.address.neighborhood.label': 'fs/address.field.neighborhood',\n 'country-forms.address.neighborhood.label.CHL': 'fs/address.field.commune',\n 'country-forms.address.neighborhood.label.PER': 'fs/address.field.district',\n 'country-forms.address.city.label': 'fs/address.field.city',\n 'country-forms.address.city.label.ECU': 'fs/address.field.city',\n 'country-forms.address.city.label.GBR': 'fs/address.field.town',\n 'country-forms.address.city.label.COL': 'fs/address.field.municipality',\n 'country-forms.address.city.label.PER': 'fs/address.field.province',\n 'country-forms.address.state.label': 'fs/address.field.state',\n 'country-forms.address.state.label.CHL': 'fs/address.field.region',\n 'country-forms.address.state.label.COL': 'fs/address.field.department',\n 'country-forms.address.state.label.PER': 'fs/address.field.department',\n 'country-forms.address.state.label.ECU': 'fs/address.field.province',\n 'country-forms.address.state.label.ITA': 'fs/address.field.province',\n 'country-forms.address.state.label.GBR': 'fs/address.field.county',\n 'country-forms.address.state.label.IRL': 'fs/address.field.county',\n 'country-forms.address.department.label': 'fs/address.field.department',\n};\n\n/** The label of a field whose library key this module does not know. */\nconst FIELD_LABEL_IDS: Readonly<Record<CountryFieldName, MessageId>> = {\n postalCode: 'fs/address.field.postal-code',\n street: 'fs/address.field.street',\n number: 'fs/address.field.number',\n complement: 'fs/address.field.complement',\n neighborhood: 'fs/address.field.neighborhood',\n state: 'fs/address.field.state',\n city: 'fs/address.field.city',\n};\n\nexport const STREET_PLACEHOLDER_KEY = 'country-forms.address.street.placeholder';\n\n/** Examples in the stored, masked form. The library's own placeholders, one per country. */\nexport const POSTAL_CODE_EXAMPLES: Readonly<Record<string, string>> = {\n ARG: 'C1425ABC',\n BRA: '01310-100',\n CAN: 'K1A 0A9',\n CHL: '8320000',\n COL: '110111',\n DEU: '10115',\n ECU: '170150',\n ESP: '28001',\n FRA: '75001',\n GBR: 'SW1A 1AA',\n IRL: 'D02 AF30',\n ITA: '00118',\n MEX: '06600',\n PER: '15074',\n USA: '10001-1234',\n};\n\nexport function resolveLabelId(key: string, field: CountryFieldName, country: string): MessageId {\n if (country === 'BRA' && field === 'postalCode') {\n return 'fs/address.field.cep';\n }\n return LABEL_IDS[key] ?? FIELD_LABEL_IDS[field];\n}\n\nexport function resolvePlaceholder(\n key: string | undefined,\n country: string,\n): Readonly<{ id: MessageId; values: Readonly<Record<string, string>> }> | undefined {\n if (key === STREET_PLACEHOLDER_KEY) {\n return { id: 'fs/address.placeholder.street', values: {} };\n }\n const example = POSTAL_CODE_EXAMPLES[country];\n if (key?.startsWith(POSTAL_CODE_PLACEHOLDER_PREFIX) && example !== undefined) {\n return { id: 'fs/address.placeholder.postal-code', values: { example } };\n }\n return undefined;\n}\n\nfunction error(code: AddressErrorCode, messageId: MessageId, values?: Record<string, string | number>) {\n return values === undefined ? { code, messageId } : { code, messageId, values };\n}\n\n/**\n * Turns the message key the library returned for a field into an error. A key this module does not\n * know is `invalid`, so a newer library never produces an error the form cannot word.\n */\nexport function resolveLibraryError(\n key: string,\n { country, maxLength }: Readonly<{ country: string; maxLength?: number }>,\n): AddressFieldError {\n if (key === 'country-forms.validation.required') {\n return error('required', 'fs/address.error.required');\n }\n if (key === 'country-forms.validation.maxLength' && maxLength !== undefined) {\n return error('tooLong', 'fs/address.error.too-long', { maxLength });\n }\n const example = POSTAL_CODE_EXAMPLES[country];\n if (key.startsWith(POSTAL_CODE_ERROR_PREFIX) && example !== undefined) {\n return error('invalid', country === 'BRA' ? 'fs/address.error.cep' : 'fs/address.error.postal-code', { example });\n }\n return error('invalid', 'fs/address.error.invalid');\n}\n"],"mappings":";AAGA,MAAM,iCAAiC;AACvC,MAAM,2BAA2B;;AAGjC,MAAa,YAAiD;CAC5D,0CAA0C;CAC1C,8CAA8C;CAC9C,sCAAsC;CACtC,sCAAsC;CACtC,0CAA0C;CAC1C,4CAA4C;CAC5C,gDAAgD;CAChD,gDAAgD;CAChD,oCAAoC;CACpC,wCAAwC;CACxC,wCAAwC;CACxC,wCAAwC;CACxC,wCAAwC;CACxC,qCAAqC;CACrC,yCAAyC;CACzC,yCAAyC;CACzC,yCAAyC;CACzC,yCAAyC;CACzC,yCAAyC;CACzC,yCAAyC;CACzC,yCAAyC;CACzC,0CAA0C;AAC5C;;AAGA,MAAM,kBAAiE;CACrE,YAAY;CACZ,QAAQ;CACR,QAAQ;CACR,YAAY;CACZ,cAAc;CACd,OAAO;CACP,MAAM;AACR;AAEA,MAAa,yBAAyB;;AAGtC,MAAa,uBAAyD;CACpE,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,SAAgB,eAAe,KAAa,OAAyB,SAA4B;CAC/F,IAAI,YAAY,SAAS,UAAU,cACjC,OAAO;CAET,OAAO,UAAU,QAAQ,gBAAgB;AAC3C;AAEA,SAAgB,mBACd,KACA,SACmF;CACnF,IAAI,QAAA,4CACF,OAAO;EAAE,IAAI;EAAiC,QAAQ,CAAC;CAAE;CAE3D,MAAM,UAAU,qBAAqB;CACrC,IAAI,KAAK,WAAW,8BAA8B,KAAK,YAAY,KAAA,GACjE,OAAO;EAAE,IAAI;EAAsC,QAAQ,EAAE,QAAQ;CAAE;AAG3E;AAEA,SAAS,MAAM,MAAwB,WAAsB,QAA0C;CACrG,OAAO,WAAW,KAAA,IAAY;EAAE;EAAM;CAAU,IAAI;EAAE;EAAM;EAAW;CAAO;AAChF;;;;;AAMA,SAAgB,oBACd,KACA,EAAE,SAAS,aACQ;CACnB,IAAI,QAAQ,qCACV,OAAO,MAAM,YAAY,2BAA2B;CAEtD,IAAI,QAAQ,wCAAwC,cAAc,KAAA,GAChE,OAAO,MAAM,WAAW,6BAA6B,EAAE,UAAU,CAAC;CAEpE,MAAM,UAAU,qBAAqB;CACrC,IAAI,IAAI,WAAW,wBAAwB,KAAK,YAAY,KAAA,GAC1D,OAAO,MAAM,WAAW,YAAY,QAAQ,yBAAyB,gCAAgC,EAAE,QAAQ,CAAC;CAElH,OAAO,MAAM,WAAW,0BAA0B;AACpD"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { TypedDocumentNode } from "@apollo/client";
|
|
2
|
+
//#region src/sdk/address/operations.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* The saved-address write documents and the cache-only lookup of the address book.
|
|
5
|
+
*
|
|
6
|
+
* Authored with the hand `gql` tag and excluded from the codegen `documents` glob (see
|
|
7
|
+
* `codegen.ts`), like the identity and region writes: the `gql` tag alone is still plucked by
|
|
8
|
+
* `graphql-codegen`, which would emit duplicates of these hand-written types in `sdk/generated/`.
|
|
9
|
+
*
|
|
10
|
+
* The create and update payloads select every field the list item reads, `__typename` and `id`
|
|
11
|
+
* included, so the response merges into the normalized cache and every subscriber of the entity
|
|
12
|
+
* re-renders with no refetch. A create still needs the list edit the action performs: a new entity
|
|
13
|
+
* is in no list until something appends it.
|
|
14
|
+
*
|
|
15
|
+
* Failures follow ADR-00007's two paths: a refused address arrives as payload `userErrors`, and
|
|
16
|
+
* transport or top-level GraphQL failures are infrastructure, which the handlers map to one
|
|
17
|
+
* client-synthesized code.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* A refused write or a client-synthesized failure. `code` is the server's `CustomerAddressErrorCode`
|
|
21
|
+
* (`NOT_FOUND`, `MISSING_REQUIRED_FIELD`, `INVALID_VALUE`, `UNSUPPORTED_COUNTRY`) or one of the two
|
|
22
|
+
* the client adds, `NETWORK_ERROR` and `UNAUTHORIZED`. `field` is a `CustomerAddressField` such as
|
|
23
|
+
* `POSTAL_CODE`, and null when the failure is about the address as a whole.
|
|
24
|
+
*/
|
|
25
|
+
export type CustomerAddressUserError = Readonly<{
|
|
26
|
+
code: string;
|
|
27
|
+
message: string;
|
|
28
|
+
field: string | null;
|
|
29
|
+
}>;
|
|
30
|
+
/** The fields an address carries besides its country. */
|
|
31
|
+
export type CustomerAddressFields = Readonly<{
|
|
32
|
+
recipientName?: string;
|
|
33
|
+
street?: string;
|
|
34
|
+
number?: string;
|
|
35
|
+
complement?: string;
|
|
36
|
+
neighborhood?: string;
|
|
37
|
+
city?: string;
|
|
38
|
+
state?: string;
|
|
39
|
+
postalCode?: string;
|
|
40
|
+
reference?: string;
|
|
41
|
+
}>;
|
|
42
|
+
/** Mirrors `CustomerAddressCreateInput`. An omitted or empty field is not written. */
|
|
43
|
+
export type AddressCreatePayload = CustomerAddressFields & Readonly<{
|
|
44
|
+
country: string;
|
|
45
|
+
}>;
|
|
46
|
+
/** Mirrors `CustomerAddressUpdateInput` plus the id. Omit a field to keep it; `''` erases it. */
|
|
47
|
+
export type AddressUpdatePayload = CustomerAddressFields & Readonly<{
|
|
48
|
+
id: string;
|
|
49
|
+
}>;
|
|
50
|
+
export type AddressRemovePayload = Readonly<{
|
|
51
|
+
id: string;
|
|
52
|
+
}>;
|
|
53
|
+
//#endregion
|
|
54
|
+
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { gql } from "../graphql-tag.js";
|
|
2
|
+
//#region src/sdk/address/operations.ts
|
|
3
|
+
const CUSTOMER_ADDRESS_CREATE = gql`
|
|
4
|
+
mutation CustomerAddressCreate($input: CustomerAddressCreateInput!) {
|
|
5
|
+
customerAddressCreate(input: $input) {
|
|
6
|
+
__typename
|
|
7
|
+
customerAddress {
|
|
8
|
+
__typename
|
|
9
|
+
id
|
|
10
|
+
country
|
|
11
|
+
recipientName
|
|
12
|
+
street
|
|
13
|
+
number
|
|
14
|
+
complement
|
|
15
|
+
neighborhood
|
|
16
|
+
city
|
|
17
|
+
state
|
|
18
|
+
postalCode
|
|
19
|
+
reference
|
|
20
|
+
}
|
|
21
|
+
userErrors {
|
|
22
|
+
code
|
|
23
|
+
message
|
|
24
|
+
field
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
const CUSTOMER_ADDRESS_UPDATE = gql`
|
|
30
|
+
mutation CustomerAddressUpdate($id: ID!, $input: CustomerAddressUpdateInput!) {
|
|
31
|
+
customerAddressUpdate(id: $id, input: $input) {
|
|
32
|
+
__typename
|
|
33
|
+
customerAddress {
|
|
34
|
+
__typename
|
|
35
|
+
id
|
|
36
|
+
country
|
|
37
|
+
recipientName
|
|
38
|
+
street
|
|
39
|
+
number
|
|
40
|
+
complement
|
|
41
|
+
neighborhood
|
|
42
|
+
city
|
|
43
|
+
state
|
|
44
|
+
postalCode
|
|
45
|
+
reference
|
|
46
|
+
}
|
|
47
|
+
userErrors {
|
|
48
|
+
code
|
|
49
|
+
message
|
|
50
|
+
field
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
`;
|
|
55
|
+
const CUSTOMER_ADDRESS_DELETE = gql`
|
|
56
|
+
mutation CustomerAddressDelete($id: ID!) {
|
|
57
|
+
customerAddressDelete(id: $id) {
|
|
58
|
+
__typename
|
|
59
|
+
deletedCustomerAddressId
|
|
60
|
+
userErrors {
|
|
61
|
+
code
|
|
62
|
+
message
|
|
63
|
+
field
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
`;
|
|
68
|
+
/**
|
|
69
|
+
* Read from the cache only (`cache.readQuery`), never sent: it names the cached address book so a
|
|
70
|
+
* create can append to its list. `null` when no list is mounted.
|
|
71
|
+
*/
|
|
72
|
+
const CUSTOMER_ADDRESS_BOOK_IDENTITY = gql`
|
|
73
|
+
query CustomerAddressBookIdentity {
|
|
74
|
+
customerAddressBook {
|
|
75
|
+
__typename
|
|
76
|
+
id
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
`;
|
|
80
|
+
//#endregion
|
|
81
|
+
export { CUSTOMER_ADDRESS_BOOK_IDENTITY, CUSTOMER_ADDRESS_CREATE, CUSTOMER_ADDRESS_DELETE, CUSTOMER_ADDRESS_UPDATE };
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","names":[],"sources":["../../../src/sdk/address/operations.ts"],"sourcesContent":["import type { TypedDocumentNode } from '@apollo/client';\nimport { gql } from '../graphql-tag.js';\n\n/**\n * The saved-address write documents and the cache-only lookup of the address book.\n *\n * Authored with the hand `gql` tag and excluded from the codegen `documents` glob (see\n * `codegen.ts`), like the identity and region writes: the `gql` tag alone is still plucked by\n * `graphql-codegen`, which would emit duplicates of these hand-written types in `sdk/generated/`.\n *\n * The create and update payloads select every field the list item reads, `__typename` and `id`\n * included, so the response merges into the normalized cache and every subscriber of the entity\n * re-renders with no refetch. A create still needs the list edit the action performs: a new entity\n * is in no list until something appends it.\n *\n * Failures follow ADR-00007's two paths: a refused address arrives as payload `userErrors`, and\n * transport or top-level GraphQL failures are infrastructure, which the handlers map to one\n * client-synthesized code.\n */\n\n/**\n * A refused write or a client-synthesized failure. `code` is the server's `CustomerAddressErrorCode`\n * (`NOT_FOUND`, `MISSING_REQUIRED_FIELD`, `INVALID_VALUE`, `UNSUPPORTED_COUNTRY`) or one of the two\n * the client adds, `NETWORK_ERROR` and `UNAUTHORIZED`. `field` is a `CustomerAddressField` such as\n * `POSTAL_CODE`, and null when the failure is about the address as a whole.\n */\nexport type CustomerAddressUserError = Readonly<{\n code: string;\n message: string;\n field: string | null;\n}>;\n\n/** The fields an address carries besides its country. */\nexport type CustomerAddressFields = Readonly<{\n recipientName?: string;\n street?: string;\n number?: string;\n complement?: string;\n neighborhood?: string;\n city?: string;\n state?: string;\n postalCode?: string;\n reference?: string;\n}>;\n\n/** Mirrors `CustomerAddressCreateInput`. An omitted or empty field is not written. */\nexport type AddressCreatePayload = CustomerAddressFields & Readonly<{ country: string }>;\n\n/** Mirrors `CustomerAddressUpdateInput` plus the id. Omit a field to keep it; `''` erases it. */\nexport type AddressUpdatePayload = CustomerAddressFields & Readonly<{ id: string }>;\n\nexport type AddressRemovePayload = Readonly<{ id: string }>;\n\n/** The `CustomerAddress` slice the create and update payloads select. */\nexport type CustomerAddressEntity = Readonly<{\n __typename?: 'CustomerAddress';\n id: string;\n country: string | null;\n recipientName: string | null;\n street: string | null;\n number: string | null;\n complement: string | null;\n neighborhood: string | null;\n city: string | null;\n state: string | null;\n postalCode: string | null;\n reference: string | null;\n}>;\n\ntype CustomerAddressWriteData<Key extends string> = {\n [K in Key]: Readonly<{\n __typename?: string;\n customerAddress: CustomerAddressEntity | null;\n userErrors: readonly CustomerAddressUserError[];\n }>;\n};\n\nexport type CustomerAddressDeleteData = {\n customerAddressDelete: Readonly<{\n __typename?: 'CustomerAddressDeletePayload';\n deletedCustomerAddressId: string | null;\n userErrors: readonly CustomerAddressUserError[];\n }>;\n};\n\nexport type CustomerAddressBookIdentityData = {\n customerAddressBook: Readonly<{ __typename: 'CustomerAddressBook'; id: string }> | null;\n};\n\nexport const CUSTOMER_ADDRESS_CREATE: TypedDocumentNode<\n CustomerAddressWriteData<'customerAddressCreate'>,\n { input: AddressCreatePayload }\n> = gql`\n mutation CustomerAddressCreate($input: CustomerAddressCreateInput!) {\n customerAddressCreate(input: $input) {\n __typename\n customerAddress {\n __typename\n id\n country\n recipientName\n street\n number\n complement\n neighborhood\n city\n state\n postalCode\n reference\n }\n userErrors {\n code\n message\n field\n }\n }\n }\n`;\n\nexport const CUSTOMER_ADDRESS_UPDATE: TypedDocumentNode<\n CustomerAddressWriteData<'customerAddressUpdate'>,\n { id: string; input: CustomerAddressFields }\n> = gql`\n mutation CustomerAddressUpdate($id: ID!, $input: CustomerAddressUpdateInput!) {\n customerAddressUpdate(id: $id, input: $input) {\n __typename\n customerAddress {\n __typename\n id\n country\n recipientName\n street\n number\n complement\n neighborhood\n city\n state\n postalCode\n reference\n }\n userErrors {\n code\n message\n field\n }\n }\n }\n`;\n\nexport const CUSTOMER_ADDRESS_DELETE: TypedDocumentNode<CustomerAddressDeleteData, { id: string }> = gql`\n mutation CustomerAddressDelete($id: ID!) {\n customerAddressDelete(id: $id) {\n __typename\n deletedCustomerAddressId\n userErrors {\n code\n message\n field\n }\n }\n }\n`;\n\n/**\n * Read from the cache only (`cache.readQuery`), never sent: it names the cached address book so a\n * create can append to its list. `null` when no list is mounted.\n */\nexport const CUSTOMER_ADDRESS_BOOK_IDENTITY: TypedDocumentNode<CustomerAddressBookIdentityData, never> = gql`\n query CustomerAddressBookIdentity {\n customerAddressBook {\n __typename\n id\n }\n }\n`;\n"],"mappings":";;AAyFA,MAAa,0BAGT,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BP,MAAa,0BAGT,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BP,MAAa,0BAAwF,GAAG;;;;;;;;;;;;;;;;;AAkBxG,MAAa,iCAA4F,GAAG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { graphql } from "../generated/gql.js";
|
|
2
|
+
//#region src/sdk/address/postal-code-lookup-operations.ts
|
|
3
|
+
/**
|
|
4
|
+
* Postal-code lookup GraphQL operation (specs/sfs-3430-address-by-postal-code.md).
|
|
5
|
+
*
|
|
6
|
+
* Authored via the codegen `graphql()` factory so codegen scans this document and generates
|
|
7
|
+
* `AddressByPostalCodeQuery` and its variables. The selection set is the four fields the platform
|
|
8
|
+
* resolves for a code; `useAddressByPostalCode` maps the result onto the lookup's three outcomes.
|
|
9
|
+
*/
|
|
10
|
+
const ADDRESS_BY_POSTAL_CODE = graphql(`
|
|
11
|
+
query AddressByPostalCode($country: String!, $postalCode: String!) {
|
|
12
|
+
addressByPostalCode(country: $country, postalCode: $postalCode) {
|
|
13
|
+
city
|
|
14
|
+
state
|
|
15
|
+
street
|
|
16
|
+
neighborhood
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
`);
|
|
20
|
+
//#endregion
|
|
21
|
+
export { ADDRESS_BY_POSTAL_CODE };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=postal-code-lookup-operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postal-code-lookup-operations.js","names":[],"sources":["../../../src/sdk/address/postal-code-lookup-operations.ts"],"sourcesContent":["import type { TypedDocumentNode } from '@apollo/client';\nimport { graphql } from '../generated/gql.js';\nimport type { AddressByPostalCodeQuery, AddressByPostalCodeQueryVariables } from '../generated/graphql.js';\n\n/**\n * Postal-code lookup GraphQL operation (specs/sfs-3430-address-by-postal-code.md).\n *\n * Authored via the codegen `graphql()` factory so codegen scans this document and generates\n * `AddressByPostalCodeQuery` and its variables. The selection set is the four fields the platform\n * resolves for a code; `useAddressByPostalCode` maps the result onto the lookup's three outcomes.\n */\nexport const ADDRESS_BY_POSTAL_CODE: TypedDocumentNode<AddressByPostalCodeQuery, AddressByPostalCodeQueryVariables> =\n graphql(`\n query AddressByPostalCode($country: String!, $postalCode: String!) {\n addressByPostalCode(country: $country, postalCode: $postalCode) {\n city\n state\n street\n neighborhood\n }\n }\n`);\n"],"mappings":";;;;;;;;;AAWA,MAAa,yBACX,QAAQ;;;;;;;;;CAST"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { POSTAL_CODE_LOOKUP_COUNTRIES } from "./constants.js";
|
|
2
|
+
import "@vtex/country-forms";
|
|
3
|
+
//#region src/sdk/address/postal-code.ts
|
|
4
|
+
/** Whether the form offers to fill the address from the postal code for this country. */
|
|
5
|
+
function hasPostalCodeLookup(country) {
|
|
6
|
+
return POSTAL_CODE_LOOKUP_COUNTRIES.includes(country.trim().toUpperCase());
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { hasPostalCodeLookup };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=postal-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postal-code.js","names":[],"sources":["../../../src/sdk/address/postal-code.ts"],"sourcesContent":["import { formatValue, resolveFieldFormatRef, resolveFieldUnformatRef, unformatValue } from '@vtex/country-forms';\nimport { POSTAL_CODE_LOOKUP_COUNTRIES } from './constants.js';\nimport type { CountryRules } from './types.js';\n\n/**\n * The stored form of a postal code: the country's masked form, such as `01001-000`, `20500-0003`, or\n * `SW1A 1AA`. The library accepts most codes with or without the mask but refuses an unmasked US\n * ZIP+4, so the masked form is the one every country accepts. A country with no mask stores the\n * trimmed value. Apply it to a value that passed `validateAddress`.\n */\nexport function normalizePostalCode(value: string, rules: CountryRules): string {\n const trimmed = value.trim();\n const field = rules.schema.fields.find(({ name }) => name === 'postalCode');\n if (!field) {\n return trimmed;\n }\n const values = { postalCode: trimmed };\n return formatValue(\n resolveFieldFormatRef(field, values),\n unformatValue(resolveFieldUnformatRef(field, values), trimmed),\n );\n}\n\n/** Whether the form offers to fill the address from the postal code for this country. */\nexport function hasPostalCodeLookup(country: string): boolean {\n return POSTAL_CODE_LOOKUP_COUNTRIES.includes(country.trim().toUpperCase());\n}\n"],"mappings":";;;;AAwBA,SAAgB,oBAAoB,SAA0B;CAC5D,OAAO,6BAA6B,SAAS,QAAQ,KAAK,CAAC,CAAC,YAAY,CAAC;AAC3E"}
|