fontdue-js 2.23.2 → 2.25.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 2.25.0
2
+
3
+ - Added `storeModal.hideAllCollections` config option (default `false`). When `true`, the store modal skips the "All collections" landing page — the modal opens directly to the cart route, the cart button always opens the cart regardless of item count, the empty-cart "Continue shopping" button closes the modal, and the product/checkout back button becomes "Close" when there's no history. Useful for stores that drive purchases from "Add to Cart" buttons on product pages.
4
+ - Improved the empty-cart layout: added a "Your cart is empty." message and the modal now collapses to its default 800px width when empty (instead of staying at the wider cart width).
5
+
6
+ ## 2.24.0
7
+
8
+ - The cart's licensee picker now reads its button labels and per-option descriptions from tenant settings, so admins can rename "Yourself" / "Your client" and add explainer text without a code change.
9
+
1
10
  ## 2.23.2
2
11
 
3
12
  - Fixed a right-edge gap in the *CharacterViewer* glyph grid.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<f881bbc92f737f96c0bb39372d175fc0>>
2
+ * @generated SignedSource<<024b5dc4c8cf3f856de0a6d06968f144>>
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<<f881bbc92f737f96c0bb39372d175fc0>>
8
+ * @generated SignedSource<<024b5dc4c8cf3f856de0a6d06968f144>>
9
9
  * @lightSyntaxTransform
10
10
  * @nogrep
11
11
  */
@@ -479,6 +479,30 @@ const node = function () {
479
479
  "kind": "ScalarField",
480
480
  "name": "storeModalSelectLicenseeLabel",
481
481
  "storageKey": "storeModalSelectLicenseeLabel(format:\"HTML\")"
482
+ }, {
483
+ "alias": null,
484
+ "args": v13 /*: any*/,
485
+ "kind": "ScalarField",
486
+ "name": "storeModalLicenseeSelfLabel",
487
+ "storageKey": "storeModalLicenseeSelfLabel(format:\"HTML\")"
488
+ }, {
489
+ "alias": null,
490
+ "args": v13 /*: any*/,
491
+ "kind": "ScalarField",
492
+ "name": "storeModalLicenseeSelfDescription",
493
+ "storageKey": "storeModalLicenseeSelfDescription(format:\"HTML\")"
494
+ }, {
495
+ "alias": null,
496
+ "args": v13 /*: any*/,
497
+ "kind": "ScalarField",
498
+ "name": "storeModalLicenseeClientLabel",
499
+ "storageKey": "storeModalLicenseeClientLabel(format:\"HTML\")"
500
+ }, {
501
+ "alias": null,
502
+ "args": v13 /*: any*/,
503
+ "kind": "ScalarField",
504
+ "name": "storeModalLicenseeClientDescription",
505
+ "storageKey": "storeModalLicenseeClientDescription(format:\"HTML\")"
482
506
  }, {
483
507
  "alias": null,
484
508
  "args": v13 /*: any*/,
@@ -1012,12 +1036,12 @@ const node = function () {
1012
1036
  }]
1013
1037
  },
1014
1038
  "params": {
1015
- "cacheID": "0c171742489d9700f864bc48e4324307",
1039
+ "cacheID": "2cd9ae5c25c7dc6094502bbbe3dd1991",
1016
1040
  "id": null,
1017
1041
  "metadata": {},
1018
1042
  "name": "StoreModalCartQuery",
1019
1043
  "operationKind": "query",
1020
- "text": "query StoreModalCartQuery {\n viewer {\n ...StripeProvider_viewer\n ...OrderVariableSelection_variables\n ...StoreModalOrderVariableSelection_viewer\n ...StoreModalUnifiedCheckout_viewer\n settings {\n taxSystem\n }\n currentOrder {\n ...CartState_order\n ...CartTotals_order\n ...StoreModalUnifiedCheckout_order\n ...StoreModalOrderVariableSelection_order\n id\n total {\n amount\n }\n orderVariableSelections {\n id\n }\n orderItems {\n id\n ...CartItem_node\n licenseSelections {\n licenseVariable {\n variableType\n id\n }\n variableText\n id\n }\n }\n discount {\n id\n }\n stripePaymentMethod {\n id\n }\n billingIdentity {\n name\n }\n }\n id\n }\n}\n\nfragment AddressFields_viewer on Viewer {\n countries {\n code\n name\n }\n settings {\n checkoutAddressCollection\n checkoutPhoneNumberCollection\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 excludedLicenses {\n id\n }\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 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 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 FontStyle_fontStyle on FontStyle {\n ...useFontStyle_fontStyle\n}\n\nfragment OrderVariableSelection_variables on Viewer {\n orderVariables {\n id\n name\n variableType\n description(format: HTML, orderVariables: [])\n orderVariableOptions {\n id\n amount\n }\n }\n countries {\n code\n name\n }\n}\n\nfragment Price_price on Money {\n amount\n currency\n}\n\nfragment StoreModalOrderVariableSelection_order on Order {\n id\n orderVariableSelections {\n orderVariable {\n id\n name\n variableType\n }\n orderVariableDescription(format: HTML)\n orderVariableOption {\n id\n amount\n }\n countryCode\n id\n }\n}\n\nfragment StoreModalOrderVariableSelection_viewer on Viewer {\n ...OrderVariableSelection_variables\n orderVariables {\n id\n }\n settings {\n storeModalSelectOrderVariablesLabel(format: HTML)\n }\n}\n\nfragment StoreModalReviewIdentity_identity on Identity {\n email\n phoneFormatted\n addressFormatted\n vatNumber\n}\n\nfragment StoreModalUnifiedCheckout_order on Order {\n completeUrl\n canCompleteWithCoupon\n total {\n amount\n }\n customer {\n name\n email\n newsletterOptIn\n id\n }\n licenseeIsBillingIdentity\n licenseeIdentity {\n ...StoreModalReviewIdentity_identity\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n billingIdentity {\n ...StoreModalReviewIdentity_identity\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n stripePaymentIntent {\n clientSecret\n amount\n currency\n }\n orderVariableSelections {\n orderVariable {\n id\n variableType\n }\n orderVariableOption {\n id\n }\n countryCode\n id\n }\n}\n\nfragment StoreModalUnifiedCheckout_viewer on Viewer {\n ...AddressFields_viewer\n country\n detectedCountry\n settings {\n uiFontName\n eulaAgreementLabel(format: HTML)\n storeModalSelectLicenseeLabel(format: HTML)\n newsletterOptInLabel(format: HTML)\n taxSystem\n recaptchaEnabled\n recaptchaSiteKey\n }\n themeConfig {\n customProperties\n }\n}\n\nfragment StripeProvider_viewer on Viewer {\n settings {\n taxSystem\n uiFontStyle {\n name\n cssFamily\n webfontSources {\n format\n url\n }\n id\n }\n }\n themeConfig {\n customProperties\n }\n stripeAccountId\n stripePublishableKey\n currentOrder {\n stripeAccountId\n stripePaymentIntent {\n clientSecret\n }\n id\n }\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"
1044
+ "text": "query StoreModalCartQuery {\n viewer {\n ...StripeProvider_viewer\n ...OrderVariableSelection_variables\n ...StoreModalOrderVariableSelection_viewer\n ...StoreModalUnifiedCheckout_viewer\n settings {\n taxSystem\n }\n currentOrder {\n ...CartState_order\n ...CartTotals_order\n ...StoreModalUnifiedCheckout_order\n ...StoreModalOrderVariableSelection_order\n id\n total {\n amount\n }\n orderVariableSelections {\n id\n }\n orderItems {\n id\n ...CartItem_node\n licenseSelections {\n licenseVariable {\n variableType\n id\n }\n variableText\n id\n }\n }\n discount {\n id\n }\n stripePaymentMethod {\n id\n }\n billingIdentity {\n name\n }\n }\n id\n }\n}\n\nfragment AddressFields_viewer on Viewer {\n countries {\n code\n name\n }\n settings {\n checkoutAddressCollection\n checkoutPhoneNumberCollection\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 excludedLicenses {\n id\n }\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 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 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 FontStyle_fontStyle on FontStyle {\n ...useFontStyle_fontStyle\n}\n\nfragment OrderVariableSelection_variables on Viewer {\n orderVariables {\n id\n name\n variableType\n description(format: HTML, orderVariables: [])\n orderVariableOptions {\n id\n amount\n }\n }\n countries {\n code\n name\n }\n}\n\nfragment Price_price on Money {\n amount\n currency\n}\n\nfragment StoreModalOrderVariableSelection_order on Order {\n id\n orderVariableSelections {\n orderVariable {\n id\n name\n variableType\n }\n orderVariableDescription(format: HTML)\n orderVariableOption {\n id\n amount\n }\n countryCode\n id\n }\n}\n\nfragment StoreModalOrderVariableSelection_viewer on Viewer {\n ...OrderVariableSelection_variables\n orderVariables {\n id\n }\n settings {\n storeModalSelectOrderVariablesLabel(format: HTML)\n }\n}\n\nfragment StoreModalReviewIdentity_identity on Identity {\n email\n phoneFormatted\n addressFormatted\n vatNumber\n}\n\nfragment StoreModalUnifiedCheckout_order on Order {\n completeUrl\n canCompleteWithCoupon\n total {\n amount\n }\n customer {\n name\n email\n newsletterOptIn\n id\n }\n licenseeIsBillingIdentity\n licenseeIdentity {\n ...StoreModalReviewIdentity_identity\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n billingIdentity {\n ...StoreModalReviewIdentity_identity\n name\n organization\n email\n phoneNullable\n street\n locality\n sublocality\n country\n administrativeArea\n zip\n vatNumber\n }\n stripePaymentIntent {\n clientSecret\n amount\n currency\n }\n orderVariableSelections {\n orderVariable {\n id\n variableType\n }\n orderVariableOption {\n id\n }\n countryCode\n id\n }\n}\n\nfragment StoreModalUnifiedCheckout_viewer on Viewer {\n ...AddressFields_viewer\n country\n detectedCountry\n settings {\n uiFontName\n eulaAgreementLabel(format: HTML)\n storeModalSelectLicenseeLabel(format: HTML)\n storeModalLicenseeSelfLabel(format: HTML)\n storeModalLicenseeSelfDescription(format: HTML)\n storeModalLicenseeClientLabel(format: HTML)\n storeModalLicenseeClientDescription(format: HTML)\n newsletterOptInLabel(format: HTML)\n taxSystem\n recaptchaEnabled\n recaptchaSiteKey\n }\n themeConfig {\n customProperties\n }\n}\n\nfragment StripeProvider_viewer on Viewer {\n settings {\n taxSystem\n uiFontStyle {\n name\n cssFamily\n webfontSources {\n format\n url\n }\n id\n }\n }\n themeConfig {\n customProperties\n }\n stripeAccountId\n stripePublishableKey\n currentOrder {\n stripeAccountId\n stripePaymentIntent {\n clientSecret\n }\n id\n }\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"
1021
1045
  }
