fontdue-js 2.19.1 → 2.20.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 (125) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +11 -10
  3. package/dist/__generated__/CartItemProduct_product.graphql.d.ts +1 -7
  4. package/dist/__generated__/CartItemProduct_product.graphql.js +11 -36
  5. package/dist/__generated__/CartOrderCompleteOrderMutation.graphql.d.ts +1 -1
  6. package/dist/__generated__/CartOrderCompleteOrderMutation.graphql.js +65 -23
  7. package/dist/__generated__/CartOrderRemoveDiscountMutation.graphql.d.ts +1 -1
  8. package/dist/__generated__/CartOrderRemoveDiscountMutation.graphql.js +65 -23
  9. package/dist/__generated__/CartOrderUpdateMutation.graphql.d.ts +1 -1
  10. package/dist/__generated__/CartOrderUpdateMutation.graphql.js +65 -23
  11. package/dist/__generated__/CartQuery.graphql.d.ts +1 -1
  12. package/dist/__generated__/CartQuery.graphql.js +119 -87
  13. package/dist/__generated__/CartStateUpdateMutation.graphql.d.ts +1 -1
  14. package/dist/__generated__/CartStateUpdateMutation.graphql.js +65 -23
  15. package/dist/__generated__/CharacterViewerIDQuery.graphql.d.ts +1 -1
  16. package/dist/__generated__/CharacterViewerIDQuery.graphql.js +40 -26
  17. package/dist/__generated__/CharacterViewerSlugQuery.graphql.d.ts +1 -1
  18. package/dist/__generated__/CharacterViewerSlugQuery.graphql.js +40 -26
  19. package/dist/__generated__/CharacterViewerStyleRefetchQuery.graphql.d.ts +1 -1
  20. package/dist/__generated__/CharacterViewerStyleRefetchQuery.graphql.js +62 -41
  21. package/dist/__generated__/CharacterViewer_collection.graphql.d.ts +1 -3
  22. package/dist/__generated__/CharacterViewer_collection.graphql.js +6 -13
  23. package/dist/__generated__/CharacterViewer_family.graphql.d.ts +1 -2
  24. package/dist/__generated__/CharacterViewer_family.graphql.js +2 -8
  25. package/dist/__generated__/CharacterViewer_style.graphql.d.ts +2 -1
  26. package/dist/__generated__/CharacterViewer_style.graphql.js +6 -2
  27. package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.d.ts +1 -1
  28. package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.js +65 -23
  29. package/dist/__generated__/CheckoutUpdateOrderMutation.graphql.d.ts +1 -1
  30. package/dist/__generated__/CheckoutUpdateOrderMutation.graphql.js +65 -23
  31. package/dist/__generated__/CollectionAa_Query.graphql.d.ts +1 -1
  32. package/dist/__generated__/CollectionAa_Query.graphql.js +57 -3
  33. package/dist/__generated__/Family_node.graphql.d.ts +1 -2
  34. package/dist/__generated__/Family_node.graphql.js +2 -8
  35. package/dist/__generated__/FontFamiliesQuery.graphql.d.ts +1 -1
  36. package/dist/__generated__/FontFamiliesQuery.graphql.js +80 -31
  37. package/dist/__generated__/FontStyle_fontStyle.graphql.d.ts +2 -3
  38. package/dist/__generated__/FontStyle_fontStyle.graphql.js +4 -12
  39. package/dist/__generated__/PrecartAddToCartMutation.graphql.d.ts +1 -1
  40. package/dist/__generated__/PrecartAddToCartMutation.graphql.js +71 -29
  41. package/dist/__generated__/ServerConfigProviderQuery.graphql.d.ts +24 -0
  42. package/dist/__generated__/ServerConfigProviderQuery.graphql.js +108 -0
  43. package/dist/__generated__/StoreModalCartQuery.graphql.d.ts +1 -1
  44. package/dist/__generated__/StoreModalCartQuery.graphql.js +108 -76
  45. package/dist/__generated__/StoreModalContainerQuery.graphql.d.ts +4 -7
  46. package/dist/__generated__/StoreModalContainerQuery.graphql.js +58 -25
  47. package/dist/__generated__/StoreModalFamily_collection.graphql.d.ts +1 -2
  48. package/dist/__generated__/StoreModalFamily_collection.graphql.js +2 -8
  49. package/dist/__generated__/StoreModalIndexItem_fontCollection.graphql.d.ts +1 -4
  50. package/dist/__generated__/StoreModalIndexItem_fontCollection.graphql.js +2 -17
  51. package/dist/__generated__/StoreModalIndexQuery.graphql.d.ts +1 -1
  52. package/dist/__generated__/StoreModalIndexQuery.graphql.js +48 -9
  53. package/dist/__generated__/StoreModalProductQuery.graphql.d.ts +1 -1
  54. package/dist/__generated__/StoreModalProductQuery.graphql.js +85 -41
  55. package/dist/__generated__/StoreModalProductRefetchQuery.graphql.d.ts +1 -1
  56. package/dist/__generated__/StoreModalProductRefetchQuery.graphql.js +78 -34
  57. package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.d.ts +1 -1
  58. package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +65 -23
  59. package/dist/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.d.ts +1 -1
  60. package/dist/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.js +55 -7
  61. package/dist/__generated__/TypeTesterStandaloneQuery.graphql.d.ts +1 -1
  62. package/dist/__generated__/TypeTesterStandaloneQuery.graphql.js +56 -8
  63. package/dist/__generated__/TypeTester_fontStyle.graphql.d.ts +1 -4
  64. package/dist/__generated__/TypeTester_fontStyle.graphql.js +2 -17
  65. package/dist/__generated__/TypeTestersChangedStylesQuery.graphql.d.ts +1 -1
  66. package/dist/__generated__/TypeTestersChangedStylesQuery.graphql.js +55 -7
  67. package/dist/__generated__/TypeTestersIDQuery.graphql.d.ts +1 -1
  68. package/dist/__generated__/TypeTestersIDQuery.graphql.js +55 -7
  69. package/dist/__generated__/TypeTestersRefetchQuery.graphql.d.ts +1 -1
  70. package/dist/__generated__/TypeTestersRefetchQuery.graphql.js +55 -7
  71. package/dist/__generated__/TypeTestersSlugQuery.graphql.d.ts +1 -1
  72. package/dist/__generated__/TypeTestersSlugQuery.graphql.js +55 -7
  73. package/dist/__generated__/useFontStyle_fontStyle.graphql.d.ts +28 -0
  74. package/dist/__generated__/useFontStyle_fontStyle.graphql.js +94 -0
  75. package/dist/__tests__/collectionBundleSelection.test.js +453 -1
  76. package/dist/components/Cart/CartItem/CartItemProduct.js +3 -9
  77. package/dist/components/CharacterViewer/index.js +5 -11
  78. package/dist/components/ConfigContext.d.ts +13 -0
  79. package/dist/components/ConfigContext.js +6 -2
  80. package/dist/components/ConsentBanner/consent.d.ts +18 -0
  81. package/dist/components/ConsentBanner/consent.js +93 -0
  82. package/dist/components/ConsentBanner/index.d.ts +3 -0
  83. package/dist/components/ConsentBanner/index.js +84 -0
  84. package/dist/components/Family/index.js +2 -5
  85. package/dist/components/FontStyle/index.js +2 -8
  86. package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +14 -1
  87. package/dist/components/FontdueProvider/index.js +1 -2
  88. package/dist/components/FontdueProvider/index.server.js +1 -2
  89. package/dist/components/ServerConfigProvider/index.d.ts +8 -0
  90. package/dist/components/ServerConfigProvider/index.js +41 -0
  91. package/dist/components/StoreModal/StoreModalContainer.js +15 -17
  92. package/dist/components/StoreModal/StoreModalFamily.js +1 -5
  93. package/dist/components/StoreModal/StoreModalIndexItem.js +6 -11
  94. package/dist/components/Tracking/index.d.ts +2 -0
  95. package/dist/components/Tracking/index.js +166 -0
  96. package/dist/components/TypeTester/TypeTesterSlider.js +10 -3
  97. package/dist/components/TypeTester/index.js +2 -5
  98. package/dist/components/TypeTester/useTypeTesterStyler.js +27 -85
  99. package/dist/components/UrlContext.d.ts +3 -0
  100. package/dist/components/UrlContext.js +15 -0
  101. package/dist/components/elements/StoreModalContainer/index.d.ts +2 -6
  102. package/dist/components/elements/StoreModalContainer/index.js +3 -8
  103. package/dist/components/elements/StoreModalFamily/index.d.ts +0 -1
  104. package/dist/components/elements/StoreModalFamily/index.js +1 -2
  105. package/dist/components/useConsent.d.ts +9 -0
  106. package/dist/components/useConsent.js +26 -0
  107. package/dist/components/useFont.d.ts +29 -0
  108. package/dist/components/useFont.js +77 -0
  109. package/dist/components/useFontLoaded.d.ts +24 -0
  110. package/dist/components/useFontLoaded.js +60 -0
  111. package/dist/components/useFontStyle.d.ts +3 -4
  112. package/dist/components/useFontStyle.js +24 -16
  113. package/dist/deepMerge.d.ts +4 -0
  114. package/dist/deepMerge.js +24 -0
  115. package/dist/fontLoader.d.ts +13 -0
  116. package/dist/fontLoader.js +55 -0
  117. package/dist/fontdue.css +65 -0
  118. package/dist/hooks/useAutofit.d.ts +20 -0
  119. package/dist/hooks/useAutofit.js +114 -0
  120. package/dist/react-ranger.js +5 -1
  121. package/dist/reducer.d.ts +0 -4
  122. package/dist/reducer.js +32 -21
  123. package/dist/utils.d.ts +3 -0
  124. package/dist/utils.js +19 -8
  125. package/package.json +5 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ ## 2.20.0
