fontdue-js 3.5.1 → 3.7.0

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 (151) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +2 -0
  3. package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.d.ts +3 -1
  4. package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.js +1 -1
  5. package/dist/__generated__/CustomerSignInRequestLoginCodeMutation.graphql.d.ts +24 -0
  6. package/dist/__generated__/CustomerSignInRequestLoginCodeMutation.graphql.js +71 -0
  7. package/dist/__generated__/CustomerSignInVerifyLoginCodeMutation.graphql.d.ts +30 -0
  8. package/dist/__generated__/CustomerSignInVerifyLoginCodeMutation.graphql.js +98 -0
  9. package/dist/__generated__/FontFamiliesQuery.graphql.d.ts +4 -1
  10. package/dist/__generated__/FontFamiliesQuery.graphql.js +46 -39
  11. package/dist/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.d.ts +3 -1
  12. package/dist/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.js +1 -1
  13. package/dist/__generated__/PriceBar_node.graphql.d.ts +4 -1
  14. package/dist/__generated__/PriceBar_node.graphql.js +23 -16
  15. package/dist/__generated__/StoreModalFamily_collection.graphql.d.ts +3 -2
  16. package/dist/__generated__/StoreModalFamily_collection.graphql.js +3 -3
  17. package/dist/__generated__/StoreModalIndexPaginationQuery.graphql.d.ts +23 -0
  18. package/dist/__generated__/StoreModalIndexPaginationQuery.graphql.js +303 -0
  19. package/dist/__generated__/StoreModalIndexQuery.graphql.d.ts +4 -9
  20. package/dist/__generated__/StoreModalIndexQuery.graphql.js +90 -53
  21. package/dist/__generated__/StoreModalIndex_viewer.graphql.d.ts +24 -0
  22. package/dist/__generated__/StoreModalIndex_viewer.graphql.js +134 -0
  23. package/dist/__generated__/StoreModalProductContent_collection.graphql.d.ts +4 -1
  24. package/dist/__generated__/StoreModalProductContent_collection.graphql.js +12 -5
  25. package/dist/__generated__/StoreModalProductLicenseSelection_collection.graphql.d.ts +2 -1
  26. package/dist/__generated__/StoreModalProductLicenseSelection_collection.graphql.js +27 -24
  27. package/dist/__generated__/StoreModalProductQuery.graphql.d.ts +2 -19
  28. package/dist/__generated__/StoreModalProductQuery.graphql.js +143 -174
  29. package/dist/__generated__/StoreModalProductRefetchQuery.graphql.d.ts +1 -1
  30. package/dist/__generated__/StoreModalProductRefetchQuery.graphql.js +54 -53
  31. package/dist/__generated__/StoreModalProductSlugQuery.graphql.d.ts +38 -0
  32. package/dist/__generated__/StoreModalProductSlugQuery.graphql.js +750 -0
  33. package/dist/__generated__/StoreModalProductViewer.graphql.d.ts +34 -0
  34. package/dist/__generated__/StoreModalProductViewer.graphql.js +149 -0
  35. package/dist/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.d.ts +3 -1
  36. package/dist/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.js +1 -1
  37. package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.d.ts +3 -1
  38. package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +1 -1
  39. package/dist/__generated__/TypeTestersIDQuery.graphql.d.ts +1 -1
  40. package/dist/__generated__/TypeTestersIDQuery.graphql.js +17 -10
  41. package/dist/__generated__/TypeTestersRefetchQuery.graphql.d.ts +1 -1
  42. package/dist/__generated__/TypeTestersRefetchQuery.graphql.js +17 -10
  43. package/dist/__generated__/TypeTestersSlugQuery.graphql.d.ts +1 -1
  44. package/dist/__generated__/TypeTestersSlugQuery.graphql.js +17 -10
  45. package/dist/__generated__/storefrontEventsTrackStorefrontEventMutation.graphql.d.ts +41 -0
  46. package/dist/__generated__/storefrontEventsTrackStorefrontEventMutation.graphql.js +65 -0
  47. package/dist/__generated__/useCurrentCustomerQuery.graphql.d.ts +23 -0
  48. package/dist/__generated__/{ServerConfigProviderQuery.graphql.js → useCurrentCustomerQuery.graphql.js} +24 -39
  49. package/dist/__tests__/bundleSelectionOrder.test.js +92 -0
  50. package/dist/__tests__/collectionBundleSelection.test.js +441 -1446
  51. package/dist/__tests__/customerSession.test.js +456 -0
  52. package/dist/__tests__/infiniteScroll.test.js +180 -0
  53. package/dist/__tests__/licenseExclusions.test.js +2 -1
  54. package/dist/__tests__/storeModalRoutes.test.js +118 -0
  55. package/dist/__tests__/storefrontEvents.test.js +167 -0
  56. package/dist/__tests__/stripeElements.test.js +173 -0
  57. package/dist/__tests__/typeTesterAutofitFeatures.test.js +138 -0
  58. package/dist/__tests__/typeTesterInitialSize.test.js +82 -0
  59. package/dist/__tests__/typeTesterTruncate.test.js +218 -0
  60. package/dist/auth/session.d.ts +42 -0
  61. package/dist/auth/session.js +139 -0
  62. package/dist/auth/tokenStore.d.ts +61 -0
  63. package/dist/auth/tokenStore.js +162 -0
  64. package/dist/components/Cart/Checkout.js +19 -9
  65. package/dist/components/Cart/storefrontEvents.d.ts +34 -0
  66. package/dist/components/Cart/storefrontEvents.js +138 -0
  67. package/dist/components/ConfigContext.d.ts +2 -2
  68. package/dist/components/CustomerSignIn/index.d.ts +33 -0
  69. package/dist/components/CustomerSignIn/index.js +170 -0
  70. package/dist/components/FontFamilies/index.js +4 -3
  71. package/dist/components/NewsletterSignup/index.js +5 -1
  72. package/dist/components/Precart/index.js +6 -0
  73. package/dist/components/PriceBar/index.js +5 -3
  74. package/dist/components/Root/index.js +4 -34
  75. package/dist/components/Root/productState.d.ts +2 -8
  76. package/dist/components/Root/productState.js +46 -57
  77. package/dist/components/SKUPrice/index.js +7 -8
  78. package/dist/components/StoreModal/StoreModalFamily.js +4 -2
  79. package/dist/components/StoreModal/StoreModalIndex.js +48 -7
  80. package/dist/components/StoreModal/StoreModalProduct.d.ts +5 -1
  81. package/dist/components/StoreModal/StoreModalProduct.js +69 -16
  82. package/dist/components/StoreModal/index.js +14 -14
  83. package/dist/components/StoreModal/routes.js +9 -1
  84. package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.d.ts +2 -1
  85. package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.js +8 -3
  86. package/dist/components/StoreModalProductLicenseSelection/index.js +3 -2
  87. package/dist/components/TestFontsForm/index.js +5 -1
  88. package/dist/components/TypeTester/TypeTesterContent.js +9 -2
  89. package/dist/components/TypeTester/TypeTesterContext.js +17 -4
  90. package/dist/components/TypeTester/TypeTesterFitter.js +7 -2
  91. package/dist/components/TypeTester/TypeTesterStandalone.d.ts +2 -0
  92. package/dist/components/TypeTester/TypeTesterStandalone.js +2 -0
  93. package/dist/components/TypeTester/TypeTesterStandaloneElement.d.ts +1 -0
  94. package/dist/components/TypeTester/TypeTesterStandaloneElement.js +4 -1
  95. package/dist/components/TypeTester/TypeTesterVariableAxes.js +16 -10
  96. package/dist/components/TypeTester/index.d.ts +3 -1
  97. package/dist/components/TypeTester/index.js +2 -1
  98. package/dist/components/TypeTester/truncate.d.ts +12 -0
  99. package/dist/components/TypeTester/truncate.js +95 -0
  100. package/dist/components/TypeTester/useTypeTesterStyler.d.ts +3 -1
  101. package/dist/components/TypeTester/useTypeTesterStyler.js +36 -7
  102. package/dist/components/TypeTesters/TypeTestersElement.d.ts +2 -1
  103. package/dist/components/TypeTesters/TypeTestersElement.js +4 -1
  104. package/dist/components/TypeTesters/index.d.ts +2 -0
  105. package/dist/components/elements/StoreModalContainer/StoreModalContainerContext.d.ts +1 -0
  106. package/dist/components/elements/StoreModalContainer/index.js +9 -4
  107. package/dist/components/elements/StoreModalIndexLoadMore/index.d.ts +8 -0
  108. package/dist/components/elements/StoreModalIndexLoadMore/index.js +21 -0
  109. package/dist/components/elements/StoreModalUnifiedCheckout.d.ts +1 -1
  110. package/dist/components/elements/StoreModalUnifiedCheckout.js +20 -17
  111. package/dist/components/useInfiniteScroll.d.ts +28 -0
  112. package/dist/components/useInfiniteScroll.js +50 -0
  113. package/dist/fontdue.css +63 -0
  114. package/dist/hooks/useAutofit.d.ts +2 -1
  115. package/dist/hooks/useAutofit.js +10 -4
  116. package/dist/hooks/useCurrentCustomer.d.ts +34 -0
  117. package/dist/hooks/useCurrentCustomer.js +93 -0
  118. package/dist/reducer.d.ts +5 -5
  119. package/dist/reducer.js +9 -87
  120. package/dist/relay/environment.js +91 -50
  121. package/dist/selection.d.ts +40 -0
  122. package/dist/selection.js +494 -0
  123. package/dist/storeModalRoutes.d.ts +38 -0
  124. package/dist/storeModalRoutes.js +110 -0
  125. package/dist/stripeElements.d.ts +18 -0
  126. package/dist/stripeElements.js +49 -0
  127. package/dist/utils.d.ts +1 -12
  128. package/dist/utils.js +1 -36
  129. package/dist/version.js +1 -1
  130. package/package.json +1 -1
  131. package/dist/__generated__/NodePasswordFormIDQuery.graphql.d.ts +0 -21
  132. package/dist/__generated__/NodePasswordFormIDQuery.graphql.js +0 -86
  133. package/dist/__generated__/NodePasswordFormSlugQuery.graphql.d.ts +0 -25
  134. package/dist/__generated__/NodePasswordFormSlugQuery.graphql.js +0 -108
  135. package/dist/__generated__/ServerConfigProviderQuery.graphql.d.ts +0 -24
  136. package/dist/__generated__/TestModeBannerQuery.graphql.d.ts +0 -20
  137. package/dist/__generated__/TestModeBannerQuery.graphql.js +0 -87
  138. package/dist/__generated__/ThemeConfigQuery.graphql.d.ts +0 -20
  139. package/dist/__generated__/ThemeConfigQuery.graphql.js +0 -87
  140. package/dist/components/CartButton/index.server.d.ts +0 -3
  141. package/dist/components/CartButton/index.server.js +0 -18
  142. package/dist/components/CorsErrorModal.d.ts +0 -1
  143. package/dist/components/CorsErrorModal.js +0 -92
  144. package/dist/components/FontdueProvider/FontdueProviderClientComponent.d.ts +0 -14
  145. package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +0 -61
  146. package/dist/components/ThemeConfig/index.server.d.ts +0 -2
  147. package/dist/components/ThemeConfig/index.server.js +0 -17
  148. package/dist/components/TypeTester/features.d.ts +0 -5
  149. package/dist/components/TypeTester/features.js +0 -143
  150. package/dist/data/unicodeData.d.ts +0 -4
  151. package/dist/data/unicodeData.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ ## 3.7.0
