fontdue-js 2.5.0 → 2.7.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 (104) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/__generated__/AddToCartBannerQuery.graphql.js +0 -6
  3. package/dist/__generated__/AddToCartBanner_item.graphql.js +0 -1
  4. package/dist/__generated__/AddToCartBanner_order.graphql.js +0 -1
  5. package/dist/__generated__/AddressFieldsRefetchQuery.graphql.js +0 -3
  6. package/dist/__generated__/AddressFields_viewer.graphql.js +0 -2
  7. package/dist/__generated__/BuyButtonIDQuery.graphql.js +0 -2
  8. package/dist/__generated__/BuyButtonSlugQuery.graphql.js +0 -4
  9. package/dist/__generated__/BuyButton_collection.graphql.js +0 -2
  10. package/dist/__generated__/CartButtonQuery.graphql.js +0 -3
  11. package/dist/__generated__/CartItem_license.graphql.js +0 -1
  12. package/dist/__generated__/CartItem_licenseSelection.graphql.js +0 -1
  13. package/dist/__generated__/CartItem_node.graphql.js +0 -3
  14. package/dist/__generated__/CartItem_product.graphql.js +0 -3
  15. package/dist/__generated__/CartItem_variable.graphql.js +0 -1
  16. package/dist/__generated__/CartItem_viewer.graphql.js +0 -1
  17. package/dist/__generated__/CartOrderCompleteOrderMutation.graphql.js +0 -14
  18. package/dist/__generated__/CartOrderRemoveDiscountMutation.graphql.js +0 -10
  19. package/dist/__generated__/CartOrderUpdateMutation.graphql.js +0 -12
  20. package/dist/__generated__/CartQuery.graphql.js +0 -13
  21. package/dist/__generated__/CartStateRemoveDiscountMutation.graphql.js +0 -3
  22. package/dist/__generated__/CartStateUpdateMutation.graphql.js +0 -12
  23. package/dist/__generated__/CartState_order.graphql.js +0 -1
  24. package/dist/__generated__/CartTotals_order.graphql.js +0 -1
  25. package/dist/__generated__/CharacterViewerIDQuery.graphql.d.ts +1 -1
  26. package/dist/__generated__/CharacterViewerIDQuery.graphql.js +65 -15
  27. package/dist/__generated__/CharacterViewerSlugQuery.graphql.d.ts +1 -1
  28. package/dist/__generated__/CharacterViewerSlugQuery.graphql.js +65 -17
  29. package/dist/__generated__/CharacterViewer_collection.graphql.d.ts +27 -1
  30. package/dist/__generated__/CharacterViewer_collection.graphql.js +63 -13
  31. package/dist/__generated__/CharacterViewer_family.graphql.d.ts +14 -1
  32. package/dist/__generated__/CharacterViewer_family.graphql.js +66 -13
  33. package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.js +0 -10
  34. package/dist/__generated__/CheckoutUpdateOrderMutation.graphql.js +0 -12
  35. package/dist/__generated__/CollectionAa_Query.graphql.js +0 -1
  36. package/dist/__generated__/CouponCodeInputApplyCouponMutation.graphql.js +0 -3
  37. package/dist/__generated__/CouponCodeRefetchQuery.graphql.js +0 -3
  38. package/dist/__generated__/CustomerLoginFormLoginMutation.graphql.js +0 -1
  39. package/dist/__generated__/DownloadRefetchQuery.graphql.js +0 -1
  40. package/dist/__generated__/Family_node.graphql.js +0 -2
  41. package/dist/__generated__/FontFamiliesQuery.graphql.js +0 -7
  42. package/dist/__generated__/License_node.graphql.js +0 -1
  43. package/dist/__generated__/NewsletterSignupQuery.graphql.js +0 -1
  44. package/dist/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.js +0 -1
  45. package/dist/__generated__/PrecartAddToCartMutation.graphql.js +0 -10
  46. package/dist/__generated__/PrecartQuery.graphql.js +0 -7
  47. package/dist/__generated__/Precart_license.graphql.js +0 -1
  48. package/dist/__generated__/Precart_viewer.graphql.js +0 -5
  49. package/dist/__generated__/PriceBarSectionRefetchQuery.graphql.js +0 -2
  50. package/dist/__generated__/PriceBar_node.graphql.js +0 -1
  51. package/dist/__generated__/SKUPriceRefetchQuery.graphql.js +0 -2
  52. package/dist/__generated__/SpecimenLinkQuery.graphql.js +0 -1
  53. package/dist/__generated__/StoreModalBundleButton_bundle.graphql.js +0 -1
  54. package/dist/__generated__/StoreModalCartQuery.graphql.js +0 -16
  55. package/dist/__generated__/StoreModalCheckoutQuery.graphql.js +0 -6
  56. package/dist/__generated__/StoreModalContainerQuery.graphql.js +0 -7
  57. package/dist/__generated__/StoreModalFamilyButton_collection.graphql.js +0 -2
  58. package/dist/__generated__/StoreModalFamily_collection.graphql.js +0 -2
  59. package/dist/__generated__/StoreModalIndexItem_fontCollection.graphql.js +0 -1
  60. package/dist/__generated__/StoreModalIndexQuery.graphql.js +0 -4
  61. package/dist/__generated__/StoreModalProductQuery.graphql.js +0 -10
  62. package/dist/__generated__/StoreModalProductSummaryAddToCartMutation.graphql.js +0 -2
  63. package/dist/__generated__/StoreModalProductSummaryRefetchQuery.graphql.js +0 -3
  64. package/dist/__generated__/StoreModalReviewCompleteOrderMutation.graphql.js +0 -9
  65. package/dist/__generated__/StoreModalReviewQuery.graphql.js +0 -6
  66. package/dist/__generated__/StoreModalReviewUpdateOrderMutation.graphql.js +0 -6
  67. package/dist/__generated__/StoreModalReview_order.graphql.js +0 -3
  68. package/dist/__generated__/StoreModalStyleButton_fontStyle.graphql.js +0 -2
  69. package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +0 -10
  70. package/dist/__generated__/TestFontsForm_Query.graphql.js +0 -1
  71. package/dist/__generated__/TestModeBannerQuery.graphql.js +0 -1
  72. package/dist/__generated__/ThemeConfigQuery.graphql.js +0 -1
  73. package/dist/__generated__/TypeTesterStandaloneQuery.graphql.js +0 -8
  74. package/dist/__generated__/TypeTesterStyleSelectData_fontStyle.graphql.js +0 -1
  75. package/dist/__generated__/TypeTester_NewStyleQuery.graphql.js +0 -8
  76. package/dist/__generated__/TypeTester_fontStyle.graphql.js +0 -1
  77. package/dist/__generated__/TypeTestersIDQuery.graphql.js +0 -14
  78. package/dist/__generated__/TypeTestersSlugQuery.graphql.js +0 -15
  79. package/dist/__generated__/TypeTesters_collection.graphql.js +0 -3
  80. package/dist/__generated__/productState_Query.graphql.js +0 -5
  81. package/dist/__generated__/productState_bundle.graphql.js +0 -1
  82. package/dist/__generated__/productState_collection.graphql.js +0 -2
  83. package/dist/__generated__/productState_node.graphql.js +0 -3
  84. package/dist/__generated__/useTotalStyles_fontCollection.graphql.js +0 -1
  85. package/dist/components/Cart/CartItem/VariableTextInput.js +2 -1
  86. package/dist/components/Cart/CartOrder.js +2 -1
  87. package/dist/components/CartButton/index.js +0 -1
  88. package/dist/components/CharacterViewer/index.js +130 -57
  89. package/dist/components/ConfigContext.d.ts +4 -2
  90. package/dist/components/ConfigContext.js +5 -4
  91. package/dist/components/NewsletterSignup/NewsletterSignupElement.d.ts +7 -0
  92. package/dist/components/NewsletterSignup/NewsletterSignupElement.js +15 -0
  93. package/dist/components/Root/index.js +1 -1
  94. package/dist/components/Select/index.js +1 -1
  95. package/dist/components/StoreModal/StoreModalCart.js +1 -1
  96. package/dist/components/TypeTester/TypeTesterFeaturesButton.js +1 -1
  97. package/dist/components/TypeTester/TypeTesterStandalone.js +8 -2
  98. package/dist/components/TypeTester/index.d.ts +3 -2
  99. package/dist/data/unicodeData.d.ts +4 -0
  100. package/dist/data/unicodeData.js +1 -0
  101. package/dist/fontdue.css +73 -23
  102. package/dist/reducer.js +0 -1
  103. package/dist/scripts/updateUnicodeData.js +49 -0
  104. package/package.json +2 -1
