@vtex/faststore 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +7 -3
  3. package/dist/catalog.json +337 -1
  4. package/dist/components.d.ts +5 -1
  5. package/dist/components.js +8 -4
  6. package/dist/content-types.json +73 -0
  7. package/dist/docs/account-access-gate.md +153 -0
  8. package/dist/docs/account-entry-point.md +1 -2
  9. package/dist/docs/account-menu.md +164 -0
  10. package/dist/docs/buy-button.md +1 -1
  11. package/dist/docs/cart.md +1 -1
  12. package/dist/docs/my-account-profile.md +208 -0
  13. package/dist/docs/session.md +1 -1
  14. package/dist/docs/sign-in-redirect.md +1 -1
  15. package/dist/matter/account-access-gate/account-access-gate.d.ts +86 -0
  16. package/dist/matter/account-access-gate/account-access-gate.js +283 -0
  17. package/dist/matter/account-access-gate/account-access-gate.js.map +1 -0
  18. package/dist/matter/account-access-gate/sign-out-intent.d.ts +17 -0
  19. package/dist/matter/account-access-gate/sign-out-intent.js +62 -0
  20. package/dist/matter/account-access-gate/sign-out-intent.js.map +1 -0
  21. package/dist/matter/account-entry-point/account-entry-point.js +2 -2
  22. package/dist/matter/account-entry-point/account-entry-point.js.map +1 -1
  23. package/dist/matter/account-menu/account-menu.d.ts +88 -0
  24. package/dist/matter/account-menu/account-menu.js +246 -0
  25. package/dist/matter/account-menu/account-menu.js.map +1 -0
  26. package/dist/matter/cart/cart.d.ts +1 -1
  27. package/dist/matter/cart/cart.js +2 -2
  28. package/dist/matter/cart/cart.js.map +1 -1
  29. package/dist/matter/delivery-options/delivery-options.js.map +1 -1
  30. package/dist/matter/my-account-profile/my-account-profile.d.ts +291 -0
  31. package/dist/matter/my-account-profile/my-account-profile.js +856 -0
  32. package/dist/matter/my-account-profile/my-account-profile.js.map +1 -0
  33. package/dist/matter/shipping-address/shipping-address.js +2 -2
  34. package/dist/matter/shipping-address/shipping-address.js.map +1 -1
  35. package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -1
  36. package/dist/particles/footer-social/footer-social.js +1 -1
  37. package/dist/particles/incentives/incentives.js +1 -1
  38. package/dist/sdk/actions/cart-action-provider.d.ts +1 -1
  39. package/dist/sdk/actions/cart-action-provider.js +1 -1
  40. package/dist/sdk/actions/cart-action-provider.js.map +1 -1
  41. package/dist/sdk/actions/session-action-provider.d.ts +1 -1
  42. package/dist/sdk/actions/session-action-provider.js +1 -1
  43. package/dist/sdk/actions/session-action-provider.js.map +1 -1
  44. package/dist/sdk/actions/shipping-action-provider.d.ts +1 -1
  45. package/dist/sdk/actions/shipping-action-provider.js +1 -1
  46. package/dist/sdk/actions/shipping-action-provider.js.map +1 -1
  47. package/dist/sdk/cache/storefront-cache.js +1 -1
  48. package/dist/sdk/cache/storefront-cache.js.map +1 -1
  49. package/dist/sdk/cart/operations.d.ts +4 -4
  50. package/dist/sdk/cart/operations.js +1 -1
  51. package/dist/sdk/cart/operations.js.map +1 -1
  52. package/dist/sdk/cart/optimistic.js +1 -1
  53. package/dist/sdk/cart/optimistic.js.map +1 -1
  54. package/dist/sdk/cart/use-cart-actions.d.ts +1 -1
  55. package/dist/sdk/cart/use-cart-actions.js +3 -3
  56. package/dist/sdk/cart/use-cart-actions.js.map +1 -1
  57. package/dist/sdk/cart/use-cart-validate-on-open.js +1 -1
  58. package/dist/sdk/cart/use-cart-validate-on-open.js.map +1 -1
  59. package/dist/sdk/cart/write-gate.js +1 -1
  60. package/dist/sdk/cart/write-gate.js.map +1 -1
  61. package/dist/sdk/data/page-reactive-data-root.d.ts +2 -2
  62. package/dist/sdk/data/page-reactive-data-root.js.map +1 -1
  63. package/dist/sdk/data/reactive-data-provider.d.ts +1 -1
  64. package/dist/sdk/data/reactive-data-provider.js +1 -1
  65. package/dist/sdk/data/reactive-data-provider.js.map +1 -1
  66. package/dist/sdk/data/reactive-list-item-data-provider.d.ts +1 -1
  67. package/dist/sdk/data/reactive-list-item-data-provider.js +1 -1
  68. package/dist/sdk/data/reactive-list-item-data-provider.js.map +1 -1
  69. package/dist/sdk/data/use-reactive-entity.js +1 -1
  70. package/dist/sdk/data/use-reactive-entity.js.map +1 -1
  71. package/dist/sdk/generated/gql.js +2 -1
  72. package/dist/sdk/generated/gql.js.map +1 -1
  73. package/dist/sdk/generated/graphql.js +85 -1
  74. package/dist/sdk/generated/graphql.js.map +1 -1
  75. package/dist/sdk/identity/operations.js.map +1 -1
  76. package/dist/sdk/identity/use-identity-actions.d.ts +1 -1
  77. package/dist/sdk/identity/use-identity-actions.js.map +1 -1
  78. package/dist/sdk/session/auth-operations.d.ts +1 -1
  79. package/dist/sdk/session/auth-operations.js.map +1 -1
  80. package/dist/sdk/session/use-session-actions.d.ts +1 -1
  81. package/dist/sdk/session/use-session-actions.js.map +1 -1
  82. package/dist/sdk/session/use-session-revalidation.js +65 -0
  83. package/dist/sdk/session/use-session-revalidation.js.map +1 -0
  84. package/dist/sdk/shipping/option-select-operations.d.ts +1 -1
  85. package/dist/sdk/shipping/option-select-operations.js.map +1 -1
  86. package/dist/sdk/shipping/request-timeout.js +1 -1
  87. package/dist/sdk/shipping/request-timeout.js.map +1 -1
  88. package/dist/sdk/shipping/shipping-operations.d.ts +1 -1
  89. package/dist/sdk/shipping/shipping-operations.js.map +1 -1
  90. package/dist/sdk/shipping/use-shipping-actions.d.ts +2 -2
  91. package/dist/sdk/shipping/use-shipping-actions.js.map +1 -1
  92. package/dist/sdk/state/cart.d.ts +3 -4
  93. package/dist/sdk/state/cart.js +6 -7
  94. package/dist/sdk/state/cart.js.map +1 -1
  95. package/dist/utils/safe-href.js +3 -3
  96. package/dist/utils/safe-href.js.map +1 -1
  97. package/package.json +1 -18
@@ -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