fontdue-js 3.0.0-alpha1 → 3.0.0-alpha10

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 (225) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +639 -93
  3. package/dist/__generated__/CartItemAdditionalLicenses_orderItem.graphql.d.ts +4 -1
  4. package/dist/__generated__/CartItemAdditionalLicenses_orderItem.graphql.js +34 -22
  5. package/dist/__generated__/CartOrderCompleteOrderMutation.graphql.d.ts +1 -1
  6. package/dist/__generated__/CartOrderCompleteOrderMutation.graphql.js +19 -4
  7. package/dist/__generated__/CartOrderRemoveDiscountMutation.graphql.d.ts +1 -1
  8. package/dist/__generated__/CartOrderRemoveDiscountMutation.graphql.js +19 -4
  9. package/dist/__generated__/CartOrderUpdateMutation.graphql.d.ts +1 -1
  10. package/dist/__generated__/CartOrderUpdateMutation.graphql.js +19 -4
  11. package/dist/__generated__/CartQuery.graphql.d.ts +1 -1
  12. package/dist/__generated__/CartQuery.graphql.js +20 -5
  13. package/dist/__generated__/CartStateUpdateMutation.graphql.d.ts +1 -1
  14. package/dist/__generated__/CartStateUpdateMutation.graphql.js +19 -4
  15. package/dist/__generated__/CharacterViewerIDQuery.graphql.d.ts +1 -1
  16. package/dist/__generated__/CharacterViewerIDQuery.graphql.js +9 -3
  17. package/dist/__generated__/CharacterViewerSlugQuery.graphql.d.ts +1 -1
  18. package/dist/__generated__/CharacterViewerSlugQuery.graphql.js +9 -3
  19. package/dist/__generated__/CharacterViewerStyleRefetchQuery.graphql.d.ts +1 -1
  20. package/dist/__generated__/CharacterViewerStyleRefetchQuery.graphql.js +9 -3
  21. package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.d.ts +1 -1
  22. package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.js +19 -4
  23. package/dist/__generated__/CheckoutUpdateOrderMutation.graphql.d.ts +1 -1
  24. package/dist/__generated__/CheckoutUpdateOrderMutation.graphql.js +19 -4
  25. package/dist/__generated__/CollectionAa_Query.graphql.d.ts +1 -1
  26. package/dist/__generated__/CollectionAa_Query.graphql.js +9 -3
  27. package/dist/__generated__/FontFamiliesQuery.graphql.d.ts +1 -1
  28. package/dist/__generated__/FontFamiliesQuery.graphql.js +9 -3
  29. package/dist/__generated__/FontdueAdminToolbarStaffQuery.graphql.d.ts +20 -0
  30. package/dist/__generated__/{ThemeConfigQuery.graphql.js → FontdueAdminToolbarStaffQuery.graphql.js} +10 -10
  31. package/dist/__generated__/FontdueAdminToolbarTokenMutation.graphql.d.ts +18 -0
  32. package/dist/__generated__/FontdueAdminToolbarTokenMutation.graphql.js +56 -0
  33. package/dist/__generated__/FontdueProviderQuery.graphql.d.ts +19 -0
  34. package/dist/__generated__/FontdueProviderQuery.graphql.js +140 -0
  35. package/dist/__generated__/PrecartAddToCartMutation.graphql.d.ts +1 -1
  36. package/dist/__generated__/PrecartAddToCartMutation.graphql.js +40 -25
  37. package/dist/__generated__/PrecartQuery.graphql.d.ts +1 -1
  38. package/dist/__generated__/PrecartQuery.graphql.js +17 -7
  39. package/dist/__generated__/Precart_collection.graphql.d.ts +4 -1
  40. package/dist/__generated__/Precart_collection.graphql.js +13 -3
  41. package/dist/__generated__/Precart_license.graphql.d.ts +4 -1
  42. package/dist/__generated__/Precart_license.graphql.js +19 -9
  43. package/dist/__generated__/ServerConfigProvider_viewer.graphql.d.ts +23 -0
  44. package/dist/__generated__/ServerConfigProvider_viewer.graphql.js +57 -0
  45. package/dist/__generated__/StoreModalCartQuery.graphql.d.ts +1 -1
  46. package/dist/__generated__/StoreModalCartQuery.graphql.js +44 -5
  47. package/dist/__generated__/StoreModalContainerQuery.graphql.d.ts +1 -1
  48. package/dist/__generated__/StoreModalContainerQuery.graphql.js +9 -3
  49. package/dist/__generated__/StoreModalIndexQuery.graphql.d.ts +1 -1
  50. package/dist/__generated__/StoreModalIndexQuery.graphql.js +9 -3
  51. package/dist/__generated__/StoreModalProductLicense_license.graphql.d.ts +4 -1
  52. package/dist/__generated__/StoreModalProductLicense_license.graphql.js +11 -2
  53. package/dist/__generated__/StoreModalProductQuery.graphql.d.ts +5 -1
  54. package/dist/__generated__/StoreModalProductQuery.graphql.js +103 -60
  55. package/dist/__generated__/StoreModalProductRefetchQuery.graphql.d.ts +1 -1
  56. package/dist/__generated__/StoreModalProductRefetchQuery.graphql.js +48 -32
  57. package/dist/__generated__/StoreModalUnifiedCheckout_viewer.graphql.d.ts +5 -1
  58. package/dist/__generated__/StoreModalUnifiedCheckout_viewer.graphql.js +26 -2
  59. package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.d.ts +1 -1
  60. package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +19 -4
  61. package/dist/__generated__/TestModeBanner_viewer.graphql.d.ts +19 -0
  62. package/dist/__generated__/TestModeBanner_viewer.graphql.js +36 -0
  63. package/dist/__generated__/ThemeConfig_viewer.graphql.d.ts +19 -0
  64. package/dist/__generated__/ThemeConfig_viewer.graphql.js +36 -0
  65. package/dist/__generated__/TypeTesterFamiliesQuery.graphql.d.ts +29 -0
  66. package/dist/__generated__/TypeTesterFamiliesQuery.graphql.js +167 -0
  67. package/dist/__generated__/TypeTesterFamiliesStylesQuery.graphql.d.ts +35 -0
  68. package/dist/__generated__/TypeTesterFamiliesStylesQuery.graphql.js +163 -0
  69. package/dist/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.d.ts +1 -1
  70. package/dist/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.js +10 -4
  71. package/dist/__generated__/TypeTesterStandaloneQuery.graphql.d.ts +1 -3
  72. package/dist/__generated__/TypeTesterStandaloneQuery.graphql.js +84 -161
  73. package/dist/__generated__/TypeTesterStyleSelectData_fontStyle.graphql.d.ts +2 -1
  74. package/dist/__generated__/TypeTesterStyleSelectData_fontStyle.graphql.js +18 -17
  75. package/dist/__generated__/TypeTestersChangedStylesQuery.graphql.d.ts +1 -1
  76. package/dist/__generated__/TypeTestersChangedStylesQuery.graphql.js +10 -4
  77. package/dist/__generated__/TypeTestersIDQuery.graphql.d.ts +1 -5
  78. package/dist/__generated__/TypeTestersIDQuery.graphql.js +107 -195
  79. package/dist/__generated__/TypeTestersRefetchQuery.graphql.d.ts +1 -1
  80. package/dist/__generated__/TypeTestersRefetchQuery.graphql.js +10 -4
  81. package/dist/__generated__/TypeTestersSlugQuery.graphql.d.ts +1 -3
  82. package/dist/__generated__/TypeTestersSlugQuery.graphql.js +108 -178
  83. package/dist/__generated__/orderTrackingUpdateOrderTrackingMutation.graphql.d.ts +27 -0
  84. package/dist/__generated__/orderTrackingUpdateOrderTrackingMutation.graphql.js +65 -0
  85. package/dist/__generated__/useFontStyle_fontStyle.graphql.d.ts +2 -1
  86. package/dist/__generated__/useFontStyle_fontStyle.graphql.js +8 -2
  87. package/dist/__tests__/fontLoader.test.js +106 -0
  88. package/dist/__tests__/licenseExclusions.test.js +158 -0
  89. package/dist/__tests__/networkFetch.test.js +66 -0
  90. package/dist/__tests__/nextAdapter.test.js +447 -0
  91. package/dist/components/BuyButton/index.d.ts +26 -3
  92. package/dist/components/BuyButton/index.js +68 -17
  93. package/dist/components/BuyButton/index.server.d.ts +8 -1
  94. package/dist/components/BuyButton/index.server.js +10 -0
  95. package/dist/components/BuyingOptions/index.d.ts +9 -0
  96. package/dist/components/Cart/CartItem/CartItemAdditionalLicenses.js +11 -5
  97. package/dist/components/Cart/CartOrder.js +9 -1
  98. package/dist/components/Cart/orderTracking.d.ts +10 -0
  99. package/dist/components/Cart/orderTracking.js +36 -0
  100. package/dist/components/CartButton/index.d.ts +5 -8
  101. package/dist/components/CartButton/index.js +38 -34
  102. package/dist/components/CharacterViewer/index.d.ts +28 -5
  103. package/dist/components/CharacterViewer/index.js +97 -22
  104. package/dist/components/CharacterViewer/index.server.d.ts +8 -1
  105. package/dist/components/CharacterViewer/index.server.js +11 -0
  106. package/dist/components/ConfigContext.d.ts +5 -2
  107. package/dist/components/ConfigContext.js +28 -2
  108. package/dist/components/CookieNotification/index.d.ts +13 -0
  109. package/dist/components/CookieNotification/index.js +4 -4
  110. package/dist/components/CustomerLoginForm/index.js +17 -9
  111. package/dist/components/FontStyle/index.d.ts +2 -0
  112. package/dist/components/FontStyle/index.js +4 -2
  113. package/dist/components/FontdueAdminToolbar/index.d.ts +2 -0
  114. package/dist/components/FontdueAdminToolbar/index.js +146 -0
  115. package/dist/components/{FontdueProvider/FontdueProviderClientComponent.d.ts → FontdueContextProvider/index.d.ts} +6 -4
  116. package/dist/components/FontdueContextProvider/index.js +148 -0
  117. package/dist/components/FontdueProvider/index.d.ts +19 -3
  118. package/dist/components/FontdueProvider/index.js +68 -23
  119. package/dist/components/FontdueProvider/index.server.d.ts +6 -3
  120. package/dist/components/FontdueProvider/index.server.js +37 -23
  121. package/dist/components/Icons/Checkbox.js +10 -8
  122. package/dist/components/Icons/CheckboxChecked.js +4 -5
  123. package/dist/components/NewsletterSignup/index.d.ts +10 -5
  124. package/dist/components/NewsletterSignup/index.js +26 -2
  125. package/dist/components/NewsletterSignup/index.server.d.ts +6 -1
  126. package/dist/components/NewsletterSignup/index.server.js +10 -0
  127. package/dist/components/Precart/index.js +12 -7
  128. package/dist/components/ServerConfigProvider/index.d.ts +3 -1
  129. package/dist/components/ServerConfigProvider/index.js +7 -6
  130. package/dist/components/StoreModal/StoreModalContainer.js +22 -10
  131. package/dist/components/StoreModal/StoreModalLicenseeIsBillingSelection.d.ts +4 -0
  132. package/dist/components/StoreModal/StoreModalProduct.js +35 -7
  133. package/dist/components/StoreModal/index.d.ts +5 -1
  134. package/dist/components/StoreModal/index.js +14 -1
  135. package/dist/components/StoreModal/types.d.ts +1 -0
  136. package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.js +10 -4
  137. package/dist/components/TestFontsForm/index.d.ts +9 -2
  138. package/dist/components/TestFontsForm/index.js +26 -2
  139. package/dist/components/TestFontsForm/index.server.d.ts +6 -1
  140. package/dist/components/TestFontsForm/index.server.js +10 -0
  141. package/dist/components/TestModeBanner/index.d.ts +4 -1
  142. package/dist/components/TestModeBanner/index.js +9 -17
  143. package/dist/components/ThemeConfig/index.d.ts +3 -5
  144. package/dist/components/ThemeConfig/index.js +10 -28
  145. package/dist/components/TypeTester/TypeTesterFamilies.d.ts +37 -0
  146. package/dist/components/TypeTester/TypeTesterFamilies.js +117 -0
  147. package/dist/components/TypeTester/TypeTesterStandalone.d.ts +18 -4
  148. package/dist/components/TypeTester/TypeTesterStandalone.js +22 -8
  149. package/dist/components/TypeTester/TypeTesterStandalone.server.d.ts +6 -2
  150. package/dist/components/TypeTester/TypeTesterStandalone.server.js +15 -5
  151. package/dist/components/TypeTester/TypeTesterStyleSelect.d.ts +15 -5
  152. package/dist/components/TypeTester/TypeTesterStyleSelect.js +57 -47
  153. package/dist/components/TypeTester/TypeTesterStyleSelectData.d.ts +1 -3
  154. package/dist/components/TypeTester/TypeTesterStyleSelectData.js +212 -54
  155. package/dist/components/TypeTester/TypeTesterVariableAxes.js +17 -4
  156. package/dist/components/TypeTester/index.d.ts +1 -3
  157. package/dist/components/TypeTester/index.js +13 -6
  158. package/dist/components/TypeTester/useTypeTesterStyler.d.ts +4 -2
  159. package/dist/components/TypeTester/useTypeTesterStyler.js +78 -11
  160. package/dist/components/TypeTesters/index.d.ts +18 -1
  161. package/dist/components/TypeTesters/index.js +73 -31
  162. package/dist/components/TypeTesters/index.server.d.ts +6 -1
  163. package/dist/components/TypeTesters/index.server.js +12 -4
  164. package/dist/components/elements/EmptyCart/index.js +22 -8
  165. package/dist/components/elements/StoreModalLicenseeIsBillingIdentityElement.d.ts +5 -1
  166. package/dist/components/elements/StoreModalLicenseeIsBillingIdentityElement.js +17 -5
  167. package/dist/components/elements/StoreModalUnifiedCheckout.js +32 -4
  168. package/dist/components/useFont.d.ts +1 -4
  169. package/dist/components/useFontStyle.d.ts +7 -0
  170. package/dist/components/useFontStyle.js +3 -2
  171. package/dist/fontLoader.d.ts +21 -1
  172. package/dist/fontLoader.js +36 -2
  173. package/dist/fontdue.css +320 -86
  174. package/dist/hooks.d.ts +1 -0
  175. package/dist/hooks.js +28 -1
  176. package/dist/index.d.ts +1 -2
  177. package/dist/index.js +1 -1
  178. package/dist/loadFontdueProviderQuery.d.ts +3 -0
  179. package/dist/loadFontdueProviderQuery.js +10 -0
  180. package/dist/next/config.d.ts +41 -0
  181. package/dist/next/config.js +193 -0
  182. package/dist/next/image-loader.d.ts +7 -0
  183. package/dist/next/image-loader.js +39 -0
  184. package/dist/next/index.d.ts +2 -0
  185. package/dist/next/index.js +10 -0
  186. package/dist/next/revalidate.d.ts +1 -0
  187. package/dist/next/revalidate.js +37 -0
  188. package/dist/next/tenant.d.ts +26 -0
  189. package/dist/next/tenant.js +169 -0
  190. package/dist/reducer.d.ts +2 -0
  191. package/dist/reducer.js +12 -7
  192. package/dist/relay/environment.js +21 -6
  193. package/dist/relay/loadSerializableQuery.d.ts +2 -4
  194. package/dist/relay/serverConfig.d.ts +16 -0
  195. package/dist/relay/serverConfig.js +38 -0
  196. package/dist/vite.d.ts +2 -1
  197. package/dist/vite.js +78 -11
  198. package/package.json +8 -7
  199. package/types/next-cache.d.ts +6 -0
  200. package/types/next-navigation.d.ts +6 -0
  201. package/vitest.config.ts +4 -0
  202. package/dist/__generated__/ServerConfigProviderQuery.graphql.d.ts +0 -24
  203. package/dist/__generated__/ServerConfigProviderQuery.graphql.js +0 -101
  204. package/dist/__generated__/TestModeBannerQuery.graphql.d.ts +0 -20
  205. package/dist/__generated__/TestModeBannerQuery.graphql.js +0 -80
  206. package/dist/__generated__/ThemeConfigQuery.graphql.d.ts +0 -20
  207. package/dist/__generated__/TypeTesterStyleSelectData_viewer.graphql.d.ts +0 -42
  208. package/dist/__generated__/TypeTesterStyleSelectData_viewer.graphql.js +0 -159
  209. package/dist/__generated__/TypeTester_viewer.graphql.d.ts +0 -17
  210. package/dist/__generated__/TypeTester_viewer.graphql.js +0 -33
  211. package/dist/__generated__/TypeTesters_viewer.graphql.d.ts +0 -17
  212. package/dist/__generated__/TypeTesters_viewer.graphql.js +0 -33
  213. package/dist/components/CartButton/index.server.d.ts +0 -3
  214. package/dist/components/CartButton/index.server.js +0 -11
  215. package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +0 -69
  216. package/dist/components/FontdueProvider/useAuxUIOwner.d.ts +0 -1
  217. package/dist/components/FontdueProvider/useAuxUIOwner.js +0 -28
  218. package/dist/components/ThemeConfig/index.server.d.ts +0 -2
  219. package/dist/components/ThemeConfig/index.server.js +0 -10
  220. package/dist/components/TypeTester/TypeTesterStandalone.preload.d.ts +0 -14
  221. package/dist/components/TypeTester/TypeTesterStandalone.preload.js +0 -19
  222. package/dist/config.d.ts +0 -6
  223. package/dist/config.js +0 -20
  224. package/fontdue.css +0 -2732
  225. package/fontdue.css.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,46 @@