2
+
3
+ - Fixed bundle discounts in the `StoreModal` depending on the order styles are picked in – with overlapping bundles, the same styles could cost more in one order than another. Every pick now prices the whole selection as the cheapest combination of styles and bundles that covers it, and the added price shown beside each style follows the same reckoning.
4
+ - Collections and style bundles carry a `visibility` of `VISIBLE`, `UNLISTED` or `HIDDEN`; `Bundle.hidden` still works but is deprecated. An unlisted collection or bundle stays on sale and a selection can still upgrade into it, but it renders no block of its own in the `StoreModal`, no row in `<fontdue-font-families>` and no section in the `TypeTesters` price bar – so a superfamily can be sold only through its families.
5
+ - The `StoreModal`’s browse page loads 25 collections at a time and fetches the next 25 as the visitor scrolls, instead of every collection at once, so a large catalog opens without first loading every family’s font. A “Load more” button sits at the end of the loaded rows for keyboard use; if you style the modal yourself, it is `.store-modal__index__load-more`.
6
+ - The `StoreModal` reports opening a collection, changing a license choice and completing payment details, so Fontdue records “Product Viewed”, “Product Customized” and “Payment Info Entered” alongside the add to cart and purchase it already recorded. They carry the buyer’s consent and identifiers, so they reach your analytics destinations tied to the same visitor.
7
+ - Fixed a type tester set to `autofit` sizing its text without the OpenType features it has switched on: stylistic sets and small caps overflowed and wrapped, and ligatures under-filled. `useAutofit` takes a `fontFeatureSettings` string for the same reason, measuring in the DOM when one is set.
8
+
9
+ ## 3.6.0
10
+
11
+ - A `store` parameter on any URL now opens the Store Modal, so a foundry can link to its store rather than only open it from an element on the page. `?store=open` opens the store wherever it normally opens, `?store=product/<slug>` opens a product page, and `?store=cart` opens the cart. Any other `store` value is ignored, so a parameter a site already uses of its own won’t open the modal.
12
+ - A product route takes a collection's slug as well as its ID, so `?store=product/example-sans` works alongside the base64 form. `fontdue-store-route="product/<slug>"` takes a slug now too – previously a slug there either did nothing (if it contained a hyphen) or loaded a broken product page.
13
+ - `TypeTester` and `TypeTesters` take a `truncate` prop, and `<fontdue-type-tester>` and `<fontdue-type-testers>` take a `truncate` attribute, so each tester can cap its paragraph at its own number of lines instead of every tester on a site sharing one value. A per-tester value overrides the `truncate` UI config.
14
+ - Fixed a type tester leaving a blank gap where its variable-axis sliders would go, on a static style or when none of the requested axes are in the font. The toolbar, features panel and dropdown placements were all affected.
15
+ - A numeric `truncate` cap now stays in place while a visitor edits the text, instead of the paragraph jumping to full height on click and back on blur. `truncate: true` is unchanged and still opens to the full paragraph when clicked; pass `{ lines: 20, expandOnFocus: true }` if you want a line count to behave the old way. On the custom elements that object is a second word in the attribute – `truncate="20 expandable"`, or `truncate="20 fixed"` to spell out the default. Ships new stylesheet rules, so take `dist/fontdue.css` from this version alongside the JS.
16
+ - Fixed a type tester opening at a size outside the range its size slider spans. A seeded size below `typeTester.size.min` (or above `max`) rendered at that size with the slider handle drawn off the end of its track; it is clamped into range now.
17
+ - `NewsletterSignup` and `TestFontsForm` now name which form a submission came from, so Fontdue records each as its own event rather than as a checkout contact step.
18
+ - Fixed the Store Modal’s Checkout button doing nothing on a store using Stripe Tax, and the Cart’s Next button on the billing and licensee steps. Stripe.js now throws “Unable to select session” when asked to validate a form that has no payment in it yet; the address fields are validated on their own in that case, with the same inline errors.
19
+
1
20
  ## 3.5.1
