@netlify/spark-ui 0.0.47-alpha → 1.0.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 (55) hide show
  1. package/README.md +24 -0
  2. package/dist/assets/SearchHeading.css +1 -1
  3. package/dist/assets/SearchLink.css +1 -1
  4. package/dist/assets/SearchModal.css +1 -1
  5. package/dist/assets/SearchToggle.css +1 -1
  6. package/dist/chunks/compat.module.DT16W4Wr.js +175 -0
  7. package/dist/chunks/hooks.module.CNV9mxng.js +138 -0
  8. package/dist/chunks/{useTimeout.DYuvQwFN.js → useTimeout.DOkYFG64.js} +1 -1
  9. package/dist/components/index.d.ts +0 -4
  10. package/dist/components/preact/Modal/Modal.js +1 -1
  11. package/dist/components/preact/SearchModal/components/SearchInput.js +2 -2
  12. package/dist/components/preact/SearchModal/components/SearchLink/SearchLink.js +1 -1
  13. package/dist/components/preact/SearchModal/components/SearchModal/SearchModal.js +1 -1
  14. package/dist/components/preact/SearchModal/components/SearchToggle/SearchToggle.js +3 -3
  15. package/dist/components/preact/SearchModal/components/SearchWindow.js +1 -1
  16. package/dist/components/preact/SearchModal/hooks/useKeyboardNav.js +1 -1
  17. package/dist/components/preact/SearchModal/hooks/useSearch.js +2 -2
  18. package/dist/components/preact/SearchModal/hooks/useSearchHotkeys.js +1 -1
  19. package/dist/components/preact/SearchModal/hooks/useSearchLogger.js +1 -1
  20. package/dist/components/preact/SearchModal/hooks/useSearchParams.js +1 -1
  21. package/dist/components/preact/SearchModal/hooks/useSearchToggles.js +1 -1
  22. package/dist/components/preact/index.d.ts +0 -1
  23. package/dist/components/preact/index.js +5 -7
  24. package/package.json +8 -5
  25. package/packages/assets/fonts/README.md +5 -0
  26. package/packages/assets/fonts/figtree/Figtree-Italic[wght].woff2 +0 -0
  27. package/packages/assets/fonts/figtree/Figtree[wght].woff2 +0 -0
  28. package/packages/assets/fonts/instrument-sans/InstrumentSans-Italic[wdth,wght].woff2 +0 -0
  29. package/packages/assets/fonts/instrument-sans/InstrumentSans[wdth,wght].woff2 +0 -0
  30. package/packages/assets/fonts/martian-mono/MartianMono-Bold.woff2 +0 -0
  31. package/packages/assets/fonts/martian-mono/MartianMono-Medium.woff2 +0 -0
  32. package/packages/assets/fonts/martian-mono/MartianMono-Regular.woff2 +0 -0
  33. package/packages/assets/fonts/martian-mono/MartianMono-SemiBold.woff2 +0 -0
  34. package/packages/components/Ticker.astro +1 -0
  35. package/packages/components/index.ts +0 -6
  36. package/packages/components/preact/SearchModal/components/SearchHeading/SearchHeading.css +6 -6
  37. package/packages/components/preact/SearchModal/components/SearchLink/SearchLink.css +18 -17
  38. package/packages/components/preact/SearchModal/components/SearchModal/SearchModal.css +27 -26
  39. package/packages/components/preact/SearchModal/components/SearchToggle/SearchToggle.css +8 -2
  40. package/packages/components/preact/SearchModal/components/SearchToggle/SearchToggle.tsx +1 -1
  41. package/packages/components/preact/index.ts +0 -1
  42. package/packages/styles/base.css +1 -0
  43. package/packages/styles/buttons.css +40 -33
  44. package/packages/styles/code-block.css +15 -11
  45. package/packages/styles/fonts.css +125 -10
  46. package/packages/styles/layout.css +4 -0
  47. package/packages/styles/reset.css +97 -0
  48. package/packages/styles/tokens.css +162 -66
  49. package/dist/assets/ChatApp.css +0 -1
  50. package/dist/chunks/compat.module.BjTzMHXJ.js +0 -296
  51. package/dist/chunks/hooks.module.DeYLzLnU.js +0 -177
  52. package/dist/components/preact/ChatApp/ChatApp.d.ts +0 -2
  53. package/dist/components/preact/ChatApp/ChatApp.js +0 -5346
  54. package/packages/components/preact/ChatApp/ChatApp.css +0 -142
  55. package/packages/components/preact/ChatApp/ChatApp.tsx +0 -237