2
+
3
+ - **Font loading now uses the FontFace API instead of CSS `@font-face`**. Fonts loaded by fontdue-js components (TypeTester, StoreModal, CharacterViewer, etc.) are no longer loaded via CSS stylesheet injection. Instead, font files are fetched as binary data and loaded via the browser's `FontFace` API. **Note:** components like TypeTesters and CharacterViewer previously loaded the entire family's CSS, which made all styles available page-wide as a side effect. They now only load the specific style they're rendering. If you render font styles outside of fontdue-js components (e.g., in a specimen section), you'll need to load those fonts yourself — either with the new `useFont` hook and `webfontSources`, or with your own `@font-face` rules.
4
+ - **`useFont` hook** (renamed from `useFontStyle`, which still works as a backward-compatible alias). Accepts an optional `webfontSources` prop to load fonts directly via the FontFace API — no CSS `@font-face` rules or `<link>` tags required. When `webfontSources` is omitted, it falls back to detecting fonts loaded by CSS.
5
+ - **`useAutofit` hook** — canvas-based text autofitting with a DOM fallback for variable fonts. Replaces the previous DOM clone measurement approach in type testers, and is now exported as a public API (`fontdue-js/useAutofit`).
6
+ - **`useConsent` hook** — reactively check cookie consent status via `useSyncExternalStore`. SSR-safe. Exported as `fontdue-js/useConsent`.
7
+ - **Automatic analytics tracking** — a new `Tracking` component handles page views, route change detection, consent-gated Segment SDK loading, and UTM/campaign extraction. Enabled automatically based on your Fontdue Analytics settings. Can be overridden with `tracking` config.
8
+ - **Consent banner in `FontdueProvider`** — the cookie consent banner now renders automatically inside `FontdueProvider`, depending on your Fontdue Analytics settings.
9
+ - Removed `fontfaceobserver` dependency (from React components; vanilla JS path unchanged)
10
+ - Fonts already loaded on the page (e.g., by tenant CSS) are detected on mount, avoiding unnecessary re-fetches and flash of fallback font
11
+
12
+ ## 2.19.2
13
+
14
+ - Fixed style packages (bundles within a family) not displaying as selected and not responding to deselection clicks when selected via a parent collection bundle or family
15
+ - Fixed auto-upgrade not selecting collection bundles transitively (e.g., selecting both style packages now upgrades through the family to the collection bundle in a single step)
16
+
1
17
  ## 2.19.1
2
18
 
3
19
  - Fixed collection bundles not auto-selecting when a family at the same price is chosen — the bundle now correctly takes priority over the family itself
package/README.md CHANGED
@@ -225,22 +225,23 @@ import NewsletterSignup from 'fontdue-js/NewsletterSignup';
225
225
  | `buttonLabel` | (Optional) `string` Label for the button. Defaults to "Subscribe" |
226
226
  | `optInCheckboxChecked` | (Optional) `boolean` Set the checkbox checked by default. |
227
227
 
228
- ## `useFontStyle`
228
+ ## `useFont`
229
229
 
230
- A hook to load and render a particular font style. The fallback/loading style is a series of dots rather than any fallback system font.
231
-
232
- Note that you must first load the relevant CSS for the font family (ideally in the `<head>` of your page). You can find the CSS URL by querying the `FontCollection.cssUrl` field in the Graphql API for the relevant family, or find the HTML code in the Fontdue CMS, under the Webfonts tab of the family. (For superfamilies, you must get load the CSS for each subfamily).
230
+ A hook to load and render a web font. Pass `webfontSources` to load fonts directly via the FontFace API (no CSS `@font-face` required). The `webfontSources` data is available from the `FontStyle.webfontSources` field in the GraphQL API.
233
231
 
