fontdue-js 3.2.6 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +25 -16
  2. package/dist/__generated__/CharacterViewerIDQuery.graphql.d.ts +1 -1
  3. package/dist/__generated__/CharacterViewerIDQuery.graphql.js +33 -3
  4. package/dist/__generated__/CharacterViewerSlugQuery.graphql.d.ts +1 -1
  5. package/dist/__generated__/CharacterViewerSlugQuery.graphql.js +33 -3
  6. package/dist/__generated__/CharacterViewerStyleRefetchQuery.graphql.d.ts +1 -1
  7. package/dist/__generated__/CharacterViewerStyleRefetchQuery.graphql.js +34 -4
  8. package/dist/__generated__/CharacterViewer_style.graphql.d.ts +2 -2
  9. package/dist/__generated__/CharacterViewer_style.graphql.js +6 -2
  10. package/dist/__generated__/FeatureTesterStandaloneQuery.graphql.d.ts +1 -1
  11. package/dist/__generated__/FeatureTesterStandaloneQuery.graphql.js +15 -20
  12. package/dist/__generated__/FeatureTestersIdQuery.graphql.d.ts +1 -1
  13. package/dist/__generated__/FeatureTestersIdQuery.graphql.js +15 -20
  14. package/dist/__generated__/FeatureTestersSlugQuery.graphql.d.ts +1 -1
  15. package/dist/__generated__/FeatureTestersSlugQuery.graphql.js +15 -20
  16. package/dist/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.d.ts +1 -1
  17. package/dist/__generated__/TypeTesterStandaloneChangedStylesQuery.graphql.js +14 -20
  18. package/dist/__generated__/TypeTesterStandaloneQuery.graphql.d.ts +1 -1
  19. package/dist/__generated__/TypeTesterStandaloneQuery.graphql.js +14 -20
  20. package/dist/__generated__/TypeTestersChangedStylesQuery.graphql.d.ts +1 -1
  21. package/dist/__generated__/TypeTestersChangedStylesQuery.graphql.js +14 -20
  22. package/dist/__generated__/TypeTestersIDQuery.graphql.d.ts +1 -1
  23. package/dist/__generated__/TypeTestersIDQuery.graphql.js +17 -23
  24. package/dist/__generated__/TypeTestersRefetchQuery.graphql.d.ts +1 -1
  25. package/dist/__generated__/TypeTestersRefetchQuery.graphql.js +17 -23
  26. package/dist/__generated__/TypeTestersSlugQuery.graphql.d.ts +1 -1
  27. package/dist/__generated__/TypeTestersSlugQuery.graphql.js +17 -23
  28. package/dist/__generated__/useFeaturesData_fontStyle.graphql.d.ts +4 -4
  29. package/dist/__generated__/useFeaturesData_fontStyle.graphql.js +6 -6
  30. package/dist/__tests__/consentActivation.test.js +85 -0
  31. package/dist/__tests__/trackingRouteChanges.test.js +110 -0
  32. package/dist/components/CharacterViewer/index.js +17 -4
  33. package/dist/components/ConfigContext.d.ts +2 -2
  34. package/dist/components/ConfigContext.js +9 -2
  35. package/dist/components/ConsentBanner/consent.d.ts +9 -0
  36. package/dist/components/ConsentBanner/consent.js +26 -3
  37. package/dist/components/ConsentBanner/index.js +6 -3
  38. package/dist/components/Tracking/index.js +10 -18
  39. package/dist/components/Tracking/routeChanges.d.ts +19 -0
  40. package/dist/components/Tracking/routeChanges.js +62 -0
  41. package/dist/components/TypeTester/TypeTesterContext.d.ts +1 -0
  42. package/dist/components/TypeTester/TypeTesterContext.js +1 -1
  43. package/dist/components/TypeTester/TypeTesterFeatures.d.ts +1 -1
  44. package/dist/components/TypeTester/TypeTesterFeatures.js +200 -22
  45. package/dist/components/TypeTester/TypeTesterFeaturesButton.js +4 -1
  46. package/dist/components/TypeTester/TypeTesterState.js +20 -8
  47. package/dist/components/TypeTester/index.d.ts +1 -1
  48. package/dist/components/TypeTester/useFeaturesData.d.ts +9 -9
  49. package/dist/components/TypeTester/useFeaturesData.js +13 -23
  50. package/dist/fontdue.css +62 -0
  51. package/dist/relay/environment.js +1 -1
  52. package/package.json +2 -1
@@ -1,32 +1,22 @@
1
1
  import _useFeaturesData_fontStyle from "../../__generated__/useFeaturesData_fontStyle.graphql.js";
2
+ import { useMemo } from 'react';
2
3
  import { graphql, useFragment } from 'react-relay';