@@ -6,10 +6,4 @@ export { default as SearchLink } from './preact/SearchModal/components/SearchLin
6
6
  export { default as SearchHeading } from './preact/SearchModal/components/SearchHeading/SearchHeading';
7
7
  export { default as SearchToggle } from './preact/SearchModal/components/SearchToggle/SearchToggle';
8
8
  export { default as SearchModal } from './preact/SearchModal/components/SearchModal/SearchModal';
9
- export { default as ChatApp } from './preact/ChatApp/ChatApp';
10
9
  export { type IconName } from './preact/Icon';
11
-
12
- // Astro components
13
- export { default as Button } from './Button.astro';
14
- export { default as DeployToNetlifyButton } from './DeployToNetlifyButton.astro';
15
- export { default as Tabs } from './Tabs.astro';
@@ -1,12 +1,12 @@
1
1
  .n-search-heading {
2
- --n-search-heading-weight: var(--font-regular, 400);
3
- --n-search-heading-size: var(--step--2, 13px);
4
- --n-search-heading-color: var(--color-text-3, #757575);
5
-
2
+ --n-search-heading-weight: var(--font-weight-regular, 400);
3
+ --n-search-heading-size: var(--font-size-text-sm, 13px);
4
+ --n-search-heading-color: var(--color-text-weak, #757575);
5
+
6
6
  font-size: var(--n-search-heading-size);
7
7
  font-weight: var(--n-search-heading-weight);
8
8
  color: var(--n-search-heading-color);
9
9
  padding-inline: 1rem;
10
10
  margin-block: var(--space-xs);
11
- letter-spacing: .2px;
12
- }
11
+ letter-spacing: 0.2px;
12
+ }
@@ -7,8 +7,8 @@
7
7
  gap: var(--space-s, 1rem);
8
8
  align-items: center;
9
9
  padding: var(--n-search-link-padding-block, 1em) var(--n-search-link-padding-inline, 1em);
10
- font-size: var(--step--1);
11
- font-weight: var(--font-regular);
10
+ font-size: var(--font-size-text-sm);
11
+ font-weight: var(--font-weight-regular);
12
12
  text-decoration: none;
13
13
  cursor: pointer;
14
14
  }
@@ -16,20 +16,21 @@
16
16
  .n-search-link-body {
17
17
  flex: 1;
18
18
  width: 80%;
19
- color: var(--color-text-2);
19
+ color: var(--color-text-weak);
20
+ text-wrap: pretty;
20
21
  }
21
22
 
22
23
  .n-search-link:is(:hover, :focus-within) {
23
24
  background: var(--n-search-color-bg-2);
24
25
 
25
- & .n-search-link-icon [data-icon="caretRight"] {
26
+ & .n-search-link-icon [data-icon='caretRight'] {
26
27
  display: block;
27
28
  }
28
29
  }
29
30
 
30
31
  .n-search-link-title {
31
- font-weight: var(--font-semibold, 680);
32
- color: var(--color-text-2);
32
+ font-weight: var(--font-weight-medium);
33
+ color: var(--color-text);
33
34
  line-height: 1.5;
34
35
  }
35
36
 
@@ -37,9 +38,9 @@
37
38
  overflow: hidden;
38
39
  white-space: nowrap;
39
40
  text-overflow: ellipsis;
40
- color: var(--color-text-3);
41
+ color: var(--color-text-weak);
41
42
  line-height: 1.3;
42
- font-size: .9em;
43
+ font-size: 0.9em;
43
44
  margin-block-start: var(--space-3xs);
44
45
  }
45
46
 
@@ -50,10 +51,10 @@
50
51
  color: var(--n-search-color-text-secondary);
51
52
  }
52
53
 
