fontdue-js 2.22.0 → 2.22.1

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 (370) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/components/ConfigContext.d.ts +3 -0
  3. package/dist/components/ConfigContext.js +2 -1
  4. package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +2 -0
  5. package/dist/corsError.d.ts +1 -0
  6. package/dist/corsError.js +16 -9
  7. package/dist/global-shim.d.ts +1 -0
  8. package/dist/global-shim.js +8 -0
  9. package/dist/relay/environment.js +51 -42
  10. package/dist-cjs/__generated__/AddToCartBannerQuery.graphql.js +194 -0
  11. package/dist-cjs/__generated__/AddToCartBanner_item.graphql.js +107 -0
  12. package/dist-cjs/__generated__/AddToCartBanner_order.graphql.js +131 -0
  13. package/dist-cjs/__generated__/AddressFieldsRefetchQuery.graphql.js +170 -0
  14. package/dist-cjs/__generated__/AddressFields_viewer.graphql.js +125 -0
  15. package/dist-cjs/__generated__/BuyButtonIDQuery.graphql.js +121 -0
  16. package/dist-cjs/__generated__/BuyButtonSlugQuery.graphql.js +146 -0
  17. package/dist-cjs/__generated__/BuyButton_collection.graphql.js +56 -0
  18. package/dist-cjs/__generated__/CartButtonQuery.graphql.js +139 -0
  19. package/dist-cjs/__generated__/CartButton_order.graphql.js +71 -0
  20. package/dist-cjs/__generated__/CartItemAdditionalLicenses_licenses.graphql.js +42 -0
  21. package/dist-cjs/__generated__/CartItemAdditionalLicenses_orderItem.graphql.js +52 -0
  22. package/dist-cjs/__generated__/CartItemLicense_selection.graphql.js +80 -0
  23. package/dist-cjs/__generated__/CartItemProduct_product.graphql.js +113 -0
  24. package/dist-cjs/__generated__/CartItemVariable_selection.graphql.js +107 -0
  25. package/dist-cjs/__generated__/CartItemVariable_variable.graphql.js +58 -0
  26. package/dist-cjs/__generated__/CartItem_node.graphql.js +166 -0
  27. package/dist-cjs/__generated__/CartOrderCompleteOrderMutation.graphql.js +783 -0
  28. package/dist-cjs/__generated__/CartOrderRemoveDiscountMutation.graphql.js +760 -0
  29. package/dist-cjs/__generated__/CartOrderUpdateMutation.graphql.js +795 -0
  30. package/dist-cjs/__generated__/CartOrder_UpdateErrors.graphql.js +43 -0
  31. package/dist-cjs/__generated__/CartOrder_order.graphql.js +264 -0
  32. package/dist-cjs/__generated__/CartOrder_viewer.graphql.js +51 -0
  33. package/dist-cjs/__generated__/CartQuery.graphql.js +887 -0
  34. package/dist-cjs/__generated__/CartStateRemoveDiscountMutation.graphql.js +422 -0
  35. package/dist-cjs/__generated__/CartStateUpdateMutation.graphql.js +790 -0
  36. package/dist-cjs/__generated__/CartState_order.graphql.js +122 -0
  37. package/dist-cjs/__generated__/CartTotals_order.graphql.js +140 -0
  38. package/dist-cjs/__generated__/CharacterViewerIDQuery.graphql.js +332 -0
  39. package/dist-cjs/__generated__/CharacterViewerSlugQuery.graphql.js +362 -0
  40. package/dist-cjs/__generated__/CharacterViewerStyleRefetchQuery.graphql.js +226 -0
  41. package/dist-cjs/__generated__/CharacterViewer_collection.graphql.js +197 -0
  42. package/dist-cjs/__generated__/CharacterViewer_family.graphql.js +101 -0
  43. package/dist-cjs/__generated__/CharacterViewer_style.graphql.js +161 -0
  44. package/dist-cjs/__generated__/CheckoutUpdateCustomerMutation.graphql.js +770 -0
  45. package/dist-cjs/__generated__/CheckoutUpdateOrderMutation.graphql.js +811 -0
  46. package/dist-cjs/__generated__/Checkout_UpdateOrderErrors.graphql.js +97 -0
  47. package/dist-cjs/__generated__/Checkout_identity.graphql.js +94 -0
  48. package/dist-cjs/__generated__/Checkout_order.graphql.js +144 -0
  49. package/dist-cjs/__generated__/Checkout_viewer.graphql.js +74 -0
  50. package/dist-cjs/__generated__/CollectionAa_Query.graphql.js +192 -0
  51. package/dist-cjs/__generated__/CollectionAa_product.graphql.js +69 -0
  52. package/dist-cjs/__generated__/CouponCodeInputApplyCouponMutation.graphql.js +432 -0
  53. package/dist-cjs/__generated__/CouponText_coupon.graphql.js +73 -0
  54. package/dist-cjs/__generated__/CustomerLoginFormLoginMutation.graphql.js +72 -0
  55. package/dist-cjs/__generated__/CustomerLoginFormQuery.graphql.js +91 -0
  56. package/dist-cjs/__generated__/DownloadRefetchQuery.graphql.js +124 -0
  57. package/dist-cjs/__generated__/Download_order.graphql.js +61 -0
  58. package/dist-cjs/__generated__/FamilyList_node.graphql.js +96 -0
  59. package/dist-cjs/__generated__/Family_node.graphql.js +160 -0
  60. package/dist-cjs/__generated__/FontFamiliesQuery.graphql.js +368 -0
  61. package/dist-cjs/__generated__/FontStyle_fontStyle.graphql.js +32 -0
  62. package/dist-cjs/__generated__/IdentityBox_identity.graphql.js +52 -0
  63. package/dist-cjs/__generated__/License_node.graphql.js +97 -0
  64. package/dist-cjs/__generated__/NewsletterSignupQuery.graphql.js +110 -0
  65. package/dist-cjs/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.js +81 -0
  66. package/dist-cjs/__generated__/NodePasswordFormAccessNodeMutation.graphql.js +72 -0
  67. package/dist-cjs/__generated__/NodePasswordFormIDQuery.graphql.js +93 -0
  68. package/dist-cjs/__generated__/NodePasswordFormSlugQuery.graphql.js +115 -0
  69. package/dist-cjs/__generated__/OrderVariableSelectionReduxRefetchQuery.graphql.js +154 -0
  70. package/dist-cjs/__generated__/OrderVariableSelectionRedux_viewer.graphql.js +75 -0
  71. package/dist-cjs/__generated__/OrderVariableSelection_variables.graphql.js +107 -0
  72. package/dist-cjs/__generated__/PrecartAddToCartMutation.graphql.js +793 -0
  73. package/dist-cjs/__generated__/PrecartClearCartMutation.graphql.js +81 -0
  74. package/dist-cjs/__generated__/PrecartQuery.graphql.js +308 -0
  75. package/dist-cjs/__generated__/Precart_collection.graphql.js +81 -0
  76. package/dist-cjs/__generated__/Precart_license.graphql.js +67 -0
  77. package/dist-cjs/__generated__/Precart_viewer.graphql.js +161 -0
  78. package/dist-cjs/__generated__/PriceBarSectionRefetchQuery.graphql.js +184 -0
  79. package/dist-cjs/__generated__/PriceBarSection_node.graphql.js +121 -0
  80. package/dist-cjs/__generated__/PriceBar_node.graphql.js +60 -0
  81. package/dist-cjs/__generated__/Price_price.graphql.js +40 -0
  82. package/dist-cjs/__generated__/SKUPrice_sku.graphql.js +69 -0
  83. package/dist-cjs/__generated__/SelectButton_sku.graphql.js +54 -0
  84. package/{dist-bundle/chunks/index-o29NNufd.js → dist-cjs/__generated__/ServerConfigProviderQuery.graphql.js} +7 -30
  85. package/dist-cjs/__generated__/ShareCartCreateSnapshotMutation.graphql.js +84 -0
  86. package/dist-cjs/__generated__/SpecimenLinkQuery.graphql.js +120 -0
  87. package/dist-cjs/__generated__/StoreModalBundleButton_bundle.graphql.js +85 -0
  88. package/dist-cjs/__generated__/StoreModalCartQuery.graphql.js +1017 -0
  89. package/dist-cjs/__generated__/StoreModalCheckoutQuery.graphql.js +194 -0
  90. package/dist-cjs/__generated__/StoreModalContainerQuery.graphql.js +228 -0
  91. package/dist-cjs/__generated__/StoreModalDownloadRefetchQuery.graphql.js +102 -0
  92. package/dist-cjs/__generated__/StoreModalDownload_order.graphql.js +40 -0
  93. package/dist-cjs/__generated__/StoreModalFamilyButton_collection.graphql.js +135 -0
  94. package/dist-cjs/__generated__/StoreModalFamily_collection.graphql.js +130 -0
  95. package/dist-cjs/__generated__/StoreModalIndexItem_fontCollection.graphql.js +98 -0
  96. package/dist-cjs/__generated__/StoreModalIndexQuery.graphql.js +263 -0
  97. package/dist-cjs/__generated__/StoreModalOrderVariableSelection_order.graphql.js +98 -0
  98. package/dist-cjs/__generated__/StoreModalOrderVariableSelection_viewer.graphql.js +66 -0
  99. package/dist-cjs/__generated__/StoreModalProductContent_collection.graphql.js +92 -0
  100. package/dist-cjs/__generated__/StoreModalProductLicenseSelection_collection.graphql.js +47 -0
  101. package/dist-cjs/__generated__/StoreModalProductLicense_license.graphql.js +104 -0
  102. package/dist-cjs/__generated__/StoreModalProductQuery.graphql.js +702 -0
  103. package/dist-cjs/__generated__/StoreModalProductRefetchQuery.graphql.js +433 -0
  104. package/dist-cjs/__generated__/StoreModalProductSummaryAddToCartMutation.graphql.js +149 -0
  105. package/dist-cjs/__generated__/StoreModalProductSummaryClearCartMutation.graphql.js +81 -0
  106. package/dist-cjs/__generated__/StoreModalProductSummaryRefetchQuery.graphql.js +281 -0
  107. package/dist-cjs/__generated__/StoreModalProductSummary_viewer.graphql.js +243 -0
  108. package/dist-cjs/__generated__/StoreModalReviewIdentity_identity.graphql.js +52 -0
  109. package/dist-cjs/__generated__/StoreModalStyleButton_fontStyle.graphql.js +113 -0
  110. package/dist-cjs/__generated__/StoreModalUnifiedCheckoutCompleteOrderMutation.graphql.js +302 -0
  111. package/dist-cjs/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.js +323 -0
  112. package/dist-cjs/__generated__/StoreModalUnifiedCheckoutUpdateOrderMutation.graphql.js +473 -0
  113. package/dist-cjs/__generated__/StoreModalUnifiedCheckout_order.graphql.js +237 -0
  114. package/dist-cjs/__generated__/StoreModalUnifiedCheckout_viewer.graphql.js +117 -0
  115. package/dist-cjs/__generated__/StripeProviderCreateCheckoutSessionMutation.graphql.js +105 -0
  116. package/dist-cjs/__generated__/StripeProvider_viewer.graphql.js +139 -0
  117. package/dist-cjs/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +770 -0
  118. package/dist-cjs/__generated__/TestFontsForm_Query.graphql.js +126 -0
  119. package/dist-cjs/__generated__/TestModeBannerQuery.graphql.js +87 -0
  120. package/dist-cjs/__generated__/ThemeConfigQuery.graphql.js +87 -0
  121. package/dist-cjs/__generated__/TypeTesterFeaturesButton_fontStyle.graphql.js +32 -0
  122. package/dist-cjs/__generated__/TypeTesterFeatures_fontStyle.graphql.js +36 -0
  123. package/dist-cjs/__generated__/TypeTesterFloatingToolbar_testers.graphql.js +53 -0
  124. package/dist-cjs/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.js +347 -0
  125. package/dist-cjs/__generated__/TypeTesterStandaloneQuery.graphql.js +450 -0
  126. package/dist-cjs/__generated__/TypeTesterStyleSelectData_fontStyle.graphql.js +106 -0
  127. package/dist-cjs/__generated__/TypeTesterStyleSelectData_fontStyleData.graphql.js +88 -0
  128. package/dist-cjs/__generated__/TypeTesterStyleSelectData_viewer.graphql.js +166 -0
  129. package/dist-cjs/__generated__/TypeTesterToolbar_fontStyle.graphql.js +36 -0
  130. package/dist-cjs/__generated__/TypeTesterVariableAxes_fontStyle.graphql.js +61 -0
  131. package/dist-cjs/__generated__/TypeTester_fontStyle.graphql.js +106 -0
  132. package/dist-cjs/__generated__/TypeTester_viewer.graphql.js +40 -0
  133. package/dist-cjs/__generated__/TypeTestersChangedStylesQuery.graphql.js +347 -0
  134. package/dist-cjs/__generated__/TypeTestersIDQuery.graphql.js +637 -0
  135. package/dist-cjs/__generated__/TypeTestersRefetchQuery.graphql.js +554 -0
  136. package/dist-cjs/__generated__/TypeTestersSlugQuery.graphql.js +644 -0
  137. package/dist-cjs/__generated__/TypeTesters_collection.graphql.js +258 -0
  138. package/dist-cjs/__generated__/TypeTesters_viewer.graphql.js +40 -0
  139. package/dist-cjs/__generated__/VariableTableAmounts_option.graphql.js +34 -0
  140. package/dist-cjs/__generated__/VariableTableAmounts_variable.graphql.js +34 -0
  141. package/dist-cjs/__generated__/productState_Query.graphql.js +184 -0
  142. package/dist-cjs/__generated__/productState_bundle.graphql.js +79 -0
  143. package/dist-cjs/__generated__/productState_collection.graphql.js +90 -0
  144. package/dist-cjs/__generated__/productState_collectionBundle.graphql.js +88 -0
  145. package/dist-cjs/__generated__/productState_node.graphql.js +122 -0
  146. package/dist-cjs/__generated__/productState_sku.graphql.js +51 -0
  147. package/dist-cjs/__generated__/useFeaturesData_fontStyle.graphql.js +64 -0
  148. package/dist-cjs/__generated__/useFontStyle_fontStyle.graphql.js +94 -0
  149. package/dist-cjs/__generated__/useTotalStyles_fontCollection.graphql.js +57 -0
  150. package/dist-cjs/__tests__/collectionBundleSelection.test.js +1630 -0
  151. package/dist-cjs/components/AddToCartBanner/index.js +75 -0
  152. package/dist-cjs/components/BuyButton/index.js +124 -0
  153. package/dist-cjs/components/BuyButton/index.server.js +36 -0
  154. package/dist-cjs/components/BuyingOptions/index.js +23 -0
  155. package/dist-cjs/components/Cart/AddressFields.js +162 -0
  156. package/dist-cjs/components/Cart/CartItem/CartItemAdditionalLicenses.js +33 -0
  157. package/dist-cjs/components/Cart/CartItem/CartItemLicense.js +66 -0
  158. package/dist-cjs/components/Cart/CartItem/CartItemProduct.js +36 -0
  159. package/dist-cjs/components/Cart/CartItem/CartItemVariable.js +66 -0
  160. package/dist-cjs/components/Cart/CartItem/VariableTextInput.js +79 -0
  161. package/dist-cjs/components/Cart/CartItem/index.js +95 -0
  162. package/dist-cjs/components/Cart/CartOrder.js +314 -0
  163. package/dist-cjs/components/Cart/CartState.js +93 -0
  164. package/dist-cjs/components/Cart/CartTotals.js +97 -0
  165. package/dist-cjs/components/Cart/Checkout.js +473 -0
  166. package/dist-cjs/components/Cart/CheckoutSteps.js +15 -0
  167. package/dist-cjs/components/Cart/CouponCodeInput.js +90 -0
  168. package/dist-cjs/components/Cart/CustomerFields.js +80 -0
  169. package/dist-cjs/components/Cart/Download.js +62 -0
  170. package/dist-cjs/components/Cart/EmptyCart.js +42 -0
  171. package/dist-cjs/components/Cart/IdentityBox.js +37 -0
  172. package/dist-cjs/components/Cart/ShareCart.js +87 -0
  173. package/dist-cjs/components/Cart/index.js +36 -0
  174. package/dist-cjs/components/Cart/injectRelayEnvironment.js +21 -0
  175. package/dist-cjs/components/Cart/types.js +5 -0
  176. package/dist-cjs/components/Cart/utils.js +8 -0
  177. package/dist-cjs/components/CartButton/index.js +127 -0
  178. package/dist-cjs/components/CartButton/index.server.js +18 -0
  179. package/dist-cjs/components/CharacterViewer/StyleSelect.js +60 -0
  180. package/dist-cjs/components/CharacterViewer/index.js +441 -0
  181. package/dist-cjs/components/CharacterViewer/index.server.js +36 -0
  182. package/dist-cjs/components/Checkbox/index.js +27 -0
  183. package/dist-cjs/components/CollectionAa/index.js +38 -0
  184. package/dist-cjs/components/ComponentsContext.js +12 -0
  185. package/dist-cjs/components/ConfigContext.js +86 -0
  186. package/{dist-bundle/chunks/consent-DMvR5rEh.js → dist-cjs/components/ConsentBanner/consent.js} +12 -4
  187. package/dist-cjs/components/ConsentBanner/index.js +84 -0
  188. package/dist-cjs/components/CookieNotification/index.js +83 -0
  189. package/{dist-bundle/chunks/CorsErrorModal-C1g_-3Re.js → dist-cjs/components/CorsErrorModal.js} +19 -16
  190. package/dist-cjs/components/CouponText/index.js +38 -0
  191. package/dist-cjs/components/CustomerLoginForm/index.js +88 -0
  192. package/dist-cjs/components/Family/FamilyList.js +43 -0
  193. package/dist-cjs/components/Family/index.js +77 -0
  194. package/dist-cjs/components/FontFamilies/index.js +53 -0
  195. package/dist-cjs/components/FontStyle/index.js +37 -0
  196. package/dist-cjs/components/FontdueProvider/FontdueProviderClientComponent.js +74 -0
  197. package/dist-cjs/components/FontdueProvider/index.js +43 -0
  198. package/dist-cjs/components/FontdueProvider/index.server.js +35 -0
  199. package/dist-cjs/components/FontdueProvider/useAuxUIOwner.js +32 -0
  200. package/dist-cjs/components/Icons/Align.js +58 -0
  201. package/dist-cjs/components/Icons/ArrowDownRight.js +19 -0
  202. package/dist-cjs/components/Icons/ArrowLeft.js +22 -0
  203. package/dist-cjs/components/Icons/ArrowRight.js +19 -0
  204. package/dist-cjs/components/Icons/CarrotDown.js +19 -0
  205. package/dist-cjs/components/Icons/CarrotUp.js +19 -0
  206. package/dist-cjs/components/Icons/Cart.js +23 -0
  207. package/dist-cjs/components/Icons/CartNew.js +33 -0
  208. package/dist-cjs/components/Icons/Check.js +19 -0
  209. package/dist-cjs/components/Icons/Checkbox.js +24 -0
  210. package/dist-cjs/components/Icons/CheckboxChecked.js +24 -0
  211. package/dist-cjs/components/Icons/CheckboxCrossed.js +26 -0
  212. package/dist-cjs/components/Icons/CircledCheck.js +21 -0
  213. package/dist-cjs/components/Icons/CircledInfo.js +21 -0
  214. package/dist-cjs/components/Icons/CircledMinus.js +21 -0
  215. package/dist-cjs/components/Icons/ColorPicker.js +19 -0
  216. package/dist-cjs/components/Icons/CreditCard.js +21 -0
  217. package/dist-cjs/components/Icons/DownArrow.js +24 -0
  218. package/dist-cjs/components/Icons/DownloadFonts.js +25 -0
  219. package/dist-cjs/components/Icons/FrowningFace.js +25 -0
  220. package/dist-cjs/components/Icons/License.js +19 -0
  221. package/dist-cjs/components/Icons/Receipt.js +34 -0
  222. package/dist-cjs/components/Icons/User.js +19 -0
  223. package/dist-cjs/components/Icons/X.js +19 -0
  224. package/dist-cjs/components/Icons/index.js +167 -0
  225. package/dist-cjs/components/NewsletterSignup/NewsletterSignupElement.js +15 -0
  226. package/dist-cjs/components/NewsletterSignup/index.js +192 -0
  227. package/dist-cjs/components/NewsletterSignup/index.server.js +18 -0
  228. package/dist-cjs/components/NodePasswordForm/index.js +114 -0
  229. package/dist-cjs/components/OrderVariableSelection/OrderVariableSelectionRedux.js +66 -0
  230. package/dist-cjs/components/OrderVariableSelection/index.js +199 -0
  231. package/dist-cjs/components/Precart/License.js +70 -0
  232. package/dist-cjs/components/Precart/index.js +331 -0
  233. package/dist-cjs/components/Price/index.js +111 -0
  234. package/dist-cjs/components/PriceBar/PriceBarSection.js +61 -0
  235. package/dist-cjs/components/PriceBar/index.js +49 -0
  236. package/dist-cjs/components/Root/index.js +208 -0
  237. package/dist-cjs/components/Root/productState.js +143 -0
  238. package/dist-cjs/components/SKUPrice/index.js +46 -0
  239. package/dist-cjs/components/Select/index.js +36 -0
  240. package/dist-cjs/components/SelectButton/index.js +79 -0
  241. package/dist-cjs/components/ServerConfigProvider/index.js +39 -0
  242. package/dist-cjs/components/SpecimenLink/index.js +37 -0
  243. package/dist-cjs/components/StickyNav/index.js +80 -0
  244. package/dist-cjs/components/StoreModal/StoreModalBundleButton.js +47 -0
  245. package/dist-cjs/components/StoreModal/StoreModalCart.js +79 -0
  246. package/dist-cjs/components/StoreModal/StoreModalCheckout.js +24 -0
  247. package/dist-cjs/components/StoreModal/StoreModalCheckoutContext.js +14 -0
  248. package/dist-cjs/components/StoreModal/StoreModalContainer.js +117 -0
  249. package/dist-cjs/components/StoreModal/StoreModalDownload.js +38 -0
  250. package/dist-cjs/components/StoreModal/StoreModalFamily.js +58 -0
  251. package/dist-cjs/components/StoreModal/StoreModalFamilyButton.js +69 -0
  252. package/dist-cjs/components/StoreModal/StoreModalIndex.js +27 -0
  253. package/dist-cjs/components/StoreModal/StoreModalIndexItem.js +63 -0
  254. package/dist-cjs/components/StoreModal/StoreModalLicenseeIsBillingSelection.js +30 -0
  255. package/dist-cjs/components/StoreModal/StoreModalLoader.js +22 -0
  256. package/dist-cjs/components/StoreModal/StoreModalOrderVariableSelection.js +89 -0
  257. package/dist-cjs/components/StoreModal/StoreModalProduct.js +154 -0
  258. package/dist-cjs/components/StoreModal/StoreModalReviewIdentity.js +18 -0
  259. package/dist-cjs/components/StoreModal/StoreModalRouter.js +28 -0
  260. package/dist-cjs/components/StoreModal/StoreModalStyleButton.js +52 -0
  261. package/dist-cjs/components/StoreModal/index.js +39 -0
  262. package/dist-cjs/components/StoreModal/routes.js +51 -0
  263. package/dist-cjs/components/StoreModal/types.js +5 -0
  264. package/dist-cjs/components/StoreModalProductLicenseSelection/LicenseElement.js +46 -0
  265. package/dist-cjs/components/StoreModalProductLicenseSelection/LicenseVariableElement.js +35 -0
  266. package/dist-cjs/components/StoreModalProductLicenseSelection/LicenseVariableRadioElement.js +47 -0
  267. package/dist-cjs/components/StoreModalProductLicenseSelection/StoreModalProductLicense.js +133 -0
  268. package/dist-cjs/components/StoreModalProductLicenseSelection/index.js +31 -0
  269. package/dist-cjs/components/StoreModalProductSummary/index.js +219 -0
  270. package/dist-cjs/components/StripeLogo.js +17 -0
  271. package/dist-cjs/components/StripeProvider/index.js +172 -0
  272. package/dist-cjs/components/Switch/index.js +7 -0
  273. package/dist-cjs/components/TestFontsForm/TestFontsFormElement.js +15 -0
  274. package/dist-cjs/components/TestFontsForm/index.js +208 -0
  275. package/dist-cjs/components/TestFontsForm/index.server.js +18 -0
  276. package/dist-cjs/components/TestModeBanner/index.js +34 -0
  277. package/dist-cjs/components/TextField/index.js +42 -0
  278. package/dist-cjs/components/ThemeConfig/index.js +41 -0
  279. package/dist-cjs/components/ThemeConfig/index.server.js +17 -0
  280. package/{dist-bundle/chunks/index-DsvF5W13.js → dist-cjs/components/Tracking/index.js} +19 -14
  281. package/dist-cjs/components/TypeTester/TypeTesterAlignButtons.js +34 -0
  282. package/dist-cjs/components/TypeTester/TypeTesterBullet.js +23 -0
  283. package/dist-cjs/components/TypeTester/TypeTesterContent.js +58 -0
  284. package/dist-cjs/components/TypeTester/TypeTesterContext.js +166 -0
  285. package/dist-cjs/components/TypeTester/TypeTesterEditAll.js +36 -0
  286. package/dist-cjs/components/TypeTester/TypeTesterFeatures.js +133 -0
  287. package/dist-cjs/components/TypeTester/TypeTesterFeaturesButton.js +82 -0
  288. package/dist-cjs/components/TypeTester/TypeTesterFitter.js +21 -0
  289. package/dist-cjs/components/TypeTester/TypeTesterFloatingToolbar.js +79 -0
  290. package/dist-cjs/components/TypeTester/TypeTesterInput.js +72 -0
  291. package/dist-cjs/components/TypeTester/TypeTesterSlider.js +76 -0
  292. package/dist-cjs/components/TypeTester/TypeTesterStandalone.js +137 -0
  293. package/dist-cjs/components/TypeTester/TypeTesterStandalone.preload.js +27 -0
  294. package/dist-cjs/components/TypeTester/TypeTesterStandalone.server.js +26 -0
  295. package/dist-cjs/components/TypeTester/TypeTesterStandaloneElement.js +65 -0
  296. package/dist-cjs/components/TypeTester/TypeTesterState.js +133 -0
  297. package/dist-cjs/components/TypeTester/TypeTesterStyleSelect.js +101 -0
  298. package/dist-cjs/components/TypeTester/TypeTesterStyleSelectData.js +102 -0
  299. package/dist-cjs/components/TypeTester/TypeTesterToolbar.js +94 -0
  300. package/dist-cjs/components/TypeTester/TypeTesterVariableAxes.js +65 -0
  301. package/dist-cjs/components/TypeTester/features.js +150 -0
  302. package/dist-cjs/components/TypeTester/index.js +169 -0
  303. package/dist-cjs/components/TypeTester/types.js +14 -0
  304. package/dist-cjs/components/TypeTester/useFeaturesData.js +36 -0
  305. package/dist-cjs/components/TypeTester/useTypeTesterStyler.js +83 -0
  306. package/dist-cjs/components/TypeTesters/TypeTestersElement.js +33 -0
  307. package/dist-cjs/components/TypeTesters/index.js +271 -0
  308. package/dist-cjs/components/TypeTesters/index.server.js +44 -0
  309. package/dist-cjs/components/UrlContext.js +16 -0
  310. package/dist-cjs/components/VariableTableAmounts/index.js +28 -0
  311. package/dist-cjs/components/elements/Button/index.js +21 -0
  312. package/dist-cjs/components/elements/EmptyCart/index.js +30 -0
  313. package/dist-cjs/components/elements/StoreModalCartLayout/index.js +38 -0
  314. package/dist-cjs/components/elements/StoreModalContainer/StoreModalContainerContext.js +11 -0
  315. package/dist-cjs/components/elements/StoreModalContainer/index.js +77 -0
  316. package/dist-cjs/components/elements/StoreModalDownloadLayout/index.js +25 -0
  317. package/dist-cjs/components/elements/StoreModalFamily/index.js +31 -0
  318. package/dist-cjs/components/elements/StoreModalFamilyButton/index.js +45 -0
  319. package/dist-cjs/components/elements/StoreModalIndexItem/index.js +35 -0
  320. package/dist-cjs/components/elements/StoreModalLicenseeIsBillingIdentityElement.js +59 -0
  321. package/dist-cjs/components/elements/StoreModalLoadingScreen/index.js +14 -0
  322. package/dist-cjs/components/elements/StoreModalPageContainer/index.js +22 -0
  323. package/dist-cjs/components/elements/StoreModalStyleButton/index.js +37 -0
  324. package/dist-cjs/components/elements/StoreModalUnifiedCheckout.js +753 -0
  325. package/dist-cjs/components/useConsent.js +26 -0
  326. package/dist-cjs/components/useFont.js +76 -0
  327. package/dist-cjs/components/useFontStyle.js +58 -0
  328. package/dist-cjs/components/useInterval.js +28 -0
  329. package/dist-cjs/components/useTotalStyles.js +26 -0
  330. package/{dist-bundle/index.js → dist-cjs/config.js} +8 -4
  331. package/dist-cjs/corsError.js +89 -0
  332. package/dist-cjs/data/unicodeData.js +1 -0
  333. package/dist-cjs/fontLoader.js +55 -0
  334. package/dist-cjs/global-shim.js +12 -0
  335. package/dist-cjs/hooks/useAutofit.js +114 -0
  336. package/dist-cjs/hooks/useLicenseAndOrderVariables.js +25 -0
  337. package/dist-cjs/hooks/useRefetchOnLicenseChanges.js +60 -0
  338. package/dist-cjs/hooks.js +18 -0
  339. package/dist-cjs/index.js +18 -0
  340. package/dist-cjs/package.json +1 -0
  341. package/dist-cjs/react-ranger.d.js +1 -0
  342. package/dist-cjs/react-ranger.js +301 -0
  343. package/dist-cjs/reducer.js +291 -0
  344. package/dist-cjs/relay/environment.js +148 -0
  345. package/{dist-bundle/TypeTester.preload.js → dist-cjs/relay/loadSerializableQuery.js} +8 -26
  346. package/dist-cjs/relay/useSerializablePreloadedQuery.js +52 -0
  347. package/dist-cjs/retryImport.js +24 -0
  348. package/dist-cjs/scripts/updateUnicodeData.js +49 -0
  349. package/dist-cjs/utils.js +107 -0
  350. package/dist-cjs/vanilla/FontStyle.js +58 -0
  351. package/dist-cjs/vanilla/TruncatedMarkdown.js +28 -0
  352. package/package.json +1 -1
  353. package/dist-bundle/FontdueProvider.js +0 -6
  354. package/dist-bundle/FontdueProvider.js.map +0 -1
  355. package/dist-bundle/TypeTester.js +0 -7
  356. package/dist-bundle/TypeTester.js.map +0 -1
  357. package/dist-bundle/TypeTester.preload.js.map +0 -1
  358. package/dist-bundle/chunks/ComponentsContext-CmkN9J4X.js +0 -20843
  359. package/dist-bundle/chunks/ComponentsContext-CmkN9J4X.js.map +0 -1
  360. package/dist-bundle/chunks/CorsErrorModal-C1g_-3Re.js.map +0 -1
  361. package/dist-bundle/chunks/TypeTesterStandalone-BMWuv8Ca.js +0 -27486
  362. package/dist-bundle/chunks/TypeTesterStandalone-BMWuv8Ca.js.map +0 -1
  363. package/dist-bundle/chunks/consent-DMvR5rEh.js.map +0 -1
  364. package/dist-bundle/chunks/index-BNSbxp7B.js +0 -78
  365. package/dist-bundle/chunks/index-BNSbxp7B.js.map +0 -1
  366. package/dist-bundle/chunks/index-C4ak9qTL.js +0 -423
  367. package/dist-bundle/chunks/index-C4ak9qTL.js.map +0 -1
  368. package/dist-bundle/chunks/index-DsvF5W13.js.map +0 -1
  369. package/dist-bundle/chunks/index-o29NNufd.js.map +0 -1
  370. package/dist-bundle/index.js.map +0 -1
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.compareVariableSettings = exports.collectionSkuIdsDifferences = exports.collTransitivelyContainsSkuId = exports.collContainsSkuId = void 0;
7
+ exports.getFeatureGlyphs = getFeatureGlyphs;
8
+ exports.isSelected = exports.inspect = void 0;
9
+ exports.kebabToCamel = kebabToCamel;
10
+ exports.notEmpty = notEmpty;
11
+ exports.variableSettingsCSS = exports.variableInstanceSettings = exports.variableInstanceCSS = exports.pluralize = exports.parseCustomProperties = void 0;
12
+ const pluralize = (count, singular, plural) => {
13
+ if (count === 1) return `1 ${singular}`;
14
+ if (!plural) return `${count} ${singular}s`;
15
+ return `${count}\xa0${plural}`;
16
+ };
17
+ exports.pluralize = pluralize;
18
+ function notEmpty(value) {
19
+ return value !== null && value !== undefined;
20
+ }
21
+ function kebabToCamel(str) {
22
+ return str.replace(/-([a-z])/g, function (g) {
23
+ return g[1].toUpperCase();
24
+ });
25
+ }
26
+
27
+ // where coll is a member of `collectionStyleSkus`;
28
+ const collContainsSkuId = (coll, skuIdOrStyleId) => {
29
+ if (!coll) return false;
30
+ return coll.childrenSkuIds.indexOf(skuIdOrStyleId) >= 0 || coll.fontStyleSkuIds.indexOf(skuIdOrStyleId) >= 0 || coll.fontStyleIds.indexOf(skuIdOrStyleId) >= 0;
31
+ };
32
+
33
+ // Transitive containment check — walks the collection hierarchy to find
34
+ // if a SKU is contained at any depth (e.g., collection bundle → family → bundle)
35
+ exports.collContainsSkuId = collContainsSkuId;
36
+ const collTransitivelyContainsSkuId = (collectionStyleSkus, collSkuId, skuIdOrStyleId) => {
37
+ const coll = collectionStyleSkus[collSkuId];
38
+ if (!coll) return false;
39
+ if (collContainsSkuId(coll, skuIdOrStyleId)) return true;
40
+ return coll.childrenSkuIds.some(childSkuId => collTransitivelyContainsSkuId(collectionStyleSkus, childSkuId, skuIdOrStyleId));
41
+ };
42
+ exports.collTransitivelyContainsSkuId = collTransitivelyContainsSkuId;
43
+ const isSelected = skuIdOrStyleId => state => {
44
+ if (!skuIdOrStyleId) return false;
45
+ if (state.selectedSkuIds[skuIdOrStyleId] === true) return true;
46
+ // get the collections that contain this skuId as a fontStyle or child
47
+ const parentCollectionSkuIds = Object.keys(state.collectionStyleSkus).filter(collSkuId => collContainsSkuId(state.collectionStyleSkus[collSkuId], skuIdOrStyleId));
48
+ // Recursively check ancestors — handles transitive selection
49
+ // (e.g., collection bundle → family → bundle)
50
+ return parentCollectionSkuIds.some(parentSkuId => isSelected(parentSkuId)(state));
51
+ };
52
+
53
+ // find any collection ancestors that contain this skuId,
54
+ // then for each collection, sum the price of selected skus,
55
+ // and return the delta between the collection price and the sum.
56
+ exports.isSelected = isSelected;
57
+ const collectionSkuIdsDifferences = (state, skuId) => Object.keys(state.collectionStyleSkus).filter(collectionSkuId => {
58
+ return skuId === collectionSkuId || collTransitivelyContainsSkuId(state.collectionStyleSkus, collectionSkuId, skuId);
59
+ }).reduce((acc, collectionSkuId) => {
60
+ const selectedSkuIdsInColl = Object.keys(state.selectedSkuIds).filter(selectedSkuId => state.selectedSkuIds[selectedSkuId] === true && collTransitivelyContainsSkuId(state.collectionStyleSkus, collectionSkuId, selectedSkuId));
61
+ const sumOfSelectedSkuIdsInColl = selectedSkuIdsInColl.map(selectedSkuId => state.skuPrices[selectedSkuId] ?? 0).reduce((acc, price) => acc + price, 0);
62
+ acc[collectionSkuId] = (state.skuPrices[collectionSkuId] ?? 0) - sumOfSelectedSkuIdsInColl;
63
+ return acc;
64
+ }, {});
65
+ exports.collectionSkuIdsDifferences = collectionSkuIdsDifferences;
66
+ const variableInstanceSettings = instance => instance?.coordinates.reduce((acc, {
67
+ axis,
68
+ value
69
+ }) => {
70
+ acc[axis] = value;
71
+ return acc;
72
+ }, {});
73
+ exports.variableInstanceSettings = variableInstanceSettings;
74
+ const compareVariableSettings = (instance, settings) => instance.coordinates.every(coord => settings[coord.axis] === coord.value);
75
+ exports.compareVariableSettings = compareVariableSettings;
76
+ const variableSettingsCSS = variableSettings => ({
77
+ fontVariationSettings: Object.keys(variableSettings).map(axis => `'${axis}' ${variableSettings[axis]}`).join(',')
78
+ });
79
+ exports.variableSettingsCSS = variableSettingsCSS;
80
+ const variableInstanceCSS = variableInstance => ({
81
+ fontVariationSettings: variableInstance.coordinates.map(({
82
+ axis,
83
+ value
84
+ }) => `'${axis}' ${value}`).join(',')
85
+ });
86
+ exports.variableInstanceCSS = variableInstanceCSS;
87
+ const parseCustomProperties = props => {
88
+ if (!props) return {};
89
+ return props.reduce((acc, prop) => {
90
+ const [key, val] = prop.split(':');
91
+ acc[key] = val;
92
+ return acc;
93
+ }, {});
94
+ };
95
+ exports.parseCustomProperties = parseCustomProperties;
96
+ const inspect = value => {
97
+ console.log(value);
98
+ return value;
99
+ };
100
+ exports.inspect = inspect;
101
+ function getFeatureGlyphs(supportedLanguages) {
102
+ if (supportedLanguages?.includes('en')) return 'Aa';
103
+ if (supportedLanguages?.includes('ar')) return 'ت';
104
+ if (supportedLanguages?.includes('gr')) return 'Αα';
105
+ if (supportedLanguages?.includes('ru')) return 'Аа';
106
+ return null;
107
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _fontfaceobserver = _interopRequireDefault(require("fontfaceobserver"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ const FALLBACK_FAMILY = 'Fallback';
10
+ const setStyle = ($el, {
11
+ fontFamily,
12
+ fontWeight,
13
+ fontStyle
14
+ }) => {
15
+ $el.style.fontFamily = `"${fontFamily}"`;
16
+ $el.style.fontWeight = fontWeight;
17
+ $el.style.fontStyle = fontStyle;
18
+ };
19
+ class FontStyle {
20
+ constructor(props) {
21
+ this.$fontStyles = [...document.querySelectorAll('[data-font-style]')];
22
+ this.render(props);
23
+ }
24
+ render({
25
+ onAllFontsLoaded
26
+ } = {}) {
27
+ let loaded = 0;
28
+ const toLoad = this.$fontStyles.length;
29
+ this.$fontStyles.forEach($fontStyle => {
30
+ const data = JSON.parse($fontStyle.dataset.fontStyle);
31
+ const fontFamily = data['font-family'];
32
+ const fontWeight = data['font-weight'];
33
+ const fontStyle = data['font-style'];
34
+ setStyle($fontStyle, {
35
+ fontFamily: FALLBACK_FAMILY,
36
+ fontWeight: 'normal',
37
+ fontStyle: 'normal'
38
+ });
39
+ const observer = new _fontfaceobserver.default(fontFamily, {
40
+ weight: fontWeight,
41
+ style: fontStyle
42
+ });
43
+ observer.load(null, 90000).then(out => {
44
+ loaded++;
45
+ if (typeof onAllFontsLoaded === 'function' && loaded === toLoad) {
46
+ onAllFontsLoaded();
47
+ }
48
+ setStyle($fontStyle, {
49
+ fontFamily,
50
+ fontWeight,
51
+ fontStyle
52
+ });
53
+ }).catch(console.error);
54
+ });
55
+ }
56
+ }
57
+ var _default = FontStyle;
58
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ function insertAfter(newNode, referenceNode) {
8
+ referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
9
+ }
10
+ const expand = $element => {
11
+ const html = JSON.parse($element.dataset.truncatedRestText);
12
+ const $node = document.createElement('div');
13
+ $node.innerHTML = html;
14
+ insertAfter($node, $element);
15
+ $element.querySelector('button').style.visibility = 'hidden';
16
+ };
17
+ const init = $element => {
18
+ $element.querySelector('button').addEventListener('click', () => {
19
+ expand($element);
20
+ });
21
+ };
22
+ class TruncatedMarkdown {
23
+ constructor() {
24
+ this.$elements = [...document.querySelectorAll('[data-truncated-rest-text]')];
25
+ this.$elements.forEach(init);
26
+ }
27
+ }
28
+ exports.default = TruncatedMarkdown;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fontdue-js",
3
- "version": "2.22.0",
3
+ "version": "2.22.1",
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",
@@ -1,6 +0,0 @@
1
- 'use client';
2
- import './chunks/ComponentsContext-CmkN9J4X.js';
3
- import 'react';
4
- export { F as default } from './chunks/index-C4ak9qTL.js';
5
- import './index.js';
6
- //# sourceMappingURL=FontdueProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontdueProvider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,7 +0,0 @@
1
- 'use client';
2
- import './chunks/ComponentsContext-CmkN9J4X.js';
3
- export { T as TypeTesterStandalonePreloadedQueryRenderer, a as default } from './chunks/TypeTesterStandalone-BMWuv8Ca.js';
4
- import 'react';
5
- import './index.js';
6
- import 'react-dom';
7
- //# sourceMappingURL=TypeTester.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeTester.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeTester.preload.js","sources":["../src/relay/loadSerializableQuery.ts","../src/components/TypeTester/TypeTesterStandalone.preload.tsx"],"sourcesContent":["import {\n GraphQLResponse,\n GraphQLTaggedNode,\n OperationType,\n RequestParameters,\n VariablesOf,\n} from 'relay-runtime';\nimport { createNetworkFetch } from './environment';\n\nexport interface SerializablePreloadedQuery<TQuery extends OperationType> {\n params: RequestParameters;\n variables: VariablesOf<TQuery>;\n response: GraphQLResponse;\n}\n\n/**\n * RELAY CACHE KEY NORMALIZATION\n *\n * This type transformation is required to fix a cache key inconsistency issue in Relay.\n *\n * THE PROBLEM:\n * Relay's `getOperationVariables()` function always includes ALL argumentDefinitions\n * from the GraphQL operation, even optional ones, setting them to their defaultValue\n * (typically null). This means when Relay generates cache keys, it creates entries like:\n *\n * Cache Key A: { collectionId: \"123\", tags: null, excludeTags: null, selectable: true }\n * Cache Key B: { collectionId: \"123\", selectable: true } // when optional vars omitted\n *\n * Even though these represent the same logical query, they produce different cache keys\n * because `JSON.stringify(stableCopy(variables))` serializes them differently.\n *\n * (This is possibly caused by NextJS RSC data serialization and hydration)\n *\n * THE ROOT CAUSE:\n * - GraphQL schema defines: `$tags: [String!], $excludeTags: [String!]` (optional)\n * - TypeScript generates: `tags?: ReadonlyArray<string> | null`\n * - Relay's argumentDefinitions include: `{ name: \"tags\", defaultValue: null }`\n * - getOperationVariables() always sets: `operationVariables[def.name] = def.defaultValue`\n *\n * THE SOLUTION:\n * RequireAllWithNull<T> transforms optional properties to required properties with\n * explicit null values, forcing callers to be consistent. This ensures server-side\n * preloaded queries and client-side cache lookups use identical variable structures.\n *\n * USAGE:\n * Instead of: { tags, excludeTags } // undefined values\n * Use: { tags: tags ?? null, excludeTags: excludeTags ?? null } // explicit nulls\n *\n * This eliminates cache misses caused by variable structure inconsistencies between\n * server-side rendering and client-side Relay operations.\n */\ntype RequireAllWithNull<T> = {\n [K in keyof T]-?: T[K] | null;\n};\n\nexport interface LoadSerializableQueryOptions {\n url?: string;\n stripeIntegration?: 'card-element' | 'dynamic';\n}\n\n// Call into raw network fetch to get serializable GraphQL query response\n// This response will be sent to the client to \"warm\" the QueryResponseCache\n// to avoid the client fetches.\nexport default async function loadSerializableQuery<TQuery extends OperationType>(\n query: GraphQLTaggedNode,\n variables: RequireAllWithNull<VariablesOf<TQuery>>,\n options?: LoadSerializableQueryOptions,\n): Promise<SerializablePreloadedQuery<TQuery>> {\n if (!('params' in query))\n throw new Error('Params not found in query, is it a fragment instead of a query?');\n const fetcher = createNetworkFetch(options);\n const response = await fetcher(query.params, variables);\n\n return {\n params: query.params,\n variables,\n response,\n };\n}\n","import React from 'react';\nimport loadSerializableQuery, {\n LoadSerializableQueryOptions,\n SerializablePreloadedQuery,\n} from '../../relay/loadSerializableQuery';\nimport TypeTesterStandaloneQueryNode, {\n TypeTesterStandaloneQuery,\n} from '../../__generated__/TypeTesterStandaloneQuery.graphql';\nimport FontdueProvider from '../FontdueProvider';\nimport { TypeTesterStandalonePreloadedQueryRenderer } from './TypeTesterStandalone';\n\nexport type TypeTesterPreloadedQuery =\n SerializablePreloadedQuery<TypeTesterStandaloneQuery>;\n\nexport interface LoadTypeTesterQueryVariables {\n familyName: string;\n styleName: string;\n selectable?: boolean;\n}\n\nexport async function loadTypeTesterQuery(\n variables: LoadTypeTesterQueryVariables,\n options?: LoadSerializableQueryOptions,\n): Promise<TypeTesterPreloadedQuery> {\n return loadSerializableQuery<TypeTesterStandaloneQuery>(\n TypeTesterStandaloneQueryNode,\n {\n familyName: variables.familyName,\n styleName: variables.styleName,\n selectable: variables.selectable ?? true,\n },\n options,\n );\n}\n\ntype RendererProps = React.ComponentProps<typeof TypeTesterStandalonePreloadedQueryRenderer>;\n\n// Self-wraps with FontdueProvider so consumers don't need to. The provider\n// state is a module-level singleton under the hood, so multiple\n// TypeTesterPreloaded (or other *Preloaded) components on a page all share\n// one Relay env + Redux store + auxiliary UI.\nexport function TypeTesterPreloaded(props: RendererProps) {\n return (\n <FontdueProvider>\n <TypeTesterStandalonePreloadedQueryRenderer {...props} />\n </FontdueProvider>\n );\n}\n"],"names":["loadSerializableQuery","query","variables","options","Error","fetcher","createNetworkFetch","response","params","loadTypeTesterQuery","TypeTesterStandaloneQueryNode","familyName","styleName","selectable","TypeTesterPreloaded","props","React","createElement","FontdueProvider","TypeTesterStandalonePreloadedQueryRenderer"],"mappings":";;;;;;;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACe,eAAeA,qBAAqBA,CACjDC,KAAwB,EACxBC,SAAkD,EAClDC,OAAsC,EACO;EAC7C,IAAI,EAAE,QAAQ,IAAIF,KAAK,CAAC,EACtB,MAAM,IAAIG,KAAK,CAAC,iEAAiE,CAAC;AACpF,EAAA,MAAMC,OAAO,GAAGC,kBAAkB,CAACH,OAAO,CAAC;EAC3C,MAAMI,QAAQ,GAAG,MAAMF,OAAO,CAACJ,KAAK,CAACO,MAAM,EAAEN,SAAS,CAAC;EAEvD,OAAO;IACLM,MAAM,EAAEP,KAAK,CAACO,MAAM;IACpBN,SAAS;AACTK,IAAAA;GACD;AACH;;AC1DO,eAAeE,mBAAmBA,CACvCP,SAAuC,EACvCC,OAAsC,EACH;EACnC,OAAOH,qBAAqB,CAC1BU,IAA6B,EAC7B;IACEC,UAAU,EAAET,SAAS,CAACS,UAAU;IAChCC,SAAS,EAAEV,SAAS,CAACU,SAAS;AAC9BC,IAAAA,UAAU,EAAEX,SAAS,CAACW,UAAU,IAAI;GACrC,EACDV,OACF,CAAC;AACH;AAIA;AACA;AACA;AACA;AACO,SAASW,mBAAmBA,CAACC,KAAoB,EAAE;AACxD,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,eAAe,EAAA,IAAA,eACdF,cAAA,CAAAC,aAAA,CAACE,0CAA0C,EAAKJ,KAAQ,CACzC,CAAC;AAEtB;;;;"}