package/dist/fontdue.css CHANGED
@@ -470,7 +470,8 @@ div[data-component=TypeTesters] {
470
470
  .type-tester__toolbar__label {
471
471
  display: flex;
472
472
  align-items: baseline;
473
- margin-right: 1em;
473
+ margin: 0 1em 0 0;
474
+ font-weight: inherit;
474
475
  }
475
476
  .type-tester__toolbar__input {
476
477
  background: none;
@@ -746,7 +747,8 @@ div[data-component=TypeTesters] {
746
747
  display: flex;
747
748
  }
748
749
  .type-tester-select .select {
749
- margin-right: 1em;
750
+ margin: 0 1em 0 0;
751
+ font-weight: inherit;
750
752
  }
751
753
 
752
754
  .select-button {
@@ -827,6 +829,9 @@ div[data-component=TypeTesters] {
827
829
  }
828
830
 
829
831
  .character-viewer {
832
+ --size: calc(var(--monitor-width) * 1/2);
833
+ --half-gap: calc(var(--line-gap) / 2);
834
+ --scale: calc(var(--size) / var(--units-per-em));
830
835
  font-size: 1rem;
831
836
  line-height: normal;
832
837
  }
@@ -834,6 +839,11 @@ div[data-component=TypeTesters] {
834
839
  .character-viewer__character-map {
835
840
  margin-bottom: 30px;
836
841
  }
842
+ @media screen and (min-width: 600px) {
843
+ .character-viewer__character-map {
844
+ margin-bottom: 120px;
845
+ }
846
+ }
837
847
 
838
848
  .character-viewer__character-map,
839
849
  .character-viewer__features-map {
@@ -867,18 +877,52 @@ div[data-component=TypeTesters] {
867
877
  top: var(--character_viewer_sticky_top, 16px);
868
878
  }
869
879
 
880
+ .character-viewer__monitor__character-container {
881
+ position: relative;
882
+ margin-bottom: 32px;
883
+ }
884
+
870
885
  .character-viewer__monitor__character {
871
- font-size: calc(1px * var(--width) * 2 / 3);
886
+ font-size: calc(1px * var(--size));
887
+ line-height: normal;
872
888
  text-align: center;
873
- border: 1px solid;
874
- margin-bottom: 16px;
875
889
  white-space: pre;
890
+ position: relative;
891
+ z-index: 1;
892
+ }
893
+
894
+ .character-viewer__monitor__line {
895
+ position: absolute;
896
+ font-size: 9px;
897
+ top: 0;
898
+ left: 0;
899
+ width: 100%;
900
+ height: 0;
901
+ border-top: 1px solid var(--horizontal_rule_color, currentcolor);
902
+ display: flex;
903
+ justify-content: space-between;
904
+ }
905
+ .character-viewer__monitor__line[data-name=baseline] {
906
+ top: calc(1px * (var(--ascender) + var(--half-gap)) * var(--scale));
907
+ }
908
+ .character-viewer__monitor__line[data-name=ascender] {
909
+ top: calc(1px * var(--half-gap) * var(--scale));
910
+ }
911
+ .character-viewer__monitor__line[data-name=cap-height] {
912
+ top: calc(1px * (var(--ascender) + var(--half-gap) - var(--cap-height)) * var(--scale));
913
+ }
914
+ .character-viewer__monitor__line[data-name=x-height] {
915
+ top: calc(1px * (var(--ascender) - var(--x-height) + var(--half-gap)) * var(--scale));
916
+ }
917
+ .character-viewer__monitor__line[data-name=descender] {
918
+ top: calc(1px * (var(--ascender) - var(--descender) + var(--half-gap)) * var(--scale));
876
919
  }
877
920
 
878
921
  .character-viewer__monitor__details {
879
922
  display: grid;
880
923
  grid-template-columns: max-content auto;
881
924
  grid-column-gap: 20px;
925
+ line-height: 1.6;
882
926
  }
883
927
  .character-viewer__monitor__details span {
884
928
  white-space: nowrap;
@@ -894,37 +938,43 @@ div[data-component=TypeTesters] {
894
938
  }
895
939
  }
896
940
 
897
- .character-viewer__feature-monitor__characters {
941
+ .character-viewer__feature-monitor__characters,
942
+ .character-viewer__feature-monitor__labels {
898
943
  display: grid;
899
944
  grid-template-columns: minmax(0, 1fr) 1fr;
900
- grid-gap: 20px;
901
- margin-bottom: 16px;
902
945
  }
903
- .character-viewer__feature-monitor__characters > div {
904
- border: 1px solid;
946
+
947
+ .character-viewer__feature-monitor__characters {
948
+ --size: calc(var(--monitor-width) * 1/3);
949
+ --scale: calc(var(--size) / var(--units-per-em));
950
+ margin-top: 12px;
951
+ margin-bottom: 32px;
952
+ position: relative;
953
+ }
954
+
955
+ .character-viewer__feature-monitor__characters__on,
956
+ .character-viewer__feature-monitor__characters__off {
905
957
  padding: 0 10px;
906
958
  position: relative;
907
959
  }
908
- .character-viewer__feature-monitor__characters > div > div {
960
+
961
+ .character-viewer__feature-monitor__character {
909
962
  display: block;
910
- font-size: calc(1px * var(--width) * 1 / 3);
963
+ font-size: calc(1px * var(--size));
911
964
  text-align: center;
912
965
  white-space: pre;
966
+ position: relative;
967
+ z-index: 1;
913
968
  }
914
969
 
915
970
  .character-viewer__feature-monitor__characters__off {
916
971
  overflow: auto;
972
+ border-right: 1px solid var(--horizontal_rule_color, currentcolor);
917
973
  }
918
974
  .character-viewer__feature-monitor__characters__off > div {
919
975
  opacity: 0.3;
920
976
  }
921
977
 
922
- .character-viewer__feature-monitor__label {
923
- position: absolute;
924
- top: 0;
925
- left: 5px;
926
- }
927
-
928
978
  .character-viewer__block__name {
929
979
  height: 30px;
930
980
  }
@@ -962,9 +1012,9 @@ div[data-component=TypeTesters] {
962
1012
  }
963
1013
  @media screen and (min-width: 600px) {
964
1014
  .character-viewer__block__characters > div:hover, .character-viewer__block__characters > div[data-selected=true] {
965
- background: var(--primary_text_color);
966
- border-color: var(--primary_text_color);
967
- color: var(--primary_background_color);
1015
+ background: var(--character_viewer_selected_background_color, var(--primary_text_color));
1016
+ border-color: var(--character_viewer_selected_border_color, var(--primary_text_color));
1017
+ color: var(--character_viewer_selected_text_color, var(--primary_background_color));
968
1018
  }
969
1019
  }
970
1020
 
@@ -1045,8 +1095,8 @@ input:checked + .checkbox__icon {
1045
1095
  font-size: 14px;
1046
1096
  vertical-align: baseline;
1047
1097
  position: relative;
1048
- bottom: -2px;
1049
- margin-right: 4px;
1098
+ bottom: -3px;
1099
+ margin-right: 8px;
1050
1100
  }
1051
1101
 
1052
1102
  body[data-fontdue-store-modal=open] {
package/dist/reducer.js CHANGED
@@ -223,7 +223,6 @@ const reducer = (state, action) => {
223
223
  // sort is important here since moving stylesheets around causes them to
224
224
  // get re-fetched
225
225
  };
226
-
227
226
  case 'STORE_MODAL_NAVIGATE':
228
227
  return storeModalNavigate(state, action);
229
228
  case 'STORE_MODAL_REPLACE':
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ const https = require('https');
4
+ const fs = require('fs');
5
+ const path = require('path');
6
+
7
+ // URL from which to fetch the Unicode data
8
+ const UNICODE_DATA_URL = 'https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt';
9
+
10
+ // Function to fetch the Unicode data
11
+ function fetchUnicodeData() {
12
+ return new Promise((resolve, reject) => {
13
+ https.get(UNICODE_DATA_URL, res => {
14
+ let data = '';
15
+ res.on('data', chunk => data += chunk);
16
+ res.on('end', () => resolve(data));
17
+ }).on('error', err => reject(err));
18
+ });
19
+ }
20
+
21
+ // Function to parse the Unicode data and convert it into the desired JSON format
22
+ function parseAndConvertData(data) {
23
+ const lines = data.split('\n');
24
+ const result = {};
25
+ lines.forEach(line => {
26
+ const parts = line.split(';');
27
+ if (parts.length > 1) {
28
+ const code = parseInt(parts[0], 16);
29
+ const name = parts[1].toLowerCase().replace(/\b\w/g, char => char.toUpperCase());
30
+ result[code] = name;
31
+ }
32
+ });
33
+ return result;
34
+ }
35
+
36
+ // Main function to fetch, parse, and write the Unicode data to a JSON file
37
+ async function main() {
38
+ try {
39
+ const data = await fetchUnicodeData();
40
+ const jsonData = parseAndConvertData(data);
41
+ fs.writeFileSync(path.join(__dirname, '../data/unicodeData.ts'), `const data: { [code: string]: string} = ${JSON.stringify(jsonData)}; export default data;`);
42
+ console.log('unicode data has been written to unicodeData.ts');
43
+ } catch (error) {
44
+ console.error('Error:', error);
45
+ }
46
+ }
47
+
48
+ // Run the main function
49
+ main();
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "fontdue-js",
3
- "version": "2.5.0",
3
+ "version": "2.7.0",
4
4
  "scripts": {
5
5
  "build": "npm run relay && run-p build-js build-css build-ts-declarations",
6
6
  "build-js": "babel src --out-dir dist --extensions .ts,.tsx,.js,.jsx",
7
7
  "build-ts-declarations": "tsc",
8
8
  "build-css": "sass --load-path=node_modules --no-source-map src/index.scss dist/fontdue.css",
9
9
  "relay": "relay-compiler",
10
+ "update-unicode-data": "node src/scripts/updateUnicodeData.js",
10
11
  "prepublishOnly": "npm run build"
11
12
  },
12
13
  "author": "Fontdue",