3
- import featureNameData from './features.js';
4
- const getStylisticSetName = (feature, stylisticSetNames) => stylisticSetNames.find(_ref => {
5
- let {
6
- featureName
7
- } = _ref;
8
- return featureName === feature;
9
- });
10
- const useFeaturesData = _ref2 => {
11
- var _data$fontFeatures;
4
+ const useFeaturesData = _ref => {
12
5
  let {
13
6
  fontStyle
14
- } = _ref2;
15
- const data = useFragment((_useFeaturesData_fontStyle.hash && _useFeaturesData_fontStyle.hash !== "3c48a87b1b19f52e3dda10fc11f0030a" && console.error("The definition of 'useFeaturesData_fontStyle' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _useFeaturesData_fontStyle), fontStyle);
16
- const featureNames = ((_data$fontFeatures = data.fontFeatures) === null || _data$fontFeatures === void 0 ? void 0 : _data$fontFeatures.supportedFeatures.reduce((acc, feature) => {
17
- let featureName = feature;
18
- if (featureNameData.hasOwnProperty(feature)) {
19
- featureName = featureNameData[feature];
20
- }
21
- const stylisticSetName = getStylisticSetName(feature, data.fontFeatures.stylisticSetNames);
22
- if (stylisticSetName) {
23
- featureName = stylisticSetName.humanName;
24
- }
25
- acc[feature] = featureName;
7
+ } = _ref;
8
+ const data = useFragment((_useFeaturesData_fontStyle.hash && _useFeaturesData_fontStyle.hash !== "6a05a092096a4a0c1dd10fc0610bbee2" && console.error("The definition of 'useFeaturesData_fontStyle' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _useFeaturesData_fontStyle), fontStyle);
9
+ const fontFeatures = (data === null || data === void 0 ? void 0 : data.fontFeatures) ?? null;
10
+ const featureNames = useMemo(() => (fontFeatures === null || fontFeatures === void 0 ? void 0 : fontFeatures.featureNames.reduce((acc, _ref2) => {
11
+ let {
12
+ tag,
13
+ name
14
+ } = _ref2;
15
+ acc[tag] = name;
26
16
  return acc;
27
- }, {})) ?? [];
17
+ }, {})) ?? {}, [fontFeatures]);
28
18
  return {
29
- ...data,
19
+ fontFeatures,
30
20
  featureNames
31
21
  };
32
22
  };
package/dist/fontdue.css CHANGED
@@ -700,6 +700,68 @@ fontdue-type-tester {
700
700
  .type-tester__features[data-selection-style=checkbox] .type-tester__features__button {
701
701
  margin-bottom: 5px;
702
702
  }
703
+ .type-tester__features-dropdown-anchor {
704
+ position: relative;
705
+ z-index: 3;
706
+ }
707
+ .type-tester__features-dropdown {
708
+ position: absolute;
709
+ top: 5px;
710
+ right: 0;
711
+ box-sizing: border-box;
712
+ width: 320px;
713
+ max-width: 100%;
714
+ max-height: 320px;
715
+ overflow-y: auto;
716
+ overflow-x: hidden;
717
+ padding: 15px;
718
+ border: 1px solid var(--horizontal_rule_color);
719
+ background: var(--primary_background_color, canvas);
720
+ color: var(--primary_text_color);
721
+ }
722
+ .type-tester__features-dropdown .type-tester__features {
723
+ padding-bottom: 0;
724
+ }
725
+ .type-tester__features-dropdown .type-tester__features[data-columns=dropdown] {
726
+ display: flex;
727
+ flex-direction: column;
728
+ align-items: stretch;
729
+ }
730
+ .type-tester__features-dropdown .type-tester__features__button {
731
+ min-width: 0;
732
+ }
733
+ .type-tester__features-dropdown .type-tester__features__button > :first-child {
734
+ flex-shrink: 0;
735
+ }
736
+ .type-tester__features-dropdown .type-tester__features__button:not(:last-child) {
737
+ margin-bottom: 5px;
738
+ }
739
+ .type-tester__features-dropdown .type-tester__features__name {
740
+ min-width: 0;
741
+ overflow-wrap: anywhere;
742
+ }
743
+ .type-tester__features-dropdown .type-tester__variable-axes {
744
+ grid-template-columns: 1fr;
745
+ margin-bottom: 15px;
746
+ }
747
+ .type-tester__features-dropdown .type-tester__variable-axes__axis {
748
+ box-sizing: border-box;
749
+ border: 1px solid var(--horizontal_rule_color);
750
+ padding: 10px;
751
+ flex-wrap: wrap;
752
+ }
753
+ .type-tester__features-dropdown .type-tester__variable-axes__value {
754
+ margin-left: auto;
755
+ margin-right: 0;
756
+ }
757
+ .type-tester__features-dropdown .type-tester__variable-axes__slider {
758
+ flex-basis: 100%;
759
+ margin-top: 8px;
760
+ }
761
+ .type-tester__features-dropdown .type-tester__variable-axes__name {
762
+ white-space: normal;
763
+ overflow-wrap: anywhere;
764
+ }
703
765
  .type-tester > .type-tester__variable-axes:first-child {
704
766
  margin-top: 10px;
705
767
  }
@@ -8,7 +8,7 @@ import { NODE_ACCESS_HEADER } from '../nodeAccess.js';
8
8
  // (defineVersionPlugin in .babelrc.cjs) with the literal package.json#version.
9
9
  // Exported so UI (the admin toolbar) can surface it without re-reading the
10
10
  // build-time global in a 'use client' module.
11
- export const version = "3.2.6";
11
+ export const version = "3.4.0";
12
12
  const IS_SERVER = typeof window === typeof undefined;
13
13
 
14
14
  // Opt server fetches into Next's data cache only in production; dev stays
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fontdue-js",
3
- "version": "3.2.6",
3
+ "version": "3.4.0",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "npm run relay && run-p build-js build-css build-ts",
@@ -57,6 +57,7 @@
57
57
  "@types/relay-runtime": "^19.0.0",
58
58
  "@types/uuid": "^8.3.3",
59
59
  "babel-plugin-relay": "^18.0.0",
60
+ "happy-dom": "^20.11.2",
60
61
  "npm-run-all": "^4.1.5",
61
62
  "prettier": "2.0.5",
62
63
  "react": "^19.0.0",