2
21
 
3
22
  - Fixed `FontdueProvider` turning every Next.js `notFound()`, `redirect()` and thrown render error into a `200`. The provider wrapped the whole app in a Suspense boundary, so React streamed the page shell before Next could set the status – missing pages were indexed as real ones, redirects lost their `Location` header, and `error.tsx` never rendered (the error escalated to `global-error.tsx`). Each Fontdue component now carries its own boundary instead. A route’s own `loading.tsx` still streams a `200` before `notFound()` can act; that is Next.js behaviour ([vercel/next.js#82041](https://github.com/vercel/next.js/issues/82041)).
package/README.md CHANGED
@@ -796,6 +796,7 @@ import TypeTesters, { loadTypeTestersQuery } from "fontdue-js/TypeTesters";
796
796
  | `preloadedQuery` | (Required, SSR) Result of `loadTypeTestersQuery({ collectionId, tags?, excludeTags? })` or `loadTypeTestersQuery({ collectionSlug, tags?, excludeTags? })`. |
797
797
  | `defaultMode` | (Optional) `'group' \| 'local'` Whether the "Affect all styles" toggle starts on (`group`) or off (`local`). |
798
798
  | `autofit` | (Optional) `boolean` Make sentences fit on one line, adjusting size as the container resizes. Disables when the user changes font size or content. |
799
+ | `truncate` | (Optional) `boolean \| number \| { lines?: number, expandOnFocus?: boolean }` Cap each paragraph at a number of lines, keeping the cap while a visitor edits the text. `true` is the original one-line preview, which opens on click. Overrides the `truncate` UI config. |
799
800
  | `tags` | (Optional) `string[]` Render only testers tagged with any of these. |
800
801
  | `excludeTags` | (Optional) `string[]` Exclude testers tagged with any of these. |
801
802
  | `features` | (Optional) `string[]` OpenType feature codes to expose to users across all testers in the group (e.g. `['ss01', 'ss02']`). |
@@ -818,6 +819,7 @@ import TypeTester, { loadTypeTesterQuery } from "fontdue-js/TypeTester";
818
819
  | `fontSize` | (Optional) `number` Initial font size in pixels. |
819
820
  | `lineHeight` | (Optional) `number` Proportional line height (`1` == `fontSize`). |
820
821
  | `letterSpacing` | (Optional) `number` Letter spacing. |
822
+ | `truncate` | (Optional) `boolean \| number \| { lines?: number, expandOnFocus?: boolean }` Cap the paragraph at a number of lines, keeping the cap while a visitor edits the text. `true` is the original one-line preview, which opens on click. Overrides the `truncate` UI config. |
821
823
  | `content` | (Optional) `string` Initial content. |
822
824
  | `direction` | (Optional) `'ltr' \| 'rtl'` Writing direction. |
823
825
  | `alignment` | (Optional) `'left' \| 'center' \| 'right'` Text alignment. |
@@ -1,12 +1,14 @@
1
1
  /**
2
- * @generated SignedSource<<796d04529c0ea8f6b6236945a158b754>>
2
+ * @generated SignedSource<<feb804dcc13889ae3cabd44f3dbce8fa>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
6
6
  import { ConcreteRequest } from 'relay-runtime';
7
7
  import { FragmentRefs } from "relay-runtime";
8
+ export type CustomerForm = "CHECKOUT" | "NEWSLETTER" | "TEST_FONTS" | "%future added value";
8
9
  export type UpdateCustomerInput = {
9
10
  email?: string | null;
11
+ form?: CustomerForm | null;
10
12
  name?: string | null;
11
13
  newsletterOptIn?: boolean | null;
12
14
  recaptchaToken?: string | null;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<796d04529c0ea8f6b6236945a158b754>>
2
+ * @generated SignedSource<<feb804dcc13889ae3cabd44f3dbce8fa>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @generated SignedSource<<367514472640fa13ca2151f68942fe83>>
3
+ * @lightSyntaxTransform
4
+ * @nogrep
5
+ */
6
+ import { ConcreteRequest } from 'relay-runtime';
7
+ export type RequestLoginCodeInput = {
8
+ email: string;
9
+ };
10
+ export type CustomerSignInRequestLoginCodeMutation$variables = {
11
+ input: RequestLoginCodeInput;
12
+ };
13
+ export type CustomerSignInRequestLoginCodeMutation$data = {
14
+ readonly requestLoginCode: {
15
+ readonly result: string | null;
16
+ readonly success: boolean | null;
17
+ } | null;
18
+ };
19
+ export type CustomerSignInRequestLoginCodeMutation = {
20
+ response: CustomerSignInRequestLoginCodeMutation$data;
21
+ variables: CustomerSignInRequestLoginCodeMutation$variables;
22
+ };
23
+ declare const node: ConcreteRequest;
24
+ export default node;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @generated SignedSource<<367514472640fa13ca2151f68942fe83>>
3
+ * @lightSyntaxTransform
4
+ * @nogrep
5
+ */
6
+
7
+ /* tslint:disable */
8
+ /* eslint-disable */
9
+ // @ts-nocheck
10
+
11
+ const node = function () {
12
+ var v0 = [{
13
+ "defaultValue": null,
14
+ "kind": "LocalArgument",
15
+ "name": "input"
16
+ }],
17
+ v1 = [{
18
+ "alias": null,
19
+ "args": [{
20
+ "kind": "Variable",
21
+ "name": "input",
22
+ "variableName": "input"
23
+ }],
24
+ "concreteType": "RequestLoginCodePayload",
25
+ "kind": "LinkedField",
26
+ "name": "requestLoginCode",
27
+ "plural": false,
28
+ "selections": [{
29
+ "alias": null,
30
+ "args": null,
31
+ "kind": "ScalarField",
32
+ "name": "success",
33
+ "storageKey": null
34
+ }, {
35
+ "alias": null,
36
+ "args": null,
37
+ "kind": "ScalarField",
38
+ "name": "result",
39
+ "storageKey": null
40
+ }],
41
+ "storageKey": null
42
+ }];
43
+ return {
44
+ "fragment": {
45
+ "argumentDefinitions": v0 /*: any*/,
46
+ "kind": "Fragment",
47
+ "metadata": null,
48
+ "name": "CustomerSignInRequestLoginCodeMutation",
49
+ "selections": v1 /*: any*/,
50
+ "type": "RootMutationType",
51
+ "abstractKey": null
52
+ },
53
+ "kind": "Request",
54
+ "operation": {
55
+ "argumentDefinitions": v0 /*: any*/,
56
+ "kind": "Operation",
57
+ "name": "CustomerSignInRequestLoginCodeMutation",
58
+ "selections": v1 /*: any*/
59
+ },
60
+ "params": {
61
+ "cacheID": "4e987fdea00eb588c3214c189cdb6db9",
62
+ "id": null,
63
+ "metadata": {},
64
+ "name": "CustomerSignInRequestLoginCodeMutation",
65
+ "operationKind": "mutation",
66
+ "text": "mutation CustomerSignInRequestLoginCodeMutation(\n $input: RequestLoginCodeInput!\n) {\n requestLoginCode(input: $input) {\n success\n result\n }\n}\n"
67
+ }
68
+ };
69
+ }();
70
+ node.hash = "36fccde5eb4502dcd8d3269bb5713547";
71
+ export default node;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @generated SignedSource<<1e253ffa43b48a561e7ae39d6626a541>>
3
+ * @lightSyntaxTransform
4
+ * @nogrep
5
+ */
6
+ import { ConcreteRequest } from 'relay-runtime';
7
+ export type VerifyLoginCodeInput = {
8
+ code: string;
9
+ email: string;
10
+ };
11
+ export type CustomerSignInVerifyLoginCodeMutation$variables = {
12
+ input: VerifyLoginCodeInput;
13
+ };
14
+ export type CustomerSignInVerifyLoginCodeMutation$data = {
15
+ readonly verifyLoginCode: {
16
+ readonly accessToken: string | null;
17
+ readonly customer: {
18
+ readonly email: string | null;
19
+ readonly id: string;
20
+ readonly name: string | null;
21
+ } | null;
22
+ readonly refreshToken: string | null;
23
+ } | null;
24
+ };
25
+ export type CustomerSignInVerifyLoginCodeMutation = {
26
+ response: CustomerSignInVerifyLoginCodeMutation$data;
27
+ variables: CustomerSignInVerifyLoginCodeMutation$variables;
28
+ };
29
+ declare const node: ConcreteRequest;
30
+ export default node;
@@ -0,0 +1,98 @@
1
+ /**
2
+ * @generated SignedSource<<1e253ffa43b48a561e7ae39d6626a541>>
3
+ * @lightSyntaxTransform
4
+ * @nogrep
5
+ */
6
+
7
+ /* tslint:disable */
8
+ /* eslint-disable */
9
+ // @ts-nocheck
10
+
11
+ const node = function () {
12
+ var v0 = [{
13
+ "defaultValue": null,
14
+ "kind": "LocalArgument",
15
+ "name": "input"
16
+ }],
17
+ v1 = [{
18
+ "alias": null,
19
+ "args": [{
20
+ "kind": "Variable",
21
+ "name": "input",
22
+ "variableName": "input"
23
+ }],
24
+ "concreteType": "VerifyLoginCodePayload",
25
+ "kind": "LinkedField",
26
+ "name": "verifyLoginCode",
27
+ "plural": false,
28
+ "selections": [{
29
+ "alias": null,
30
+ "args": null,
31
+ "kind": "ScalarField",
32
+ "name": "accessToken",
33
+ "storageKey": null
34
+ }, {
35
+ "alias": null,
36
+ "args": null,
37
+ "kind": "ScalarField",
38
+ "name": "refreshToken",
39
+ "storageKey": null
40
+ }, {
41
+ "alias": null,
42
+ "args": null,
43
+ "concreteType": "Customer",
44
+ "kind": "LinkedField",
45
+ "name": "customer",
46
+ "plural": false,
47
+ "selections": [{
48
+ "alias": null,
49
+ "args": null,
50
+ "kind": "ScalarField",
51
+ "name": "id",
52
+ "storageKey": null
53
+ }, {
54
+ "alias": null,
55
+ "args": null,
56
+ "kind": "ScalarField",
57
+ "name": "name",
58
+ "storageKey": null
59
+ }, {
60
+ "alias": null,
61
+ "args": null,
62
+ "kind": "ScalarField",
63
+ "name": "email",
64
+ "storageKey": null
65
+ }],
66
+ "storageKey": null
67
+ }],
68
+ "storageKey": null
69
+ }];
70
+ return {
71
+ "fragment": {
72
+ "argumentDefinitions": v0 /*: any*/,
73
+ "kind": "Fragment",
74
+ "metadata": null,
75
+ "name": "CustomerSignInVerifyLoginCodeMutation",
76
+ "selections": v1 /*: any*/,
77
+ "type": "RootMutationType",
78
+ "abstractKey": null
79
+ },
80
+ "kind": "Request",
81
+ "operation": {
82
+ "argumentDefinitions": v0 /*: any*/,
83
+ "kind": "Operation",
84
+ "name": "CustomerSignInVerifyLoginCodeMutation",
85
+ "selections": v1 /*: any*/
86
+ },
87
+ "params": {
88
+ "cacheID": "5808f50e7d2d741cdd4d91bee621128c",
89
+ "id": null,
90
+ "metadata": {},
91
+ "name": "CustomerSignInVerifyLoginCodeMutation",
92
+ "operationKind": "mutation",
93
+ "text": "mutation CustomerSignInVerifyLoginCodeMutation(\n $input: VerifyLoginCodeInput!\n) {\n verifyLoginCode(input: $input) {\n accessToken\n refreshToken\n customer {\n id\n name\n email\n }\n }\n}\n"
94
+ }
95
+ };
96
+ }();
97
+ node.hash = "0342b61905975bf0b0112270e8706435";
98
+ export default node;
@@ -1,10 +1,11 @@
1
1
  /**
2
- * @generated SignedSource<<1965d64fa7f303dfcd53846ea6d9bd21>>
2
+ * @generated SignedSource<<1455416c012741e081db5301244ac6d9>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
6
6
  import { ConcreteRequest } from 'relay-runtime';
7
7
  import { FragmentRefs } from "relay-runtime";
8
+ export type Visibility = "HIDDEN" | "UNLISTED" | "VISIBLE" | "%future added value";
8
9
  export type LicenseOptionsSpec = {
9
10
  licenseId: string;
10
11
  licenseOptionIds?: ReadonlyArray<string> | null;
@@ -22,8 +23,10 @@ export type FontFamiliesQuery$variables = {
22
23
  export type FontFamiliesQuery$data = {
23
24
  readonly node: {
24
25
  readonly families?: ReadonlyArray<{
26
+ readonly visibility: Visibility;
25
27
  readonly " $fragmentSpreads": FragmentRefs<"Family_node">;
26
28
  }> | null;
29
+ readonly visibility?: Visibility;
27
30
  readonly " $fragmentSpreads": FragmentRefs<"Family_node">;
28
31
  } | null;
29
32
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<1965d64fa7f303dfcd53846ea6d9bd21>>
2
+ * @generated SignedSource<<1455416c012741e081db5301244ac6d9>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
@@ -41,26 +41,33 @@ const node = function () {
41
41
  "kind": "FragmentSpread",
42
42
  "name": "Family_node"
43
43
  },
44
- v4 = [{
44
+ v4 = {
45
+ "alias": null,
46
+ "args": null,
47
+ "kind": "ScalarField",
48
+ "name": "visibility",
49
+ "storageKey": null
50
+ },
51
+ v5 = [{
45
52
  "kind": "Literal",
46
53
  "name": "collectionTypes",
47
54
  "value": ["FAMILY"]
48
55
  }],
49
- v5 = {
56
+ v6 = {
50
57
  "alias": null,
51
58
  "args": null,
52
59
  "kind": "ScalarField",
53
60
  "name": "name",
54
61
  "storageKey": null
55
62
  },
56
- v6 = {
63
+ v7 = {
57
64
  "alias": null,
58
65
  "args": null,
59
66
  "kind": "ScalarField",
60
67
  "name": "cssFamily",
61
68
  "storageKey": null
62
69
  },
63
- v7 = {
70
+ v8 = {
64
71
  "alias": null,
65
72
  "args": null,
66
73
  "concreteType": "WebfontSource",
@@ -88,7 +95,7 @@ const node = function () {
88
95
  }],
89
96
  "storageKey": null
90
97
  },
91
- v8 = {
98
+ v9 = {
92
99
  "alias": null,
93
100
  "args": null,
94
101
  "concreteType": "VerticalMetrics",
@@ -128,33 +135,33 @@ const node = function () {
128
135
  }],
129
136
  "storageKey": null
130
137
  },
131
- v9 = {
138
+ v10 = {
132
139
  "alias": null,
133
140
  "args": null,
134
141
  "kind": "ScalarField",
135
142
  "name": "supportedLanguages",
136
143
  "storageKey": null
137
144
  },
138
- v10 = [{
145
+ v11 = [{
139
146
  "kind": "Literal",
140
147
  "name": "format",
141
148
  "value": "LOCALIZED"
142
149
  }],
143
- v11 = {
150
+ v12 = {
144
151
  "alias": "name_localized",
145
- "args": v10 /*: any*/,
152
+ "args": v11 /*: any*/,
146
153
  "kind": "ScalarField",
147
154
  "name": "name",
148
155
  "storageKey": "name(format:\"LOCALIZED\")"
149
156
  },
150
- v12 = {
157
+ v13 = {
151
158
  "alias": null,
152
159
  "args": null,
153
160
  "concreteType": "VariableInstance",
154
161
  "kind": "LinkedField",
155
162
  "name": "variableInstances",
156
163
  "plural": true,
157
- "selections": [v5 /*: any*/, {
164
+ "selections": [v6 /*: any*/, {
158
165
  "alias": null,
159
166
  "args": null,
160
167
  "concreteType": "VariableSetting",
@@ -178,40 +185,40 @@ const node = function () {
178
185
  }],
179
186
  "storageKey": null
180
187
  },
181
- v13 = {
188
+ v14 = {
182
189
  "alias": null,
183
190
  "args": null,
184
191
  "kind": "ScalarField",
185
192
  "name": "id",
186
193
  "storageKey": null
187
194
  },
188
- v14 = {
195
+ v15 = {
189
196
  "alias": null,
190
197
  "args": null,
191
198
  "concreteType": "FontStyle",
192
199
  "kind": "LinkedField",
193
200
  "name": "fontStyles",
194
201
  "plural": true,
195
- "selections": [v6 /*: any*/, v5 /*: any*/, v7 /*: any*/, v8 /*: any*/, v9 /*: any*/, v11 /*: any*/, v12 /*: any*/, v13 /*: any*/, {
202
+ "selections": [v7 /*: any*/, v6 /*: any*/, v8 /*: any*/, v9 /*: any*/, v10 /*: any*/, v12 /*: any*/, v13 /*: any*/, v14 /*: any*/, {
196
203
  "alias": null,
197
204
  "args": null,
198
205
  "concreteType": "VariableAxis",
199
206
  "kind": "LinkedField",
200
207
  "name": "variableAxes",
201
208
  "plural": true,
202
- "selections": [v5 /*: any*/],
209
+ "selections": [v6 /*: any*/],
203
210
  "storageKey": null
204
211
  }],
205
212
  "storageKey": null
206
213
  },
207
- v15 = {
214
+ v16 = {
208
215
  "alias": null,
209
216
  "args": null,
210
217
  "concreteType": "Sku",
211
218
  "kind": "LinkedField",
212
219
  "name": "sku",
213
220
  "plural": false,
214
- "selections": [v13 /*: any*/, {
221
+ "selections": [v14 /*: any*/, {
215
222
  "alias": null,
216
223
  "args": v2 /*: any*/,
217
224
  "concreteType": "Money",
@@ -235,28 +242,28 @@ const node = function () {
235
242
  }],
236
243
  "storageKey": null
237
244
  },
238
- v16 = {
245
+ v17 = {
239
246
  "alias": null,
240
247
  "args": null,
241
248
  "kind": "ScalarField",
242
249
  "name": "collectionType",
243
250
  "storageKey": null
244
251
  },
245
- v17 = {
252
+ v18 = {
246
253
  "alias": null,
247
254
  "args": null,
248
255
  "kind": "ScalarField",
249
256
  "name": "totalStyles",
250
257
  "storageKey": null
251
258
  },
252
- v18 = {
259
+ v19 = {
253
260
  "alias": null,
254
261
  "args": null,
255
262
  "kind": "ScalarField",
256
263
  "name": "isVariableFont",
257
264
  "storageKey": null
258
265
  },
259
- v19 = {
266
+ v20 = {
260
267
  "alias": null,
261
268
  "args": null,
262
269
  "concreteType": "FontStyle",
@@ -265,11 +272,11 @@ const node = function () {
265
272
  "plural": false,
266
273
  "selections": [{
267
274
  "alias": "keyCharacters_localized",
268
- "args": v10 /*: any*/,
275
+ "args": v11 /*: any*/,
269
276
  "kind": "ScalarField",
270
277
  "name": "keyCharacters",
271
278
  "storageKey": "keyCharacters(format:\"LOCALIZED\")"
272
- }, v13 /*: any*/],
279
+ }, v14 /*: any*/],
273
280
  "storageKey": null
274
281
  };
275
282
  return {
@@ -287,14 +294,14 @@ const node = function () {
287
294
  "plural": false,
288
295
  "selections": [v3 /*: any*/, {
289
296
  "kind": "InlineFragment",
290
- "selections": [{
297
+ "selections": [v4 /*: any*/, {
291
298
  "alias": "families",
292
- "args": v4 /*: any*/,
299
+ "args": v5 /*: any*/,
293
300
  "concreteType": "FontCollection",
294
301
  "kind": "LinkedField",
295
302
  "name": "children",
296
303
  "plural": true,
297
- "selections": [v3 /*: any*/],
304
+ "selections": [v4 /*: any*/, v3 /*: any*/],
298
305
  "storageKey": "children(collectionTypes:[\"FAMILY\"])"
299
306
  }],
300
307
  "type": "FontCollection",
@@ -325,49 +332,49 @@ const node = function () {
325
332
  "storageKey": null
326
333
  }, {
327
334
  "kind": "InlineFragment",
328
- "selections": [v5 /*: any*/, v14 /*: any*/, v15 /*: any*/, v16 /*: any*/, v17 /*: any*/, v18 /*: any*/, {
335
+ "selections": [v6 /*: any*/, v15 /*: any*/, v16 /*: any*/, v17 /*: any*/, v18 /*: any*/, v19 /*: any*/, {
329
336
  "alias": "families",
330
- "args": v4 /*: any*/,
337
+ "args": v5 /*: any*/,
331
338
  "concreteType": "FontCollection",
332
339
  "kind": "LinkedField",
333
340
  "name": "children",
334
341
  "plural": true,
335
- "selections": [v19 /*: any*/, v5 /*: any*/, v14 /*: any*/, v13 /*: any*/, v15 /*: any*/, v16 /*: any*/, v17 /*: any*/, v18 /*: any*/, {
342
+ "selections": [v20 /*: any*/, v6 /*: any*/, v15 /*: any*/, v14 /*: any*/, v4 /*: any*/, v16 /*: any*/, v17 /*: any*/, v18 /*: any*/, v19 /*: any*/, {
336
343
  "alias": "families",
337
- "args": v4 /*: any*/,
344
+ "args": v5 /*: any*/,
338
345
  "concreteType": "FontCollection",
339
346
  "kind": "LinkedField",
340
347
  "name": "children",
341
348
  "plural": true,
342
- "selections": [v19 /*: any*/, v5 /*: any*/, {
349
+ "selections": [v20 /*: any*/, v6 /*: any*/, {
343
350
  "alias": null,
344
351
  "args": null,
345
352
  "concreteType": "FontStyle",
346
353
  "kind": "LinkedField",
347
354
  "name": "fontStyles",
348
355
  "plural": true,
349
- "selections": [v6 /*: any*/, v5 /*: any*/, v7 /*: any*/, v8 /*: any*/, v9 /*: any*/, v11 /*: any*/, v12 /*: any*/, v13 /*: any*/],
356
+ "selections": [v7 /*: any*/, v6 /*: any*/, v8 /*: any*/, v9 /*: any*/, v10 /*: any*/, v12 /*: any*/, v13 /*: any*/, v14 /*: any*/],
350
357
  "storageKey": null
351
- }, v13 /*: any*/],
358
+ }, v14 /*: any*/],
352
359
  "storageKey": "children(collectionTypes:[\"FAMILY\"])"
353
360
  }],
354
361
  "storageKey": "children(collectionTypes:[\"FAMILY\"])"
355
- }],
362
+ }, v4 /*: any*/],
356
363
  "type": "FontCollection",
357
364
  "abstractKey": null
358
- }, v13 /*: any*/],
365
+ }, v14 /*: any*/],
359
366
  "storageKey": null
360
367
  }]
361
368
  },
362
369
  "params": {
363
- "cacheID": "ec904b75cd1b05424d91f9c0148820ee",
370
+ "cacheID": "8eb1ccf44e53bc82db5609efacd2c961",
364
371
  "id": null,
365
372
  "metadata": {},
366
373
  "name": "FontFamiliesQuery",
367
374
  "operationKind": "query",
368
- "text": "query FontFamiliesQuery(\n $collectionId: ID!\n $licenseOptions: [LicenseOptionsSpec]!\n $orderVariables: [OrderVariableSelectionInput!]\n) {\n node(id: $collectionId) {\n __typename\n ...Family_node_4sncub\n ... on FontCollection {\n families: children(collectionTypes: [FAMILY]) {\n ...Family_node_4sncub\n id\n }\n }\n id\n }\n}\n\nfragment FamilyList_node on FontCollection {\n name\n fontStyles {\n ...FontStyle_fontStyle\n supportedLanguages\n name\n name_localized: name(format: LOCALIZED)\n variableInstances {\n name\n coordinates {\n axis\n value\n }\n }\n id\n }\n}\n\nfragment Family_node_4sncub on FontCollection {\n ...FamilyList_node\n sku {\n id\n ...SKUPrice_sku_4sncub\n ...SelectButton_sku_4sncub\n }\n name\n collectionType\n totalStyles\n isVariableFont\n fontStyles {\n variableAxes {\n name\n }\n variableInstances {\n name\n }\n id\n }\n families: children(collectionTypes: [FAMILY]) {\n featureStyle {\n keyCharacters_localized: keyCharacters(format: LOCALIZED)\n id\n }\n ...FamilyList_node\n id\n }\n}\n\nfragment FontStyle_fontStyle on FontStyle {\n ...useFontStyle_fontStyle\n}\n\nfragment Price_price on Money {\n amount\n currency\n}\n\nfragment SKUPrice_sku_4sncub on Sku {\n id\n price(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n ...Price_price\n }\n}\n\nfragment SelectButton_sku_4sncub on Sku {\n id\n ...SKUPrice_sku_4sncub\n}\n\nfragment useFontStyle_fontStyle on FontStyle {\n cssFamily\n name\n webfontSources {\n url\n format\n tech\n }\n verticalMetrics {\n unitsPerEm\n ascender\n descender\n lineGap\n avgCharWidth\n }\n}\n"
375
+ "text": "query FontFamiliesQuery(\n $collectionId: ID!\n $licenseOptions: [LicenseOptionsSpec]!\n $orderVariables: [OrderVariableSelectionInput!]\n) {\n node(id: $collectionId) {\n __typename\n ...Family_node_4sncub\n ... on FontCollection {\n visibility\n families: children(collectionTypes: [FAMILY]) {\n visibility\n ...Family_node_4sncub\n id\n }\n }\n id\n }\n}\n\nfragment FamilyList_node on FontCollection {\n name\n fontStyles {\n ...FontStyle_fontStyle\n supportedLanguages\n name\n name_localized: name(format: LOCALIZED)\n variableInstances {\n name\n coordinates {\n axis\n value\n }\n }\n id\n }\n}\n\nfragment Family_node_4sncub on FontCollection {\n ...FamilyList_node\n sku {\n id\n ...SKUPrice_sku_4sncub\n ...SelectButton_sku_4sncub\n }\n name\n collectionType\n totalStyles\n isVariableFont\n fontStyles {\n variableAxes {\n name\n }\n variableInstances {\n name\n }\n id\n }\n families: children(collectionTypes: [FAMILY]) {\n featureStyle {\n keyCharacters_localized: keyCharacters(format: LOCALIZED)\n id\n }\n ...FamilyList_node\n id\n }\n}\n\nfragment FontStyle_fontStyle on FontStyle {\n ...useFontStyle_fontStyle\n}\n\nfragment Price_price on Money {\n amount\n currency\n}\n\nfragment SKUPrice_sku_4sncub on Sku {\n id\n price(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n ...Price_price\n }\n}\n\nfragment SelectButton_sku_4sncub on Sku {\n id\n ...SKUPrice_sku_4sncub\n}\n\nfragment useFontStyle_fontStyle on FontStyle {\n cssFamily\n name\n webfontSources {\n url\n format\n tech\n }\n verticalMetrics {\n unitsPerEm\n ascender\n descender\n lineGap\n avgCharWidth\n }\n}\n"
369
376
  }
370
377
  };
371
378
  }();
372
- node.hash = "18eba6b750d3f714b964af66ecfcfa3b";
379
+ node.hash = "1ccff8f69fae99e65e6007bf25e4f8a3";
373
380
  export default node;
@@ -1,11 +1,13 @@
1
1
  /**
2
- * @generated SignedSource<<bd1eb06f06d0656884453a2e619618a7>>
2
+ * @generated SignedSource<<6af476093a952a2f6d8902d96f22e567>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
6
6
  import { ConcreteRequest } from 'relay-runtime';
7
+ export type CustomerForm = "CHECKOUT" | "NEWSLETTER" | "TEST_FONTS" | "%future added value";
7
8
  export type UpdateCustomerInput = {
8
9
  email?: string | null;
10
+ form?: CustomerForm | null;
9
11
  name?: string | null;
10
12
  newsletterOptIn?: boolean | null;
11
13
  recaptchaToken?: string | null;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<bd1eb06f06d0656884453a2e619618a7>>
2
+ * @generated SignedSource<<6af476093a952a2f6d8902d96f22e567>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
@@ -1,14 +1,17 @@
1
1
  /**
2
- * @generated SignedSource<<0954b7b421419075cc0c3e3b9fd5edae>>
2
+ * @generated SignedSource<<efd2c9edf7e4aebfdf6434a0a340a08f>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
6
6
  import { ReaderFragment } from 'relay-runtime';
7
+ export type Visibility = "HIDDEN" | "UNLISTED" | "VISIBLE" | "%future added value";
7
8
  import { FragmentRefs } from "relay-runtime";
8
9
  export type PriceBar_node$data = {
9
10
  readonly parent: {
11
+ readonly visibility: Visibility;
10
12
  readonly " $fragmentSpreads": FragmentRefs<"PriceBarSection_node">;
11
13
  } | null;
14
+ readonly visibility: Visibility;
12
15
  readonly " $fragmentSpreads": FragmentRefs<"PriceBarSection_node">;
13
16
  readonly " $fragmentType": "PriceBar_node";
14
17
  };