1
+ ## 2.28.0
2
+
3
+ - Checkout now captures the buyer's **analytics consent and ad attribution** on the order. When the cart or store-modal checkout opens, fontdue-js sends the consent-banner state, anonymous ID, Meta browser IDs (the `_fbp`/`_fbc` cookies), and the page URL to the server, where they're stored on the order. This lets Fontdue emit a server-side *purchase* conversion event (Facebook Conversions API, Google Ads) when the order completes — completion happens in a Stripe webhook, outside the browser — while respecting the buyer's cookie-consent choice: if consent was declined, no identifiers are sent and nothing is forwarded to ad platforms. The call is fire-and-forget and never affects checkout.
4
+
5
+ ## 2.27.0
6
+
7
+ - The `TypeTester` `truncate` option now accepts a **number** to cap the sample paragraph at N lines (in addition to `false` = off and `true` = 1 line). Truncation is now ascender/descender-safe at any line-height — it reads the font's vertical metrics so accents and descenders are never clipped — and flows the clipped text into columns, so multi-column truncated specimens render correctly and side-by-side testers keep their toolbars aligned.
8
+ - The `TypeTester` **family selector now lazy-loads its data**. The family list is fetched on first dropdown open (shared once per page) and per-family styles load on demand, instead of fetching the whole font library up front. This substantially speeds up the initial render of pages with type testers, especially with several standalone testers. The dropdown shows a “Loading…” state while data loads.
9
+
10
+ ## 2.26.1
11
+
12
+ - Fixed a jitter in the `TypeTester` variable-font axis sliders: dragging a slider no longer shifts the handle position as the instance name and value beside it change width. The instance name now settles shortly after dragging stops, and the value reserves a fixed width for its range.
13
+
14
+ ## 2.26.0
15
+
16
+ - Added support for **OpenType color fonts** (COLRv1, COLRv0, SVG, sbix, CBDT). When a typeface ships multiple color-tech variants of the same style, fontdue-js now picks the source the current browser can actually render using `CSS.supports("font-tech(color-X)")` — fixing cases where Chrome would otherwise pin an SVG-in-OpenType file it can only render as outline. Falls back optimistically on SSR / pre-`tech()` browsers, so existing setups continue to work unchanged.
17
+
18
+ ## 2.25.1
19
+
20
+ - Fixed an error in the `TypeTester` style/family select that could occur in rare cases with typefaces detected without any language support.
21
+ - Fixed the `Checkbox` and `CheckboxChecked` icons rendering with uneven, asymmetric edges at fractional sizes.
22
+
23
+ ## 2.25.0
24
+
25
+ - 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.
26
+ - 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).
27
+
28
+ ## 2.24.0
29
+
30
+ - 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.
31
+
32
+ ## 2.23.2
33
+
34
+ - Fixed a right-edge gap in the *CharacterViewer* glyph grid.
35
+
36
+ ## 2.23.1
37
+
38
+ - Tweaked checkout styling.
39
+
40
+ ## 2.23.0
41
+
42
+ - Added support for **mutually exclusive licenses**. Tenants can now mark licenses as mutually exclusive in the admin; selecting a conflicting license in the precart, store modal, or cart now auto-deselects the conflicting one. The cart's "+ Add" suggestion list also hides licenses that conflict with what's already selected.
43
+
1
44
  ## 2.22.4
2
45
 
3
46
  - Raised the store modal index collection limit from 99 to 9999, so very large libraries are no longer silently capped on the store modal landing page.