@vtex/faststore 0.0.3 → 0.0.4

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.
@@ -43,6 +43,9 @@ import { FreeShippingProgress, FreeShippingProgressBar, FreeShippingProgressBarD
43
43
  import { IdentityEdit, IdentityEditButton, IdentityEditButtonDefinition, IdentityEditCancelButton, IdentityEditCancelButtonDefinition, IdentityEditController, IdentityEditControllerDefinition, IdentityEditForm, IdentityEditFormDefinition, IdentitySummaryView, IdentitySummaryViewDefinition } from "./matter/identity-edit/identity-edit.js";
44
44
  import { Badge, BadgeDefinition } from "./particles/badge/badge.js";
45
45
  import { IdentitySummary, IdentitySummaryBadge, IdentitySummaryBadgeDefinition, IdentitySummaryDocument, IdentitySummaryDocumentDefinition, IdentitySummaryEmail, IdentitySummaryEmailDefinition, IdentitySummaryError, IdentitySummaryErrorDefinition, IdentitySummaryName, IdentitySummaryNameDefinition, IdentitySummaryPhone, IdentitySummaryPhoneDefinition, IdentitySummaryRoot, IdentitySummaryRootDefinition, IdentitySummarySelectedSummary, IdentitySummarySelectedSummaryDefinition, IdentitySummarySignOutButton, IdentitySummarySignOutButtonDefinition } from "./matter/identity-summary/identity-summary.js";
46
+ import { Select, SelectArrow, SelectArrowDefinition, SelectBackdrop, SelectBackdropDefinition, SelectGroup, SelectGroupDefinition, SelectGroupLabel, SelectGroupLabelDefinition, SelectIcon, SelectIconDefinition, SelectItem, SelectItemDefinition, SelectItemIndicator, SelectItemIndicatorDefinition, SelectItemText, SelectItemTextDefinition, SelectLabel, SelectLabelDefinition, SelectList, SelectListDefinition, SelectPopup, SelectPopupDefinition, SelectPortal, SelectPortalDefinition, SelectPositioner, SelectPositionerDefinition, SelectRoot, SelectRootDefinition, SelectScrollDownArrow, SelectScrollDownArrowDefinition, SelectScrollUpArrow, SelectScrollUpArrowDefinition, SelectSeparator, SelectSeparatorDefinition, SelectTrigger, SelectTriggerDefinition, SelectValue, SelectValueDefinition } from "./particles/select/select.js";
47
+ import { Toast, ToastAction, ToastActionDefinition, ToastClose, ToastCloseDefinition, ToastDescription, ToastDescriptionDefinition, ToastPortal, ToastPortalDefinition, ToastProvider, ToastProviderDefinition, ToastRoot, ToastRootDefinition, ToastTitle, ToastTitleDefinition, ToastViewport, ToastViewportDefinition, useToast } from "./particles/toast/toast.js";
48
+ import { MyAccountProfile, MyAccountProfileBirthDateControl, MyAccountProfileBirthDateControlDefinition, MyAccountProfileCancelButton, MyAccountProfileCancelButtonDefinition, MyAccountProfileEditButton, MyAccountProfileEditButtonDefinition, MyAccountProfileEmail, MyAccountProfileEmailDefinition, MyAccountProfileFirstNameControl, MyAccountProfileFirstNameControlDefinition, MyAccountProfileGenderControl, MyAccountProfileGenderControlDefinition, MyAccountProfileLastNameControl, MyAccountProfileLastNameControlDefinition, MyAccountProfilePhoneControl, MyAccountProfilePhoneControlDefinition, MyAccountProfileRoot, MyAccountProfileRootDefinition, MyAccountProfileSaveButton, MyAccountProfileSaveButtonDefinition, MyAccountProfileSkeleton, MyAccountProfileSkeletonDefinition, MyAccountProfileTaxIdControl, MyAccountProfileTaxIdControlDefinition, useMyAccountProfile } from "./matter/my-account-profile/my-account-profile.js";
46
49
  import { Popover, PopoverArrow, PopoverArrowDefinition, PopoverBackdrop, PopoverBackdropDefinition, PopoverClose, PopoverCloseDefinition, PopoverDescription, PopoverDescriptionDefinition, PopoverPopup, PopoverPopupDefinition, PopoverPortal, PopoverPortalDefinition, PopoverPositioner, PopoverPositionerDefinition, PopoverRoot, PopoverRootDefinition, PopoverTitle, PopoverTitleDefinition, PopoverTrigger, PopoverTriggerDefinition, PopoverViewport, PopoverViewportDefinition } from "./particles/popover/popover.js";
47
50
  import { Tabs, TabsIndicator, TabsIndicatorDefinition, TabsList, TabsListDefinition, TabsPanel, TabsPanelDefinition, TabsRoot, TabsRootDefinition, TabsTab, TabsTabDefinition } from "./particles/tabs/tabs.js";
48
51
  import { Pricing, PricingDiscount, PricingDiscountDefinition, PricingHighlight, PricingHighlightDefinition, PricingHighlights, PricingHighlightsDefinition, PricingInstallment, PricingInstallmentDefinition, PricingInstallmentPlan, PricingInstallmentPlanDefinition, PricingInstallmentPlans, PricingInstallmentPlansDefinition, PricingInstallments, PricingInstallmentsDefinition, PricingInstallmentsForPlan, PricingInstallmentsForPlanDefinition, PricingListPrice, PricingListPriceDefinition, PricingPaymentMethodName, PricingPaymentMethodNameDefinition, PricingPaymentMethodsList, PricingPaymentMethodsListDefinition, PricingPaymentMethodsTabList, PricingPaymentMethodsTabListDefinition, PricingPaymentMethodsTabPanels, PricingPaymentMethodsTabPanelsDefinition, PricingPaymentMethodsTrigger, PricingPaymentMethodsTriggerDefinition, PricingPromotion, PricingPromotionDefinition, PricingPromotions, PricingPromotionsDefinition, PricingRoot, PricingRootDefinition, PricingSellingPrice, PricingSellingPriceDefinition, PricingSkeleton, PricingSpotDiscount, PricingSpotDiscountDefinition, PricingSpotPrice, PricingSpotPriceDefinition, useInstallmentPlanItem } from "./matter/pricing/pricing.js";
@@ -58,7 +61,6 @@ import { ProductShelf, ProductShelfHeading, ProductShelfHeadingDefinition, Produ
58
61
  import { PostalCodeField, PostalCodeFieldContent, PostalCodeFieldDefinition, applyPostalCodeMask, isPostalCodeComplete, stripPostalCodeMask } from "./particles/postal-code-field/postal-code-field.js";
59
62
  import { Region, RegionContext, RegionError, RegionErrorContent, RegionErrorDefinition, RegionForm, RegionFormDefinition, RegionLoading, RegionLoadingDefinition, RegionModalController, RegionModalControllerDefinition, RegionPostalCodeControl, RegionPostalCodeControlDefinition, RegionRoot, RegionRootDefinition, RegionSubmit, RegionSubmitContent, RegionSubmitDefinition, RegionTrigger, RegionTriggerContent, RegionTriggerDefinition, RegionUnknownLink, RegionUnknownLinkContent, RegionUnknownLinkDefinition, RegionValue, RegionValueDefinition, useRegion } from "./matter/region/region.js";
60
63
  import { AddressSummary, AddressSummaryDefinition, AddressSummaryLocality, AddressSummaryLocalityDefinition, AddressSummaryRecipient, AddressSummaryRecipientDefinition, AddressSummaryRoot, AddressSummaryRootDefinition, AddressSummaryStreet, AddressSummaryStreetDefinition } from "./particles/address-summary/address-summary.js";
61
- import { Select, SelectArrow, SelectArrowDefinition, SelectBackdrop, SelectBackdropDefinition, SelectGroup, SelectGroupDefinition, SelectGroupLabel, SelectGroupLabelDefinition, SelectIcon, SelectIconDefinition, SelectItem, SelectItemDefinition, SelectItemIndicator, SelectItemIndicatorDefinition, SelectItemText, SelectItemTextDefinition, SelectLabel, SelectLabelDefinition, SelectList, SelectListDefinition, SelectPopup, SelectPopupDefinition, SelectPortal, SelectPortalDefinition, SelectPositioner, SelectPositionerDefinition, SelectRoot, SelectRootDefinition, SelectScrollDownArrow, SelectScrollDownArrowDefinition, SelectScrollUpArrow, SelectScrollUpArrowDefinition, SelectSeparator, SelectSeparatorDefinition, SelectTrigger, SelectTriggerDefinition, SelectValue, SelectValueDefinition } from "./particles/select/select.js";
62
64
  import { 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 } from "./matter/shipping-address/shipping-address.js";
63
65
  import { Toggle, ToggleDefinition, ToggleGroup, ToggleGroupDefinition } from "./particles/toggle/toggle.js";
64
66
  import { PasswordField, PasswordFieldDefinition } from "./particles/password-field/password-field.js";
@@ -83,6 +85,5 @@ import { ScrollArea, ScrollAreaContent, ScrollAreaContentDefinition, ScrollAreaC
83
85
  import { Separator, SeparatorDefinition } from "./particles/separator/separator.js";
84
86
  import { Spinner, SpinnerDefinition } from "./particles/spinner/spinner.js";
85
87
  import { Switch, SwitchRoot, SwitchRootDefinition, SwitchThumb, SwitchThumbDefinition } from "./particles/switch/switch.js";
86
- import { Toast, ToastAction, ToastActionDefinition, ToastClose, ToastCloseDefinition, ToastDescription, ToastDescriptionDefinition, ToastPortal, ToastPortalDefinition, ToastProvider, ToastProviderDefinition, ToastRoot, ToastRootDefinition, ToastTitle, ToastTitleDefinition, ToastViewport, ToastViewportDefinition, useToast } from "./particles/toast/toast.js";
87
88
  import { Tooltip, TooltipArrow, TooltipArrowDefinition, TooltipPopup, TooltipPopupDefinition, TooltipPortal, TooltipPortalDefinition, TooltipPositioner, TooltipPositionerDefinition, TooltipProvider, TooltipProviderDefinition, TooltipRoot, TooltipRootDefinition, TooltipTrigger, TooltipTriggerDefinition, TooltipViewport, TooltipViewportDefinition } from "./particles/tooltip/tooltip.js";
88
- export { AccessCodeEmailControl, AccessCodeEmailControlDefinition, AccessCodeField, AccessCodeFieldDefinition, AccessCodeRequestControl, AccessCodeRequestControlDefinition, AccessCodeSignIn, AccessCodeSignInRoot, AccessCodeSignInRootDefinition, AccessCodeValidateControl, AccessCodeValidateControlDefinition, Accordion, AccordionHeader, AccordionHeaderDefinition, AccordionItem, AccordionItemDefinition, AccordionPanel, AccordionPanelDefinition, AccordionRoot, AccordionRootDefinition, AccordionTrigger, AccordionTriggerDefinition, AccountEntryPoint, AccountEntryPointContent, AccountEntryPointDefinition, AccountEntryPointLoading, AddressSummary, AddressSummaryDefinition, AddressSummaryLocality, AddressSummaryLocalityDefinition, AddressSummaryRecipient, AddressSummaryRecipientDefinition, AddressSummaryRoot, AddressSummaryRootDefinition, AddressSummaryStreet, AddressSummaryStreetDefinition, Badge, BadgeDefinition, Breadcrumb, BreadcrumbLink, BreadcrumbLinkDefinition, BreadcrumbList, BreadcrumbListDefinition, BreadcrumbRoot, BreadcrumbRootDefinition, BreadcrumbSeparator, BreadcrumbSeparatorDefinition, Button, ButtonDefinition, BuyButton, BuyButtonButton, BuyButtonButtonDefinition, BuyButtonLabels, BuyButtonRoot, BuyButtonRootDefinition, BuyButtonSkeleton, CART_ALERT_ICON_NAMES, Carousel, CarouselBullets, CarouselBulletsDefinition, CarouselNext, CarouselNextDefinition, CarouselPrevious, CarouselPreviousDefinition, CarouselRoot, CarouselRootDefinition, CarouselTrack, CarouselTrackDefinition, Cart, CartAlertContent, CartAlertIcon, CartAlertIconDefinition, CartAlertRoot, CartAlertRootDefinition, CartAlertText, CartAlertTextDefinition, CartAppliedCoupons, CartAppliedCouponsDefinition, CartCheckoutGuard, CartCheckoutGuardDefinition, CartCheckoutLabelContent, CartContinueShopping, CartContinueShoppingContent, CartContinueShoppingDefinition, CartCount, CartCountDefinition, CartCouponError, CartCouponErrorDefinition, CartCouponForm, CartCouponFormDefinition, CartCouponRemove, CartCouponRemoveDefinition, CartDataContext, CartDisclaimer, CartDisclaimerContent, CartDisclaimerDefinition, CartDiscountLine, CartDiscountLineDefinition, CartEmpty, CartEmptyDefinition, CartEmptyMessage, CartEmptyMessageContent, CartEmptyMessageDefinition, CartError, CartErrorDefinition, CartFilled, CartFilledDefinition, CartGoCheckout, CartGoCheckoutDefinition, CartItemAggregateTotal, CartItemAggregateTotalDefinition, CartItemAvailable, CartItemAvailableDefinition, CartItemCompositions, CartItemCompositionsDefinition, CartItemCustomizations, CartItemCustomizationsDefinition, CartItemDiscountPercentage, CartItemDiscountPercentageDefinition, CartItemDiscounts, CartItemDiscountsDefinition, CartItemGift, CartItemGiftDefinition, CartItemImage, CartItemImageDefinition, CartItemLineTotal, CartItemLineTotalDefinition, CartItemListPrice, CartItemListPriceDefinition, CartItemName, CartItemNameDefinition, CartItemOwnTotal, CartItemOwnTotalDefinition, CartItemPrice, CartItemPriceDefinition, CartItemProductLink, CartItemProductLinkDefinition, CartItemQuantity, CartItemQuantityDefinition, CartItemQuantityValue, CartItemQuantityValueDefinition, CartItemRemove, CartItemRemoveDefinition, CartItemRoot, CartItemRootDefinition, CartItemSellerInfo, CartItemSellerInfoDefinition, CartItemSkeleton, CartItemSku, CartItemSkuDefinition, CartItemUnavailable, CartItemUnavailableDefinition, CartItemVariant, CartItemVariantDefinition, CartItemVariations, CartItemVariationsDefinition, CartList, CartListDefinition, CartLoading, CartLoadingDefinition, CartMarkdownLine, CartMarkdownLineDefinition, CartOpenOnAdd, CartOpenOnAddDefinition, CartRedirectOnAdd, CartRedirectOnAddDefinition, CartRemoveUnavailable, CartRemoveUnavailableDefinition, CartRoot, CartRootDefinition, CartShippingSimulator, CartShippingSimulatorRoot, CartShippingSimulatorRootDefinition, CartTotal, CartTotalDefinition, CartTotalizerLine, CartTotalizerLineDefinition, CartTotalizerRoot, CartTotalizerRootDefinition, CartUnavailableCount, CartUnavailableCountDefinition, Checkbox, CheckboxGroup, CheckboxGroupDefinition, CheckboxIndicator, CheckboxIndicatorDefinition, CheckboxRoot, CheckboxRootDefinition, ClientPreferences, ClientPreferencesRoot, ClientPreferencesRootDefinition, ClientProfile, ClientProfileForm, ClientProfileFormConfirmation, ClientProfileFormConfirmationDefinition, ClientProfileFormDocumentField, ClientProfileFormDocumentFieldDefinition, ClientProfileFormEmailField, ClientProfileFormEmailFieldDefinition, ClientProfileFormError, ClientProfileFormErrorDefinition, ClientProfileFormFieldset, ClientProfileFormFieldsetDefinition, ClientProfileFormFirstNameField, ClientProfileFormFirstNameFieldDefinition, ClientProfileFormLastNameField, ClientProfileFormLastNameFieldDefinition, ClientProfileFormNewsletterCheckbox, ClientProfileFormNewsletterCheckboxDefinition, ClientProfileFormPhoneField, ClientProfileFormPhoneFieldDefinition, ClientProfileFormRoot, ClientProfileFormRootDefinition, ClientProfileFormSavePersonalDataCheckbox, ClientProfileFormSavePersonalDataCheckboxDefinition, ClientProfileFormSubmitButton, ClientProfileFormSubmitButtonDefinition, ClientProfilePhoneControl, ClientProfilePhoneControlDefinition, ClientProfileRoot, ClientProfileRootDefinition, Container, ContainerDefinition, DOCUMENTS, DeliveryOptionsAccordion, DeliveryOptionsAccordionDefinition, DeliveryOptionsController, DeliveryOptionsControllerDefinition, DeliveryOptionsList, DeliveryOptionsListDefinition, DeliveryOptionsRoot, DeliveryOptionsRootDefinition, DeliveryOptionsSummary, DeliveryOptionsSummaryDefinition, Dialog, DialogBackdrop, DialogBackdropDefinition, DialogClose, DialogCloseDefinition, DialogDescription, DialogDescriptionDefinition, DialogPopup, DialogPopupDefinition, DialogPortal, DialogPortalDefinition, DialogRoot, DialogRootDefinition, DialogTitle, DialogTitleDefinition, DialogTrigger, DialogTriggerDefinition, DialogViewport, DialogViewportDefinition, DocumentField, DocumentFieldDefinition, Drawer, DrawerBackdrop, DrawerBackdropDefinition, DrawerClose, DrawerCloseDefinition, DrawerDescription, DrawerDescriptionDefinition, DrawerPopup, DrawerPopupDefinition, DrawerPortal, DrawerPortalDefinition, DrawerRoot, DrawerRootDefinition, DrawerTitle, DrawerTitleDefinition, DrawerTrigger, DrawerTriggerDefinition, EMAIL_VALIDATE_REGEX, EmailField, EmailFieldDefinition, EmailIdentificationControl, EmailIdentificationControlDefinition, Field, FieldControl, FieldControlDefinition, FieldDescription, FieldDescriptionDefinition, FieldError, FieldErrorDefinition, FieldLabel, FieldLabelDefinition, FieldRoot, FieldRootDefinition, FieldValidity, FieldValidityDefinition, Fieldset, FieldsetLegend, FieldsetLegendDefinition, FieldsetRoot, FieldsetRootDefinition, FooterCopyright, FooterCopyrightContent, FooterCopyrightDefinition, FooterLinkGroup, FooterLinkGroupContent, FooterLinkGroupDefinition, FooterRoot, FooterRootDefinition, FooterSocial, FooterSocialContent, FooterSocialDefinition, FreeShippingProgress, FreeShippingProgressBar, FreeShippingProgressBarDefinition, FreeShippingProgressMessage, FreeShippingProgressMessageDefinition, FreeShippingProgressRoot, FreeShippingProgressRootDefinition, Gallery, GalleryFullscreen, GalleryFullscreenClose, GalleryFullscreenCloseDefinition, GalleryFullscreenDefinition, GalleryFullscreenTitle, GalleryFullscreenTitleDefinition, GalleryItemContext, GalleryMainMedia, GalleryMainMediaDefinition, GalleryMedia, GalleryMediaCount, GalleryMediaCountDefinition, GalleryMediaDefinition, GalleryNext, GalleryNextDefinition, GalleryOverflowCount, GalleryOverflowCountDefinition, GalleryPrevious, GalleryPreviousDefinition, GalleryRoot, GalleryRootDefinition, GalleryThumbnail, GalleryThumbnailDefinition, GalleryThumbnails, GalleryThumbnailsDefinition, GalleryThumbnailsNext, GalleryThumbnailsNextDefinition, GalleryThumbnailsPrevious, GalleryThumbnailsPreviousDefinition, GalleryZoom, GalleryZoomDefinition, GalleryZoomLens, GalleryZoomLensDefinition, GalleryZoomResult, GalleryZoomResultDefinition, HeaderRoot, HeaderRootDefinition, INCENTIVE_ICON_NAMES, Icon, IconDefinition, IdentityEdit, IdentityEditButton, IdentityEditButtonDefinition, IdentityEditCancelButton, IdentityEditCancelButtonDefinition, IdentityEditController, IdentityEditControllerDefinition, IdentityEditForm, IdentityEditFormDefinition, IdentitySummary, IdentitySummaryBadge, IdentitySummaryBadgeDefinition, IdentitySummaryDocument, IdentitySummaryDocumentDefinition, IdentitySummaryEmail, IdentitySummaryEmailDefinition, IdentitySummaryError, IdentitySummaryErrorDefinition, IdentitySummaryName, IdentitySummaryNameDefinition, IdentitySummaryPhone, IdentitySummaryPhoneDefinition, IdentitySummaryRoot, IdentitySummaryRootDefinition, IdentitySummarySelectedSummary, IdentitySummarySelectedSummaryDefinition, IdentitySummarySignOutButton, IdentitySummarySignOutButtonDefinition, IdentitySummaryView, IdentitySummaryViewDefinition, Image, ImageDefinition, Incentives, IncentivesContent, IncentivesDefinition, Input, InputDefinition, Logo, LogoContent, LogoDefinition, Menu, MenuArrow, MenuArrowDefinition, MenuBackdrop, MenuBackdropDefinition, MenuCheckboxItem, MenuCheckboxItemDefinition, MenuCheckboxItemIndicator, MenuCheckboxItemIndicatorDefinition, MenuGroup, MenuGroupDefinition, MenuGroupLabel, MenuGroupLabelDefinition, MenuItem, MenuItemDefinition, MenuLinkItem, MenuLinkItemDefinition, MenuPopup, MenuPopupDefinition, MenuPortal, MenuPortalDefinition, MenuPositioner, MenuPositionerDefinition, MenuRadioGroup, MenuRadioGroupDefinition, MenuRadioItem, MenuRadioItemDefinition, MenuRadioItemIndicator, MenuRadioItemIndicatorDefinition, MenuRoot, MenuRootDefinition, MenuSeparator, MenuSeparatorDefinition, MenuTrigger, MenuTriggerDefinition, Menubar, MenubarRoot, MenubarRootDefinition, Meter, MeterIndicator, MeterIndicatorDefinition, MeterLabel, MeterLabelDefinition, MeterRoot, MeterRootDefinition, MeterTrack, MeterTrackDefinition, MeterValue, MeterValueDefinition, NavigationLink, NavigationLinkDefinition, NavigationLinkList, NavigationLinkListContent, NavigationLinkListDefinition, NavigationMenu, NavigationMenuArrow, NavigationMenuArrowDefinition, NavigationMenuContent, NavigationMenuContentDefinition, NavigationMenuIcon, NavigationMenuIconDefinition, NavigationMenuItem, NavigationMenuItemDefinition, NavigationMenuLink, NavigationMenuLinkDefinition, NavigationMenuList, NavigationMenuListDefinition, NavigationMenuPopup, NavigationMenuPopupDefinition, NavigationMenuPortal, NavigationMenuPortalDefinition, NavigationMenuPositioner, NavigationMenuPositionerDefinition, NavigationMenuRoot, NavigationMenuRootDefinition, NavigationMenuTrigger, NavigationMenuTriggerDefinition, NavigationMenuViewport, NavigationMenuViewportDefinition, NewsletterOptInControl, NewsletterOptInControlDefinition, NumberField, NumberFieldDecrement, NumberFieldDecrementDefinition, NumberFieldGroup, NumberFieldGroupDefinition, NumberFieldIncrement, NumberFieldIncrementDefinition, NumberFieldInput, NumberFieldInputDefinition, NumberFieldRoot, NumberFieldRootDefinition, NumberFieldScrubArea, NumberFieldScrubAreaCursor, NumberFieldScrubAreaCursorDefinition, NumberFieldScrubAreaDefinition, PAYMENT_METHOD_NAMES, PasswordField, PasswordFieldDefinition, PaymentMethods, PaymentMethodsContent, PaymentMethodsDefinition, PhoneField, PhoneFieldDefinition, Popover, PopoverArrow, PopoverArrowDefinition, PopoverBackdrop, PopoverBackdropDefinition, PopoverClose, PopoverCloseDefinition, PopoverDescription, PopoverDescriptionDefinition, PopoverPopup, PopoverPopupDefinition, PopoverPortal, PopoverPortalDefinition, PopoverPositioner, PopoverPositionerDefinition, PopoverRoot, PopoverRootDefinition, PopoverTitle, PopoverTitleDefinition, PopoverTrigger, PopoverTriggerDefinition, PopoverViewport, PopoverViewportDefinition, PostalCodeField, PostalCodeFieldContent, PostalCodeFieldDefinition, Pricing, PricingDiscount, PricingDiscountDefinition, PricingHighlight, PricingHighlightDefinition, PricingHighlights, PricingHighlightsDefinition, PricingInstallment, PricingInstallmentDefinition, PricingInstallmentPlan, PricingInstallmentPlanDefinition, PricingInstallmentPlans, PricingInstallmentPlansDefinition, PricingInstallments, PricingInstallmentsDefinition, PricingInstallmentsForPlan, PricingInstallmentsForPlanDefinition, PricingListPrice, PricingListPriceDefinition, PricingPaymentMethodName, PricingPaymentMethodNameDefinition, PricingPaymentMethodsList, PricingPaymentMethodsListDefinition, PricingPaymentMethodsTabList, PricingPaymentMethodsTabListDefinition, PricingPaymentMethodsTabPanels, PricingPaymentMethodsTabPanelsDefinition, PricingPaymentMethodsTrigger, PricingPaymentMethodsTriggerDefinition, PricingPromotion, PricingPromotionDefinition, PricingPromotions, PricingPromotionsDefinition, PricingRoot, PricingRootDefinition, PricingSellingPrice, PricingSellingPriceDefinition, PricingSkeleton, PricingSpotDiscount, PricingSpotDiscountDefinition, PricingSpotPrice, PricingSpotPriceDefinition, ProductCard, ProductCardAddToCart, ProductCardAddToCartDefinition, ProductCardDefinition, ProductCardDiscount, ProductCardDiscountDefinition, ProductCardImage, ProductCardImageDefinition, ProductCardListPrice, ProductCardListPriceDefinition, ProductCardName, ProductCardNameDefinition, ProductCardPrice, ProductCardPriceDefinition, ProductCardTaxLabel, ProductCardTaxLabelDefinition, ProductGallery, ProductGalleryRoot, ProductGalleryRootDefinition, ProductInformation, ProductInformationBrand, ProductInformationBrandDefinition, ProductInformationDescription, ProductInformationDescriptionDefinition, ProductInformationReferenceId, ProductInformationReferenceIdDefinition, ProductInformationRoot, ProductInformationRootDefinition, ProductInformationSku, ProductInformationSkuDefinition, ProductInformationTitle, ProductInformationTitleDefinition, ProductList, ProductListGrid, ProductListGridDefinition, ProductListRoot, ProductListRootDefinition, ProductQuantity, ProductQuantityRoot, ProductQuantityRootDefinition, ProductQuantitySelector, ProductQuantitySelectorDefinition, ProductShelf, ProductShelfHeading, ProductShelfHeadingDefinition, ProductShelfItems, ProductShelfItemsDefinition, ProductShelfRoot, ProductShelfRootDefinition, ProductShelfSkeleton, Promotion, PromotionContent, PromotionDefinition, QUANTITY_MAX_EXCEEDED_MESSAGE_ID, QuantitySelector, QuantitySelectorMessage, QuantitySelectorMessageDefinition, QuantitySelectorRoot, QuantitySelectorRootDefinition, Radio, RadioGroup, RadioGroupDefinition, RadioIndicator, RadioIndicatorDefinition, RadioRoot, RadioRootDefinition, Region, RegionContext, RegionError, RegionErrorContent, RegionErrorDefinition, RegionForm, RegionFormDefinition, RegionLoading, RegionLoadingDefinition, RegionModalController, RegionModalControllerDefinition, RegionPostalCodeControl, RegionPostalCodeControlDefinition, RegionRoot, RegionRootDefinition, RegionSubmit, RegionSubmitContent, RegionSubmitDefinition, RegionTrigger, RegionTriggerContent, RegionTriggerDefinition, RegionUnknownLink, RegionUnknownLinkContent, RegionUnknownLinkDefinition, RegionValue, RegionValueDefinition, SOCIAL_PLATFORM_NAMES, SavePersonalDataOptInControl, SavePersonalDataOptInControlDefinition, ScrollArea, ScrollAreaContent, ScrollAreaContentDefinition, ScrollAreaCorner, ScrollAreaCornerDefinition, ScrollAreaRoot, ScrollAreaRootDefinition, ScrollAreaScrollbar, ScrollAreaScrollbarDefinition, ScrollAreaThumb, ScrollAreaThumbDefinition, ScrollAreaViewport, ScrollAreaViewportDefinition, Select, SelectArrow, SelectArrowDefinition, SelectBackdrop, SelectBackdropDefinition, SelectGroup, SelectGroupDefinition, SelectGroupLabel, SelectGroupLabelDefinition, SelectIcon, SelectIconDefinition, SelectItem, SelectItemDefinition, SelectItemIndicator, SelectItemIndicatorDefinition, SelectItemText, SelectItemTextDefinition, SelectLabel, SelectLabelDefinition, SelectList, SelectListDefinition, SelectPopup, SelectPopupDefinition, SelectPortal, SelectPortalDefinition, SelectPositioner, SelectPositionerDefinition, SelectRoot, SelectRootDefinition, SelectScrollDownArrow, SelectScrollDownArrowDefinition, SelectScrollUpArrow, SelectScrollUpArrowDefinition, SelectSeparator, SelectSeparatorDefinition, SelectTrigger, SelectTriggerDefinition, SelectValue, SelectValueDefinition, Separator, SeparatorDefinition, Session, SessionContext, SessionGuard, SessionGuardDefinition, SessionRoot, SessionRootDefinition, 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, ShippingSimulator, ShippingSimulatorEmpty, ShippingSimulatorEmptyDefinition, ShippingSimulatorError, ShippingSimulatorErrorDefinition, ShippingSimulatorForm, ShippingSimulatorFormDefinition, ShippingSimulatorInput, ShippingSimulatorInputDefinition, ShippingSimulatorLoading, ShippingSimulatorLoadingDefinition, ShippingSimulatorOption, ShippingSimulatorOptionDefinition, ShippingSimulatorOptionEstimate, ShippingSimulatorOptionEstimateDefinition, ShippingSimulatorOptionFreeBadge, ShippingSimulatorOptionFreeBadgeDefinition, ShippingSimulatorOptionName, ShippingSimulatorOptionNameDefinition, ShippingSimulatorOptionPrice, ShippingSimulatorOptionPriceDefinition, ShippingSimulatorOptions, ShippingSimulatorOptionsDefinition, ShippingSimulatorRoot, ShippingSimulatorRootDefinition, ShippingSimulatorSubmit, ShippingSimulatorSubmitDefinition, SignInForm, SignInFormDefinition, SignInRedirect, SignInRedirectContent, SignInRedirectDefinition, SignInRedirectLoading, Spinner, SpinnerDefinition, Switch, SwitchRoot, SwitchRootDefinition, SwitchThumb, SwitchThumbDefinition, Tabs, TabsIndicator, TabsIndicatorDefinition, TabsList, TabsListDefinition, TabsPanel, TabsPanelDefinition, TabsRoot, TabsRootDefinition, TabsTab, TabsTabDefinition, Text, TextDefinition, Toast, ToastAction, ToastActionDefinition, ToastClose, ToastCloseDefinition, ToastDescription, ToastDescriptionDefinition, ToastPortal, ToastPortalDefinition, ToastProvider, ToastProviderDefinition, ToastRoot, ToastRootDefinition, ToastTitle, ToastTitleDefinition, ToastViewport, ToastViewportDefinition, Toggle, ToggleDefinition, ToggleGroup, ToggleGroupDefinition, Tooltip, TooltipArrow, TooltipArrowDefinition, TooltipPopup, TooltipPopupDefinition, TooltipPortal, TooltipPortalDefinition, TooltipPositioner, TooltipPositionerDefinition, TooltipProvider, TooltipProviderDefinition, TooltipRoot, TooltipRootDefinition, TooltipTrigger, TooltipTriggerDefinition, TooltipViewport, TooltipViewportDefinition, VariantSelector, VariantSelectorColorSwatches, VariantSelectorColorSwatchesDefinition, VariantSelectorContext, VariantSelectorGroupContext, VariantSelectorGroupTitle, VariantSelectorGroupTitleDefinition, VariantSelectorGroupValue, VariantSelectorGroupValueDefinition, VariantSelectorImageSwatches, VariantSelectorImageSwatchesDefinition, VariantSelectorLabelSwatches, VariantSelectorLabelSwatchesDefinition, VariantSelectorOption, VariantSelectorOptionDefinition, VariantSelectorOptionGroup, VariantSelectorOptionGroupDefinition, VariantSelectorOverflow, VariantSelectorOverflowDefinition, VariantSelectorRadioSwatches, VariantSelectorRadioSwatchesDefinition, VariantSelectorRoot, VariantSelectorRootDefinition, VariantSelectorSwatches, VariantSelectorSwatchesDefinition, applyMask, applyPostalCodeMask, buildProductShelfVariables, defaultMaxExceededMessage, deriveSessionState, isPostalCodeComplete, isSupportedDocumentType, isValidDocument, isValidEmail, mapSessionErrorMessage, maskDocumentValue, stripPostalCodeMask, transformProducts, useCarousel, useCart, useCartTotalizers, useDeliveryOptions, useGallery, useGalleryItem, useInstallmentPlanItem, useProductQuantity, useProductShelf, useProductShelfItem, useRegion, useSession, useToast, validateCPF };
89
+ export { AccessCodeEmailControl, AccessCodeEmailControlDefinition, AccessCodeField, AccessCodeFieldDefinition, AccessCodeRequestControl, AccessCodeRequestControlDefinition, AccessCodeSignIn, AccessCodeSignInRoot, AccessCodeSignInRootDefinition, AccessCodeValidateControl, AccessCodeValidateControlDefinition, Accordion, AccordionHeader, AccordionHeaderDefinition, AccordionItem, AccordionItemDefinition, AccordionPanel, AccordionPanelDefinition, AccordionRoot, AccordionRootDefinition, AccordionTrigger, AccordionTriggerDefinition, AccountEntryPoint, AccountEntryPointContent, AccountEntryPointDefinition, AccountEntryPointLoading, AddressSummary, AddressSummaryDefinition, AddressSummaryLocality, AddressSummaryLocalityDefinition, AddressSummaryRecipient, AddressSummaryRecipientDefinition, AddressSummaryRoot, AddressSummaryRootDefinition, AddressSummaryStreet, AddressSummaryStreetDefinition, Badge, BadgeDefinition, Breadcrumb, BreadcrumbLink, BreadcrumbLinkDefinition, BreadcrumbList, BreadcrumbListDefinition, BreadcrumbRoot, BreadcrumbRootDefinition, BreadcrumbSeparator, BreadcrumbSeparatorDefinition, Button, ButtonDefinition, BuyButton, BuyButtonButton, BuyButtonButtonDefinition, BuyButtonLabels, BuyButtonRoot, BuyButtonRootDefinition, BuyButtonSkeleton, CART_ALERT_ICON_NAMES, Carousel, CarouselBullets, CarouselBulletsDefinition, CarouselNext, CarouselNextDefinition, CarouselPrevious, CarouselPreviousDefinition, CarouselRoot, CarouselRootDefinition, CarouselTrack, CarouselTrackDefinition, Cart, CartAlertContent, CartAlertIcon, CartAlertIconDefinition, CartAlertRoot, CartAlertRootDefinition, CartAlertText, CartAlertTextDefinition, CartAppliedCoupons, CartAppliedCouponsDefinition, CartCheckoutGuard, CartCheckoutGuardDefinition, CartCheckoutLabelContent, CartContinueShopping, CartContinueShoppingContent, CartContinueShoppingDefinition, CartCount, CartCountDefinition, CartCouponError, CartCouponErrorDefinition, CartCouponForm, CartCouponFormDefinition, CartCouponRemove, CartCouponRemoveDefinition, CartDataContext, CartDisclaimer, CartDisclaimerContent, CartDisclaimerDefinition, CartDiscountLine, CartDiscountLineDefinition, CartEmpty, CartEmptyDefinition, CartEmptyMessage, CartEmptyMessageContent, CartEmptyMessageDefinition, CartError, CartErrorDefinition, CartFilled, CartFilledDefinition, CartGoCheckout, CartGoCheckoutDefinition, CartItemAggregateTotal, CartItemAggregateTotalDefinition, CartItemAvailable, CartItemAvailableDefinition, CartItemCompositions, CartItemCompositionsDefinition, CartItemCustomizations, CartItemCustomizationsDefinition, CartItemDiscountPercentage, CartItemDiscountPercentageDefinition, CartItemDiscounts, CartItemDiscountsDefinition, CartItemGift, CartItemGiftDefinition, CartItemImage, CartItemImageDefinition, CartItemLineTotal, CartItemLineTotalDefinition, CartItemListPrice, CartItemListPriceDefinition, CartItemName, CartItemNameDefinition, CartItemOwnTotal, CartItemOwnTotalDefinition, CartItemPrice, CartItemPriceDefinition, CartItemProductLink, CartItemProductLinkDefinition, CartItemQuantity, CartItemQuantityDefinition, CartItemQuantityValue, CartItemQuantityValueDefinition, CartItemRemove, CartItemRemoveDefinition, CartItemRoot, CartItemRootDefinition, CartItemSellerInfo, CartItemSellerInfoDefinition, CartItemSkeleton, CartItemSku, CartItemSkuDefinition, CartItemUnavailable, CartItemUnavailableDefinition, CartItemVariant, CartItemVariantDefinition, CartItemVariations, CartItemVariationsDefinition, CartList, CartListDefinition, CartLoading, CartLoadingDefinition, CartMarkdownLine, CartMarkdownLineDefinition, CartOpenOnAdd, CartOpenOnAddDefinition, CartRedirectOnAdd, CartRedirectOnAddDefinition, CartRemoveUnavailable, CartRemoveUnavailableDefinition, CartRoot, CartRootDefinition, CartShippingSimulator, CartShippingSimulatorRoot, CartShippingSimulatorRootDefinition, CartTotal, CartTotalDefinition, CartTotalizerLine, CartTotalizerLineDefinition, CartTotalizerRoot, CartTotalizerRootDefinition, CartUnavailableCount, CartUnavailableCountDefinition, Checkbox, CheckboxGroup, CheckboxGroupDefinition, CheckboxIndicator, CheckboxIndicatorDefinition, CheckboxRoot, CheckboxRootDefinition, ClientPreferences, ClientPreferencesRoot, ClientPreferencesRootDefinition, ClientProfile, ClientProfileForm, ClientProfileFormConfirmation, ClientProfileFormConfirmationDefinition, ClientProfileFormDocumentField, ClientProfileFormDocumentFieldDefinition, ClientProfileFormEmailField, ClientProfileFormEmailFieldDefinition, ClientProfileFormError, ClientProfileFormErrorDefinition, ClientProfileFormFieldset, ClientProfileFormFieldsetDefinition, ClientProfileFormFirstNameField, ClientProfileFormFirstNameFieldDefinition, ClientProfileFormLastNameField, ClientProfileFormLastNameFieldDefinition, ClientProfileFormNewsletterCheckbox, ClientProfileFormNewsletterCheckboxDefinition, ClientProfileFormPhoneField, ClientProfileFormPhoneFieldDefinition, ClientProfileFormRoot, ClientProfileFormRootDefinition, ClientProfileFormSavePersonalDataCheckbox, ClientProfileFormSavePersonalDataCheckboxDefinition, ClientProfileFormSubmitButton, ClientProfileFormSubmitButtonDefinition, ClientProfilePhoneControl, ClientProfilePhoneControlDefinition, ClientProfileRoot, ClientProfileRootDefinition, Container, ContainerDefinition, DOCUMENTS, DeliveryOptionsAccordion, DeliveryOptionsAccordionDefinition, DeliveryOptionsController, DeliveryOptionsControllerDefinition, DeliveryOptionsList, DeliveryOptionsListDefinition, DeliveryOptionsRoot, DeliveryOptionsRootDefinition, DeliveryOptionsSummary, DeliveryOptionsSummaryDefinition, Dialog, DialogBackdrop, DialogBackdropDefinition, DialogClose, DialogCloseDefinition, DialogDescription, DialogDescriptionDefinition, DialogPopup, DialogPopupDefinition, DialogPortal, DialogPortalDefinition, DialogRoot, DialogRootDefinition, DialogTitle, DialogTitleDefinition, DialogTrigger, DialogTriggerDefinition, DialogViewport, DialogViewportDefinition, DocumentField, DocumentFieldDefinition, Drawer, DrawerBackdrop, DrawerBackdropDefinition, DrawerClose, DrawerCloseDefinition, DrawerDescription, DrawerDescriptionDefinition, DrawerPopup, DrawerPopupDefinition, DrawerPortal, DrawerPortalDefinition, DrawerRoot, DrawerRootDefinition, DrawerTitle, DrawerTitleDefinition, DrawerTrigger, DrawerTriggerDefinition, EMAIL_VALIDATE_REGEX, EmailField, EmailFieldDefinition, EmailIdentificationControl, EmailIdentificationControlDefinition, Field, FieldControl, FieldControlDefinition, FieldDescription, FieldDescriptionDefinition, FieldError, FieldErrorDefinition, FieldLabel, FieldLabelDefinition, FieldRoot, FieldRootDefinition, FieldValidity, FieldValidityDefinition, Fieldset, FieldsetLegend, FieldsetLegendDefinition, FieldsetRoot, FieldsetRootDefinition, FooterCopyright, FooterCopyrightContent, FooterCopyrightDefinition, FooterLinkGroup, FooterLinkGroupContent, FooterLinkGroupDefinition, FooterRoot, FooterRootDefinition, FooterSocial, FooterSocialContent, FooterSocialDefinition, FreeShippingProgress, FreeShippingProgressBar, FreeShippingProgressBarDefinition, FreeShippingProgressMessage, FreeShippingProgressMessageDefinition, FreeShippingProgressRoot, FreeShippingProgressRootDefinition, Gallery, GalleryFullscreen, GalleryFullscreenClose, GalleryFullscreenCloseDefinition, GalleryFullscreenDefinition, GalleryFullscreenTitle, GalleryFullscreenTitleDefinition, GalleryItemContext, GalleryMainMedia, GalleryMainMediaDefinition, GalleryMedia, GalleryMediaCount, GalleryMediaCountDefinition, GalleryMediaDefinition, GalleryNext, GalleryNextDefinition, GalleryOverflowCount, GalleryOverflowCountDefinition, GalleryPrevious, GalleryPreviousDefinition, GalleryRoot, GalleryRootDefinition, GalleryThumbnail, GalleryThumbnailDefinition, GalleryThumbnails, GalleryThumbnailsDefinition, GalleryThumbnailsNext, GalleryThumbnailsNextDefinition, GalleryThumbnailsPrevious, GalleryThumbnailsPreviousDefinition, GalleryZoom, GalleryZoomDefinition, GalleryZoomLens, GalleryZoomLensDefinition, GalleryZoomResult, GalleryZoomResultDefinition, HeaderRoot, HeaderRootDefinition, INCENTIVE_ICON_NAMES, Icon, IconDefinition, IdentityEdit, IdentityEditButton, IdentityEditButtonDefinition, IdentityEditCancelButton, IdentityEditCancelButtonDefinition, IdentityEditController, IdentityEditControllerDefinition, IdentityEditForm, IdentityEditFormDefinition, IdentitySummary, IdentitySummaryBadge, IdentitySummaryBadgeDefinition, IdentitySummaryDocument, IdentitySummaryDocumentDefinition, IdentitySummaryEmail, IdentitySummaryEmailDefinition, IdentitySummaryError, IdentitySummaryErrorDefinition, IdentitySummaryName, IdentitySummaryNameDefinition, IdentitySummaryPhone, IdentitySummaryPhoneDefinition, IdentitySummaryRoot, IdentitySummaryRootDefinition, IdentitySummarySelectedSummary, IdentitySummarySelectedSummaryDefinition, IdentitySummarySignOutButton, IdentitySummarySignOutButtonDefinition, IdentitySummaryView, IdentitySummaryViewDefinition, Image, ImageDefinition, Incentives, IncentivesContent, IncentivesDefinition, Input, InputDefinition, Logo, LogoContent, LogoDefinition, Menu, MenuArrow, MenuArrowDefinition, MenuBackdrop, MenuBackdropDefinition, MenuCheckboxItem, MenuCheckboxItemDefinition, MenuCheckboxItemIndicator, MenuCheckboxItemIndicatorDefinition, MenuGroup, MenuGroupDefinition, MenuGroupLabel, MenuGroupLabelDefinition, MenuItem, MenuItemDefinition, MenuLinkItem, MenuLinkItemDefinition, MenuPopup, MenuPopupDefinition, MenuPortal, MenuPortalDefinition, MenuPositioner, MenuPositionerDefinition, MenuRadioGroup, MenuRadioGroupDefinition, MenuRadioItem, MenuRadioItemDefinition, MenuRadioItemIndicator, MenuRadioItemIndicatorDefinition, MenuRoot, MenuRootDefinition, MenuSeparator, MenuSeparatorDefinition, MenuTrigger, MenuTriggerDefinition, Menubar, MenubarRoot, MenubarRootDefinition, Meter, MeterIndicator, MeterIndicatorDefinition, MeterLabel, MeterLabelDefinition, MeterRoot, MeterRootDefinition, MeterTrack, MeterTrackDefinition, MeterValue, MeterValueDefinition, MyAccountProfile, MyAccountProfileBirthDateControl, MyAccountProfileBirthDateControlDefinition, MyAccountProfileCancelButton, MyAccountProfileCancelButtonDefinition, MyAccountProfileEditButton, MyAccountProfileEditButtonDefinition, MyAccountProfileEmail, MyAccountProfileEmailDefinition, MyAccountProfileFirstNameControl, MyAccountProfileFirstNameControlDefinition, MyAccountProfileGenderControl, MyAccountProfileGenderControlDefinition, MyAccountProfileLastNameControl, MyAccountProfileLastNameControlDefinition, MyAccountProfilePhoneControl, MyAccountProfilePhoneControlDefinition, MyAccountProfileRoot, MyAccountProfileRootDefinition, MyAccountProfileSaveButton, MyAccountProfileSaveButtonDefinition, MyAccountProfileSkeleton, MyAccountProfileSkeletonDefinition, MyAccountProfileTaxIdControl, MyAccountProfileTaxIdControlDefinition, NavigationLink, NavigationLinkDefinition, NavigationLinkList, NavigationLinkListContent, NavigationLinkListDefinition, NavigationMenu, NavigationMenuArrow, NavigationMenuArrowDefinition, NavigationMenuContent, NavigationMenuContentDefinition, NavigationMenuIcon, NavigationMenuIconDefinition, NavigationMenuItem, NavigationMenuItemDefinition, NavigationMenuLink, NavigationMenuLinkDefinition, NavigationMenuList, NavigationMenuListDefinition, NavigationMenuPopup, NavigationMenuPopupDefinition, NavigationMenuPortal, NavigationMenuPortalDefinition, NavigationMenuPositioner, NavigationMenuPositionerDefinition, NavigationMenuRoot, NavigationMenuRootDefinition, NavigationMenuTrigger, NavigationMenuTriggerDefinition, NavigationMenuViewport, NavigationMenuViewportDefinition, NewsletterOptInControl, NewsletterOptInControlDefinition, NumberField, NumberFieldDecrement, NumberFieldDecrementDefinition, NumberFieldGroup, NumberFieldGroupDefinition, NumberFieldIncrement, NumberFieldIncrementDefinition, NumberFieldInput, NumberFieldInputDefinition, NumberFieldRoot, NumberFieldRootDefinition, NumberFieldScrubArea, NumberFieldScrubAreaCursor, NumberFieldScrubAreaCursorDefinition, NumberFieldScrubAreaDefinition, PAYMENT_METHOD_NAMES, PasswordField, PasswordFieldDefinition, PaymentMethods, PaymentMethodsContent, PaymentMethodsDefinition, PhoneField, PhoneFieldDefinition, Popover, PopoverArrow, PopoverArrowDefinition, PopoverBackdrop, PopoverBackdropDefinition, PopoverClose, PopoverCloseDefinition, PopoverDescription, PopoverDescriptionDefinition, PopoverPopup, PopoverPopupDefinition, PopoverPortal, PopoverPortalDefinition, PopoverPositioner, PopoverPositionerDefinition, PopoverRoot, PopoverRootDefinition, PopoverTitle, PopoverTitleDefinition, PopoverTrigger, PopoverTriggerDefinition, PopoverViewport, PopoverViewportDefinition, PostalCodeField, PostalCodeFieldContent, PostalCodeFieldDefinition, Pricing, PricingDiscount, PricingDiscountDefinition, PricingHighlight, PricingHighlightDefinition, PricingHighlights, PricingHighlightsDefinition, PricingInstallment, PricingInstallmentDefinition, PricingInstallmentPlan, PricingInstallmentPlanDefinition, PricingInstallmentPlans, PricingInstallmentPlansDefinition, PricingInstallments, PricingInstallmentsDefinition, PricingInstallmentsForPlan, PricingInstallmentsForPlanDefinition, PricingListPrice, PricingListPriceDefinition, PricingPaymentMethodName, PricingPaymentMethodNameDefinition, PricingPaymentMethodsList, PricingPaymentMethodsListDefinition, PricingPaymentMethodsTabList, PricingPaymentMethodsTabListDefinition, PricingPaymentMethodsTabPanels, PricingPaymentMethodsTabPanelsDefinition, PricingPaymentMethodsTrigger, PricingPaymentMethodsTriggerDefinition, PricingPromotion, PricingPromotionDefinition, PricingPromotions, PricingPromotionsDefinition, PricingRoot, PricingRootDefinition, PricingSellingPrice, PricingSellingPriceDefinition, PricingSkeleton, PricingSpotDiscount, PricingSpotDiscountDefinition, PricingSpotPrice, PricingSpotPriceDefinition, ProductCard, ProductCardAddToCart, ProductCardAddToCartDefinition, ProductCardDefinition, ProductCardDiscount, ProductCardDiscountDefinition, ProductCardImage, ProductCardImageDefinition, ProductCardListPrice, ProductCardListPriceDefinition, ProductCardName, ProductCardNameDefinition, ProductCardPrice, ProductCardPriceDefinition, ProductCardTaxLabel, ProductCardTaxLabelDefinition, ProductGallery, ProductGalleryRoot, ProductGalleryRootDefinition, ProductInformation, ProductInformationBrand, ProductInformationBrandDefinition, ProductInformationDescription, ProductInformationDescriptionDefinition, ProductInformationReferenceId, ProductInformationReferenceIdDefinition, ProductInformationRoot, ProductInformationRootDefinition, ProductInformationSku, ProductInformationSkuDefinition, ProductInformationTitle, ProductInformationTitleDefinition, ProductList, ProductListGrid, ProductListGridDefinition, ProductListRoot, ProductListRootDefinition, ProductQuantity, ProductQuantityRoot, ProductQuantityRootDefinition, ProductQuantitySelector, ProductQuantitySelectorDefinition, ProductShelf, ProductShelfHeading, ProductShelfHeadingDefinition, ProductShelfItems, ProductShelfItemsDefinition, ProductShelfRoot, ProductShelfRootDefinition, ProductShelfSkeleton, Promotion, PromotionContent, PromotionDefinition, QUANTITY_MAX_EXCEEDED_MESSAGE_ID, QuantitySelector, QuantitySelectorMessage, QuantitySelectorMessageDefinition, QuantitySelectorRoot, QuantitySelectorRootDefinition, Radio, RadioGroup, RadioGroupDefinition, RadioIndicator, RadioIndicatorDefinition, RadioRoot, RadioRootDefinition, Region, RegionContext, RegionError, RegionErrorContent, RegionErrorDefinition, RegionForm, RegionFormDefinition, RegionLoading, RegionLoadingDefinition, RegionModalController, RegionModalControllerDefinition, RegionPostalCodeControl, RegionPostalCodeControlDefinition, RegionRoot, RegionRootDefinition, RegionSubmit, RegionSubmitContent, RegionSubmitDefinition, RegionTrigger, RegionTriggerContent, RegionTriggerDefinition, RegionUnknownLink, RegionUnknownLinkContent, RegionUnknownLinkDefinition, RegionValue, RegionValueDefinition, SOCIAL_PLATFORM_NAMES, SavePersonalDataOptInControl, SavePersonalDataOptInControlDefinition, ScrollArea, ScrollAreaContent, ScrollAreaContentDefinition, ScrollAreaCorner, ScrollAreaCornerDefinition, ScrollAreaRoot, ScrollAreaRootDefinition, ScrollAreaScrollbar, ScrollAreaScrollbarDefinition, ScrollAreaThumb, ScrollAreaThumbDefinition, ScrollAreaViewport, ScrollAreaViewportDefinition, Select, SelectArrow, SelectArrowDefinition, SelectBackdrop, SelectBackdropDefinition, SelectGroup, SelectGroupDefinition, SelectGroupLabel, SelectGroupLabelDefinition, SelectIcon, SelectIconDefinition, SelectItem, SelectItemDefinition, SelectItemIndicator, SelectItemIndicatorDefinition, SelectItemText, SelectItemTextDefinition, SelectLabel, SelectLabelDefinition, SelectList, SelectListDefinition, SelectPopup, SelectPopupDefinition, SelectPortal, SelectPortalDefinition, SelectPositioner, SelectPositionerDefinition, SelectRoot, SelectRootDefinition, SelectScrollDownArrow, SelectScrollDownArrowDefinition, SelectScrollUpArrow, SelectScrollUpArrowDefinition, SelectSeparator, SelectSeparatorDefinition, SelectTrigger, SelectTriggerDefinition, SelectValue, SelectValueDefinition, Separator, SeparatorDefinition, Session, SessionContext, SessionGuard, SessionGuardDefinition, SessionRoot, SessionRootDefinition, 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, ShippingSimulator, ShippingSimulatorEmpty, ShippingSimulatorEmptyDefinition, ShippingSimulatorError, ShippingSimulatorErrorDefinition, ShippingSimulatorForm, ShippingSimulatorFormDefinition, ShippingSimulatorInput, ShippingSimulatorInputDefinition, ShippingSimulatorLoading, ShippingSimulatorLoadingDefinition, ShippingSimulatorOption, ShippingSimulatorOptionDefinition, ShippingSimulatorOptionEstimate, ShippingSimulatorOptionEstimateDefinition, ShippingSimulatorOptionFreeBadge, ShippingSimulatorOptionFreeBadgeDefinition, ShippingSimulatorOptionName, ShippingSimulatorOptionNameDefinition, ShippingSimulatorOptionPrice, ShippingSimulatorOptionPriceDefinition, ShippingSimulatorOptions, ShippingSimulatorOptionsDefinition, ShippingSimulatorRoot, ShippingSimulatorRootDefinition, ShippingSimulatorSubmit, ShippingSimulatorSubmitDefinition, SignInForm, SignInFormDefinition, SignInRedirect, SignInRedirectContent, SignInRedirectDefinition, SignInRedirectLoading, Spinner, SpinnerDefinition, Switch, SwitchRoot, SwitchRootDefinition, SwitchThumb, SwitchThumbDefinition, Tabs, TabsIndicator, TabsIndicatorDefinition, TabsList, TabsListDefinition, TabsPanel, TabsPanelDefinition, TabsRoot, TabsRootDefinition, TabsTab, TabsTabDefinition, Text, TextDefinition, Toast, ToastAction, ToastActionDefinition, ToastClose, ToastCloseDefinition, ToastDescription, ToastDescriptionDefinition, ToastPortal, ToastPortalDefinition, ToastProvider, ToastProviderDefinition, ToastRoot, ToastRootDefinition, ToastTitle, ToastTitleDefinition, ToastViewport, ToastViewportDefinition, Toggle, ToggleDefinition, ToggleGroup, ToggleGroupDefinition, Tooltip, TooltipArrow, TooltipArrowDefinition, TooltipPopup, TooltipPopupDefinition, TooltipPortal, TooltipPortalDefinition, TooltipPositioner, TooltipPositionerDefinition, TooltipProvider, TooltipProviderDefinition, TooltipRoot, TooltipRootDefinition, TooltipTrigger, TooltipTriggerDefinition, TooltipViewport, TooltipViewportDefinition, VariantSelector, VariantSelectorColorSwatches, VariantSelectorColorSwatchesDefinition, VariantSelectorContext, VariantSelectorGroupContext, VariantSelectorGroupTitle, VariantSelectorGroupTitleDefinition, VariantSelectorGroupValue, VariantSelectorGroupValueDefinition, VariantSelectorImageSwatches, VariantSelectorImageSwatchesDefinition, VariantSelectorLabelSwatches, VariantSelectorLabelSwatchesDefinition, VariantSelectorOption, VariantSelectorOptionDefinition, VariantSelectorOptionGroup, VariantSelectorOptionGroupDefinition, VariantSelectorOverflow, VariantSelectorOverflowDefinition, VariantSelectorRadioSwatches, VariantSelectorRadioSwatchesDefinition, VariantSelectorRoot, VariantSelectorRootDefinition, VariantSelectorSwatches, VariantSelectorSwatchesDefinition, applyMask, applyPostalCodeMask, buildProductShelfVariables, defaultMaxExceededMessage, deriveSessionState, isPostalCodeComplete, isSupportedDocumentType, isValidDocument, isValidEmail, mapSessionErrorMessage, maskDocumentValue, stripPostalCodeMask, transformProducts, useCarousel, useCart, useCartTotalizers, useDeliveryOptions, useGallery, useGalleryItem, useInstallmentPlanItem, useMyAccountProfile, useProductQuantity, useProductShelf, useProductShelfItem, useRegion, useSession, useToast, validateCPF };
@@ -0,0 +1,208 @@
1
+ # MyAccountProfile
2
+
3
+ **Category:** identity
4
+ **Purpose:** The data root, frame, and field Controls for the My Account > Profile page — the Root owns the shopper's saved profile, the draft over it, the view↔edit toggle, and the single batched Save; the field Controls (name, phone, tax ID, birth date, gender — SFS-3288/3289/3290) register with the Root instead of it enumerating them, so which fields the page shows is a composition decision, in both states, from one act of composing.
5
+
6
+ ---
7
+
8
+ ## Visual cues (how to identify in an image)
9
+
10
+ - A My Account > Profile page showing saved shopper data (name, email, phone, tax ID, birth date, gender) with a single "Edit" action.
11
+ - Pressing Edit swaps the same fields into inputs, with "Save" and "Cancel" replacing "Edit".
12
+ - Email always renders read-only, in both states — never an input.
13
+ - Save success or failure surfaces as a toast (SFS-3366), not an inline line or banner near the fields.
14
+
15
+ Use `MyAccountProfile` (not a hand-assembled combination of ad-hoc state) whenever the image shows this whole view/edit/save profile block, composing its own field Controls (`FirstNameControl`, `LastNameControl`, `PhoneControl`, `TaxIdControl`, `BirthDateControl`, `GenderControl`) for whichever fields the page shows.
16
+
17
+ ---
18
+
19
+ ## When to use
20
+
21
+ - The My Account > Profile page's frame: the view↔edit toggle, the batched Save, Cancel, the read-only email, and the Toast-based save feedback.
22
+
23
+ ## When NOT to use
24
+
25
+ - Rendering an individual profile field's presentation or input directly on the Root — that is each field Control's job. This Root owns no field's formatting or masking; the Controls delegate that to the `Field`, `PhoneField`, `DocumentField`, `Input`, and `Select` particles.
26
+ - The signed-out prompt — compose the existing `SignInForm` alongside a `SessionGuard` in the store topology; this Root renders nothing for that audience.
27
+ - Editing the email — it is the login identifier and is read-only by construction; there is no edit-state rendering for it.
28
+
29
+ ---
30
+
31
+ ## Composition
32
+
33
+ `MyAccountProfile` is a **compound**: `Root` owns the data + mechanics; the frame parts and every field Control are composed freely (any order, any subset). A field the schema author does not compose is absent from both the view state and the edit state, and cannot reach the write payload — there is no separate flag to keep it out.
34
+
35
+ ```
36
+ ToastProvider (required ancestor; SFS-3366 — hosts Save's success/error toasts)
37
+ └── SessionRoot (required ancestor; must resolve to loggedIn)
38
+ └── MyAccountProfile.Root (data-fs-my-account-profile; own fragment/data root; owns draft + Save)
39
+ ├── MyAccountProfile.Email (read-only, both states)
40
+ ├── MyAccountProfile.FirstNameControl / .LastNameControl (required; Field particle)
41
+ ├── MyAccountProfile.PhoneControl (optional; compose up to twice via the `field` prop)
42
+ ├── MyAccountProfile.TaxIdControl (optional; self-gates on activeDocumentType)
43
+ ├── MyAccountProfile.BirthDateControl (optional; Field + Input type="date")
44
+ ├── MyAccountProfile.GenderControl (optional; Select over a configurable options prop)
45
+ ├── MyAccountProfile.EditButton (view state only)
46
+ ├── MyAccountProfile.SaveButton (edit state only)
47
+ └── MyAccountProfile.CancelButton (edit state only)
48
+ ```
49
+
50
+ A field Control is absent from the composition means absent from both states and never in the write payload — there is no separate `show*`/`visible` prop anywhere in this compound (compose-or-omit).
51
+
52
+ `Root` is self-contained: it declares the colocated fragment over `customerProfile` — the identical field set SFS-3286's `customerProfileUpdate` mutation returns — and self-gates on the session's `loggedIn` state. Every frame part and field Control `requiresContext: 'my-account-profile'`, except `MyAccountProfileSkeleton`: it renders directly from the Root, before any Provider exists, so it declares no context requirement (mirrors `ProductShelfSkeleton`). Save calls `useToast()` for its success/error feedback (Decision 10), so `Root` also requires a `ToastProvider` ancestor.
53
+
54
+ ---
55
+
56
+ ## Behavior
57
+
58
+ - **Field registration, not enumeration**: a Control calls `registerField({ key, validate?, normalize? })` in an effect on mount and unregisters on cleanup. The Root validates, batches, and focuses only over the live registry — it never names a field itself (Decision 1).
59
+ - **Dirty is value comparison, not a touched flag**: `dirty(key) === draft[key] !== savedValues[key]`. Retyping a field back to its saved value makes Save a no-op for it, for free.
60
+ - **Absent and empty are different instructions**: a dirty field cleared to `''` erases upstream; a field the shopper never touched is omitted from the payload entirely.
61
+ - **Save order**: compute dirtiness first → nothing dirty raises the saved toast without dispatching → otherwise validate only the dirty registered fields' current draft values (Decision 9) → any error blocks the dispatch and focuses the first invalid field in rendered DOM order → otherwise normalize dirty values and dispatch one `$actions.identity.customerProfileUpdate` → a `userError` raises an error toast and keeps the edit state with the draft intact → success returns to the view state and raises a success toast (Decision 10). A field the shopper never touched is neither validated nor sent.
62
+ - **Edit always opens from the latest saved values**: pressing Edit re-seeds the draft from `savedValues` before switching modes, so a value the server normalized on a previous save (not this task's concern, but a sibling Control's) is what the shopper sees, not a stale local draft.
63
+ - **Background re-delivery**: when `$data` delivers new values while editing, a field re-seeds only if its draft still equals the previously saved value; a dirty field is never clobbered.
64
+ - **Self-gate**: renders nothing outside `state === 'loggedIn'`, even if the topology's `SessionGuard` is missing. Renders `MyAccountProfileSkeleton` while `$data` is unresolved and the shopper is logged in — never an empty summary.
65
+ - **PII**: no profile value appears in any log line. A write that throws (rather than resolving `userErrors`) logs only the error's name; the message shown to the shopper is the `saveFailedMessage` schema prop.
66
+
67
+ ---
68
+
69
+ ## Props
70
+
71
+ **`MyAccountProfile.Root`** — `documentType` (string, e.g. `'CPF'`; the store-configured fallback used when the saved `documentType` is not a registered type), `savedMessage` (string, default `'Your profile has been saved.'`; the toast title on a successful Save), `saveFailedMessage` (string, default `'Unable to save your profile. Please try again.'`; the toast title on a failed Save). Declares `actions: { identity: ['customerProfileUpdate'] }`, `requiresContext: 'session'`, `providesContext: 'my-account-profile'`, `fetchStrategy: 'reactive'`.
72
+
73
+ **`.EditButton` / `.SaveButton` / `.CancelButton`** — `label` (sensible default) or composed `children`.
74
+
75
+ **`.Email` / `.Skeleton`** — no props beyond `className`.
76
+
77
+ **`.FirstNameControl` / `.LastNameControl`** — `label` (default `'First name'` / `'Last name'`), `requiredMessage` (shown when Save is blocked on an empty value).
78
+
79
+ **`.PhoneControl`** — `field` (`'homePhone' | 'mobilePhone'`, default `'mobilePhone'`; compose the Control twice to expose both numbers), `country` (`'US' | 'BR'`, default `'US'`), `label`, `invalidMessage`.
80
+
81
+ **`.TaxIdControl`** — `label` (default `'National tax ID'`), `invalidMessage`, `lockedReason` (the inline copy shown beside the disabled input when a CPF is already saved).
82
+
83
+ **`.BirthDateControl`** — `label` (default `'Birth date'`).
84
+
85
+ **`.GenderControl`** — `label` (default `'Gender'`), `placeholder`, `clearLabel` (default `'Clear'`; the button shown once a draft value is set, since the Select itself offers no way back to empty), `options` (`{ value, label }[]`, defaults to a sensible set: female / male / other / prefer not to say).
86
+
87
+ ---
88
+
89
+ ## Field Controls anatomy (SFS-3288/3289/3290)
90
+
91
+ Each Control is a thin binding over an existing presentational particle — it adds no validation or formatting logic of its own beyond wiring the particle into the Root's registration contract:
92
+
93
+ - **Registration**: in a mount effect, a Control calls `registerField({ key, validate?, normalize? })` and returns the unregister function from the effect. `firstName`/`lastName` register a validator that rejects an empty draft value; every other Control either registers a format-only validator (a present value must be well-formed; empty is always valid) or no validator at all.
94
+ - **Rendering**: `mode === 'view'` renders `savedValues[key]` as plain text (empty, never a placeholder, when the key was never saved); `mode === 'edit'` renders the bound particle over `draft[key]`, writing through `setField(key, value)`.
95
+ - **Normalization**: `PhoneControl` registers `normalize = (v) => v ? toE164(v, country) : v`; `BirthDateControl` registers the native `yyyy-mm-dd` ↔ stored-format identity map. Normalization runs once, on Save, only for a field the shopper actually changed.
96
+ - **The locked tax ID**: when a saved CPF exists, `TaxIdControl`'s edit branch renders a **disabled** input carrying the saved (masked) value, a `data-fs-my-account-profile-tax-id-readonly` hook, and `lockedReason` — never plain text, never omitted. It registers no validator in this branch and is never dirty. With no saved document, it renders an editable, optional `DocumentField` instead.
97
+ - **Self-gate**: `TaxIdControl` renders nothing when the Root's `activeDocumentType` is undefined or unsupported (V0 supports CPF only).
98
+ - **One phone Control, two bindings**: `PhoneControl`'s `field` prop selects which draft key an instance binds; composing it twice (once per `field` value) exposes both `homePhone` and `mobilePhone` as independent, independently-erasable fields.
99
+
100
+ ---
101
+
102
+ ## Context contract (`useMyAccountProfile()`)
103
+
104
+ Every field Control consumes this hook — the seam SFS-3287 designs and SFS-3288/3289/3290 consumes as-is:
105
+
106
+ | Field | Shape | Notes |
107
+ |---|---|---|
108
+ | `mode` | `'view' \| 'edit'` | A Control renders its own branch off this; there is no `show*` prop anywhere. |
109
+ | `savedValues` / `draft` | `Record<key, string>` | Every editable key is always a string; a `null` upstream value is `''`. |
110
+ | `fieldErrors` | `Partial<Record<key, string>>` | Set on a blocked Save; cleared on the field's own next change or on Cancel. |
111
+ | `email` | `string` | The read-only login identifier. |
112
+ | `activeDocumentType` | `string \| undefined` | The saved `documentType` when registered, else the Root's `documentType` prop. |
113
+ | `pending` | `boolean` | Set while the Save dispatch is in flight; parts self-gate and disable off it. Save success/failure feedback surfaces as a toast (Decision 10), not through context. |
114
+ | `registerField(registration)` | `() => unregister` | Call in an effect; the returned function unregisters on cleanup. |
115
+ | `setField(key, value)` | — | Writes one draft value; clears that field's error. |
116
+ | `edit()` / `cancel()` | — | Mode transitions; `cancel()` restores `draft` from `savedValues`. |
117
+
118
+ The `data-fs-my-account-profile-field="<key>"` attribute on each Control's own wrapper element is part of this contract — it is the seam `focusFirstInvalid` queries by rendered DOM order on a blocked Save.
119
+
120
+ ---
121
+
122
+ ## Canonical schema example
123
+
124
+ ```json
125
+ {
126
+ "toast-provider": { "type": "ToastProvider", "children": ["session"] },
127
+ "session": { "type": "SessionRoot", "children": ["profile-guard"] },
128
+ "profile-guard": {
129
+ "type": "SessionGuard",
130
+ "props": { "when": ["loggedIn"] },
131
+ "children": ["profile-root"]
132
+ },
133
+ "profile-root": {
134
+ "type": "MyAccountProfileRoot",
135
+ "props": { "documentType": "CPF" },
136
+ "children": [
137
+ "profile-email",
138
+ "profile-first-name",
139
+ "profile-last-name",
140
+ "profile-mobile-phone",
141
+ "profile-tax-id",
142
+ "profile-edit",
143
+ "profile-save",
144
+ "profile-cancel"
145
+ ]
146
+ },
147
+ "profile-email": { "type": "MyAccountProfileEmail", "children": [] },
148
+ "profile-edit": { "type": "MyAccountProfileEditButton", "children": [] },
149
+ "profile-save": { "type": "MyAccountProfileSaveButton", "children": [] },
150
+ "profile-cancel": { "type": "MyAccountProfileCancelButton", "children": [] },
151
+ "profile-first-name": { "type": "MyAccountProfileFirstNameControl", "children": [] },
152
+ "profile-last-name": { "type": "MyAccountProfileLastNameControl", "children": [] },
153
+ "profile-mobile-phone": {
154
+ "type": "MyAccountProfilePhoneControl",
155
+ "props": { "field": "mobilePhone", "country": "BR" },
156
+ "children": []
157
+ },
158
+ "profile-tax-id": { "type": "MyAccountProfileTaxIdControl", "children": [] }
159
+ }
160
+ ```
161
+
162
+ Add each field Control id to `profile-root`'s `children` array for the fields the store exposes. A sibling `SignInForm`, gated by a `SessionGuard` with `when: ["anonymous", "identified"]`, composes next to `profile-guard` for the signed-out audience.
163
+
164
+ ---
165
+
166
+ ## Common mistakes
167
+
168
+ - **Rendering `MyAccountProfile.Root` outside `SessionRoot`.** `useSession()` throws; the page must host a `SessionRoot`.
169
+ - **Rendering `MyAccountProfile.Root` outside a `ToastProvider`.** Save calls `useToast()` (Decision 10); without a `ToastProvider` ancestor that call throws.
170
+ - **Expecting the email to be editable.** It is always read-only; there is no edit-state rendering for it anywhere in this compound.
171
+ - **Composing a field Control without an unmount cleanup on its `registerField` effect.** A Control that never unregisters leaks a stale validator into the registry after it stops rendering — every shipped Control returns the unregister function from its effect; keep that pattern in a custom Control.
172
+ - **Reading `draft` in the view state, or `savedValues` in the edit state.** Each Control must branch on `mode` itself (Decision 2); the Root does not hide this for you.
173
+ - **Rendering a frame part or field Control outside `MyAccountProfileRoot`.** Every part except `Skeleton` `requiresContext: 'my-account-profile'` and throws otherwise.
174
+ - **Giving a required Control's native input a `required` HTML attribute.** Requiredness is expressed only through the registered `validate` function (Decision 2 of SFS-3288/3289/3290); a native `required` attribute makes the browser block the form's `submit` event before the Root's own validation and focus logic ever runs.
175
+ - **Hiding the `TaxIdControl` in the edit state when a CPF is already saved.** It must render a disabled, locked input instead — a field disappearing between view and edit reads as a bug (product-confirmed, 2026-09-03).
176
+ - **Adding a `showPhone`/`visible` boolean prop to a Control.** Presence is composition; a boolean visibility prop contradicts compose-or-omit and is out of scope for every Control in this group.
177
+
178
+ ---
179
+
180
+ ## Styling
181
+
182
+ | Component | What you style | Plausible classes |
183
+ |---|---|---|
184
+ | `MyAccountProfile.Root` | The `data-fs-my-account-profile` root `<form>`; carries `-mode`/`-pending` | `flex flex-col gap-4` |
185
+ | Every field Control's wrapper | `data-fs-my-account-profile-field="<key>"` — the Root's focus seam, on every Control | `flex flex-col gap-1` |
186
+ | `.Email` | `[data-fs-my-account-profile-email]` | `text-sm text-neutral-600` |
187
+ | Save feedback | Styled through the `[[toast]]` compound (`Toast.Root`/`Toast.Title`/`Toast.Description`), not through this Root's own `data-fs-*` hooks. | — |
188
+ | `.EditButton` / `.SaveButton` / `.CancelButton` | `[data-fs-my-account-profile-edit\|save\|cancel]` | `rounded-md bg-blue-600 px-4 py-2 font-semibold text-white` |
189
+ | `.Skeleton` | `[data-fs-my-account-profile-skeleton]`, lines via `[data-fs-my-account-profile-skeleton-line]` | `animate-pulse` |
190
+ | `.FirstNameControl` / `.LastNameControl` | `[data-fs-my-account-profile-first-name]` / `[data-fs-my-account-profile-last-name]` | `flex flex-col gap-1` |
191
+ | `.PhoneControl` | `[data-fs-my-account-profile-phone="<field>"]` | `flex flex-col gap-1` |
192
+ | `.TaxIdControl` | `[data-fs-my-account-profile-tax-id]`; the locked input also carries `[data-fs-my-account-profile-tax-id-readonly]` | `flex flex-col gap-1` / disabled-input treatment |
193
+ | `.BirthDateControl` | `[data-fs-my-account-profile-birth-date]` | `flex flex-col gap-1` |
194
+ | `.GenderControl` | `[data-fs-my-account-profile-gender]`; its clear button carries `[data-fs-my-account-profile-gender-clear]` | `flex flex-col gap-1` |
195
+
196
+ ---
197
+
198
+ ## Known gaps
199
+
200
+ - **The server's generic "invalid value" error carries no field key.** A blocked save whose failure came back from the schema, rather than from a registered `validate`, renders in the one error region with nothing to highlight and nowhere to move focus. Improving this needs an API-side change, tracked outside this task.
201
+
202
+ ## Related
203
+
204
+ - [[session]] — provides the identity tri-state and the required `SessionRoot` ancestor.
205
+ - [[client-profile-form]] — the closest precedent for the draft-plus-dirty-plus-batched-save mechanics and the raw-fragment/hand-typed-`$data` pattern this Root follows (Decision 8).
206
+ - [[identity-edit]] — the closest precedent for the mode-lives-in-state, mode-is-which-component toggle model this Root follows (Decision 2); its context is scoped to checkout and is not reused here.
207
+ - [[sign-in-form]] — composed alongside this Root's `SessionGuard` sibling for the signed-out audience; not this task's file.
208
+ - [[toast]] — required `ToastProvider` ancestor; Save's success/error feedback surfaces through it (Decision 10, SFS-3366).
@@ -0,0 +1,291 @@
1
+ import { ComponentDefinition } from "../../core/dist/define-component.js";
2
+ import "../../core/dist/index.js";
3
+ import { ComponentActions } from "../../sdk/actions/types.js";
4
+ import { PhoneCountry } from "../../particles/phone-field/phone-field.js";
5
+ import { ComponentPropsWithRef, ReactNode } from "react";
6
+ //#region src/matter/my-account-profile/my-account-profile.d.ts
7
+ /**
8
+ * The `$data` slice forwarded by the reactive runtime — the `customerProfile` entity itself, not the
9
+ * `Query` shape the fragment above is authored against. The compiler derives an entity fragment `on
10
+ * CustomerProfile` from the root-field selection for the reactive path (rfc-data-layer.md §"Entity
11
+ * fragments and schema introspection"), and `ReactiveDataProvider` publishes that entity data
12
+ * directly — the same convention `SessionRoot` reads `$data.loggedIn` under, not `$data.session`.
13
+ */
14
+ export type MyAccountProfileData = {
15
+ id?: string | null;
16
+ firstName?: string | null;
17
+ lastName?: string | null;
18
+ email?: string | null;
19
+ homePhone?: string | null;
20
+ mobilePhone?: string | null;
21
+ document?: string | null;
22
+ documentType?: string | null;
23
+ birthDate?: string | null;
24
+ gender?: string | null;
25
+ } | null;
26
+ /**
27
+ * The shopper-editable keys. `email` is absent (login identifier) and `documentType` is absent
28
+ * (read for the tax-ID control's active type; not writable in V0).
29
+ */
30
+ export type MyAccountProfileFieldKey = 'firstName' | 'lastName' | 'homePhone' | 'mobilePhone' | 'document' | 'birthDate' | 'gender';
31
+ export type MyAccountProfileMode = 'view' | 'edit';
32
+ /** Every editable key, always a string — a `null` upstream value is seeded as `''`. */
33
+ export type MyAccountProfileValues = Readonly<Record<MyAccountProfileFieldKey, string>>;
34
+ /**
35
+ * What a Control hands the Root. `validate` returns a message when the value is unacceptable and
36
+ * `null` when it is fine — requiredness is expressed as a validator that rejects `''`. `normalize`
37
+ * is applied on Save, to dirty values only.
38
+ */
39
+ export type MyAccountProfileFieldRegistration = Readonly<{
40
+ key: MyAccountProfileFieldKey;
41
+ validate?: (value: string) => string | null;
42
+ normalize?: (value: string) => string;
43
+ }>;
44
+ export type MyAccountProfileFieldErrors = Readonly<Partial<Record<MyAccountProfileFieldKey, string>>>;
45
+ export type MyAccountProfileContextValue = Readonly<{
46
+ mode: MyAccountProfileMode;
47
+ savedValues: MyAccountProfileValues;
48
+ draft: MyAccountProfileValues;
49
+ fieldErrors: MyAccountProfileFieldErrors;
50
+ email: string;
51
+ activeDocumentType: string | undefined;
52
+ pending: boolean;
53
+ registerField: (registration: MyAccountProfileFieldRegistration) => () => void;
54
+ setField: (key: MyAccountProfileFieldKey, value: string) => void;
55
+ edit: () => void;
56
+ cancel: () => void;
57
+ }>;
58
+ export type MyAccountProfileRootProps = Readonly<{
59
+ /** Store-configured tax-ID type fallback, used when the saved `documentType` is not registered. */
60
+ documentType?: string;
61
+ saveFailedMessage?: string;
62
+ savedMessage?: string;
63
+ className?: string;
64
+ children?: ReactNode;
65
+ $data?: MyAccountProfileData;
66
+ /** Compiler-injected action surface; carries `identity.customerProfileUpdate`. */
67
+ $actions?: ComponentActions;
68
+ }>;
69
+ export type MyAccountProfileEditButtonProps = Readonly<{
70
+ label?: string;
71
+ className?: string;
72
+ children?: ReactNode;
73
+ }>;
74
+ export type MyAccountProfileSaveButtonProps = Readonly<{
75
+ label?: string;
76
+ className?: string;
77
+ children?: ReactNode;
78
+ }>;
79
+ export type MyAccountProfileCancelButtonProps = Readonly<{
80
+ label?: string;
81
+ className?: string;
82
+ children?: ReactNode;
83
+ }>;
84
+ export type MyAccountProfileEmailProps = Readonly<{
85
+ className?: string;
86
+ }>;
87
+ /** Throws when used outside `MyAccountProfileRoot`, per ADR-0009. */
88
+ export declare function useMyAccountProfile(): MyAccountProfileContextValue;
89
+ export declare const MyAccountProfileRootDefinition: ComponentDefinition<Readonly<{
90
+ /** Store-configured tax-ID type fallback, used when the saved `documentType` is not registered. */
91
+ documentType?: string;
92
+ saveFailedMessage?: string;
93
+ savedMessage?: string;
94
+ className?: string;
95
+ children?: ReactNode;
96
+ $data?: MyAccountProfileData;
97
+ /** Compiler-injected action surface; carries `identity.customerProfileUpdate`. */
98
+ $actions?: ComponentActions;
99
+ }>>;
100
+ export declare function MyAccountProfileRoot({ $data: $dataProp, $actions: $actionsProp, documentType: documentTypeProp, saveFailedMessage, savedMessage, className, children }: MyAccountProfileRootProps): import("react/jsx-runtime").JSX.Element | null;
101
+ export declare namespace MyAccountProfileRoot {
102
+ var Skeleton: typeof MyAccountProfileSkeleton;
103
+ }
104
+ export declare const MyAccountProfileEditButtonDefinition: ComponentDefinition<Readonly<{
105
+ label?: string;
106
+ className?: string;
107
+ children?: ReactNode;
108
+ }>>;
109
+ export declare function MyAccountProfileEditButton({ label, className, children }: MyAccountProfileEditButtonProps): import("react/jsx-runtime").JSX.Element | null;
110
+ export declare const MyAccountProfileSaveButtonDefinition: ComponentDefinition<Readonly<{
111
+ label?: string;
112
+ className?: string;
113
+ children?: ReactNode;
114
+ }>>;
115
+ export declare function MyAccountProfileSaveButton({ label, className, children }: MyAccountProfileSaveButtonProps): import("react/jsx-runtime").JSX.Element | null;
116
+ export declare const MyAccountProfileCancelButtonDefinition: ComponentDefinition<Readonly<{
117
+ label?: string;
118
+ className?: string;
119
+ children?: ReactNode;
120
+ }>>;
121
+ export declare function MyAccountProfileCancelButton({ label, className, children }: MyAccountProfileCancelButtonProps): import("react/jsx-runtime").JSX.Element | null;
122
+ export declare const MyAccountProfileEmailDefinition: ComponentDefinition<Readonly<{
123
+ className?: string;
124
+ }>>;
125
+ export declare function MyAccountProfileEmail({ className }: MyAccountProfileEmailProps): import("react/jsx-runtime").JSX.Element | null;
126
+ export declare const MyAccountProfileSkeletonDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
127
+ export declare function MyAccountProfileSkeleton({ className, ...props }: ComponentPropsWithRef<'div'>): import("react/jsx-runtime").JSX.Element;
128
+ export type MyAccountProfileFirstNameControlProps = Readonly<{
129
+ label?: string;
130
+ requiredMessage?: string;
131
+ className?: string;
132
+ }>;
133
+ export declare const MyAccountProfileFirstNameControlDefinition: ComponentDefinition<Readonly<{
134
+ label?: string;
135
+ requiredMessage?: string;
136
+ className?: string;
137
+ }>>;
138
+ export declare function MyAccountProfileFirstNameControl({ label, requiredMessage, className }: MyAccountProfileFirstNameControlProps): import("react/jsx-runtime").JSX.Element;
139
+ export type MyAccountProfileLastNameControlProps = Readonly<{
140
+ label?: string;
141
+ requiredMessage?: string;
142
+ className?: string;
143
+ }>;
144
+ export declare const MyAccountProfileLastNameControlDefinition: ComponentDefinition<Readonly<{
145
+ label?: string;
146
+ requiredMessage?: string;
147
+ className?: string;
148
+ }>>;
149
+ export declare function MyAccountProfileLastNameControl({ label, requiredMessage, className }: MyAccountProfileLastNameControlProps): import("react/jsx-runtime").JSX.Element;
150
+ export type MyAccountProfilePhoneControlProps = Readonly<{
151
+ label?: string;
152
+ /** Which draft key this instance binds. Compose the Control twice to expose both numbers. */
153
+ field?: 'homePhone' | 'mobilePhone';
154
+ country?: PhoneCountry;
155
+ invalidMessage?: string;
156
+ className?: string;
157
+ }>;
158
+ export declare const MyAccountProfilePhoneControlDefinition: ComponentDefinition<Readonly<{
159
+ label?: string;
160
+ /** Which draft key this instance binds. Compose the Control twice to expose both numbers. */
161
+ field?: "homePhone" | "mobilePhone";
162
+ country?: PhoneCountry;
163
+ invalidMessage?: string;
164
+ className?: string;
165
+ }>>;
166
+ export declare function MyAccountProfilePhoneControl({ label, field, country, invalidMessage, className }: MyAccountProfilePhoneControlProps): import("react/jsx-runtime").JSX.Element;
167
+ export type MyAccountProfileTaxIdControlProps = Readonly<{
168
+ label?: string;
169
+ invalidMessage?: string;
170
+ /** Inline reason shown beside the locked saved CPF. */
171
+ lockedReason?: string;
172
+ className?: string;
173
+ }>;
174
+ export declare const MyAccountProfileTaxIdControlDefinition: ComponentDefinition<Readonly<{
175
+ label?: string;
176
+ invalidMessage?: string;
177
+ /** Inline reason shown beside the locked saved CPF. */
178
+ lockedReason?: string;
179
+ className?: string;
180
+ }>>;
181
+ export declare function MyAccountProfileTaxIdControl({ label, invalidMessage, lockedReason, className }: MyAccountProfileTaxIdControlProps): import("react/jsx-runtime").JSX.Element | null;
182
+ export type MyAccountProfileBirthDateControlProps = Readonly<{
183
+ label?: string;
184
+ className?: string;
185
+ }>;
186
+ export declare const MyAccountProfileBirthDateControlDefinition: ComponentDefinition<Readonly<{
187
+ label?: string;
188
+ className?: string;
189
+ }>>;
190
+ export declare function MyAccountProfileBirthDateControl({ label, className }: MyAccountProfileBirthDateControlProps): import("react/jsx-runtime").JSX.Element;
191
+ export type MyAccountProfileGenderOption = Readonly<{
192
+ value: string;
193
+ label: string;
194
+ }>;
195
+ export type MyAccountProfileGenderControlProps = Readonly<{
196
+ label?: string;
197
+ placeholder?: string;
198
+ clearLabel?: string;
199
+ options?: readonly MyAccountProfileGenderOption[];
200
+ className?: string;
201
+ }>;
202
+ export declare const MyAccountProfileGenderControlDefinition: ComponentDefinition<Readonly<{
203
+ label?: string;
204
+ placeholder?: string;
205
+ clearLabel?: string;
206
+ options?: readonly MyAccountProfileGenderOption[];
207
+ className?: string;
208
+ }>>;
209
+ export declare function MyAccountProfileGenderControl({ label, placeholder, clearLabel, options, className }: MyAccountProfileGenderControlProps): import("react/jsx-runtime").JSX.Element;
210
+ export declare const MyAccountProfile: {
211
+ Root: typeof MyAccountProfileRoot;
212
+ RootDefinition: ComponentDefinition<Readonly<{
213
+ /** Store-configured tax-ID type fallback, used when the saved `documentType` is not registered. */
214
+ documentType?: string;
215
+ saveFailedMessage?: string;
216
+ savedMessage?: string;
217
+ className?: string;
218
+ children?: ReactNode;
219
+ $data?: MyAccountProfileData;
220
+ /** Compiler-injected action surface; carries `identity.customerProfileUpdate`. */
221
+ $actions?: ComponentActions;
222
+ }>>;
223
+ EditButton: typeof MyAccountProfileEditButton;
224
+ EditButtonDefinition: ComponentDefinition<Readonly<{
225
+ label?: string;
226
+ className?: string;
227
+ children?: ReactNode;
228
+ }>>;
229
+ SaveButton: typeof MyAccountProfileSaveButton;
230
+ SaveButtonDefinition: ComponentDefinition<Readonly<{
231
+ label?: string;
232
+ className?: string;
233
+ children?: ReactNode;
234
+ }>>;
235
+ CancelButton: typeof MyAccountProfileCancelButton;
236
+ CancelButtonDefinition: ComponentDefinition<Readonly<{
237
+ label?: string;
238
+ className?: string;
239
+ children?: ReactNode;
240
+ }>>;
241
+ Email: typeof MyAccountProfileEmail;
242
+ EmailDefinition: ComponentDefinition<Readonly<{
243
+ className?: string;
244
+ }>>;
245
+ Skeleton: typeof MyAccountProfileSkeleton;
246
+ SkeletonDefinition: ComponentDefinition<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
247
+ FirstNameControl: typeof MyAccountProfileFirstNameControl;
248
+ FirstNameControlDefinition: ComponentDefinition<Readonly<{
249
+ label?: string;
250
+ requiredMessage?: string;
251
+ className?: string;
252
+ }>>;
253
+ LastNameControl: typeof MyAccountProfileLastNameControl;
254
+ LastNameControlDefinition: ComponentDefinition<Readonly<{
255
+ label?: string;
256
+ requiredMessage?: string;
257
+ className?: string;
258
+ }>>;
259
+ PhoneControl: typeof MyAccountProfilePhoneControl;
260
+ PhoneControlDefinition: ComponentDefinition<Readonly<{
261
+ label?: string;
262
+ /** Which draft key this instance binds. Compose the Control twice to expose both numbers. */
263
+ field?: "homePhone" | "mobilePhone";
264
+ country?: PhoneCountry;
265
+ invalidMessage?: string;
266
+ className?: string;
267
+ }>>;
268
+ TaxIdControl: typeof MyAccountProfileTaxIdControl;
269
+ TaxIdControlDefinition: ComponentDefinition<Readonly<{
270
+ label?: string;
271
+ invalidMessage?: string;
272
+ /** Inline reason shown beside the locked saved CPF. */
273
+ lockedReason?: string;
274
+ className?: string;
275
+ }>>;
276
+ BirthDateControl: typeof MyAccountProfileBirthDateControl;
277
+ BirthDateControlDefinition: ComponentDefinition<Readonly<{
278
+ label?: string;
279
+ className?: string;
280
+ }>>;
281
+ GenderControl: typeof MyAccountProfileGenderControl;
282
+ GenderControlDefinition: ComponentDefinition<Readonly<{
283
+ label?: string;
284
+ placeholder?: string;
285
+ clearLabel?: string;
286
+ options?: readonly MyAccountProfileGenderOption[];
287
+ className?: string;
288
+ }>>;
289
+ };
290
+ //#endregion
291
+ //# sourceMappingURL=my-account-profile.d.ts.map