@jobber/design 0.27.9 → 0.28.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 (46) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/buildColors.js +15 -0
  3. package/buildFoundation.js +15 -0
  4. package/buildIconStyles.js +44 -0
  5. package/colors.js +138 -0
  6. package/foundation.css +33 -26
  7. package/foundation.js +7 -7
  8. package/foundation.scss +6 -6
  9. package/foundation_config/postcss-filter-rules/index.js +17 -0
  10. package/foundation_config/postcss.config.js +58 -0
  11. package/jobberStyle.js +244 -0
  12. package/npm-shrinkwrap.json +8594 -0
  13. package/package.json +18 -11
  14. package/rollup.config.js +41 -0
  15. package/src/Borders.mdx +65 -0
  16. package/src/Colors.mdx +295 -0
  17. package/src/Elevations.mdx +107 -0
  18. package/src/Radii.mdx +40 -0
  19. package/src/ResponsiveBreakpoints.mdx +48 -0
  20. package/src/Spacing.mdx +121 -0
  21. package/src/Typography.mdx +191 -0
  22. package/src/animation.mdx +82 -0
  23. package/src/borders.css +6 -0
  24. package/src/colors.css +178 -0
  25. package/src/elevations.css +12 -0
  26. package/src/foundation.css +11 -0
  27. package/src/icons/Colors.css +187 -0
  28. package/src/icons/Colors.css.d.ts +51 -0
  29. package/src/icons/Icon.css +102 -0
  30. package/src/icons/Icon.css.d.ts +37 -0
  31. package/src/icons/Sizes.css +14 -0
  32. package/src/icons/Sizes.css.d.ts +7 -0
  33. package/src/icons/getIcon.test.ts +73 -0
  34. package/src/icons/getIcon.ts +116 -0
  35. package/src/icons/iconMap.ts +430 -0
  36. package/src/icons/iconStyles.d.ts +262 -0
  37. package/src/icons/iconStyles.ts +269 -0
  38. package/src/index.ts +10 -0
  39. package/src/radii.css +6 -0
  40. package/src/responsiveBreakpoints.css +3 -0
  41. package/src/shadows.css +13 -0
  42. package/src/spacing.css +13 -0
  43. package/src/styles.css +9 -0
  44. package/src/timings.css +7 -0
  45. package/src/typography.css +53 -0
  46. package/tsconfig.json +70 -0
package/CHANGELOG.md CHANGED
@@ -8,6 +8,52 @@ menu: Changelog
8
8
  All notable changes to this project will be documented in this file.
9
9
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
10
10
 