53
- .n-search-link-icon [data-icon="caretRight"] {
54
+ .n-search-link-icon [data-icon='caretRight'] {
54
55
  display: none;
55
- width: .8em;
56
- opacity: .3;
56
+ width: 0.8em;
57
+ opacity: 0.3;
57
58
  }
58
59
 
59
60
  .n-search-link-label {
@@ -63,8 +64,8 @@
63
64
  .n-search-link-badge {
64
65
  display: inline-block;
65
66
  width: max-content;
66
- font-size: .7em;
67
- padding: .1em .4em;
67
+ font-size: 0.7em;
68
+ padding: 0.1em 0.4em;
68
69
  position: relative;
69
70
  bottom: 0.3em;
70
71
  color: var(--n-search-link-badge-text-color, var(--neutral-500));
@@ -73,18 +74,18 @@
73
74
  border-radius: 3px;
74
75
  }
75
76
 
76
- .n-search-link-badge[data-resource="blog"] {
77
+ .n-search-link-badge[data-resource='blog'] {
77
78
  --n-search-link-badge-color: var(--blue-000);
78
79
  --n-search-link-badge-text-color: var(--blue-500);
79
80
  --n-search-link-badge-border: var(--blue-100);
80
81
  }
81
- .n-search-link-badge[data-resource="changelog"] {
82
+ .n-search-link-badge[data-resource='changelog'] {
82
83
  --n-search-link-badge-color: var(--gold-000);
83
84
  --n-search-link-badge-text-color: var(--gold-500);
84
85
  --n-search-link-badge-border: var(--gold-100);
85
86
  }
86
- .n-search-link-badge[data-resource="guide"] {
87
+ .n-search-link-badge[data-resource='guide'] {
87
88
  --n-search-link-badge-color: var(--teal-000);
88
89
  --n-search-link-badge-text-color: var(--teal-500);
89
90
  --n-search-link-badge-border: var(--teal-100);
90
- }
91
+ }
@@ -1,13 +1,13 @@
1
- @import "../../../KeyboardKey/KeyboardKey.css";
2
- @import "../SearchHeading/SearchHeading.css";
3
- @import "../SearchLink/SearchLink.css";
1
+ @import '../../../KeyboardKey/KeyboardKey.css';
2
+ @import '../SearchHeading/SearchHeading.css';
3
+ @import '../SearchLink/SearchLink.css';
4
4
 
5
5
  /* Root Variables */
6
6
  .n-search-modal {
7
- --n-search-padding-inline: .5em;
8
- --n-search-color-text: var(--color-text-1, currentColor);
9
- --n-search-color-text-secondary: var(--color-text-2, currentColor);
10
- --n-search-color-bg: var(--color-bg-1);
7
+ --n-search-padding-inline: 0.5em;
8
+ --n-search-color-text: var(--color-text, currentColor);
9
+ --n-search-color-text-secondary: var(--color-text-weak, currentColor);
10
+ --n-search-color-bg: var(--color-bg);
11
11
  --n-search-color-bg-2: var(--color-bg-2);
12
12
  --n-search-color-border: var(--color-bg-3);
13
13
  --n-search-border-radius: 8px;
@@ -20,7 +20,7 @@
20
20
  border: none;
21
21
  border-radius: var(--n-search-border-radius);
22
22
  width: min(var(--n-search-max-w), 100%);
23
- margin-inline: auto;
23
+ margin: auto;
24
24
  }
25
25
 
26
26
  .n-search-container {
@@ -54,13 +54,13 @@
54
54
  box-sizing: border-box;
55
55
  background: var(--n-search-color-bg);
56
56
  inline-size: 100%;
57
- padding-block: .75rem;
57
+ padding-block: 0.75rem;
58
58
  padding-inline: var(--n-search-padding-inline);
59
59
  flex: 1;
60
60
  border: none;
61
61
  outline: none;
62
62
  font-size: 1rem;
63
- color: var(--color-text-1)
63
+ color: var(--color-text);
64
64
  }
65
65
 
66
66
  .n-search-input::placeholder {
@@ -80,8 +80,8 @@
80
80
 
81
81
  .n-search-icon {
82
82
  display: flex;
83
- width: var(--icon-size, 1em);
84
- height: var(--icon-size, 1em);
83
+ width: var(--n-search-icon-size, 0.8em);
84
+ height: var(--n-search-icon-size, 0.8em);
85
85
  color: var(--n-search-color-text-secondary);
86
86
  }
87
87
 
@@ -100,7 +100,8 @@
100
100
  background: var(--n-search-color-bg);
101
101
  }
102
102
 
103
- .n-results-list, ul[role="list"] {
103
+ .n-results-list,
104
+ ul[role='list'] {
104
105
  list-style: none;
105
106
  padding: 0;
106
107
  }
@@ -122,28 +123,29 @@
122
123
  }
123
124
 
124
125
  .n-search-footer-tip {
125
- --n-key-text-color: var(--n-search-color-text-secondary);
126
126
  color: var(--n-search-color-text-secondary);
127
127
  display: flex;
128
128
  gap: var(--space-2xs);
129
129
  align-items: center;
130
- font-size: var(--step--1);
130
+ font-size: var(--font-size-text-sm);
131
131
  }
132
132
 
133
133
  /* Animations */
134
134
  .n-search-modal {
135
- transition: display .2s allow-discrete, overlay .2s allow-discrete;
136
- animation: closeSearch .2s forwards;
135
+ transition:
136
+ display 0.2s allow-discrete,
137
+ overlay 0.2s allow-discrete;
138
+ animation: closeSearch 0.2s forwards;
137
139
  }
138
140
 
139
141
  .n-search-modal[open] {
140
- animation: openSearch .2s forwards;
142
+ animation: openSearch 0.2s forwards;
141
143
  }
142
144
 
143
145
  @keyframes openSearch {
144
146
  from {
145
147
  opacity: 0;
146
- transform: translateY(20px) scale(.9);
148
+ transform: translateY(20px) scale(0.9);
147
149
  }
148
150
  to {
149
151
  opacity: 1;
@@ -157,20 +159,20 @@
157
159
  transform: translateY(0px) scale(1);
158
160
  }
159
161
  50% {
160
- opacity: .3;
162
+ opacity: 0.3;
161
163
  }
162
164
  to {
163
165
  opacity: 0;
164
- transform: translateY(20px) scale(.9);
166
+ transform: translateY(20px) scale(0.9);
165
167
  }
166
168
  }
167
169
 
168
170
  .n-search-modal::backdrop {
169
- animation: closeSearchBackdrop .2s forwards;
171
+ animation: closeSearchBackdrop 0.2s forwards;
170
172
  }
171
173
 
172
- .n-search-modal[open]::backdrop {
173
- animation: openSearchBackdrop .2s forwards;
174
+ .n-search-modal[open]::backdrop {
175
+ animation: openSearchBackdrop 0.2s forwards;
174
176
  }
175
177
 
176
178
  @keyframes openSearchBackdrop {
@@ -190,11 +192,10 @@
190
192
  backdrop-filter: blur(1.5px);
191
193
  }
192
194
  50% {
193
- opacity: .3;
195
+ opacity: 0.3;
194
196
  }
195
197
  to {
196
198
  opacity: 0;
197
199
  backdrop-filter: blur(0px);
198
-
199
200
  }
200
201
  }
@@ -1,6 +1,7 @@
1
1
  .n-search-toggle {
2
2
  all: unset;
3
3
  outline: revert;
4
+ display: grid;
4
5
  cursor: pointer;
5
6
  line-height: normal;
6
7
  padding: var(--space-2xs);
@@ -8,6 +9,11 @@
8
9
  max-width: max-content;
9
10
  }
10
11
 
12
+ .n-search-toggle svg {
13
+ width: 1rem;
14
+ height: 1rem;
15
+ }
16
+
11
17
  .n-search-toggle:disabled {
12
- opacity: .3;
13
- }
18
+ opacity: 0.3;
19
+ }
@@ -10,7 +10,7 @@ interface Props {
10
10
 
11
11
  export default forwardRef(function SearchToggle(props: Props, ref: Ref<HTMLButtonElement>) {
12
12
  return (
13
- <button id={props.id} ref={ref} class="n-search-toggle" disabled data-ntl-search-toggle>
13
+ <button id={props.id} ref={ref} class="n-search-toggle button" disabled data-ntl-search-toggle>
14
14
  <span class="visually-hidden">Search</span>
15
15
  <Icon name={props.iconName || 'search'} />
16
16
  </button>
@@ -4,7 +4,6 @@ export { default as Icon } from './Icon';
4
4
  export { default as SearchLink } from './SearchModal/components/SearchLink/SearchLink';
5
5
  export { default as SearchHeading } from './SearchModal/components/SearchHeading/SearchHeading';
6
6
  export { default as SearchToggle } from './SearchModal/components/SearchToggle/SearchToggle';
7
- export { default as ChatApp } from "./ChatApp/ChatApp"
8
7
  export { SearchModal } from './SearchModal';
9
8
 
10
9
  export { type IconName } from './Icon';
@@ -1,3 +1,4 @@
1
+ @import 'reset.css';
1
2
  @import 'tokens.css';
2
3
  @import 'utils.css';
3
4
  @import 'fonts.css';
@@ -1,21 +1,22 @@
1
- button,
2
1
  .button {
3
2
  appearance: none;
4
- position: relative;
5
3
  cursor: pointer;
4
+ position: relative;
6
5
  display: inline-flex;
7
6
  align-items: center;
8
7
  gap: var(--space-xs);
9
- padding: var(--space-xs) var(--space-m);
10
- font-size: var(--font-size-0);
11
- font-family: var(--font-body);
12
- font-weight: var(--font-semibold);
8
+ padding: 0.625rem 1.0625rem;
9
+ font-size: var(--font-size-text-md);
10
+ font-family: var(--font-family-display);
11
+ font-weight: var(--font-weight-bold);
13
12
  line-height: normal;
14
13
  text-decoration: none;
15
- color: var(--color-text);
16
- background-color: var(--color-bg-1);
17
- border: 1px solid var(--color-border);
18
- border-radius: var(--radius-m);
14
+ color: var(--button-text-color, var(--button-primary-text-color));
15
+ background-color: var(--button-bg-color, var(--button-primary-bg-color));
16
+ border: 2px solid var(--button-border-color, var(--button-primary-bg-color));
17
+ border-radius: var(--radius-pill);
18
+ transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
19
+ transition-property: background-color, border-color;
19
20
 
20
21
  /* Button icons */
21
22
  svg {
@@ -30,33 +31,39 @@ button,
30
31
  top: 1px;
31
32
  }
32
33
 
33
- &:disabled {
34
- color: var(--color-disabled-bg);
35
- background-color: var(--color-disabled-bg);
36
- border-color: var(--color-disabled-bg);
34
+ &:hover {
35
+ background-color: var(--button-bg-color-hover, var(--button-primary-bg-color-hover));
36
+ border-color: var(--button-border-color-hover, var(--button-primary-bg-color-hover));
37
37
  }
38
38
 
39
- /* Button variants */
40
- &[data-button-variant='primary'] {
41
- color: var(--color-text-inverse);
42
- background-color: var(--color-brand);
43
- border-color: var(--color-brand);
39
+ &:disabled {
40
+ --button-text-color: var(--color-disabled-text);
41
+ --button-bg-color: var(--color-disabled-bg);
42
+ --button-border-color: var(--color-disabled-bg);
44
43
  }
44
+ }
45
45
 
46
- &[data-button-variant='secondary'] {
47
- background-color: var(--color-brand-alt);
48
- border-color: var(--color-brand-alt);
49
- }
46
+ /* Button variants */
47
+ .button[data-button-variant='secondary'] {
48
+ --button-text-color: var(--button-secondary-text-color);
49
+ --button-bg-color: var(--button-secondary-bg-color);
50
+ --button-bg-color-hover: var(--button-secondary-bg-color-hover);
51
+ --button-border-color: var(--button-secondary-bg-color);
52
+ --button-border-color-hover: var(--button-secondary-bg-color-hover);
53
+ }
50
54
 
51
- &[data-button-variant='ghost'] {
52
- color: currentColor;
53
- background-color: transparent;
54
- border-color: transparent;
55
- }
55
+ .button[data-button-variant='ghost'] {
56
+ --button-text-color: var(--color-text);
57
+ --button-bg-color: transparent;
58
+ --button-bg-color-hover: var(--button-secondary-bg-color);
59
+ --button-border-color: transparent;
60
+ --button-border-color-hover: transparent;
61
+ }
56
62
 
57
- &[data-button-variant='outline'] {
58
- color: currentColor;
59
- background-color: transparent;
60
- border-color: currentColor;
61
- }
63
+ .button[data-button-variant='outline'] {
64
+ --button-text-color: var(--button-outline-text-color);
65
+ --button-bg-color: transparent;
66
+ --button-bg-color-hover: var(--button-outline-bg-color-hover);
67
+ --button-border-color: var(--button-outline-stroke-color);
68
+ --button-border-color-hover: var(--button-outline-stroke-color);
62
69
  }
@@ -42,7 +42,7 @@
42
42
  .code-block .code-block-content {
43
43
  position: relative;
44
44
  overflow: auto;
45
- margin: 0
45
+ margin: 0;
46
46
  }
47
47
 
48
48
  .code-block pre {
@@ -50,7 +50,7 @@
50
50
  border-radius: 6px;
51
51
  padding-block: var(--space-m);
52
52
  padding-inline: var(--space-s);
53
- margin: 0
53
+ margin: 0;
54
54
  }
55
55
 
56
56
  .code-block .code-block-content:not(:only-child) pre {
@@ -117,7 +117,9 @@
117
117
  opacity: 0;
118
118
  visibility: hidden;
119
119
  pointer-events: none;
120
- transition: opacity 0.2s ease, visibility 0s 0.2s ease;
120
+ transition:
121
+ opacity 0.2s ease,
122
+ visibility 0s 0.2s ease;
121
123
  }
122
124
 
123
125
  .code-block .copy-button::before {
@@ -125,9 +127,9 @@
125
127
  right: calc(100% + 10px);
126
128
  padding: 0.15em 0.5em;
127
129
  border-radius: 2px;
128
- background-color: var(--color-brand-alt);
129
- color: var(--neutral-800);
130
- font-size: 0.9em;
130
+ background-color: var(--color-bg);
131
+ color: var(--color-text);
132
+ font-size: 0.8em;
131
133
  white-space: nowrap;
132
134
  }
133
135
 
@@ -135,7 +137,7 @@
135
137
  content: '';
136
138
  right: calc(100%);
137
139
  border: 5px solid transparent;
138
- border-left-color: var(--color-brand-alt);
140
+ border-left-color: var(--color-bg);
139
141
  }
140
142
 
141
143
  .code-block .copy-button:hover::before,
@@ -190,7 +192,9 @@
190
192
  content: '';
191
193
  border-radius: 50%;
192
194
  background-color: var(--neutral-600);
193
- box-shadow: 1.25rem 0 0 var(--neutral-600), 2.5rem 0 0 var(--neutral-600);
195
+ box-shadow:
196
+ 1.25rem 0 0 var(--neutral-600),
197
+ 2.5rem 0 0 var(--neutral-600);
194
198
  }
195
199
 
196
200
  /* Line highlighting styles */
@@ -229,11 +233,11 @@
229
233
  counter-reset: line;
230
234
  }
231
235
 
232
- .code-block.with-line-numbers code>span {
236
+ .code-block.with-line-numbers code > span {
233
237
  position: relative;
234
238
  }
235
239
 
236
- .code-block.with-line-numbers code>span::before {
240
+ .code-block.with-line-numbers code > span::before {
237
241
  position: absolute;
238
242
  left: -2.5rem;
239
243
  width: 2rem;
@@ -246,4 +250,4 @@
246
250
  font-size: 0.9em;
247
251
  line-height: 1.75;
248
252
  text-align: right;
249
- }
253
+ }
@@ -1,17 +1,132 @@
1
+ /* font-face: Text */
1
2
  @font-face {
2
- font-family: Pacaembu;
3
- src: url('../assets/fonts/pacaembu/PacaembuNetlify-Variable.woff2') format('woff2');
4
- unicode-range: U+5, U+20, U+21, U+24, U+25, U+26, U+27, U+2B-2E, U+30-3A, U+3F, U+41-5A, U+61-7A, U+D7, U+2019, U+201C,
5
- U+201D;
6
- font-weight: 100 1000;
3
+ font-family: 'Instrument Sans';
4
+ src: url('../assets/fonts/instrument-sans/InstrumentSans[wdth,wght].woff2') format('woff2');
7
5
  font-display: swap;
6
+ font-weight: 100 900;
7
+ unicode-range:
8
+ U+5, U+20, U+21, U+24, U+25, U+26, U+27, U+2B-2E, U+30-3A, U+3F, U+41-5A, U+61-7A, U+D7, U+2019,
9
+ U+201C, U+201D;
8
10
  }
9
11
 
10
12
  @font-face {
11
- font-family: Mulish;
12
- src: url('../assets/fonts/mulish/MulishVar-latin.woff2') format('woff2');
13
- unicode-range: U+5, U+20, U+21, U+24, U+25, U+26, U+27, U+2B-2E, U+30-3A, U+3F, U+41-5A, U+61-7A, U+D7, U+2019, U+201C,
14
- U+201D;
15
- font-weight: 200 900;
13
+ font-family: 'Instrument Sans';
14
+ src: url('../assets/fonts/instrument-sans/InstrumentSans-Italic[wdth,wght].woff2') format('woff2');
16
15
  font-display: swap;
16
+ font-style: italic;
17
+ font-weight: 100 900;
18
+ unicode-range:
19
+ U+5, U+20, U+21, U+24, U+25, U+26, U+27, U+2B-2E, U+30-3A, U+3F, U+41-5A, U+61-7A, U+D7, U+2019,
20
+ U+201C, U+201D;
21
+ }
22
+
23
+ /* font-face: Display */
24
+ @font-face {
25
+ font-family: 'Figtree';
26
+ src: url('../assets/fonts/figtree/Figtree[wght].woff2') format('woff2');
27
+ font-display: swap;
28
+ font-weight: 100 900;
29
+ unicode-range:
30
+ U+5, U+20, U+21, U+24, U+25, U+26, U+27, U+2B-2E, U+30-3A, U+3F, U+41-5A, U+61-7A, U+D7, U+2019,
31
+ U+201C, U+201D;
32
+ }
33
+
34
+ /* font-face: Monospace */
35
+ @font-face {
36
+ font-family: 'Martian Mono';
37
+ src: url('../assets/fonts/martian-mono/MartianMono-Regular.woff2') format('woff2');
38
+ font-weight: 400;
39
+ font-display: swap;
40
+ }
41
+
42
+ @font-face {
43
+ font-family: 'Martian Mono';
44
+ src: url('../assets/fonts/martian-mono/MartianMono-Medium.woff2') format('woff2');
45
+ font-weight: 500;
46
+ font-display: swap;
47
+ }
48
+
49
+ @font-face {
50
+ font-family: 'Martian Mono';
51
+ src: url('../assets/fonts/martian-mono/MartianMono-SemiBold.woff2') format('woff2');
52
+ font-weight: 600;
53
+ font-display: swap;
54
+ }
55
+
56
+ @font-face {
57
+ font-family: 'Martian Mono';
58
+ src: url('../assets/fonts/martian-mono/MartianMono-Bold.woff2') format('woff2');
59
+ font-weight: 700;
60
+ font-display: swap;
61
+ }
62
+
63
+ /* Text */
64
+ body {
65
+ font-family: var(--font-family-text);
66
+ font-size: var(--font-size-text-lg);
67
+ font-weight: var(--font-weight-normal);
68
+ line-height: var(--line-height-text);
69
+ }
70
+
71
+ b,
72
+ strong {
73
+ font-weight: var(--font-weight-bold);
74
+ }
75
+
76
+ i,
77
+ em {
78
+ font-style: italic;
79
+ font-weight: var(--font-weight-normal);
80
+ }
81
+
82
+ /* Headings */
83
+ h1,
84
+ .h1 {
85
+ font-family: var(--font-family-display);
86
+ font-size: var(--font-size-display-2xl);
87
+ font-weight: var(--font-weight-extrabold);
88
+ line-height: var(--line-height-heading);
89
+ }
90
+
91
+ h2,
92
+ .h2 {
93
+ font-family: var(--font-family-display);
94
+ font-size: var(--font-size-display-xl);
95
+ font-weight: var(--font-weight-extrabold);
96
+ line-height: var(--line-height-heading);
97
+ }
98
+
99
+ h3,
100
+ .h3 {
101
+ font-family: var(--font-family-display);
102
+ font-size: var(--font-size-display-lg);
103
+ font-weight: var(--font-weight-bold);
104
+ line-height: var(--line-height-heading);
105
+ }
106
+
107
+ h4,
108
+ .h4 {
109
+ font-family: var(--font-family-display);
110
+ font-size: var(--font-size-display-sm);
111
+ font-weight: var(--font-weight-bold);
112
+ line-height: var(--line-height-heading);
113
+ }
114
+
115
+ /* Lists */
116
+ li::marker {
117
+ color: var(--color-icon);
118
+ }
119
+
120
+ ol li::marker {
121
+ font-weight: var(--font-weight-semibold);
122
+ }
123
+
124
+ /* Code */
125
+ pre,
126
+ code,
127
+ kbd {
128
+ font-family: var(--font-family-monospace);
129
+ font-size: var(--font-size-text-md);
130
+ font-weight: var(--font-weight-normal);
131
+ line-height: var(--line-height-text);
17
132
  }
@@ -4,3 +4,7 @@
4
4
  column-gap: var(--column-gap, var(--gap, var(--space-m)));
5
5
  row-gap: var(--row-gap, var(--gap, var(--space-m)));
6
6
  }
7
+
8
+ .flow > * + * {
9
+ margin-top: var(--flow-space, var(--space-m));
10
+ }