234
232
  ```tsx
235
- import useFontStyle from 'fontdue-js/useFontStyle';
233
+ import useFont from 'fontdue-js/useFont';
236
234
 
237
- const FontStyle = ({ familyName, styleName }) => {
238
- const { style } = useFontStyle({
235
+ const FontStyle = ({ familyName, styleName, webfontSources }) => {
236
+ const { style, loaded } = useFont({
239
237
  fontFamily: `${familyName} ${styleName}`,
240
- fontWeight: '400',
241
- fontStyle: 'normal',
238
+ webfontSources,
242
239
  });
243
240
 
244
- return <span style={style}>The quick brown box</span>;
241
+ return <span style={style}>The quick brown fox</span>;
245
242
  };
246
243
  ```
244
+
245
+ If `webfontSources` is omitted, the hook falls back to detecting fonts loaded by CSS `@font-face` rules.
246
+
247
+ Also available as `fontdue-js/useFontStyle` for backward compatibility.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<9b8e86a8ba2c73d1472616197e58dace>>
2
+ * @generated SignedSource<<141cde7f2b8f160fd683c8152e51aaff>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
@@ -8,14 +8,8 @@ import { FragmentRefs } from "relay-runtime";
8
8
  export type CartItemProduct_product$data = {
9
9
  readonly __typename: string;
10
10
  readonly family?: {
11
- readonly cssUrl: string | null;
12
11
  readonly name: string;
13
12
  } | null;
14
- readonly featureStyle?: {
15
- readonly family: {
16
- readonly cssUrl: string | null;
17
- } | null;
18
- } | null;
19
13
  readonly fontCollection?: {
20
14
  readonly name: string;
21
15
  };
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  /**
8
- * @generated SignedSource<<9b8e86a8ba2c73d1472616197e58dace>>
8
+ * @generated SignedSource<<141cde7f2b8f160fd683c8152e51aaff>>
9
9
  * @lightSyntaxTransform
10
10
  * @nogrep
11
11
  */
@@ -22,25 +22,18 @@ const node = function () {
22
22
  "name": "name",
23
23
  "storageKey": null
24
24
  },
25
- v1 = {
26
- "alias": null,
27
- "args": null,
28
- "kind": "ScalarField",
29
- "name": "cssUrl",
30
- "storageKey": null
31
- },
32
- v2 = [v0 /*: any*/],
33
- v3 = {
25
+ v1 = [v0 /*: any*/],
26
+ v2 = {
34
27
  "alias": null,
35
28
  "args": null,
36
29
  "concreteType": "FontCollection",
37
30
  "kind": "LinkedField",
38
31
  "name": "fontCollection",
39
32
  "plural": false,
40
- "selections": v2 /*: any*/,
33
+ "selections": v1 /*: any*/,
41
34
  "storageKey": null
42
35
  },
43
- v4 = {
36
+ v3 = {
44
37
  "alias": null,
45
38
  "args": null,
46
39
  "kind": "ScalarField",
@@ -75,7 +68,7 @@ const node = function () {
75
68
  "kind": "LinkedField",
76
69
  "name": "family",
77
70
  "plural": false,
78
- "selections": [v0 /*: any*/, v1 /*: any*/],
71
+ "selections": v1 /*: any*/,
79
72
  "storageKey": null
80
73
  }, v0 /*: any*/, {
81
74
  "alias": null,
@@ -84,14 +77,14 @@ const node = function () {
84
77
  "kind": "LinkedField",
85
78
  "name": "variableInstances",
86
79
  "plural": true,
87
- "selections": v2 /*: any*/,
80
+ "selections": v1 /*: any*/,
88
81
  "storageKey": null
89
82
  }],
90
83
  "type": "FontStyle",
91
84
  "abstractKey": null
92
85
  }, {
93
86
  "kind": "InlineFragment",
94
- "selections": [v0 /*: any*/, v3 /*: any*/],
87
+ "selections": [v0 /*: any*/, v2 /*: any*/],
95
88
  "type": "Bundle",
96
89
  "abstractKey": null
97
90
  }, {
@@ -102,30 +95,12 @@ const node = function () {
102
95
  "kind": "ScalarField",
103
96
  "name": "isVariableFont",
104
97
  "storageKey": null
105
- }, v4 /*: any*/, {
106
- "alias": null,
107
- "args": null,
108
- "concreteType": "FontStyle",
109
- "kind": "LinkedField",
110
- "name": "featureStyle",
111
- "plural": false,
112
- "selections": [{
113
- "alias": null,
114
- "args": null,
115
- "concreteType": "FontCollection",
116
- "kind": "LinkedField",
117
- "name": "family",
118
- "plural": false,
119
- "selections": [v1 /*: any*/],
120
- "storageKey": null
121
- }],
122
- "storageKey": null
123
- }],
98
+ }, v3 /*: any*/],
124
99
  "type": "FontCollection",
125
100
  "abstractKey": null
126
101
  }, {
127
102
  "kind": "InlineFragment",
128
- "selections": [v0 /*: any*/, v4 /*: any*/, v3 /*: any*/],
103
+ "selections": [v0 /*: any*/, v3 /*: any*/, v2 /*: any*/],
129
104
  "type": "CollectionBundle",
130
105
  "abstractKey": null
131
106
  }],
@@ -133,6 +108,6 @@ const node = function () {
133
108
  "abstractKey": "__isSkuProduct"
134
109
  };
135
110
  }();
136
- node.hash = "b28cd421e634ecb1162252d953233456";
111
+ node.hash = "a3931102e3ec08c57abd262038b5d74a";
137
112
  var _default = node;
138
113
  exports.default = _default;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<88416daded0fea1fc57e1b31011fde51>>
2
+ * @generated SignedSource<<b25faf2be0b584a51ddf5761b34eacd7>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  /**
8
- * @generated SignedSource<<88416daded0fea1fc57e1b31011fde51>>
8
+ * @generated SignedSource<<b25faf2be0b584a51ddf5761b34eacd7>>
9
9
  * @lightSyntaxTransform
10
10
  * @nogrep
11
11
  */