1022
1046
  };
1023
1047
  }();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<56c2560864651a703675e1c28f574b95>>
2
+ * @generated SignedSource<<ab8c0715a712e9aed84b61d91c661bcd>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
@@ -32,6 +32,10 @@ export type StoreModalProductQuery$data = {
32
32
  readonly variableType: string;
33
33
  }> | null;
34
34
  readonly settings: {
35
+ readonly storeModalLicenseeClientDescription: string | null;
36
+ readonly storeModalLicenseeClientLabel: string | null;
37
+ readonly storeModalLicenseeSelfDescription: string | null;
38
+ readonly storeModalLicenseeSelfLabel: string | null;
35
39
  readonly storeModalSelectFontsLabel: string | null;
36
40
  readonly storeModalSelectLicenseeLabel: string | null;
37
41
  readonly storeModalSelectLicensesLabel: string | null;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  /**
8
- * @generated SignedSource<<56c2560864651a703675e1c28f574b95>>
8
+ * @generated SignedSource<<ab8c0715a712e9aed84b61d91c661bcd>>
9
9
  * @lightSyntaxTransform
10
10
  * @nogrep
11
11
  */
@@ -95,62 +95,90 @@ const node = function () {
95
95
  "storageKey": "storeModalSelectLicenseeLabel(format:\"HTML\")"
96
96
  },
97
97
  v15 = {
98
+ "alias": null,
99
+ "args": v13 /*: any*/,
100
+ "kind": "ScalarField",
101
+ "name": "storeModalLicenseeSelfLabel",
102
+ "storageKey": "storeModalLicenseeSelfLabel(format:\"HTML\")"
103
+ },
104
+ v16 = {
105
+ "alias": null,
106
+ "args": v13 /*: any*/,
107
+ "kind": "ScalarField",
108
+ "name": "storeModalLicenseeSelfDescription",
109
+ "storageKey": "storeModalLicenseeSelfDescription(format:\"HTML\")"
110
+ },
111
+ v17 = {
112
+ "alias": null,
113
+ "args": v13 /*: any*/,
114
+ "kind": "ScalarField",
115
+ "name": "storeModalLicenseeClientLabel",
116
+ "storageKey": "storeModalLicenseeClientLabel(format:\"HTML\")"
117
+ },
118
+ v18 = {
119
+ "alias": null,
120
+ "args": v13 /*: any*/,
121
+ "kind": "ScalarField",
122
+ "name": "storeModalLicenseeClientDescription",
123
+ "storageKey": "storeModalLicenseeClientDescription(format:\"HTML\")"
124
+ },
125
+ v19 = {
98
126
  "alias": null,
99
127
  "args": v13 /*: any*/,
100
128
  "kind": "ScalarField",
101
129
  "name": "storeModalSelectOrderVariablesLabel",
102
130
  "storageKey": "storeModalSelectOrderVariablesLabel(format:\"HTML\")"
103
131
  },
104
- v16 = {
132
+ v20 = {
105
133
  "alias": null,
106
134
  "args": v13 /*: any*/,
107
135
  "kind": "ScalarField",
108
136
  "name": "storeModalSelectLicensesLabel",
109
137
  "storageKey": "storeModalSelectLicensesLabel(format:\"HTML\")"
110
138
  },
111
- v17 = {
139
+ v21 = {
112
140
  "alias": null,
113
141
  "args": v13 /*: any*/,
114
142
  "kind": "ScalarField",
115
143
  "name": "storeModalSelectFontsLabel",
116
144
  "storageKey": "storeModalSelectFontsLabel(format:\"HTML\")"
117
145
  },
118
- v18 = {
146
+ v22 = {
119
147
  "alias": null,
120
148
  "args": null,
121
149
  "kind": "ScalarField",
122
150
  "name": "__typename",
123
151
  "storageKey": null
124
152
  },
125
- v19 = {
153
+ v23 = {
126
154
  "alias": null,
127
155
  "args": null,
128
156
  "kind": "ScalarField",
129
157
  "name": "isVariableFont",
130
158
  "storageKey": null
131
159
  },
132
- v20 = {
160
+ v24 = {
133
161
  "alias": null,
134
162
  "args": null,
135
163
  "kind": "ScalarField",
136
164
  "name": "collectionType",
137
165
  "storageKey": null
138
166
  },
139
- v21 = {
167
+ v25 = {
140
168
  "alias": null,
141
169
  "args": null,
142
170
  "kind": "ScalarField",
143
171
  "name": "amount",
144
172
  "storageKey": null
145
173
  },
146
- v22 = [v21 /*: any*/, {
174
+ v26 = [v25 /*: any*/, {
147
175
  "alias": null,
148
176
  "args": null,
149
177
  "kind": "ScalarField",
150
178
  "name": "currency",
151
179
  "storageKey": null
152
180
  }],
153
- v23 = {
181
+ v27 = {
154
182
  "alias": null,
155
183
  "args": null,
156
184
  "concreteType": "Sku",
@@ -164,44 +192,44 @@ const node = function () {
164
192
  "kind": "LinkedField",
165
193
  "name": "price",
166
194
  "plural": false,
167
- "selections": v22 /*: any*/,
195
+ "selections": v26 /*: any*/,
168
196
  "storageKey": null
169
197
  }],
170
198
  "storageKey": null
171
199
  },
172
- v24 = [v4 /*: any*/],
173
- v25 = {
200
+ v28 = [v4 /*: any*/],
201
+ v29 = {
174
202
  "alias": null,
175
203
  "args": null,
176
204
  "concreteType": "FontCollection",
177
205
  "kind": "LinkedField",
178
206
  "name": "parent",
179
207
  "plural": false,
180
- "selections": v24 /*: any*/,
208
+ "selections": v28 /*: any*/,
181
209
  "storageKey": null
182
210
  },
183
- v26 = {
211
+ v30 = {
184
212
  "alias": null,
185
213
  "args": null,
186
214
  "kind": "ScalarField",
187
215
  "name": "cssFamily",
188
216
  "storageKey": null
189
217
  },
190
- v27 = {
218
+ v31 = {
191
219
  "alias": null,
192
220
  "args": null,
193
221
  "kind": "ScalarField",
194
222
  "name": "url",
195
223
  "storageKey": null
196
224
  },
197
- v28 = {
225
+ v32 = {
198
226
  "alias": null,
199
227
  "args": null,
200
228
  "concreteType": "WebfontSource",
201
229
  "kind": "LinkedField",
202
230
  "name": "webfontSources",
203
231
  "plural": true,
204
- "selections": [v27 /*: any*/, {
232
+ "selections": [v31 /*: any*/, {
205
233
  "alias": null,
206
234
  "args": null,
207
235
  "kind": "ScalarField",
@@ -210,7 +238,7 @@ const node = function () {
210
238
  }],
211
239
  "storageKey": null
212
240
  },
213
- v29 = {
241
+ v33 = {
214
242
  "alias": null,
215
243
  "args": null,
216
244
  "concreteType": "VerticalMetrics",
@@ -244,60 +272,60 @@ const node = function () {
244
272
  }],
245
273
  "storageKey": null
246
274
  },
247
- v30 = {
275
+ v34 = {
248
276
  "alias": null,
249
277
  "args": null,
250
278
  "kind": "ScalarField",
251
279
  "name": "supportedLanguages",
252
280
  "storageKey": null
253
281
  },
254
- v31 = {
282
+ v35 = {
255
283
  "alias": null,
256
284
  "args": null,
257
285
  "concreteType": "FontStyle",
258
286
  "kind": "LinkedField",
259
287
  "name": "featureStyle",
260
288
  "plural": false,
261
- "selections": [v26 /*: any*/, v11 /*: any*/, v28 /*: any*/, v29 /*: any*/, v30 /*: any*/, v4 /*: any*/],
289
+ "selections": [v30 /*: any*/, v11 /*: any*/, v32 /*: any*/, v33 /*: any*/, v34 /*: any*/, v4 /*: any*/],
262
290
  "storageKey": null
263
291
  },
264
- v32 = {
292
+ v36 = {
265
293
  "alias": null,
266
294
  "args": null,
267
295
  "kind": "ScalarField",
268
296
  "name": "totalStyles",
269
297
  "storageKey": null
270
298
  },
271
- v33 = {
299
+ v37 = {
272
300
  "alias": null,
273
301
  "args": null,
274
302
  "concreteType": "Money",
275
303
  "kind": "LinkedField",
276
304
  "name": "totalStylesPrice",
277
305
  "plural": false,
278
- "selections": v22 /*: any*/,
306
+ "selections": v26 /*: any*/,
279
307
  "storageKey": null
280
308
  },
281
- v34 = [{
309
+ v38 = [{
282
310
  "kind": "Literal",
283
311
  "name": "collectionTypes",
284
312
  "value": ["FAMILY"]
285
313
  }],
286
- v35 = {
314
+ v39 = {
287
315
  "alias": null,
288
316
  "args": null,
289
317
  "kind": "ScalarField",
290
318
  "name": "cssWeight",
291
319
  "storageKey": null
292
320
  },
293
- v36 = {
321
+ v40 = {
294
322
  "alias": null,
295
323
  "args": null,
296
324
  "kind": "ScalarField",
297
325
  "name": "cssStretch",
298
326
  "storageKey": null
299
327
  },
300
- v37 = {
328
+ v41 = {
301
329
  "alias": null,
302
330
  "args": null,
303
331
  "concreteType": "VariableInstance",
@@ -328,7 +356,7 @@ const node = function () {
328
356
  }],
329
357
  "storageKey": null
330
358
  },
331
- v38 = {
359
+ v42 = {
332
360
  "alias": null,
333
361
  "args": null,
334
362
  "concreteType": "Bundle",
@@ -348,36 +376,36 @@ const node = function () {
348
376
  "kind": "LinkedField",
349
377
  "name": "fontStyles",
350
378
  "plural": true,
351
- "selections": [v4 /*: any*/, v26 /*: any*/, v35 /*: any*/, v36 /*: any*/, v11 /*: any*/, v30 /*: any*/, v37 /*: any*/, v23 /*: any*/, v28 /*: any*/, v29 /*: any*/],
379
+ "selections": [v4 /*: any*/, v30 /*: any*/, v39 /*: any*/, v40 /*: any*/, v11 /*: any*/, v34 /*: any*/, v41 /*: any*/, v27 /*: any*/, v32 /*: any*/, v33 /*: any*/],
352
380
  "storageKey": null
353
- }, v11 /*: any*/, v23 /*: any*/],
381
+ }, v11 /*: any*/, v27 /*: any*/],
354
382
  "storageKey": null
355
383
  },
356
- v39 = {
384
+ v43 = {
357
385
  "alias": null,
358
386
  "args": null,
359
387
  "concreteType": "FontStyle",
360
388
  "kind": "LinkedField",
361
389
  "name": "fontStyles",
362
390
  "plural": true,
363
- "selections": [v4 /*: any*/, v26 /*: any*/, v35 /*: any*/, v36 /*: any*/, {
391
+ "selections": [v4 /*: any*/, v30 /*: any*/, v39 /*: any*/, v40 /*: any*/, {
364
392
  "alias": null,
365
393
  "args": null,
366
394
  "kind": "ScalarField",
367
395
  "name": "cssStyle",
368
396
  "storageKey": null
369
- }, v11 /*: any*/, v30 /*: any*/, v37 /*: any*/, v23 /*: any*/, v28 /*: any*/, v29 /*: any*/],
397
+ }, v11 /*: any*/, v34 /*: any*/, v41 /*: any*/, v27 /*: any*/, v32 /*: any*/, v33 /*: any*/],
370
398
  "storageKey": null
371
399
  },
372
- v40 = [v21 /*: any*/],
373
- v41 = [v32 /*: any*/, {
400
+ v44 = [v25 /*: any*/],
401
+ v45 = [v36 /*: any*/, {
374
402
  "alias": null,
375
403
  "args": v7 /*: any*/,
376
404
  "concreteType": "Money",
377
405
  "kind": "LinkedField",
378
406
  "name": "totalStylesPrice",
379
407
  "plural": false,
380
- "selections": v40 /*: any*/,
408
+ "selections": v44 /*: any*/,
381
409
  "storageKey": null
382
410
  }];
383
411
  return {
@@ -430,7 +458,7 @@ const node = function () {
430
458
  "kind": "LinkedField",
431
459
  "name": "settings",
432
460
  "plural": false,
433
- "selections": [v14 /*: any*/, v15 /*: any*/, v16 /*: any*/, v17 /*: any*/],
461
+ "selections": [v14 /*: any*/, v15 /*: any*/, v16 /*: any*/, v17 /*: any*/, v18 /*: any*/, v19 /*: any*/, v20 /*: any*/, v21 /*: any*/],
434
462
  "storageKey": null
435
463
  }],
436
464
  "storageKey": null
@@ -450,37 +478,37 @@ const node = function () {
450
478
  "kind": "LinkedField",
451
479
  "name": "node",
452
480
  "plural": false,
453
- "selections": [v18 /*: any*/, v4 /*: any*/, {
481
+ "selections": [v22 /*: any*/, v4 /*: any*/, {
454
482
  "kind": "TypeDiscriminator",
455
483
  "abstractKey": "__isNode"
456
484
  }, {
457
485
  "kind": "InlineFragment",
458
- "selections": [v19 /*: any*/, v20 /*: any*/, v11 /*: any*/, v23 /*: any*/, v25 /*: any*/, v31 /*: any*/, v32 /*: any*/, v33 /*: any*/, {
486
+ "selections": [v23 /*: any*/, v24 /*: any*/, v11 /*: any*/, v27 /*: any*/, v29 /*: any*/, v35 /*: any*/, v36 /*: any*/, v37 /*: any*/, {
459
487
  "alias": null,
460
- "args": v34 /*: any*/,
488
+ "args": v38 /*: any*/,
461
489
  "concreteType": "FontCollection",
462
490
  "kind": "LinkedField",
463
491
  "name": "children",
464
492
  "plural": true,
465
- "selections": [v19 /*: any*/, v32 /*: any*/, v4 /*: any*/, v20 /*: any*/, v11 /*: any*/, v23 /*: any*/, v25 /*: any*/, v31 /*: any*/, v33 /*: any*/, {
493
+ "selections": [v23 /*: any*/, v36 /*: any*/, v4 /*: any*/, v24 /*: any*/, v11 /*: any*/, v27 /*: any*/, v29 /*: any*/, v35 /*: any*/, v37 /*: any*/, {
466
494
  "alias": null,
467
- "args": v34 /*: any*/,
495
+ "args": v38 /*: any*/,
468
496
  "concreteType": "FontCollection",
469
497
  "kind": "LinkedField",
470
498
  "name": "children",
471
499
  "plural": true,
472
- "selections": [v19 /*: any*/, v32 /*: any*/, v4 /*: any*/],
500
+ "selections": [v23 /*: any*/, v36 /*: any*/, v4 /*: any*/],
473
501
  "storageKey": "children(collectionTypes:[\"FAMILY\"])"
474
- }, v38 /*: any*/, v39 /*: any*/],
502
+ }, v42 /*: any*/, v43 /*: any*/],
475
503
  "storageKey": "children(collectionTypes:[\"FAMILY\"])"
476
- }, v38 /*: any*/, v39 /*: any*/, {
504
+ }, v42 /*: any*/, v43 /*: any*/, {
477
505
  "alias": null,
478
506
  "args": null,
479
507
  "concreteType": "License",
480
508
  "kind": "LinkedField",
481
509
  "name": "licenses",
482
510
  "plural": true,
483
- "selections": [v4 /*: any*/, v27 /*: any*/, v11 /*: any*/, {
511
+ "selections": [v4 /*: any*/, v31 /*: any*/, v11 /*: any*/, {
484
512
  "alias": null,
485
513
  "args": v13 /*: any*/,
486
514
  "kind": "ScalarField",
@@ -499,7 +527,7 @@ const node = function () {
499
527
  "kind": "LinkedField",
500
528
  "name": "excludedLicenses",
501
529
  "plural": true,
502
- "selections": v24 /*: any*/,
530
+ "selections": v28 /*: any*/,
503
531
  "storageKey": null
504
532
  }, {
505
533
  "alias": "variables",
@@ -521,7 +549,7 @@ const node = function () {
521
549
  "kind": "LinkedField",
522
550
  "name": "licenseOptions",
523
551
  "plural": true,
524
- "selections": [v4 /*: any*/, v11 /*: any*/, v21 /*: any*/, {
552
+ "selections": [v4 /*: any*/, v11 /*: any*/, v25 /*: any*/, {
525
553
  "alias": null,
526
554
  "args": null,
527
555
  "kind": "ScalarField",
@@ -565,7 +593,7 @@ const node = function () {
565
593
  "kind": "LinkedField",
566
594
  "name": "orderVariableOptions",
567
595
  "plural": true,
568
- "selections": [v4 /*: any*/, v21 /*: any*/],
596
+ "selections": [v4 /*: any*/, v25 /*: any*/],
569
597
  "storageKey": null
570
598
  }],
571
599
  "storageKey": null
@@ -618,7 +646,7 @@ const node = function () {
618
646
  "storageKey": null
619
647
  }],
620
648
  "storageKey": null
621
- }, v14 /*: any*/, v15 /*: any*/, v16 /*: any*/, v17 /*: any*/],
649
+ }, v14 /*: any*/, v15 /*: any*/, v16 /*: any*/, v17 /*: any*/, v18 /*: any*/, v19 /*: any*/, v20 /*: any*/, v21 /*: any*/],
622
650
  "storageKey": null
623
651
  }, {
624
652
  "alias": null,
@@ -666,7 +694,7 @@ const node = function () {
666
694
  "kind": "LinkedField",
667
695
  "name": "price",
668
696
  "plural": false,
669
- "selections": v40 /*: any*/,
697
+ "selections": v44 /*: any*/,
670
698
  "storageKey": null
671
699
  }, {
672
700
  "alias": null,
@@ -675,24 +703,24 @@ const node = function () {
675
703
  "kind": "LinkedField",
676
704
  "name": "product",
677
705
  "plural": false,
678
- "selections": [v18 /*: any*/, {
706
+ "selections": [v22 /*: any*/, {
679
707
  "kind": "InlineFragment",
680
- "selections": v41 /*: any*/,
708
+ "selections": v45 /*: any*/,
681
709
  "type": "FontCollection",
682
710
  "abstractKey": null
683
711
  }, {
684
712
  "kind": "InlineFragment",
685
- "selections": v41 /*: any*/,
713
+ "selections": v45 /*: any*/,
686
714
  "type": "Bundle",
687
715
  "abstractKey": null
688
716
  }, {
689
717
  "kind": "InlineFragment",
690
- "selections": v41 /*: any*/,
718
+ "selections": v45 /*: any*/,
691
719
  "type": "CollectionBundle",
692
720
  "abstractKey": null
693
721
  }, {
694
722
  "kind": "InlineFragment",
695
- "selections": v24 /*: any*/,
723
+ "selections": v28 /*: any*/,
696
724
  "type": "Node",
697
725
  "abstractKey": "__isNode"
698
726
  }],
@@ -706,7 +734,7 @@ const node = function () {
706
734
  "kind": "LinkedField",
707
735
  "name": "subtotal",
708
736
  "plural": false,
709
- "selections": v22 /*: any*/,
737
+ "selections": v26 /*: any*/,
710
738
  "storageKey": null
711
739
  }],
712
740
  "storageKey": null
@@ -715,15 +743,15 @@ const node = function () {
715
743
  }]
716
744
  },
717
745
  "params": {
718
- "cacheID": "9ce3e5ba9cc291f73e63ce9ea15defb9",
746
+ "cacheID": "2ec62eeeaed3a327f1a022ab9a0cf197",
719
747
  "id": null,
720
748
  "metadata": {},
721
749
  "name": "StoreModalProductQuery",
722
750
  "operationKind": "query",
723
- "text": "query StoreModalProductQuery(\n $productId: ID!\n $licenseOptions: [LicenseOptionsSpec]!\n $orderVariables: [OrderVariableSelectionInput!]\n) {\n collection: node(id: $productId) {\n __typename\n id\n ...StoreModalProductContent_collection_4sncub\n }\n viewer {\n endpoint\n stripeAccountId\n ...OrderVariableSelectionRedux_viewer_2ZguDv\n ...StoreModalProductSummary_viewer_4sncub\n orderVariables {\n id\n variableType\n name\n }\n settings {\n storeModalSelectLicenseeLabel(format: HTML)\n storeModalSelectOrderVariablesLabel(format: HTML)\n storeModalSelectLicensesLabel(format: HTML)\n storeModalSelectFontsLabel(format: HTML)\n }\n id\n }\n}\n\nfragment FontStyle_fontStyle on FontStyle {\n ...useFontStyle_fontStyle\n}\n\nfragment OrderVariableSelectionRedux_viewer_2ZguDv on Viewer {\n ...OrderVariableSelection_variables_2ZguDv\n detectedCountry\n orderVariables {\n id\n variableType\n }\n}\n\nfragment OrderVariableSelection_variables_2ZguDv on Viewer {\n orderVariables {\n id\n name\n variableType\n description(format: HTML, orderVariables: $orderVariables)\n orderVariableOptions {\n id\n amount\n }\n }\n countries {\n code\n name\n }\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 StoreModalBundleButton_bundle_4sncub on Bundle {\n id\n name\n sku {\n ...SKUPrice_sku_4sncub\n id\n }\n fontStyles {\n id\n ...FontStyle_fontStyle\n }\n}\n\nfragment StoreModalFamilyButton_collection_4sncub on FontCollection {\n isVariableFont\n collectionType\n name\n sku {\n ...SKUPrice_sku_4sncub\n id\n }\n parent {\n id\n }\n featureStyle {\n ...FontStyle_fontStyle\n supportedLanguages\n id\n }\n totalStyles\n totalStylesPrice {\n ...Price_price\n }\n ...useTotalStyles_fontCollection\n}\n\nfragment StoreModalFamily_collection_4sncub on FontCollection {\n ...StoreModalFamilyButton_collection_4sncub\n collectionType\n sku {\n id\n }\n isVariableFont\n bundles {\n id\n hidden\n fontStyles {\n id\n cssFamily\n cssWeight\n cssStretch\n ...StoreModalStyleButton_fontStyle_4sncub\n }\n ...StoreModalBundleButton_bundle_4sncub\n }\n fontStyles {\n id\n cssFamily\n cssWeight\n cssStretch\n cssStyle\n ...StoreModalStyleButton_fontStyle_4sncub\n }\n}\n\nfragment StoreModalProductContent_collection_4sncub on Node {\n __isNode: __typename\n ... on FontCollection {\n id\n ...StoreModalFamily_collection_4sncub\n ...StoreModalProductLicenseSelection_collection\n children(collectionTypes: [FAMILY]) {\n id\n ...StoreModalFamily_collection_4sncub\n }\n }\n id\n}\n\nfragment StoreModalProductLicenseSelection_collection on FontCollection {\n licenses {\n id\n ...StoreModalProductLicense_license\n }\n}\n\nfragment StoreModalProductLicense_license on License {\n id\n url\n name\n description(format: HTML)\n defaultSelected\n excludedLicenses {\n id\n }\n variables: licenseVariables {\n id\n name\n variableType\n ...VariableTableAmounts_variable\n options: licenseOptions {\n id\n name\n amount\n ...VariableTableAmounts_option\n }\n }\n}\n\nfragment StoreModalProductSummary_viewer_4sncub on Viewer {\n settings {\n taxSystem\n stripeTaxSettings {\n taxBehavior\n }\n }\n taxCollections {\n taxName\n inclusive\n }\n orderVariables {\n id\n variableType\n name\n }\n precart(skuIds: [], licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n skus {\n price(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n }\n product {\n __typename\n ... on FontCollection {\n totalStyles\n totalStylesPrice(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n }\n }\n ... on Bundle {\n totalStyles\n totalStylesPrice(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n }\n }\n ... on CollectionBundle {\n totalStyles\n totalStylesPrice(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n subtotal {\n ...Price_price\n amount\n currency\n }\n }\n}\n\nfragment StoreModalStyleButton_fontStyle_4sncub on FontStyle {\n id\n name\n supportedLanguages\n variableInstances {\n name\n coordinates {\n axis\n value\n }\n }\n sku {\n ...SKUPrice_sku_4sncub\n id\n }\n ...FontStyle_fontStyle\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\nfragment useTotalStyles_fontCollection on FontCollection {\n isVariableFont\n totalStyles\n children(collectionTypes: [FAMILY]) {\n isVariableFont\n totalStyles\n id\n }\n}\n"
751
+ "text": "query StoreModalProductQuery(\n $productId: ID!\n $licenseOptions: [LicenseOptionsSpec]!\n $orderVariables: [OrderVariableSelectionInput!]\n) {\n collection: node(id: $productId) {\n __typename\n id\n ...StoreModalProductContent_collection_4sncub\n }\n viewer {\n endpoint\n stripeAccountId\n ...OrderVariableSelectionRedux_viewer_2ZguDv\n ...StoreModalProductSummary_viewer_4sncub\n orderVariables {\n id\n variableType\n name\n }\n settings {\n storeModalSelectLicenseeLabel(format: HTML)\n storeModalLicenseeSelfLabel(format: HTML)\n storeModalLicenseeSelfDescription(format: HTML)\n storeModalLicenseeClientLabel(format: HTML)\n storeModalLicenseeClientDescription(format: HTML)\n storeModalSelectOrderVariablesLabel(format: HTML)\n storeModalSelectLicensesLabel(format: HTML)\n storeModalSelectFontsLabel(format: HTML)\n }\n id\n }\n}\n\nfragment FontStyle_fontStyle on FontStyle {\n ...useFontStyle_fontStyle\n}\n\nfragment OrderVariableSelectionRedux_viewer_2ZguDv on Viewer {\n ...OrderVariableSelection_variables_2ZguDv\n detectedCountry\n orderVariables {\n id\n variableType\n }\n}\n\nfragment OrderVariableSelection_variables_2ZguDv on Viewer {\n orderVariables {\n id\n name\n variableType\n description(format: HTML, orderVariables: $orderVariables)\n orderVariableOptions {\n id\n amount\n }\n }\n countries {\n code\n name\n }\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 StoreModalBundleButton_bundle_4sncub on Bundle {\n id\n name\n sku {\n ...SKUPrice_sku_4sncub\n id\n }\n fontStyles {\n id\n ...FontStyle_fontStyle\n }\n}\n\nfragment StoreModalFamilyButton_collection_4sncub on FontCollection {\n isVariableFont\n collectionType\n name\n sku {\n ...SKUPrice_sku_4sncub\n id\n }\n parent {\n id\n }\n featureStyle {\n ...FontStyle_fontStyle\n supportedLanguages\n id\n }\n totalStyles\n totalStylesPrice {\n ...Price_price\n }\n ...useTotalStyles_fontCollection\n}\n\nfragment StoreModalFamily_collection_4sncub on FontCollection {\n ...StoreModalFamilyButton_collection_4sncub\n collectionType\n sku {\n id\n }\n isVariableFont\n bundles {\n id\n hidden\n fontStyles {\n id\n cssFamily\n cssWeight\n cssStretch\n ...StoreModalStyleButton_fontStyle_4sncub\n }\n ...StoreModalBundleButton_bundle_4sncub\n }\n fontStyles {\n id\n cssFamily\n cssWeight\n cssStretch\n cssStyle\n ...StoreModalStyleButton_fontStyle_4sncub\n }\n}\n\nfragment StoreModalProductContent_collection_4sncub on Node {\n __isNode: __typename\n ... on FontCollection {\n id\n ...StoreModalFamily_collection_4sncub\n ...StoreModalProductLicenseSelection_collection\n children(collectionTypes: [FAMILY]) {\n id\n ...StoreModalFamily_collection_4sncub\n }\n }\n id\n}\n\nfragment StoreModalProductLicenseSelection_collection on FontCollection {\n licenses {\n id\n ...StoreModalProductLicense_license\n }\n}\n\nfragment StoreModalProductLicense_license on License {\n id\n url\n name\n description(format: HTML)\n defaultSelected\n excludedLicenses {\n id\n }\n variables: licenseVariables {\n id\n name\n variableType\n ...VariableTableAmounts_variable\n options: licenseOptions {\n id\n name\n amount\n ...VariableTableAmounts_option\n }\n }\n}\n\nfragment StoreModalProductSummary_viewer_4sncub on Viewer {\n settings {\n taxSystem\n stripeTaxSettings {\n taxBehavior\n }\n }\n taxCollections {\n taxName\n inclusive\n }\n orderVariables {\n id\n variableType\n name\n }\n precart(skuIds: [], licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n skus {\n price(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n }\n product {\n __typename\n ... on FontCollection {\n totalStyles\n totalStylesPrice(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n }\n }\n ... on Bundle {\n totalStyles\n totalStylesPrice(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n }\n }\n ... on CollectionBundle {\n totalStyles\n totalStylesPrice(licenseOptions: $licenseOptions, orderVariables: $orderVariables) {\n amount\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n subtotal {\n ...Price_price\n amount\n currency\n }\n }\n}\n\nfragment StoreModalStyleButton_fontStyle_4sncub on FontStyle {\n id\n name\n supportedLanguages\n variableInstances {\n name\n coordinates {\n axis\n value\n }\n }\n sku {\n ...SKUPrice_sku_4sncub\n id\n }\n ...FontStyle_fontStyle\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\nfragment useTotalStyles_fontCollection on FontCollection {\n isVariableFont\n totalStyles\n children(collectionTypes: [FAMILY]) {\n isVariableFont\n totalStyles\n id\n }\n}\n"
724
752
  }
725
753
  };
726
754
  }();
727
- node.hash = "b2803257576691f16a283d10e53439e3";
755
+ node.hash = "051d45b088e87330de54058b441ad280";
728
756
  var _default = node;
729
757
  exports.default = _default;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<ca5c7d5a8678cb68a0990463a7bb9c53>>
2
+ * @generated SignedSource<<36de3a095a8207a0ce9689d501a7431f>>
3
3
  * @lightSyntaxTransform
4
4
  * @nogrep
5
5
  */
@@ -13,6 +13,10 @@ export type StoreModalUnifiedCheckout_viewer$data = {
13
13
  readonly newsletterOptInLabel: string | null;
14
14
  readonly recaptchaEnabled: boolean;
15
15
  readonly recaptchaSiteKey: string | null;
16
+ readonly storeModalLicenseeClientDescription: string | null;
17
+ readonly storeModalLicenseeClientLabel: string | null;
18
+ readonly storeModalLicenseeSelfDescription: string | null;
19
+ readonly storeModalLicenseeSelfLabel: string | null;
16
20
  readonly storeModalSelectLicenseeLabel: string | null;
17
21
  readonly taxSystem: string;
18
22
  readonly uiFontName: string | null;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  /**
8
- * @generated SignedSource<<ca5c7d5a8678cb68a0990463a7bb9c53>>
8
+ * @generated SignedSource<<36de3a095a8207a0ce9689d501a7431f>>
9
9
  * @lightSyntaxTransform
10
10
  * @nogrep
11
11
  */
@@ -66,6 +66,30 @@ const node = function () {
66
66
  "kind": "ScalarField",
67
67
  "name": "storeModalSelectLicenseeLabel",
68
68
  "storageKey": "storeModalSelectLicenseeLabel(format:\"HTML\")"
69
+ }, {
70
+ "alias": null,
71
+ "args": v0 /*: any*/,
72
+ "kind": "ScalarField",
73
+ "name": "storeModalLicenseeSelfLabel",
74
+ "storageKey": "storeModalLicenseeSelfLabel(format:\"HTML\")"
75
+ }, {
76
+ "alias": null,
77
+ "args": v0 /*: any*/,
78
+ "kind": "ScalarField",
79
+ "name": "storeModalLicenseeSelfDescription",
80
+ "storageKey": "storeModalLicenseeSelfDescription(format:\"HTML\")"
81
+ }, {
82
+ "alias": null,
83
+ "args": v0 /*: any*/,
84
+ "kind": "ScalarField",
85
+ "name": "storeModalLicenseeClientLabel",
86
+ "storageKey": "storeModalLicenseeClientLabel(format:\"HTML\")"
87
+ }, {
88
+ "alias": null,
89
+ "args": v0 /*: any*/,
90
+ "kind": "ScalarField",
91
+ "name": "storeModalLicenseeClientDescription",
92
+ "storageKey": "storeModalLicenseeClientDescription(format:\"HTML\")"
69
93
  }, {
70
94
  "alias": null,
71
95
  "args": v0 /*: any*/,
@@ -112,6 +136,6 @@ const node = function () {
112
136
  "abstractKey": null
113
137
  };
114
138
  }();
115
- node.hash = "048ce405742611f6684cb5306d28478b";
139
+ node.hash = "5e8a59a64c401bb354b53ab83d993e03";
116
140
  var _default = node;
117
141
  exports.default = _default;
@@ -12,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactRedux = require("react-redux");
13
13
  var _reactRelay = require("react-relay");
14
14
  var _ComponentsContext = _interopRequireDefault(require("../ComponentsContext"));
15
+ var _ConfigContext = _interopRequireDefault(require("../ConfigContext"));
15
16
  var _Icons = require("../Icons");
16
17
  var _useSerializablePreloadedQuery = _interopRequireDefault(require("../../relay/useSerializablePreloadedQuery"));
17
18
  var _Price = _interopRequireWildcard(require("../Price"));
@@ -40,6 +41,9 @@ function CartButtonComponent(_ref) {
40
41
  const orderData = (0, _reactRelay.useFragment)((_CartButton_order2.default.hash && _CartButton_order2.default.hash !== "26a092d7efb579c98adda18413349b3b" && console.error("The definition of 'CartButton_order' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _CartButton_order2.default), orderKey);
41
42
  const [count, setCount] = (0, _react.useState)(0);
42
43
  const dispatch = (0, _reactRedux.useDispatch)();
44
+ const {
45
+ storeModal: storeModalConfig
46
+ } = (0, _react.useContext)(_ConfigContext.default);
43
47
  const formatSuffix = (0, _react.useCallback)(() => {
44
48
  if (!suffix) return null;
45
49
 
@@ -77,14 +81,14 @@ function CartButtonComponent(_ref) {
77
81
  return nodes.length > 0 ? nodes : null;
78
82
  }, [suffix, count, orderData === null || orderData === void 0 ? void 0 : orderData.subtotal]);
79
83
  const handleClick = (0, _react.useCallback)(() => {
80
- if (count > 0) {
84
+ if (count > 0 || storeModalConfig.hideAllCollections) {
81
85
  dispatch({
82
86
  type: 'STORE_MODAL_REPLACE',
83
87
  route: 'cart'
84
88
  });
85
89
  }
86
90
  dispatch(openCart());
87
- }, [count, dispatch]);
91
+ }, [count, dispatch, storeModalConfig.hideAllCollections]);
88
92
  (0, _react.useEffect)(() => {
89
93
  // set count only on the client, because on the server it's always gonna be zero
90
94
  setCount(cartButtonCount(orderData));
@@ -90,6 +90,7 @@ export declare const makeConfig: (config?: Config) => {
90
90
  indexLayout: "styled-aa" | "styled-font-names";
91
91
  indexExcludeTags: string[] | undefined;
92
92
  productLicensesPosition: "top" | "bottom";
93
+ hideAllCollections: boolean;
93
94
  };
94
95
  stripe: {
95
96
  appearance: Appearance | null;
@@ -161,6 +162,7 @@ declare const _default: React.Context<{
161
162
  indexLayout: "styled-aa" | "styled-font-names";
162
163
  indexExcludeTags: string[] | undefined;
163
164
  productLicensesPosition: "top" | "bottom";
165
+ hideAllCollections: boolean;
164
166
  };
165
167
  stripe: {
166
168
  appearance: Appearance | null;
@@ -59,7 +59,7 @@ const makeTypeTesterConfig = config => {
59
59
  };
60
60
  };
61
61
  const makeConfig = config => {
62
- var _config$form, _config$storeModal, _config$storeModal2, _config$storeModal3, _config$stripe, _config$tracking, _config$tracking2, _config$tracking3, _config$tracking4;
62
+ var _config$form, _config$storeModal, _config$storeModal2, _config$storeModal3, _config$storeModal4, _config$stripe, _config$tracking, _config$tracking2, _config$tracking3, _config$tracking4;
63
63
  return {
64
64
  typeTester: makeTypeTesterConfig(config === null || config === void 0 ? void 0 : config.typeTester),
65
65
  form: {
@@ -68,7 +68,8 @@ const makeConfig = config => {
68
68
  storeModal: {
69
69
  indexLayout: (config === null || config === void 0 ? void 0 : (_config$storeModal = config.storeModal) === null || _config$storeModal === void 0 ? void 0 : _config$storeModal.indexLayout) ?? 'styled-aa',
70
70
  indexExcludeTags: config === null || config === void 0 ? void 0 : (_config$storeModal2 = config.storeModal) === null || _config$storeModal2 === void 0 ? void 0 : _config$storeModal2.indexExcludeTags,
71
- productLicensesPosition: (config === null || config === void 0 ? void 0 : (_config$storeModal3 = config.storeModal) === null || _config$storeModal3 === void 0 ? void 0 : _config$storeModal3.productLicensesPosition) ?? 'top'
71
+ productLicensesPosition: (config === null || config === void 0 ? void 0 : (_config$storeModal3 = config.storeModal) === null || _config$storeModal3 === void 0 ? void 0 : _config$storeModal3.productLicensesPosition) ?? 'top',
72
+ hideAllCollections: (config === null || config === void 0 ? void 0 : (_config$storeModal4 = config.storeModal) === null || _config$storeModal4 === void 0 ? void 0 : _config$storeModal4.hideAllCollections) ?? false
72
73
  },
73
74
  stripe: {
74
75
  appearance: (config === null || config === void 0 ? void 0 : (_config$stripe = config.stripe) === null || _config$stripe === void 0 ? void 0 : _config$stripe.appearance) ?? null
@@ -31,8 +31,14 @@ const getPageTitle = name => {
31
31
  return 'Review';
32
32
  }
33
33
  };
34
- const getBackLink = (history, currentRoute) => {
35
- if (currentRoute !== 'index' && history.length === 0) return 'All collections';
34
+ const getBackLink = (history, currentRoute, hideAllCollections) => {
35
+ if (history.length === 0) {
36
+ if (hideAllCollections) {
37
+ return currentRoute === 'cart' ? null : 'Close';
38
+ }
39
+ if (currentRoute !== 'index') return 'All collections';
40
+ return null;
41
+ }
36
42
  const previous = history[history.length - 1];
37
43
  if (!previous) return null;
38
44
  return getPageTitle(previous.name);
@@ -61,17 +67,23 @@ const StoreModalContainer = _ref => {
61
67
  }, [dispatch]);
62
68
  const currentRoute = (0, _reactRedux.useSelector)(state => state.storeModalRoute.name);
63
69
  const history = (0, _reactRedux.useSelector)(state => state.storeModalHistory);
64
- const link = getBackLink(history, currentRoute);
65
70
  const config = (0, _react.useContext)(_ConfigContext.default);
71
+ const link = getBackLink(history, currentRoute, config.storeModal.hideAllCollections);
66
72
  const handleBack = () => {
67
73
  if (history.length === 0) {
68
- dispatch({
69
- type: 'STORE_MODAL_REPLACE',
70
- route: 'index',
71
- variables: {
72
- excludeTags: config.storeModal.indexExcludeTags
73
- }
74
- });
74
+ if (config.storeModal.hideAllCollections) {
75
+ dispatch({
76
+ type: 'CLOSE_CART'
77
+ });
78
+ } else {
79
+ dispatch({
80
+ type: 'STORE_MODAL_REPLACE',
81
+ route: 'index',
82
+ variables: {
83
+ excludeTags: config.storeModal.indexExcludeTags
84
+ }
85
+ });
86
+ }
75
87
  } else {
76
88
  dispatch({
77
89
  type: 'STORE_MODAL_BACK'
@@ -3,5 +3,9 @@ export default function StoreModalLicenseeIsBillingSelection({ disabled, childre
3
3
  disabled: boolean;
4
4
  children: {
5
5
  label: React.ReactNode;
6
+ selfLabel?: React.ReactNode;
7
+ selfDescription?: React.ReactNode;
8
+ clientLabel?: React.ReactNode;
9
+ clientDescription?: React.ReactNode;
6
10
  };
7
11
  }): React.JSX.Element;
@@ -24,13 +24,13 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
24
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
26
26
  const StoreModalProduct = _ref => {
27
- var _config$storeModal, _viewer$orderVariable, _viewer$settings, _viewer$settings2, _viewer$settings3, _viewer$settings4, _collection$children;
27
+ var _config$storeModal, _viewer$orderVariable, _viewer$settings, _viewer$settings2, _viewer$settings3, _viewer$settings4, _viewer$settings5, _viewer$settings6, _viewer$settings7, _viewer$settings8, _collection$children;
28
28
  let {
29
29
  prepared
30
30
  } = _ref;
31
31
  const config = (0, _react.useContext)(_ConfigContext.default);
32
32
  const environment = (0, _reactRelay.useRelayEnvironment)();
33
- const initialData = (0, _reactRelay.usePreloadedQuery)((_StoreModalProductQuery2.default.hash && _StoreModalProductQuery2.default.hash !== "b2803257576691f16a283d10e53439e3" && console.error("The definition of 'StoreModalProductQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalProductQuery2.default), prepared.productQuery);
33
+ const initialData = (0, _reactRelay.usePreloadedQuery)((_StoreModalProductQuery2.default.hash && _StoreModalProductQuery2.default.hash !== "051d45b088e87330de54058b441ad280" && console.error("The definition of 'StoreModalProductQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalProductQuery2.default), prepared.productQuery);
34
34
  const [data, refetch] = (0, _reactRelay.useRefetchableFragment)((_StoreModalProductContent_collection2.default.hash && _StoreModalProductContent_collection2.default.hash !== "0684ec2633ccc5d4d0866e7780df28cc" && console.error("The definition of 'StoreModalProductContent_collection' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalProductContent_collection2.default), initialData.collection);
35
35
  const collection = data;
36
36
  const {
@@ -88,26 +88,50 @@ const StoreModalProduct = _ref => {
88
88
  __html: ((_viewer$settings = viewer.settings) === null || _viewer$settings === void 0 ? void 0 : _viewer$settings.storeModalSelectLicenseeLabel) ?? ''
89
89
  }
90
90
  });
91
+ const licenseeSelfLabel = /*#__PURE__*/_react.default.createElement("span", {
92
+ dangerouslySetInnerHTML: {
93
+ __html: ((_viewer$settings2 = viewer.settings) === null || _viewer$settings2 === void 0 ? void 0 : _viewer$settings2.storeModalLicenseeSelfLabel) ?? 'Yourself'
94
+ }
95
+ });
96
+ const licenseeSelfDescription = (_viewer$settings3 = viewer.settings) !== null && _viewer$settings3 !== void 0 && _viewer$settings3.storeModalLicenseeSelfDescription ? /*#__PURE__*/_react.default.createElement("div", {
97
+ dangerouslySetInnerHTML: {
98
+ __html: viewer.settings.storeModalLicenseeSelfDescription
99
+ }
100
+ }) : null;
101
+ const licenseeClientLabel = /*#__PURE__*/_react.default.createElement("span", {
102
+ dangerouslySetInnerHTML: {
103
+ __html: ((_viewer$settings4 = viewer.settings) === null || _viewer$settings4 === void 0 ? void 0 : _viewer$settings4.storeModalLicenseeClientLabel) ?? 'Your client'
104
+ }
105
+ });
106
+ const licenseeClientDescription = (_viewer$settings5 = viewer.settings) !== null && _viewer$settings5 !== void 0 && _viewer$settings5.storeModalLicenseeClientDescription ? /*#__PURE__*/_react.default.createElement("div", {
107
+ dangerouslySetInnerHTML: {
108
+ __html: viewer.settings.storeModalLicenseeClientDescription
109
+ }
110
+ }) : null;
91
111
  const selectOrderVariablesLabel = /*#__PURE__*/_react.default.createElement("div", {
92
112
  dangerouslySetInnerHTML: {
93
- __html: ((_viewer$settings2 = viewer.settings) === null || _viewer$settings2 === void 0 ? void 0 : _viewer$settings2.storeModalSelectOrderVariablesLabel) ?? ''
113
+ __html: ((_viewer$settings6 = viewer.settings) === null || _viewer$settings6 === void 0 ? void 0 : _viewer$settings6.storeModalSelectOrderVariablesLabel) ?? ''
94
114
  }
95
115
  });
96
116
  const selectLicensesLabel = /*#__PURE__*/_react.default.createElement("div", {
97
117
  dangerouslySetInnerHTML: {
98
- __html: ((_viewer$settings3 = viewer.settings) === null || _viewer$settings3 === void 0 ? void 0 : _viewer$settings3.storeModalSelectLicensesLabel) ?? ''
118
+ __html: ((_viewer$settings7 = viewer.settings) === null || _viewer$settings7 === void 0 ? void 0 : _viewer$settings7.storeModalSelectLicensesLabel) ?? ''
99
119
  }
100
120
  });
101
121
  const selectFontsLabel = /*#__PURE__*/_react.default.createElement("div", {
102
122
  dangerouslySetInnerHTML: {
103
- __html: ((_viewer$settings4 = viewer.settings) === null || _viewer$settings4 === void 0 ? void 0 : _viewer$settings4.storeModalSelectFontsLabel) ?? ''
123
+ __html: ((_viewer$settings8 = viewer.settings) === null || _viewer$settings8 === void 0 ? void 0 : _viewer$settings8.storeModalSelectFontsLabel) ?? ''
104
124
  }
105
125
  });
106
126
  return /*#__PURE__*/_react.default.createElement(_StoreModalPageContainer.default, null, {
107
127
  body: /*#__PURE__*/_react.default.createElement(_react.Fragment, null, licensesPosition === 'top' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_StoreModalLicenseeIsBillingSelection.default, {
108
128
  disabled: false
109
129
  }, {
110
- label: selectLicenseeLabel
130
+ label: selectLicenseeLabel,
131
+ selfLabel: licenseeSelfLabel,
132
+ selfDescription: licenseeSelfDescription,
133
+ clientLabel: licenseeClientLabel,
134
+ clientDescription: licenseeClientDescription
111
135
  }), /*#__PURE__*/_react.default.createElement(_OrderVariableSelectionRedux.default, {
112
136
  viewer: viewer,
113
137
  disabled: !hasSelectionForLicenseeIsBillingIdentity
@@ -132,7 +156,11 @@ const StoreModalProduct = _ref => {
132
156
  }))), licensesPosition === 'bottom' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_StoreModalLicenseeIsBillingSelection.default, {
133
157
  disabled: !anySkusSelected
134
158
  }, {
135
- label: selectLicenseeLabel
159
+ label: selectLicenseeLabel,
160
+ selfLabel: licenseeSelfLabel,
161
+ selfDescription: licenseeSelfDescription,
162
+ clientLabel: licenseeClientLabel,
163
+ clientDescription: licenseeClientDescription
136
164
  }), /*#__PURE__*/_react.default.createElement(_OrderVariableSelectionRedux.default, {
137
165
  viewer: viewer,
138
166
  disabled: !anySkusSelected || !hasSelectionForLicenseeIsBillingIdentity
@@ -2,4 +2,5 @@ export interface StoreModalConfig {
2
2
  indexLayout?: 'styled-aa' | 'styled-font-names';
3
3
  indexExcludeTags?: string[] | undefined;
4
4
  productLicensesPosition?: 'bottom' | 'top';
5
+ hideAllCollections?: boolean;
5
6
  }
@@ -14,16 +14,30 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
14
14
  const EmptyCart = () => {
15
15
  const dispatch = (0, _reactRedux.useDispatch)();
16
16
  const config = (0, _react.useContext)(_ConfigContext.default);
17
+ const {
18
+ hideAllCollections
19
+ } = config.storeModal;
20
+ const handleContinueShopping = () => {
21
+ if (hideAllCollections) {
22
+ dispatch({
23
+ type: 'CLOSE_CART'
24
+ });
25
+ } else {
26
+ dispatch({
27
+ type: 'STORE_MODAL_NAVIGATE',
28
+ route: 'index',
29
+ variables: {
30
+ excludeTags: config.storeModal.indexExcludeTags
31
+ }
32
+ });
33
+ }
34
+ };
17
35
  return /*#__PURE__*/_react.default.createElement("div", {
18
36
  className: "empty-cart__container"
19
- }, /*#__PURE__*/_react.default.createElement(_Button.default, {
20
- onClick: () => dispatch({
21
- type: 'STORE_MODAL_NAVIGATE',
22
- route: 'index',
23
- variables: {
24
- excludeTags: config.storeModal.indexExcludeTags
25
- }
26
- })
37
+ }, /*#__PURE__*/_react.default.createElement("p", {
38
+ className: "empty-cart__message"
39
+ }, "Your cart is empty."), /*#__PURE__*/_react.default.createElement(_Button.default, {
40
+ onClick: handleContinueShopping
27
41
  }, "Continue shopping"));
28
42
  };
29
43
  var _default = EmptyCart;
@@ -5,7 +5,11 @@ interface Props {
5
5
  onChange: (value: boolean) => void;
6
6
  children: {
7
7
  label: React.ReactNode;
8
+ selfLabel?: React.ReactNode;
9
+ selfDescription?: React.ReactNode;
10
+ clientLabel?: React.ReactNode;
11
+ clientDescription?: React.ReactNode;
8
12
  };
9
13
  }
10
- export default function StoreModalLicenseeIsBillingIdentityElement({ disabled, onChange, value, children: { label }, }: Props): React.JSX.Element;
14
+ export default function StoreModalLicenseeIsBillingIdentityElement({ disabled, onChange, value, children: { label, selfLabel, selfDescription, clientLabel, clientDescription }, }: Props): React.JSX.Element;
11
15
  export {};
@@ -36,7 +36,11 @@ function StoreModalLicenseeIsBillingIdentityElement(_ref2) {
36
36
  onChange,
37
37
  value,
38
38
  children: {
39
- label
39
+ label,
40
+ selfLabel,
41
+ selfDescription,
42
+ clientLabel,
43
+ clientDescription
40
44
  }
41
45
  } = _ref2;
42
46
  const handleClick = (0, _react.useCallback)(licenseeIsBilling => () => {
@@ -49,13 +53,21 @@ function StoreModalLicenseeIsBillingIdentityElement(_ref2) {
49
53
  className: "store-modal__licensee-is-billing-identity__title"
50
54
  }, label), /*#__PURE__*/_react.default.createElement("div", {
51
55
  className: "store-modal__licensee-is-billing-identity__buttons"
56
+ }, /*#__PURE__*/_react.default.createElement("div", {
57
+ className: "store-modal__licensee-is-billing-identity__option"
52
58
  }, /*#__PURE__*/_react.default.createElement(CheckboxButton, {
53
- label: "Yourself",
59
+ label: selfLabel ?? 'Yourself',
54
60
  selected: value === true,
55
61
  onClick: handleClick(true)
56
- }), /*#__PURE__*/_react.default.createElement(CheckboxButton, {
57
- label: "Your client",
62
+ }), selfDescription ? /*#__PURE__*/_react.default.createElement("div", {
63
+ className: "store-modal__licensee-is-billing-identity__description"
64
+ }, selfDescription) : null), /*#__PURE__*/_react.default.createElement("div", {
65
+ className: "store-modal__licensee-is-billing-identity__option"
66
+ }, /*#__PURE__*/_react.default.createElement(CheckboxButton, {
67
+ label: clientLabel ?? 'Your client',
58
68
  selected: value === false,
59
69
  onClick: handleClick(false)
60
- })));
70
+ }), clientDescription ? /*#__PURE__*/_react.default.createElement("div", {
71
+ className: "store-modal__licensee-is-billing-identity__description"
72
+ }, clientDescription) : null)));
61
73
  }
@@ -169,14 +169,14 @@ function EditableSection(_ref) {
169
169
  }, "Change")));
170
170
  }
171
171
  function StoreModalUnifiedCheckout(_ref2) {
172
- var _order$orderVariableS, _viewer$settings, _viewer$settings2, _viewer$settings3, _viewer$settings4, _order$stripePaymentI, _viewer$settings5, _order$stripePaymentI2, _order$stripePaymentI3;
172
+ var _order$orderVariableS, _viewer$settings, _viewer$settings2, _viewer$settings3, _viewer$settings4, _viewer$settings5, _viewer$settings6, _viewer$settings7, _viewer$settings8, _order$stripePaymentI, _viewer$settings9, _order$stripePaymentI2, _order$stripePaymentI3;
173
173
  let {
174
174
  order: orderKey,
175
175
  viewer: viewerKey,
176
176
  onScrollToTop,
177
177
  onUpdateOrderVariableSelections
178
178
  } = _ref2;
179
- const viewer = (0, _reactRelay.useFragment)((_StoreModalUnifiedCheckout_viewer2.default.hash && _StoreModalUnifiedCheckout_viewer2.default.hash !== "048ce405742611f6684cb5306d28478b" && console.error("The definition of 'StoreModalUnifiedCheckout_viewer' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalUnifiedCheckout_viewer2.default), viewerKey);
179
+ const viewer = (0, _reactRelay.useFragment)((_StoreModalUnifiedCheckout_viewer2.default.hash && _StoreModalUnifiedCheckout_viewer2.default.hash !== "5e8a59a64c401bb354b53ab83d993e03" && console.error("The definition of 'StoreModalUnifiedCheckout_viewer' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalUnifiedCheckout_viewer2.default), viewerKey);
180
180
  const order = (0, _reactRelay.useFragment)((_StoreModalUnifiedCheckout_order2.default.hash && _StoreModalUnifiedCheckout_order2.default.hash !== "7c5503876a562732ebaead9b2ae97180" && console.error("The definition of 'StoreModalUnifiedCheckout_order' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalUnifiedCheckout_order2.default), orderKey);
181
181
 
182
182
  // Check if order has a country-type order variable with a different country than detected
@@ -677,7 +677,27 @@ function StoreModalUnifiedCheckout(_ref2) {
677
677
  dangerouslySetInnerHTML: {
678
678
  __html: ((_viewer$settings4 = viewer.settings) === null || _viewer$settings4 === void 0 ? void 0 : _viewer$settings4.storeModalSelectLicenseeLabel) ?? ''
679
679
  }
680
- })
680
+ }),
681
+ selfLabel: /*#__PURE__*/_react.default.createElement("span", {
682
+ dangerouslySetInnerHTML: {
683
+ __html: ((_viewer$settings5 = viewer.settings) === null || _viewer$settings5 === void 0 ? void 0 : _viewer$settings5.storeModalLicenseeSelfLabel) ?? 'Yourself'
684
+ }
685
+ }),
686
+ selfDescription: (_viewer$settings6 = viewer.settings) !== null && _viewer$settings6 !== void 0 && _viewer$settings6.storeModalLicenseeSelfDescription ? /*#__PURE__*/_react.default.createElement("div", {
687
+ dangerouslySetInnerHTML: {
688
+ __html: viewer.settings.storeModalLicenseeSelfDescription
689
+ }
690
+ }) : null,
691
+ clientLabel: /*#__PURE__*/_react.default.createElement("span", {
692
+ dangerouslySetInnerHTML: {
693
+ __html: ((_viewer$settings7 = viewer.settings) === null || _viewer$settings7 === void 0 ? void 0 : _viewer$settings7.storeModalLicenseeClientLabel) ?? 'Your client'
694
+ }
695
+ }),
696
+ clientDescription: (_viewer$settings8 = viewer.settings) !== null && _viewer$settings8 !== void 0 && _viewer$settings8.storeModalLicenseeClientDescription ? /*#__PURE__*/_react.default.createElement("div", {
697
+ dangerouslySetInnerHTML: {
698
+ __html: viewer.settings.storeModalLicenseeClientDescription
699
+ }
700
+ }) : null
681
701
  }) : null, showLicenseeSection ? /*#__PURE__*/_react.default.createElement("div", {
682
702
  className: "store-modal__cart__checkout-section"
683
703
  }, /*#__PURE__*/_react.default.createElement("h3", {
@@ -754,7 +774,7 @@ function StoreModalUnifiedCheckout(_ref2) {
754
774
  htmlFor: "eula-agreement"
755
775
  }, /*#__PURE__*/_react.default.createElement("div", {
756
776
  dangerouslySetInnerHTML: {
757
- __html: ((_viewer$settings5 = viewer.settings) === null || _viewer$settings5 === void 0 ? void 0 : _viewer$settings5.eulaAgreementLabel) ?? ''
777
+ __html: ((_viewer$settings9 = viewer.settings) === null || _viewer$settings9 === void 0 ? void 0 : _viewer$settings9.eulaAgreementLabel) ?? ''
758
778
  }
759
779
  }))), /*#__PURE__*/_react.default.createElement("button", {
760
780
  type: "submit",
package/dist/fontdue.css CHANGED
@@ -1272,6 +1272,17 @@ body[data-fontdue-store-modal=open] {
1272
1272
  grid-column: 1/span 2;
1273
1273
  }
1274
1274
 
1275
+ .store-modal__cart__items {
1276
+ --gutter: 20px;
1277
+ }
1278
+ @media (min-width: 900px) {
1279
+ .store-modal__cart__items {
1280
+ display: grid;
1281
+ grid-template-columns: [name] 300fr [licenses] 700fr [price] minmax(80px, auto) [end];
1282
+ column-gap: var(--gutter);
1283
+ }
1284
+ }
1285
+
1275
1286
  .store-modal__cart__button {
1276
1287
  background: none;
1277
1288
  color: inherit;
@@ -1780,6 +1791,12 @@ body[data-fontdue-store-modal=open] {
1780
1791
  font-size: 20px;
1781
1792
  }
1782
1793
 
1794
+ .store-modal__page__body:has(> .store-modal__index-item__button) {
1795
+ display: grid;
1796
+ grid-template-columns: auto 1fr auto;
1797
+ column-gap: 16px;
1798
+ }
1799
+
1783
1800
  .store-modal__index-item__button {
1784
1801
  background: none;
1785
1802
  color: inherit;
@@ -1803,24 +1820,19 @@ body[data-fontdue-store-modal=open] {
1803
1820
  width: 100%;
1804
1821
  border: 1px solid var(--secondary_text_color);
1805
1822
  padding: 20px;
1806
- display: flex;
1823
+ display: grid;
1824
+ grid-template-columns: subgrid;
1825
+ grid-column: 1/-1;
1807
1826
  align-items: center;
1808
1827
  margin-bottom: 20px;
1809
1828
  }
1810
1829
 
1811
1830
  .store-modal__index-item__text-container {
1812
- display: block;
1813
- vertical-align: baseline;
1831
+ display: contents;
1814
1832
  }
1815
1833
 
1816
1834
  .store-modal__index-item__aa {
1817
1835
  font-size: 60px;
1818
- margin-right: 16px;
1819
- display: inline-block;
1820
- }
1821
-
1822
- .store-modal__index-item__description {
1823
- display: inline-block;
1824
1836
  }
1825
1837
 
1826
1838
  .store-modal__index-item__name {
@@ -1828,10 +1840,23 @@ body[data-fontdue-store-modal=open] {
1828
1840
  line-height: 30px;
1829
1841
  }
1830
1842
 
1831
- .store-modal__index-item__buy {
1832
- margin-left: auto;
1843
+ @media (max-width: 899px) {
1844
+ .store-modal__page__body:has(> .store-modal__index-item__button) {
1845
+ display: block;
1846
+ }
1847
+ .store-modal__index-item__button {
1848
+ display: flex;
1849
+ align-items: last baseline;
1850
+ }
1851
+ .store-modal__index-item__text-container,
1852
+ .store-modal__index-item__aa,
1853
+ .store-modal__index-item__description {
1854
+ display: block;
1855
+ }
1856
+ .store-modal__index-item__buy {
1857
+ margin-left: auto;
1858
+ }
1833
1859
  }
1834
-
1835
1860
  .store-modal__license-selection__container[data-disabled=true] {
1836
1861
  opacity: 0.2;
1837
1862
  pointer-events: none;
@@ -2016,6 +2041,23 @@ body[data-fontdue-store-modal=open] {
2016
2041
  .store-modal__licensee-is-billing-identity__buttons {
2017
2042
  display: flex;
2018
2043
  gap: 20px;
2044
+ align-items: flex-start;
2045
+ }
2046
+
2047
+ .store-modal__licensee-is-billing-identity__option {
2048
+ flex: 1 1 0;
2049
+ min-width: 0;
2050
+ }
2051
+
2052
+ .store-modal__licensee-is-billing-identity__description {
2053
+ margin-top: 10px;
2054
+ color: var(--secondary_text_color);
2055
+ }
2056
+ .store-modal__licensee-is-billing-identity__description > p {
2057
+ margin: 0;
2058
+ }
2059
+ .store-modal__licensee-is-billing-identity__description > p + p {
2060
+ margin-top: 4px;
2019
2061
  }
2020
2062
 
2021
2063
  .store-modal__order-variable-selection__container {
@@ -2033,6 +2075,9 @@ body[data-fontdue-store-modal=open] {
2033
2075
  }
2034
2076
 
2035
2077
  .store-modal__order-variable-selection__title {
2078
+ font-family: var(--font-family__bold, inherit);
2079
+ font-weight: 400;
2080
+ font-style: normal;
2036
2081
  margin-bottom: 20px;
2037
2082
  }
2038
2083
 
@@ -2327,9 +2372,32 @@ body[data-fontdue-store-modal=open] {
2327
2372
  font-size: 20px;
2328
2373
  }
2329
2374
 
2375
+ @media (max-width: 899px) {
2376
+ .store-modal__family__bundle-button .store-modal__style-button__container {
2377
+ flex-wrap: wrap;
2378
+ }
2379
+ .store-modal__family__bundle-button .store-modal__style-button__feature-glyphs {
2380
+ flex: 0 0 100%;
2381
+ }
2382
+ .store-modal__family__bundle-button .store-modal__style-button__style-name {
2383
+ flex: 1 1 0;
2384
+ min-width: 0;
2385
+ }
2386
+ .store-modal__family__bundle-button .store-modal__style-button__price {
2387
+ align-self: flex-end;
2388
+ }
2389
+ }
2390
+ .empty-cart__container {
2391
+ padding: 40px 0;
2392
+ }
2393
+
2330
2394
  .empty-cart__message {
2331
2395
  font-size: 20px;
2332
- margin-bottom: 60px;
2396
+ margin: 0 0 32px;
2397
+ }
2398
+
2399
+ [data-route=cart]:has(.empty-cart__container) .store-modal__container__container {
2400
+ max-width: 800px;
2333
2401
  }
2334
2402
 
2335
2403
  .cart-additions__form {
@@ -2476,7 +2544,6 @@ body[data-fontdue-store-modal=open] {
2476
2544
  padding-right: var(--StoreModalPageContainer-padding);
2477
2545
  padding-bottom: 40px;
2478
2546
  line-height: 20px;
2479
- --gutter: 20px;
2480
2547
  }
2481
2548
  .cart-item + .cart-item {
2482
2549
  border-top: 1px solid var(--horizontal_rule_color);
@@ -2499,9 +2566,8 @@ body[data-fontdue-store-modal=open] {
2499
2566
  .cart-item {
2500
2567
  display: grid;
2501
2568
  align-items: baseline;
2502
- grid-template-columns: 300fr 700fr 80px;
2503
- grid-template-areas: "name licenses price";
2504
- grid-column-gap: var(--gutter);
2569
+ grid-template-columns: subgrid;
2570
+ grid-column: 1/-1;
2505
2571
  padding-bottom: 30px;
2506
2572
  margin-bottom: 0;
2507
2573
  }
package/dist/reducer.js CHANGED
@@ -269,6 +269,14 @@ const reducer = (state, action) => {
269
269
  };
270
270
  function createDefaultStore(config) {
271
271
  const configValue = (0, _ConfigContext.makeConfig)(config);
272
+ const initialRoute = configValue.storeModal.hideAllCollections ? {
273
+ name: 'cart'
274
+ } : {
275
+ name: 'index',
276
+ variables: {
277
+ excludeTags: configValue.storeModal.indexExcludeTags
278
+ }
279
+ };
272
280
  return (0, _redux.createStore)(reducer, {
273
281
  selectedSkuIds: {},
274
282
  // { [skuId]: Boolean }
@@ -279,12 +287,7 @@ function createDefaultStore(config) {
279
287
  skuPrices: {},
280
288
  collectionSkus: {},
281
289
  fetchedCollectionIds: [],
282
- storeModalRoute: {
283
- name: 'index',
284
- variables: {
285
- excludeTags: configValue.storeModal.indexExcludeTags
286
- }
287
- },
290
+ storeModalRoute: initialRoute,
288
291
  storeModalHistory: [],
289
292
  orderVariableSelections: [],
290
293
  licenseeIsBillingIdentity: null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fontdue-js",
3
- "version": "2.23.2",
3
+ "version": "2.25.0",
4
4
  "scripts": {
5
5
  "build": "npm run relay && run-p build-js build-css build-ts",
6
6
  "build-js": "babel src --out-dir dist --extensions .ts,.tsx,.js,.jsx",