11
+ # [0.28.0](https://github.com/GetJobber/atlantis/compare/@jobber/design@0.27.9...@jobber/design@0.28.0) (2023-02-07)
12
+
13
+
14
+ ### Features
15
+
16
+ * **components, design, build:** Atlantis typography feature branch ([#1021](https://github.com/GetJobber/atlantis/issues/1021)) ([15d5eba](https://github.com/GetJobber/atlantis/commit/15d5eba545096c122e238cec018abf0a00d04748)), closes [#976](https://github.com/GetJobber/atlantis/issues/976) [#978](https://github.com/GetJobber/atlantis/issues/978) [#985](https://github.com/GetJobber/atlantis/issues/985) [#950](https://github.com/GetJobber/atlantis/issues/950) [#953](https://github.com/GetJobber/atlantis/issues/953) [#960](https://github.com/GetJobber/atlantis/issues/960) [#963](https://github.com/GetJobber/atlantis/issues/963) [#890](https://github.com/GetJobber/atlantis/issues/890) [#964](https://github.com/GetJobber/atlantis/issues/964) [#954](https://github.com/GetJobber/atlantis/issues/954) [#968](https://github.com/GetJobber/atlantis/issues/968) [#959](https://github.com/GetJobber/atlantis/issues/959) [#972](https://github.com/GetJobber/atlantis/issues/972) [#973](https://github.com/GetJobber/atlantis/issues/973) [#975](https://github.com/GetJobber/atlantis/issues/975) [#974](https://github.com/GetJobber/atlantis/issues/974) [#979](https://github.com/GetJobber/atlantis/issues/979) [#971](https://github.com/GetJobber/atlantis/issues/971) [#983](https://github.com/GetJobber/atlantis/issues/983) [#986](https://github.com/GetJobber/atlantis/issues/986) [#952](https://github.com/GetJobber/atlantis/issues/952) [#988](https://github.com/GetJobber/atlantis/issues/988) [#990](https://github.com/GetJobber/atlantis/issues/990) [#993](https://github.com/GetJobber/atlantis/issues/993) [#989](https://github.com/GetJobber/atlantis/issues/989) [#992](https://github.com/GetJobber/atlantis/issues/992) [#995](https://github.com/GetJobber/atlantis/issues/995) [#994](https://github.com/GetJobber/atlantis/issues/994) [#996](https://github.com/GetJobber/atlantis/issues/996) [#991](https://github.com/GetJobber/atlantis/issues/991) [#1000](https://github.com/GetJobber/atlantis/issues/1000) [#998](https://github.com/GetJobber/atlantis/issues/998) [#1001](https://github.com/GetJobber/atlantis/issues/1001) [#1006](https://github.com/GetJobber/atlantis/issues/1006) [#1009](https://github.com/GetJobber/atlantis/issues/1009) [#1014](https://github.com/GetJobber/atlantis/issues/1014) [#1017](https://github.com/GetJobber/atlantis/issues/1017)
17
+
18
+
19
+ ### BREAKING CHANGES
20
+
21
+ * **components, design, build:** Added Jobber Fonts support
22
+
23
+ * Remove file that was needed for major bump in design
24
+
25
+ * Revert "update button styles"
26
+
27
+ This reverts commit d5278133003f4f770af56d583ef104b5abc8b886.
28
+
29
+ * Remove unneeded logging
30
+
31
+ * Update install instructions for non-jobber developers
32
+
33
+ * Changed how package works when being installed to better support non jobber devs.
34
+
35
+ * Use variables in docz instead of a string
36
+
37
+ * Remove change that caused failures for Jobber people
38
+
39
+ * Moved script location
40
+
41
+ * Maybe fix cloudflare builds. Hopefully
42
+
43
+ * Update README.md
44
+
45
+ * Updated prerelease docs.
46
+ Verify fonts aren't bundled with pre-releases.
47
+
48
+ * rebuild cloudflare
49
+
50
+ Co-authored-by: Chris Murray <39704901+chris-at-jobber@users.noreply.github.com>
51
+ Co-authored-by: Michael Paradis <michael.p@getjobber.com>
52
+
53
+
54
+
55
+
56
+
11
57
  ## [0.27.9](https://github.com/GetJobber/atlantis/compare/@jobber/design@0.27.8...@jobber/design@0.27.9) (2023-02-02)
12
58
 
13
59
  **Note:** Version bump only for package @jobber/design
package/buildColors.js ADDED
@@ -0,0 +1,15 @@
1
+ /* eslint-env node */
2
+ /* eslint-disable @typescript-eslint/no-var-requires */
3
+ const fs = require("fs");
4
+ const postcss = require("postcss");
5
+ const postcssCustomProperties = require("postcss-custom-properties");
6
+
7
+ const colors = fs.readFileSync("src/colors.css");
8
+
9
+ postcss([
10
+ postcssCustomProperties({
11
+ exportTo: ["colors.js"],
12
+ }),
13
+ ])
14
+ .process(colors, { from: undefined })
15
+ .then();
@@ -0,0 +1,15 @@
1
+ /* eslint-env node */
2
+ /* eslint-disable @typescript-eslint/no-var-requires */
3
+ const fs = require("fs");
4
+ const postcss = require("postcss");
5
+ const postcssCustomProperties = require("postcss-custom-properties");
6
+
7
+ const foundation = fs.readFileSync("./foundation.css");
8
+
9
+ postcss([
10
+ postcssCustomProperties({
11
+ exportTo: ["src/foundation.js"],
12
+ }),
13
+ ])
14
+ .process(foundation, { from: undefined })
15
+ .then();
@@ -0,0 +1,44 @@
1
+ /* eslint-env node */
2
+ /* eslint-disable @typescript-eslint/no-var-requires */
3
+
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+ const postcss = require("postcss");
7
+ const postcssCustomProperties = require("postcss-custom-properties");
8
+ const postcssCalc = require("postcss-calc");
9
+ const transform = require("css-to-react-native-transform").default;
10
+
11
+ const icon = fs.readFileSync("src/icons/Icon.css");
12
+ const size = fs.readFileSync("src/icons/Sizes.css");
13
+ const color = fs.readFileSync("src/icons/Colors.css");
14
+
15
+ const allCss = [icon, size, color].join("\n");
16
+
17
+ postcss([
18
+ postcssCustomProperties({
19
+ preserve: false,
20
+ importFrom: ["foundation.css"],
21
+ }),
22
+ postcssCalc(),
23
+ ])
24
+ .process(allCss, { from: undefined })
25
+ .then(function (result) {
26
+ const calculated = transform(result.css);
27
+ const jsonContent =
28
+ "/* This file is automatically generated by buildIconStyle.js and should not be edited. */\n" +
29
+ "export const iconStyles = " +
30
+ JSON.stringify(calculated, undefined, 2);
31
+
32
+ fs.writeFile(
33
+ path.join(__dirname, "src/icons/iconStyles.ts"),
34
+ jsonContent,
35
+ "utf8",
36
+ function (err) {
37
+ if (err) {
38
+ console.log("An error occurred while writing JSON object to File.");
39
+ return console.log(err);
40
+ }
41
+ console.log("JSON file has been saved.");
42
+ },
43
+ );
44
+ });
package/colors.js ADDED
@@ -0,0 +1,138 @@
1
+ module.exports = {
2
+ customProperties: {
3
+ '--color-interactive': 'var(--color-green)',
4
+ '--color-interactive--hover': 'var(--color-green--dark)',
5
+ '--color-destructive': 'var(--color-red)',
6
+ '--color-destructive--hover': 'var(--color-red--dark)',
7
+ '--color-interactive--subtle': 'var(--color-greyBlue)',
8
+ '--color-interactive--subtle--hover': 'var(--color-greyBlue--dark)',
9
+ '--color-disabled': 'var(--color-grey)',
10
+ '--color-disabled--secondary': 'var(--color-grey--lighter)',
11
+ '--color-focus': 'var(--color-yellow--light)',
12
+ '--color-critical': 'var(--color-red)',
13
+ '--color-critical--surface': 'var(--color-red--lightest)',
14
+ '--color-critical--onSurface': 'var(--color-red--dark)',
15
+ '--color-warning': 'var(--color-yellow)',
16
+ '--color-warning--surface': 'var(--color-yellow--lightest)',
17
+ '--color-warning--onSurface': 'var(--color-yellow--dark)',
18
+ '--color-success': 'var(--color-green)',
19
+ '--color-success--surface': 'var(--color-green--lightest)',
20
+ '--color-success--onSurface': 'var(--color-green--dark)',
21
+ '--color-informative': 'var(--color-lightBlue)',
22
+ '--color-informative--surface': 'var(--color-lightBlue--lightest)',
23
+ '--color-informative--onSurface': 'var(--color-lightBlue--dark)',
24
+ '--color-inactive': 'var(--color-blue--light)',
25
+ '--color-inactive--surface': 'var(--color-blue--lightest)',
26
+ '--color-inactive--onSurface': 'var(--color-blue--dark)',
27
+ '--color-heading': 'var(--color-blue)',
28
+ '--color-text': 'var(--color-greyBlue--dark)',
29
+ '--color-text--secondary': 'var(--color-greyBlue)',
30
+ '--color-text--reverse': 'var(--color-white)',
31
+ '--color-text--reverse--secondary': 'var(--color-greyBlue--lighter)',
32
+ '--color-surface': 'var(--color-white)',
33
+ '--color-surface--hover': 'var(--color-yellow--lightest)',
34
+ '--color-surface--active': 'var(--color-green--lightest)',
35
+ '--color-surface--background': 'var(--color-grey--lightest)',
36
+ '--color-surface--reverse': 'var(--color-blue)',
37
+ '--color-border': 'var(--color-grey--lighter)',
38
+ '--color-border--section': 'var(--color-blue)',
39
+ '--color-overlay': 'rgba(var(--color-black--rgb), 0.32)',
40
+ '--color-overlay--dimmed': 'rgba(var(--color-white--rgb), 0.6)',
41
+ '--color-brand': 'var(--color-green)',
42
+ '--color-brand--highlight': 'rgb(160, 215, 42)',
43
+ '--color-request': 'var(--color-indigo)',
44
+ '--color-quote': 'var(--color-pink)',
45
+ '--color-job': 'var(--color-yellowGreen)',
46
+ '--color-visit': 'var(--color-green)',
47
+ '--color-task': 'var(--color-navy)',
48
+ '--color-event': 'var(--color-yellow)',
49
+ '--color-invoice': 'var(--color-purple)',
50
+ '--color-payments': 'var(--color-orange)',
51
+ '--color-client': 'var(--color-teal)',
52
+ '--color-blue': 'rgb(1, 41, 57)',
53
+ '--color-blue--light': 'rgb(77, 105, 116)',
54
+ '--color-blue--lighter': 'rgb(153, 169, 176)',
55
+ '--color-blue--lightest': 'rgb(217, 223, 225)',
56
+ '--color-blue--dark': 'rgb(1, 27, 37)',
57
+ '--color-green': 'rgb(125, 176, 14)',
58
+ '--color-green--light': 'rgb(164, 200, 86)',
59
+ '--color-green--lighter': 'rgb(203, 223, 159)',
60
+ '--color-green--lightest': 'rgb(236, 243, 219)',
61
+ '--color-green--dark': 'rgb(81, 114, 9)',
62
+ '--color-lime': 'rgb(153, 193, 70)',
63
+ '--color-lime--light': 'rgb(184, 212, 126)',
64
+ '--color-lime--lighter': 'rgb(214, 230, 181)',
65
+ '--color-lime--lightest': 'rgb(240, 246, 227)',
66
+ '--color-lime--dark': 'rgb(99, 125, 46)',
67
+ '--color-yellowGreen': 'rgb(187, 197, 32)',
68
+ '--color-yellowGreen--light': 'rgb(207, 214, 99)',
69
+ '--color-yellowGreen--lighter': 'rgb(228, 232, 166)',
70
+ '--color-yellowGreen--lightest': 'rgb(245, 246, 222)',
71
+ '--color-yellowGreen--dark': 'rgb(122, 128, 21)',
72
+ '--color-yellow': 'rgb(221, 195, 15)',
73
+ '--color-yellow--light': 'rgb(231, 213, 87)',
74
+ '--color-yellow--lighter': 'rgb(241, 231, 159)',
75
+ '--color-yellow--lightest': 'rgb(250, 246, 219)',
76
+ '--color-yellow--dark': 'rgb(144, 127, 10)',
77
+ '--color-red': 'rgb(201, 66, 33)',
78
+ '--color-red--light': 'rgb(233, 141, 119)',
79
+ '--color-red--lighter': 'rgb(255, 206, 194)',
80
+ '--color-red--lightest': 'rgb(255, 226, 219)',
81
+ '--color-red--dark': 'rgb(128, 25, 0)',
82
+ '--color-grey': 'rgb(181, 181, 181)',
83
+ '--color-grey--light': 'rgb(203, 203, 203)',
84
+ '--color-grey--lighter': 'rgb(225, 225, 225)',
85
+ '--color-grey--lightest': 'rgb(244, 244, 244)',
86
+ '--color-grey--dark': 'rgb(118, 118, 118)',
87
+ '--color-greyBlue--rgb': '101, 120, 132',
88
+ '--color-greyBlue': 'rgba(var(--color-greyBlue--rgb), 1)',
89
+ '--color-greyBlue--light': 'rgb(147, 161, 169)',
90
+ '--color-greyBlue--lighter': 'rgb(193, 201, 206)',
91
+ '--color-greyBlue--lightest': 'rgb(232, 235, 237)',
92
+ '--color-greyBlue--dark': 'rgb(66, 78, 86)',
93
+ '--color-lightBlue': 'rgb(60, 162, 224)',
94
+ '--color-lightBlue--light': 'rgb(119, 190, 233)',
95
+ '--color-lightBlue--lighter': 'rgb(177, 218, 243)',
96
+ '--color-lightBlue--lightest': 'rgb(226, 241, 250)',
97
+ '--color-lightBlue--dark': 'rgb(39, 105, 146)',
98
+ '--color-purple': 'rgb(136, 112, 196)',
99
+ '--color-purple--light': 'rgb(172, 155, 214)',
100
+ '--color-purple--lighter': 'rgb(207, 198, 231)',
101
+ '--color-purple--lightest': 'rgb(237, 234, 246)',
102
+ '--color-purple--dark': 'rgb(88, 73, 127)',
103
+ '--color-pink': 'rgb(179, 96, 150)',
104
+ '--color-pink--light': 'rgb(202, 144, 182)',
105
+ '--color-pink--lighter': 'rgb(225, 191, 213)',
106
+ '--color-pink--lightest': 'rgb(244, 231, 239)',
107
+ '--color-pink--dark': 'rgb(116, 62, 98)',
108
+ '--color-teal': 'rgb(62, 173, 146)',
109
+ '--color-teal--light': 'rgb(120, 198, 179)',
110
+ '--color-teal--lighter': 'rgb(178, 222, 211)',
111
+ '--color-teal--lightest': 'rgb(226, 243, 239)',
112
+ '--color-teal--dark': 'rgb(40, 112, 95)',
113
+ '--color-orange': 'rgb(243, 150, 36)',
114
+ '--color-orange--light': 'rgb(247, 182, 102)',
115
+ '--color-orange--lighter': 'rgb(250, 213, 167)',
116
+ '--color-orange--lightest': 'rgb(253, 239, 222)',
117
+ '--color-orange--dark': 'rgb(158, 98, 23)',
118
+ '--color-brown': 'rgb(130, 107, 70)',
119
+ '--color-brown--light': 'rgb(168, 151, 126)',
120
+ '--color-brown--lighter': 'rgb(205, 196, 181)',
121
+ '--color-brown--lightest': 'rgb(236, 233, 227)',
122
+ '--color-brown--dark': 'rgb(85, 70, 46)',
123
+ '--color-navy': 'rgb(75, 106, 150)',
124
+ '--color-navy--light': 'rgb(129, 151, 182)',
125
+ '--color-navy--lighter': 'rgb(183, 195, 213)',
126
+ '--color-navy--lightest': 'rgb(228, 233, 239)',
127
+ '--color-navy--dark': 'rgb(49, 69, 98)',
128
+ '--color-indigo': 'rgb(85, 106, 203)',
129
+ '--color-indigo--light': 'rgb(136, 151, 219)',
130
+ '--color-indigo--lighter': 'rgb(187, 195, 234)',
131
+ '--color-indigo--lightest': 'rgb(230, 233, 247)',
132
+ '--color-indigo--dark': 'rgb(55, 69, 132)',
133
+ '--color-white--rgb': '255, 255, 255',
134
+ '--color-white': 'rgba(var(--color-white--rgb), 1)',
135
+ '--color-black--rgb': '0, 0, 0',
136
+ '--color-black': 'rgba(var(--color-black--rgb), 1)'
137
+ }
138
+ };
package/foundation.css CHANGED
@@ -1,4 +1,4 @@
1
- @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@700;900&family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap");:root {
1
+ @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@700;900&family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap");:root {
2
2
  --border-base: var(--space-minuscule);
3
3
  --border-thick: var(--space-smallest);
4
4
  --border-thicker: var(--space-smaller);
@@ -230,26 +230,30 @@
230
230
  --typography--letterSpacing-base: 0;
231
231
  --typography--letterSpacing-loose: calc(var(--base-unit) / 40);
232
232
 
233
- --typography--fontFamily-normal: "Source Sans Pro", Helvetica, Arial,
233
+ --typography--fontFamily-normal: "Inter", Helvetica, Arial, sans-serif;
234
+ --typography--fontFamily-display: "Jobber Pro", "Poppins", Helvetica, Arial,
234
235
  sans-serif;
235
- --typography--fontFamily-display: "Poppins", Helvetica, Arial, sans-serif;
236
236
 
237
- --typography--fontSize-extravagant: calc(var(--base-unit) * 3);
237
+ --typography--fontSize-extravagant: calc(
238
+ var(--typography--fontSize-large) * 3
239
+ );
238
240
  /* 48 */
239
- --typography--fontSize-jumbo: calc(var(--base-unit) * 2.25);
241
+ --typography--fontSize-jumbo: calc(var(--typography--fontSize-large) * 2.25);
240
242
  /* 36 */
241
- --typography--fontSize-largest: calc(var(--base-unit) * 1.5);
243
+ --typography--fontSize-largest: calc(var(--typography--fontSize-large) * 1.5);
242
244
  /* 24 */
243
- --typography--fontSize-larger: calc(var(--base-unit) * 1.25);
245
+ --typography--fontSize-larger: calc(var(--typography--fontSize-large) * 1.25);
244
246
  /* 20 */
245
- --typography--fontSize-large: calc(var(--base-unit) * 1.125);
246
- /* 18 */
247
- --typography--fontSize-base: calc(var(--base-unit) * 1);
247
+ --typography--fontSize-large: calc(var(--base-unit) * 1);
248
248
  /* 16 */
249
- --typography--fontSize-small: calc(var(--base-unit) * 0.875);
249
+ --typography--fontSize-base: calc(var(--typography--fontSize-large) * 0.875);
250
250
  /* 14 */
251
- --typography--fontSize-smaller: calc(var(--base-unit) * 0.75);
251
+ --typography--fontSize-small: calc(var(--typography--fontSize-large) * 0.75);
252
252
  /* 12 */
253
+ --typography--fontSize-smaller: calc(
254
+ var(--typography--fontSize-large) * 0.625
255
+ );
256
+ /* 10 */
253
257
 
254
258
  --typography--lineHeight-large: 1.34;
255
259
  --typography--lineHeight-base: 1.25;
@@ -259,25 +263,28 @@
259
263
  --typography--lineHeight-miniscule: 1.08;
260
264
  }@media (--handhelds) {
261
265
  :root {
262
- --typography--fontSize-extravagant: calc(var(--base-unit) * 2.5);
266
+ --typography--fontSize-extravagant: calc(
267
+ var(--typography--fontSize-large) * 2.5
268
+ );
263
269
  /* 40 */
264
- --typography--fontSize-jumbo: calc(var(--base-unit) * 1.75);
270
+ --typography--fontSize-jumbo: calc(
271
+ var(--typography--fontSize-large) * 1.75
272
+ );
265
273
  /* 28 */
266
- --typography--fontSize-largest: calc(var(--base-unit) * 1.375);
274
+ --typography--fontSize-largest: calc(
275
+ var(--typography--fontSize-large) * 1.375
276
+ );
267
277
  /* 22 */
268
278
  }
269
279
  }@custom-media --handhelds (width < 640px);@custom-media --medium-screens (width >= 640px);@custom-media --wide-screens (width >= 1024px);body {
280
+ color: rgb(66, 78, 86);
270
281
  color: var(--color-text);
271
- font-family: var(
272
- --typography--fontFamily-normal,
273
- "Source Sans Pro",
274
- Helvetica,
275
- Arial,
276
- sans-serif
277
- );
278
- font-size: var(--typography--fontSize-large, calc(var(--base-unit) * 1.125));
279
- line-height: var(--typography--lineHeight-large, 1.34);
282
+ font-family: "Inter", Helvetica, Arial, sans-serif;
283
+ font-family: var(--typography--fontFamily-normal);
284
+ font-size: calc(calc(16px * 1) * 0.875);
285
+ font-size: var(--typography--fontSize-base);
286
+ line-height: 1.5;
287
+ line-height: var(--typography--lineHeight-larger, 1.5);
288
+ background-color: rgba(255, 255, 255, 1);
280
289
  background-color: var(--color-surface);
281
290
  }
282
-
283
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9zdHlsZXMuY3NzIiwic3JjL2JvcmRlcnMuY3NzIiwic3JjL2NvbG9ycy5jc3MiLCJzcmMvcmFkaWkuY3NzIiwic3JjL3NwYWNpbmcuY3NzIiwic3JjL3NoYWRvd3MuY3NzIiwic3JjL3RpbWluZ3MuY3NzIiwic3JjL2VsZXZhdGlvbnMuY3NzIiwic3JjL3R5cG9ncmFwaHkuY3NzIiwic3JjL3Jlc3BvbnNpdmVCcmVha3BvaW50cy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0pBQWtKLENDQWxKO0VBQ0UscUNBQXFDO0VBQ3JDLHFDQUFxQztFQUNyQyxzQ0FBc0M7RUFDdEMscUNBQXFDO0FBQ3ZDLENDTEE7RUFDRSwwQkFBMEI7O0VBRTFCLDJCQUEyQjtFQUMzQix1Q0FBdUM7RUFDdkMsb0RBQW9EO0VBQ3BELHFDQUFxQztFQUNyQyxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELCtEQUErRDs7RUFFL0QsbUNBQW1DO0VBQ25DLHVEQUF1RDs7RUFFdkQseUNBQXlDOztFQUV6QyxtQkFBbUI7O0VBRW5CLGtDQUFrQztFQUNsQyxxREFBcUQ7RUFDckQsbURBQW1EOztFQUVuRCxvQ0FBb0M7RUFDcEMsdURBQXVEO0VBQ3ZELHFEQUFxRDs7RUFFckQsbUNBQW1DO0VBQ25DLHNEQUFzRDtFQUN0RCxvREFBb0Q7O0VBRXBELDJDQUEyQztFQUMzQyw4REFBOEQ7RUFDOUQsNERBQTREOztFQUU1RCwwQ0FBMEM7RUFDMUMsc0RBQXNEO0VBQ3RELG9EQUFvRDs7RUFFcEQsZUFBZTtFQUNmLGtDQUFrQztFQUNsQyx5Q0FBeUM7RUFDekMsOENBQThDO0VBQzlDLHlDQUF5QztFQUN6QyxnRUFBZ0U7O0VBRWhFLHlCQUF5QjtFQUN6QixtQ0FBbUM7RUFDbkMscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCx3REFBd0Q7RUFDeEQsMkNBQTJDOztFQUUzQywwQ0FBMEM7RUFDMUMsMENBQTBDOztFQUUxQyxvREFBb0Q7RUFDcEQsMkRBQTJEOztFQUUzRCxV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OztFQUV6RSw4REFBOEQ7RUFDOUQsT0FBTztFQUNQLDJEQUEyRDtFQUMzRCxPQUFPO0VBQ1AsNERBQTREO0VBQzVELE9BQU87RUFDUCw0REFBNEQ7RUFDNUQsT0FBTztFQUNQLDREQUE0RDtFQUM1RCxPQUFPO0VBQ1AsdURBQXVEO0VBQ3ZELE9BQU87RUFDUCw0REFBNEQ7RUFDNUQsT0FBTztFQUNQLDZEQUE2RDtFQUM3RCxPQUFPOztFQUVQLG9DQUFvQztFQUNwQyxtQ0FBbUM7RUFDbkMsbUNBQW1DO0VBQ25DLHVDQUF1QztFQUN2Qyx1Q0FBdUM7RUFDdkMsd0NBQXdDO0FBQzFDLENBRUE7RUFDRTtJQUNFLGdFQUFnRTtJQUNoRSxPQUFPO0lBQ1AsMkRBQTJEO0lBQzNELE9BQU87SUFDUCw4REFBOEQ7SUFDOUQsT0FBTztFQUNUO0FBQ0YsQ0MxQ0EseUNBQXlDLENBQ3pDLCtDQUErQyxDQUMvQyw4Q0FBOEMsQ1RBOUM7RUFDRSx3QkFBd0I7RUFDeEI7Ozs7OztHQU1DO0VBQ0QsNEVBQTRFO0VBQzVFLHNEQUFzRDtFQUN0RCxzQ0FBc0M7QUFDeEMiLCJmaWxlIjoiZm91bmRhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UG9wcGluczp3Z2h0QDcwMDs5MDAmZmFtaWx5PVNvdXJjZStTYW5zK1BybzppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw3MDA7MSw0MDAmZGlzcGxheT1zd2FwXCIpO1xuXG5ib2R5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKFxuICAgIC0tdHlwb2dyYXBoeS0tZm9udEZhbWlseS1ub3JtYWwsXG4gICAgXCJTb3VyY2UgU2FucyBQcm9cIixcbiAgICBIZWx2ZXRpY2EsXG4gICAgQXJpYWwsXG4gICAgc2Fucy1zZXJpZlxuICApO1xuICBmb250LXNpemU6IHZhcigtLXR5cG9ncmFwaHktLWZvbnRTaXplLWxhcmdlLCBjYWxjKHZhcigtLWJhc2UtdW5pdCkgKiAxLjEyNSkpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tdHlwb2dyYXBoeS0tbGluZUhlaWdodC1sYXJnZSwgMS4zNCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xufVxuIiwiOnJvb3Qge1xuICAtLWJvcmRlci1iYXNlOiB2YXIoLS1zcGFjZS1taW51c2N1bGUpO1xuICAtLWJvcmRlci10aGljazogdmFyKC0tc3BhY2Utc21hbGxlc3QpO1xuICAtLWJvcmRlci10aGlja2VyOiB2YXIoLS1zcGFjZS1zbWFsbGVyKTtcbiAgLS1ib3JkZXItdGhpY2tlc3Q6IHZhcigtLXNwYWNlLXNtYWxsKTtcbn1cbiIsIjpyb290IHtcbiAgLyogSm9iYmVyIFNlbWFudGljIExheWVyICovXG5cbiAgLyogSW50ZXJhY3RpdmUgYW5kIFN0YXRlcyAqL1xuICAtLWNvbG9yLWludGVyYWN0aXZlOiB2YXIoLS1jb2xvci1ncmVlbik7XG4gIC0tY29sb3ItaW50ZXJhY3RpdmUtLWhvdmVyOiB2YXIoLS1jb2xvci1ncmVlbi0tZGFyayk7XG4gIC0tY29sb3ItZGVzdHJ1Y3RpdmU6IHZhcigtLWNvbG9yLXJlZCk7XG4gIC0tY29sb3ItZGVzdHJ1Y3RpdmUtLWhvdmVyOiB2YXIoLS1jb2xvci1yZWQtLWRhcmspO1xuICAtLWNvbG9yLWludGVyYWN0aXZlLS1zdWJ0bGU6IHZhcigtLWNvbG9yLWdyZXlCbHVlKTtcbiAgLS1jb2xvci1pbnRlcmFjdGl2ZS0tc3VidGxlLS1ob3ZlcjogdmFyKC0tY29sb3ItZ3JleUJsdWUtLWRhcmspO1xuXG4gIC0tY29sb3ItZGlzYWJsZWQ6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAtLWNvbG9yLWRpc2FibGVkLS1zZWNvbmRhcnk6IHZhcigtLWNvbG9yLWdyZXktLWxpZ2h0ZXIpO1xuXG4gIC0tY29sb3ItZm9jdXM6IHZhcigtLWNvbG9yLXllbGxvdy0tbGlnaHQpO1xuXG4gIC8qIFN0YXR1cyBDb2xvdXJzICovXG5cbiAgLS1jb2xvci1jcml0aWNhbDogdmFyKC0tY29sb3ItcmVkKTtcbiAgLS1jb2xvci1jcml0aWNhbC0tc3VyZmFjZTogdmFyKC0tY29sb3ItcmVkLS1saWdodGVzdCk7XG4gIC0tY29sb3ItY3JpdGljYWwtLW9uU3VyZmFjZTogdmFyKC0tY29sb3ItcmVkLS1kYXJrKTtcblxuICAtLWNvbG9yLXdhcm5pbmc6IHZhcigtLWNvbG9yLXllbGxvdyk7XG4gIC0tY29sb3Itd2FybmluZy0tc3VyZmFjZTogdmFyKC0tY29sb3IteWVsbG93LS1saWdodGVzdCk7XG4gIC0tY29sb3Itd2FybmluZy0tb25TdXJmYWNlOiB2YXIoLS1jb2xvci15ZWxsb3ctLWRhcmspO1xuXG4gIC0tY29sb3Itc3VjY2VzczogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICAtLWNvbG9yLXN1Y2Nlc3MtLXN1cmZhY2U6IHZhcigtLWNvbG9yLWdyZWVuLS1saWdodGVzdCk7XG4gIC0tY29sb3Itc3VjY2Vzcy0tb25TdXJmYWNlOiB2YXIoLS1jb2xvci1ncmVlbi0tZGFyayk7XG5cbiAgLS1jb2xvci1pbmZvcm1hdGl2ZTogdmFyKC0tY29sb3ItbGlnaHRCbHVlKTtcbiAgLS1jb2xvci1pbmZvcm1hdGl2ZS0tc3VyZmFjZTogdmFyKC0tY29sb3ItbGlnaHRCbHVlLS1saWdodGVzdCk7XG4gIC0tY29sb3ItaW5mb3JtYXRpdmUtLW9uU3VyZmFjZTogdmFyKC0tY29sb3ItbGlnaHRCbHVlLS1kYXJrKTtcblxuICAtLWNvbG9yLWluYWN0aXZlOiB2YXIoLS1jb2xvci1ibHVlLS1saWdodCk7XG4gIC0tY29sb3ItaW5hY3RpdmUtLXN1cmZhY2U6IHZhcigtLWNvbG9yLWJsdWUtLWxpZ2h0ZXN0KTtcbiAgLS1jb2xvci1pbmFjdGl2ZS0tb25TdXJmYWNlOiB2YXIoLS1jb2xvci1ibHVlLS1kYXJrKTtcblxuICAvKiBUeXBvZ3JhcGh5ICovXG4gIC0tY29sb3ItaGVhZGluZzogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIC0tY29sb3ItdGV4dDogdmFyKC0tY29sb3ItZ3JleUJsdWUtLWRhcmspO1xuICAtLWNvbG9yLXRleHQtLXNlY29uZGFyeTogdmFyKC0tY29sb3ItZ3JleUJsdWUpO1xuICAtLWNvbG9yLXRleHQtLXJldmVyc2U6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci10ZXh0LS1yZXZlcnNlLS1zZWNvbmRhcnk6IHZhcigtLWNvbG9yLWdyZXlCbHVlLS1saWdodGVyKTtcblxuICAvKiBTdXJmYWNlcyBhbmQgQm9yZGVycyAqL1xuICAtLWNvbG9yLXN1cmZhY2U6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1zdXJmYWNlLS1ob3ZlcjogdmFyKC0tY29sb3IteWVsbG93LS1saWdodGVzdCk7XG4gIC0tY29sb3Itc3VyZmFjZS0tYWN0aXZlOiB2YXIoLS1jb2xvci1ncmVlbi0tbGlnaHRlc3QpO1xuICAtLWNvbG9yLXN1cmZhY2UtLWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZXktLWxpZ2h0ZXN0KTtcbiAgLS1jb2xvci1zdXJmYWNlLS1yZXZlcnNlOiB2YXIoLS1jb2xvci1ibHVlKTtcblxuICAtLWNvbG9yLWJvcmRlcjogdmFyKC0tY29sb3ItZ3JleS0tbGlnaHRlcik7XG4gIC0tY29sb3ItYm9yZGVyLS1zZWN0aW9uOiB2YXIoLS1jb2xvci1ibHVlKTtcblxuICAtLWNvbG9yLW92ZXJsYXk6IHJnYmEodmFyKC0tY29sb3ItYmxhY2stLXJnYiksIDAuMzIpO1xuICAtLWNvbG9yLW92ZXJsYXktLWRpbW1lZDogcmdiYSh2YXIoLS1jb2xvci13aGl0ZS0tcmdiKSwgMC42KTtcblxuICAvKiBCcmFuZCAqL1xuICAtLWNvbG9yLWJyYW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG4gIC0tY29sb3ItYnJhbmQtLWhpZ2hsaWdodDogcmdiKDE2MCwgMjE1LCA0Mik7XG5cbiAgLyogSm9iYmVyIFdvcmtmbG93IENvbG9ycyAqL1xuICAtLWNvbG9yLXJlcXVlc3Q6IHZhcigtLWNvbG9yLWluZGlnbyk7XG4gIC0tY29sb3ItcXVvdGU6IHZhcigtLWNvbG9yLXBpbmspO1xuICAtLWNvbG9yLWpvYjogdmFyKC0tY29sb3IteWVsbG93R3JlZW4pO1xuICAtLWNvbG9yLXZpc2l0OiB2YXIoLS1jb2xvci1ncmVlbik7XG4gIC0tY29sb3ItdGFzazogdmFyKC0tY29sb3ItbmF2eSk7XG4gIC0tY29sb3ItZXZlbnQ6IHZhcigtLWNvbG9yLXllbGxvdyk7XG4gIC0tY29sb3ItaW52b2ljZTogdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgLS1jb2xvci1wYXltZW50czogdmFyKC0tY29sb3Itb3JhbmdlKTtcblxuICAtLWNvbG9yLWNsaWVudDogdmFyKC0tY29sb3ItdGVhbCk7XG5cbiAgLyogSm9iYmVyIEJhc2UgUGFsZXR0ZSAqL1xuICAtLWNvbG9yLWJsdWU6IHJnYigxLCA0MSwgNTcpO1xuICAtLWNvbG9yLWJsdWUtLWxpZ2h0OiByZ2IoNzcsIDEwNSwgMTE2KTtcbiAgLS1jb2xvci1ibHVlLS1saWdodGVyOiByZ2IoMTUzLCAxNjksIDE3Nik7XG4gIC0tY29sb3ItYmx1ZS0tbGlnaHRlc3Q6IHJnYigyMTcsIDIyMywgMjI1KTtcbiAgLS1jb2xvci1ibHVlLS1kYXJrOiByZ2IoMSwgMjcsIDM3KTtcblxuICAtLWNvbG9yLWdyZWVuOiByZ2IoMTI1LCAxNzYsIDE0KTtcbiAgLS1jb2xvci1ncmVlbi0tbGlnaHQ6IHJnYigxNjQsIDIwMCwgODYpO1xuICAtLWNvbG9yLWdyZWVuLS1saWdodGVyOiByZ2IoMjAzLCAyMjMsIDE1OSk7XG4gIC0tY29sb3ItZ3JlZW4tLWxpZ2h0ZXN0OiByZ2IoMjM2LCAyNDMsIDIxOSk7XG4gIC0tY29sb3ItZ3JlZW4tLWRhcms6IHJnYig4MSwgMTE0LCA5KTtcblxuICAtLWNvbG9yLWxpbWU6IHJnYigxNTMsIDE5MywgNzApO1xuICAtLWNvbG9yLWxpbWUtLWxpZ2h0OiByZ2IoMTg0LCAyMTIsIDEyNik7XG4gIC0tY29sb3ItbGltZS0tbGlnaHRlcjogcmdiKDIxNCwgMjMwLCAxODEpO1xuICAtLWNvbG9yLWxpbWUtLWxpZ2h0ZXN0OiByZ2IoMjQwLCAyNDYsIDIyNyk7XG4gIC0tY29sb3ItbGltZS0tZGFyazogcmdiKDk5LCAxMjUsIDQ2KTtcblxuICAtLWNvbG9yLXllbGxvd0dyZWVuOiByZ2IoMTg3LCAxOTcsIDMyKTtcbiAgLS1jb2xvci15ZWxsb3dHcmVlbi0tbGlnaHQ6IHJnYigyMDcsIDIxNCwgOTkpO1xuICAtLWNvbG9yLXllbGxvd0dyZWVuLS1saWdodGVyOiByZ2IoMjI4LCAyMzIsIDE2Nik7XG4gIC0tY29sb3IteWVsbG93R3JlZW4tLWxpZ2h0ZXN0OiByZ2IoMjQ1LCAyNDYsIDIyMik7XG4gIC0tY29sb3IteWVsbG93R3JlZW4tLWRhcms6IHJnYigxMjIsIDEyOCwgMjEpO1xuXG4gIC0tY29sb3IteWVsbG93OiByZ2IoMjIxLCAxOTUsIDE1KTtcbiAgLS1jb2xvci15ZWxsb3ctLWxpZ2h0OiByZ2IoMjMxLCAyMTMsIDg3KTtcbiAgLS1jb2xvci15ZWxsb3ctLWxpZ2h0ZXI6IHJnYigyNDEsIDIzMSwgMTU5KTtcbiAgLS1jb2xvci15ZWxsb3ctLWxpZ2h0ZXN0OiByZ2IoMjUwLCAyNDYsIDIxOSk7XG4gIC0tY29sb3IteWVsbG93LS1kYXJrOiByZ2IoMTQ0LCAxMjcsIDEwKTtcblxuICAtLWNvbG9yLXJlZDogcmdiKDIwMSwgNjYsIDMzKTtcbiAgLS1jb2xvci1yZWQtLWxpZ2h0OiByZ2IoMjMzLCAxNDEsIDExOSk7XG4gIC0tY29sb3ItcmVkLS1saWdodGVyOiByZ2IoMjU1LCAyMDYsIDE5NCk7XG4gIC0tY29sb3ItcmVkLS1saWdodGVzdDogcmdiKDI1NSwgMjI2LCAyMTkpO1xuICAtLWNvbG9yLXJlZC0tZGFyazogcmdiKDEyOCwgMjUsIDApO1xuXG4gIC0tY29sb3ItZ3JleTogcmdiKDE4MSwgMTgxLCAxODEpO1xuICAtLWNvbG9yLWdyZXktLWxpZ2h0OiByZ2IoMjAzLCAyMDMsIDIwMyk7XG4gIC0tY29sb3ItZ3JleS0tbGlnaHRlcjogcmdiKDIyNSwgMjI1LCAyMjUpO1xuICAtLWNvbG9yLWdyZXktLWxpZ2h0ZXN0OiByZ2IoMjQ0LCAyNDQsIDI0NCk7XG4gIC0tY29sb3ItZ3JleS0tZGFyazogcmdiKDExOCwgMTE4LCAxMTgpO1xuXG4gIC0tY29sb3ItZ3JleUJsdWUtLXJnYjogMTAxLCAxMjAsIDEzMjtcbiAgLS1jb2xvci1ncmV5Qmx1ZTogcmdiYSh2YXIoLS1jb2xvci1ncmV5Qmx1ZS0tcmdiKSwgMSk7XG4gIC0tY29sb3ItZ3JleUJsdWUtLWxpZ2h0OiByZ2IoMTQ3LCAxNjEsIDE2OSk7XG4gIC0tY29sb3ItZ3JleUJsdWUtLWxpZ2h0ZXI6IHJnYigxOTMsIDIwMSwgMjA2KTtcbiAgLS1jb2xvci1ncmV5Qmx1ZS0tbGlnaHRlc3Q6IHJnYigyMzIsIDIzNSwgMjM3KTtcbiAgLS1jb2xvci1ncmV5Qmx1ZS0tZGFyazogcmdiKDY2LCA3OCwgODYpO1xuXG4gIC0tY29sb3ItbGlnaHRCbHVlOiByZ2IoNjAsIDE2MiwgMjI0KTtcbiAgLS1jb2xvci1saWdodEJsdWUtLWxpZ2h0OiByZ2IoMTE5LCAxOTAsIDIzMyk7XG4gIC0tY29sb3ItbGlnaHRCbHVlLS1saWdodGVyOiByZ2IoMTc3LCAyMTgsIDI0Myk7XG4gIC0tY29sb3ItbGlnaHRCbHVlLS1saWdodGVzdDogcmdiKDIyNiwgMjQxLCAyNTApO1xuICAtLWNvbG9yLWxpZ2h0Qmx1ZS0tZGFyazogcmdiKDM5LCAxMDUsIDE0Nik7XG5cbiAgLS1jb2xvci1wdXJwbGU6IHJnYigxMzYsIDExMiwgMTk2KTtcbiAgLS1jb2xvci1wdXJwbGUtLWxpZ2h0OiByZ2IoMTcyLCAxNTUsIDIxNCk7XG4gIC0tY29sb3ItcHVycGxlLS1saWdodGVyOiByZ2IoMjA3LCAxOTgsIDIzMSk7XG4gIC0tY29sb3ItcHVycGxlLS1saWdodGVzdDogcmdiKDIzNywgMjM0LCAyNDYpO1xuICAtLWNvbG9yLXB1cnBsZS0tZGFyazogcmdiKDg4LCA3MywgMTI3KTtcblxuICAtLWNvbG9yLXBpbms6IHJnYigxNzksIDk2LCAxNTApO1xuICAtLWNvbG9yLXBpbmstLWxpZ2h0OiByZ2IoMjAyLCAxNDQsIDE4Mik7XG4gIC0tY29sb3ItcGluay0tbGlnaHRlcjogcmdiKDIyNSwgMTkxLCAyMTMpO1xuICAtLWNvbG9yLXBpbmstLWxpZ2h0ZXN0OiByZ2IoMjQ0LCAyMzEsIDIzOSk7XG4gIC0tY29sb3ItcGluay0tZGFyazogcmdiKDExNiwgNjIsIDk4KTtcblxuICAtLWNvbG9yLXRlYWw6IHJnYig2MiwgMTczLCAxNDYpO1xuICAtLWNvbG9yLXRlYWwtLWxpZ2h0OiByZ2IoMTIwLCAxOTgsIDE3OSk7XG4gIC0tY29sb3ItdGVhbC0tbGlnaHRlcjogcmdiKDE3OCwgMjIyLCAyMTEpO1xuICAtLWNvbG9yLXRlYWwtLWxpZ2h0ZXN0OiByZ2IoMjI2LCAyNDMsIDIzOSk7XG4gIC0tY29sb3ItdGVhbC0tZGFyazogcmdiKDQwLCAxMTIsIDk1KTtcblxuICAtLWNvbG9yLW9yYW5nZTogcmdiKDI0MywgMTUwLCAzNik7XG4gIC0tY29sb3Itb3JhbmdlLS1saWdodDogcmdiKDI0NywgMTgyLCAxMDIpO1xuICAtLWNvbG9yLW9yYW5nZS0tbGlnaHRlcjogcmdiKDI1MCwgMjEzLCAxNjcpO1xuICAtLWNvbG9yLW9yYW5nZS0tbGlnaHRlc3Q6IHJnYigyNTMsIDIzOSwgMjIyKTtcbiAgLS1jb2xvci1vcmFuZ2UtLWRhcms6IHJnYigxNTgsIDk4LCAyMyk7XG5cbiAgLS1jb2xvci1icm93bjogcmdiKDEzMCwgMTA3LCA3MCk7XG4gIC0tY29sb3ItYnJvd24tLWxpZ2h0OiByZ2IoMTY4LCAxNTEsIDEyNik7XG4gIC0tY29sb3ItYnJvd24tLWxpZ2h0ZXI6IHJnYigyMDUsIDE5NiwgMTgxKTtcbiAgLS1jb2xvci1icm93bi0tbGlnaHRlc3Q6IHJnYigyMzYsIDIzMywgMjI3KTtcbiAgLS1jb2xvci1icm93bi0tZGFyazogcmdiKDg1LCA3MCwgNDYpO1xuXG4gIC0tY29sb3ItbmF2eTogcmdiKDc1LCAxMDYsIDE1MCk7XG4gIC0tY29sb3ItbmF2eS0tbGlnaHQ6IHJnYigxMjksIDE1MSwgMTgyKTtcbiAgLS1jb2xvci1uYXZ5LS1saWdodGVyOiByZ2IoMTgzLCAxOTUsIDIxMyk7XG4gIC0tY29sb3ItbmF2eS0tbGlnaHRlc3Q6IHJnYigyMjgsIDIzMywgMjM5KTtcbiAgLS1jb2xvci1uYXZ5LS1kYXJrOiByZ2IoNDksIDY5LCA5OCk7XG5cbiAgLS1jb2xvci1pbmRpZ286IHJnYig4NSwgMTA2LCAyMDMpO1xuICAtLWNvbG9yLWluZGlnby0tbGlnaHQ6IHJnYigxMzYsIDE1MSwgMjE5KTtcbiAgLS1jb2xvci1pbmRpZ28tLWxpZ2h0ZXI6IHJnYigxODcsIDE5NSwgMjM0KTtcbiAgLS1jb2xvci1pbmRpZ28tLWxpZ2h0ZXN0OiByZ2IoMjMwLCAyMzMsIDI0Nyk7XG4gIC0tY29sb3ItaW5kaWdvLS1kYXJrOiByZ2IoNTUsIDY5LCAxMzIpO1xuXG4gIC0tY29sb3Itd2hpdGUtLXJnYjogMjU1LCAyNTUsIDI1NTtcbiAgLS1jb2xvci13aGl0ZTogcmdiYSh2YXIoLS1jb2xvci13aGl0ZS0tcmdiKSwgMSk7XG5cbiAgLS1jb2xvci1ibGFjay0tcmdiOiAwLCAwLCAwO1xuICAtLWNvbG9yLWJsYWNrOiByZ2JhKHZhcigtLWNvbG9yLWJsYWNrLS1yZ2IpLCAxKTtcbn1cbiIsIjpyb290IHtcbiAgLS1yYWRpdXMtYmFzZTogdmFyKC0tc3BhY2Utc21hbGxlc3QpO1xuICAtLXJhZGl1cy1sYXJnZTogdmFyKC0tc3BhY2Utc21hbGxlcik7XG4gIC0tcmFkaXVzLWxhcmdlcjogdmFyKC0tc3BhY2Utc21hbGwpO1xuICAtLXJhZGl1cy1jaXJjbGU6IDEwMCU7XG59XG4iLCI6cm9vdCB7XG4gIC0tYmFzZS11bml0OiAxNnB4O1xuXG4gIC0tc3BhY2UtbWludXNjdWxlOiBjYWxjKHZhcigtLWJhc2UtdW5pdCkgLyAxNik7XG4gIC0tc3BhY2Utc21hbGxlc3Q6IGNhbGModmFyKC0tYmFzZS11bml0KSAvIDgpO1xuICAtLXNwYWNlLXNtYWxsZXI6IGNhbGModmFyKC0tYmFzZS11bml0KSAvIDQpO1xuICAtLXNwYWNlLXNtYWxsOiBjYWxjKHZhcigtLWJhc2UtdW5pdCkgLyAyKTtcbiAgLS1zcGFjZS1iYXNlOiBjYWxjKHZhcigtLWJhc2UtdW5pdCkgKiAxKTtcbiAgLS1zcGFjZS1sYXJnZTogY2FsYyh2YXIoLS1iYXNlLXVuaXQpICogMS41KTtcbiAgLS1zcGFjZS1sYXJnZXI6IGNhbGModmFyKC0tYmFzZS11bml0KSAqIDIpO1xuICAtLXNwYWNlLWxhcmdlc3Q6IGNhbGModmFyKC0tYmFzZS11bml0KSAqIDMpO1xuICAtLXNwYWNlLWV4dHJhdmFnYW50OiBjYWxjKHZhcigtLWJhc2UtdW5pdCkgKiA0KTtcbn1cbiIsIjpyb290IHtcbiAgLS1zaGFkb3ctbG93OiAwcHggdmFyKC0tc3BhY2UtbWludXNjdWxlKSB2YXIoLS1zcGFjZS1zbWFsbGVzdClcbiAgICAgIHJnYmEoMCwgMCwgMCwgMC4yNSksXG4gICAgMHB4IDBweCB2YXIoLS1zcGFjZS1zbWFsbGVzdCkgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAtLXNoYWRvdy1iYXNlOiAwcHggdmFyKC0tc3BhY2UtbWludXNjdWxlKSB2YXIoLS1zcGFjZS1zbWFsbGVyKSAwcHhcbiAgICAgIHJnYmEoMCwgMCwgMCwgMC4xKSxcbiAgICAwcHggdmFyKC0tc3BhY2Utc21hbGxlcikgMTJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgLS1zaGFkb3ctaGlnaDogMHB4IHZhcigtLXNwYWNlLWJhc2UpIHZhcigtLXNwYWNlLWJhc2UpIDBweFxuICAgICAgcmdiYSgwLCAwLCAwLCAwLjA3NSksXG4gICAgMHB4IDBweCB2YXIoLS1zcGFjZS1zbWFsbCkgMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIC0tc2hhZG93LWZvY3VzOiAwcHggMHB4IHZhcigtLXNwYWNlLXNtYWxsZXIpIHZhcigtLXNwYWNlLXNtYWxsZXN0KVxuICAgIHZhcigtLWNvbG9yLWZvY3VzKTtcbn1cbiIsIjpyb290IHtcbiAgLS10aW1pbmctcXVpY2s6IDEwMG1zO1xuICAtLXRpbWluZy1iYXNlOiAyMDBtcztcbiAgLS10aW1pbmctc2xvdzogMzAwbXM7XG4gIC0tdGltaW5nLXNsb3dlcjogNDAwbXM7XG4gIC0tdGltaW5nLXNsb3dlc3Q6IDUwMG1zO1xufVxuIiwiOnJvb3Qge1xuICAtLWVsZXZhdGlvbi1iYXNlOiAxO1xuICAtLWVsZXZhdGlvbi1tZW51OiA2O1xuICAtLWVsZXZhdGlvbi1kYXRlcGlja2VyOiA2O1xuICAvKipcbiAgICogTW9kYWwgaGFzIHRoaXMgbXVjaCB6LWluZGV4IHRvIG92ZXJjb21lIGRvY3ogei1pbmRleC4gVGhpcyBjYW4gYmUgbG93ZXJlZFxuICAgKiBvbmNlIHdlIGNyZWF0ZSBvdXIgb3duIGRvY3ogdGhlbWVcbiAgICovXG4gIC0tZWxldmF0aW9uLW1vZGFsOiAxMDAxO1xuICAtLWVsZXZhdGlvbi10b29sdGlwOiAxMDAyO1xuICAtLWVsZXZhdGlvbi10b2FzdDogMTAwMztcbn1cbiIsIjpyb290IHtcbiAgLS10eXBvZ3JhcGh5LS1sZXR0ZXJTcGFjaW5nLWJhc2U6IDA7XG4gIC0tdHlwb2dyYXBoeS0tbGV0dGVyU3BhY2luZy1sb29zZTogY2FsYyh2YXIoLS1iYXNlLXVuaXQpIC8gNDApO1xuXG4gIC0tdHlwb2dyYXBoeS0tZm9udEZhbWlseS1ub3JtYWw6IFwiU291cmNlIFNhbnMgUHJvXCIsIEhlbHZldGljYSwgQXJpYWwsXG4gICAgc2Fucy1zZXJpZjtcbiAgLS10eXBvZ3JhcGh5LS1mb250RmFtaWx5LWRpc3BsYXk6IFwiUG9wcGluc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gIC0tdHlwb2dyYXBoeS0tZm9udFNpemUtZXh0cmF2YWdhbnQ6IGNhbGModmFyKC0tYmFzZS11bml0KSAqIDMpO1xuICAvKiA0OCAqL1xuICAtLXR5cG9ncmFwaHktLWZvbnRTaXplLWp1bWJvOiBjYWxjKHZhcigtLWJhc2UtdW5pdCkgKiAyLjI1KTtcbiAgLyogMzYgKi9cbiAgLS10eXBvZ3JhcGh5LS1mb250U2l6ZS1sYXJnZXN0OiBjYWxjKHZhcigtLWJhc2UtdW5pdCkgKiAxLjUpO1xuICAvKiAyNCAqL1xuICAtLXR5cG9ncmFwaHktLWZvbnRTaXplLWxhcmdlcjogY2FsYyh2YXIoLS1iYXNlLXVuaXQpICogMS4yNSk7XG4gIC8qIDIwICovXG4gIC0tdHlwb2dyYXBoeS0tZm9udFNpemUtbGFyZ2U6IGNhbGModmFyKC0tYmFzZS11bml0KSAqIDEuMTI1KTtcbiAgLyogMTggKi9cbiAgLS10eXBvZ3JhcGh5LS1mb250U2l6ZS1iYXNlOiBjYWxjKHZhcigtLWJhc2UtdW5pdCkgKiAxKTtcbiAgLyogMTYgKi9cbiAgLS10eXBvZ3JhcGh5LS1mb250U2l6ZS1zbWFsbDogY2FsYyh2YXIoLS1iYXNlLXVuaXQpICogMC44NzUpO1xuICAvKiAxNCAqL1xuICAtLXR5cG9ncmFwaHktLWZvbnRTaXplLXNtYWxsZXI6IGNhbGModmFyKC0tYmFzZS11bml0KSAqIDAuNzUpO1xuICAvKiAxMiAqL1xuXG4gIC0tdHlwb2dyYXBoeS0tbGluZUhlaWdodC1sYXJnZTogMS4zNDtcbiAgLS10eXBvZ3JhcGh5LS1saW5lSGVpZ2h0LWJhc2U6IDEuMjU7XG4gIC0tdHlwb2dyYXBoeS0tbGluZUhlaWdodC10aWdodDogMS4yO1xuICAtLXR5cG9ncmFwaHktLWxpbmVIZWlnaHQtdGlnaHRlcjogMS4xNDM7XG4gIC0tdHlwb2dyYXBoeS0tbGluZUhlaWdodC10aWdodGVzdDogMS4xMjtcbiAgLS10eXBvZ3JhcGh5LS1saW5lSGVpZ2h0LW1pbmlzY3VsZTogMS4wODtcbn1cblxuQG1lZGlhICgtLWhhbmRoZWxkcykge1xuICA6cm9vdCB7XG4gICAgLS10eXBvZ3JhcGh5LS1mb250U2l6ZS1leHRyYXZhZ2FudDogY2FsYyh2YXIoLS1iYXNlLXVuaXQpICogMi41KTtcbiAgICAvKiA0MCAqL1xuICAgIC0tdHlwb2dyYXBoeS0tZm9udFNpemUtanVtYm86IGNhbGModmFyKC0tYmFzZS11bml0KSAqIDEuNzUpO1xuICAgIC8qIDI4ICovXG4gICAgLS10eXBvZ3JhcGh5LS1mb250U2l6ZS1sYXJnZXN0OiBjYWxjKHZhcigtLWJhc2UtdW5pdCkgKiAxLjM3NSk7XG4gICAgLyogMjIgKi9cbiAgfVxufVxuIiwiQGN1c3RvbS1tZWRpYSAtLWhhbmRoZWxkcyAod2lkdGggPCA2NDBweCk7XG5AY3VzdG9tLW1lZGlhIC0tbWVkaXVtLXNjcmVlbnMgKHdpZHRoID49IDY0MHB4KTtcbkBjdXN0b20tbWVkaWEgLS13aWRlLXNjcmVlbnMgKHdpZHRoID49IDEwMjRweCk7XG4iXX0= */
package/foundation.js CHANGED
@@ -167,16 +167,16 @@ export const JobberStyle = {
167
167
  "elevation-toast": 1003,
168
168
  "typography--letterSpacing-base": 0,
169
169
  "typography--letterSpacing-loose": 0.4,
170
- "typography--fontFamily-normal": "\"Source Sans Pro\", Helvetica, Arial,\n sans-serif",
171
- "typography--fontFamily-display": "\"Poppins\", Helvetica, Arial, sans-serif",
172
- "typography--fontSize-extravagant": 48,
170
+ "typography--fontFamily-normal": "\"Inter\", Helvetica, Arial, sans-serif",
171
+ "typography--fontFamily-display": "\"Jobber Pro\", \"Poppins\", Helvetica, Arial,\n sans-serif",
172
+ "typography--fontSize-extravagant": 16,
173
173
  "typography--fontSize-jumbo": 36,
174
174
  "typography--fontSize-largest": 24,
175
175
  "typography--fontSize-larger": 20,
176
- "typography--fontSize-large": 18,
177
- "typography--fontSize-base": 16,
178
- "typography--fontSize-small": 14,
179
- "typography--fontSize-smaller": 12,
176
+ "typography--fontSize-large": 16,
177
+ "typography--fontSize-base": 14,
178
+ "typography--fontSize-small": 12,
179
+ "typography--fontSize-smaller": 16,
180
180
  "typography--lineHeight-large": "1.34",
181
181
  "typography--lineHeight-base": "1.25",
182
182
  "typography--lineHeight-tight": "1.2",
package/foundation.scss CHANGED
@@ -171,17 +171,17 @@ $elevation-tooltip: 1002;
171
171
  $elevation-toast: 1003;
172
172
  $typography--letterSpacing-base: 0;
173
173
  $typography--letterSpacing-loose: 0.4px;
174
- $typography--fontFamily-normal: "Source Sans Pro", Helvetica, Arial,
174
+ $typography--fontFamily-normal: "Inter", Helvetica, Arial, sans-serif;
175
+ $typography--fontFamily-display: "Jobber Pro", "Poppins", Helvetica, Arial,
175
176
  sans-serif;
176
- $typography--fontFamily-display: "Poppins", Helvetica, Arial, sans-serif;
177
177
  $typography--fontSize-extravagant: 48px;
178
178
  $typography--fontSize-jumbo: 36px;
179
179
  $typography--fontSize-largest: 24px;
180
180
  $typography--fontSize-larger: 20px;
181
- $typography--fontSize-large: 18px;
182
- $typography--fontSize-base: 16px;
183
- $typography--fontSize-small: 14px;
184
- $typography--fontSize-smaller: 12px;
181
+ $typography--fontSize-large: 16px;
182
+ $typography--fontSize-base: 14px;
183
+ $typography--fontSize-small: 12px;
184
+ $typography--fontSize-smaller: 10px;
185
185
  $typography--lineHeight-large: 1.34;
186
186
  $typography--lineHeight-base: 1.25;
187
187
  $typography--lineHeight-tight: 1.2;
@@ -0,0 +1,17 @@
1
+ /* eslint-env node */
2
+ /* eslint-disable @typescript-eslint/no-var-requires */
3
+
4
+ const postcss = require("postcss");
5
+
6
+ module.exports = postcss.plugin(
7
+ "postcss-filter-rules",
8
+ (opts = { ruleFilters: [] }) => {
9
+ // Work with options here
10
+
11
+ return root => {
12
+ root.nodes.forEach(rule => {
13
+ opts.ruleFilters.forEach(filter => filter(rule));
14
+ });
15
+ };
16
+ },
17
+ );
@@ -0,0 +1,58 @@
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ /* eslint-env node */
3
+
4
+ const postcssCustomProperties = require("postcss-custom-properties");
5
+ const postcssImport = require("postcss-import");
6
+ const postcssCopy = require("postcss-copy");
7
+ const removeRule = require("./postcss-filter-rules");
8
+
9
+ let maintainPath;
10
+ let hasJobberFonts = false;
11
+ try {
12
+ ({ maintainPath } = require("@jobber/fonts"));
13
+ hasJobberFonts = true;
14
+ } catch (e) {
15
+ hasJobberFonts = false;
16
+ }
17
+ function removeFontImport(rule) {
18
+ if (rule.params?.includes("@jobber/fonts")) {
19
+ if (!hasJobberFonts) {
20
+ console.warn("remove rule in foundation config", { hasJobberFonts });
21
+ rule.remove();
22
+ }
23
+ }
24
+ }
25
+ const postcssCopyInstance = postcssCopy({
26
+ dest: "./dist",
27
+ basePath: ["./src", "./node_modules"],
28
+ preservePath: true,
29
+ template(fileMeta) {
30
+ return fileMeta.filename;
31
+ },
32
+ });
33
+ const postcssImportInstance = postcssImport({
34
+ basedir: ["./src", "./node_modules"],
35
+ filter: path => {
36
+ if (path.includes("@jobber/fonts")) {
37
+ console.warn("include fonts, import, foundation config", {
38
+ hasJobberFonts,
39
+ });
40
+ return hasJobberFonts;
41
+ } else {
42
+ return true;
43
+ }
44
+ },
45
+ });
46
+
47
+ module.exports = {
48
+ plugins: [
49
+ removeRule({ ruleFilters: [removeFontImport] }),
50
+ postcssImportInstance,
51
+ hasJobberFonts && postcssCopyInstance,
52
+ hasJobberFonts &&
53
+ maintainPath({ pathToFind: "dist/fonts", pathToSet: "./dist/fonts" }),
54
+ postcssCustomProperties({
55
+ exportTo: ["src/foundation.js"],
56
+ }),
57
+ ],
58
+ };