@@ -162,25 +162,76 @@ const node = function () {
162
162
  v12 = {
163
163
  "alias": null,
164
164
  "args": null,
165
- "kind": "ScalarField",
166
- "name": "cssUrl",
165
+ "concreteType": "WebfontSource",
166
+ "kind": "LinkedField",
167
+ "name": "webfontSources",
168
+ "plural": true,
169
+ "selections": [{
170
+ "alias": null,
171
+ "args": null,
172
+ "kind": "ScalarField",
173
+ "name": "url",
174
+ "storageKey": null
175
+ }, {
176
+ "alias": null,
177
+ "args": null,
178
+ "kind": "ScalarField",
179
+ "name": "format",
180
+ "storageKey": null
181
+ }],
167
182
  "storageKey": null
168
183
  },
169
184
  v13 = {
185
+ "alias": null,
186
+ "args": null,
187
+ "concreteType": "VerticalMetrics",
188
+ "kind": "LinkedField",
189
+ "name": "verticalMetrics",
190
+ "plural": false,
191
+ "selections": [{
192
+ "alias": null,
193
+ "args": null,
194
+ "kind": "ScalarField",
195
+ "name": "unitsPerEm",
196
+ "storageKey": null
197
+ }, {
198
+ "alias": null,
199
+ "args": null,
200
+ "kind": "ScalarField",
201
+ "name": "ascender",
202
+ "storageKey": null
203
+ }, {
204
+ "alias": null,
205
+ "args": null,
206
+ "kind": "ScalarField",
207
+ "name": "descender",
208
+ "storageKey": null
209
+ }, {
210
+ "alias": null,
211
+ "args": null,
212
+ "kind": "ScalarField",
213
+ "name": "lineGap",
214
+ "storageKey": null
215
+ }],
216
+ "storageKey": null
217
+ },
218
+ v14 = [v11 /*: any*/, v2 /*: any*/, v12 /*: any*/, v13 /*: any*/, v4 /*: any*/],
219
+ v15 = {
170
220
  "alias": null,
171
221
  "args": null,
172
222
  "kind": "ScalarField",
173
223
  "name": "totalStyles",
174
224
  "storageKey": null
175
225
  },
176
- v14 = {
226
+ v16 = [v2 /*: any*/, v4 /*: any*/],
227
+ v17 = {
177
228
  "alias": null,
178
229
  "args": null,
179
230
  "concreteType": "FontCollection",
180
231
  "kind": "LinkedField",
181
232
  "name": "fontCollection",
182
233
  "plural": false,
183
- "selections": [v2 /*: any*/, v4 /*: any*/],
234
+ "selections": v16 /*: any*/,
184
235
  "storageKey": null
185
236
  };
186
237
  return {
@@ -546,16 +597,7 @@ const node = function () {
546
597
  "kind": "LinkedField",
547
598
  "name": "featureStyle",
548
599
  "plural": false,
549
- "selections": [v11 /*: any*/, v2 /*: any*/, v4 /*: any*/, {
550
- "alias": null,
551
- "args": null,
552
- "concreteType": "FontCollection",
553
- "kind": "LinkedField",
554
- "name": "family",
555
- "plural": false,
556
- "selections": [v12 /*: any*/, v4 /*: any*/],
557
- "storageKey": null
558
- }],
600
+ "selections": v14 /*: any*/,
559
601
  "storageKey": null
560
602
  }, v2 /*: any*/, {
561
603
  "alias": null,
@@ -563,7 +605,7 @@ const node = function () {
563
605
  "kind": "ScalarField",
564
606
  "name": "isVariableFont",
565
607
  "storageKey": null
566
- }, v13 /*: any*/],
608
+ }, v15 /*: any*/],
567
609
  "type": "FontCollection",
568
610
  "abstractKey": null
569
611
  }, {
@@ -575,21 +617,21 @@ const node = function () {
575
617
  "kind": "LinkedField",
576
618
  "name": "fontStyles",
577
619
  "plural": true,
578
- "selections": [v11 /*: any*/, v2 /*: any*/, v4 /*: any*/],
620
+ "selections": v14 /*: any*/,
579
621
  "storageKey": null
580
- }, v2 /*: any*/, v14 /*: any*/],
622
+ }, v2 /*: any*/, v17 /*: any*/],
581
623
  "type": "Bundle",
582
624
  "abstractKey": null
583
625
  }, {
584
626
  "kind": "InlineFragment",
585
- "selections": [v11 /*: any*/, v2 /*: any*/, {
627
+ "selections": [v11 /*: any*/, v2 /*: any*/, v12 /*: any*/, v13 /*: any*/, {
586
628
  "alias": null,
587
629
  "args": null,
588
630
  "concreteType": "FontCollection",
589
631
  "kind": "LinkedField",
590
632
  "name": "family",
591
633
  "plural": false,
592
- "selections": [v2 /*: any*/, v12 /*: any*/, v4 /*: any*/],
634
+ "selections": v16 /*: any*/,
593
635
  "storageKey": null
594
636
  }, {
595
637
  "alias": null,
@@ -605,7 +647,7 @@ const node = function () {
605
647
  "abstractKey": null
606
648
  }, {
607
649
  "kind": "InlineFragment",
608
- "selections": [v2 /*: any*/, v13 /*: any*/, v14 /*: any*/],
650
+ "selections": [v2 /*: any*/, v15 /*: any*/, v17 /*: any*/],
609
651
  "type": "CollectionBundle",
610
652
  "abstractKey": null
611
653
  }, {
@@ -727,12 +769,12 @@ const node = function () {
727
769
  }]
728
770
  },
729
771
  "params": {
730
- "cacheID": "997edb78782ffddb97ad83766fc8d462",
772
+ "cacheID": "19b831d4f81e05cb8bbb3a8404aad89c",
731
773
  "id": null,
732
774
  "metadata": {},
733
775
  "name": "CartOrderCompleteOrderMutation",
734
776
  "operationKind": "mutation",
735
- "text": "mutation CartOrderCompleteOrderMutation {\n completeOrder {\n order {\n ...CartOrder_order\n stripePaymentIntent {\n clientSecret\n }\n id\n }\n requiresAction\n }\n}\n\nfragment CartItemAdditionalLicenses_licenses on License {\n id\n name\n}\n\nfragment CartItemAdditionalLicenses_orderItem on OrderItem {\n licenseSelections {\n license {\n id\n }\n id\n }\n}\n\nfragment CartItemLicense_selection on LicenseSelection {\n id\n license {\n id\n name\n licenseVariables {\n id\n ...CartItemVariable_variable\n }\n }\n licenseVariable {\n id\n }\n ...CartItemVariable_selection\n}\n\nfragment CartItemProduct_product on SkuProduct {\n __isSkuProduct: __typename\n __typename\n ...CollectionAa_product\n ...FontStyle_fontStyle\n ... on FontStyle {\n family {\n name\n cssUrl\n id\n }\n name\n variableInstances {\n name\n }\n }\n ... on Bundle {\n name\n fontCollection {\n name\n id\n }\n }\n ... on FontCollection {\n name\n isVariableFont\n totalStyles\n featureStyle {\n family {\n cssUrl\n id\n }\n id\n }\n }\n ... on CollectionBundle {\n name\n totalStyles\n fontCollection {\n name\n id\n }\n }\n}\n\nfragment CartItemVariable_selection on LicenseSelection {\n id\n variableText\n license {\n id\n }\n licenseVariable {\n ...VariableTableAmounts_variable\n id\n name\n variableType\n licenseOptions {\n id\n }\n }\n licenseOption {\n ...VariableTableAmounts_option\n id\n name\n amount\n }\n}\n\nfragment CartItemVariable_variable on LicenseVariable {\n id\n licenseOptions {\n id\n name\n amount\n }\n}\n\nfragment CartItem_node on OrderItem {\n ...CartItemAdditionalLicenses_orderItem\n id\n price {\n ...Price_price\n }\n sku {\n price {\n ...Price_price\n }\n product {\n ...CartItemProduct_product\n __typename\n ... on Licenseable {\n __isLicenseable: __typename\n licenses {\n ...CartItemAdditionalLicenses_licenses\n id\n licenseVariables {\n id\n licenseOptions {\n id\n }\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n licenseSelections {\n ...CartItemLicense_selection\n id\n license {\n id\n }\n licenseVariable {\n id\n }\n licenseOption {\n id\n }\n variableText\n }\n}\n\nfragment CartOrder_order on Order {\n ...Checkout_order\n ...Download_order\n ...CartTotals_order\n ...CartState_order\n id\n orderItems {\n ...CartItem_node\n id\n licenseSelections {\n license {\n id\n }\n licenseVariable {\n id\n variableType\n }\n licenseOption {\n id\n }\n variableText\n id\n }\n }\n orderVariableSelections {\n orderVariable {\n id\n }\n orderVariableOption {\n id\n }\n id\n }\n discount {\n id\n }\n customer {\n email\n name\n anonymous\n id\n }\n billingIdentity {\n ...IdentityBox_identity\n }\n licenseeIdentity {\n ...IdentityBox_identity\n }\n licenseeIsBillingIdentity\n stripePaymentMethod {\n card {\n last4\n brand\n }\n }\n stripePaymentIntent {\n status\n }\n canCompleteWithCoupon\n completedWithCoupon\n}\n\nfragment CartState_order on Order {\n id\n orderItems {\n id\n licenseSelections {\n license {\n id\n }\n licenseVariable {\n id\n }\n licenseOption {\n id\n }\n variableText\n id\n }\n }\n orderVariableSelections {\n orderVariable {\n id\n }\n orderVariableOption {\n id\n }\n countryCode\n id\n }\n}\n\nfragment CartTotals_order on Order {\n subtotal {\n ...Price_price\n }\n discount {\n amount {\n amount\n ...Price_price\n }\n coupon {\n ...CouponText_coupon\n id\n }\n id\n }\n discountedSubtotal {\n ...Price_price\n }\n total {\n amount\n ...Price_price\n }\n taxRate\n taxes {\n ...Price_price\n }\n taxName\n taxNotApplicable\n taxNotApplicableReason\n gstIncluded\n}\n\nfragment Checkout_order on Order {\n canCompleteWithCoupon\n customer {\n name\n email\n newsletterOptIn\n id\n }\n billingIdentity {\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n licenseeIdentity {\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n licenseeIsBillingIdentity\n}\n\nfragment CollectionAa_product on SkuProduct {\n __isSkuProduct: __typename\n __typename\n ... on FontCollection {\n featureStyle {\n ...FontStyle_fontStyle\n id\n }\n }\n ... on Bundle {\n fontStyles {\n ...FontStyle_fontStyle\n id\n }\n }\n}\n\nfragment CouponText_coupon on Coupon {\n type\n percentAmount\n creditAmount {\n amount\n currency\n }\n creditAmountRemaining {\n amount\n currency\n }\n}\n\nfragment Download_order on Order {\n id\n archiveUrl\n customer {\n email\n id\n }\n completedWithCoupon\n}\n\nfragment FontStyle_fontStyle on FontStyle {\n cssFamily\n name\n}\n\nfragment IdentityBox_identity on Identity {\n email\n phoneFormatted\n addressFormatted\n vatNumber\n}\n\nfragment Price_price on Money {\n amount\n currency\n}\n\nfragment VariableTableAmounts_option on LicenseOption {\n amounts\n}\n\nfragment VariableTableAmounts_variable on LicenseVariable {\n units\n}\n"
777
+ "text": "mutation CartOrderCompleteOrderMutation {\n completeOrder {\n order {\n ...CartOrder_order\n stripePaymentIntent {\n clientSecret\n }\n id\n }\n requiresAction\n }\n}\n\nfragment CartItemAdditionalLicenses_licenses on License {\n id\n name\n}\n\nfragment CartItemAdditionalLicenses_orderItem on OrderItem {\n licenseSelections {\n license {\n id\n }\n id\n }\n}\n\nfragment CartItemLicense_selection on LicenseSelection {\n id\n license {\n id\n name\n licenseVariables {\n id\n ...CartItemVariable_variable\n }\n }\n licenseVariable {\n id\n }\n ...CartItemVariable_selection\n}\n\nfragment CartItemProduct_product on SkuProduct {\n __isSkuProduct: __typename\n __typename\n ...CollectionAa_product\n ...FontStyle_fontStyle\n ... on FontStyle {\n family {\n name\n id\n }\n name\n variableInstances {\n name\n }\n }\n ... on Bundle {\n name\n fontCollection {\n name\n id\n }\n }\n ... on FontCollection {\n name\n isVariableFont\n totalStyles\n }\n ... on CollectionBundle {\n name\n totalStyles\n fontCollection {\n name\n id\n }\n }\n}\n\nfragment CartItemVariable_selection on LicenseSelection {\n id\n variableText\n license {\n id\n }\n licenseVariable {\n ...VariableTableAmounts_variable\n id\n name\n variableType\n licenseOptions {\n id\n }\n }\n licenseOption {\n ...VariableTableAmounts_option\n id\n name\n amount\n }\n}\n\nfragment CartItemVariable_variable on LicenseVariable {\n id\n licenseOptions {\n id\n name\n amount\n }\n}\n\nfragment CartItem_node on OrderItem {\n ...CartItemAdditionalLicenses_orderItem\n id\n price {\n ...Price_price\n }\n sku {\n price {\n ...Price_price\n }\n product {\n ...CartItemProduct_product\n __typename\n ... on Licenseable {\n __isLicenseable: __typename\n licenses {\n ...CartItemAdditionalLicenses_licenses\n id\n licenseVariables {\n id\n licenseOptions {\n id\n }\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n licenseSelections {\n ...CartItemLicense_selection\n id\n license {\n id\n }\n licenseVariable {\n id\n }\n licenseOption {\n id\n }\n variableText\n }\n}\n\nfragment CartOrder_order on Order {\n ...Checkout_order\n ...Download_order\n ...CartTotals_order\n ...CartState_order\n id\n orderItems {\n ...CartItem_node\n id\n licenseSelections {\n license {\n id\n }\n licenseVariable {\n id\n variableType\n }\n licenseOption {\n id\n }\n variableText\n id\n }\n }\n orderVariableSelections {\n orderVariable {\n id\n }\n orderVariableOption {\n id\n }\n id\n }\n discount {\n id\n }\n customer {\n email\n name\n anonymous\n id\n }\n billingIdentity {\n ...IdentityBox_identity\n }\n licenseeIdentity {\n ...IdentityBox_identity\n }\n licenseeIsBillingIdentity\n stripePaymentMethod {\n card {\n last4\n brand\n }\n }\n stripePaymentIntent {\n status\n }\n canCompleteWithCoupon\n completedWithCoupon\n}\n\nfragment CartState_order on Order {\n id\n orderItems {\n id\n licenseSelections {\n license {\n id\n }\n licenseVariable {\n id\n }\n licenseOption {\n id\n }\n variableText\n id\n }\n }\n orderVariableSelections {\n orderVariable {\n id\n }\n orderVariableOption {\n id\n }\n countryCode\n id\n }\n}\n\nfragment CartTotals_order on Order {\n subtotal {\n ...Price_price\n }\n discount {\n amount {\n amount\n ...Price_price\n }\n coupon {\n ...CouponText_coupon\n id\n }\n id\n }\n discountedSubtotal {\n ...Price_price\n }\n total {\n amount\n ...Price_price\n }\n taxRate\n taxes {\n ...Price_price\n }\n taxName\n taxNotApplicable\n taxNotApplicableReason\n gstIncluded\n}\n\nfragment Checkout_order on Order {\n canCompleteWithCoupon\n customer {\n name\n email\n newsletterOptIn\n id\n }\n billingIdentity {\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n licenseeIdentity {\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n licenseeIsBillingIdentity\n}\n\nfragment CollectionAa_product on SkuProduct {\n __isSkuProduct: __typename\n __typename\n ... on FontCollection {\n featureStyle {\n ...FontStyle_fontStyle\n id\n }\n }\n ... on Bundle {\n fontStyles {\n ...FontStyle_fontStyle\n id\n }\n }\n}\n\nfragment CouponText_coupon on Coupon {\n type\n percentAmount\n creditAmount {\n amount\n currency\n }\n creditAmountRemaining {\n amount\n currency\n }\n}\n\nfragment Download_order on Order {\n id\n archiveUrl\n customer {\n email\n id\n }\n completedWithCoupon\n}\n\nfragment FontStyle_fontStyle on FontStyle {\n ...useFontStyle_fontStyle\n}\n\nfragment IdentityBox_identity on Identity {\n email\n phoneFormatted\n addressFormatted\n vatNumber\n}\n\nfragment Price_price on Money {\n amount\n currency\n}\n\nfragment VariableTableAmounts_option on LicenseOption {\n amounts\n}\n\nfragment VariableTableAmounts_variable on LicenseVariable {\n units\n}\n\nfragment useFontStyle_fontStyle on FontStyle {\n cssFamily\n name\n webfontSources {\n url\n format\n }\n verticalMetrics {\n unitsPerEm\n ascender\n descender\n lineGap\n }\n}\n"
736
778
  }
737
779
  };
738
780
  }();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<92c10669c5ceae7fc86496efb67bf200>>
2
+ * @generated SignedSource<<3c85bd1605076cb13d4693528e5200d5>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  /**
8
- * @generated SignedSource<<92c10669c5ceae7fc86496efb67bf200>>
8
+ * @generated SignedSource<<3c85bd1605076cb13d4693528e5200d5>>
9
9
  * @lightSyntaxTransform
10
10
  * @nogrep
11
11
  */
@@ -148,25 +148,76 @@ const node = function () {
148
148
  v10 = {
149
149
  "alias": null,
150
150
  "args": null,
151
- "kind": "ScalarField",
152
- "name": "cssUrl",
151
+ "concreteType": "WebfontSource",
152
+ "kind": "LinkedField",
153
+ "name": "webfontSources",
154
+ "plural": true,
155
+ "selections": [{
156
+ "alias": null,
157
+ "args": null,
158
+ "kind": "ScalarField",
159
+ "name": "url",
160
+ "storageKey": null
161
+ }, {
162
+ "alias": null,
163
+ "args": null,
164
+ "kind": "ScalarField",
165
+ "name": "format",
166
+ "storageKey": null
167
+ }],
153
168
  "storageKey": null
154
169
  },
155
170
  v11 = {
171
+ "alias": null,
172
+ "args": null,
173
+ "concreteType": "VerticalMetrics",
174
+ "kind": "LinkedField",
175
+ "name": "verticalMetrics",
176
+ "plural": false,
177
+ "selections": [{
178
+ "alias": null,
179
+ "args": null,
180
+ "kind": "ScalarField",
181
+ "name": "unitsPerEm",
182
+ "storageKey": null
183
+ }, {
184
+ "alias": null,
185
+ "args": null,
186
+ "kind": "ScalarField",
187
+ "name": "ascender",
188
+ "storageKey": null
189
+ }, {
190
+ "alias": null,
191
+ "args": null,
192
+ "kind": "ScalarField",
193
+ "name": "descender",
194
+ "storageKey": null
195
+ }, {
196
+ "alias": null,
197
+ "args": null,
198
+ "kind": "ScalarField",
199
+ "name": "lineGap",
200
+ "storageKey": null
201
+ }],
202
+ "storageKey": null
203
+ },
204
+ v12 = [v9 /*: any*/, v0 /*: any*/, v10 /*: any*/, v11 /*: any*/, v2 /*: any*/],
205
+ v13 = {
156
206
  "alias": null,
157
207
  "args": null,
158
208
  "kind": "ScalarField",
159
209
  "name": "totalStyles",
160
210
  "storageKey": null
161
211
  },
162
- v12 = {
212
+ v14 = [v0 /*: any*/, v2 /*: any*/],
213
+ v15 = {
163
214
  "alias": null,
164
215
  "args": null,
165
216
  "concreteType": "FontCollection",
166
217
  "kind": "LinkedField",
167
218
  "name": "fontCollection",
168
219
  "plural": false,
169
- "selections": [v0 /*: any*/, v2 /*: any*/],
220
+ "selections": v14 /*: any*/,
170
221
  "storageKey": null
171
222
  };
172
223
  return {
@@ -523,16 +574,7 @@ const node = function () {
523
574
  "kind": "LinkedField",
524
575
  "name": "featureStyle",
525
576
  "plural": false,
526
- "selections": [v9 /*: any*/, v0 /*: any*/, v2 /*: any*/, {
527
- "alias": null,
528
- "args": null,
529
- "concreteType": "FontCollection",
530
- "kind": "LinkedField",
531
- "name": "family",
532
- "plural": false,
533
- "selections": [v10 /*: any*/, v2 /*: any*/],
534
- "storageKey": null
535
- }],
577
+ "selections": v12 /*: any*/,
536
578
  "storageKey": null
537
579
  }, v0 /*: any*/, {
538
580
  "alias": null,
@@ -540,7 +582,7 @@ const node = function () {
540
582
  "kind": "ScalarField",
541
583
  "name": "isVariableFont",
542
584
  "storageKey": null
543
- }, v11 /*: any*/],
585
+ }, v13 /*: any*/],
544
586
  "type": "FontCollection",
545
587
  "abstractKey": null
546
588
  }, {
@@ -552,21 +594,21 @@ const node = function () {
552
594
  "kind": "LinkedField",
553
595
  "name": "fontStyles",
554
596
  "plural": true,
555
- "selections": [v9 /*: any*/, v0 /*: any*/, v2 /*: any*/],
597
+ "selections": v12 /*: any*/,
556
598
  "storageKey": null
557
- }, v0 /*: any*/, v12 /*: any*/],
599
+ }, v0 /*: any*/, v15 /*: any*/],
558
600
  "type": "Bundle",
559
601
  "abstractKey": null
560
602
  }, {
561
603
  "kind": "InlineFragment",
562
- "selections": [v9 /*: any*/, v0 /*: any*/, {
604
+ "selections": [v9 /*: any*/, v0 /*: any*/, v10 /*: any*/, v11 /*: any*/, {
563
605
  "alias": null,
564
606
  "args": null,
565
607
  "concreteType": "FontCollection",
566
608
  "kind": "LinkedField",
567
609
  "name": "family",
568
610
  "plural": false,
569
- "selections": [v0 /*: any*/, v10 /*: any*/, v2 /*: any*/],
611
+ "selections": v14 /*: any*/,
570
612
  "storageKey": null
571
613
  }, {
572
614
  "alias": null,
@@ -582,7 +624,7 @@ const node = function () {
582
624
  "abstractKey": null
583
625
  }, {
584
626
  "kind": "InlineFragment",
585
- "selections": [v0 /*: any*/, v11 /*: any*/, v12 /*: any*/],
627
+ "selections": [v0 /*: any*/, v13 /*: any*/, v15 /*: any*/],
586
628
  "type": "CollectionBundle",
587
629
  "abstractKey": null
588
630
  }, {
@@ -704,12 +746,12 @@ const node = function () {
704
746
  }]
705
747
  },
706
748
  "params": {
707
- "cacheID": "da9d9d90cd20ae5c9e29ad8d34f7a8a8",
749
+ "cacheID": "b366d1234abc41033b87d77206ef86bf",
708
750
  "id": null,
709
751
  "metadata": {},
710
752
  "name": "CartOrderRemoveDiscountMutation",
711
753
  "operationKind": "mutation",
712
- "text": "mutation CartOrderRemoveDiscountMutation {\n removeDiscount {\n order {\n ...CartOrder_order\n id\n }\n }\n}\n\nfragment CartItemAdditionalLicenses_licenses on License {\n id\n name\n}\n\nfragment CartItemAdditionalLicenses_orderItem on OrderItem {\n licenseSelections {\n license {\n id\n }\n id\n }\n}\n\nfragment CartItemLicense_selection on LicenseSelection {\n id\n license {\n id\n name\n licenseVariables {\n id\n ...CartItemVariable_variable\n }\n }\n licenseVariable {\n id\n }\n ...CartItemVariable_selection\n}\n\nfragment CartItemProduct_product on SkuProduct {\n __isSkuProduct: __typename\n __typename\n ...CollectionAa_product\n ...FontStyle_fontStyle\n ... on FontStyle {\n family {\n name\n cssUrl\n id\n }\n name\n variableInstances {\n name\n }\n }\n ... on Bundle {\n name\n fontCollection {\n name\n id\n }\n }\n ... on FontCollection {\n name\n isVariableFont\n totalStyles\n featureStyle {\n family {\n cssUrl\n id\n }\n id\n }\n }\n ... on CollectionBundle {\n name\n totalStyles\n fontCollection {\n name\n id\n }\n }\n}\n\nfragment CartItemVariable_selection on LicenseSelection {\n id\n variableText\n license {\n id\n }\n licenseVariable {\n ...VariableTableAmounts_variable\n id\n name\n variableType\n licenseOptions {\n id\n }\n }\n licenseOption {\n ...VariableTableAmounts_option\n id\n name\n amount\n }\n}\n\nfragment CartItemVariable_variable on LicenseVariable {\n id\n licenseOptions {\n id\n name\n amount\n }\n}\n\nfragment CartItem_node on OrderItem {\n ...CartItemAdditionalLicenses_orderItem\n id\n price {\n ...Price_price\n }\n sku {\n price {\n ...Price_price\n }\n product {\n ...CartItemProduct_product\n __typename\n ... on Licenseable {\n __isLicenseable: __typename\n licenses {\n ...CartItemAdditionalLicenses_licenses\n id\n licenseVariables {\n id\n licenseOptions {\n id\n }\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n licenseSelections {\n ...CartItemLicense_selection\n id\n license {\n id\n }\n licenseVariable {\n id\n }\n licenseOption {\n id\n }\n variableText\n }\n}\n\nfragment CartOrder_order on Order {\n ...Checkout_order\n ...Download_order\n ...CartTotals_order\n ...CartState_order\n id\n orderItems {\n ...CartItem_node\n id\n licenseSelections {\n license {\n id\n }\n licenseVariable {\n id\n variableType\n }\n licenseOption {\n id\n }\n variableText\n id\n }\n }\n orderVariableSelections {\n orderVariable {\n id\n }\n orderVariableOption {\n id\n }\n id\n }\n discount {\n id\n }\n customer {\n email\n name\n anonymous\n id\n }\n billingIdentity {\n ...IdentityBox_identity\n }\n licenseeIdentity {\n ...IdentityBox_identity\n }\n licenseeIsBillingIdentity\n stripePaymentMethod {\n card {\n last4\n brand\n }\n }\n stripePaymentIntent {\n status\n }\n canCompleteWithCoupon\n completedWithCoupon\n}\n\nfragment CartState_order on Order {\n id\n orderItems {\n id\n licenseSelections {\n license {\n id\n }\n licenseVariable {\n id\n }\n licenseOption {\n id\n }\n variableText\n id\n }\n }\n orderVariableSelections {\n orderVariable {\n id\n }\n orderVariableOption {\n id\n }\n countryCode\n id\n }\n}\n\nfragment CartTotals_order on Order {\n subtotal {\n ...Price_price\n }\n discount {\n amount {\n amount\n ...Price_price\n }\n coupon {\n ...CouponText_coupon\n id\n }\n id\n }\n discountedSubtotal {\n ...Price_price\n }\n total {\n amount\n ...Price_price\n }\n taxRate\n taxes {\n ...Price_price\n }\n taxName\n taxNotApplicable\n taxNotApplicableReason\n gstIncluded\n}\n\nfragment Checkout_order on Order {\n canCompleteWithCoupon\n customer {\n name\n email\n newsletterOptIn\n id\n }\n billingIdentity {\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n licenseeIdentity {\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n licenseeIsBillingIdentity\n}\n\nfragment CollectionAa_product on SkuProduct {\n __isSkuProduct: __typename\n __typename\n ... on FontCollection {\n featureStyle {\n ...FontStyle_fontStyle\n id\n }\n }\n ... on Bundle {\n fontStyles {\n ...FontStyle_fontStyle\n id\n }\n }\n}\n\nfragment CouponText_coupon on Coupon {\n type\n percentAmount\n creditAmount {\n amount\n currency\n }\n creditAmountRemaining {\n amount\n currency\n }\n}\n\nfragment Download_order on Order {\n id\n archiveUrl\n customer {\n email\n id\n }\n completedWithCoupon\n}\n\nfragment FontStyle_fontStyle on FontStyle {\n cssFamily\n name\n}\n\nfragment IdentityBox_identity on Identity {\n email\n phoneFormatted\n addressFormatted\n vatNumber\n}\n\nfragment Price_price on Money {\n amount\n currency\n}\n\nfragment VariableTableAmounts_option on LicenseOption {\n amounts\n}\n\nfragment VariableTableAmounts_variable on LicenseVariable {\n units\n}\n"
754
+ "text": "mutation CartOrderRemoveDiscountMutation {\n removeDiscount {\n order {\n ...CartOrder_order\n id\n }\n }\n}\n\nfragment CartItemAdditionalLicenses_licenses on License {\n id\n name\n}\n\nfragment CartItemAdditionalLicenses_orderItem on OrderItem {\n licenseSelections {\n license {\n id\n }\n id\n }\n}\n\nfragment CartItemLicense_selection on LicenseSelection {\n id\n license {\n id\n name\n licenseVariables {\n id\n ...CartItemVariable_variable\n }\n }\n licenseVariable {\n id\n }\n ...CartItemVariable_selection\n}\n\nfragment CartItemProduct_product on SkuProduct {\n __isSkuProduct: __typename\n __typename\n ...CollectionAa_product\n ...FontStyle_fontStyle\n ... on FontStyle {\n family {\n name\n id\n }\n name\n variableInstances {\n name\n }\n }\n ... on Bundle {\n name\n fontCollection {\n name\n id\n }\n }\n ... on FontCollection {\n name\n isVariableFont\n totalStyles\n }\n ... on CollectionBundle {\n name\n totalStyles\n fontCollection {\n name\n id\n }\n }\n}\n\nfragment CartItemVariable_selection on LicenseSelection {\n id\n variableText\n license {\n id\n }\n licenseVariable {\n ...VariableTableAmounts_variable\n id\n name\n variableType\n licenseOptions {\n id\n }\n }\n licenseOption {\n ...VariableTableAmounts_option\n id\n name\n amount\n }\n}\n\nfragment CartItemVariable_variable on LicenseVariable {\n id\n licenseOptions {\n id\n name\n amount\n }\n}\n\nfragment CartItem_node on OrderItem {\n ...CartItemAdditionalLicenses_orderItem\n id\n price {\n ...Price_price\n }\n sku {\n price {\n ...Price_price\n }\n product {\n ...CartItemProduct_product\n __typename\n ... on Licenseable {\n __isLicenseable: __typename\n licenses {\n ...CartItemAdditionalLicenses_licenses\n id\n licenseVariables {\n id\n licenseOptions {\n id\n }\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n licenseSelections {\n ...CartItemLicense_selection\n id\n license {\n id\n }\n licenseVariable {\n id\n }\n licenseOption {\n id\n }\n variableText\n }\n}\n\nfragment CartOrder_order on Order {\n ...Checkout_order\n ...Download_order\n ...CartTotals_order\n ...CartState_order\n id\n orderItems {\n ...CartItem_node\n id\n licenseSelections {\n license {\n id\n }\n licenseVariable {\n id\n variableType\n }\n licenseOption {\n id\n }\n variableText\n id\n }\n }\n orderVariableSelections {\n orderVariable {\n id\n }\n orderVariableOption {\n id\n }\n id\n }\n discount {\n id\n }\n customer {\n email\n name\n anonymous\n id\n }\n billingIdentity {\n ...IdentityBox_identity\n }\n licenseeIdentity {\n ...IdentityBox_identity\n }\n licenseeIsBillingIdentity\n stripePaymentMethod {\n card {\n last4\n brand\n }\n }\n stripePaymentIntent {\n status\n }\n canCompleteWithCoupon\n completedWithCoupon\n}\n\nfragment CartState_order on Order {\n id\n orderItems {\n id\n licenseSelections {\n license {\n id\n }\n licenseVariable {\n id\n }\n licenseOption {\n id\n }\n variableText\n id\n }\n }\n orderVariableSelections {\n orderVariable {\n id\n }\n orderVariableOption {\n id\n }\n countryCode\n id\n }\n}\n\nfragment CartTotals_order on Order {\n subtotal {\n ...Price_price\n }\n discount {\n amount {\n amount\n ...Price_price\n }\n coupon {\n ...CouponText_coupon\n id\n }\n id\n }\n discountedSubtotal {\n ...Price_price\n }\n total {\n amount\n ...Price_price\n }\n taxRate\n taxes {\n ...Price_price\n }\n taxName\n taxNotApplicable\n taxNotApplicableReason\n gstIncluded\n}\n\nfragment Checkout_order on Order {\n canCompleteWithCoupon\n customer {\n name\n email\n newsletterOptIn\n id\n }\n billingIdentity {\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n licenseeIdentity {\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n licenseeIsBillingIdentity\n}\n\nfragment CollectionAa_product on SkuProduct {\n __isSkuProduct: __typename\n __typename\n ... on FontCollection {\n featureStyle {\n ...FontStyle_fontStyle\n id\n }\n }\n ... on Bundle {\n fontStyles {\n ...FontStyle_fontStyle\n id\n }\n }\n}\n\nfragment CouponText_coupon on Coupon {\n type\n percentAmount\n creditAmount {\n amount\n currency\n }\n creditAmountRemaining {\n amount\n currency\n }\n}\n\nfragment Download_order on Order {\n id\n archiveUrl\n customer {\n email\n id\n }\n completedWithCoupon\n}\n\nfragment FontStyle_fontStyle on FontStyle {\n ...useFontStyle_fontStyle\n}\n\nfragment IdentityBox_identity on Identity {\n email\n phoneFormatted\n addressFormatted\n vatNumber\n}\n\nfragment Price_price on Money {\n amount\n currency\n}\n\nfragment VariableTableAmounts_option on LicenseOption {\n amounts\n}\n\nfragment VariableTableAmounts_variable on LicenseVariable {\n units\n}\n\nfragment useFontStyle_fontStyle on FontStyle {\n cssFamily\n name\n webfontSources {\n url\n format\n }\n verticalMetrics {\n unitsPerEm\n ascender\n descender\n lineGap\n }\n}\n"
713
755
  }
714
756
  };
715
757
  }();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<1ad5cd0e096228924fda58b1a34c06ad>>
2
+ * @generated SignedSource<<a7349511a551e3eee5b90287bee65047>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */